rspec_html_reporter 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 41f99202014ce67dcf8c0b269c1c50744507ef72
4
+ data.tar.gz: 91e9147b19efd78f82166b3ae82666ba72d12512
5
+ SHA512:
6
+ metadata.gz: d09765b692cd963a2ad64aafc322389f8c629e87487ba8495536cd52d4005566891234178280faeee0c79008c842548d3ed8cdc699543e889af42ff37521bf57
7
+ data.tar.gz: 74a557ef1a4c584bd26a8e9ce2278f1d81e6eec204a2a6b781dd5c56c328a791ef3df98d88cad038127d52bd9a8822c1194dc310052b101617c2f7a04bb55240
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2017 Vishal Banthia
2
+ Copyright (c) 2014 Kingsley Hendrickse
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # RSpec HTML Reporter
2
+
3
+ Publish pretty [rspec](http://rspec.info/) reports
4
+
5
+ This is a ruby RSpec custom formatter which generates pretty html reports showing the results of rspec tests. It has features to embed images and videos into report providing better debugging information in case test is failed. Check this [Sample Report](https://vbanthia.github.io/rspec_html_reporter/index.html).
6
+
7
+ ## Setup
8
+
9
+ Add this in your Gemfile:
10
+
11
+ ```rb
12
+ gem 'rspec_html_reporter'
13
+ ```
14
+ ## Running
15
+
16
+ Either add below in your `.rspec` file
17
+
18
+ ```rb
19
+ --format RspecHtmlReporter
20
+ ```
21
+
22
+ or run RSpec with `--format RspecHtmlReporter` like below:
23
+
24
+ ```bash
25
+ REPORT_PATH=reports/$(date +%s) bundle exec rspec --format RspecHtmlReporter spec
26
+ ```
27
+
28
+ Above will create reports in `reports` directory.
29
+
30
+ ## Usage
31
+ Images and videos can be embed by adding their path into example's metadata. Check this [Sample Test](./spec/embed_graphics_spec.rb).
32
+
33
+
34
+ ## Credits
35
+ This library is forked from [kingsleyh/rspec_reports_formatter](https://github.com/kingsleyh/rspec_reports_formatter). Original Credits goes to *[kingsleyh](https://github.com/kingsleyh)*
@@ -0,0 +1,299 @@
1
+ require 'rspec/core/formatters/base_formatter'
2
+ require 'active_support'
3
+ require 'active_support/core_ext/numeric'
4
+ require 'active_support/inflector'
5
+ require 'fileutils'
6
+ require 'rouge'
7
+ require 'erb'
8
+ require 'rbconfig'
9
+
10
+ I18n.enforce_available_locales = false
11
+
12
+ class Oopsy
13
+ attr_reader :klass, :message, :backtrace, :highlighted_source, :explanation, :backtrace_message
14
+
15
+ def initialize(exception, file_path)
16
+ @exception = exception
17
+ @file_path = file_path
18
+ unless @exception.nil?
19
+ @klass = @exception.class
20
+ @message = @exception.message.encode('utf-8')
21
+ @backtrace = @exception.backtrace
22
+ @backtrace_message = @backtrace.nil? ? '' : @backtrace.select { |r| r.match(@file_path) }.join('').encode('utf-8')
23
+ @highlighted_source = process_source
24
+ @explanation = process_message
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def os
31
+ @os ||= (
32
+ host_os = RbConfig::CONFIG['host_os']
33
+ case host_os
34
+ when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
35
+ :windows
36
+ when /darwin|mac os/
37
+ :macosx
38
+ when /linux/
39
+ :linux
40
+ when /solaris|bsd/
41
+ :unix
42
+ else
43
+ raise Exception, "unknown os: #{host_os.inspect}"
44
+ end
45
+ )
46
+ end
47
+
48
+ def process_source
49
+ data = @backtrace_message.split(':')
50
+ unless data.empty?
51
+ if os == :windows
52
+ file_path = data[0] + ':' + data[1]
53
+ line_number = data[2].to_i
54
+ else
55
+ file_path = data.first
56
+ line_number = data[1].to_i
57
+ end
58
+ lines = File.readlines(file_path)
59
+ start_line = line_number-2
60
+ end_line = line_number+3
61
+ source = lines[start_line..end_line].join("").sub(lines[line_number-1].chomp, "--->#{lines[line_number-1].chomp}")
62
+
63
+ formatter = Rouge::Formatters::HTML.new(css_class: 'highlight', line_numbers: true, start_line: start_line+1)
64
+ lexer = Rouge::Lexers::Ruby.new
65
+ formatter.format(lexer.lex(source.encode('utf-8')))
66
+ end
67
+ end
68
+
69
+ def process_message
70
+ formatter = Rouge::Formatters::HTML.new(css_class: 'highlight')
71
+ lexer = Rouge::Lexers::Ruby.new
72
+ formatter.format(lexer.lex(@message))
73
+ end
74
+
75
+ end
76
+
77
+ class Example
78
+
79
+ attr_reader :example_group, :description, :full_description, :run_time, :duration, :status, :exception, :file_path, :metadata, :spec, :screenshots, :screenrecord, :failed_screenshot
80
+
81
+ def initialize(example)
82
+ @example_group = example.example_group.to_s
83
+ @description = example.description
84
+ @full_description = example.full_description
85
+ @execution_result = example.execution_result
86
+ @run_time = (@execution_result.run_time).round(5)
87
+ @duration = @execution_result.run_time.to_s(:rounded, precision: 5)
88
+ @status = @execution_result.status.to_s
89
+ @metadata = example.metadata
90
+ @file_path = @metadata[:file_path]
91
+ @exception = Oopsy.new(example.exception, @file_path)
92
+ @spec = nil
93
+ @screenshots = @metadata[:screenshots]
94
+ @screenrecord = @metadata[:screenrecord]
95
+ @failed_screenshot = @metadata[:failed_screenshot]
96
+ end
97
+
98
+ def example_title
99
+ title_arr = @example_group.to_s.split('::') - ['RSpec', 'ExampleGroups']
100
+ title_arr.push @description
101
+
102
+ title_arr.join(' → ')
103
+ end
104
+
105
+ def has_exception?
106
+ !@exception.klass.nil?
107
+ end
108
+
109
+ def has_spec?
110
+ !@spec.nil?
111
+ end
112
+
113
+ def has_screenshots?
114
+ !@screenshots.nil? && !@screenshots.empty?
115
+ end
116
+
117
+ def has_screenrecord?
118
+ !@screenrecord.nil?
119
+ end
120
+
121
+ def has_failed_screenshot?
122
+ !@failed_screenshot.nil?
123
+ end
124
+
125
+ def set_spec(spec)
126
+ @spec = spec
127
+ end
128
+
129
+ def klass(prefix='label-')
130
+ class_map = {passed: "#{prefix}success", failed: "#{prefix}danger", pending: "#{prefix}warning"}
131
+ class_map[@status.to_sym]
132
+ end
133
+
134
+ end
135
+
136
+ class Specify
137
+
138
+ def initialize(examples)
139
+ @examples = examples
140
+ end
141
+
142
+ def process
143
+ lines = File.readlines(@examples.first.file_path)
144
+ @examples.each_with_index do |e, i|
145
+ start_line = e.metadata[:line_number]
146
+ end_line = @examples[i+1].nil? ? lines.size : @examples[i+1].metadata[:line_number] - 1
147
+ code_block = lines[start_line..end_line]
148
+ spec = code_block.select { |l| l.match(/#->/) }.join('')
149
+ if !spec.split.empty?
150
+ formatter = Rouge::Formatters::HTML.new(css_class: 'highlight')
151
+ lexer = Rouge::Lexers::Gherkin.new
152
+ formatted_spec = formatter.format(lexer.lex(spec.gsub('#->', '')))
153
+ e.set_spec(formatted_spec)
154
+ end
155
+ end
156
+ @examples
157
+ end
158
+ end
159
+
160
+ class RspecHtmlReporter < RSpec::Core::Formatters::BaseFormatter
161
+
162
+ DEFAULT_REPORT_PATH = File.join(Bundler.root, 'reports', Time.now.strftime('%Y%m%d-%H%M%S'))
163
+ REPORT_PATH = ENV['REPORT_PATH'] || DEFAULT_REPORT_PATH
164
+
165
+ SCREENRECORD_DIR = File.join(REPORT_PATH, 'screenrecords')
166
+ SCREENSHOT_DIR = File.join(REPORT_PATH, 'screenshots')
167
+ RESOURCE_DIR = File.join(REPORT_PATH, 'resources')
168
+
169
+ RSpec::Core::Formatters.register self, :example_started, :example_passed, :example_failed, :example_pending, :example_group_finished
170
+
171
+ def initialize(io_standard_out)
172
+ create_reports_dir
173
+ create_screenshots_dir
174
+ create_screenrecords_dir
175
+ copy_resources
176
+ @all_groups = {}
177
+
178
+ @group_level = 0
179
+ end
180
+
181
+ def example_group_started(notification)
182
+ if @group_level == 0
183
+ @example_group = {}
184
+ @group_examples = []
185
+ @group_example_count = 0
186
+ @group_example_success_count = 0
187
+ @group_example_failure_count = 0
188
+ @group_example_pending_count = 0
189
+ end
190
+
191
+ @group_level += 1
192
+ end
193
+
194
+ def example_started(notification)
195
+ @group_example_count += 1
196
+ end
197
+
198
+ def example_passed(notification)
199
+ @group_example_success_count += 1
200
+ @group_examples << Example.new(notification.example)
201
+ end
202
+
203
+ def example_failed(notification)
204
+ @group_example_failure_count += 1
205
+ @group_examples << Example.new(notification.example)
206
+ end
207
+
208
+ def example_pending(notification)
209
+ @group_example_pending_count += 1
210
+ @group_examples << Example.new(notification.example)
211
+ end
212
+
213
+ def example_group_finished(notification)
214
+ @group_level -= 1
215
+
216
+ if @group_level == 0
217
+ File.open("#{REPORT_PATH}/#{notification.group.description.parameterize}.html", 'w') do |f|
218
+
219
+ @passed = @group_example_success_count
220
+ @failed = @group_example_failure_count
221
+ @pending = @group_example_pending_count
222
+
223
+ duration_values = @group_examples.map { |e| e.run_time }
224
+
225
+ duration_keys = duration_values.size.times.to_a
226
+ if duration_values.size < 2 and duration_values.size > 0
227
+ duration_values.unshift(duration_values.first)
228
+ duration_keys = duration_keys << 1
229
+ end
230
+
231
+ @title = notification.group.description
232
+ @durations = duration_keys.zip(duration_values)
233
+
234
+ @summary_duration = duration_values.inject(0) { |sum, i| sum + i }.to_s(:rounded, precision: 5)
235
+ @examples = Specify.new(@group_examples).process
236
+
237
+ class_map = {passed: 'success', failed: 'danger', pending: 'warning'}
238
+ statuses = @examples.map { |e| e.status }
239
+ status = statuses.include?('failed') ? 'failed' : (statuses.include?('passed') ? 'passed' : 'pending')
240
+ @all_groups[notification.group.description.parameterize] = {
241
+ group: notification.group.description,
242
+ examples: @examples.size,
243
+ status: status,
244
+ klass: class_map[status.to_sym],
245
+ passed: statuses.select { |s| s == 'passed' },
246
+ failed: statuses.select { |s| s == 'failed' },
247
+ pending: statuses.select { |s| s == 'pending' },
248
+ duration: @summary_duration
249
+ }
250
+
251
+ template_file = File.read(File.dirname(__FILE__) + '/../templates/report.erb')
252
+
253
+ f.puts ERB.new(template_file).result(binding)
254
+ end
255
+ end
256
+ end
257
+
258
+ def close(notification)
259
+ File.open("#{REPORT_PATH}/overview.html", 'w') do |f|
260
+ @overview = @all_groups
261
+
262
+ @passed = @overview.values.map { |g| g[:passed].size }.inject(0) { |sum, i| sum + i }
263
+ @failed = @overview.values.map { |g| g[:failed].size }.inject(0) { |sum, i| sum + i }
264
+ @pending = @overview.values.map { |g| g[:pending].size }.inject(0) { |sum, i| sum + i }
265
+
266
+ duration_values = @overview.values.map { |e| e[:duration] }
267
+
268
+ duration_keys = duration_values.size.times.to_a
269
+ if duration_values.size < 2
270
+ duration_values.unshift(duration_values.first)
271
+ duration_keys = duration_keys << 1
272
+ end
273
+
274
+ @durations = duration_keys.zip(duration_values.map{|d| d.to_f.round(5)})
275
+ @summary_duration = duration_values.map{|d| d.to_f.round(5)}.inject(0) { |sum, i| sum + i }.to_s(:rounded, precision: 5)
276
+ @total_examples = @passed + @failed + @pending
277
+ template_file = File.read(File.dirname(__FILE__) + '/../templates/overview.erb')
278
+ f.puts ERB.new(template_file).result(binding)
279
+ end
280
+ end
281
+
282
+ private
283
+ def create_reports_dir
284
+ FileUtils.rm_rf(REPORT_PATH) if File.exists?(REPORT_PATH)
285
+ FileUtils.mkpath(REPORT_PATH)
286
+ end
287
+
288
+ def create_screenshots_dir
289
+ FileUtils.mkdir_p SCREENSHOT_DIR unless File.exists?(SCREENSHOT_DIR)
290
+ end
291
+
292
+ def create_screenrecords_dir
293
+ FileUtils.mkdir_p SCREENRECORD_DIR unless File.exists?(SCREENRECORD_DIR)
294
+ end
295
+
296
+ def copy_resources
297
+ FileUtils.cp_r(File.dirname(__FILE__) + '/../resources', REPORT_PATH)
298
+ end
299
+ end
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
3
+ * Copyright 2011-2017 The Bootstrap Authors
4
+ * Copyright 2011-2017 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}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]{cursor:help}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{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-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-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-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-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{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:768px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:992px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-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-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.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:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.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:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-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-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;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;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler: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.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' 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 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' 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 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:#f7f7f9;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-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{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 .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.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%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!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}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.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-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-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}}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*# sourceMappingURL=bootstrap.min.css.map */
@@ -0,0 +1,3535 @@
1
+ /*!
2
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
3
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ if (typeof jQuery === 'undefined') {
8
+ throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
9
+ }
10
+
11
+ +function ($) {
12
+ var version = $.fn.jquery.split(' ')[0].split('.')
13
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
14
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
15
+ }
16
+ }(jQuery);
17
+
18
+
19
+ +function () {
20
+
21
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22
+
23
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
24
+
25
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
26
+
27
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
28
+
29
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
+
31
+ /**
32
+ * --------------------------------------------------------------------------
33
+ * Bootstrap (v4.0.0-alpha.6): util.js
34
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
35
+ * --------------------------------------------------------------------------
36
+ */
37
+
38
+ var Util = function ($) {
39
+
40
+ /**
41
+ * ------------------------------------------------------------------------
42
+ * Private TransitionEnd Helpers
43
+ * ------------------------------------------------------------------------
44
+ */
45
+
46
+ var transition = false;
47
+
48
+ var MAX_UID = 1000000;
49
+
50
+ var TransitionEndEvent = {
51
+ WebkitTransition: 'webkitTransitionEnd',
52
+ MozTransition: 'transitionend',
53
+ OTransition: 'oTransitionEnd otransitionend',
54
+ transition: 'transitionend'
55
+ };
56
+
57
+ // shoutout AngusCroll (https://goo.gl/pxwQGp)
58
+ function toType(obj) {
59
+ return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
60
+ }
61
+
62
+ function isElement(obj) {
63
+ return (obj[0] || obj).nodeType;
64
+ }
65
+
66
+ function getSpecialTransitionEndEvent() {
67
+ return {
68
+ bindType: transition.end,
69
+ delegateType: transition.end,
70
+ handle: function handle(event) {
71
+ if ($(event.target).is(this)) {
72
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
73
+ }
74
+ return undefined;
75
+ }
76
+ };
77
+ }
78
+
79
+ function transitionEndTest() {
80
+ if (window.QUnit) {
81
+ return false;
82
+ }
83
+
84
+ var el = document.createElement('bootstrap');
85
+
86
+ for (var name in TransitionEndEvent) {
87
+ if (el.style[name] !== undefined) {
88
+ return {
89
+ end: TransitionEndEvent[name]
90
+ };
91
+ }
92
+ }
93
+
94
+ return false;
95
+ }
96
+
97
+ function transitionEndEmulator(duration) {
98
+ var _this = this;
99
+
100
+ var called = false;
101
+
102
+ $(this).one(Util.TRANSITION_END, function () {
103
+ called = true;
104
+ });
105
+
106
+ setTimeout(function () {
107
+ if (!called) {
108
+ Util.triggerTransitionEnd(_this);
109
+ }
110
+ }, duration);
111
+
112
+ return this;
113
+ }
114
+
115
+ function setTransitionEndSupport() {
116
+ transition = transitionEndTest();
117
+
118
+ $.fn.emulateTransitionEnd = transitionEndEmulator;
119
+
120
+ if (Util.supportsTransitionEnd()) {
121
+ $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
122
+ }
123
+ }
124
+
125
+ /**
126
+ * --------------------------------------------------------------------------
127
+ * Public Util Api
128
+ * --------------------------------------------------------------------------
129
+ */
130
+
131
+ var Util = {
132
+
133
+ TRANSITION_END: 'bsTransitionEnd',
134
+
135
+ getUID: function getUID(prefix) {
136
+ do {
137
+ // eslint-disable-next-line no-bitwise
138
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
139
+ } while (document.getElementById(prefix));
140
+ return prefix;
141
+ },
142
+ getSelectorFromElement: function getSelectorFromElement(element) {
143
+ var selector = element.getAttribute('data-target');
144
+
145
+ if (!selector) {
146
+ selector = element.getAttribute('href') || '';
147
+ selector = /^#[a-z]/i.test(selector) ? selector : null;
148
+ }
149
+
150
+ return selector;
151
+ },
152
+ reflow: function reflow(element) {
153
+ return element.offsetHeight;
154
+ },
155
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
156
+ $(element).trigger(transition.end);
157
+ },
158
+ supportsTransitionEnd: function supportsTransitionEnd() {
159
+ return Boolean(transition);
160
+ },
161
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
162
+ for (var property in configTypes) {
163
+ if (configTypes.hasOwnProperty(property)) {
164
+ var expectedTypes = configTypes[property];
165
+ var value = config[property];
166
+ var valueType = value && isElement(value) ? 'element' : toType(value);
167
+
168
+ if (!new RegExp(expectedTypes).test(valueType)) {
169
+ throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
170
+ }
171
+ }
172
+ }
173
+ }
174
+ };
175
+
176
+ setTransitionEndSupport();
177
+
178
+ return Util;
179
+ }(jQuery);
180
+
181
+ /**
182
+ * --------------------------------------------------------------------------
183
+ * Bootstrap (v4.0.0-alpha.6): alert.js
184
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
185
+ * --------------------------------------------------------------------------
186
+ */
187
+
188
+ var Alert = function ($) {
189
+
190
+ /**
191
+ * ------------------------------------------------------------------------
192
+ * Constants
193
+ * ------------------------------------------------------------------------
194
+ */
195
+
196
+ var NAME = 'alert';
197
+ var VERSION = '4.0.0-alpha.6';
198
+ var DATA_KEY = 'bs.alert';
199
+ var EVENT_KEY = '.' + DATA_KEY;
200
+ var DATA_API_KEY = '.data-api';
201
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
202
+ var TRANSITION_DURATION = 150;
203
+
204
+ var Selector = {
205
+ DISMISS: '[data-dismiss="alert"]'
206
+ };
207
+
208
+ var Event = {
209
+ CLOSE: 'close' + EVENT_KEY,
210
+ CLOSED: 'closed' + EVENT_KEY,
211
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
212
+ };
213
+
214
+ var ClassName = {
215
+ ALERT: 'alert',
216
+ FADE: 'fade',
217
+ SHOW: 'show'
218
+ };
219
+
220
+ /**
221
+ * ------------------------------------------------------------------------
222
+ * Class Definition
223
+ * ------------------------------------------------------------------------
224
+ */
225
+
226
+ var Alert = function () {
227
+ function Alert(element) {
228
+ _classCallCheck(this, Alert);
229
+
230
+ this._element = element;
231
+ }
232
+
233
+ // getters
234
+
235
+ // public
236
+
237
+ Alert.prototype.close = function close(element) {
238
+ element = element || this._element;
239
+
240
+ var rootElement = this._getRootElement(element);
241
+ var customEvent = this._triggerCloseEvent(rootElement);
242
+
243
+ if (customEvent.isDefaultPrevented()) {
244
+ return;
245
+ }
246
+
247
+ this._removeElement(rootElement);
248
+ };
249
+
250
+ Alert.prototype.dispose = function dispose() {
251
+ $.removeData(this._element, DATA_KEY);
252
+ this._element = null;
253
+ };
254
+
255
+ // private
256
+
257
+ Alert.prototype._getRootElement = function _getRootElement(element) {
258
+ var selector = Util.getSelectorFromElement(element);
259
+ var parent = false;
260
+
261
+ if (selector) {
262
+ parent = $(selector)[0];
263
+ }
264
+
265
+ if (!parent) {
266
+ parent = $(element).closest('.' + ClassName.ALERT)[0];
267
+ }
268
+
269
+ return parent;
270
+ };
271
+
272
+ Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
273
+ var closeEvent = $.Event(Event.CLOSE);
274
+
275
+ $(element).trigger(closeEvent);
276
+ return closeEvent;
277
+ };
278
+
279
+ Alert.prototype._removeElement = function _removeElement(element) {
280
+ var _this2 = this;
281
+
282
+ $(element).removeClass(ClassName.SHOW);
283
+
284
+ if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
285
+ this._destroyElement(element);
286
+ return;
287
+ }
288
+
289
+ $(element).one(Util.TRANSITION_END, function (event) {
290
+ return _this2._destroyElement(element, event);
291
+ }).emulateTransitionEnd(TRANSITION_DURATION);
292
+ };
293
+
294
+ Alert.prototype._destroyElement = function _destroyElement(element) {
295
+ $(element).detach().trigger(Event.CLOSED).remove();
296
+ };
297
+
298
+ // static
299
+
300
+ Alert._jQueryInterface = function _jQueryInterface(config) {
301
+ return this.each(function () {
302
+ var $element = $(this);
303
+ var data = $element.data(DATA_KEY);
304
+
305
+ if (!data) {
306
+ data = new Alert(this);
307
+ $element.data(DATA_KEY, data);
308
+ }
309
+
310
+ if (config === 'close') {
311
+ data[config](this);
312
+ }
313
+ });
314
+ };
315
+
316
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
317
+ return function (event) {
318
+ if (event) {
319
+ event.preventDefault();
320
+ }
321
+
322
+ alertInstance.close(this);
323
+ };
324
+ };
325
+
326
+ _createClass(Alert, null, [{
327
+ key: 'VERSION',
328
+ get: function get() {
329
+ return VERSION;
330
+ }
331
+ }]);
332
+
333
+ return Alert;
334
+ }();
335
+
336
+ /**
337
+ * ------------------------------------------------------------------------
338
+ * Data Api implementation
339
+ * ------------------------------------------------------------------------
340
+ */
341
+
342
+ $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
343
+
344
+ /**
345
+ * ------------------------------------------------------------------------
346
+ * jQuery
347
+ * ------------------------------------------------------------------------
348
+ */
349
+
350
+ $.fn[NAME] = Alert._jQueryInterface;
351
+ $.fn[NAME].Constructor = Alert;
352
+ $.fn[NAME].noConflict = function () {
353
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
354
+ return Alert._jQueryInterface;
355
+ };
356
+
357
+ return Alert;
358
+ }(jQuery);
359
+
360
+ /**
361
+ * --------------------------------------------------------------------------
362
+ * Bootstrap (v4.0.0-alpha.6): button.js
363
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
364
+ * --------------------------------------------------------------------------
365
+ */
366
+
367
+ var Button = function ($) {
368
+
369
+ /**
370
+ * ------------------------------------------------------------------------
371
+ * Constants
372
+ * ------------------------------------------------------------------------
373
+ */
374
+
375
+ var NAME = 'button';
376
+ var VERSION = '4.0.0-alpha.6';
377
+ var DATA_KEY = 'bs.button';
378
+ var EVENT_KEY = '.' + DATA_KEY;
379
+ var DATA_API_KEY = '.data-api';
380
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
381
+
382
+ var ClassName = {
383
+ ACTIVE: 'active',
384
+ BUTTON: 'btn',
385
+ FOCUS: 'focus'
386
+ };
387
+
388
+ var Selector = {
389
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
390
+ DATA_TOGGLE: '[data-toggle="buttons"]',
391
+ INPUT: 'input',
392
+ ACTIVE: '.active',
393
+ BUTTON: '.btn'
394
+ };
395
+
396
+ var Event = {
397
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
398
+ FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
399
+ };
400
+
401
+ /**
402
+ * ------------------------------------------------------------------------
403
+ * Class Definition
404
+ * ------------------------------------------------------------------------
405
+ */
406
+
407
+ var Button = function () {
408
+ function Button(element) {
409
+ _classCallCheck(this, Button);
410
+
411
+ this._element = element;
412
+ }
413
+
414
+ // getters
415
+
416
+ // public
417
+
418
+ Button.prototype.toggle = function toggle() {
419
+ var triggerChangeEvent = true;
420
+ var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
421
+
422
+ if (rootElement) {
423
+ var input = $(this._element).find(Selector.INPUT)[0];
424
+
425
+ if (input) {
426
+ if (input.type === 'radio') {
427
+ if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
428
+ triggerChangeEvent = false;
429
+ } else {
430
+ var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
431
+
432
+ if (activeElement) {
433
+ $(activeElement).removeClass(ClassName.ACTIVE);
434
+ }
435
+ }
436
+ }
437
+
438
+ if (triggerChangeEvent) {
439
+ input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
440
+ $(input).trigger('change');
441
+ }
442
+
443
+ input.focus();
444
+ }
445
+ }
446
+
447
+ this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
448
+
449
+ if (triggerChangeEvent) {
450
+ $(this._element).toggleClass(ClassName.ACTIVE);
451
+ }
452
+ };
453
+
454
+ Button.prototype.dispose = function dispose() {
455
+ $.removeData(this._element, DATA_KEY);
456
+ this._element = null;
457
+ };
458
+
459
+ // static
460
+
461
+ Button._jQueryInterface = function _jQueryInterface(config) {
462
+ return this.each(function () {
463
+ var data = $(this).data(DATA_KEY);
464
+
465
+ if (!data) {
466
+ data = new Button(this);
467
+ $(this).data(DATA_KEY, data);
468
+ }
469
+
470
+ if (config === 'toggle') {
471
+ data[config]();
472
+ }
473
+ });
474
+ };
475
+
476
+ _createClass(Button, null, [{
477
+ key: 'VERSION',
478
+ get: function get() {
479
+ return VERSION;
480
+ }
481
+ }]);
482
+
483
+ return Button;
484
+ }();
485
+
486
+ /**
487
+ * ------------------------------------------------------------------------
488
+ * Data Api implementation
489
+ * ------------------------------------------------------------------------
490
+ */
491
+
492
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
493
+ event.preventDefault();
494
+
495
+ var button = event.target;
496
+
497
+ if (!$(button).hasClass(ClassName.BUTTON)) {
498
+ button = $(button).closest(Selector.BUTTON);
499
+ }
500
+
501
+ Button._jQueryInterface.call($(button), 'toggle');
502
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
503
+ var button = $(event.target).closest(Selector.BUTTON)[0];
504
+ $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
505
+ });
506
+
507
+ /**
508
+ * ------------------------------------------------------------------------
509
+ * jQuery
510
+ * ------------------------------------------------------------------------
511
+ */
512
+
513
+ $.fn[NAME] = Button._jQueryInterface;
514
+ $.fn[NAME].Constructor = Button;
515
+ $.fn[NAME].noConflict = function () {
516
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
517
+ return Button._jQueryInterface;
518
+ };
519
+
520
+ return Button;
521
+ }(jQuery);
522
+
523
+ /**
524
+ * --------------------------------------------------------------------------
525
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
526
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
527
+ * --------------------------------------------------------------------------
528
+ */
529
+
530
+ var Carousel = function ($) {
531
+
532
+ /**
533
+ * ------------------------------------------------------------------------
534
+ * Constants
535
+ * ------------------------------------------------------------------------
536
+ */
537
+
538
+ var NAME = 'carousel';
539
+ var VERSION = '4.0.0-alpha.6';
540
+ var DATA_KEY = 'bs.carousel';
541
+ var EVENT_KEY = '.' + DATA_KEY;
542
+ var DATA_API_KEY = '.data-api';
543
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
544
+ var TRANSITION_DURATION = 600;
545
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
546
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
547
+
548
+ var Default = {
549
+ interval: 5000,
550
+ keyboard: true,
551
+ slide: false,
552
+ pause: 'hover',
553
+ wrap: true
554
+ };
555
+
556
+ var DefaultType = {
557
+ interval: '(number|boolean)',
558
+ keyboard: 'boolean',
559
+ slide: '(boolean|string)',
560
+ pause: '(string|boolean)',
561
+ wrap: 'boolean'
562
+ };
563
+
564
+ var Direction = {
565
+ NEXT: 'next',
566
+ PREV: 'prev',
567
+ LEFT: 'left',
568
+ RIGHT: 'right'
569
+ };
570
+
571
+ var Event = {
572
+ SLIDE: 'slide' + EVENT_KEY,
573
+ SLID: 'slid' + EVENT_KEY,
574
+ KEYDOWN: 'keydown' + EVENT_KEY,
575
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
576
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY,
577
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
578
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
579
+ };
580
+
581
+ var ClassName = {
582
+ CAROUSEL: 'carousel',
583
+ ACTIVE: 'active',
584
+ SLIDE: 'slide',
585
+ RIGHT: 'carousel-item-right',
586
+ LEFT: 'carousel-item-left',
587
+ NEXT: 'carousel-item-next',
588
+ PREV: 'carousel-item-prev',
589
+ ITEM: 'carousel-item'
590
+ };
591
+
592
+ var Selector = {
593
+ ACTIVE: '.active',
594
+ ACTIVE_ITEM: '.active.carousel-item',
595
+ ITEM: '.carousel-item',
596
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
597
+ INDICATORS: '.carousel-indicators',
598
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
599
+ DATA_RIDE: '[data-ride="carousel"]'
600
+ };
601
+
602
+ /**
603
+ * ------------------------------------------------------------------------
604
+ * Class Definition
605
+ * ------------------------------------------------------------------------
606
+ */
607
+
608
+ var Carousel = function () {
609
+ function Carousel(element, config) {
610
+ _classCallCheck(this, Carousel);
611
+
612
+ this._items = null;
613
+ this._interval = null;
614
+ this._activeElement = null;
615
+
616
+ this._isPaused = false;
617
+ this._isSliding = false;
618
+
619
+ this._config = this._getConfig(config);
620
+ this._element = $(element)[0];
621
+ this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
622
+
623
+ this._addEventListeners();
624
+ }
625
+
626
+ // getters
627
+
628
+ // public
629
+
630
+ Carousel.prototype.next = function next() {
631
+ if (this._isSliding) {
632
+ throw new Error('Carousel is sliding');
633
+ }
634
+ this._slide(Direction.NEXT);
635
+ };
636
+
637
+ Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
638
+ // Don't call next when the page isn't visible
639
+ if (!document.hidden) {
640
+ this.next();
641
+ }
642
+ };
643
+
644
+ Carousel.prototype.prev = function prev() {
645
+ if (this._isSliding) {
646
+ throw new Error('Carousel is sliding');
647
+ }
648
+ this._slide(Direction.PREVIOUS);
649
+ };
650
+
651
+ Carousel.prototype.pause = function pause(event) {
652
+ if (!event) {
653
+ this._isPaused = true;
654
+ }
655
+
656
+ if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
657
+ Util.triggerTransitionEnd(this._element);
658
+ this.cycle(true);
659
+ }
660
+
661
+ clearInterval(this._interval);
662
+ this._interval = null;
663
+ };
664
+
665
+ Carousel.prototype.cycle = function cycle(event) {
666
+ if (!event) {
667
+ this._isPaused = false;
668
+ }
669
+
670
+ if (this._interval) {
671
+ clearInterval(this._interval);
672
+ this._interval = null;
673
+ }
674
+
675
+ if (this._config.interval && !this._isPaused) {
676
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
677
+ }
678
+ };
679
+
680
+ Carousel.prototype.to = function to(index) {
681
+ var _this3 = this;
682
+
683
+ this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
684
+
685
+ var activeIndex = this._getItemIndex(this._activeElement);
686
+
687
+ if (index > this._items.length - 1 || index < 0) {
688
+ return;
689
+ }
690
+
691
+ if (this._isSliding) {
692
+ $(this._element).one(Event.SLID, function () {
693
+ return _this3.to(index);
694
+ });
695
+ return;
696
+ }
697
+
698
+ if (activeIndex === index) {
699
+ this.pause();
700
+ this.cycle();
701
+ return;
702
+ }
703
+
704
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
705
+
706
+ this._slide(direction, this._items[index]);
707
+ };
708
+
709
+ Carousel.prototype.dispose = function dispose() {
710
+ $(this._element).off(EVENT_KEY);
711
+ $.removeData(this._element, DATA_KEY);
712
+
713
+ this._items = null;
714
+ this._config = null;
715
+ this._element = null;
716
+ this._interval = null;
717
+ this._isPaused = null;
718
+ this._isSliding = null;
719
+ this._activeElement = null;
720
+ this._indicatorsElement = null;
721
+ };
722
+
723
+ // private
724
+
725
+ Carousel.prototype._getConfig = function _getConfig(config) {
726
+ config = $.extend({}, Default, config);
727
+ Util.typeCheckConfig(NAME, config, DefaultType);
728
+ return config;
729
+ };
730
+
731
+ Carousel.prototype._addEventListeners = function _addEventListeners() {
732
+ var _this4 = this;
733
+
734
+ if (this._config.keyboard) {
735
+ $(this._element).on(Event.KEYDOWN, function (event) {
736
+ return _this4._keydown(event);
737
+ });
738
+ }
739
+
740
+ if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
741
+ $(this._element).on(Event.MOUSEENTER, function (event) {
742
+ return _this4.pause(event);
743
+ }).on(Event.MOUSELEAVE, function (event) {
744
+ return _this4.cycle(event);
745
+ });
746
+ }
747
+ };
748
+
749
+ Carousel.prototype._keydown = function _keydown(event) {
750
+ if (/input|textarea/i.test(event.target.tagName)) {
751
+ return;
752
+ }
753
+
754
+ switch (event.which) {
755
+ case ARROW_LEFT_KEYCODE:
756
+ event.preventDefault();
757
+ this.prev();
758
+ break;
759
+ case ARROW_RIGHT_KEYCODE:
760
+ event.preventDefault();
761
+ this.next();
762
+ break;
763
+ default:
764
+ return;
765
+ }
766
+ };
767
+
768
+ Carousel.prototype._getItemIndex = function _getItemIndex(element) {
769
+ this._items = $.makeArray($(element).parent().find(Selector.ITEM));
770
+ return this._items.indexOf(element);
771
+ };
772
+
773
+ Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
774
+ var isNextDirection = direction === Direction.NEXT;
775
+ var isPrevDirection = direction === Direction.PREVIOUS;
776
+ var activeIndex = this._getItemIndex(activeElement);
777
+ var lastItemIndex = this._items.length - 1;
778
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
779
+
780
+ if (isGoingToWrap && !this._config.wrap) {
781
+ return activeElement;
782
+ }
783
+
784
+ var delta = direction === Direction.PREVIOUS ? -1 : 1;
785
+ var itemIndex = (activeIndex + delta) % this._items.length;
786
+
787
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
788
+ };
789
+
790
+ Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
791
+ var slideEvent = $.Event(Event.SLIDE, {
792
+ relatedTarget: relatedTarget,
793
+ direction: eventDirectionName
794
+ });
795
+
796
+ $(this._element).trigger(slideEvent);
797
+
798
+ return slideEvent;
799
+ };
800
+
801
+ Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
802
+ if (this._indicatorsElement) {
803
+ $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
804
+
805
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
806
+
807
+ if (nextIndicator) {
808
+ $(nextIndicator).addClass(ClassName.ACTIVE);
809
+ }
810
+ }
811
+ };
812
+
813
+ Carousel.prototype._slide = function _slide(direction, element) {
814
+ var _this5 = this;
815
+
816
+ var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
817
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
818
+
819
+ var isCycling = Boolean(this._interval);
820
+
821
+ var directionalClassName = void 0;
822
+ var orderClassName = void 0;
823
+ var eventDirectionName = void 0;
824
+
825
+ if (direction === Direction.NEXT) {
826
+ directionalClassName = ClassName.LEFT;
827
+ orderClassName = ClassName.NEXT;
828
+ eventDirectionName = Direction.LEFT;
829
+ } else {
830
+ directionalClassName = ClassName.RIGHT;
831
+ orderClassName = ClassName.PREV;
832
+ eventDirectionName = Direction.RIGHT;
833
+ }
834
+
835
+ if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
836
+ this._isSliding = false;
837
+ return;
838
+ }
839
+
840
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
841
+ if (slideEvent.isDefaultPrevented()) {
842
+ return;
843
+ }
844
+
845
+ if (!activeElement || !nextElement) {
846
+ // some weirdness is happening, so we bail
847
+ return;
848
+ }
849
+
850
+ this._isSliding = true;
851
+
852
+ if (isCycling) {
853
+ this.pause();
854
+ }
855
+
856
+ this._setActiveIndicatorElement(nextElement);
857
+
858
+ var slidEvent = $.Event(Event.SLID, {
859
+ relatedTarget: nextElement,
860
+ direction: eventDirectionName
861
+ });
862
+
863
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
864
+
865
+ $(nextElement).addClass(orderClassName);
866
+
867
+ Util.reflow(nextElement);
868
+
869
+ $(activeElement).addClass(directionalClassName);
870
+ $(nextElement).addClass(directionalClassName);
871
+
872
+ $(activeElement).one(Util.TRANSITION_END, function () {
873
+ $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
874
+
875
+ $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
876
+
877
+ _this5._isSliding = false;
878
+
879
+ setTimeout(function () {
880
+ return $(_this5._element).trigger(slidEvent);
881
+ }, 0);
882
+ }).emulateTransitionEnd(TRANSITION_DURATION);
883
+ } else {
884
+ $(activeElement).removeClass(ClassName.ACTIVE);
885
+ $(nextElement).addClass(ClassName.ACTIVE);
886
+
887
+ this._isSliding = false;
888
+ $(this._element).trigger(slidEvent);
889
+ }
890
+
891
+ if (isCycling) {
892
+ this.cycle();
893
+ }
894
+ };
895
+
896
+ // static
897
+
898
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
899
+ return this.each(function () {
900
+ var data = $(this).data(DATA_KEY);
901
+ var _config = $.extend({}, Default, $(this).data());
902
+
903
+ if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
904
+ $.extend(_config, config);
905
+ }
906
+
907
+ var action = typeof config === 'string' ? config : _config.slide;
908
+
909
+ if (!data) {
910
+ data = new Carousel(this, _config);
911
+ $(this).data(DATA_KEY, data);
912
+ }
913
+
914
+ if (typeof config === 'number') {
915
+ data.to(config);
916
+ } else if (typeof action === 'string') {
917
+ if (data[action] === undefined) {
918
+ throw new Error('No method named "' + action + '"');
919
+ }
920
+ data[action]();
921
+ } else if (_config.interval) {
922
+ data.pause();
923
+ data.cycle();
924
+ }
925
+ });
926
+ };
927
+
928
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
929
+ var selector = Util.getSelectorFromElement(this);
930
+
931
+ if (!selector) {
932
+ return;
933
+ }
934
+
935
+ var target = $(selector)[0];
936
+
937
+ if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
938
+ return;
939
+ }
940
+
941
+ var config = $.extend({}, $(target).data(), $(this).data());
942
+ var slideIndex = this.getAttribute('data-slide-to');
943
+
944
+ if (slideIndex) {
945
+ config.interval = false;
946
+ }
947
+
948
+ Carousel._jQueryInterface.call($(target), config);
949
+
950
+ if (slideIndex) {
951
+ $(target).data(DATA_KEY).to(slideIndex);
952
+ }
953
+
954
+ event.preventDefault();
955
+ };
956
+
957
+ _createClass(Carousel, null, [{
958
+ key: 'VERSION',
959
+ get: function get() {
960
+ return VERSION;
961
+ }
962
+ }, {
963
+ key: 'Default',
964
+ get: function get() {
965
+ return Default;
966
+ }
967
+ }]);
968
+
969
+ return Carousel;
970
+ }();
971
+
972
+ /**
973
+ * ------------------------------------------------------------------------
974
+ * Data Api implementation
975
+ * ------------------------------------------------------------------------
976
+ */
977
+
978
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
979
+
980
+ $(window).on(Event.LOAD_DATA_API, function () {
981
+ $(Selector.DATA_RIDE).each(function () {
982
+ var $carousel = $(this);
983
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
984
+ });
985
+ });
986
+
987
+ /**
988
+ * ------------------------------------------------------------------------
989
+ * jQuery
990
+ * ------------------------------------------------------------------------
991
+ */
992
+
993
+ $.fn[NAME] = Carousel._jQueryInterface;
994
+ $.fn[NAME].Constructor = Carousel;
995
+ $.fn[NAME].noConflict = function () {
996
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
997
+ return Carousel._jQueryInterface;
998
+ };
999
+
1000
+ return Carousel;
1001
+ }(jQuery);
1002
+
1003
+ /**
1004
+ * --------------------------------------------------------------------------
1005
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
1006
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1007
+ * --------------------------------------------------------------------------
1008
+ */
1009
+
1010
+ var Collapse = function ($) {
1011
+
1012
+ /**
1013
+ * ------------------------------------------------------------------------
1014
+ * Constants
1015
+ * ------------------------------------------------------------------------
1016
+ */
1017
+
1018
+ var NAME = 'collapse';
1019
+ var VERSION = '4.0.0-alpha.6';
1020
+ var DATA_KEY = 'bs.collapse';
1021
+ var EVENT_KEY = '.' + DATA_KEY;
1022
+ var DATA_API_KEY = '.data-api';
1023
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
1024
+ var TRANSITION_DURATION = 600;
1025
+
1026
+ var Default = {
1027
+ toggle: true,
1028
+ parent: ''
1029
+ };
1030
+
1031
+ var DefaultType = {
1032
+ toggle: 'boolean',
1033
+ parent: 'string'
1034
+ };
1035
+
1036
+ var Event = {
1037
+ SHOW: 'show' + EVENT_KEY,
1038
+ SHOWN: 'shown' + EVENT_KEY,
1039
+ HIDE: 'hide' + EVENT_KEY,
1040
+ HIDDEN: 'hidden' + EVENT_KEY,
1041
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
1042
+ };
1043
+
1044
+ var ClassName = {
1045
+ SHOW: 'show',
1046
+ COLLAPSE: 'collapse',
1047
+ COLLAPSING: 'collapsing',
1048
+ COLLAPSED: 'collapsed'
1049
+ };
1050
+
1051
+ var Dimension = {
1052
+ WIDTH: 'width',
1053
+ HEIGHT: 'height'
1054
+ };
1055
+
1056
+ var Selector = {
1057
+ ACTIVES: '.card > .show, .card > .collapsing',
1058
+ DATA_TOGGLE: '[data-toggle="collapse"]'
1059
+ };
1060
+
1061
+ /**
1062
+ * ------------------------------------------------------------------------
1063
+ * Class Definition
1064
+ * ------------------------------------------------------------------------
1065
+ */
1066
+
1067
+ var Collapse = function () {
1068
+ function Collapse(element, config) {
1069
+ _classCallCheck(this, Collapse);
1070
+
1071
+ this._isTransitioning = false;
1072
+ this._element = element;
1073
+ this._config = this._getConfig(config);
1074
+ this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
1075
+
1076
+ this._parent = this._config.parent ? this._getParent() : null;
1077
+
1078
+ if (!this._config.parent) {
1079
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
1080
+ }
1081
+
1082
+ if (this._config.toggle) {
1083
+ this.toggle();
1084
+ }
1085
+ }
1086
+
1087
+ // getters
1088
+
1089
+ // public
1090
+
1091
+ Collapse.prototype.toggle = function toggle() {
1092
+ if ($(this._element).hasClass(ClassName.SHOW)) {
1093
+ this.hide();
1094
+ } else {
1095
+ this.show();
1096
+ }
1097
+ };
1098
+
1099
+ Collapse.prototype.show = function show() {
1100
+ var _this6 = this;
1101
+
1102
+ if (this._isTransitioning) {
1103
+ throw new Error('Collapse is transitioning');
1104
+ }
1105
+
1106
+ if ($(this._element).hasClass(ClassName.SHOW)) {
1107
+ return;
1108
+ }
1109
+
1110
+ var actives = void 0;
1111
+ var activesData = void 0;
1112
+
1113
+ if (this._parent) {
1114
+ actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
1115
+ if (!actives.length) {
1116
+ actives = null;
1117
+ }
1118
+ }
1119
+
1120
+ if (actives) {
1121
+ activesData = $(actives).data(DATA_KEY);
1122
+ if (activesData && activesData._isTransitioning) {
1123
+ return;
1124
+ }
1125
+ }
1126
+
1127
+ var startEvent = $.Event(Event.SHOW);
1128
+ $(this._element).trigger(startEvent);
1129
+ if (startEvent.isDefaultPrevented()) {
1130
+ return;
1131
+ }
1132
+
1133
+ if (actives) {
1134
+ Collapse._jQueryInterface.call($(actives), 'hide');
1135
+ if (!activesData) {
1136
+ $(actives).data(DATA_KEY, null);
1137
+ }
1138
+ }
1139
+
1140
+ var dimension = this._getDimension();
1141
+
1142
+ $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1143
+
1144
+ this._element.style[dimension] = 0;
1145
+ this._element.setAttribute('aria-expanded', true);
1146
+
1147
+ if (this._triggerArray.length) {
1148
+ $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1149
+ }
1150
+
1151
+ this.setTransitioning(true);
1152
+
1153
+ var complete = function complete() {
1154
+ $(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
1155
+
1156
+ _this6._element.style[dimension] = '';
1157
+
1158
+ _this6.setTransitioning(false);
1159
+
1160
+ $(_this6._element).trigger(Event.SHOWN);
1161
+ };
1162
+
1163
+ if (!Util.supportsTransitionEnd()) {
1164
+ complete();
1165
+ return;
1166
+ }
1167
+
1168
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1169
+ var scrollSize = 'scroll' + capitalizedDimension;
1170
+
1171
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1172
+
1173
+ this._element.style[dimension] = this._element[scrollSize] + 'px';
1174
+ };
1175
+
1176
+ Collapse.prototype.hide = function hide() {
1177
+ var _this7 = this;
1178
+
1179
+ if (this._isTransitioning) {
1180
+ throw new Error('Collapse is transitioning');
1181
+ }
1182
+
1183
+ if (!$(this._element).hasClass(ClassName.SHOW)) {
1184
+ return;
1185
+ }
1186
+
1187
+ var startEvent = $.Event(Event.HIDE);
1188
+ $(this._element).trigger(startEvent);
1189
+ if (startEvent.isDefaultPrevented()) {
1190
+ return;
1191
+ }
1192
+
1193
+ var dimension = this._getDimension();
1194
+ var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
1195
+
1196
+ this._element.style[dimension] = this._element[offsetDimension] + 'px';
1197
+
1198
+ Util.reflow(this._element);
1199
+
1200
+ $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1201
+
1202
+ this._element.setAttribute('aria-expanded', false);
1203
+
1204
+ if (this._triggerArray.length) {
1205
+ $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
1206
+ }
1207
+
1208
+ this.setTransitioning(true);
1209
+
1210
+ var complete = function complete() {
1211
+ _this7.setTransitioning(false);
1212
+ $(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
1213
+ };
1214
+
1215
+ this._element.style[dimension] = '';
1216
+
1217
+ if (!Util.supportsTransitionEnd()) {
1218
+ complete();
1219
+ return;
1220
+ }
1221
+
1222
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1223
+ };
1224
+
1225
+ Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
1226
+ this._isTransitioning = isTransitioning;
1227
+ };
1228
+
1229
+ Collapse.prototype.dispose = function dispose() {
1230
+ $.removeData(this._element, DATA_KEY);
1231
+
1232
+ this._config = null;
1233
+ this._parent = null;
1234
+ this._element = null;
1235
+ this._triggerArray = null;
1236
+ this._isTransitioning = null;
1237
+ };
1238
+
1239
+ // private
1240
+
1241
+ Collapse.prototype._getConfig = function _getConfig(config) {
1242
+ config = $.extend({}, Default, config);
1243
+ config.toggle = Boolean(config.toggle); // coerce string values
1244
+ Util.typeCheckConfig(NAME, config, DefaultType);
1245
+ return config;
1246
+ };
1247
+
1248
+ Collapse.prototype._getDimension = function _getDimension() {
1249
+ var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
1250
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1251
+ };
1252
+
1253
+ Collapse.prototype._getParent = function _getParent() {
1254
+ var _this8 = this;
1255
+
1256
+ var parent = $(this._config.parent)[0];
1257
+ var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
1258
+
1259
+ $(parent).find(selector).each(function (i, element) {
1260
+ _this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1261
+ });
1262
+
1263
+ return parent;
1264
+ };
1265
+
1266
+ Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1267
+ if (element) {
1268
+ var isOpen = $(element).hasClass(ClassName.SHOW);
1269
+ element.setAttribute('aria-expanded', isOpen);
1270
+
1271
+ if (triggerArray.length) {
1272
+ $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1273
+ }
1274
+ }
1275
+ };
1276
+
1277
+ // static
1278
+
1279
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1280
+ var selector = Util.getSelectorFromElement(element);
1281
+ return selector ? $(selector)[0] : null;
1282
+ };
1283
+
1284
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
1285
+ return this.each(function () {
1286
+ var $this = $(this);
1287
+ var data = $this.data(DATA_KEY);
1288
+ var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
1289
+
1290
+ if (!data && _config.toggle && /show|hide/.test(config)) {
1291
+ _config.toggle = false;
1292
+ }
1293
+
1294
+ if (!data) {
1295
+ data = new Collapse(this, _config);
1296
+ $this.data(DATA_KEY, data);
1297
+ }
1298
+
1299
+ if (typeof config === 'string') {
1300
+ if (data[config] === undefined) {
1301
+ throw new Error('No method named "' + config + '"');
1302
+ }
1303
+ data[config]();
1304
+ }
1305
+ });
1306
+ };
1307
+
1308
+ _createClass(Collapse, null, [{
1309
+ key: 'VERSION',
1310
+ get: function get() {
1311
+ return VERSION;
1312
+ }
1313
+ }, {
1314
+ key: 'Default',
1315
+ get: function get() {
1316
+ return Default;
1317
+ }
1318
+ }]);
1319
+
1320
+ return Collapse;
1321
+ }();
1322
+
1323
+ /**
1324
+ * ------------------------------------------------------------------------
1325
+ * Data Api implementation
1326
+ * ------------------------------------------------------------------------
1327
+ */
1328
+
1329
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1330
+ event.preventDefault();
1331
+
1332
+ var target = Collapse._getTargetFromElement(this);
1333
+ var data = $(target).data(DATA_KEY);
1334
+ var config = data ? 'toggle' : $(this).data();
1335
+
1336
+ Collapse._jQueryInterface.call($(target), config);
1337
+ });
1338
+
1339
+ /**
1340
+ * ------------------------------------------------------------------------
1341
+ * jQuery
1342
+ * ------------------------------------------------------------------------
1343
+ */
1344
+
1345
+ $.fn[NAME] = Collapse._jQueryInterface;
1346
+ $.fn[NAME].Constructor = Collapse;
1347
+ $.fn[NAME].noConflict = function () {
1348
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
1349
+ return Collapse._jQueryInterface;
1350
+ };
1351
+
1352
+ return Collapse;
1353
+ }(jQuery);
1354
+
1355
+ /**
1356
+ * --------------------------------------------------------------------------
1357
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
1358
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1359
+ * --------------------------------------------------------------------------
1360
+ */
1361
+
1362
+ var Dropdown = function ($) {
1363
+
1364
+ /**
1365
+ * ------------------------------------------------------------------------
1366
+ * Constants
1367
+ * ------------------------------------------------------------------------
1368
+ */
1369
+
1370
+ var NAME = 'dropdown';
1371
+ var VERSION = '4.0.0-alpha.6';
1372
+ var DATA_KEY = 'bs.dropdown';
1373
+ var EVENT_KEY = '.' + DATA_KEY;
1374
+ var DATA_API_KEY = '.data-api';
1375
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
1376
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1377
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
1378
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
1379
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
1380
+
1381
+ var Event = {
1382
+ HIDE: 'hide' + EVENT_KEY,
1383
+ HIDDEN: 'hidden' + EVENT_KEY,
1384
+ SHOW: 'show' + EVENT_KEY,
1385
+ SHOWN: 'shown' + EVENT_KEY,
1386
+ CLICK: 'click' + EVENT_KEY,
1387
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
1388
+ FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
1389
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
1390
+ };
1391
+
1392
+ var ClassName = {
1393
+ BACKDROP: 'dropdown-backdrop',
1394
+ DISABLED: 'disabled',
1395
+ SHOW: 'show'
1396
+ };
1397
+
1398
+ var Selector = {
1399
+ BACKDROP: '.dropdown-backdrop',
1400
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
1401
+ FORM_CHILD: '.dropdown form',
1402
+ ROLE_MENU: '[role="menu"]',
1403
+ ROLE_LISTBOX: '[role="listbox"]',
1404
+ NAVBAR_NAV: '.navbar-nav',
1405
+ VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
1406
+ };
1407
+
1408
+ /**
1409
+ * ------------------------------------------------------------------------
1410
+ * Class Definition
1411
+ * ------------------------------------------------------------------------
1412
+ */
1413
+
1414
+ var Dropdown = function () {
1415
+ function Dropdown(element) {
1416
+ _classCallCheck(this, Dropdown);
1417
+
1418
+ this._element = element;
1419
+
1420
+ this._addEventListeners();
1421
+ }
1422
+
1423
+ // getters
1424
+
1425
+ // public
1426
+
1427
+ Dropdown.prototype.toggle = function toggle() {
1428
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
1429
+ return false;
1430
+ }
1431
+
1432
+ var parent = Dropdown._getParentFromElement(this);
1433
+ var isActive = $(parent).hasClass(ClassName.SHOW);
1434
+
1435
+ Dropdown._clearMenus();
1436
+
1437
+ if (isActive) {
1438
+ return false;
1439
+ }
1440
+
1441
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
1442
+
1443
+ // if mobile we use a backdrop because click events don't delegate
1444
+ var dropdown = document.createElement('div');
1445
+ dropdown.className = ClassName.BACKDROP;
1446
+ $(dropdown).insertBefore(this);
1447
+ $(dropdown).on('click', Dropdown._clearMenus);
1448
+ }
1449
+
1450
+ var relatedTarget = {
1451
+ relatedTarget: this
1452
+ };
1453
+ var showEvent = $.Event(Event.SHOW, relatedTarget);
1454
+
1455
+ $(parent).trigger(showEvent);
1456
+
1457
+ if (showEvent.isDefaultPrevented()) {
1458
+ return false;
1459
+ }
1460
+
1461
+ this.focus();
1462
+ this.setAttribute('aria-expanded', true);
1463
+
1464
+ $(parent).toggleClass(ClassName.SHOW);
1465
+ $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
1466
+
1467
+ return false;
1468
+ };
1469
+
1470
+ Dropdown.prototype.dispose = function dispose() {
1471
+ $.removeData(this._element, DATA_KEY);
1472
+ $(this._element).off(EVENT_KEY);
1473
+ this._element = null;
1474
+ };
1475
+
1476
+ // private
1477
+
1478
+ Dropdown.prototype._addEventListeners = function _addEventListeners() {
1479
+ $(this._element).on(Event.CLICK, this.toggle);
1480
+ };
1481
+
1482
+ // static
1483
+
1484
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
1485
+ return this.each(function () {
1486
+ var data = $(this).data(DATA_KEY);
1487
+
1488
+ if (!data) {
1489
+ data = new Dropdown(this);
1490
+ $(this).data(DATA_KEY, data);
1491
+ }
1492
+
1493
+ if (typeof config === 'string') {
1494
+ if (data[config] === undefined) {
1495
+ throw new Error('No method named "' + config + '"');
1496
+ }
1497
+ data[config].call(this);
1498
+ }
1499
+ });
1500
+ };
1501
+
1502
+ Dropdown._clearMenus = function _clearMenus(event) {
1503
+ if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
1504
+ return;
1505
+ }
1506
+
1507
+ var backdrop = $(Selector.BACKDROP)[0];
1508
+ if (backdrop) {
1509
+ backdrop.parentNode.removeChild(backdrop);
1510
+ }
1511
+
1512
+ var toggles = $.makeArray($(Selector.DATA_TOGGLE));
1513
+
1514
+ for (var i = 0; i < toggles.length; i++) {
1515
+ var parent = Dropdown._getParentFromElement(toggles[i]);
1516
+ var relatedTarget = {
1517
+ relatedTarget: toggles[i]
1518
+ };
1519
+
1520
+ if (!$(parent).hasClass(ClassName.SHOW)) {
1521
+ continue;
1522
+ }
1523
+
1524
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
1525
+ continue;
1526
+ }
1527
+
1528
+ var hideEvent = $.Event(Event.HIDE, relatedTarget);
1529
+ $(parent).trigger(hideEvent);
1530
+ if (hideEvent.isDefaultPrevented()) {
1531
+ continue;
1532
+ }
1533
+
1534
+ toggles[i].setAttribute('aria-expanded', 'false');
1535
+
1536
+ $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
1537
+ }
1538
+ };
1539
+
1540
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
1541
+ var parent = void 0;
1542
+ var selector = Util.getSelectorFromElement(element);
1543
+
1544
+ if (selector) {
1545
+ parent = $(selector)[0];
1546
+ }
1547
+
1548
+ return parent || element.parentNode;
1549
+ };
1550
+
1551
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
1552
+ if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
1553
+ return;
1554
+ }
1555
+
1556
+ event.preventDefault();
1557
+ event.stopPropagation();
1558
+
1559
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
1560
+ return;
1561
+ }
1562
+
1563
+ var parent = Dropdown._getParentFromElement(this);
1564
+ var isActive = $(parent).hasClass(ClassName.SHOW);
1565
+
1566
+ if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
1567
+
1568
+ if (event.which === ESCAPE_KEYCODE) {
1569
+ var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
1570
+ $(toggle).trigger('focus');
1571
+ }
1572
+
1573
+ $(this).trigger('click');
1574
+ return;
1575
+ }
1576
+
1577
+ var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
1578
+
1579
+ if (!items.length) {
1580
+ return;
1581
+ }
1582
+
1583
+ var index = items.indexOf(event.target);
1584
+
1585
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
1586
+ // up
1587
+ index--;
1588
+ }
1589
+
1590
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
1591
+ // down
1592
+ index++;
1593
+ }
1594
+
1595
+ if (index < 0) {
1596
+ index = 0;
1597
+ }
1598
+
1599
+ items[index].focus();
1600
+ };
1601
+
1602
+ _createClass(Dropdown, null, [{
1603
+ key: 'VERSION',
1604
+ get: function get() {
1605
+ return VERSION;
1606
+ }
1607
+ }]);
1608
+
1609
+ return Dropdown;
1610
+ }();
1611
+
1612
+ /**
1613
+ * ------------------------------------------------------------------------
1614
+ * Data Api implementation
1615
+ * ------------------------------------------------------------------------
1616
+ */
1617
+
1618
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
1619
+ e.stopPropagation();
1620
+ });
1621
+
1622
+ /**
1623
+ * ------------------------------------------------------------------------
1624
+ * jQuery
1625
+ * ------------------------------------------------------------------------
1626
+ */
1627
+
1628
+ $.fn[NAME] = Dropdown._jQueryInterface;
1629
+ $.fn[NAME].Constructor = Dropdown;
1630
+ $.fn[NAME].noConflict = function () {
1631
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
1632
+ return Dropdown._jQueryInterface;
1633
+ };
1634
+
1635
+ return Dropdown;
1636
+ }(jQuery);
1637
+
1638
+ /**
1639
+ * --------------------------------------------------------------------------
1640
+ * Bootstrap (v4.0.0-alpha.6): modal.js
1641
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1642
+ * --------------------------------------------------------------------------
1643
+ */
1644
+
1645
+ var Modal = function ($) {
1646
+
1647
+ /**
1648
+ * ------------------------------------------------------------------------
1649
+ * Constants
1650
+ * ------------------------------------------------------------------------
1651
+ */
1652
+
1653
+ var NAME = 'modal';
1654
+ var VERSION = '4.0.0-alpha.6';
1655
+ var DATA_KEY = 'bs.modal';
1656
+ var EVENT_KEY = '.' + DATA_KEY;
1657
+ var DATA_API_KEY = '.data-api';
1658
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
1659
+ var TRANSITION_DURATION = 300;
1660
+ var BACKDROP_TRANSITION_DURATION = 150;
1661
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1662
+
1663
+ var Default = {
1664
+ backdrop: true,
1665
+ keyboard: true,
1666
+ focus: true,
1667
+ show: true
1668
+ };
1669
+
1670
+ var DefaultType = {
1671
+ backdrop: '(boolean|string)',
1672
+ keyboard: 'boolean',
1673
+ focus: 'boolean',
1674
+ show: 'boolean'
1675
+ };
1676
+
1677
+ var Event = {
1678
+ HIDE: 'hide' + EVENT_KEY,
1679
+ HIDDEN: 'hidden' + EVENT_KEY,
1680
+ SHOW: 'show' + EVENT_KEY,
1681
+ SHOWN: 'shown' + EVENT_KEY,
1682
+ FOCUSIN: 'focusin' + EVENT_KEY,
1683
+ RESIZE: 'resize' + EVENT_KEY,
1684
+ CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
1685
+ KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
1686
+ MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
1687
+ MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
1688
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
1689
+ };
1690
+
1691
+ var ClassName = {
1692
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
1693
+ BACKDROP: 'modal-backdrop',
1694
+ OPEN: 'modal-open',
1695
+ FADE: 'fade',
1696
+ SHOW: 'show'
1697
+ };
1698
+
1699
+ var Selector = {
1700
+ DIALOG: '.modal-dialog',
1701
+ DATA_TOGGLE: '[data-toggle="modal"]',
1702
+ DATA_DISMISS: '[data-dismiss="modal"]',
1703
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
1704
+ };
1705
+
1706
+ /**
1707
+ * ------------------------------------------------------------------------
1708
+ * Class Definition
1709
+ * ------------------------------------------------------------------------
1710
+ */
1711
+
1712
+ var Modal = function () {
1713
+ function Modal(element, config) {
1714
+ _classCallCheck(this, Modal);
1715
+
1716
+ this._config = this._getConfig(config);
1717
+ this._element = element;
1718
+ this._dialog = $(element).find(Selector.DIALOG)[0];
1719
+ this._backdrop = null;
1720
+ this._isShown = false;
1721
+ this._isBodyOverflowing = false;
1722
+ this._ignoreBackdropClick = false;
1723
+ this._isTransitioning = false;
1724
+ this._originalBodyPadding = 0;
1725
+ this._scrollbarWidth = 0;
1726
+ }
1727
+
1728
+ // getters
1729
+
1730
+ // public
1731
+
1732
+ Modal.prototype.toggle = function toggle(relatedTarget) {
1733
+ return this._isShown ? this.hide() : this.show(relatedTarget);
1734
+ };
1735
+
1736
+ Modal.prototype.show = function show(relatedTarget) {
1737
+ var _this9 = this;
1738
+
1739
+ if (this._isTransitioning) {
1740
+ throw new Error('Modal is transitioning');
1741
+ }
1742
+
1743
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
1744
+ this._isTransitioning = true;
1745
+ }
1746
+ var showEvent = $.Event(Event.SHOW, {
1747
+ relatedTarget: relatedTarget
1748
+ });
1749
+
1750
+ $(this._element).trigger(showEvent);
1751
+
1752
+ if (this._isShown || showEvent.isDefaultPrevented()) {
1753
+ return;
1754
+ }
1755
+
1756
+ this._isShown = true;
1757
+
1758
+ this._checkScrollbar();
1759
+ this._setScrollbar();
1760
+
1761
+ $(document.body).addClass(ClassName.OPEN);
1762
+
1763
+ this._setEscapeEvent();
1764
+ this._setResizeEvent();
1765
+
1766
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
1767
+ return _this9.hide(event);
1768
+ });
1769
+
1770
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
1771
+ $(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
1772
+ if ($(event.target).is(_this9._element)) {
1773
+ _this9._ignoreBackdropClick = true;
1774
+ }
1775
+ });
1776
+ });
1777
+
1778
+ this._showBackdrop(function () {
1779
+ return _this9._showElement(relatedTarget);
1780
+ });
1781
+ };
1782
+
1783
+ Modal.prototype.hide = function hide(event) {
1784
+ var _this10 = this;
1785
+
1786
+ if (event) {
1787
+ event.preventDefault();
1788
+ }
1789
+
1790
+ if (this._isTransitioning) {
1791
+ throw new Error('Modal is transitioning');
1792
+ }
1793
+
1794
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
1795
+ if (transition) {
1796
+ this._isTransitioning = true;
1797
+ }
1798
+
1799
+ var hideEvent = $.Event(Event.HIDE);
1800
+ $(this._element).trigger(hideEvent);
1801
+
1802
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
1803
+ return;
1804
+ }
1805
+
1806
+ this._isShown = false;
1807
+
1808
+ this._setEscapeEvent();
1809
+ this._setResizeEvent();
1810
+
1811
+ $(document).off(Event.FOCUSIN);
1812
+
1813
+ $(this._element).removeClass(ClassName.SHOW);
1814
+
1815
+ $(this._element).off(Event.CLICK_DISMISS);
1816
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
1817
+
1818
+ if (transition) {
1819
+ $(this._element).one(Util.TRANSITION_END, function (event) {
1820
+ return _this10._hideModal(event);
1821
+ }).emulateTransitionEnd(TRANSITION_DURATION);
1822
+ } else {
1823
+ this._hideModal();
1824
+ }
1825
+ };
1826
+
1827
+ Modal.prototype.dispose = function dispose() {
1828
+ $.removeData(this._element, DATA_KEY);
1829
+
1830
+ $(window, document, this._element, this._backdrop).off(EVENT_KEY);
1831
+
1832
+ this._config = null;
1833
+ this._element = null;
1834
+ this._dialog = null;
1835
+ this._backdrop = null;
1836
+ this._isShown = null;
1837
+ this._isBodyOverflowing = null;
1838
+ this._ignoreBackdropClick = null;
1839
+ this._originalBodyPadding = null;
1840
+ this._scrollbarWidth = null;
1841
+ };
1842
+
1843
+ // private
1844
+
1845
+ Modal.prototype._getConfig = function _getConfig(config) {
1846
+ config = $.extend({}, Default, config);
1847
+ Util.typeCheckConfig(NAME, config, DefaultType);
1848
+ return config;
1849
+ };
1850
+
1851
+ Modal.prototype._showElement = function _showElement(relatedTarget) {
1852
+ var _this11 = this;
1853
+
1854
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
1855
+
1856
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
1857
+ // don't move modals dom position
1858
+ document.body.appendChild(this._element);
1859
+ }
1860
+
1861
+ this._element.style.display = 'block';
1862
+ this._element.removeAttribute('aria-hidden');
1863
+ this._element.scrollTop = 0;
1864
+
1865
+ if (transition) {
1866
+ Util.reflow(this._element);
1867
+ }
1868
+
1869
+ $(this._element).addClass(ClassName.SHOW);
1870
+
1871
+ if (this._config.focus) {
1872
+ this._enforceFocus();
1873
+ }
1874
+
1875
+ var shownEvent = $.Event(Event.SHOWN, {
1876
+ relatedTarget: relatedTarget
1877
+ });
1878
+
1879
+ var transitionComplete = function transitionComplete() {
1880
+ if (_this11._config.focus) {
1881
+ _this11._element.focus();
1882
+ }
1883
+ _this11._isTransitioning = false;
1884
+ $(_this11._element).trigger(shownEvent);
1885
+ };
1886
+
1887
+ if (transition) {
1888
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
1889
+ } else {
1890
+ transitionComplete();
1891
+ }
1892
+ };
1893
+
1894
+ Modal.prototype._enforceFocus = function _enforceFocus() {
1895
+ var _this12 = this;
1896
+
1897
+ $(document).off(Event.FOCUSIN) // guard against infinite focus loop
1898
+ .on(Event.FOCUSIN, function (event) {
1899
+ if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
1900
+ _this12._element.focus();
1901
+ }
1902
+ });
1903
+ };
1904
+
1905
+ Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
1906
+ var _this13 = this;
1907
+
1908
+ if (this._isShown && this._config.keyboard) {
1909
+ $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
1910
+ if (event.which === ESCAPE_KEYCODE) {
1911
+ _this13.hide();
1912
+ }
1913
+ });
1914
+ } else if (!this._isShown) {
1915
+ $(this._element).off(Event.KEYDOWN_DISMISS);
1916
+ }
1917
+ };
1918
+
1919
+ Modal.prototype._setResizeEvent = function _setResizeEvent() {
1920
+ var _this14 = this;
1921
+
1922
+ if (this._isShown) {
1923
+ $(window).on(Event.RESIZE, function (event) {
1924
+ return _this14._handleUpdate(event);
1925
+ });
1926
+ } else {
1927
+ $(window).off(Event.RESIZE);
1928
+ }
1929
+ };
1930
+
1931
+ Modal.prototype._hideModal = function _hideModal() {
1932
+ var _this15 = this;
1933
+
1934
+ this._element.style.display = 'none';
1935
+ this._element.setAttribute('aria-hidden', 'true');
1936
+ this._isTransitioning = false;
1937
+ this._showBackdrop(function () {
1938
+ $(document.body).removeClass(ClassName.OPEN);
1939
+ _this15._resetAdjustments();
1940
+ _this15._resetScrollbar();
1941
+ $(_this15._element).trigger(Event.HIDDEN);
1942
+ });
1943
+ };
1944
+
1945
+ Modal.prototype._removeBackdrop = function _removeBackdrop() {
1946
+ if (this._backdrop) {
1947
+ $(this._backdrop).remove();
1948
+ this._backdrop = null;
1949
+ }
1950
+ };
1951
+
1952
+ Modal.prototype._showBackdrop = function _showBackdrop(callback) {
1953
+ var _this16 = this;
1954
+
1955
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
1956
+
1957
+ if (this._isShown && this._config.backdrop) {
1958
+ var doAnimate = Util.supportsTransitionEnd() && animate;
1959
+
1960
+ this._backdrop = document.createElement('div');
1961
+ this._backdrop.className = ClassName.BACKDROP;
1962
+
1963
+ if (animate) {
1964
+ $(this._backdrop).addClass(animate);
1965
+ }
1966
+
1967
+ $(this._backdrop).appendTo(document.body);
1968
+
1969
+ $(this._element).on(Event.CLICK_DISMISS, function (event) {
1970
+ if (_this16._ignoreBackdropClick) {
1971
+ _this16._ignoreBackdropClick = false;
1972
+ return;
1973
+ }
1974
+ if (event.target !== event.currentTarget) {
1975
+ return;
1976
+ }
1977
+ if (_this16._config.backdrop === 'static') {
1978
+ _this16._element.focus();
1979
+ } else {
1980
+ _this16.hide();
1981
+ }
1982
+ });
1983
+
1984
+ if (doAnimate) {
1985
+ Util.reflow(this._backdrop);
1986
+ }
1987
+
1988
+ $(this._backdrop).addClass(ClassName.SHOW);
1989
+
1990
+ if (!callback) {
1991
+ return;
1992
+ }
1993
+
1994
+ if (!doAnimate) {
1995
+ callback();
1996
+ return;
1997
+ }
1998
+
1999
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
2000
+ } else if (!this._isShown && this._backdrop) {
2001
+ $(this._backdrop).removeClass(ClassName.SHOW);
2002
+
2003
+ var callbackRemove = function callbackRemove() {
2004
+ _this16._removeBackdrop();
2005
+ if (callback) {
2006
+ callback();
2007
+ }
2008
+ };
2009
+
2010
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
2011
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
2012
+ } else {
2013
+ callbackRemove();
2014
+ }
2015
+ } else if (callback) {
2016
+ callback();
2017
+ }
2018
+ };
2019
+
2020
+ // ----------------------------------------------------------------------
2021
+ // the following methods are used to handle overflowing modals
2022
+ // todo (fat): these should probably be refactored out of modal.js
2023
+ // ----------------------------------------------------------------------
2024
+
2025
+ Modal.prototype._handleUpdate = function _handleUpdate() {
2026
+ this._adjustDialog();
2027
+ };
2028
+
2029
+ Modal.prototype._adjustDialog = function _adjustDialog() {
2030
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
2031
+
2032
+ if (!this._isBodyOverflowing && isModalOverflowing) {
2033
+ this._element.style.paddingLeft = this._scrollbarWidth + 'px';
2034
+ }
2035
+
2036
+ if (this._isBodyOverflowing && !isModalOverflowing) {
2037
+ this._element.style.paddingRight = this._scrollbarWidth + 'px';
2038
+ }
2039
+ };
2040
+
2041
+ Modal.prototype._resetAdjustments = function _resetAdjustments() {
2042
+ this._element.style.paddingLeft = '';
2043
+ this._element.style.paddingRight = '';
2044
+ };
2045
+
2046
+ Modal.prototype._checkScrollbar = function _checkScrollbar() {
2047
+ this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
2048
+ this._scrollbarWidth = this._getScrollbarWidth();
2049
+ };
2050
+
2051
+ Modal.prototype._setScrollbar = function _setScrollbar() {
2052
+ var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
2053
+
2054
+ this._originalBodyPadding = document.body.style.paddingRight || '';
2055
+
2056
+ if (this._isBodyOverflowing) {
2057
+ document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
2058
+ }
2059
+ };
2060
+
2061
+ Modal.prototype._resetScrollbar = function _resetScrollbar() {
2062
+ document.body.style.paddingRight = this._originalBodyPadding;
2063
+ };
2064
+
2065
+ Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
2066
+ // thx d.walsh
2067
+ var scrollDiv = document.createElement('div');
2068
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
2069
+ document.body.appendChild(scrollDiv);
2070
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
2071
+ document.body.removeChild(scrollDiv);
2072
+ return scrollbarWidth;
2073
+ };
2074
+
2075
+ // static
2076
+
2077
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
2078
+ return this.each(function () {
2079
+ var data = $(this).data(DATA_KEY);
2080
+ var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
2081
+
2082
+ if (!data) {
2083
+ data = new Modal(this, _config);
2084
+ $(this).data(DATA_KEY, data);
2085
+ }
2086
+
2087
+ if (typeof config === 'string') {
2088
+ if (data[config] === undefined) {
2089
+ throw new Error('No method named "' + config + '"');
2090
+ }
2091
+ data[config](relatedTarget);
2092
+ } else if (_config.show) {
2093
+ data.show(relatedTarget);
2094
+ }
2095
+ });
2096
+ };
2097
+
2098
+ _createClass(Modal, null, [{
2099
+ key: 'VERSION',
2100
+ get: function get() {
2101
+ return VERSION;
2102
+ }
2103
+ }, {
2104
+ key: 'Default',
2105
+ get: function get() {
2106
+ return Default;
2107
+ }
2108
+ }]);
2109
+
2110
+ return Modal;
2111
+ }();
2112
+
2113
+ /**
2114
+ * ------------------------------------------------------------------------
2115
+ * Data Api implementation
2116
+ * ------------------------------------------------------------------------
2117
+ */
2118
+
2119
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
2120
+ var _this17 = this;
2121
+
2122
+ var target = void 0;
2123
+ var selector = Util.getSelectorFromElement(this);
2124
+
2125
+ if (selector) {
2126
+ target = $(selector)[0];
2127
+ }
2128
+
2129
+ var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
2130
+
2131
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
2132
+ event.preventDefault();
2133
+ }
2134
+
2135
+ var $target = $(target).one(Event.SHOW, function (showEvent) {
2136
+ if (showEvent.isDefaultPrevented()) {
2137
+ // only register focus restorer if modal will actually get shown
2138
+ return;
2139
+ }
2140
+
2141
+ $target.one(Event.HIDDEN, function () {
2142
+ if ($(_this17).is(':visible')) {
2143
+ _this17.focus();
2144
+ }
2145
+ });
2146
+ });
2147
+
2148
+ Modal._jQueryInterface.call($(target), config, this);
2149
+ });
2150
+
2151
+ /**
2152
+ * ------------------------------------------------------------------------
2153
+ * jQuery
2154
+ * ------------------------------------------------------------------------
2155
+ */
2156
+
2157
+ $.fn[NAME] = Modal._jQueryInterface;
2158
+ $.fn[NAME].Constructor = Modal;
2159
+ $.fn[NAME].noConflict = function () {
2160
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
2161
+ return Modal._jQueryInterface;
2162
+ };
2163
+
2164
+ return Modal;
2165
+ }(jQuery);
2166
+
2167
+ /**
2168
+ * --------------------------------------------------------------------------
2169
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
2170
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2171
+ * --------------------------------------------------------------------------
2172
+ */
2173
+
2174
+ var ScrollSpy = function ($) {
2175
+
2176
+ /**
2177
+ * ------------------------------------------------------------------------
2178
+ * Constants
2179
+ * ------------------------------------------------------------------------
2180
+ */
2181
+
2182
+ var NAME = 'scrollspy';
2183
+ var VERSION = '4.0.0-alpha.6';
2184
+ var DATA_KEY = 'bs.scrollspy';
2185
+ var EVENT_KEY = '.' + DATA_KEY;
2186
+ var DATA_API_KEY = '.data-api';
2187
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
2188
+
2189
+ var Default = {
2190
+ offset: 10,
2191
+ method: 'auto',
2192
+ target: ''
2193
+ };
2194
+
2195
+ var DefaultType = {
2196
+ offset: 'number',
2197
+ method: 'string',
2198
+ target: '(string|element)'
2199
+ };
2200
+
2201
+ var Event = {
2202
+ ACTIVATE: 'activate' + EVENT_KEY,
2203
+ SCROLL: 'scroll' + EVENT_KEY,
2204
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
2205
+ };
2206
+
2207
+ var ClassName = {
2208
+ DROPDOWN_ITEM: 'dropdown-item',
2209
+ DROPDOWN_MENU: 'dropdown-menu',
2210
+ NAV_LINK: 'nav-link',
2211
+ NAV: 'nav',
2212
+ ACTIVE: 'active'
2213
+ };
2214
+
2215
+ var Selector = {
2216
+ DATA_SPY: '[data-spy="scroll"]',
2217
+ ACTIVE: '.active',
2218
+ LIST_ITEM: '.list-item',
2219
+ LI: 'li',
2220
+ LI_DROPDOWN: 'li.dropdown',
2221
+ NAV_LINKS: '.nav-link',
2222
+ DROPDOWN: '.dropdown',
2223
+ DROPDOWN_ITEMS: '.dropdown-item',
2224
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
2225
+ };
2226
+
2227
+ var OffsetMethod = {
2228
+ OFFSET: 'offset',
2229
+ POSITION: 'position'
2230
+ };
2231
+
2232
+ /**
2233
+ * ------------------------------------------------------------------------
2234
+ * Class Definition
2235
+ * ------------------------------------------------------------------------
2236
+ */
2237
+
2238
+ var ScrollSpy = function () {
2239
+ function ScrollSpy(element, config) {
2240
+ var _this18 = this;
2241
+
2242
+ _classCallCheck(this, ScrollSpy);
2243
+
2244
+ this._element = element;
2245
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
2246
+ this._config = this._getConfig(config);
2247
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
2248
+ this._offsets = [];
2249
+ this._targets = [];
2250
+ this._activeTarget = null;
2251
+ this._scrollHeight = 0;
2252
+
2253
+ $(this._scrollElement).on(Event.SCROLL, function (event) {
2254
+ return _this18._process(event);
2255
+ });
2256
+
2257
+ this.refresh();
2258
+ this._process();
2259
+ }
2260
+
2261
+ // getters
2262
+
2263
+ // public
2264
+
2265
+ ScrollSpy.prototype.refresh = function refresh() {
2266
+ var _this19 = this;
2267
+
2268
+ var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
2269
+
2270
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
2271
+
2272
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
2273
+
2274
+ this._offsets = [];
2275
+ this._targets = [];
2276
+
2277
+ this._scrollHeight = this._getScrollHeight();
2278
+
2279
+ var targets = $.makeArray($(this._selector));
2280
+
2281
+ targets.map(function (element) {
2282
+ var target = void 0;
2283
+ var targetSelector = Util.getSelectorFromElement(element);
2284
+
2285
+ if (targetSelector) {
2286
+ target = $(targetSelector)[0];
2287
+ }
2288
+
2289
+ if (target && (target.offsetWidth || target.offsetHeight)) {
2290
+ // todo (fat): remove sketch reliance on jQuery position/offset
2291
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
2292
+ }
2293
+ return null;
2294
+ }).filter(function (item) {
2295
+ return item;
2296
+ }).sort(function (a, b) {
2297
+ return a[0] - b[0];
2298
+ }).forEach(function (item) {
2299
+ _this19._offsets.push(item[0]);
2300
+ _this19._targets.push(item[1]);
2301
+ });
2302
+ };
2303
+
2304
+ ScrollSpy.prototype.dispose = function dispose() {
2305
+ $.removeData(this._element, DATA_KEY);
2306
+ $(this._scrollElement).off(EVENT_KEY);
2307
+
2308
+ this._element = null;
2309
+ this._scrollElement = null;
2310
+ this._config = null;
2311
+ this._selector = null;
2312
+ this._offsets = null;
2313
+ this._targets = null;
2314
+ this._activeTarget = null;
2315
+ this._scrollHeight = null;
2316
+ };
2317
+
2318
+ // private
2319
+
2320
+ ScrollSpy.prototype._getConfig = function _getConfig(config) {
2321
+ config = $.extend({}, Default, config);
2322
+
2323
+ if (typeof config.target !== 'string') {
2324
+ var id = $(config.target).attr('id');
2325
+ if (!id) {
2326
+ id = Util.getUID(NAME);
2327
+ $(config.target).attr('id', id);
2328
+ }
2329
+ config.target = '#' + id;
2330
+ }
2331
+
2332
+ Util.typeCheckConfig(NAME, config, DefaultType);
2333
+
2334
+ return config;
2335
+ };
2336
+
2337
+ ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
2338
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
2339
+ };
2340
+
2341
+ ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
2342
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
2343
+ };
2344
+
2345
+ ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
2346
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
2347
+ };
2348
+
2349
+ ScrollSpy.prototype._process = function _process() {
2350
+ var scrollTop = this._getScrollTop() + this._config.offset;
2351
+ var scrollHeight = this._getScrollHeight();
2352
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
2353
+
2354
+ if (this._scrollHeight !== scrollHeight) {
2355
+ this.refresh();
2356
+ }
2357
+
2358
+ if (scrollTop >= maxScroll) {
2359
+ var target = this._targets[this._targets.length - 1];
2360
+
2361
+ if (this._activeTarget !== target) {
2362
+ this._activate(target);
2363
+ }
2364
+ return;
2365
+ }
2366
+
2367
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
2368
+ this._activeTarget = null;
2369
+ this._clear();
2370
+ return;
2371
+ }
2372
+
2373
+ for (var i = this._offsets.length; i--;) {
2374
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
2375
+
2376
+ if (isActiveTarget) {
2377
+ this._activate(this._targets[i]);
2378
+ }
2379
+ }
2380
+ };
2381
+
2382
+ ScrollSpy.prototype._activate = function _activate(target) {
2383
+ this._activeTarget = target;
2384
+
2385
+ this._clear();
2386
+
2387
+ var queries = this._selector.split(',');
2388
+ queries = queries.map(function (selector) {
2389
+ return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
2390
+ });
2391
+
2392
+ var $link = $(queries.join(','));
2393
+
2394
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
2395
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
2396
+ $link.addClass(ClassName.ACTIVE);
2397
+ } else {
2398
+ // todo (fat) this is kinda sus...
2399
+ // recursively add actives to tested nav-links
2400
+ $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
2401
+ }
2402
+
2403
+ $(this._scrollElement).trigger(Event.ACTIVATE, {
2404
+ relatedTarget: target
2405
+ });
2406
+ };
2407
+
2408
+ ScrollSpy.prototype._clear = function _clear() {
2409
+ $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
2410
+ };
2411
+
2412
+ // static
2413
+
2414
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
2415
+ return this.each(function () {
2416
+ var data = $(this).data(DATA_KEY);
2417
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
2418
+
2419
+ if (!data) {
2420
+ data = new ScrollSpy(this, _config);
2421
+ $(this).data(DATA_KEY, data);
2422
+ }
2423
+
2424
+ if (typeof config === 'string') {
2425
+ if (data[config] === undefined) {
2426
+ throw new Error('No method named "' + config + '"');
2427
+ }
2428
+ data[config]();
2429
+ }
2430
+ });
2431
+ };
2432
+
2433
+ _createClass(ScrollSpy, null, [{
2434
+ key: 'VERSION',
2435
+ get: function get() {
2436
+ return VERSION;
2437
+ }
2438
+ }, {
2439
+ key: 'Default',
2440
+ get: function get() {
2441
+ return Default;
2442
+ }
2443
+ }]);
2444
+
2445
+ return ScrollSpy;
2446
+ }();
2447
+
2448
+ /**
2449
+ * ------------------------------------------------------------------------
2450
+ * Data Api implementation
2451
+ * ------------------------------------------------------------------------
2452
+ */
2453
+
2454
+ $(window).on(Event.LOAD_DATA_API, function () {
2455
+ var scrollSpys = $.makeArray($(Selector.DATA_SPY));
2456
+
2457
+ for (var i = scrollSpys.length; i--;) {
2458
+ var $spy = $(scrollSpys[i]);
2459
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
2460
+ }
2461
+ });
2462
+
2463
+ /**
2464
+ * ------------------------------------------------------------------------
2465
+ * jQuery
2466
+ * ------------------------------------------------------------------------
2467
+ */
2468
+
2469
+ $.fn[NAME] = ScrollSpy._jQueryInterface;
2470
+ $.fn[NAME].Constructor = ScrollSpy;
2471
+ $.fn[NAME].noConflict = function () {
2472
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
2473
+ return ScrollSpy._jQueryInterface;
2474
+ };
2475
+
2476
+ return ScrollSpy;
2477
+ }(jQuery);
2478
+
2479
+ /**
2480
+ * --------------------------------------------------------------------------
2481
+ * Bootstrap (v4.0.0-alpha.6): tab.js
2482
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2483
+ * --------------------------------------------------------------------------
2484
+ */
2485
+
2486
+ var Tab = function ($) {
2487
+
2488
+ /**
2489
+ * ------------------------------------------------------------------------
2490
+ * Constants
2491
+ * ------------------------------------------------------------------------
2492
+ */
2493
+
2494
+ var NAME = 'tab';
2495
+ var VERSION = '4.0.0-alpha.6';
2496
+ var DATA_KEY = 'bs.tab';
2497
+ var EVENT_KEY = '.' + DATA_KEY;
2498
+ var DATA_API_KEY = '.data-api';
2499
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
2500
+ var TRANSITION_DURATION = 150;
2501
+
2502
+ var Event = {
2503
+ HIDE: 'hide' + EVENT_KEY,
2504
+ HIDDEN: 'hidden' + EVENT_KEY,
2505
+ SHOW: 'show' + EVENT_KEY,
2506
+ SHOWN: 'shown' + EVENT_KEY,
2507
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
2508
+ };
2509
+
2510
+ var ClassName = {
2511
+ DROPDOWN_MENU: 'dropdown-menu',
2512
+ ACTIVE: 'active',
2513
+ DISABLED: 'disabled',
2514
+ FADE: 'fade',
2515
+ SHOW: 'show'
2516
+ };
2517
+
2518
+ var Selector = {
2519
+ A: 'a',
2520
+ LI: 'li',
2521
+ DROPDOWN: '.dropdown',
2522
+ LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
2523
+ FADE_CHILD: '> .nav-item .fade, > .fade',
2524
+ ACTIVE: '.active',
2525
+ ACTIVE_CHILD: '> .nav-item > .active, > .active',
2526
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
2527
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
2528
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
2529
+ };
2530
+
2531
+ /**
2532
+ * ------------------------------------------------------------------------
2533
+ * Class Definition
2534
+ * ------------------------------------------------------------------------
2535
+ */
2536
+
2537
+ var Tab = function () {
2538
+ function Tab(element) {
2539
+ _classCallCheck(this, Tab);
2540
+
2541
+ this._element = element;
2542
+ }
2543
+
2544
+ // getters
2545
+
2546
+ // public
2547
+
2548
+ Tab.prototype.show = function show() {
2549
+ var _this20 = this;
2550
+
2551
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
2552
+ return;
2553
+ }
2554
+
2555
+ var target = void 0;
2556
+ var previous = void 0;
2557
+ var listElement = $(this._element).closest(Selector.LIST)[0];
2558
+ var selector = Util.getSelectorFromElement(this._element);
2559
+
2560
+ if (listElement) {
2561
+ previous = $.makeArray($(listElement).find(Selector.ACTIVE));
2562
+ previous = previous[previous.length - 1];
2563
+ }
2564
+
2565
+ var hideEvent = $.Event(Event.HIDE, {
2566
+ relatedTarget: this._element
2567
+ });
2568
+
2569
+ var showEvent = $.Event(Event.SHOW, {
2570
+ relatedTarget: previous
2571
+ });
2572
+
2573
+ if (previous) {
2574
+ $(previous).trigger(hideEvent);
2575
+ }
2576
+
2577
+ $(this._element).trigger(showEvent);
2578
+
2579
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
2580
+ return;
2581
+ }
2582
+
2583
+ if (selector) {
2584
+ target = $(selector)[0];
2585
+ }
2586
+
2587
+ this._activate(this._element, listElement);
2588
+
2589
+ var complete = function complete() {
2590
+ var hiddenEvent = $.Event(Event.HIDDEN, {
2591
+ relatedTarget: _this20._element
2592
+ });
2593
+
2594
+ var shownEvent = $.Event(Event.SHOWN, {
2595
+ relatedTarget: previous
2596
+ });
2597
+
2598
+ $(previous).trigger(hiddenEvent);
2599
+ $(_this20._element).trigger(shownEvent);
2600
+ };
2601
+
2602
+ if (target) {
2603
+ this._activate(target, target.parentNode, complete);
2604
+ } else {
2605
+ complete();
2606
+ }
2607
+ };
2608
+
2609
+ Tab.prototype.dispose = function dispose() {
2610
+ $.removeClass(this._element, DATA_KEY);
2611
+ this._element = null;
2612
+ };
2613
+
2614
+ // private
2615
+
2616
+ Tab.prototype._activate = function _activate(element, container, callback) {
2617
+ var _this21 = this;
2618
+
2619
+ var active = $(container).find(Selector.ACTIVE_CHILD)[0];
2620
+ var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
2621
+
2622
+ var complete = function complete() {
2623
+ return _this21._transitionComplete(element, active, isTransitioning, callback);
2624
+ };
2625
+
2626
+ if (active && isTransitioning) {
2627
+ $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
2628
+ } else {
2629
+ complete();
2630
+ }
2631
+
2632
+ if (active) {
2633
+ $(active).removeClass(ClassName.SHOW);
2634
+ }
2635
+ };
2636
+
2637
+ Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
2638
+ if (active) {
2639
+ $(active).removeClass(ClassName.ACTIVE);
2640
+
2641
+ var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
2642
+
2643
+ if (dropdownChild) {
2644
+ $(dropdownChild).removeClass(ClassName.ACTIVE);
2645
+ }
2646
+
2647
+ active.setAttribute('aria-expanded', false);
2648
+ }
2649
+
2650
+ $(element).addClass(ClassName.ACTIVE);
2651
+ element.setAttribute('aria-expanded', true);
2652
+
2653
+ if (isTransitioning) {
2654
+ Util.reflow(element);
2655
+ $(element).addClass(ClassName.SHOW);
2656
+ } else {
2657
+ $(element).removeClass(ClassName.FADE);
2658
+ }
2659
+
2660
+ if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
2661
+
2662
+ var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
2663
+ if (dropdownElement) {
2664
+ $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
2665
+ }
2666
+
2667
+ element.setAttribute('aria-expanded', true);
2668
+ }
2669
+
2670
+ if (callback) {
2671
+ callback();
2672
+ }
2673
+ };
2674
+
2675
+ // static
2676
+
2677
+ Tab._jQueryInterface = function _jQueryInterface(config) {
2678
+ return this.each(function () {
2679
+ var $this = $(this);
2680
+ var data = $this.data(DATA_KEY);
2681
+
2682
+ if (!data) {
2683
+ data = new Tab(this);
2684
+ $this.data(DATA_KEY, data);
2685
+ }
2686
+
2687
+ if (typeof config === 'string') {
2688
+ if (data[config] === undefined) {
2689
+ throw new Error('No method named "' + config + '"');
2690
+ }
2691
+ data[config]();
2692
+ }
2693
+ });
2694
+ };
2695
+
2696
+ _createClass(Tab, null, [{
2697
+ key: 'VERSION',
2698
+ get: function get() {
2699
+ return VERSION;
2700
+ }
2701
+ }]);
2702
+
2703
+ return Tab;
2704
+ }();
2705
+
2706
+ /**
2707
+ * ------------------------------------------------------------------------
2708
+ * Data Api implementation
2709
+ * ------------------------------------------------------------------------
2710
+ */
2711
+
2712
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
2713
+ event.preventDefault();
2714
+ Tab._jQueryInterface.call($(this), 'show');
2715
+ });
2716
+
2717
+ /**
2718
+ * ------------------------------------------------------------------------
2719
+ * jQuery
2720
+ * ------------------------------------------------------------------------
2721
+ */
2722
+
2723
+ $.fn[NAME] = Tab._jQueryInterface;
2724
+ $.fn[NAME].Constructor = Tab;
2725
+ $.fn[NAME].noConflict = function () {
2726
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
2727
+ return Tab._jQueryInterface;
2728
+ };
2729
+
2730
+ return Tab;
2731
+ }(jQuery);
2732
+
2733
+ /* global Tether */
2734
+
2735
+ /**
2736
+ * --------------------------------------------------------------------------
2737
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
2738
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2739
+ * --------------------------------------------------------------------------
2740
+ */
2741
+
2742
+ var Tooltip = function ($) {
2743
+
2744
+ /**
2745
+ * Check for Tether dependency
2746
+ * Tether - http://tether.io/
2747
+ */
2748
+ if (typeof Tether === 'undefined') {
2749
+ throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
2750
+ }
2751
+
2752
+ /**
2753
+ * ------------------------------------------------------------------------
2754
+ * Constants
2755
+ * ------------------------------------------------------------------------
2756
+ */
2757
+
2758
+ var NAME = 'tooltip';
2759
+ var VERSION = '4.0.0-alpha.6';
2760
+ var DATA_KEY = 'bs.tooltip';
2761
+ var EVENT_KEY = '.' + DATA_KEY;
2762
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
2763
+ var TRANSITION_DURATION = 150;
2764
+ var CLASS_PREFIX = 'bs-tether';
2765
+
2766
+ var Default = {
2767
+ animation: true,
2768
+ template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
2769
+ trigger: 'hover focus',
2770
+ title: '',
2771
+ delay: 0,
2772
+ html: false,
2773
+ selector: false,
2774
+ placement: 'top',
2775
+ offset: '0 0',
2776
+ constraints: [],
2777
+ container: false
2778
+ };
2779
+
2780
+ var DefaultType = {
2781
+ animation: 'boolean',
2782
+ template: 'string',
2783
+ title: '(string|element|function)',
2784
+ trigger: 'string',
2785
+ delay: '(number|object)',
2786
+ html: 'boolean',
2787
+ selector: '(string|boolean)',
2788
+ placement: '(string|function)',
2789
+ offset: 'string',
2790
+ constraints: 'array',
2791
+ container: '(string|element|boolean)'
2792
+ };
2793
+
2794
+ var AttachmentMap = {
2795
+ TOP: 'bottom center',
2796
+ RIGHT: 'middle left',
2797
+ BOTTOM: 'top center',
2798
+ LEFT: 'middle right'
2799
+ };
2800
+
2801
+ var HoverState = {
2802
+ SHOW: 'show',
2803
+ OUT: 'out'
2804
+ };
2805
+
2806
+ var Event = {
2807
+ HIDE: 'hide' + EVENT_KEY,
2808
+ HIDDEN: 'hidden' + EVENT_KEY,
2809
+ SHOW: 'show' + EVENT_KEY,
2810
+ SHOWN: 'shown' + EVENT_KEY,
2811
+ INSERTED: 'inserted' + EVENT_KEY,
2812
+ CLICK: 'click' + EVENT_KEY,
2813
+ FOCUSIN: 'focusin' + EVENT_KEY,
2814
+ FOCUSOUT: 'focusout' + EVENT_KEY,
2815
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
2816
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
2817
+ };
2818
+
2819
+ var ClassName = {
2820
+ FADE: 'fade',
2821
+ SHOW: 'show'
2822
+ };
2823
+
2824
+ var Selector = {
2825
+ TOOLTIP: '.tooltip',
2826
+ TOOLTIP_INNER: '.tooltip-inner'
2827
+ };
2828
+
2829
+ var TetherClass = {
2830
+ element: false,
2831
+ enabled: false
2832
+ };
2833
+
2834
+ var Trigger = {
2835
+ HOVER: 'hover',
2836
+ FOCUS: 'focus',
2837
+ CLICK: 'click',
2838
+ MANUAL: 'manual'
2839
+ };
2840
+
2841
+ /**
2842
+ * ------------------------------------------------------------------------
2843
+ * Class Definition
2844
+ * ------------------------------------------------------------------------
2845
+ */
2846
+
2847
+ var Tooltip = function () {
2848
+ function Tooltip(element, config) {
2849
+ _classCallCheck(this, Tooltip);
2850
+
2851
+ // private
2852
+ this._isEnabled = true;
2853
+ this._timeout = 0;
2854
+ this._hoverState = '';
2855
+ this._activeTrigger = {};
2856
+ this._isTransitioning = false;
2857
+ this._tether = null;
2858
+
2859
+ // protected
2860
+ this.element = element;
2861
+ this.config = this._getConfig(config);
2862
+ this.tip = null;
2863
+
2864
+ this._setListeners();
2865
+ }
2866
+
2867
+ // getters
2868
+
2869
+ // public
2870
+
2871
+ Tooltip.prototype.enable = function enable() {
2872
+ this._isEnabled = true;
2873
+ };
2874
+
2875
+ Tooltip.prototype.disable = function disable() {
2876
+ this._isEnabled = false;
2877
+ };
2878
+
2879
+ Tooltip.prototype.toggleEnabled = function toggleEnabled() {
2880
+ this._isEnabled = !this._isEnabled;
2881
+ };
2882
+
2883
+ Tooltip.prototype.toggle = function toggle(event) {
2884
+ if (event) {
2885
+ var dataKey = this.constructor.DATA_KEY;
2886
+ var context = $(event.currentTarget).data(dataKey);
2887
+
2888
+ if (!context) {
2889
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
2890
+ $(event.currentTarget).data(dataKey, context);
2891
+ }
2892
+
2893
+ context._activeTrigger.click = !context._activeTrigger.click;
2894
+
2895
+ if (context._isWithActiveTrigger()) {
2896
+ context._enter(null, context);
2897
+ } else {
2898
+ context._leave(null, context);
2899
+ }
2900
+ } else {
2901
+
2902
+ if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
2903
+ this._leave(null, this);
2904
+ return;
2905
+ }
2906
+
2907
+ this._enter(null, this);
2908
+ }
2909
+ };
2910
+
2911
+ Tooltip.prototype.dispose = function dispose() {
2912
+ clearTimeout(this._timeout);
2913
+
2914
+ this.cleanupTether();
2915
+
2916
+ $.removeData(this.element, this.constructor.DATA_KEY);
2917
+
2918
+ $(this.element).off(this.constructor.EVENT_KEY);
2919
+ $(this.element).closest('.modal').off('hide.bs.modal');
2920
+
2921
+ if (this.tip) {
2922
+ $(this.tip).remove();
2923
+ }
2924
+
2925
+ this._isEnabled = null;
2926
+ this._timeout = null;
2927
+ this._hoverState = null;
2928
+ this._activeTrigger = null;
2929
+ this._tether = null;
2930
+
2931
+ this.element = null;
2932
+ this.config = null;
2933
+ this.tip = null;
2934
+ };
2935
+
2936
+ Tooltip.prototype.show = function show() {
2937
+ var _this22 = this;
2938
+
2939
+ if ($(this.element).css('display') === 'none') {
2940
+ throw new Error('Please use show on visible elements');
2941
+ }
2942
+
2943
+ var showEvent = $.Event(this.constructor.Event.SHOW);
2944
+ if (this.isWithContent() && this._isEnabled) {
2945
+ if (this._isTransitioning) {
2946
+ throw new Error('Tooltip is transitioning');
2947
+ }
2948
+ $(this.element).trigger(showEvent);
2949
+
2950
+ var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
2951
+
2952
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
2953
+ return;
2954
+ }
2955
+
2956
+ var tip = this.getTipElement();
2957
+ var tipId = Util.getUID(this.constructor.NAME);
2958
+
2959
+ tip.setAttribute('id', tipId);
2960
+ this.element.setAttribute('aria-describedby', tipId);
2961
+
2962
+ this.setContent();
2963
+
2964
+ if (this.config.animation) {
2965
+ $(tip).addClass(ClassName.FADE);
2966
+ }
2967
+
2968
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
2969
+
2970
+ var attachment = this._getAttachment(placement);
2971
+
2972
+ var container = this.config.container === false ? document.body : $(this.config.container);
2973
+
2974
+ $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
2975
+
2976
+ $(this.element).trigger(this.constructor.Event.INSERTED);
2977
+
2978
+ this._tether = new Tether({
2979
+ attachment: attachment,
2980
+ element: tip,
2981
+ target: this.element,
2982
+ classes: TetherClass,
2983
+ classPrefix: CLASS_PREFIX,
2984
+ offset: this.config.offset,
2985
+ constraints: this.config.constraints,
2986
+ addTargetClasses: false
2987
+ });
2988
+
2989
+ Util.reflow(tip);
2990
+ this._tether.position();
2991
+
2992
+ $(tip).addClass(ClassName.SHOW);
2993
+
2994
+ var complete = function complete() {
2995
+ var prevHoverState = _this22._hoverState;
2996
+ _this22._hoverState = null;
2997
+ _this22._isTransitioning = false;
2998
+
2999
+ $(_this22.element).trigger(_this22.constructor.Event.SHOWN);
3000
+
3001
+ if (prevHoverState === HoverState.OUT) {
3002
+ _this22._leave(null, _this22);
3003
+ }
3004
+ };
3005
+
3006
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
3007
+ this._isTransitioning = true;
3008
+ $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
3009
+ return;
3010
+ }
3011
+
3012
+ complete();
3013
+ }
3014
+ };
3015
+
3016
+ Tooltip.prototype.hide = function hide(callback) {
3017
+ var _this23 = this;
3018
+
3019
+ var tip = this.getTipElement();
3020
+ var hideEvent = $.Event(this.constructor.Event.HIDE);
3021
+ if (this._isTransitioning) {
3022
+ throw new Error('Tooltip is transitioning');
3023
+ }
3024
+ var complete = function complete() {
3025
+ if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
3026
+ tip.parentNode.removeChild(tip);
3027
+ }
3028
+
3029
+ _this23.element.removeAttribute('aria-describedby');
3030
+ $(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
3031
+ _this23._isTransitioning = false;
3032
+ _this23.cleanupTether();
3033
+
3034
+ if (callback) {
3035
+ callback();
3036
+ }
3037
+ };
3038
+
3039
+ $(this.element).trigger(hideEvent);
3040
+
3041
+ if (hideEvent.isDefaultPrevented()) {
3042
+ return;
3043
+ }
3044
+
3045
+ $(tip).removeClass(ClassName.SHOW);
3046
+
3047
+ this._activeTrigger[Trigger.CLICK] = false;
3048
+ this._activeTrigger[Trigger.FOCUS] = false;
3049
+ this._activeTrigger[Trigger.HOVER] = false;
3050
+
3051
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
3052
+ this._isTransitioning = true;
3053
+ $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
3054
+ } else {
3055
+ complete();
3056
+ }
3057
+
3058
+ this._hoverState = '';
3059
+ };
3060
+
3061
+ // protected
3062
+
3063
+ Tooltip.prototype.isWithContent = function isWithContent() {
3064
+ return Boolean(this.getTitle());
3065
+ };
3066
+
3067
+ Tooltip.prototype.getTipElement = function getTipElement() {
3068
+ return this.tip = this.tip || $(this.config.template)[0];
3069
+ };
3070
+
3071
+ Tooltip.prototype.setContent = function setContent() {
3072
+ var $tip = $(this.getTipElement());
3073
+
3074
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
3075
+
3076
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
3077
+
3078
+ this.cleanupTether();
3079
+ };
3080
+
3081
+ Tooltip.prototype.setElementContent = function setElementContent($element, content) {
3082
+ var html = this.config.html;
3083
+ if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
3084
+ // content is a DOM node or a jQuery
3085
+ if (html) {
3086
+ if (!$(content).parent().is($element)) {
3087
+ $element.empty().append(content);
3088
+ }
3089
+ } else {
3090
+ $element.text($(content).text());
3091
+ }
3092
+ } else {
3093
+ $element[html ? 'html' : 'text'](content);
3094
+ }
3095
+ };
3096
+
3097
+ Tooltip.prototype.getTitle = function getTitle() {
3098
+ var title = this.element.getAttribute('data-original-title');
3099
+
3100
+ if (!title) {
3101
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
3102
+ }
3103
+
3104
+ return title;
3105
+ };
3106
+
3107
+ Tooltip.prototype.cleanupTether = function cleanupTether() {
3108
+ if (this._tether) {
3109
+ this._tether.destroy();
3110
+ }
3111
+ };
3112
+
3113
+ // private
3114
+
3115
+ Tooltip.prototype._getAttachment = function _getAttachment(placement) {
3116
+ return AttachmentMap[placement.toUpperCase()];
3117
+ };
3118
+
3119
+ Tooltip.prototype._setListeners = function _setListeners() {
3120
+ var _this24 = this;
3121
+
3122
+ var triggers = this.config.trigger.split(' ');
3123
+
3124
+ triggers.forEach(function (trigger) {
3125
+ if (trigger === 'click') {
3126
+ $(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
3127
+ return _this24.toggle(event);
3128
+ });
3129
+ } else if (trigger !== Trigger.MANUAL) {
3130
+ var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
3131
+ var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
3132
+
3133
+ $(_this24.element).on(eventIn, _this24.config.selector, function (event) {
3134
+ return _this24._enter(event);
3135
+ }).on(eventOut, _this24.config.selector, function (event) {
3136
+ return _this24._leave(event);
3137
+ });
3138
+ }
3139
+
3140
+ $(_this24.element).closest('.modal').on('hide.bs.modal', function () {
3141
+ return _this24.hide();
3142
+ });
3143
+ });
3144
+
3145
+ if (this.config.selector) {
3146
+ this.config = $.extend({}, this.config, {
3147
+ trigger: 'manual',
3148
+ selector: ''
3149
+ });
3150
+ } else {
3151
+ this._fixTitle();
3152
+ }
3153
+ };
3154
+
3155
+ Tooltip.prototype._fixTitle = function _fixTitle() {
3156
+ var titleType = _typeof(this.element.getAttribute('data-original-title'));
3157
+ if (this.element.getAttribute('title') || titleType !== 'string') {
3158
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
3159
+ this.element.setAttribute('title', '');
3160
+ }
3161
+ };
3162
+
3163
+ Tooltip.prototype._enter = function _enter(event, context) {
3164
+ var dataKey = this.constructor.DATA_KEY;
3165
+
3166
+ context = context || $(event.currentTarget).data(dataKey);
3167
+
3168
+ if (!context) {
3169
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3170
+ $(event.currentTarget).data(dataKey, context);
3171
+ }
3172
+
3173
+ if (event) {
3174
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
3175
+ }
3176
+
3177
+ if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
3178
+ context._hoverState = HoverState.SHOW;
3179
+ return;
3180
+ }
3181
+
3182
+ clearTimeout(context._timeout);
3183
+
3184
+ context._hoverState = HoverState.SHOW;
3185
+
3186
+ if (!context.config.delay || !context.config.delay.show) {
3187
+ context.show();
3188
+ return;
3189
+ }
3190
+
3191
+ context._timeout = setTimeout(function () {
3192
+ if (context._hoverState === HoverState.SHOW) {
3193
+ context.show();
3194
+ }
3195
+ }, context.config.delay.show);
3196
+ };
3197
+
3198
+ Tooltip.prototype._leave = function _leave(event, context) {
3199
+ var dataKey = this.constructor.DATA_KEY;
3200
+
3201
+ context = context || $(event.currentTarget).data(dataKey);
3202
+
3203
+ if (!context) {
3204
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3205
+ $(event.currentTarget).data(dataKey, context);
3206
+ }
3207
+
3208
+ if (event) {
3209
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
3210
+ }
3211
+
3212
+ if (context._isWithActiveTrigger()) {
3213
+ return;
3214
+ }
3215
+
3216
+ clearTimeout(context._timeout);
3217
+
3218
+ context._hoverState = HoverState.OUT;
3219
+
3220
+ if (!context.config.delay || !context.config.delay.hide) {
3221
+ context.hide();
3222
+ return;
3223
+ }
3224
+
3225
+ context._timeout = setTimeout(function () {
3226
+ if (context._hoverState === HoverState.OUT) {
3227
+ context.hide();
3228
+ }
3229
+ }, context.config.delay.hide);
3230
+ };
3231
+
3232
+ Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
3233
+ for (var trigger in this._activeTrigger) {
3234
+ if (this._activeTrigger[trigger]) {
3235
+ return true;
3236
+ }
3237
+ }
3238
+
3239
+ return false;
3240
+ };
3241
+
3242
+ Tooltip.prototype._getConfig = function _getConfig(config) {
3243
+ config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
3244
+
3245
+ if (config.delay && typeof config.delay === 'number') {
3246
+ config.delay = {
3247
+ show: config.delay,
3248
+ hide: config.delay
3249
+ };
3250
+ }
3251
+
3252
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
3253
+
3254
+ return config;
3255
+ };
3256
+
3257
+ Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
3258
+ var config = {};
3259
+
3260
+ if (this.config) {
3261
+ for (var key in this.config) {
3262
+ if (this.constructor.Default[key] !== this.config[key]) {
3263
+ config[key] = this.config[key];
3264
+ }
3265
+ }
3266
+ }
3267
+
3268
+ return config;
3269
+ };
3270
+
3271
+ // static
3272
+
3273
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
3274
+ return this.each(function () {
3275
+ var data = $(this).data(DATA_KEY);
3276
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
3277
+
3278
+ if (!data && /dispose|hide/.test(config)) {
3279
+ return;
3280
+ }
3281
+
3282
+ if (!data) {
3283
+ data = new Tooltip(this, _config);
3284
+ $(this).data(DATA_KEY, data);
3285
+ }
3286
+
3287
+ if (typeof config === 'string') {
3288
+ if (data[config] === undefined) {
3289
+ throw new Error('No method named "' + config + '"');
3290
+ }
3291
+ data[config]();
3292
+ }
3293
+ });
3294
+ };
3295
+
3296
+ _createClass(Tooltip, null, [{
3297
+ key: 'VERSION',
3298
+ get: function get() {
3299
+ return VERSION;
3300
+ }
3301
+ }, {
3302
+ key: 'Default',
3303
+ get: function get() {
3304
+ return Default;
3305
+ }
3306
+ }, {
3307
+ key: 'NAME',
3308
+ get: function get() {
3309
+ return NAME;
3310
+ }
3311
+ }, {
3312
+ key: 'DATA_KEY',
3313
+ get: function get() {
3314
+ return DATA_KEY;
3315
+ }
3316
+ }, {
3317
+ key: 'Event',
3318
+ get: function get() {
3319
+ return Event;
3320
+ }
3321
+ }, {
3322
+ key: 'EVENT_KEY',
3323
+ get: function get() {
3324
+ return EVENT_KEY;
3325
+ }
3326
+ }, {
3327
+ key: 'DefaultType',
3328
+ get: function get() {
3329
+ return DefaultType;
3330
+ }
3331
+ }]);
3332
+
3333
+ return Tooltip;
3334
+ }();
3335
+
3336
+ /**
3337
+ * ------------------------------------------------------------------------
3338
+ * jQuery
3339
+ * ------------------------------------------------------------------------
3340
+ */
3341
+
3342
+ $.fn[NAME] = Tooltip._jQueryInterface;
3343
+ $.fn[NAME].Constructor = Tooltip;
3344
+ $.fn[NAME].noConflict = function () {
3345
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
3346
+ return Tooltip._jQueryInterface;
3347
+ };
3348
+
3349
+ return Tooltip;
3350
+ }(jQuery);
3351
+
3352
+ /**
3353
+ * --------------------------------------------------------------------------
3354
+ * Bootstrap (v4.0.0-alpha.6): popover.js
3355
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3356
+ * --------------------------------------------------------------------------
3357
+ */
3358
+
3359
+ var Popover = function ($) {
3360
+
3361
+ /**
3362
+ * ------------------------------------------------------------------------
3363
+ * Constants
3364
+ * ------------------------------------------------------------------------
3365
+ */
3366
+
3367
+ var NAME = 'popover';
3368
+ var VERSION = '4.0.0-alpha.6';
3369
+ var DATA_KEY = 'bs.popover';
3370
+ var EVENT_KEY = '.' + DATA_KEY;
3371
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
3372
+
3373
+ var Default = $.extend({}, Tooltip.Default, {
3374
+ placement: 'right',
3375
+ trigger: 'click',
3376
+ content: '',
3377
+ template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
3378
+ });
3379
+
3380
+ var DefaultType = $.extend({}, Tooltip.DefaultType, {
3381
+ content: '(string|element|function)'
3382
+ });
3383
+
3384
+ var ClassName = {
3385
+ FADE: 'fade',
3386
+ SHOW: 'show'
3387
+ };
3388
+
3389
+ var Selector = {
3390
+ TITLE: '.popover-title',
3391
+ CONTENT: '.popover-content'
3392
+ };
3393
+
3394
+ var Event = {
3395
+ HIDE: 'hide' + EVENT_KEY,
3396
+ HIDDEN: 'hidden' + EVENT_KEY,
3397
+ SHOW: 'show' + EVENT_KEY,
3398
+ SHOWN: 'shown' + EVENT_KEY,
3399
+ INSERTED: 'inserted' + EVENT_KEY,
3400
+ CLICK: 'click' + EVENT_KEY,
3401
+ FOCUSIN: 'focusin' + EVENT_KEY,
3402
+ FOCUSOUT: 'focusout' + EVENT_KEY,
3403
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
3404
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
3405
+ };
3406
+
3407
+ /**
3408
+ * ------------------------------------------------------------------------
3409
+ * Class Definition
3410
+ * ------------------------------------------------------------------------
3411
+ */
3412
+
3413
+ var Popover = function (_Tooltip) {
3414
+ _inherits(Popover, _Tooltip);
3415
+
3416
+ function Popover() {
3417
+ _classCallCheck(this, Popover);
3418
+
3419
+ return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
3420
+ }
3421
+
3422
+ // overrides
3423
+
3424
+ Popover.prototype.isWithContent = function isWithContent() {
3425
+ return this.getTitle() || this._getContent();
3426
+ };
3427
+
3428
+ Popover.prototype.getTipElement = function getTipElement() {
3429
+ return this.tip = this.tip || $(this.config.template)[0];
3430
+ };
3431
+
3432
+ Popover.prototype.setContent = function setContent() {
3433
+ var $tip = $(this.getTipElement());
3434
+
3435
+ // we use append for html objects to maintain js events
3436
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
3437
+ this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
3438
+
3439
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
3440
+
3441
+ this.cleanupTether();
3442
+ };
3443
+
3444
+ // private
3445
+
3446
+ Popover.prototype._getContent = function _getContent() {
3447
+ return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
3448
+ };
3449
+
3450
+ // static
3451
+
3452
+ Popover._jQueryInterface = function _jQueryInterface(config) {
3453
+ return this.each(function () {
3454
+ var data = $(this).data(DATA_KEY);
3455
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
3456
+
3457
+ if (!data && /destroy|hide/.test(config)) {
3458
+ return;
3459
+ }
3460
+
3461
+ if (!data) {
3462
+ data = new Popover(this, _config);
3463
+ $(this).data(DATA_KEY, data);
3464
+ }
3465
+
3466
+ if (typeof config === 'string') {
3467
+ if (data[config] === undefined) {
3468
+ throw new Error('No method named "' + config + '"');
3469
+ }
3470
+ data[config]();
3471
+ }
3472
+ });
3473
+ };
3474
+
3475
+ _createClass(Popover, null, [{
3476
+ key: 'VERSION',
3477
+
3478
+
3479
+ // getters
3480
+
3481
+ get: function get() {
3482
+ return VERSION;
3483
+ }
3484
+ }, {
3485
+ key: 'Default',
3486
+ get: function get() {
3487
+ return Default;
3488
+ }
3489
+ }, {
3490
+ key: 'NAME',
3491
+ get: function get() {
3492
+ return NAME;
3493
+ }
3494
+ }, {
3495
+ key: 'DATA_KEY',
3496
+ get: function get() {
3497
+ return DATA_KEY;
3498
+ }
3499
+ }, {
3500
+ key: 'Event',
3501
+ get: function get() {
3502
+ return Event;
3503
+ }
3504
+ }, {
3505
+ key: 'EVENT_KEY',
3506
+ get: function get() {
3507
+ return EVENT_KEY;
3508
+ }
3509
+ }, {
3510
+ key: 'DefaultType',
3511
+ get: function get() {
3512
+ return DefaultType;
3513
+ }
3514
+ }]);
3515
+
3516
+ return Popover;
3517
+ }(Tooltip);
3518
+
3519
+ /**
3520
+ * ------------------------------------------------------------------------
3521
+ * jQuery
3522
+ * ------------------------------------------------------------------------
3523
+ */
3524
+
3525
+ $.fn[NAME] = Popover._jQueryInterface;
3526
+ $.fn[NAME].Constructor = Popover;
3527
+ $.fn[NAME].noConflict = function () {
3528
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
3529
+ return Popover._jQueryInterface;
3530
+ };
3531
+
3532
+ return Popover;
3533
+ }(jQuery);
3534
+
3535
+ }();