You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tac.apache.org by gm...@apache.org on 2023/03/25 13:07:56 UTC

[tac-website] branch main updated (5ec0841 -> 7dcf4c8)

This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git


    from 5ec0841  Merge pull request #2 from sebbASF/main
     new 635b73f  Don't want individual interviews
     new c90d4f2  Merge branch 'apache:main' into main
     new b345013  Drop unnecessary cruft
     new 5a8aea4  Add headerlink as per main site
     new 7dcf4c8  Merge pull request #4 from sebbASF/headerlink

The 30 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 config.toml                                  | 4 +++-
 layouts/_default/_markup/render-heading.html | 5 +++++
 source/stories/big_data.md                   | 5 -----
 source/stories/build_systems.md              | 5 -----
 source/stories/cloud.md                      | 5 -----
 source/stories/content.md                    | 3 ---
 source/stories/http.md                       | 5 -----
 source/stories/iot.md                        | 5 -----
 source/stories/nosql_databases.md            | 5 -----
 source/stories/students.md                   | 5 -----
 source/stories/web_framework.md              | 5 -----
 source/stories/women.md                      | 5 -----
 static/css/main.css                          | 7 +++++++
 13 files changed, 15 insertions(+), 49 deletions(-)
 create mode 100644 layouts/_default/_markup/render-heading.html


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 12/30: test

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 94cb2431950e54b4cd605cd3efa2dc0d7fde832a
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sat Feb 25 16:29:04 2023 +0100

    test
---
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index eb97019..ec07558 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # tac-website
 
 This repository builds the TAC website
-How to build locally using Hugo coming soon
+How to build locally using Hugo coming soon.
+


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 24/30: Merge pull request #1 from sebbASF/acna

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit fb11bf3947e2061b2fa058ba851f54a8b7bcbc30
Merge: ca93104 8a08538
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Fri Mar 24 19:36:28 2023 +0100

    Merge pull request #1 from sebbASF/acna
    
    Typo

 layouts/_default/baseof.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 16/30: uglyURLs back on, makes for more sensible and prettier! url schemes. Re-org some content

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit f1255c8d2e6870274454ec7d1e7b899602888fb3
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sun Feb 26 19:35:02 2023 +0100

    uglyURLs back on, makes for more sensible and prettier! url schemes. Re-org some content
---
 config.toml                                    |  2 +-
 layouts/_default/baseof.html                   |  5 +++
 source/_index.md                               | 28 +----------------
 source/{stories/index.md => events/__index.md} |  1 +
 source/{stories/index.md => events/current.md} |  6 ++--
 source/events/previous.md                      | 43 ++++++++++++++++++++++++++
 source/stories/{index.md => __index.md}        |  1 +
 7 files changed, 55 insertions(+), 31 deletions(-)

diff --git a/config.toml b/config.toml
index bb597b6..0933e2a 100644
--- a/config.toml
+++ b/config.toml
@@ -6,7 +6,7 @@ contentDir = "source"
 publishDir = "target/content"
 
 disablePathToLower = true
-# uglyURLs = true # disable ugly
+uglyURLs = true
 enableRobotsTXT = true
 disableBrowserError = true
 timeout = 3000
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index bd004a0..41cb9ec 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -86,6 +86,11 @@
                 Events
               </a>
               <div class="dropdown-menu" aria-labelledby="eventDropdown">
+                <a class="dropdown-item text-uppercase disabled" href="#">TAC Supported Events</a>
+                <a class="dropdown-item" href="/events/current.html">Current Events</a>
+                <a class="dropdown-item" href="/events/previous.html">Previous Events</a>
+                <div class="dropdown-divider"></div>
+                <a class="dropdown-item text-uppercase disabled" href="#">Related External Links</a>
                 <a class="dropdown-item" href="https://apachecon.com/">ApacheCon - The official event of the ASF</a>
                 <a class="dropdown-item" href="/calendars/">Major Apache-related Events</a>
                 <a class="dropdown-item" href="https://www.apache.org/events/meetups.html">Upcoming Apache-related meetups</a>
diff --git a/source/_index.md b/source/_index.md
index b8f6868..635c20b 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -1,5 +1,6 @@
 ---
 title: Travel Assistance Committee - TAC
+slug: index
 ---
 
 <div class="jumbotron">
@@ -57,32 +58,5 @@ We've put together stories from past TAC recipients of their experiences with TA
         <h4>Who are TAC?</h4>
         <p>Please see our official committee listing.</p>
           </div>
-          <div class="col-md-auto">
-          <h4>Past Events</h4>
-          <p>Participants attending the following events have received support from the Travel Assistance Committee:
-
-    Fosdem 2020, Brussels, Belgium
-    ApacheCon EU 2019, Berlin, Germany
-    ApacheCon NA 2019, Las Vegas, Nevada
-    ApacheCon NA 2018, Montreal, Canada
-    ApacheCon NA 2017, Miami, Florida
-    ApacheCon EU 2016, Seville, Spain
-    ApacheCon NA 2016, Vancouver, Canada
-    ApacheCon EU 2015, Budapest, Hungary
-    ApacheCon NA 2015, Austin, Taxes
-    ApacheCon EU 2014, Budapest, Hungary
-    ApacheCon NA 2014, Denver Colorado
-    ApacheCon NA 2013, Portland Oregon
-    ApacheCon Europe 2012, Sinsheim, Germany
-    ApacheCon NA 2011, Vancouver
-    Apache Retreat Ireland 2011
-    ApacheCon NA 2010, Atlanta
-    Apache Retreat Hursley 2010
-    Apache Retreat Ireland 2010
-    ApacheCon US 2009 Oakland
-    ApacheCon EU 2009 Amsterdam
-    ApacheCon US 2008 New Orleans
-</p>
-    </div>
 </div>
 
diff --git a/source/stories/index.md b/source/events/__index.md
similarity index 97%
copy from source/stories/index.md
copy to source/events/__index.md
index 660fccb..f0f9b38 100644
--- a/source/stories/index.md
+++ b/source/events/__index.md
@@ -1,5 +1,6 @@
 ---
 title: Travel Assistance Committee - TAC
+slug: index
 ---
 
 <div class="jumbotron">
diff --git a/source/stories/index.md b/source/events/current.md
similarity index 71%
copy from source/stories/index.md
copy to source/events/current.md
index 660fccb..c1ac034 100644
--- a/source/stories/index.md
+++ b/source/events/current.md
@@ -5,7 +5,7 @@ title: Travel Assistance Committee - TAC
 <div class="jumbotron">
 <a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
 <h2>Travel Assistance Committee</h2>
-<h3>Stories</h3>
+<h3>Events currently being supported by TAC</h3>
 </div>
 
 <a name="Index-Startingpoints"></a>
@@ -14,8 +14,8 @@ title: Travel Assistance Committee - TAC
 <!-- Row 1 -->
 <div class="row">
     <div class="col-md-auto">
-        <h4>Stories from previous successful applicants</h4>
-          <p>Stories coming soon!</p>
+        <h4>Currently supported events</h4>
+          <p>No events currently supported, check back regularly!</p>
     </div>
 </div>
 
diff --git a/source/events/previous.md b/source/events/previous.md
new file mode 100644
index 0000000..7a52802
--- /dev/null
+++ b/source/events/previous.md
@@ -0,0 +1,43 @@
+---
+title: Travel Assistance Committee - TAC
+---
+
+<div class="jumbotron">
+<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
+<h2>Travel Assistance Committee</h2>
+<h3>Past events</h3>
+</div>
+
+<a name="Index-Startingpoints"></a>
+
+
+<!-- Row 1 -->
+<div class="row">
+    <div class="col-md-auto">
+        <h4>Previous events that TAC supported</h4>
+          <p>Fosdem 2020, Brussels, Belgium <br />
+             ApacheCon EU 2019, Berlin, Germany <br />
+             ApacheCon NA 2019, Las Vegas, Nevada <br />
+             ApacheCon NA 2018, Montreal, Canada <br />
+             ApacheCon NA 2017, Miami, Florida <br />
+             ApacheCon EU 2016, Seville, Spain <br />
+             ApacheCon NA 2016, Vancouver, Canada <br />
+             ApacheCon EU 2015, Budapest, Hungary <br />
+             ApacheCon NA 2015, Austin, Taxes <br />
+             ApacheCon EU 2014, Budapest, Hungary <br />
+             ApacheCon NA 2014, Denver Colorado <br />
+             ApacheCon NA 2013, Portland Oregon <br />
+             ApacheCon Europe 2012, Sinsheim, Germany <br />
+             ApacheCon NA 2011, Vancouver <br />
+             Apache Retreat Ireland 2011 <br />
+             ApacheCon NA 2010, Atlanta <br />
+             Apache Retreat Hursley 2010 <br />
+             Apache Retreat Ireland 2010 <br />
+             ApacheCon US 2009 Oakland <br />
+             ApacheCon EU 2009 Amsterdam <br />
+             ApacheCon US 2008 New Orleans</p>
+    </div>
+</div>
+
+</div>
+
diff --git a/source/stories/index.md b/source/stories/__index.md
similarity index 97%
rename from source/stories/index.md
rename to source/stories/__index.md
index 660fccb..f0f9b38 100644
--- a/source/stories/index.md
+++ b/source/stories/__index.md
@@ -1,5 +1,6 @@
 ---
 title: Travel Assistance Committee - TAC
+slug: index
 ---
 
 <div class="jumbotron">


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 04/30: ignore lock file

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 3ea9eb03e7b8b315295cd797f283518350ba6008
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 09:24:04 2023 +0100

    ignore lock file
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index f59683c..9fec87b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 # Hugo generated
 resources
 target
+.hugo_build.lock
 
 # IntelliJ generated
 *.iml


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 11/30: try a workaround

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 7dadb378a2218eca9407bc72cff5021a26dedce4
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sat Feb 25 12:33:17 2023 +0100

    try a workaround
---
 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 5e68008..5a30fbb 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -106,7 +106,7 @@ pipeline {
                 script {
                     // Checkout branch with generated content
                     sh """
-                        git checkout ${DEPLOY_BRANCH}
+                        git checkout -b ${DEPLOY_BRANCH} --track origin/${DEPLOY_BRANCH}
                         git pull origin ${DEPLOY_BRANCH}
                     """
                     


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 14/30: formatting, use full width auto columns and not 3 columns wide

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 42fd09de9b028cf30b636cc49fb112a57e413be2
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sun Feb 26 10:26:25 2023 +0100

    formatting, use full width auto columns and not 3 columns wide
---
 source/_index.md | 30 ++++++++----------------------
 1 file changed, 8 insertions(+), 22 deletions(-)

diff --git a/source/_index.md b/source/_index.md
index e6dad60..e883e47 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -19,25 +19,17 @@ Note, read this entire page BEFORE applying for assistance.
 
 <!-- Row 1 -->
 <div class="row">
-    <div class="col-md-4">
+    <div class="col-md-auto">
         <h4>Application Criteria</h4>
         <p>The Committee judges applications on merit, based on details each applicant provides on their application form. The application form captures the information the Committee requires to be able to make such a judgment. Bear in mind that, due to the Committee's limited resources, it must apply its criteria aggressively. Just because someone does not receive assistance on this occasion does not mean that they are not worthy of assistance, or that the Committee does not value their [...]
 
 The Committee will notify those it deems to be most in need of assistance within a week of the closing of the application period.</p>
-    </div>
-    <div class="col-md-4">
         <h4>What the assistance covers</h4>
         <p>The Committee provides assistance with travel (air fares or train tickets), accommodation during the conference, and conference fees. At this time, the Committee is unable to provide any funds for general living expenses during the conference.</p>
-    </div>
-    <div class="col-md-4">
         <h4>Arrangements and planning for successful applicants</h4>
         <p>The Committee, and the ASF itself, do not have the means to distribute funds for air fares, etc, to successful applicants, who will undoubtedly be located worldwide. Therefore, the ASF and its appointed agents will arrange and pay directly for travel and accommodation for successful applicants.</p>
     </div>
-</div>
-
-<!-- Row 2 -->
-<div class="row">
-    <div class="col-md-4">
+    <div class="col-md-auto">
         <h4>How to apply</h4>
         <p>Visit the online application and , if you have not already done so, create an account by clicking the 'Register' link - or if you are an ASF Committer just login using your LDAP creds via oauth. Once logged in answer all questions as fully as possible. Note that you do not need to answer all questions in the same session: you can keep coming back until you have completed the form.
 
@@ -52,8 +44,8 @@ Note that, in return for financial assistance, we do ask that you perform some d
 Also note that participants we support must themselves obtain Travel Insurance (including Medical coverage for those traveling overseas).
 
 To apply, complete the on line application.</p>
-    </div>
-    <div class="col-md-4">
+        </div>
+        <div class="col-md-auto">
         <h4>Events for which support is available</h4>
         <p>Applications are now open for assistance to ApacheCon NA New Orleans which is on between the 3rd and 6th of October 2022. Closing date for Applications for Travel Assistance to this event has been extended to 8th July 2022.
 
@@ -62,22 +54,16 @@ Travel Assistance includes travel to the event, via plane,train etc; and optiona
 Applications are open to anyone involved in open source , not just at the Apache Software Foundation, but anywhere. If you are unsure if you want to apply - we encourage you to read the Stories from past recipients as mentioned below!
 
 Good luck and hope to see you in New Orleans!</p>
-    </div>
-    <div class="col-md-4">
+          </div>
+          <div class="col-md-auto">
           <h4>Stories from past TAC recipients</h4>
           <p>Are you thinking of applying for TAC funding, but wondering how it works? Wondering how it might apply for someone like yourself? Wondering if it might be relevant? Curious to know how others found the experience?
 
 We've put together stories from past TAC recipients of their experiences with TAC and with ApacheCon itself. You can view these on the TAC Stories pages. We're grouped them by project area, applicant background and the like. Take a look around!</p>
-    </div>
-</div>
-
-<!-- Row 3 -->
-<div class="row">
-    <div class="col-md-4">
         <h4>Who are TAC?</h4>
         <p>Please see our official committee listing.</p>
-    </div>
-    <div class="col-md-4">
+          </div>
+          <div class="col-md-auto">
           <h4>Past Events</h4>
           <p>Participants attending the following events have received support from the Travel Assistance Committee:
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 08/30: Add git fetch, might help?

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit bfedfa8dfe3a98e8aa7efa9c85b327b7acbf1df5
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 14:08:52 2023 +0100

    Add git fetch, might help?
---
 Jenkinsfile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Jenkinsfile b/Jenkinsfile
index cc88001..d9d4918 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -71,6 +71,7 @@ pipeline {
                 script {
                     // Checkout branch with generated content
                     sh """
+                        git fetch
                         git checkout ${DEPLOY_BRANCH}
                         git pull origin ${DEPLOY_BRANCH}
                     """


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 23/30: Convert from apache.org

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 79aba1a6ff3a7d47f29f25d37d867f3008f48d83
Author: Sebb <se...@apache.org>
AuthorDate: Fri Mar 24 17:57:58 2023 +0000

    Convert from apache.org
---
 layouts/shortcodes/insertfile.html              |   8 ++
 layouts/shortcodes/title.html                   |   1 +
 source/index_old.md                             | 170 ++++++++++++++++++++++++
 source/stories/__index.md                       |  45 ++++---
 source/stories/big_data.md                      |  20 +++
 source/stories/build_systems.md                 |  17 +++
 source/stories/cloud.md                         |  24 ++++
 source/stories/content.md                       |  26 ++++
 source/stories/http.md                          |  18 +++
 source/stories/interviews/andriy_redko.md       |  39 ++++++
 source/stories/interviews/bhargav_golla.md      |  44 ++++++
 source/stories/interviews/dammina_sahabandu.md  |  28 ++++
 source/stories/interviews/gabriel_brascher.md   |  42 ++++++
 source/stories/interviews/gaurav_saini.md       |  34 +++++
 source/stories/interviews/ignasi_barrera.md     |  61 +++++++++
 source/stories/interviews/jeff_genender.md      |  45 +++++++
 source/stories/interviews/keren_ouaknine.md     |  47 +++++++
 source/stories/interviews/maxim_solodovnik.md   |  36 +++++
 source/stories/interviews/nitin_kumar.md        |  42 ++++++
 source/stories/interviews/pedro_giffuni.md      |  39 ++++++
 source/stories/interviews/piotr_zarzycki.md     |  45 +++++++
 source/stories/interviews/rafael_weingartner.md |  56 ++++++++
 source/stories/interviews/sharan_foga.md        |  66 +++++++++
 source/stories/interviews/yash_sharma.md        |  28 ++++
 source/stories/iot.md                           |  18 +++
 source/stories/nosql_databases.md               |  18 +++
 source/stories/students.md                      |  24 ++++
 source/stories/web_framework.md                 |  28 ++++
 source/stories/women.md                         |  18 +++
 29 files changed, 1072 insertions(+), 15 deletions(-)

diff --git a/layouts/shortcodes/insertfile.html b/layouts/shortcodes/insertfile.html
new file mode 100644
index 0000000..bd6819e
--- /dev/null
+++ b/layouts/shortcodes/insertfile.html
@@ -0,0 +1,8 @@
+{{$file := .Get "file" | printf "source/stories/%s"}}
+{{- if eq (.Get "markdown") "true" -}}
+{{- $file  | readFile | markdownify -}}
+{{- else if  (.Get "highlight") -}}
+{{-  highlight ($file  | readFile) (.Get "highlight") "" -}}
+{{- else -}}
+{{ $file  | readFile | safeHTML }}
+{{- end -}}
diff --git a/layouts/shortcodes/title.html b/layouts/shortcodes/title.html
new file mode 100644
index 0000000..cc56e73
--- /dev/null
+++ b/layouts/shortcodes/title.html
@@ -0,0 +1 @@
+{{ .Page.Title }}
\ No newline at end of file
diff --git a/source/index_old.md b/source/index_old.md
new file mode 100644
index 0000000..210ef01
--- /dev/null
+++ b/source/index_old.md
@@ -0,0 +1,170 @@
+---
+title: Travel Assistance Committee - TAC
+slug: index_old
+---
+
+# {{% title %}}
+
+{{% toc %}}
+
+The Travel Assistance Committee helps those who would like to
+attend ApacheCon events, but are unable to do so for financial reasons.
+
+## Purpose and intended audience ##
+
+The Travel Assistance committee was reformed in September 2008 with the
+goal of providing financial assistance to those who would otherwise be
+unable to attend various ApacheCon events.
+
+Those who are thinking of applying for financial assistance should know that the Committee has limited finances and that, as a consequence, only
+a few places are available for each Apache event.
+Applicants should have valid reasons for
+attending ApacheCon events that are of benefit to both the applicant and
+the ASF, and to open source as a whole.
+
+**Note, read this entire page BEFORE applying for assistance.**
+
+## Application criteria  {#criteria}
+
+The Committee judges applications on merit, based on details each applicant provides on their
+application form.
+The application form captures the information the Committee requires to be able to make such a judgment.
+Bear in mind that, due to the Committee's limited resources, it must apply its criteria aggressively.
+Just because someone does not receive assistance
+on this occasion does not mean that they are not worthy of assistance, or
+that the Committee does not value their contribution to the ASF or to open
+source in general.
+We would love to be able to offer support more widely,
+but, as always, the Committee is limited in its work by the funds available.
+
+The Committee will notify those it deems to be most in need of assistance within a week of the closing of the application period.
+
+## What the assistance covers  {#covered}
+
+The Committee provides assistance with travel (air fares or train tickets),
+accommodation during the conference, and conference fees.
+At this time, the Committee is unable to provide any funds for general living expenses during
+the conference.
+
+### Arrangements and planning for successful applicants  {#arrangements}
+
+The Committee, and the ASF itself, do not have the means to distribute
+funds for air fares, etc, to successful applicants, who will undoubtedly be located worldwide.
+Therefore, the ASF and its appointed agents will arrange and pay directly for travel and accommodation for successful applicants.
+
+## How to apply for travel assistance  {#applying}
+
+Visit the  [online application ](/application) and , if you have not already done so,
+create an account by clicking the 'Register' link - or if you are an ASF Committer just login using
+your LDAP creds via oauth.
+Once logged in answer all questions as fully as possible.
+Note that you do not need to answer all questions in the same session: you can keep coming back
+until you have completed the form.
+
+Ensure that you specify which event you are applying for.
+We generally give preference to those who apply to attend an event nearest their home location.
+In other words, those in Europe would fair better
+applying to attend an ApacheCon EU event, and those in Asia, an Asia event, when they next come round.
+
+However, we will consider carefully compelling reasons you present to support going to an event further away than your
+nearest ApacheCon location. (This year for example will be more forgiving due to no in person events for over 2 years)
+
+We will only notify those applicants who are successful.
+If you have not heard from us within one week of the application closing date, you should assume that you did not qualify on this occasion.
+However, you are welcome to email tac-apply@apache.org for confirmation if you wish.
+We do not provide explanations why a given application was not successful, but you may assume that
+other applicants had a greater need on this occasion.
+
+**Note** that, in return for financial assistance, we do ask that you perform some
+duties while at the event, such as staffing the registration booth and helping spread the Apache Way message; and opening/closing 
+talk sessions for other Speakers.
+But do not worry: you will still have plenty of time to attend talks that
+interest you, get to see the sights of the hosting city, and meet people from your
+projects and other folks you have been communicating with.
+
+**Also note** that participants we support must themselves obtain Travel Insurance (including Medical coverage for
+those traveling overseas).
+
+To apply, complete the [on line application](/application).
+
+## Events for which support is available  {#events}
+
+Applications are now open for assistance to [ApacheCon NA New Orleans](https://www.apachecon.com/acna2022/)
+which is on between the 3rd and 6th of October 2022. Closing date for Applications for Travel Assistance 
+to this event has been extended to 8th July 2022.
+
+Travel Assistance includes travel to the event, via plane,train etc; and optionally includes if needed the 
+cost of Hotel accomodation and also Conference tickets.
+
+Applications are open to anyone involved in open source , not just at the Apache Software Foundation, but 
+anywhere. If you are unsure if you want to apply - we encourage you to read the Stories from past recipients 
+as mentioned below!
+
+Good luck and hope to see you in New Orleans!
+
+<hr />
+
+
+## Stories from past TAC recipients  {#stories}
+Are you thinking of applying for TAC funding, but wondering how it works? Wondering how it
+might apply for someone like yourself? Wondering if it might be relevant? Curious to know how
+others found the experience?
+
+We've put together stories from past TAC recipients of their experiences with TAC and with ApacheCon itself.
+You can view these on the [TAC Stories pages](/stories/).
+We're grouped them by project area, applicant background and the like.
+[Take a look around](/stories/)!
+
+## Who are TAC?
+
+Please see our [official committee listing](http://home.apache.org/phonebook.html?pmc=tac).
+
+## Past Events
+
+Participants attending the following events have received support from the Travel Assistance Committee:
+
+  * Fosdem 2020, Brussels, Belgium
+  * ApacheCon EU 2019, Berlin, Germany
+  * ApacheCon NA 2019, Las Vegas, Nevada
+  * ApacheCon NA 2018, Montreal, Canada
+  * ApacheCon NA 2017, Miami, Florida
+  * ApacheCon EU 2016, Seville, Spain
+  * ApacheCon NA 2016, Vancouver, Canada
+  * ApacheCon EU 2015, Budapest, Hungary
+  * ApacheCon NA 2015, Austin, Taxes
+  * ApacheCon EU 2014, Budapest, Hungary
+  * ApacheCon NA 2014, Denver Colorado
+  * ApacheCon NA 2013, Portland Oregon
+  * ApacheCon Europe 2012, Sinsheim, Germany
+  * ApacheCon NA 2011, Vancouver
+  * Apache Retreat Ireland 2011
+  * ApacheCon NA 2010, Atlanta
+  * Apache Retreat Hursley 2010
+  * Apache Retreat Ireland 2010
+  * ApacheCon US 2009 Oakland
+  * ApacheCon EU 2009 Amsterdam
+  * ApacheCon US 2008 New Orleans
+
+<!--
+## Apache Retreat Knockree, Ireland 2011  {#KnockreeRetreat}
+
+The Travel Assistance Committee is able to help people who like to be able
+to attend the Retreat, but who need some financial support in order to be
+able to get there.
+There are limited places available, and all applications
+will be scored on their individual merit.
+Applications are open to all open
+source developers, both Apache Committers wishing to attend the whole
+event, and other developers wishing to attend the one-day Bar Camp.
+(However, the support available for those attending only the barcamp is
+smaller than that for people attending the whole event).
+
+- Event dates: 13 to 16 May 2011
+
+- Application period: 28th February 2011 to 12th March 2011
+
+- Notification date: successful applicants will be informed within one week
+of application closing date.
+
+- Applications via the [online webapp](/application).
+-->
diff --git a/source/stories/__index.md b/source/stories/__index.md
index f0f9b38..f9f74c1 100644
--- a/source/stories/__index.md
+++ b/source/stories/__index.md
@@ -1,24 +1,39 @@
 ---
-title: Travel Assistance Committee - TAC
+title: Stories of past Travel Assistance Recipients
 slug: index
 ---
 
-<div class="jumbotron">
-<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
-<h2>Travel Assistance Committee</h2>
-<h3>Stories</h3>
-</div>
+# {{% title %}} #
 
-<a name="Index-Startingpoints"></a>
+{{% toc %}}
 
+The Travel Assistance Committee helps those who would like to
+attend ApacheCon events, but are unable to do so for financial reasons.
 
-<!-- Row 1 -->
-<div class="row">
-    <div class="col-md-auto">
-        <h4>Stories from previous successful applicants</h4>
-          <p>Stories coming soon!</p>
-    </div>
-</div>
+Over the years, TAC has helped many people, from all backgrounds
+and from all over the world, attend Apache 
+events. This is a collection of some of their stories.
 
-</div>
+## By Project Area ##
+<!-- Sync this broadly with https://projects.apache.org/projects.html?category -->
+Interested in how people from projects in a certain area found TAC and
+ApacheCon? Click on the project area below to read their stories!
 
+ * [Big Data](big_data.html)
+ * [Build Systems](build_systems.html)
+ * [IoT](iot.html)
+ * [Cloud](cloud.html)
+ * [Content](content.html)
+ * [NoSQL and Databases](nosql_databases.html)
+ * [HTTP](http.html)
+ * Mobile
+ * OSGi
+ * [Web Framework](web_framework.html)
+
+## By Background ##
+Wondering how someone like you got on with TAC and ApacheCon?
+
+ * [Student / Academic](students.html)
+ * [Women](women.html)
+
+*More Stories coming soon!*
diff --git a/source/stories/big_data.md b/source/stories/big_data.md
new file mode 100644
index 0000000..c8f51e8
--- /dev/null
+++ b/source/stories/big_data.md
@@ -0,0 +1,20 @@
+Title:     Big Data stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Big Data stories from past Travel Assistance Recipients {#big-data-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile file="interviews/keren_ouaknine.md" %}}
+
+{{% insertfile file="interviews/yash_sharma.md" %}}
+
+{{% insertfile file="interviews/jeff_genender.md" %}}
diff --git a/source/stories/build_systems.md b/source/stories/build_systems.md
new file mode 100644
index 0000000..3b594b5
--- /dev/null
+++ b/source/stories/build_systems.md
@@ -0,0 +1,17 @@
+Title:     Build System stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Build System stories from past Travel Assistance Recipients {#build-system-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile file="interviews/dammina_sahabandu.md" %}}
+
diff --git a/source/stories/cloud.md b/source/stories/cloud.md
new file mode 100644
index 0000000..e9b0c06
--- /dev/null
+++ b/source/stories/cloud.md
@@ -0,0 +1,24 @@
+Title:     Cloud stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Cloud stories from past Travel Assistance Recipients {#cloud-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/rafael_weingartner.md" %}}
+
+{{% insertfile  file="interviews/nitin_kumar.md" %}}
+
+{{% insertfile  file="interviews/ignasi_barrera.md" %}}
+
+{{% insertfile  file="interviews/gabriel_brascher.md" %}}
+
+{{% insertfile  file="interviews/jeff_genender.md" %}}
diff --git a/source/stories/content.md b/source/stories/content.md
new file mode 100644
index 0000000..eb61d55
--- /dev/null
+++ b/source/stories/content.md
@@ -0,0 +1,26 @@
+Title:     Content stories from past Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+# Content System stories from past Travel Assistance Recipients {#content-system-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/maxim_solodovnik.md" %}}
+
+{{% insertfile  file="interviews/piotr_zarzycki.md" %}}
+
+{{% insertfile  file="interviews/gaurav_saini.md" %}}
+
+{{% insertfile  file="interviews/sharan_foga.md" %}}
+
+{{% insertfile  file="interviews/jeff_genender.md" %}}
+
+{{% insertfile  file="interviews/pedro_giffuni.md" %}}
+
+{{% insertfile  file="interviews/bhargav_golla.md" %}}
diff --git a/source/stories/http.md b/source/stories/http.md
new file mode 100644
index 0000000..b7ba7a8
--- /dev/null
+++ b/source/stories/http.md
@@ -0,0 +1,18 @@
+Title:     HTTP stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# HTTP stories from past Travel Assistance Recipients {#http-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/andriy_redko.md" %}}
+
+{{% insertfile  file="interviews/jeff_genender.md" %}}
diff --git a/source/stories/interviews/andriy_redko.md b/source/stories/interviews/andriy_redko.md
new file mode 100644
index 0000000..ffca509
--- /dev/null
+++ b/source/stories/interviews/andriy_redko.md
@@ -0,0 +1,39 @@
+## Andriy Redko ##
+
+**What's your name?**
+
+ Andriy Redko
+
+**What Apache project are you involved in?**
+
+ Apache CXF
+
+**Where in the world are you from?**
+
+ Canada
+
+**What was the best bit about ApacheCon?**
+
+For me ApacheCon is all about community. I met so many great people, had a lot of 
+thoughtful conversations, heard about dozens of very interesting projects I had no
+idea existed. It is a terrific event. 
+
+**What was the best new project you heard about at ApacheCon?**
+
+ The last ApacheCon brought Apache HTrace to my attention. This is very interesting
+ project in the niche of distributed tracing, and I was desperately looking for such
+ a solution to build Apache CXF features on top of. 
+
+**What was your favourite ApacheCon talk, and why?**
+
+I liked very much the "Introduction to Apache Kafka" talk, it was very well
+delivered and received.
+
+**How did the Travel Assistance program compare to your expectations?**
+
+By all means, ApacheCon was possible for me only because of TAC. I was not be able to make
+it without assistance. I am very grateful to TAC for picking me and giving me a chance to 
+be a part of ApacheCon. This experience is worth repeating and I am looking for ways to
+make it this year. 
+
+------------------------------------------------------------------
diff --git a/source/stories/interviews/bhargav_golla.md b/source/stories/interviews/bhargav_golla.md
new file mode 100644
index 0000000..7204d47
--- /dev/null
+++ b/source/stories/interviews/bhargav_golla.md
@@ -0,0 +1,44 @@
+## Bhargav Golla ##
+
+**What's your name?**
+
+Bhargav Golla 
+
+**What Apache project are you involved in?**
+
+I was involved with Apache PhotArk (Retired project), and Apache Isis, as a Google Summer of Code Developer 
+
+**Were you a student/academic at the time of ApacheCon?**
+
+Yes, I was a student. 
+
+**Where in the world are you from?**
+
+I am a student at Clemson University, Clemson, SC. 
+
+
+**What was the best bit about ApacheCon?**
+
+Being able to meet all the great committers from the community, and listening from each of them first hand about their experiences. 
+
+**What was the most interesting thing you learned at ApacheCon?**
+
+Though working on ASF Projects, I wasn't aware of the reasons why many open source projects like to get under the umbrella of ASF. The session on "But we're already open source! Why would I want to bring my code to Apache?" was very informative, and so were the other sessions which were tuned towards people to understand more about ASF.
+
+**What was the best new project you heard about at ApacheCon?**
+
+Kafka. I had vaguely heard about it, but realized how widespread this tool is in many enterprises.
+
+**What was your favourite non-talk part of ApacheCon?**
+
+The Committer Receptions and the closing reception where all the committers and attendees could hang out and share things in a very informal and comfortable way. And also the free goodies provided by the ASF and sponsors.
+
+**How did the Travel Assistance program compare to your expectations?**
+
+The Travel Assistance program exceeded my expectations. I assumed that this program was about just a way for conference attendees to get sponsored. But all the recipients were expected to help in the organization of sessions. This led to increased involvement in the conference, and also more relations forming among the Travel Assistance recipients.  
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+Take your time to answer the questionnaire in detail so that the TAC can understand your case well and make sure that you are funded. 
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/dammina_sahabandu.md b/source/stories/interviews/dammina_sahabandu.md
new file mode 100644
index 0000000..ec71de6
--- /dev/null
+++ b/source/stories/interviews/dammina_sahabandu.md
@@ -0,0 +1,28 @@
+## Dammina Sahabandu ##
+
+**What's your name?**
+
+Dammina
+
+**What Apache project are you involved in?**
+
+Apache Bloodhound
+
+**Were you a student/academic at the time of ApacheCon?**
+
+I was a student at that time
+
+**Where in the world are you from?**
+
+Matara, Sri Lanka.
+
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+If you are a first timer you should never hesitate, because you have the highest chance of getting accepted. And let me tell you, if you are worried because you have never traveled alone before, please don't be, because when I applied for tac I was a terrified kid who had never traveled out of the country. Trust me, our dearest travel assistance committee guided me through each and every single step to get me over there. So please don't think twice: this might be the biggest opportunity  [...]
+
+**How did TAC and ApacheCon change your involvement in Apache?**
+
+Only after ApacheCon I understood the real power of Apache. For me, before ApacheCon, it was just a group of geeks who try to write awesome code to make the world a better place, but now I feel like I'm a member of a huge family that cares very much for each other. It was like, what it seems to be a code base become home for me and now I'm not just trying to improve the code base, but rather to make the family bigger in every aspect.
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/gabriel_brascher.md b/source/stories/interviews/gabriel_brascher.md
new file mode 100644
index 0000000..20e0fb1
--- /dev/null
+++ b/source/stories/interviews/gabriel_brascher.md
@@ -0,0 +1,42 @@
+## Gabriel Beims Bräscher ##
+
+**What's your name?**
+
+Gabriel Beims Bräscher
+
+
+**What was the best bit about ApacheCon?**
+
+It was one of the most intense weeks in my life, as I was constantly learning about new cultures, projects, people, places, technologies. To be honest, at first I was afraid (as a young guy, a mere masters student); however, everyone treats you equally, it does not matter who you are and where are you from, because everyone knows that you are part of the ASF community. That feels great and made me confident to interact and learn even more.
+
+
+**Who was the best person you met at ApacheCon, and why?**
+
+It is hard to tell; lots of great persons!
+
+TAC: For sure Melissa from the TAC program is one of them; she treats every "TACer" (people -- as lucky as I -- who were selected by the TAC program) as a son; Sergio Fernández and Christofer Dutz helped us all.
+
+Speakers: Many of the speakers that I helped were very charismatic and generous, some of them: Luciano Resende (also Brazilian); Shane Curcuru; Daniel Izquierdo; Dzmitry Pletnikau; Giles Sirett; Will Stevens.
+
+TACers: Andrea Patricelli (my roommate) a very friendly Italian; Svante Shubert, a guy who could make anyone laugh (note: he is German); Pedro Giffuni; Paul King; Darshan; and many others.
+
+
+**What was your favourite non-talk part of ApacheCon?**
+
+The interaction with people: the first night when the TAC gathered us at a bar; the last night of the Apache Big data, when we got another good time to get to know each other and enjoy a good beer/wine with snacks; going out to explore Seville.
+
+
+**How did the Travel Assistance program compare to your expectations?**
+First of all: I had high expectations! However, I received more than expected. The travel was great, the process after I was selected was easy and all information was clear.
+
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+It is a great experience for a programmer, researcher, and human being. This opened my mind to new cultures, Apache projects, technologies and contacts from Apache and the project that I am involved in (Apache CloudStack). As a speaker and also invited by the TAC program, I gained confidence for presenting projects and interacting with people from different cultures.
+ 
+In exchange we, as "TACers", have to help with the conference, mainly introducing speakers. The TACer has to help the speaker set up, and make sure that he/she is ready and comfortable for the presentation. That also helps us learn how to interact with the audience.
+
+
+**What did your project get from having you at ApacheCon?**
+
+With the TAC project, I got the chance to travel and present as speaker a bit more about Apache CloudStack. My presentation (Why Apache CloudStack) provides feedback of why people should consider CloudStack and a discussion of why it is not as popular as it should be (considering how great piece of software the ACS is). Additionally, I presented a bit of a project that I am working on, which is a plugin for the Apache CloudStack.
diff --git a/source/stories/interviews/gaurav_saini.md b/source/stories/interviews/gaurav_saini.md
new file mode 100644
index 0000000..65047fa
--- /dev/null
+++ b/source/stories/interviews/gaurav_saini.md
@@ -0,0 +1,34 @@
+## Gaurav Saini ##
+
+**What's your name?**
+
+Gaurav Saini
+
+**What Apache project(s)/Open Source Software project(s) are you involved
+in?**
+
+Apache Fineract, Apache OFBiz and Apache Roller
+
+**Where in the world are you from?**
+
+Punjab, India
+
+**What was the best bit about ApacheCon?**
+
+The best bit about ApacheCon is you get to meet many intelligent minds from
+around the world. Interesting part going through TAC is you get an
+opportunity to introduce the speakers and interact in person.
+
+**What was your favourite non-talk part of ApacheCon?**
+
+Meeting your project people with whom you have been talking on mailing lists
+for several years. I had two project-specific dinners with people from
+one project get together and discuss tech and not tech :)
+
+**What would you say to someone thinking of applying to TAC for the first
+time?**
+
+I would like to recommend that people make sure they are active
+with some project in Apache and just think about what they will be
+learning at ApacheCON. Don't think negatively that you might not be eligible
+or many other things that come up to your mind, doubting your caliber.
diff --git a/source/stories/interviews/ignasi_barrera.md b/source/stories/interviews/ignasi_barrera.md
new file mode 100644
index 0000000..2a47445
--- /dev/null
+++ b/source/stories/interviews/ignasi_barrera.md
@@ -0,0 +1,61 @@
+## Ignasi Barrera ##
+
+**What's your name?**
+
+Ignasi Barrera
+
+**What Apache project are you involved in?**
+
+I've been actively involved in Apache jclouds for about four years, since a
+little bit before the project joined the ASF. I am the project's
+current Chair, and about 9 months ago I became a Member of the
+foundation.
+
+**Where in the world are you from?**
+
+From sunny Barcelona!
+
+
+**What was the best bit about ApacheCon?**
+
+Discovering that Apache, at its core, and despite being a big
+organisation, is like a little family. I was really surprised how open
+and welcoming everyone was. I had the opportunity to talk with TAC,
+infra, and many people directly involved in the foundation structure,
+and I always felt like I was actually part of the same thing. Meeting
+the people who make Apache and discovering how open everyone was, was
+one of the best things I remember from ApacheCon.
+
+**What was your favourite ApacheCon talk, and why?**
+
+I really enjoyed David Nalley's keynote. There is quite an extended
+perception in people around the world, outside the ASF, that Apache
+projects are old school projects, often leveraging obsolete
+technology. There is a quote I love from Rich Bowen that says, "Apache
+has a legacy to project, but also a future to invent," (and projects
+such as the httpd server or Spark are perfect examples for that) and
+David's keynote illustrated that pretty well and demystified that
+perception by showing how important for the industry Apache is. Not
+only for the technology and solutions their projects bring, but also
+for the way they are governed, how the community collaborates to create
+them, and how that open and collaborative model is the pillar of their
+success and an open source reference.
+
+**What would you say to someone thinking of applying to TAC for the first
+time?**
+
+Just apply. They will find a very friendly environment and an
+excellent opportunity to meet, among many others, the people who
+make Apache possible.
+
+**What did your project get from having you at ApacheCon?**
+
+I had the opportunity to talk with committers and PMC members of other
+projects that are built on top of Apache jclouds. At ApacheCon we had to take some unpopular decisions, such as dropping
+support for unmaintained providers, or rejecting some pull requests
+that had little hope to progress, and one of the objectives I had was
+to directly discuss with the jclouds ecosystem what impact that could
+have, how the projects could collaborate better, and how we could
+better align our roadmaps.
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/jeff_genender.md b/source/stories/interviews/jeff_genender.md
new file mode 100644
index 0000000..ebe5dfd
--- /dev/null
+++ b/source/stories/interviews/jeff_genender.md
@@ -0,0 +1,45 @@
+## Jeff Genender ##
+
+**What's your name?**
+
+Jeff Genender
+
+**What Apache project are you involved in?**
+
+Camel, CXF, ServiceMix, Mina, TomEE, ActiveMQ
+
+**Where in the world are you from?**
+
+Colorado
+
+
+**What was the best bit about ApacheCon?**
+
+Great opportunity to meet others on projects from all over the world and put names to faces
+
+**Who was the best person you met at ApacheCon, and why?**
+
+Everyone… because everyone is cool. ;-)
+
+**What unexpected things did you learn at ApacheCon?**
+
+Code with beer
+
+**What was your favourite non-talk part of ApacheCon?**
+
+Keynotes and networking
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+Highly recommended. It's a great way to get to these events when funds may be short. 
+It's an opportunity.
+
+**What did your project get from having you at ApacheCon?**
+
+Meeting with some of the folks and being able to talk about things that may take more time than on the lists.  Being able to exchange ideas before bringing them to the community.  Face to face can have a huge impact on attitude and interaction moving forward, and it's something that can be bestowed to the projects.  Sometimes it's tough to put tone in email, so it's good to share in a personal manner.
+
+**What new things did you get into thanks to ApacheCon?**
+
+I wouldn’t say it got me into anything new, but certainly underscored my feelings about Apache and the value it brings to me and my contributions.  It re-invigorates about why we do the things we do in open source and the impact it has on the world.
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/keren_ouaknine.md b/source/stories/interviews/keren_ouaknine.md
new file mode 100644
index 0000000..b389de9
--- /dev/null
+++ b/source/stories/interviews/keren_ouaknine.md
@@ -0,0 +1,47 @@
+## Keren Ouaknine ##
+
+**What's your name?**
+
+Keren Ouaknine
+
+**Which ApacheCon/Apache event did you attend?**
+
+ApacheCon in Miami, FL 2017.
+
+**What Apache project(s)/Open Source Software project(s) are you involved in?**
+
+Apache AsterixDB, Apache Pig
+
+**Were you a student/academic at the time of ApacheCon?**
+
+Yes, Phd candidate at the Hebrew University.
+
+
+**Where in the world are you from?**
+
+Israel
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+Apply, Apply!
+
+ApacheCon is a unique opportunity to have great discussions with many
+open-source-committed people. I was grateful for the privilege to learn
+about the Apache community and projects. The total number of sessions and
+topics covered in those three conference days was mind-blowing and I can
+clearly remember us TAC-ers did not want it to end!
+
+**What unexpected things did you learn at ApacheCon?**
+
+Quick anecdote: I volunteered to help with the registration desk on the
+first day of the conference along with a friend. Naturally, I familiarized myself
+with many of the attenders, their names, workplace/organization. Following
+which, I no longer felt like a wandering soul, seeking to find a female peer
+to socialize with (as often happens on conferences of this
+scale). Instead,
+I was part of the TAC-ers: a united, incredibly nice, talented and organized
+group. During the registration process, more TAC-ers joined to help with the load
+and together we mastered the incoming stream with ease and good spirits!
+
+I cherish the friendship with all the TAC members and organizers and will
+keep a very fond memory of this conference.
diff --git a/source/stories/interviews/maxim_solodovnik.md b/source/stories/interviews/maxim_solodovnik.md
new file mode 100644
index 0000000..6ec8ef8
--- /dev/null
+++ b/source/stories/interviews/maxim_solodovnik.md
@@ -0,0 +1,36 @@
+## Maxim Solodovnik ##
+
+**What's your name?**
+
+Maxim Solodovnik
+
+**What Apache project are you involved in?**
+
+OpenMeetings, Flex, Wicket
+
+**Where in the world are you from?**
+
+Russia, Siberia
+
+
+**What was the best bit about ApacheCon?**
+
+I was able to meet new friends, meet lots of people I was emailing with "in person", I can now wear an "Ask me" badge and easily talk to people I never met before :) 
+
+**Who was the best person you met at ApacheCon, and why?**
+
+Melissa, no doubt :) She one of the kindest people at Apache :)
+
+To be serious it is hard to choose _one_ best person. After 4 ApacheCons I can choose many more best persons
+
+**What was your favourite ApacheCon talk, and why?**
+
+I still believe the TomEE talk by David Blevins is the best :) David is a great speaker, and his talk was very technical and full of examples
+
+**What did your project get from having you at ApacheCon?**
+
+I was able to improve Apache OpenMeetings a lot after ApacheCons, I got new ideas, new easier ways of implementing things
+
+Hopefully we got new users :)
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/nitin_kumar.md b/source/stories/interviews/nitin_kumar.md
new file mode 100644
index 0000000..21e3d3a
--- /dev/null
+++ b/source/stories/interviews/nitin_kumar.md
@@ -0,0 +1,42 @@
+## Nitin Kumar Maharana ##
+
+**What's your name?**
+
+Nitin Kumar Maharana
+
+**Which ApacheCon/Apache event did you attend?**
+
+ApacheCon and Apache Big Data North America, Miami, Florida,
+15th - 19th May 2017.
+
+**What Apache project(s)/Open Source Software project(s) are you involved in?**
+
+Apache CloudStack.
+
+**Where in the world are you from?**
+
+India
+
+**What was the best bit about ApacheCon?**
+
+It was an amazing opportunity to meet with techies from all over the
+world. Listen to their experiences in building large scale open source projects.
+
+**What was your favourite ApacheCon talk, and why?**
+
+I liked a couple of talks, but my most favourite ones were the lightning
+talks. Because I got exposed to many Apache projects in a very short period of 
+time. It’s a must-attend if you visit the event.
+
+**How did the Travel Assistance program compare to your expectations?** 
+
+It was simply beyond my expectations. Everything was super smooth,
+starting from the application
+to attending the event in Miami and returning to India. Everything was
+taken care of very well by TAC.
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+No need to think much, just rush and apply. It’s a great opportunity you
+should not miss if you are short of cash. The best part is you would be 
+meeting with so many like-minded people.
diff --git a/source/stories/interviews/pedro_giffuni.md b/source/stories/interviews/pedro_giffuni.md
new file mode 100644
index 0000000..82fac82
--- /dev/null
+++ b/source/stories/interviews/pedro_giffuni.md
@@ -0,0 +1,39 @@
+## Pedro Giffuni ##
+
+**What's your name?**
+
+I am Pedro Giffuni.
+
+**What Apache project are you involved in?**
+
+I am one of the main developers behind Apache OpenOffice and I am a developer
+in FreeBSD as well.
+
+**Where in the world are you from?**
+
+I am from Bogota, Colombia, and I also have Italian heritage.
+
+
+**What was the best bit about ApacheCon?**
+
+It was no doubt an awesome conference, with a huge variety of projects to choose from and complete tracks to follow many, or perhaps all, of your current interests. The best thing was to realize at the end of each day that you lost some interesting conferences because you just had to attend some other equally-interesting conferences, and if you had stayed home you would have missed everything. Oh, and the food is great, too.
+
+**What was your favourite ApacheCon talk, and why?**
+
+On the one hand there was Roman Shaposhnik's talk about OSv, a new Operating System designed for the cloud, but I will admit that I have some obsucre interest in new Operating Systems. On the other hand there was a talk from Davide Dozza about the adoption of Apache OpenOffice (and therefore *my* code) by the Public Administration in the city of Trieste, a beautiful Italian city where I lived and worked a while back.
+
+**What was your favourite non-talk part of ApacheCon?**
+
+By pure accident, I met a developer from a completely unrelated project that was of my interests several years before. It was so surprising that he remembered a posting to their list and we agreed on the next steps to finish what I had started. FreeBSD now carries a port of the REDUCE algebra system thanks to that accident.
+
+**What would you say to someone thinking of applying to TAC for the first time?**
+
+It's great! You will have to attend the complete conference, but it is the kind of thing you wanted to do to break the monotony of daily life. It is a great chance to meet face to face with your community, but it is also a great opportunity to get to know other projects and broaden your views on technical topics.
+
+**How did TAC and ApacheCon change your involvement in Apache?**
+
+I have no doubts I would not have been involved with my current Apache project if I hadn't met in person with the nice people in the community. ApacheCon also showed me exactly how amazing the ASF is: so many interesting projects to choose from and so little time (or skills) to get involved in all of them.
+
+Another thing I have to mention: without TAC, it would have been unthinkable for me to visit a country extremely far away from my experience where I have had no chances to learn the language: Hungary is really nice!!
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/piotr_zarzycki.md b/source/stories/interviews/piotr_zarzycki.md
new file mode 100644
index 0000000..96ab674
--- /dev/null
+++ b/source/stories/interviews/piotr_zarzycki.md
@@ -0,0 +1,45 @@
+## Piotr Zarzycki ##
+
+**What's your name?**
+
+Piotr Zarzycki
+
+**Which ApacheCon/Apache event did you attend?**
+
+I attended ApacheCon.
+
+**What Apache project(s)/Open Source Software project(s) are you involved in?**
+
+I am involved in the Apache Flex project.
+
+**Where in the world are you from?**
+
+I am from Poland (Cracow).
+
+
+**What was the best bit about ApacheCon?**
+
+Absolutely one of the best things was meeting people who you know only from
+mailing lists.
+
+**Who was the best person you met at ApacheCon, and why?**
+
+Chris Dutz - His smile and attitude to me and other people were amazing. He
+gathered not only people from the Apache Flex project, but also from other
+projects. Thanks to him I met many amazing people.
+
+Thank you so much, Chris!
+
+**What was your favourite ApacheCon talk, and why?**
+
+I think one of the best was Chris Dutz's talk "Building SCADA Systems with
+Apache Software" - He did his talk with a lot of passion, which not only I
+have felt but many other people. That was so strong that I know that his
+idea is realistic.
+
+**How did the Travel Assistance program compare to your expectations?**
+
+I'm not disappointed in any way related to TAC. People who handled the
+program were well prepared. My expectations were more than fulfilled.
+
+Thank you, TAC!
diff --git a/source/stories/interviews/rafael_weingartner.md b/source/stories/interviews/rafael_weingartner.md
new file mode 100644
index 0000000..cfe3ac7
--- /dev/null
+++ b/source/stories/interviews/rafael_weingartner.md
@@ -0,0 +1,56 @@
+## Rafael Weingärtner ##
+
+**What's your name?**
+
+I am Rafael Weingärtner.
+
+**What Apache project(s)/Open Source Software project(s) are you involved in?**
+
+Apache CloudStack and IOTA
+
+**Were you a student/academic at the time of ApacheCon?**
+
+Yes, I was a Ph.D. student in Computer Science 
+
+**Where in the world are you from?**
+
+Brazil
+
+**What was the best bit about ApacheCon?**
+
+The opportunity to meet great people from all around the world. Not just
+technical folks, but also people who know how to create and manage huge
+projects on a daily basis.
+
+Also Lightning talks; I swear that I am not only saying that
+because there were free beers and snacks ;)
+
+**What was the best new project you heardabout at ApacheCon?**
+
+Chronix, a database system based on Lucene and Solr that is optimized for 
+timeseries. That was
+kind of unexpected to see a project like that that can solve some of the problems
+I am facing in my Ph. D. It was also interesting to see other scholars
+actively participating and engaging in the Apache world. The Chronix was a
+nice example; it is mainly developed by a Ph.D. student.
+
+**What was your favourite non-talk part of ApacheCon?**
+
+The event at the Steamworks Brewing Company. Great beer and lots of fun.
+
+**Who was the best person you met at ApacheCon, and why?**
+
+Daan Hoogland; this guy is awesome. He is in the Apache
+CloudStack PMC, and we have been working together for over 4 years. We
+exchange emails weekly, and ApacheCon NA was the opportunity to meet and
+share a beer. Daan is not just a great coder and PMC member, but also a
+great friend.
+
+**What unexpected things did you learn at ApacheCon?**
+
+Apache Fey, which is part of Apache IOTA. This project is what I was
+looking for to serve the base for a system that I have been building.
+
+**What would you say to someone thinking ofapplying to TAC for the first time?**
+
+Go for it ;)  
diff --git a/source/stories/interviews/sharan_foga.md b/source/stories/interviews/sharan_foga.md
new file mode 100644
index 0000000..9d94eee
--- /dev/null
+++ b/source/stories/interviews/sharan_foga.md
@@ -0,0 +1,66 @@
+## Sharan Foga ##
+
+**What's your name (as you like to be called / shown for the interview)?**
+
+Sharan Foga
+
+**What Apache project are you involved in?**
+
+Apache OFBiz
+
+**Were you a student/academic at the time of ApacheCon?**
+
+No
+
+**Where in the world are you from?**
+
+I'm a bit of a global traveller. I'm originally from the UK but currently
+live in the Czech Republic.
+
+
+**What was the most interesting thing you learned at ApacheCon?**
+
+At the Barcamp I learned that everyone in a community is empowered to do
+what they think is the best for their project.
+
+This has helped me to begin actively proposing and launching different
+initiatives for my project.
+
+**What unexpected things did you learn at ApacheCon?**
+
+Apachecon is for anyone involved in a community.
+
+I'm not a developer or a technical person, so was initially concerned that I
+wouldnt fit in or that everyone would be speaking "techspeak".
+
+Instead I found that Apache is like a huge open family and you don't have to
+be a techie to be a part of it.
+
+At the time I applied, I was surprised to find out that I was the only
+female TAC volunteer - so I would urge women to apply.
+
+**How did the Travel Assistance program compare to your expectations?**
+
+I expected to arrive at Apachecon and then just be given a list of tasks to
+do.
+
+Instead, as well as managing all my travel and accommodation planning, the
+TAC team organised a dinner for all the TAC volunteers, so we
+could meet and get to know each other informally. This meant that throughout
+Apachecon we became a little micro community. This was
+demonstrated several times when one of us was not available to do an
+allocated task, and someone else would quickly jump  in to cover it.
+
+From the moment you arrive at Apachecon, you are never alone!
+
+**What did your project get from having you at ApacheCon?**
+
+During Apachecon myself and other attendees from my project decided to run
+an informal brainstorming session. We came up with a lot of
+suggestions for mailing list discussion proposals. The result being that our
+community has agreed to progress some of these areas.
+
+I think the dynamics of having a face to face meeting improves interaction
+on the mailing lists and helps collaboration.
+
+-------------------------------------------------------------------
diff --git a/source/stories/interviews/yash_sharma.md b/source/stories/interviews/yash_sharma.md
new file mode 100644
index 0000000..8df6227
--- /dev/null
+++ b/source/stories/interviews/yash_sharma.md
@@ -0,0 +1,28 @@
+## Yash Sharma ##
+
+**What's your name?**
+
+Yash Sharma 
+
+**What Apache project are you involved in?**
+
+I am a contributor to Apache Drill and Apache Calcite, and a committer to Apache Lens.
+
+**Where in the world are you from?**
+
+India. 
+
+
+**What was the best bit about ApacheCon?**
+
+The best bit is definitely meeting the best people from around the globe who share the same passion for software and sharing. It's great listening to experienced senior programmers and the interesting use cases they have been solving.
+
+**What was the best new project you heard about at ApacheCon?**
+
+I heard about Apache Lens for the first time @ApacheCon Austin and started contributing to it. Now I am a proud Committer to the project. 
+
+**How has TAC and ApacheCon helped your studies/research/career?**
+
+I used to be a newbie contributor to Apache when I started off. Being at Apache con I was more motivated than ever. I started into serious contribution mode and made it a practice to devote some time to the community. I have been learning a lot of new things every day thanks to ApacheCon and my friends in projects @ApacheDrill, @ApacheLens and @ApacheCalcite. Loads of thanks to TAC for this opportunity by virtue of which all of this was possible. 
+
+-------------------------------------------------------------------
diff --git a/source/stories/iot.md b/source/stories/iot.md
new file mode 100644
index 0000000..7ba2216
--- /dev/null
+++ b/source/stories/iot.md
@@ -0,0 +1,18 @@
+Title:     IoT (Internet of Things) stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# IoT (Internet of Things) stories from past Travel Assistance Recipients {#iot-internet-of-things-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/piotr_zarzycki.md" %}}
+
+{{% insertfile  file="interviews/rafael_weingartner.md" %}}
diff --git a/source/stories/nosql_databases.md b/source/stories/nosql_databases.md
new file mode 100644
index 0000000..010254e
--- /dev/null
+++ b/source/stories/nosql_databases.md
@@ -0,0 +1,18 @@
+Title:     NoSQL and Database stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# NoSQL and Datbase stories from past Travel Assistance Recipients {#nosql-and-datbase-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/yash_sharma.md" %}}
+
+{{% insertfile  file="interviews/keren_ouaknine.md" %}}
diff --git a/source/stories/students.md b/source/stories/students.md
new file mode 100644
index 0000000..198fe2a
--- /dev/null
+++ b/source/stories/students.md
@@ -0,0 +1,24 @@
+Title:     Student and Academic stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Student and Academic stories from past Travel Assistance Recipients {#student-and-academic-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/bhargav_golla.md" %}}
+
+{{% insertfile  file="interviews/rafael_weingartner.md" %}}
+
+{{% insertfile  file="interviews/keren_ouaknine.md" %}}
+
+{{% insertfile  file="interviews/dammina_sahabandu.md" %}}
+
+{{% insertfile  file="interviews/gabriel_brascher.md" %}}
diff --git a/source/stories/web_framework.md b/source/stories/web_framework.md
new file mode 100644
index 0000000..67fc256
--- /dev/null
+++ b/source/stories/web_framework.md
@@ -0,0 +1,28 @@
+Title:     Web Framework stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Web Framework stories from past Travel Assistance Recipients {#web-framework-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/piotr_zarzycki.md" %}}
+
+{{% insertfile  file="interviews/andriy_redko.md" %}}
+
+{{% insertfile  file="interviews/gaurav_saini.md" %}}
+
+{{% insertfile  file="interviews/maxim_solodovnik.md" %}}
+
+{{% insertfile  file="interviews/sharan_foga.md" %}}
+
+{{% insertfile  file="interviews/bhargav_golla.md" %}}
+
+{{% insertfile  file="interviews/jeff_genender.md" %}}
diff --git a/source/stories/women.md b/source/stories/women.md
new file mode 100644
index 0000000..10ccc7d
--- /dev/null
+++ b/source/stories/women.md
@@ -0,0 +1,18 @@
+Title:     Women's stories from past ApacheCon Travel Assistance Recipients
+license: https://www.apache.org/licenses/LICENSE-2.0
+
+<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
+
+# Women's stories from past Travel Assistance Recipients {#womens-stories-for-past-travel-assistance-recipients}
+
+This is part of our series of stories from past ApacheCon and
+Apache Big Data attendees whom the Apache Travel
+Assistance committee helped be at the event. To learn more about
+TAC, visit the [main TAC page](/). For more stories,
+see the [TAC stories index page](/stories).
+
+{{% toc %}}
+
+{{% insertfile  file="interviews/keren_ouaknine.md" %}}
+
+{{% insertfile  file="interviews/sharan_foga.md" %}}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 27/30: Merge branch 'apache:main' into main

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit c90d4f263f219b5c64c9617007f2ede29adf38a7
Merge: 635b73f 5ec0841
Author: sebbASF <se...@users.noreply.github.com>
AuthorDate: Fri Mar 24 23:21:30 2023 +0000

    Merge branch 'apache:main' into main

 layouts/_default/baseof.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 25/30: Merge pull request #2 from sebbASF/main

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 5ec0841f2dd62b8ebd75070fa76a42eb42e40ae1
Merge: fb11bf3 79aba1a
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Fri Mar 24 19:47:39 2023 +0100

    Merge pull request #2 from sebbASF/main
    
    Convert from apache.org

 layouts/shortcodes/insertfile.html              |   8 ++
 layouts/shortcodes/title.html                   |   1 +
 source/index_old.md                             | 170 ++++++++++++++++++++++++
 source/stories/__index.md                       |  45 ++++---
 source/stories/big_data.md                      |  20 +++
 source/stories/build_systems.md                 |  17 +++
 source/stories/cloud.md                         |  24 ++++
 source/stories/content.md                       |  26 ++++
 source/stories/http.md                          |  18 +++
 source/stories/interviews/andriy_redko.md       |  39 ++++++
 source/stories/interviews/bhargav_golla.md      |  44 ++++++
 source/stories/interviews/dammina_sahabandu.md  |  28 ++++
 source/stories/interviews/gabriel_brascher.md   |  42 ++++++
 source/stories/interviews/gaurav_saini.md       |  34 +++++
 source/stories/interviews/ignasi_barrera.md     |  61 +++++++++
 source/stories/interviews/jeff_genender.md      |  45 +++++++
 source/stories/interviews/keren_ouaknine.md     |  47 +++++++
 source/stories/interviews/maxim_solodovnik.md   |  36 +++++
 source/stories/interviews/nitin_kumar.md        |  42 ++++++
 source/stories/interviews/pedro_giffuni.md      |  39 ++++++
 source/stories/interviews/piotr_zarzycki.md     |  45 +++++++
 source/stories/interviews/rafael_weingartner.md |  56 ++++++++
 source/stories/interviews/sharan_foga.md        |  66 +++++++++
 source/stories/interviews/yash_sharma.md        |  28 ++++
 source/stories/iot.md                           |  18 +++
 source/stories/nosql_databases.md               |  18 +++
 source/stories/students.md                      |  24 ++++
 source/stories/web_framework.md                 |  28 ++++
 source/stories/women.md                         |  18 +++
 29 files changed, 1072 insertions(+), 15 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 09/30: trivial edit to trigger build

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 3759c8192b4d25520b92d54e450e895da5c140a9
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 14:30:08 2023 +0100

    trivial edit to trigger build
---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index e674552..eb97019 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
 # tac-website
 
 This repository builds the TAC website
+How to build locally using Hugo coming soon


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 03/30: remove lock file

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 4864b8a97449643f3d4417df4a9bf3c164add36b
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 09:23:20 2023 +0100

    remove lock file
---
 .hugo_build.lock | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/.hugo_build.lock b/.hugo_build.lock
deleted file mode 100644
index e69de29..0000000


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 30/30: Merge pull request #4 from sebbASF/headerlink

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 7dcf4c837735ba0da3b083599f79483c08dc4308
Merge: 5ec0841 5a8aea4
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Sat Mar 25 14:07:51 2023 +0100

    Merge pull request #4 from sebbASF/headerlink
    
    Headerlink

 config.toml                                  | 4 +++-
 layouts/_default/_markup/render-heading.html | 5 +++++
 source/stories/big_data.md                   | 5 -----
 source/stories/build_systems.md              | 5 -----
 source/stories/cloud.md                      | 5 -----
 source/stories/content.md                    | 3 ---
 source/stories/http.md                       | 5 -----
 source/stories/iot.md                        | 5 -----
 source/stories/nosql_databases.md            | 5 -----
 source/stories/students.md                   | 5 -----
 source/stories/web_framework.md              | 5 -----
 source/stories/women.md                      | 5 -----
 static/css/main.css                          | 7 +++++++
 13 files changed, 15 insertions(+), 49 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 26/30: Don't want individual interviews

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 635b73ff0a4d80a2763fcc667f14556bd88d6b9e
Author: Sebb <se...@apache.org>
AuthorDate: Fri Mar 24 23:20:23 2023 +0000

    Don't want individual interviews
---
 config.toml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/config.toml b/config.toml
index 0933e2a..1e77442 100644
--- a/config.toml
+++ b/config.toml
@@ -12,7 +12,9 @@ disableBrowserError = true
 timeout = 3000
 
 disableKinds = ["taxonomy", "taxonomyTerm"]
-ignoreFiles = [ ] # No files to ignore
+
+# The individual interview source files are included under stories
+ignoreFiles = ['/interviews/']
 
 # Highlighting config. See https://help.farbox.com/pygments.html
 pygmentsCodeFences = true


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 28/30: Drop unnecessary cruft

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit b345013d94f5ce92c081e974180ce21022640d7e
Author: Sebb <se...@apache.org>
AuthorDate: Sat Mar 25 00:28:07 2023 +0000

    Drop unnecessary cruft
---
 source/stories/big_data.md        | 5 -----
 source/stories/build_systems.md   | 5 -----
 source/stories/cloud.md           | 5 -----
 source/stories/content.md         | 3 ---
 source/stories/http.md            | 5 -----
 source/stories/iot.md             | 5 -----
 source/stories/nosql_databases.md | 5 -----
 source/stories/students.md        | 5 -----
 source/stories/web_framework.md   | 5 -----
 source/stories/women.md           | 5 -----
 10 files changed, 48 deletions(-)

diff --git a/source/stories/big_data.md b/source/stories/big_data.md
index c8f51e8..0043707 100644
--- a/source/stories/big_data.md
+++ b/source/stories/big_data.md
@@ -1,8 +1,3 @@
-Title:     Big Data stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Big Data stories from past Travel Assistance Recipients {#big-data-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/build_systems.md b/source/stories/build_systems.md
index 3b594b5..5f95151 100644
--- a/source/stories/build_systems.md
+++ b/source/stories/build_systems.md
@@ -1,8 +1,3 @@
-Title:     Build System stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Build System stories from past Travel Assistance Recipients {#build-system-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/cloud.md b/source/stories/cloud.md
index e9b0c06..9206a52 100644
--- a/source/stories/cloud.md
+++ b/source/stories/cloud.md
@@ -1,8 +1,3 @@
-Title:     Cloud stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Cloud stories from past Travel Assistance Recipients {#cloud-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/content.md b/source/stories/content.md
index eb61d55..f238806 100644
--- a/source/stories/content.md
+++ b/source/stories/content.md
@@ -1,6 +1,3 @@
-Title:     Content stories from past Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
 # Content System stories from past Travel Assistance Recipients {#content-system-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/http.md b/source/stories/http.md
index b7ba7a8..4a1f0ef 100644
--- a/source/stories/http.md
+++ b/source/stories/http.md
@@ -1,8 +1,3 @@
-Title:     HTTP stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # HTTP stories from past Travel Assistance Recipients {#http-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/iot.md b/source/stories/iot.md
index 7ba2216..0ad1593 100644
--- a/source/stories/iot.md
+++ b/source/stories/iot.md
@@ -1,8 +1,3 @@
-Title:     IoT (Internet of Things) stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # IoT (Internet of Things) stories from past Travel Assistance Recipients {#iot-internet-of-things-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/nosql_databases.md b/source/stories/nosql_databases.md
index 010254e..2d21cf7 100644
--- a/source/stories/nosql_databases.md
+++ b/source/stories/nosql_databases.md
@@ -1,8 +1,3 @@
-Title:     NoSQL and Database stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # NoSQL and Datbase stories from past Travel Assistance Recipients {#nosql-and-datbase-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/students.md b/source/stories/students.md
index 198fe2a..9933bf7 100644
--- a/source/stories/students.md
+++ b/source/stories/students.md
@@ -1,8 +1,3 @@
-Title:     Student and Academic stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Student and Academic stories from past Travel Assistance Recipients {#student-and-academic-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/web_framework.md b/source/stories/web_framework.md
index 67fc256..445dcd8 100644
--- a/source/stories/web_framework.md
+++ b/source/stories/web_framework.md
@@ -1,8 +1,3 @@
-Title:     Web Framework stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Web Framework stories from past Travel Assistance Recipients {#web-framework-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and
diff --git a/source/stories/women.md b/source/stories/women.md
index 10ccc7d..0c33d9e 100644
--- a/source/stories/women.md
+++ b/source/stories/women.md
@@ -1,8 +1,3 @@
-Title:     Women's stories from past ApacheCon Travel Assistance Recipients
-license: https://www.apache.org/licenses/LICENSE-2.0
-
-<style type="text/css">strong  { color: #303284; font-size: 140%; }</style>
-
 # Women's stories from past Travel Assistance Recipients {#womens-stories-for-past-travel-assistance-recipients}
 
 This is part of our series of stories from past ApacheCon and


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 10/30: tweaks

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit d6fda987174b94d7ea3fdddba766dfae43198a5a
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sat Feb 25 12:23:31 2023 +0100

    tweaks
---
 Jenkinsfile                              | 40 +++++++++++++++++++++++++++++---
 layouts/_default/baseof.html             |  1 +
 source/stories/{_index.md => __index.md} |  0
 3 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index d9d4918..5e68008 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -23,8 +23,9 @@ pipeline {
     }
    
     environment {
-        HUGO_VERSION = '0.63.2'
+        HUGO_VERSION = '0.66.0'
         DEPLOY_BRANCH = 'asf-site'
+        STAGING_BRANCH = 'asf-staging'
     }
 
     stages {
@@ -61,6 +62,40 @@ pipeline {
                 }
             }
         }
+        stage('Staging') {
+            when {
+                 not {
+                     branch 'main'
+                 } 
+            }
+            steps {
+                script {
+                    // Checkout branch with generated content
+                    sh """
+                        git checkout ${STAGING_BRANCH}
+                        git pull origin ${STAGING_BRANCH}
+                    """
+                    
+                    // Remove the content of the target branch and replace it with the content of the temp folder
+                    sh """
+                        rm -rf ${WORKSPACE}/content
+                        git rm -r --cached content/*
+                        mkdir -p ${WORKSPACE}/content
+                        cp -rT ${env.TMP_DIR}/* ${WORKSPACE}/content
+                    """
+                    
+                    // Commit the changes to the target branch
+                    env.COMMIT_MESSAGE = "Staged site from ${BRANCH_NAME} (${env.LAST_SHA})"
+                    sh """
+                        git add -A
+                        git commit -m "${env.COMMIT_MESSAGE}" | true
+                    """
+                    
+                    // Push the generated content for deployment
+                    sh "git push -u origin ${STAGING_BRANCH}"
+                }
+            }
+        }
         stage('Deploy') {
             when {
                 anyOf {
@@ -71,7 +106,6 @@ pipeline {
                 script {
                     // Checkout branch with generated content
                     sh """
-                        git fetch
                         git checkout ${DEPLOY_BRANCH}
                         git pull origin ${DEPLOY_BRANCH}
                     """
@@ -85,7 +119,7 @@ pipeline {
                     """
                     
                     // Commit the changes to the target branch
-                    env.COMMIT_MESSAGE = "Updated ${DEPLOY_BRANCH} from ${BRANCH_NAME} at ${env.LAST_SHA} using ${BUILD_URL}"
+                    env.COMMIT_MESSAGE = "Updated site from ${BRANCH_NAME} (${env.LAST_SHA})"
                     sh """
                         git add -A
                         git commit -m "${env.COMMIT_MESSAGE}" | true
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 8a60f76..bd004a0 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -71,6 +71,7 @@
               </a>
               <div class="dropdown-menu" aria-labelledby="aboutDropdown">
                 <a class="dropdown-item" href="/about/">What We Do</a>
+                <a class="dropdown-item" href="/stories/">Stories</a>
                 <div class="dropdown-divider"></div>
                 <a class="dropdown-item text-uppercase disabled" href="#">About Apache</a>
                 <a class="dropdown-item" href="https://www.apache.org/">The Apache Software Foundation</a>
diff --git a/source/stories/_index.md b/source/stories/__index.md
similarity index 100%
rename from source/stories/_index.md
rename to source/stories/__index.md


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 20/30: link to events page.

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 3a6674f840b06ef0f1e00403f61b9af67b2ae1fb
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Thu Mar 23 12:13:40 2023 +0100

    link to events page.
---
 source/_index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/_index.md b/source/_index.md
index 635c20b..7545520 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -48,7 +48,7 @@ To apply, complete the on line application.</p>
         </div>
         <div class="col-md-auto">
         <h4>Events for which support is available</h4>
-          <p>There are currently no events being supported by TAC, please check back regularly for updates</p>
+            <p>Berlin Buzzwords 2023 - see our <a href='/events/current.html' events page</a> for more details.</p>
           </div>
           <div class="col-md-auto">
           <h4>Stories from past TAC recipients</h4>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 17/30: remove google search, not needed

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 54bb4379228c04412d280c092dc6ba934af9600a
Author: gmcdonald <gm...@apache.org>
AuthorDate: Mon Feb 27 19:27:20 2023 +0100

    remove google search, not needed
---
 layouts/_default/baseof.html | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 41cb9ec..6024e7d 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -30,14 +30,6 @@
   <link href="/css/main.css" rel="stylesheet" media="screen">
   <link href="/css/bootstrap.min.css" rel="stylesheet" media="screen">
   <style type="text/css">
-      /* Google Search box customizations */
-      .gsc-search-box input.gsc-input, .gcse-search-box input.gsc-input:focus {
-          -webkit-box-shadow:none;
-          box-shadow:none;
-          -moz-box-shadow:none;
-          border-radius:0px;
-      }
-
       .footer {
           text-align:center;
           color:grey;
@@ -108,9 +100,6 @@
         <div class="col-md-9">
           <h3 class="mt-3 text-muted">The Apache Software Foundation</h3>
         </div>
-        <div class="col-md-3 pull-right">
-          <div class="gcse-search"></div>
-        </div>
         <div class="col-md-12"><h4 class="text-muted">TAC</h4></div>
       </section>
       {{ partial "breadcrumbs.html" . }}
@@ -152,17 +141,5 @@
 
   <script src="/js/jquery-1.9.1.min.js"></script>
   <script src="/js/bootstrap.min.js"></script>
-  <script>
-    (function() {
-      var cx = '012254517474945470291:vhsfv7eokdc';
-      var gcse = document.createElement('script');
-      gcse.type = 'text/javascript';
-      gcse.async = true;
-      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
-          '//www.google.com/cse/cse.js?cx=' + cx;
-      var s = document.getElementsByTagName('script')[0];
-      s.parentNode.insertBefore(gcse, s);
-    })();
-  </script>
 </body>
 </html>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 13/30: remove uglyULS option, rename stories

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 52b0f4e8254b3074ccec657853321cbb9c21adac
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sat Feb 25 17:13:23 2023 +0100

    remove uglyULS option, rename stories
---
 config.toml                             | 2 +-
 source/stories/{__index.md => index.md} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/config.toml b/config.toml
index 0933e2a..bb597b6 100644
--- a/config.toml
+++ b/config.toml
@@ -6,7 +6,7 @@ contentDir = "source"
 publishDir = "target/content"
 
 disablePathToLower = true
-uglyURLs = true
+# uglyURLs = true # disable ugly
 enableRobotsTXT = true
 disableBrowserError = true
 timeout = 3000
diff --git a/source/stories/__index.md b/source/stories/index.md
similarity index 100%
rename from source/stories/__index.md
rename to source/stories/index.md


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 21/30: close angled bracket

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit ca931043739fad837e4b2ea384eff443eee8ef00
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Thu Mar 23 12:14:36 2023 +0100

    close angled bracket
---
 source/_index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/_index.md b/source/_index.md
index 7545520..0519305 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -48,7 +48,7 @@ To apply, complete the on line application.</p>
         </div>
         <div class="col-md-auto">
         <h4>Events for which support is available</h4>
-            <p>Berlin Buzzwords 2023 - see our <a href='/events/current.html' events page</a> for more details.</p>
+            <p>Berlin Buzzwords 2023 - see our <a href='/events/current.html'>events page</a> for more details.</p>
           </div>
           <div class="col-md-auto">
           <h4>Stories from past TAC recipients</h4>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 15/30: no current events, tweak stories index

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit dabb8f88d03a25757815e0de2400c18ebcea2b27
Author: gmcdonald <gm...@apache.org>
AuthorDate: Sun Feb 26 10:37:44 2023 +0100

    no current events, tweak stories index
---
 source/_index.md        | 8 +-------
 source/stories/index.md | 3 ++-
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/source/_index.md b/source/_index.md
index e883e47..b8f6868 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -47,13 +47,7 @@ To apply, complete the on line application.</p>
         </div>
         <div class="col-md-auto">
         <h4>Events for which support is available</h4>
-        <p>Applications are now open for assistance to ApacheCon NA New Orleans which is on between the 3rd and 6th of October 2022. Closing date for Applications for Travel Assistance to this event has been extended to 8th July 2022.
-
-Travel Assistance includes travel to the event, via plane,train etc; and optionally includes if needed the cost of Hotel accomodation and also Conference tickets.
-
-Applications are open to anyone involved in open source , not just at the Apache Software Foundation, but anywhere. If you are unsure if you want to apply - we encourage you to read the Stories from past recipients as mentioned below!
-
-Good luck and hope to see you in New Orleans!</p>
+          <p>There are currently no events being supported by TAC, please check back regularly for updates</p>
           </div>
           <div class="col-md-auto">
           <h4>Stories from past TAC recipients</h4>
diff --git a/source/stories/index.md b/source/stories/index.md
index 3ba352f..660fccb 100644
--- a/source/stories/index.md
+++ b/source/stories/index.md
@@ -13,8 +13,9 @@ title: Travel Assistance Committee - TAC
 
 <!-- Row 1 -->
 <div class="row">
-    <div class="col-md-4">
+    <div class="col-md-auto">
         <h4>Stories from previous successful applicants</h4>
+          <p>Stories coming soon!</p>
     </div>
 </div>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 05/30: Add skeleton for stories

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 981af1bfd07e1cb9eac28af35d67a9c34babc9ba
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 11:18:43 2023 +0100

    Add skeleton for stories
---
 source/stories/_index.md | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/source/stories/_index.md b/source/stories/_index.md
new file mode 100644
index 0000000..3ba352f
--- /dev/null
+++ b/source/stories/_index.md
@@ -0,0 +1,22 @@
+---
+title: Travel Assistance Committee - TAC
+---
+
+<div class="jumbotron">
+<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
+<h2>Travel Assistance Committee</h2>
+<h3>Stories</h3>
+</div>
+
+<a name="Index-Startingpoints"></a>
+
+
+<!-- Row 1 -->
+<div class="row">
+    <div class="col-md-4">
+        <h4>Stories from previous successful applicants</h4>
+    </div>
+</div>
+
+</div>
+


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 07/30: tweak readme to trigger a build

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 6dabae472f27f9e029b972bdee0870de5c023e83
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 12:22:51 2023 +0100

    tweak readme to trigger a build
---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 28d0160..e674552 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 # tac-website
+
+This repository builds the TAC website


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 01/30: basic readme

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 6fc568e642d5bf5663baa9e385236d6442504c79
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 10 12:27:02 2023 +0100

    basic readme
---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..28d0160
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# tac-website


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 02/30: Add initial website layout. Based on community.a.o site code

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit e683b21a4f78ca8beb8791192bb3e343e707d5eb
Author: gmcdonald <gm...@apache.org>
AuthorDate: Thu Feb 23 13:30:20 2023 +0100

    Add initial website layout. Based on community.a.o site code
---
 .asf.yaml                                 |    13 +
 .gitignore                                |     8 +
 .hugo_build.lock                          |     0
 Jenkinsfile                               |   112 +
 archetypes/default.md                     |     6 +
 config.toml                               |    43 +
 layouts/_default/baseof.html              |   162 +
 layouts/_default/list.html                |     3 +
 layouts/_default/single.html              |     3 +
 layouts/partials/breadcrumbs.html         |    15 +
 layouts/robots.txt                        |     6 +
 layouts/shortcodes/toc.html               |     1 +
 source/_index.md                          |   108 +
 static/.htaccess                          |     3 +
 static/css/bootstrap.css                  | 10259 ++++++++++++++++++++++++++++
 static/css/bootstrap.min.css              |     7 +
 static/css/main.css                       |    22 +
 static/favicon.ico                        |   Bin 0 -> 1086 bytes
 static/images/aceu19_1.jpg                |   Bin 0 -> 159826 bytes
 static/images/aceu19_2.jpg                |   Bin 0 -> 150738 bytes
 static/images/favicon.ico                 |   Bin 0 -> 1595 bytes
 static/img/glyphicons-halflings-white.png |   Bin 0 -> 8777 bytes
 static/img/glyphicons-halflings.png       |   Bin 0 -> 12799 bytes
 static/js/bootstrap.js                    |  4410 ++++++++++++
 static/js/bootstrap.min.js                |     7 +
 static/js/jquery-1.9.1.min.js             |     5 +
 static/style/attic.css                    |     5 +
 static/style/compressed.css               |     1 +
 static/style/ie.css                       |    27 +
 static/style/style.css                    |   160 +
 30 files changed, 15386 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..af62490
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,13 @@
+github:
+  description: "Website sources for the Travel Assistance Committee"
+  homepage: https://tac.apache.org
+  labels:
+    - asf
+    - travel
+    - tac
+    - hugo
+
+notifications:
+  commits:      commits@tac.apache.org
+  issues:       commits@tac.apache.org
+  pullrequests: commits@tac.apache.org
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f59683c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+# Hugo generated
+resources
+target
+
+# IntelliJ generated
+*.iml
+.idea
+.java-version
diff --git a/.hugo_build.lock b/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..cc88001
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,112 @@
+#!groovy
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+pipeline {
+    agent {
+        // https://cwiki.apache.org/confluence/display/INFRA/Jenkins+node+labels
+        label 'git-websites'
+    }
+   
+    environment {
+        HUGO_VERSION = '0.63.2'
+        DEPLOY_BRANCH = 'asf-site'
+    }
+
+    stages {
+        stage('Prepare') {
+            steps {
+                script {
+                    // Capture last commit hash for final commit message
+                    env.LAST_SHA = sh(script:'git log -n 1 --pretty=format:\'%H\'', returnStdout: true).trim()
+
+                    // Setup Hugo
+                    env.HUGO_DIR = sh(script:'mktemp -d', returnStdout: true).trim()
+                    sh """
+                        mkdir -p ${env.HUGO_DIR}/bin
+                        cd ${env.HUGO_DIR}
+                        wget --no-verbose -O hugo.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
+                        tar xfzv hugo.tar.gz
+                        mv hugo ${env.HUGO_DIR}/bin/
+                    """
+
+                    // Setup directory structure for generated content
+                    env.TMP_DIR = sh(script:'mktemp -d', returnStdout: true).trim()
+                    env.OUT_DIR = "${env.TMP_DIR}/content"
+                    sh "mkdir -p ${env.OUT_DIR}"
+                    
+                }
+            }
+        }
+        stage('Build') {
+            steps {
+                script {
+                    withEnv(["PATH+HUGO=${env.HUGO_DIR}/bin"]) {
+                        sh "hugo --destination ${env.OUT_DIR}"
+                    }
+                }
+            }
+        }
+        stage('Deploy') {
+            when {
+                anyOf {
+                    branch 'main'
+                }
+            }
+            steps {
+                script {
+                    // Checkout branch with generated content
+                    sh """
+                        git checkout ${DEPLOY_BRANCH}
+                        git pull origin ${DEPLOY_BRANCH}
+                    """
+                    
+                    // Remove the content of the target branch and replace it with the content of the temp folder
+                    sh """
+                        rm -rf ${WORKSPACE}/content
+                        git rm -r --cached content/*
+                        mkdir -p ${WORKSPACE}/content
+                        cp -rT ${env.TMP_DIR}/* ${WORKSPACE}/content
+                    """
+                    
+                    // Commit the changes to the target branch
+                    env.COMMIT_MESSAGE = "Updated ${DEPLOY_BRANCH} from ${BRANCH_NAME} at ${env.LAST_SHA} using ${BUILD_URL}"
+                    sh """
+                        git add -A
+                        git commit -m "${env.COMMIT_MESSAGE}" | true
+                    """
+                    
+                    // Push the generated content for deployment
+                    sh "git push -u origin ${DEPLOY_BRANCH}"
+                }
+            }
+        }
+    }
+    
+    post {
+        always {
+            script {
+                sh """
+                    rm -rf ${env.HUGO_DIR}
+                    rm -rf ${env.TMP_DIR}
+                """
+            }
+            deleteDir() /* clean up our workspace */
+        }
+    }
+}
+
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..0933e2a
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,43 @@
+baseURL = "https://tac.apache.org"
+title = "ASF TAC"
+languageCode = "en"
+
+contentDir = "source"
+publishDir = "target/content"
+
+disablePathToLower = true
+uglyURLs = true
+enableRobotsTXT = true
+disableBrowserError = true
+timeout = 3000
+
+disableKinds = ["taxonomy", "taxonomyTerm"]
+ignoreFiles = [ ] # No files to ignore
+
+# Highlighting config. See https://help.farbox.com/pygments.html
+pygmentsCodeFences = true
+pygmentsUseClasses = false
+pygmentsStyle = "emacs"
+
+# Enable Git variables like commit, lastmod
+enableGitInfo = true
+
+[markup.goldmark.renderer]
+unsafe = true
+
+[blackfriday]
+fractions = false
+
+[frontmatter]
+date = ["date", ":filename", "publishDate", "lastmod"]
+
+[params]
+# Source Code repository section
+repositoryUrl = "https://github.com/apache/tac-website"
+repositorySourceBranch = "main"
+
+# Open Graph section
+title = "Travel Assistance Committee (TAC)"
+description = "The Travel Assistance Committee helps people get to ASF related events that they could not otherwise afford to attend."
+# images = [] # Images are placed in `static/images`
+tags = ["TAC", "Travel Assistance", "Apache Software Foundation"]
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..8a60f76
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       https://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<html>
+<head>
+  <meta name="description" content="ASF Travel Assistance Committee"/>
+  <meta name="keywords" content="asf, tac, travel assistance, apachecon, anca, aceu"/>
+  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
+  {{ template "_internal/opengraph.html" . }}
+
+  <title>ASF Travel Assistance Committee - {{ .Title }}</title>
+  <link rel="shortcut icon" href="images/favicon.ico">
+
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <link href="/css/main.css" rel="stylesheet" media="screen">
+  <link href="/css/bootstrap.min.css" rel="stylesheet" media="screen">
+  <style type="text/css">
+      /* Google Search box customizations */
+      .gsc-search-box input.gsc-input, .gcse-search-box input.gsc-input:focus {
+          -webkit-box-shadow:none;
+          box-shadow:none;
+          -moz-box-shadow:none;
+          border-radius:0px;
+      }
+
+      .footer {
+          text-align:center;
+          color:grey;
+          font-size:80%;
+          border-top: solid #ddd 1px;
+          margin-top:1em;
+      }
+      .navbar-brand img {
+          height: 50px;
+      }
+  </style>
+</head>
+
+<body>
+  <header class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
+    <div class="container">
+      <a class="navbar-brand" href="/">
+        <img src="https://svn.apache.org/repos/asf/comdev/project-logos/originals/foundation.svg" alt="Apache Software Foundation">
+      </a>
+      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNavbar" aria-controls="mainNavbar" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+
+      <div class="collapse navbar-collapse" id="mainNavbar">
+        <div class="container"> <!-- this one is required to center Nav -->
+          <ul class="navbar-nav mr-auto">
+            <li class="nav-item"><a class="nav-link" href="/">Home</a></li>
+            <li class="nav-item dropdown">
+              <a class="nav-link dropdown-toggle" href="#" id="aboutDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                About
+              </a>
+              <div class="dropdown-menu" aria-labelledby="aboutDropdown">
+                <a class="dropdown-item" href="/about/">What We Do</a>
+                <div class="dropdown-divider"></div>
+                <a class="dropdown-item text-uppercase disabled" href="#">About Apache</a>
+                <a class="dropdown-item" href="https://www.apache.org/">The Apache Software Foundation</a>
+                <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship">Sponsor Apache</a>
+                <a class="dropdown-item" href="https://www.apache.org/foundation/thanks">Thanks to our Sponsors</a>
+                <a class="dropdown-item" href="https://www.apache.org/licenses">License</a>
+                <a class="dropdown-item" href="https://www.apache.org/security">Security</a>
+              </div>
+            </li>
+            <li class="nav-item dropdown">
+              <a class="nav-link dropdown-toggle" href="#" id="eventDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                Events
+              </a>
+              <div class="dropdown-menu" aria-labelledby="eventDropdown">
+                <a class="dropdown-item" href="https://apachecon.com/">ApacheCon - The official event of the ASF</a>
+                <a class="dropdown-item" href="/calendars/">Major Apache-related Events</a>
+                <a class="dropdown-item" href="https://www.apache.org/events/meetups.html">Upcoming Apache-related meetups</a>
+              </div>
+            </li>
+          </ul>
+        </div>
+      </div><!--/.navbar-collapse -->
+    </div><!--container div-->
+  </header>
+
+  <main class="cd-main" id="content" role="main">
+    <div class="container">
+      <section id="content" class="row">
+        <div class="col-md-9">
+          <h3 class="mt-3 text-muted">The Apache Software Foundation</h3>
+        </div>
+        <div class="col-md-3 pull-right">
+          <div class="gcse-search"></div>
+        </div>
+        <div class="col-md-12"><h4 class="text-muted">TAC</h4></div>
+      </section>
+      {{ partial "breadcrumbs.html" . }}
+      <hr>
+      {{ block "main" . }}{{ end }}
+    </div>
+  </main>
+
+  <footer class="page-footer bg-secondary mt-4 pt-3">
+    <div class="container text-center text-md-left mb-3">
+      <div class="row">
+        <div class="col-md-6 mt-md-0 mt-3">
+          <h5 class="text-uppercase">Trademarks</h5>
+          <p>
+            Apache&reg;, the names of Apache projects, and the multicolor feather logo are
+            <a href="https://www.apache.org/foundation/marks/list/">registered trademarks or trademarks</a> of the Apache
+            Software Foundation in the United States and/or other countries.
+          </p>
+        </div>
+
+        <hr class="clearfix w-100 d-md-none pb-3">
+
+        <div class="col-md-6 mb-md-0 mb-3">
+          <h5 class="text-uppercase">Website sources</h5>
+
+          <p>
+            This website is generated from the <a href="https://github.com/apache/tac-website">tac-website repository</a>.<br>
+            Patches are welcome!
+          </p>
+        </div>
+      </div>
+    </div>
+
+    <div class="footer-copyright text-center py-3">
+      <em>Copyright &copy; {{ now.Year }}, <a href="https://www.apache.org/">the Apache Software Foundation</a>. Licensed under the
+      <a rel="license" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></em>
+    </div>
+  </footer>
+
+  <script src="/js/jquery-1.9.1.min.js"></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <script>
+    (function() {
+      var cx = '012254517474945470291:vhsfv7eokdc';
+      var gcse = document.createElement('script');
+      gcse.type = 'text/javascript';
+      gcse.async = true;
+      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
+          '//www.google.com/cse/cse.js?cx=' + cx;
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(gcse, s);
+    })();
+  </script>
+</body>
+</html>
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/partials/breadcrumbs.html b/layouts/partials/breadcrumbs.html
new file mode 100644
index 0000000..5b0b306
--- /dev/null
+++ b/layouts/partials/breadcrumbs.html
@@ -0,0 +1,15 @@
+{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
+{{ $.Scratch.Add "path" "/" }}
+<nav aria-label="breadcrumb">
+  <ol class="breadcrumb">
+    <li class="breadcrumb-item"><a href="/">Home</a></li>
+    {{ range $index, $element := split $url "/" }}
+        {{ $.Scratch.Add "path" $element }}
+        {{ if ne $element "" }}
+            <li class="breadcrumb-item"><a href='{{ $.Scratch.Get "path" }}'>{{ replace (humanize .) ".html" "" }}</a></li>
+            {{ $.Scratch.Add "path" "/" }}
+        {{ end }}
+    {{ end }}
+  </ol>
+</nav>
+
diff --git a/layouts/robots.txt b/layouts/robots.txt
new file mode 100644
index 0000000..1ce9645
--- /dev/null
+++ b/layouts/robots.txt
@@ -0,0 +1,6 @@
+User-agent: *
+
+Disallow: /404/
+Disallow: 404.html
+
+SITEMAP: {{ "sitemap.xml" | absLangURL }}
diff --git a/layouts/shortcodes/toc.html b/layouts/shortcodes/toc.html
new file mode 100644
index 0000000..aca3785
--- /dev/null
+++ b/layouts/shortcodes/toc.html
@@ -0,0 +1 @@
+{{ .Page.TableOfContents }}
\ No newline at end of file
diff --git a/source/_index.md b/source/_index.md
new file mode 100644
index 0000000..71d253c
--- /dev/null
+++ b/source/_index.md
@@ -0,0 +1,108 @@
+---
+title: Travel Assistance Committee - TAC
+---
+
+<div class="jumbotron">
+<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
+<h2>Travel Assistance Committee</h2>
+
+The Travel Assistance committee was reformed in September 2008 with the goal of providing financial assistance to those who would otherwise be unable to attend various ApacheCon events.
+
+Those who are thinking of applying for financial assistance should know that the Committee has limited finances and that, as a consequence, only a few places are available for each Apache event. Applicants should have valid reasons for attending ApacheCon events that are of benefit to both the applicant and the ASF, and to open source as a whole.
+
+Note, read this entire page BEFORE applying for assistance.
+
+</div>
+
+<a name="Index-Startingpoints"></a>
+
+
+<!-- Row 1 -->
+<div class="row">
+    <div class="col-md-4">
+        <h4>Application Criteria</h4>
+        <p>The Committee judges applications on merit, based on details each applicant provides on their application form. The application form captures the information the Committee requires to be able to make such a judgment. Bear in mind that, due to the Committee's limited resources, it must apply its criteria aggressively. Just because someone does not receive assistance on this occasion does not mean that they are not worthy of assistance, or that the Committee does not value their [...]
+
+The Committee will notify those it deems to be most in need of assistance within a week of the closing of the application period.</p>
+    </div>
+    <div class="col-md-4">
+        <h4>What the assistance covers</h4>
+        <p>The Committee provides assistance with travel (air fares or train tickets), accommodation during the conference, and conference fees. At this time, the Committee is unable to provide any funds for general living expenses during the conference.</p>
+    </div>
+    <div class="col-md-4">
+        <h4>Arrangements and planning for successful applicants</h4>
+        <p>The Committee, and the ASF itself, do not have the means to distribute funds for air fares, etc, to successful applicants, who will undoubtedly be located worldwide. Therefore, the ASF and its appointed agents will arrange and pay directly for travel and accommodation for successful applicants.</p>
+    </div>
+</div>
+
+<!-- Row 2 -->
+<div class="row">
+    <div class="col-md-4">
+        <h4>How to apply</h4>
+        <p>Visit the online application and , if you have not already done so, create an account by clicking the 'Register' link - or if you are an ASF Committer just login using your LDAP creds via oauth. Once logged in answer all questions as fully as possible. Note that you do not need to answer all questions in the same session: you can keep coming back until you have completed the form.
+
+Ensure that you specify which event you are applying for. We generally give preference to those who apply to attend an event nearest their home location. In other words, those in Europe would fair better applying to attend an ApacheCon EU event, and those in Asia, an Asia event, when they next come round.
+
+However, we will consider carefully compelling reasons you present to support going to an event further away than your nearest ApacheCon location. (This year for example will be more forgiving due to no in person events for over 2 years)
+
+We will only notify those applicants who are successful. If you have not heard from us within one week of the application closing date, you should assume that you did not qualify on this occasion. However, you are welcome to email tac-apply@apache.org for confirmation if you wish. We do not provide explanations why a given application was not successful, but you may assume that other applicants had a greater need on this occasion.
+
+Note that, in return for financial assistance, we do ask that you perform some duties while at the event, such as staffing the registration booth and helping spread the Apache Way message; and opening/closing talk sessions for other Speakers. But do not worry: you will still have plenty of time to attend talks that interest you, get to see the sights of the hosting city, and meet people from your projects and other folks you have been communicating with.
+
+Also note that participants we support must themselves obtain Travel Insurance (including Medical coverage for those traveling overseas).
+
+To apply, complete the on line application.</p>
+    </div>
+    <div class="col-md-4">
+        <h4>Events for which support is available</h4>
+        <p>Applications are now open for assistance to ApacheCon NA New Orleans which is on between the 3rd and 6th of October 2022. Closing date for Applications for Travel Assistance to this event has been extended to 8th July 2022.
+
+Travel Assistance includes travel to the event, via plane,train etc; and optionally includes if needed the cost of Hotel accomodation and also Conference tickets.
+
+Applications are open to anyone involved in open source , not just at the Apache Software Foundation, but anywhere. If you are unsure if you want to apply - we encourage you to read the Stories from past recipients as mentioned below!
+
+Good luck and hope to see you in New Orleans!</p>
+    </div>
+    <div class="col-md-4">
+          <h4>Stories from past TAC recipients</h4>
+          <p>Are you thinking of applying for TAC funding, but wondering how it works? Wondering how it might apply for someone like yourself? Wondering if it might be relevant? Curious to know how others found the experience?
+
+We've put together stories from past TAC recipients of their experiences with TAC and with ApacheCon itself. You can view these on the TAC Stories pages. We're grouped them by project area, applicant background and the like. Take a look around!</p>
+    </div>
+</div>
+
+<!-- Row 3 -->
+<div class="row">
+    <div class="col-md-4">
+        <h4>Who are TAC?</h4>
+        <p>Please see our official committee listing.</p>
+    </div>
+    <div class="col-md-4">
+          <h4>Past Events</h4>
+          <p>Participants attending the following events have received support from the Travel Assistance Committee:
+
+    Fosdem 2020, Brussels, Belgium
+    ApacheCon EU 2019, Berlin, Germany
+    ApacheCon NA 2019, Las Vegas, Nevada
+    ApacheCon NA 2018, Montreal, Canada
+    ApacheCon NA 2017, Miami, Florida
+    ApacheCon EU 2016, Seville, Spain
+    ApacheCon NA 2016, Vancouver, Canada
+    ApacheCon EU 2015, Budapest, Hungary
+    ApacheCon NA 2015, Austin, Taxes
+    ApacheCon EU 2014, Budapest, Hungary
+    ApacheCon NA 2014, Denver Colorado
+    ApacheCon NA 2013, Portland Oregon
+    ApacheCon Europe 2012, Sinsheim, Germany
+    ApacheCon NA 2011, Vancouver
+    Apache Retreat Ireland 2011
+    ApacheCon NA 2010, Atlanta
+    Apache Retreat Hursley 2010
+    Apache Retreat Ireland 2010
+    ApacheCon US 2009 Oakland
+    ApacheCon EU 2009 Amsterdam
+    ApacheCon US 2008 New Orleans
+</p>
+    </div>
+</div>
+
diff --git a/static/.htaccess b/static/.htaccess
new file mode 100644
index 0000000..0f1face
--- /dev/null
+++ b/static/.htaccess
@@ -0,0 +1,3 @@
+RewriteEngine On
+RewriteCond %{HTTPS} !=on
+RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
diff --git a/static/css/bootstrap.css b/static/css/bootstrap.css
new file mode 100644
index 0000000..36bfb2d
--- /dev/null
+++ b/static/css/bootstrap.css
@@ -0,0 +1,10259 @@
+/*!
+ * Bootstrap v4.5.2 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+:root {
+  --blue: #007bff;
+  --indigo: #6610f2;
+  --purple: #6f42c1;
+  --pink: #e83e8c;
+  --red: #dc3545;
+  --orange: #fd7e14;
+  --yellow: #ffc107;
+  --green: #28a745;
+  --teal: #20c997;
+  --cyan: #17a2b8;
+  --white: #fff;
+  --gray: #6c757d;
+  --gray-dark: #343a40;
+  --primary: #007bff;
+  --secondary: #6c757d;
+  --success: #28a745;
+  --info: #17a2b8;
+  --warning: #ffc107;
+  --danger: #dc3545;
+  --light: #f8f9fa;
+  --dark: #343a40;
+  --breakpoint-xs: 0;
+  --breakpoint-sm: 576px;
+  --breakpoint-md: 768px;
+  --breakpoint-lg: 992px;
+  --breakpoint-xl: 1200px;
+  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus:not(:focus-visible) {
+  outline: 0 !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+  text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+  -webkit-text-decoration-skip-ink: none;
+  text-decoration-skip-ink: none;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([class]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([class]):hover {
+  color: inherit;
+  text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+  -ms-overflow-style: scrollbar;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg {
+  overflow: hidden;
+  vertical-align: middle;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #6c757d;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: 0.5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+[role="button"] {
+  cursor: pointer;
+}
+
+select {
+  word-wrap: normal;
+}
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button:not(:disabled),
+[type="button"]:not(:disabled),
+[type="reset"]:not(:disabled),
+[type="submit"]:not(:disabled) {
+  cursor: pointer;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+  cursor: pointer;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+  margin-bottom: 0.5rem;
+  font-weight: 500;
+  line-height: 1.2;
+}
+
+h1, .h1 {
+  font-size: 2.5rem;
+}
+
+h2, .h2 {
+  font-size: 2rem;
+}
+
+h3, .h3 {
+  font-size: 1.75rem;
+}
+
+h4, .h4 {
+  font-size: 1.5rem;
+}
+
+h5, .h5 {
+  font-size: 1.25rem;
+}
+
+h6, .h6 {
+  font-size: 1rem;
+}
+
+.lead {
+  font-size: 1.25rem;
+  font-weight: 300;
+}
+
+.display-1 {
+  font-size: 6rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-2 {
+  font-size: 5.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-3 {
+  font-size: 4.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-4 {
+  font-size: 3.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+hr {
+  margin-top: 1rem;
+  margin-bottom: 1rem;
+  border: 0;
+  border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+small,
+.small {
+  font-size: 80%;
+  font-weight: 400;
+}
+
+mark,
+.mark {
+  padding: 0.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: 0.5rem;
+}
+
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+
+.blockquote {
+  margin-bottom: 1rem;
+  font-size: 1.25rem;
+}
+
+.blockquote-footer {
+  display: block;
+  font-size: 80%;
+  color: #6c757d;
+}
+
+.blockquote-footer::before {
+  content: "\2014\00A0";
+}
+
+.img-fluid {
+  max-width: 100%;
+  height: auto;
+}
+
+.img-thumbnail {
+  padding: 0.25rem;
+  background-color: #fff;
+  border: 1px solid #dee2e6;
+  border-radius: 0.25rem;
+  max-width: 100%;
+  height: auto;
+}
+
+.figure {
+  display: inline-block;
+}
+
+.figure-img {
+  margin-bottom: 0.5rem;
+  line-height: 1;
+}
+
+.figure-caption {
+  font-size: 90%;
+  color: #6c757d;
+}
+
+code {
+  font-size: 87.5%;
+  color: #e83e8c;
+  word-wrap: break-word;
+}
+
+a > code {
+  color: inherit;
+}
+
+kbd {
+  padding: 0.2rem 0.4rem;
+  font-size: 87.5%;
+  color: #fff;
+  background-color: #212529;
+  border-radius: 0.2rem;
+}
+
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  font-weight: 700;
+}
+
+pre {
+  display: block;
+  font-size: 87.5%;
+  color: #212529;
+}
+
+pre code {
+  font-size: inherit;
+  color: inherit;
+  word-break: normal;
+}
+
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+
+.container,
+.container-fluid,
+.container-sm,
+.container-md,
+.container-lg,
+.container-xl {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container, .container-sm {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container, .container-sm, .container-md {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container, .container-sm, .container-md, .container-lg {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container, .container-sm, .container-md, .container-lg, .container-xl {
+    max-width: 1140px;
+  }
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  max-width: 100%;
+}
+
+.row-cols-1 > * {
+  -ms-flex: 0 0 100%;
+  flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.row-cols-2 > * {
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.row-cols-3 > * {
+  -ms-flex: 0 0 33.333333%;
+  flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.row-cols-4 > * {
+  -ms-flex: 0 0 25%;
+  flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.row-cols-5 > * {
+  -ms-flex: 0 0 20%;
+  flex: 0 0 20%;
+  max-width: 20%;
+}
+
+.row-cols-6 > * {
+  -ms-flex: 0 0 16.666667%;
+  flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+  flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+  flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+  flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+  flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+  flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+  flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+  flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+  flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+  flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+  flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+  flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+  order: -1;
+}
+
+.order-last {
+  -ms-flex-order: 13;
+  order: 13;
+}
+
+.order-0 {
+  -ms-flex-order: 0;
+  order: 0;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+  order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+  order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+  order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+  order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+  order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+  order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+  order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+  order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+  order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+  order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+  order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+  order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .row-cols-sm-1 > * {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .row-cols-sm-2 > * {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .row-cols-sm-3 > * {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .row-cols-sm-4 > * {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .row-cols-sm-5 > * {
+    -ms-flex: 0 0 20%;
+    flex: 0 0 20%;
+    max-width: 20%;
+  }
+  .row-cols-sm-6 > * {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-sm-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-sm-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .row-cols-md-1 > * {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .row-cols-md-2 > * {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .row-cols-md-3 > * {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .row-cols-md-4 > * {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .row-cols-md-5 > * {
+    -ms-flex: 0 0 20%;
+    flex: 0 0 20%;
+    max-width: 20%;
+  }
+  .row-cols-md-6 > * {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-md-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-md-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .row-cols-lg-1 > * {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .row-cols-lg-2 > * {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .row-cols-lg-3 > * {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .row-cols-lg-4 > * {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .row-cols-lg-5 > * {
+    -ms-flex: 0 0 20%;
+    flex: 0 0 20%;
+    max-width: 20%;
+  }
+  .row-cols-lg-6 > * {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-lg-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-lg-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .row-cols-xl-1 > * {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .row-cols-xl-2 > * {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .row-cols-xl-3 > * {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .row-cols-xl-4 > * {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .row-cols-xl-5 > * {
+    -ms-flex: 0 0 20%;
+    flex: 0 0 20%;
+    max-width: 20%;
+  }
+  .row-cols-xl-6 > * {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-xl-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-xl-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.table {
+  width: 100%;
+  margin-bottom: 1rem;
+  color: #212529;
+}
+
+.table th,
+.table td {
+  padding: 0.75rem;
+  vertical-align: top;
+  border-top: 1px solid #dee2e6;
+}
+
+.table thead th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.table tbody + tbody {
+  border-top: 2px solid #dee2e6;
+}
+
+.table-sm th,
+.table-sm td {
+  padding: 0.3rem;
+}
+
+.table-bordered {
+  border: 1px solid #dee2e6;
+}
+
+.table-bordered th,
+.table-bordered td {
+  border: 1px solid #dee2e6;
+}
+
+.table-bordered thead th,
+.table-bordered thead td {
+  border-bottom-width: 2px;
+}
+
+.table-borderless th,
+.table-borderless td,
+.table-borderless thead th,
+.table-borderless tbody + tbody {
+  border: 0;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+.table-hover tbody tr:hover {
+  color: #212529;
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-primary,
+.table-primary > th,
+.table-primary > td {
+  background-color: #b8daff;
+}
+
+.table-primary th,
+.table-primary td,
+.table-primary thead th,
+.table-primary tbody + tbody {
+  border-color: #7abaff;
+}
+
+.table-hover .table-primary:hover {
+  background-color: #9fcdff;
+}
+
+.table-hover .table-primary:hover > td,
+.table-hover .table-primary:hover > th {
+  background-color: #9fcdff;
+}
+
+.table-secondary,
+.table-secondary > th,
+.table-secondary > td {
+  background-color: #d6d8db;
+}
+
+.table-secondary th,
+.table-secondary td,
+.table-secondary thead th,
+.table-secondary tbody + tbody {
+  border-color: #b3b7bb;
+}
+
+.table-hover .table-secondary:hover {
+  background-color: #c8cbcf;
+}
+
+.table-hover .table-secondary:hover > td,
+.table-hover .table-secondary:hover > th {
+  background-color: #c8cbcf;
+}
+
+.table-success,
+.table-success > th,
+.table-success > td {
+  background-color: #c3e6cb;
+}
+
+.table-success th,
+.table-success td,
+.table-success thead th,
+.table-success tbody + tbody {
+  border-color: #8fd19e;
+}
+
+.table-hover .table-success:hover {
+  background-color: #b1dfbb;
+}
+
+.table-hover .table-success:hover > td,
+.table-hover .table-success:hover > th {
+  background-color: #b1dfbb;
+}
+
+.table-info,
+.table-info > th,
+.table-info > td {
+  background-color: #bee5eb;
+}
+
+.table-info th,
+.table-info td,
+.table-info thead th,
+.table-info tbody + tbody {
+  border-color: #86cfda;
+}
+
+.table-hover .table-info:hover {
+  background-color: #abdde5;
+}
+
+.table-hover .table-info:hover > td,
+.table-hover .table-info:hover > th {
+  background-color: #abdde5;
+}
+
+.table-warning,
+.table-warning > th,
+.table-warning > td {
+  background-color: #ffeeba;
+}
+
+.table-warning th,
+.table-warning td,
+.table-warning thead th,
+.table-warning tbody + tbody {
+  border-color: #ffdf7e;
+}
+
+.table-hover .table-warning:hover {
+  background-color: #ffe8a1;
+}
+
+.table-hover .table-warning:hover > td,
+.table-hover .table-warning:hover > th {
+  background-color: #ffe8a1;
+}
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+  background-color: #f5c6cb;
+}
+
+.table-danger th,
+.table-danger td,
+.table-danger thead th,
+.table-danger tbody + tbody {
+  border-color: #ed969e;
+}
+
+.table-hover .table-danger:hover {
+  background-color: #f1b0b7;
+}
+
+.table-hover .table-danger:hover > td,
+.table-hover .table-danger:hover > th {
+  background-color: #f1b0b7;
+}
+
+.table-light,
+.table-light > th,
+.table-light > td {
+  background-color: #fdfdfe;
+}
+
+.table-light th,
+.table-light td,
+.table-light thead th,
+.table-light tbody + tbody {
+  border-color: #fbfcfc;
+}
+
+.table-hover .table-light:hover {
+  background-color: #ececf6;
+}
+
+.table-hover .table-light:hover > td,
+.table-hover .table-light:hover > th {
+  background-color: #ececf6;
+}
+
+.table-dark,
+.table-dark > th,
+.table-dark > td {
+  background-color: #c6c8ca;
+}
+
+.table-dark th,
+.table-dark td,
+.table-dark thead th,
+.table-dark tbody + tbody {
+  border-color: #95999c;
+}
+
+.table-hover .table-dark:hover {
+  background-color: #b9bbbe;
+}
+
+.table-hover .table-dark:hover > td,
+.table-hover .table-dark:hover > th {
+  background-color: #b9bbbe;
+}
+
+.table-active,
+.table-active > th,
+.table-active > td {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover > td,
+.table-hover .table-active:hover > th {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table .thead-dark th {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #454d55;
+}
+
+.table .thead-light th {
+  color: #495057;
+  background-color: #e9ecef;
+  border-color: #dee2e6;
+}
+
+.table-dark {
+  color: #fff;
+  background-color: #343a40;
+}
+
+.table-dark th,
+.table-dark td,
+.table-dark thead th {
+  border-color: #454d55;
+}
+
+.table-dark.table-bordered {
+  border: 0;
+}
+
+.table-dark.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(255, 255, 255, 0.05);
+}
+
+.table-dark.table-hover tbody tr:hover {
+  color: #fff;
+  background-color: rgba(255, 255, 255, 0.075);
+}
+
+@media (max-width: 575.98px) {
+  .table-responsive-sm {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .table-responsive-sm > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 767.98px) {
+  .table-responsive-md {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .table-responsive-md > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 991.98px) {
+  .table-responsive-lg {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .table-responsive-lg > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 1199.98px) {
+  .table-responsive-xl {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .table-responsive-xl > .table-bordered {
+    border: 0;
+  }
+}
+
+.table-responsive {
+  display: block;
+  width: 100%;
+  overflow-x: auto;
+  -webkit-overflow-scrolling: touch;
+}
+
+.table-responsive > .table-bordered {
+  border: 0;
+}
+
+.form-control {
+  display: block;
+  width: 100%;
+  height: calc(1.5em + 0.75rem + 2px);
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .form-control {
+    transition: none;
+  }
+}
+
+.form-control::-ms-expand {
+  background-color: transparent;
+  border: 0;
+}
+
+.form-control:-moz-focusring {
+  color: transparent;
+  text-shadow: 0 0 0 #495057;
+}
+
+.form-control:focus {
+  color: #495057;
+  background-color: #fff;
+  border-color: #80bdff;
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.form-control::-webkit-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::-moz-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control:-ms-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::-ms-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control:disabled, .form-control[readonly] {
+  background-color: #e9ecef;
+  opacity: 1;
+}
+
+input[type="date"].form-control,
+input[type="time"].form-control,
+input[type="datetime-local"].form-control,
+input[type="month"].form-control {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+select.form-control:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.form-control-file,
+.form-control-range {
+  display: block;
+  width: 100%;
+}
+
+.col-form-label {
+  padding-top: calc(0.375rem + 1px);
+  padding-bottom: calc(0.375rem + 1px);
+  margin-bottom: 0;
+  font-size: inherit;
+  line-height: 1.5;
+}
+
+.col-form-label-lg {
+  padding-top: calc(0.5rem + 1px);
+  padding-bottom: calc(0.5rem + 1px);
+  font-size: 1.25rem;
+  line-height: 1.5;
+}
+
+.col-form-label-sm {
+  padding-top: calc(0.25rem + 1px);
+  padding-bottom: calc(0.25rem + 1px);
+  font-size: 0.875rem;
+  line-height: 1.5;
+}
+
+.form-control-plaintext {
+  display: block;
+  width: 100%;
+  padding: 0.375rem 0;
+  margin-bottom: 0;
+  font-size: 1rem;
+  line-height: 1.5;
+  color: #212529;
+  background-color: transparent;
+  border: solid transparent;
+  border-width: 1px 0;
+}
+
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.form-control-sm {
+  height: calc(1.5em + 0.5rem + 2px);
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.form-control-lg {
+  height: calc(1.5em + 1rem + 2px);
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+select.form-control[size], select.form-control[multiple] {
+  height: auto;
+}
+
+textarea.form-control {
+  height: auto;
+}
+
+.form-group {
+  margin-bottom: 1rem;
+}
+
+.form-text {
+  display: block;
+  margin-top: 0.25rem;
+}
+
+.form-row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -5px;
+  margin-left: -5px;
+}
+
+.form-row > .col,
+.form-row > [class*="col-"] {
+  padding-right: 5px;
+  padding-left: 5px;
+}
+
+.form-check {
+  position: relative;
+  display: block;
+  padding-left: 1.25rem;
+}
+
+.form-check-input {
+  position: absolute;
+  margin-top: 0.3rem;
+  margin-left: -1.25rem;
+}
+
+.form-check-input[disabled] ~ .form-check-label,
+.form-check-input:disabled ~ .form-check-label {
+  color: #6c757d;
+}
+
+.form-check-label {
+  margin-bottom: 0;
+}
+
+.form-check-inline {
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -ms-flex-align: center;
+  align-items: center;
+  padding-left: 0;
+  margin-right: 0.75rem;
+}
+
+.form-check-inline .form-check-input {
+  position: static;
+  margin-top: 0;
+  margin-right: 0.3125rem;
+  margin-left: 0;
+}
+
+.valid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #28a745;
+}
+
+.valid-tooltip {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: .1rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  color: #fff;
+  background-color: rgba(40, 167, 69, 0.9);
+  border-radius: 0.25rem;
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+  border-color: #28a745;
+  padding-right: calc(1.5em + 0.75rem);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right calc(0.375em + 0.1875rem) center;
+  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+  padding-right: calc(1.5em + 0.75rem);
+  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .custom-select:valid, .custom-select.is-valid {
+  border-color: #28a745;
+  padding-right: calc(0.75em + 2.3125rem);
+  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff n [...]
+}
+
+.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+  color: #28a745;
+}
+
+.was-validated .form-check-input:valid ~ .valid-feedback,
+.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
+.form-check-input.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
+  color: #28a745;
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
+  border-color: #28a745;
+}
+
+.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
+  border-color: #34ce57;
+  background-color: #34ce57;
+}
+
+.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #28a745;
+}
+
+.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
+  border-color: #28a745;
+}
+
+.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.invalid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #dc3545;
+}
+
+.invalid-tooltip {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: .1rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  color: #fff;
+  background-color: rgba(220, 53, 69, 0.9);
+  border-radius: 0.25rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+  border-color: #dc3545;
+  padding-right: calc(1.5em + 0.75rem);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right calc(0.375em + 0.1875rem) center;
+  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+  padding-right: calc(1.5em + 0.75rem);
+  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .custom-select:invalid, .custom-select.is-invalid {
+  border-color: #dc3545;
+  padding-right: calc(0.75em + 2.3125rem);
+  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r [...]
+}
+
+.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+  color: #dc3545;
+}
+
+.was-validated .form-check-input:invalid ~ .invalid-feedback,
+.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
+.form-check-input.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
+  color: #dc3545;
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
+  border-color: #e4606d;
+  background-color: #e4606d;
+}
+
+.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.form-inline {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-flow: row wrap;
+  flex-flow: row wrap;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.form-inline .form-check {
+  width: 100%;
+}
+
+@media (min-width: 576px) {
+  .form-inline label {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-group {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    -ms-flex-flow: row wrap;
+    flex-flow: row wrap;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .form-inline .form-control-plaintext {
+    display: inline-block;
+  }
+  .form-inline .input-group,
+  .form-inline .custom-select {
+    width: auto;
+  }
+  .form-inline .form-check {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: auto;
+    padding-left: 0;
+  }
+  .form-inline .form-check-input {
+    position: relative;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+    margin-top: 0;
+    margin-right: 0.25rem;
+    margin-left: 0;
+  }
+  .form-inline .custom-control {
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+  }
+  .form-inline .custom-control-label {
+    margin-bottom: 0;
+  }
+}
+
+.btn {
+  display: inline-block;
+  font-weight: 400;
+  color: #212529;
+  text-align: center;
+  vertical-align: middle;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  background-color: transparent;
+  border: 1px solid transparent;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  line-height: 1.5;
+  border-radius: 0.25rem;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .btn {
+    transition: none;
+  }
+}
+
+.btn:hover {
+  color: #212529;
+  text-decoration: none;
+}
+
+.btn:focus, .btn.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.btn.disabled, .btn:disabled {
+  opacity: 0.65;
+}
+
+.btn:not(:disabled):not(.disabled) {
+  cursor: pointer;
+}
+
+a.btn.disabled,
+fieldset:disabled a.btn {
+  pointer-events: none;
+}
+
+.btn-primary {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:hover {
+  color: #fff;
+  background-color: #0069d9;
+  border-color: #0062cc;
+}
+
+.btn-primary:focus, .btn-primary.focus {
+  color: #fff;
+  background-color: #0069d9;
+  border-color: #0062cc;
+  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+}
+
+.btn-primary.disabled, .btn-primary:disabled {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
+.show > .btn-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #0062cc;
+  border-color: #005cbf;
+}
+
+.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-primary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+}
+
+.btn-secondary {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-secondary:hover {
+  color: #fff;
+  background-color: #5a6268;
+  border-color: #545b62;
+}
+
+.btn-secondary:focus, .btn-secondary.focus {
+  color: #fff;
+  background-color: #5a6268;
+  border-color: #545b62;
+  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+}
+
+.btn-secondary.disabled, .btn-secondary:disabled {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
+.show > .btn-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #545b62;
+  border-color: #4e555b;
+}
+
+.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-secondary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+}
+
+.btn-success {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:hover {
+  color: #fff;
+  background-color: #218838;
+  border-color: #1e7e34;
+}
+
+.btn-success:focus, .btn-success.focus {
+  color: #fff;
+  background-color: #218838;
+  border-color: #1e7e34;
+  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
+}
+
+.btn-success.disabled, .btn-success:disabled {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
+.show > .btn-success.dropdown-toggle {
+  color: #fff;
+  background-color: #1e7e34;
+  border-color: #1c7430;
+}
+
+.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
+.show > .btn-success.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
+}
+
+.btn-info {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:hover {
+  color: #fff;
+  background-color: #138496;
+  border-color: #117a8b;
+}
+
+.btn-info:focus, .btn-info.focus {
+  color: #fff;
+  background-color: #138496;
+  border-color: #117a8b;
+  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
+}
+
+.btn-info.disabled, .btn-info:disabled {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
+.show > .btn-info.dropdown-toggle {
+  color: #fff;
+  background-color: #117a8b;
+  border-color: #10707f;
+}
+
+.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
+.show > .btn-info.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
+}
+
+.btn-warning {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:hover {
+  color: #212529;
+  background-color: #e0a800;
+  border-color: #d39e00;
+}
+
+.btn-warning:focus, .btn-warning.focus {
+  color: #212529;
+  background-color: #e0a800;
+  border-color: #d39e00;
+  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
+}
+
+.btn-warning.disabled, .btn-warning:disabled {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
+.show > .btn-warning.dropdown-toggle {
+  color: #212529;
+  background-color: #d39e00;
+  border-color: #c69500;
+}
+
+.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
+.show > .btn-warning.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
+}
+
+.btn-danger {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:hover {
+  color: #fff;
+  background-color: #c82333;
+  border-color: #bd2130;
+}
+
+.btn-danger:focus, .btn-danger.focus {
+  color: #fff;
+  background-color: #c82333;
+  border-color: #bd2130;
+  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
+}
+
+.btn-danger.disabled, .btn-danger:disabled {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
+.show > .btn-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #bd2130;
+  border-color: #b21f2d;
+}
+
+.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
+.show > .btn-danger.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
+}
+
+.btn-light {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:hover {
+  color: #212529;
+  background-color: #e2e6ea;
+  border-color: #dae0e5;
+}
+
+.btn-light:focus, .btn-light.focus {
+  color: #212529;
+  background-color: #e2e6ea;
+  border-color: #dae0e5;
+  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+}
+
+.btn-light.disabled, .btn-light:disabled {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
+.show > .btn-light.dropdown-toggle {
+  color: #212529;
+  background-color: #dae0e5;
+  border-color: #d3d9df;
+}
+
+.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
+.show > .btn-light.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+}
+
+.btn-dark {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:hover {
+  color: #fff;
+  background-color: #23272b;
+  border-color: #1d2124;
+}
+
+.btn-dark:focus, .btn-dark.focus {
+  color: #fff;
+  background-color: #23272b;
+  border-color: #1d2124;
+  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+}
+
+.btn-dark.disabled, .btn-dark:disabled {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
+.show > .btn-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #1d2124;
+  border-color: #171a1d;
+}
+
+.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
+.show > .btn-dark.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+}
+
+.btn-outline-primary {
+  color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:hover {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:focus, .btn-outline-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-primary.disabled, .btn-outline-primary:disabled {
+  color: #007bff;
+  background-color: transparent;
+}
+
+.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
+.show > .btn-outline-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-primary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-secondary {
+  color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:hover {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:focus, .btn-outline-secondary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+}
+
+.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+  color: #6c757d;
+  background-color: transparent;
+}
+
+.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
+.show > .btn-outline-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-secondary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+}
+
+.btn-outline-success {
+  color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:hover {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:focus, .btn-outline-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-success.disabled, .btn-outline-success:disabled {
+  color: #28a745;
+  background-color: transparent;
+}
+
+.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
+.show > .btn-outline-success.dropdown-toggle {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-success.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-info {
+  color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:hover {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:focus, .btn-outline-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-info.disabled, .btn-outline-info:disabled {
+  color: #17a2b8;
+  background-color: transparent;
+}
+
+.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
+.show > .btn-outline-info.dropdown-toggle {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-info.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-warning {
+  color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:hover {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:focus, .btn-outline-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-warning.disabled, .btn-outline-warning:disabled {
+  color: #ffc107;
+  background-color: transparent;
+}
+
+.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
+.show > .btn-outline-warning.dropdown-toggle {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-warning.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-danger {
+  color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:hover {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:focus, .btn-outline-danger.focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-danger.disabled, .btn-outline-danger:disabled {
+  color: #dc3545;
+  background-color: transparent;
+}
+
+.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
+.show > .btn-outline-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-danger.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-light {
+  color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:hover {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:focus, .btn-outline-light.focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-light.disabled, .btn-outline-light:disabled {
+  color: #f8f9fa;
+  background-color: transparent;
+}
+
+.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
+.show > .btn-outline-light.dropdown-toggle {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-light.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-dark {
+  color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:hover {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:focus, .btn-outline-dark.focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-outline-dark.disabled, .btn-outline-dark:disabled {
+  color: #343a40;
+  background-color: transparent;
+}
+
+.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
+.show > .btn-outline-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-dark.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-link {
+  font-weight: 400;
+  color: #007bff;
+  text-decoration: none;
+}
+
+.btn-link:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+.btn-link:focus, .btn-link.focus {
+  text-decoration: underline;
+}
+
+.btn-link:disabled, .btn-link.disabled {
+  color: #6c757d;
+  pointer-events: none;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.btn-block {
+  display: block;
+  width: 100%;
+}
+
+.btn-block + .btn-block {
+  margin-top: 0.5rem;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+
+.fade {
+  transition: opacity 0.15s linear;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .fade {
+    transition: none;
+  }
+}
+
+.fade:not(.show) {
+  opacity: 0;
+}
+
+.collapse:not(.show) {
+  display: none;
+}
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .collapsing {
+    transition: none;
+  }
+}
+
+.dropup,
+.dropright,
+.dropdown,
+.dropleft {
+  position: relative;
+}
+
+.dropdown-toggle {
+  white-space: nowrap;
+}
+
+.dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0;
+  border-left: 0.3em solid transparent;
+}
+
+.dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 10rem;
+  padding: 0.5rem 0;
+  margin: 0.125rem 0 0;
+  font-size: 1rem;
+  color: #212529;
+  text-align: left;
+  list-style: none;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 0.25rem;
+}
+
+.dropdown-menu-left {
+  right: auto;
+  left: 0;
+}
+
+.dropdown-menu-right {
+  right: 0;
+  left: auto;
+}
+
+@media (min-width: 576px) {
+  .dropdown-menu-sm-left {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-sm-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 768px) {
+  .dropdown-menu-md-left {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-md-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 992px) {
+  .dropdown-menu-lg-left {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-lg-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 1200px) {
+  .dropdown-menu-xl-left {
+    right: auto;
+    left: 0;
+  }
+  .dropdown-menu-xl-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+.dropup .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-top: 0;
+  margin-bottom: 0.125rem;
+}
+
+.dropup .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0.3em solid;
+  border-left: 0.3em solid transparent;
+}
+
+.dropup .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropright .dropdown-menu {
+  top: 0;
+  right: auto;
+  left: 100%;
+  margin-top: 0;
+  margin-left: 0.125rem;
+}
+
+.dropright .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0;
+  border-bottom: 0.3em solid transparent;
+  border-left: 0.3em solid;
+}
+
+.dropright .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropright .dropdown-toggle::after {
+  vertical-align: 0;
+}
+
+.dropleft .dropdown-menu {
+  top: 0;
+  right: 100%;
+  left: auto;
+  margin-top: 0;
+  margin-right: 0.125rem;
+}
+
+.dropleft .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+}
+
+.dropleft .dropdown-toggle::after {
+  display: none;
+}
+
+.dropleft .dropdown-toggle::before {
+  display: inline-block;
+  margin-right: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0.3em solid;
+  border-bottom: 0.3em solid transparent;
+}
+
+.dropleft .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropleft .dropdown-toggle::before {
+  vertical-align: 0;
+}
+
+.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
+  right: auto;
+  bottom: auto;
+}
+
+.dropdown-divider {
+  height: 0;
+  margin: 0.5rem 0;
+  overflow: hidden;
+  border-top: 1px solid #e9ecef;
+}
+
+.dropdown-item {
+  display: block;
+  width: 100%;
+  padding: 0.25rem 1.5rem;
+  clear: both;
+  font-weight: 400;
+  color: #212529;
+  text-align: inherit;
+  white-space: nowrap;
+  background-color: transparent;
+  border: 0;
+}
+
+.dropdown-item:hover, .dropdown-item:focus {
+  color: #16181b;
+  text-decoration: none;
+  background-color: #f8f9fa;
+}
+
+.dropdown-item.active, .dropdown-item:active {
+  color: #fff;
+  text-decoration: none;
+  background-color: #007bff;
+}
+
+.dropdown-item.disabled, .dropdown-item:disabled {
+  color: #6c757d;
+  pointer-events: none;
+  background-color: transparent;
+}
+
+.dropdown-menu.show {
+  display: block;
+}
+
+.dropdown-header {
+  display: block;
+  padding: 0.5rem 1.5rem;
+  margin-bottom: 0;
+  font-size: 0.875rem;
+  color: #6c757d;
+  white-space: nowrap;
+}
+
+.dropdown-item-text {
+  display: block;
+  padding: 0.25rem 1.5rem;
+  color: #212529;
+}
+
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+  z-index: 1;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 1;
+}
+
+.btn-toolbar {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-pack: start;
+  justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) {
+  margin-left: -1px;
+}
+
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+  padding-right: 0.5625rem;
+  padding-left: 0.5625rem;
+}
+
+.dropdown-toggle-split::after,
+.dropup .dropdown-toggle-split::after,
+.dropright .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+
+.dropleft .dropdown-toggle-split::before {
+  margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -ms-flex-align: start;
+  align-items: flex-start;
+  -ms-flex-pack: center;
+  justify-content: center;
+}
+
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+  width: 100%;
+}
+
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+  margin-top: -1px;
+}
+
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group-toggle > .btn,
+.btn-group-toggle > .btn-group > .btn {
+  margin-bottom: 0;
+}
+
+.btn-group-toggle > .btn input[type="radio"],
+.btn-group-toggle > .btn input[type="checkbox"],
+.btn-group-toggle > .btn-group > .btn input[type="radio"],
+.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
+
+.input-group {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  width: 100%;
+}
+
+.input-group > .form-control,
+.input-group > .form-control-plaintext,
+.input-group > .custom-select,
+.input-group > .custom-file {
+  position: relative;
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  width: 1%;
+  min-width: 0;
+  margin-bottom: 0;
+}
+
+.input-group > .form-control + .form-control,
+.input-group > .form-control + .custom-select,
+.input-group > .form-control + .custom-file,
+.input-group > .form-control-plaintext + .form-control,
+.input-group > .form-control-plaintext + .custom-select,
+.input-group > .form-control-plaintext + .custom-file,
+.input-group > .custom-select + .form-control,
+.input-group > .custom-select + .custom-select,
+.input-group > .custom-select + .custom-file,
+.input-group > .custom-file + .form-control,
+.input-group > .custom-file + .custom-select,
+.input-group > .custom-file + .custom-file {
+  margin-left: -1px;
+}
+
+.input-group > .form-control:focus,
+.input-group > .custom-select:focus,
+.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
+  z-index: 3;
+}
+
+.input-group > .custom-file .custom-file-input:focus {
+  z-index: 4;
+}
+
+.input-group > .form-control:not(:last-child),
+.input-group > .custom-select:not(:last-child) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .form-control:not(:first-child),
+.input-group > .custom-select:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.input-group > .custom-file {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.input-group > .custom-file:not(:last-child) .custom-file-label,
+.input-group > .custom-file:not(:last-child) .custom-file-label::after {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .custom-file:not(:first-child) .custom-file-label {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.input-group-prepend,
+.input-group-append {
+  display: -ms-flexbox;
+  display: flex;
+}
+
+.input-group-prepend .btn,
+.input-group-append .btn {
+  position: relative;
+  z-index: 2;
+}
+
+.input-group-prepend .btn:focus,
+.input-group-append .btn:focus {
+  z-index: 3;
+}
+
+.input-group-prepend .btn + .btn,
+.input-group-prepend .btn + .input-group-text,
+.input-group-prepend .input-group-text + .input-group-text,
+.input-group-prepend .input-group-text + .btn,
+.input-group-append .btn + .btn,
+.input-group-append .btn + .input-group-text,
+.input-group-append .input-group-text + .input-group-text,
+.input-group-append .input-group-text + .btn {
+  margin-left: -1px;
+}
+
+.input-group-prepend {
+  margin-right: -1px;
+}
+
+.input-group-append {
+  margin-left: -1px;
+}
+
+.input-group-text {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 0.375rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  text-align: center;
+  white-space: nowrap;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.input-group-text input[type="radio"],
+.input-group-text input[type="checkbox"] {
+  margin-top: 0;
+}
+
+.input-group-lg > .form-control:not(textarea),
+.input-group-lg > .custom-select {
+  height: calc(1.5em + 1rem + 2px);
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .custom-select,
+.input-group-lg > .input-group-prepend > .input-group-text,
+.input-group-lg > .input-group-append > .input-group-text,
+.input-group-lg > .input-group-prepend > .btn,
+.input-group-lg > .input-group-append > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+.input-group-sm > .form-control:not(textarea),
+.input-group-sm > .custom-select {
+  height: calc(1.5em + 0.5rem + 2px);
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .custom-select,
+.input-group-sm > .input-group-prepend > .input-group-text,
+.input-group-sm > .input-group-append > .input-group-text,
+.input-group-sm > .input-group-prepend > .btn,
+.input-group-sm > .input-group-append > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.input-group-lg > .custom-select,
+.input-group-sm > .custom-select {
+  padding-right: 1.75rem;
+}
+
+.input-group > .input-group-prepend > .btn,
+.input-group > .input-group-prepend > .input-group-text,
+.input-group > .input-group-append:not(:last-child) > .btn,
+.input-group > .input-group-append:not(:last-child) > .input-group-text,
+.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .input-group-append > .btn,
+.input-group > .input-group-append > .input-group-text,
+.input-group > .input-group-prepend:not(:first-child) > .btn,
+.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
+.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
+.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.custom-control {
+  position: relative;
+  z-index: 1;
+  display: block;
+  min-height: 1.5rem;
+  padding-left: 1.5rem;
+}
+
+.custom-control-inline {
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  margin-right: 1rem;
+}
+
+.custom-control-input {
+  position: absolute;
+  left: 0;
+  z-index: -1;
+  width: 1rem;
+  height: 1.25rem;
+  opacity: 0;
+}
+
+.custom-control-input:checked ~ .custom-control-label::before {
+  color: #fff;
+  border-color: #007bff;
+  background-color: #007bff;
+}
+
+.custom-control-input:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #80bdff;
+}
+
+.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
+  color: #fff;
+  background-color: #b3d7ff;
+  border-color: #b3d7ff;
+}
+
+.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
+  color: #6c757d;
+}
+
+.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
+  background-color: #e9ecef;
+}
+
+.custom-control-label {
+  position: relative;
+  margin-bottom: 0;
+  vertical-align: top;
+}
+
+.custom-control-label::before {
+  position: absolute;
+  top: 0.25rem;
+  left: -1.5rem;
+  display: block;
+  width: 1rem;
+  height: 1rem;
+  pointer-events: none;
+  content: "";
+  background-color: #fff;
+  border: #adb5bd solid 1px;
+}
+
+.custom-control-label::after {
+  position: absolute;
+  top: 0.25rem;
+  left: -1.5rem;
+  display: block;
+  width: 1rem;
+  height: 1rem;
+  content: "";
+  background: no-repeat 50% / 50% 50%;
+}
+
+.custom-checkbox .custom-control-label::before {
+  border-radius: 0.25rem;
+}
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
+  border-color: #007bff;
+  background-color: #007bff;
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
+}
+
+.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-radio .custom-control-label::before {
+  border-radius: 50%;
+}
+
+.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+
+.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-switch {
+  padding-left: 2.25rem;
+}
+
+.custom-switch .custom-control-label::before {
+  left: -2.25rem;
+  width: 1.75rem;
+  pointer-events: all;
+  border-radius: 0.5rem;
+}
+
+.custom-switch .custom-control-label::after {
+  top: calc(0.25rem + 2px);
+  left: calc(-2.25rem + 2px);
+  width: calc(1rem - 4px);
+  height: calc(1rem - 4px);
+  background-color: #adb5bd;
+  border-radius: 0.5rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
+  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .custom-switch .custom-control-label::after {
+    transition: none;
+  }
+}
+
+.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
+  background-color: #fff;
+  -webkit-transform: translateX(0.75rem);
+  transform: translateX(0.75rem);
+}
+
+.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-select {
+  display: inline-block;
+  width: 100%;
+  height: calc(1.5em + 0.75rem + 2px);
+  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  vertical-align: middle;
+  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+.custom-select:focus {
+  border-color: #80bdff;
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-select:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.custom-select[multiple], .custom-select[size]:not([size="1"]) {
+  height: auto;
+  padding-right: 0.75rem;
+  background-image: none;
+}
+
+.custom-select:disabled {
+  color: #6c757d;
+  background-color: #e9ecef;
+}
+
+.custom-select::-ms-expand {
+  display: none;
+}
+
+.custom-select:-moz-focusring {
+  color: transparent;
+  text-shadow: 0 0 0 #495057;
+}
+
+.custom-select-sm {
+  height: calc(1.5em + 0.5rem + 2px);
+  padding-top: 0.25rem;
+  padding-bottom: 0.25rem;
+  padding-left: 0.5rem;
+  font-size: 0.875rem;
+}
+
+.custom-select-lg {
+  height: calc(1.5em + 1rem + 2px);
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+  padding-left: 1rem;
+  font-size: 1.25rem;
+}
+
+.custom-file {
+  position: relative;
+  display: inline-block;
+  width: 100%;
+  height: calc(1.5em + 0.75rem + 2px);
+  margin-bottom: 0;
+}
+
+.custom-file-input {
+  position: relative;
+  z-index: 2;
+  width: 100%;
+  height: calc(1.5em + 0.75rem + 2px);
+  margin: 0;
+  opacity: 0;
+}
+
+.custom-file-input:focus ~ .custom-file-label {
+  border-color: #80bdff;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-file-input[disabled] ~ .custom-file-label,
+.custom-file-input:disabled ~ .custom-file-label {
+  background-color: #e9ecef;
+}
+
+.custom-file-input:lang(en) ~ .custom-file-label::after {
+  content: "Browse";
+}
+
+.custom-file-input ~ .custom-file-label[data-browse]::after {
+  content: attr(data-browse);
+}
+
+.custom-file-label {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1;
+  height: calc(1.5em + 0.75rem + 2px);
+  padding: 0.375rem 0.75rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.custom-file-label::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 3;
+  display: block;
+  height: calc(1.5em + 0.75rem);
+  padding: 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  content: "Browse";
+  background-color: #e9ecef;
+  border-left: inherit;
+  border-radius: 0 0.25rem 0.25rem 0;
+}
+
+.custom-range {
+  width: 100%;
+  height: 1.4rem;
+  padding: 0;
+  background-color: transparent;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+.custom-range:focus {
+  outline: none;
+}
+
+.custom-range:focus::-webkit-slider-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range:focus::-moz-range-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range:focus::-ms-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range::-moz-focus-outer {
+  border: 0;
+}
+
+.custom-range::-webkit-slider-thumb {
+  width: 1rem;
+  height: 1rem;
+  margin-top: -0.25rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -webkit-appearance: none;
+  appearance: none;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .custom-range::-webkit-slider-thumb {
+    -webkit-transition: none;
+    transition: none;
+  }
+}
+
+.custom-range::-webkit-slider-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-webkit-slider-runnable-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+
+.custom-range::-moz-range-thumb {
+  width: 1rem;
+  height: 1rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .custom-range::-moz-range-thumb {
+    -moz-transition: none;
+    transition: none;
+  }
+}
+
+.custom-range::-moz-range-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-moz-range-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+
+.custom-range::-ms-thumb {
+  width: 1rem;
+  height: 1rem;
+  margin-top: 0;
+  margin-right: 0.2rem;
+  margin-left: 0.2rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  appearance: none;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .custom-range::-ms-thumb {
+    -ms-transition: none;
+    transition: none;
+  }
+}
+
+.custom-range::-ms-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-ms-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: transparent;
+  border-color: transparent;
+  border-width: 0.5rem;
+}
+
+.custom-range::-ms-fill-lower {
+  background-color: #dee2e6;
+  border-radius: 1rem;
+}
+
+.custom-range::-ms-fill-upper {
+  margin-right: 15px;
+  background-color: #dee2e6;
+  border-radius: 1rem;
+}
+
+.custom-range:disabled::-webkit-slider-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-range:disabled::-webkit-slider-runnable-track {
+  cursor: default;
+}
+
+.custom-range:disabled::-moz-range-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-range:disabled::-moz-range-track {
+  cursor: default;
+}
+
+.custom-range:disabled::-ms-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-control-label::before,
+.custom-file-label,
+.custom-select {
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .custom-control-label::before,
+  .custom-file-label,
+  .custom-select {
+    transition: none;
+  }
+}
+
+.nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.nav-link {
+  display: block;
+  padding: 0.5rem 1rem;
+}
+
+.nav-link:hover, .nav-link:focus {
+  text-decoration: none;
+}
+
+.nav-link.disabled {
+  color: #6c757d;
+  pointer-events: none;
+  cursor: default;
+}
+
+.nav-tabs {
+  border-bottom: 1px solid #dee2e6;
+}
+
+.nav-tabs .nav-item {
+  margin-bottom: -1px;
+}
+
+.nav-tabs .nav-link {
+  border: 1px solid transparent;
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+}
+
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+  border-color: #e9ecef #e9ecef #dee2e6;
+}
+
+.nav-tabs .nav-link.disabled {
+  color: #6c757d;
+  background-color: transparent;
+  border-color: transparent;
+}
+
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+  color: #495057;
+  background-color: #fff;
+  border-color: #dee2e6 #dee2e6 #fff;
+}
+
+.nav-tabs .dropdown-menu {
+  margin-top: -1px;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+  border-radius: 0.25rem;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+  color: #fff;
+  background-color: #007bff;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  text-align: center;
+}
+
+.tab-content > .tab-pane {
+  display: none;
+}
+
+.tab-content > .active {
+  display: block;
+}
+
+.navbar {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  padding: 0.5rem 1rem;
+}
+
+.navbar .container,
+.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+}
+
+.navbar-brand {
+  display: inline-block;
+  padding-top: 0.3125rem;
+  padding-bottom: 0.3125rem;
+  margin-right: 1rem;
+  font-size: 1.25rem;
+  line-height: inherit;
+  white-space: nowrap;
+}
+
+.navbar-brand:hover, .navbar-brand:focus {
+  text-decoration: none;
+}
+
+.navbar-nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.navbar-nav .nav-link {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-nav .dropdown-menu {
+  position: static;
+  float: none;
+}
+
+.navbar-text {
+  display: inline-block;
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+  -ms-flex-preferred-size: 100%;
+  flex-basis: 100%;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.navbar-toggler {
+  padding: 0.25rem 0.75rem;
+  font-size: 1.25rem;
+  line-height: 1;
+  background-color: transparent;
+  border: 1px solid transparent;
+  border-radius: 0.25rem;
+}
+
+.navbar-toggler:hover, .navbar-toggler:focus {
+  text-decoration: none;
+}
+
+.navbar-toggler-icon {
+  display: inline-block;
+  width: 1.5em;
+  height: 1.5em;
+  vertical-align: middle;
+  content: "";
+  background: no-repeat center center;
+  background-size: 100% 100%;
+}
+
+@media (max-width: 575.98px) {
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 576px) {
+  .navbar-expand-sm {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-sm .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-sm .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-sm .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-sm .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-sm .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 767.98px) {
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 768px) {
+  .navbar-expand-md {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-md .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-md .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-md .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-md .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-md .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 991.98px) {
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 992px) {
+  .navbar-expand-lg {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-lg .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-lg .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-lg .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-lg .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-lg .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 1199.98px) {
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 1200px) {
+  .navbar-expand-xl {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-xl .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-xl .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-xl .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-xl .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-xl .navbar-toggler {
+    display: none;
+  }
+}
+
+.navbar-expand {
+  -ms-flex-flow: row nowrap;
+  flex-flow: row nowrap;
+  -ms-flex-pack: start;
+  justify-content: flex-start;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-expand .navbar-nav {
+  -ms-flex-direction: row;
+  flex-direction: row;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu {
+  position: absolute;
+}
+
+.navbar-expand .navbar-nav .nav-link {
+  padding-right: 0.5rem;
+  padding-left: 0.5rem;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
+  -ms-flex-wrap: nowrap;
+  flex-wrap: nowrap;
+}
+
+.navbar-expand .navbar-collapse {
+  display: -ms-flexbox !important;
+  display: flex !important;
+  -ms-flex-preferred-size: auto;
+  flex-basis: auto;
+}
+
+.navbar-expand .navbar-toggler {
+  display: none;
+}
+
+.navbar-light .navbar-brand {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+  color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+  color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+  color: rgba(0, 0, 0, 0.5);
+  border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.navbar-light .navbar-text {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-text a {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-dark .navbar-brand {
+  color: #fff;
+}
+
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+  color: #fff;
+}
+
+.navbar-dark .navbar-nav .nav-link {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+  color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-dark .navbar-nav .nav-link.disabled {
+  color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .active > .nav-link,
+.navbar-dark .navbar-nav .nav-link.show,
+.navbar-dark .navbar-nav .nav-link.active {
+  color: #fff;
+}
+
+.navbar-dark .navbar-toggler {
+  color: rgba(255, 255, 255, 0.5);
+  border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-dark .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.navbar-dark .navbar-text {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-text a {
+  color: #fff;
+}
+
+.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
+  color: #fff;
+}
+
+.card {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  min-width: 0;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: border-box;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+  border-radius: 0.25rem;
+}
+
+.card > hr {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.card > .list-group {
+  border-top: inherit;
+  border-bottom: inherit;
+}
+
+.card > .list-group:first-child {
+  border-top-width: 0;
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card > .list-group:last-child {
+  border-bottom-width: 0;
+  border-bottom-right-radius: calc(0.25rem - 1px);
+  border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+  border-top: 0;
+}
+
+.card-body {
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  min-height: 1px;
+  padding: 1.25rem;
+}
+
+.card-title {
+  margin-bottom: 0.75rem;
+}
+
+.card-subtitle {
+  margin-top: -0.375rem;
+  margin-bottom: 0;
+}
+
+.card-text:last-child {
+  margin-bottom: 0;
+}
+
+.card-link:hover {
+  text-decoration: none;
+}
+
+.card-link + .card-link {
+  margin-left: 1.25rem;
+}
+
+.card-header {
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 0;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-header:first-child {
+  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+
+.card-footer {
+  padding: 0.75rem 1.25rem;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-footer:last-child {
+  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+}
+
+.card-header-tabs {
+  margin-right: -0.625rem;
+  margin-bottom: -0.75rem;
+  margin-left: -0.625rem;
+  border-bottom: 0;
+}
+
+.card-header-pills {
+  margin-right: -0.625rem;
+  margin-left: -0.625rem;
+}
+
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1.25rem;
+  border-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+  -ms-flex-negative: 0;
+  flex-shrink: 0;
+  width: 100%;
+}
+
+.card-img,
+.card-img-top {
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-bottom {
+  border-bottom-right-radius: calc(0.25rem - 1px);
+  border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.card-deck .card {
+  margin-bottom: 15px;
+}
+
+@media (min-width: 576px) {
+  .card-deck {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-flow: row wrap;
+    flex-flow: row wrap;
+    margin-right: -15px;
+    margin-left: -15px;
+  }
+  .card-deck .card {
+    -ms-flex: 1 0 0%;
+    flex: 1 0 0%;
+    margin-right: 15px;
+    margin-bottom: 0;
+    margin-left: 15px;
+  }
+}
+
+.card-group > .card {
+  margin-bottom: 15px;
+}
+
+@media (min-width: 576px) {
+  .card-group {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-flow: row wrap;
+    flex-flow: row wrap;
+  }
+  .card-group > .card {
+    -ms-flex: 1 0 0%;
+    flex: 1 0 0%;
+    margin-bottom: 0;
+  }
+  .card-group > .card + .card {
+    margin-left: 0;
+    border-left: 0;
+  }
+  .card-group > .card:not(:last-child) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+  }
+  .card-group > .card:not(:last-child) .card-img-top,
+  .card-group > .card:not(:last-child) .card-header {
+    border-top-right-radius: 0;
+  }
+  .card-group > .card:not(:last-child) .card-img-bottom,
+  .card-group > .card:not(:last-child) .card-footer {
+    border-bottom-right-radius: 0;
+  }
+  .card-group > .card:not(:first-child) {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
+  }
+  .card-group > .card:not(:first-child) .card-img-top,
+  .card-group > .card:not(:first-child) .card-header {
+    border-top-left-radius: 0;
+  }
+  .card-group > .card:not(:first-child) .card-img-bottom,
+  .card-group > .card:not(:first-child) .card-footer {
+    border-bottom-left-radius: 0;
+  }
+}
+
+.card-columns .card {
+  margin-bottom: 0.75rem;
+}
+
+@media (min-width: 576px) {
+  .card-columns {
+    -webkit-column-count: 3;
+    -moz-column-count: 3;
+    column-count: 3;
+    -webkit-column-gap: 1.25rem;
+    -moz-column-gap: 1.25rem;
+    column-gap: 1.25rem;
+    orphans: 1;
+    widows: 1;
+  }
+  .card-columns .card {
+    display: inline-block;
+    width: 100%;
+  }
+}
+
+.accordion {
+  overflow-anchor: none;
+}
+
+.accordion > .card {
+  overflow: hidden;
+}
+
+.accordion > .card:not(:last-of-type) {
+  border-bottom: 0;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.accordion > .card:not(:first-of-type) {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.accordion > .card > .card-header {
+  border-radius: 0;
+  margin-bottom: -1px;
+}
+
+.breadcrumb {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  padding: 0.75rem 1rem;
+  margin-bottom: 1rem;
+  list-style: none;
+  background-color: #e9ecef;
+  border-radius: 0.25rem;
+}
+
+.breadcrumb-item {
+  display: -ms-flexbox;
+  display: flex;
+}
+
+.breadcrumb-item + .breadcrumb-item {
+  padding-left: 0.5rem;
+}
+
+.breadcrumb-item + .breadcrumb-item::before {
+  display: inline-block;
+  padding-right: 0.5rem;
+  color: #6c757d;
+  content: "/";
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: underline;
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: none;
+}
+
+.breadcrumb-item.active {
+  color: #6c757d;
+}
+
+.pagination {
+  display: -ms-flexbox;
+  display: flex;
+  padding-left: 0;
+  list-style: none;
+  border-radius: 0.25rem;
+}
+
+.page-link {
+  position: relative;
+  display: block;
+  padding: 0.5rem 0.75rem;
+  margin-left: -1px;
+  line-height: 1.25;
+  color: #007bff;
+  background-color: #fff;
+  border: 1px solid #dee2e6;
+}
+
+.page-link:hover {
+  z-index: 2;
+  color: #0056b3;
+  text-decoration: none;
+  background-color: #e9ecef;
+  border-color: #dee2e6;
+}
+
+.page-link:focus {
+  z-index: 3;
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.page-item:first-child .page-link {
+  margin-left: 0;
+  border-top-left-radius: 0.25rem;
+  border-bottom-left-radius: 0.25rem;
+}
+
+.page-item:last-child .page-link {
+  border-top-right-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem;
+}
+
+.page-item.active .page-link {
+  z-index: 3;
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.page-item.disabled .page-link {
+  color: #6c757d;
+  pointer-events: none;
+  cursor: auto;
+  background-color: #fff;
+  border-color: #dee2e6;
+}
+
+.pagination-lg .page-link {
+  padding: 0.75rem 1.5rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+}
+
+.pagination-lg .page-item:first-child .page-link {
+  border-top-left-radius: 0.3rem;
+  border-bottom-left-radius: 0.3rem;
+}
+
+.pagination-lg .page-item:last-child .page-link {
+  border-top-right-radius: 0.3rem;
+  border-bottom-right-radius: 0.3rem;
+}
+
+.pagination-sm .page-link {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+}
+
+.pagination-sm .page-item:first-child .page-link {
+  border-top-left-radius: 0.2rem;
+  border-bottom-left-radius: 0.2rem;
+}
+
+.pagination-sm .page-item:last-child .page-link {
+  border-top-right-radius: 0.2rem;
+  border-bottom-right-radius: 0.2rem;
+}
+
+.badge {
+  display: inline-block;
+  padding: 0.25em 0.4em;
+  font-size: 75%;
+  font-weight: 700;
+  line-height: 1;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: 0.25rem;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .badge {
+    transition: none;
+  }
+}
+
+a.badge:hover, a.badge:focus {
+  text-decoration: none;
+}
+
+.badge:empty {
+  display: none;
+}
+
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+
+.badge-pill {
+  padding-right: 0.6em;
+  padding-left: 0.6em;
+  border-radius: 10rem;
+}
+
+.badge-primary {
+  color: #fff;
+  background-color: #007bff;
+}
+
+a.badge-primary:hover, a.badge-primary:focus {
+  color: #fff;
+  background-color: #0062cc;
+}
+
+a.badge-primary:focus, a.badge-primary.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.badge-secondary {
+  color: #fff;
+  background-color: #6c757d;
+}
+
+a.badge-secondary:hover, a.badge-secondary:focus {
+  color: #fff;
+  background-color: #545b62;
+}
+
+a.badge-secondary:focus, a.badge-secondary.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+}
+
+.badge-success {
+  color: #fff;
+  background-color: #28a745;
+}
+
+a.badge-success:hover, a.badge-success:focus {
+  color: #fff;
+  background-color: #1e7e34;
+}
+
+a.badge-success:focus, a.badge-success.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.badge-info {
+  color: #fff;
+  background-color: #17a2b8;
+}
+
+a.badge-info:hover, a.badge-info:focus {
+  color: #fff;
+  background-color: #117a8b;
+}
+
+a.badge-info:focus, a.badge-info.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.badge-warning {
+  color: #212529;
+  background-color: #ffc107;
+}
+
+a.badge-warning:hover, a.badge-warning:focus {
+  color: #212529;
+  background-color: #d39e00;
+}
+
+a.badge-warning:focus, a.badge-warning.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.badge-danger {
+  color: #fff;
+  background-color: #dc3545;
+}
+
+a.badge-danger:hover, a.badge-danger:focus {
+  color: #fff;
+  background-color: #bd2130;
+}
+
+a.badge-danger:focus, a.badge-danger.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.badge-light {
+  color: #212529;
+  background-color: #f8f9fa;
+}
+
+a.badge-light:hover, a.badge-light:focus {
+  color: #212529;
+  background-color: #dae0e5;
+}
+
+a.badge-light:focus, a.badge-light.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.badge-dark {
+  color: #fff;
+  background-color: #343a40;
+}
+
+a.badge-dark:hover, a.badge-dark:focus {
+  color: #fff;
+  background-color: #1d2124;
+}
+
+a.badge-dark:focus, a.badge-dark.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.jumbotron {
+  padding: 2rem 1rem;
+  margin-bottom: 2rem;
+  background-color: #e9ecef;
+  border-radius: 0.3rem;
+}
+
+@media (min-width: 576px) {
+  .jumbotron {
+    padding: 4rem 2rem;
+  }
+}
+
+.jumbotron-fluid {
+  padding-right: 0;
+  padding-left: 0;
+  border-radius: 0;
+}
+
+.alert {
+  position: relative;
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 1rem;
+  border: 1px solid transparent;
+  border-radius: 0.25rem;
+}
+
+.alert-heading {
+  color: inherit;
+}
+
+.alert-link {
+  font-weight: 700;
+}
+
+.alert-dismissible {
+  padding-right: 4rem;
+}
+
+.alert-dismissible .close {
+  position: absolute;
+  top: 0;
+  right: 0;
+  padding: 0.75rem 1.25rem;
+  color: inherit;
+}
+
+.alert-primary {
+  color: #004085;
+  background-color: #cce5ff;
+  border-color: #b8daff;
+}
+
+.alert-primary hr {
+  border-top-color: #9fcdff;
+}
+
+.alert-primary .alert-link {
+  color: #002752;
+}
+
+.alert-secondary {
+  color: #383d41;
+  background-color: #e2e3e5;
+  border-color: #d6d8db;
+}
+
+.alert-secondary hr {
+  border-top-color: #c8cbcf;
+}
+
+.alert-secondary .alert-link {
+  color: #202326;
+}
+
+.alert-success {
+  color: #155724;
+  background-color: #d4edda;
+  border-color: #c3e6cb;
+}
+
+.alert-success hr {
+  border-top-color: #b1dfbb;
+}
+
+.alert-success .alert-link {
+  color: #0b2e13;
+}
+
+.alert-info {
+  color: #0c5460;
+  background-color: #d1ecf1;
+  border-color: #bee5eb;
+}
+
+.alert-info hr {
+  border-top-color: #abdde5;
+}
+
+.alert-info .alert-link {
+  color: #062c33;
+}
+
+.alert-warning {
+  color: #856404;
+  background-color: #fff3cd;
+  border-color: #ffeeba;
+}
+
+.alert-warning hr {
+  border-top-color: #ffe8a1;
+}
+
+.alert-warning .alert-link {
+  color: #533f03;
+}
+
+.alert-danger {
+  color: #721c24;
+  background-color: #f8d7da;
+  border-color: #f5c6cb;
+}
+
+.alert-danger hr {
+  border-top-color: #f1b0b7;
+}
+
+.alert-danger .alert-link {
+  color: #491217;
+}
+
+.alert-light {
+  color: #818182;
+  background-color: #fefefe;
+  border-color: #fdfdfe;
+}
+
+.alert-light hr {
+  border-top-color: #ececf6;
+}
+
+.alert-light .alert-link {
+  color: #686868;
+}
+
+.alert-dark {
+  color: #1b1e21;
+  background-color: #d6d8d9;
+  border-color: #c6c8ca;
+}
+
+.alert-dark hr {
+  border-top-color: #b9bbbe;
+}
+
+.alert-dark .alert-link {
+  color: #040505;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 1rem 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 1rem 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+.progress {
+  display: -ms-flexbox;
+  display: flex;
+  height: 1rem;
+  overflow: hidden;
+  line-height: 0;
+  font-size: 0.75rem;
+  background-color: #e9ecef;
+  border-radius: 0.25rem;
+}
+
+.progress-bar {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -ms-flex-pack: center;
+  justify-content: center;
+  overflow: hidden;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  background-color: #007bff;
+  transition: width 0.6s ease;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .progress-bar {
+    transition: none;
+  }
+}
+
+.progress-bar-striped {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 1rem 1rem;
+}
+
+.progress-bar-animated {
+  -webkit-animation: progress-bar-stripes 1s linear infinite;
+  animation: progress-bar-stripes 1s linear infinite;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .progress-bar-animated {
+    -webkit-animation: none;
+    animation: none;
+  }
+}
+
+.media {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: start;
+  align-items: flex-start;
+}
+
+.media-body {
+  -ms-flex: 1;
+  flex: 1;
+}
+
+.list-group {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  border-radius: 0.25rem;
+}
+
+.list-group-item-action {
+  width: 100%;
+  color: #495057;
+  text-align: inherit;
+}
+
+.list-group-item-action:hover, .list-group-item-action:focus {
+  z-index: 1;
+  color: #495057;
+  text-decoration: none;
+  background-color: #f8f9fa;
+}
+
+.list-group-item-action:active {
+  color: #212529;
+  background-color: #e9ecef;
+}
+
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: 0.75rem 1.25rem;
+  background-color: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.list-group-item:first-child {
+  border-top-left-radius: inherit;
+  border-top-right-radius: inherit;
+}
+
+.list-group-item:last-child {
+  border-bottom-right-radius: inherit;
+  border-bottom-left-radius: inherit;
+}
+
+.list-group-item.disabled, .list-group-item:disabled {
+  color: #6c757d;
+  pointer-events: none;
+  background-color: #fff;
+}
+
+.list-group-item.active {
+  z-index: 2;
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.list-group-item + .list-group-item {
+  border-top-width: 0;
+}
+
+.list-group-item + .list-group-item.active {
+  margin-top: -1px;
+  border-top-width: 1px;
+}
+
+.list-group-horizontal {
+  -ms-flex-direction: row;
+  flex-direction: row;
+}
+
+.list-group-horizontal > .list-group-item:first-child {
+  border-bottom-left-radius: 0.25rem;
+  border-top-right-radius: 0;
+}
+
+.list-group-horizontal > .list-group-item:last-child {
+  border-top-right-radius: 0.25rem;
+  border-bottom-left-radius: 0;
+}
+
+.list-group-horizontal > .list-group-item.active {
+  margin-top: 0;
+}
+
+.list-group-horizontal > .list-group-item + .list-group-item {
+  border-top-width: 1px;
+  border-left-width: 0;
+}
+
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+  margin-left: -1px;
+  border-left-width: 1px;
+}
+
+@media (min-width: 576px) {
+  .list-group-horizontal-sm {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .list-group-horizontal-sm > .list-group-item:first-child {
+    border-bottom-left-radius: 0.25rem;
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item:last-child {
+    border-top-right-radius: 0.25rem;
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item + .list-group-item {
+    border-top-width: 1px;
+    border-left-width: 0;
+  }
+  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+    margin-left: -1px;
+    border-left-width: 1px;
+  }
+}
+
+@media (min-width: 768px) {
+  .list-group-horizontal-md {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .list-group-horizontal-md > .list-group-item:first-child {
+    border-bottom-left-radius: 0.25rem;
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-md > .list-group-item:last-child {
+    border-top-right-radius: 0.25rem;
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-md > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-md > .list-group-item + .list-group-item {
+    border-top-width: 1px;
+    border-left-width: 0;
+  }
+  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+    margin-left: -1px;
+    border-left-width: 1px;
+  }
+}
+
+@media (min-width: 992px) {
+  .list-group-horizontal-lg {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .list-group-horizontal-lg > .list-group-item:first-child {
+    border-bottom-left-radius: 0.25rem;
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item:last-child {
+    border-top-right-radius: 0.25rem;
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item + .list-group-item {
+    border-top-width: 1px;
+    border-left-width: 0;
+  }
+  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+    margin-left: -1px;
+    border-left-width: 1px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .list-group-horizontal-xl {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .list-group-horizontal-xl > .list-group-item:first-child {
+    border-bottom-left-radius: 0.25rem;
+    border-top-right-radius: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item:last-child {
+    border-top-right-radius: 0.25rem;
+    border-bottom-left-radius: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item.active {
+    margin-top: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item + .list-group-item {
+    border-top-width: 1px;
+    border-left-width: 0;
+  }
+  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+    margin-left: -1px;
+    border-left-width: 1px;
+  }
+}
+
+.list-group-flush {
+  border-radius: 0;
+}
+
+.list-group-flush > .list-group-item {
+  border-width: 0 0 1px;
+}
+
+.list-group-flush > .list-group-item:last-child {
+  border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+  color: #004085;
+  background-color: #b8daff;
+}
+
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+  color: #004085;
+  background-color: #9fcdff;
+}
+
+.list-group-item-primary.list-group-item-action.active {
+  color: #fff;
+  background-color: #004085;
+  border-color: #004085;
+}
+
+.list-group-item-secondary {
+  color: #383d41;
+  background-color: #d6d8db;
+}
+
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+  color: #383d41;
+  background-color: #c8cbcf;
+}
+
+.list-group-item-secondary.list-group-item-action.active {
+  color: #fff;
+  background-color: #383d41;
+  border-color: #383d41;
+}
+
+.list-group-item-success {
+  color: #155724;
+  background-color: #c3e6cb;
+}
+
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+  color: #155724;
+  background-color: #b1dfbb;
+}
+
+.list-group-item-success.list-group-item-action.active {
+  color: #fff;
+  background-color: #155724;
+  border-color: #155724;
+}
+
+.list-group-item-info {
+  color: #0c5460;
+  background-color: #bee5eb;
+}
+
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+  color: #0c5460;
+  background-color: #abdde5;
+}
+
+.list-group-item-info.list-group-item-action.active {
+  color: #fff;
+  background-color: #0c5460;
+  border-color: #0c5460;
+}
+
+.list-group-item-warning {
+  color: #856404;
+  background-color: #ffeeba;
+}
+
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+  color: #856404;
+  background-color: #ffe8a1;
+}
+
+.list-group-item-warning.list-group-item-action.active {
+  color: #fff;
+  background-color: #856404;
+  border-color: #856404;
+}
+
+.list-group-item-danger {
+  color: #721c24;
+  background-color: #f5c6cb;
+}
+
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+  color: #721c24;
+  background-color: #f1b0b7;
+}
+
+.list-group-item-danger.list-group-item-action.active {
+  color: #fff;
+  background-color: #721c24;
+  border-color: #721c24;
+}
+
+.list-group-item-light {
+  color: #818182;
+  background-color: #fdfdfe;
+}
+
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+  color: #818182;
+  background-color: #ececf6;
+}
+
+.list-group-item-light.list-group-item-action.active {
+  color: #fff;
+  background-color: #818182;
+  border-color: #818182;
+}
+
+.list-group-item-dark {
+  color: #1b1e21;
+  background-color: #c6c8ca;
+}
+
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+  color: #1b1e21;
+  background-color: #b9bbbe;
+}
+
+.list-group-item-dark.list-group-item-action.active {
+  color: #fff;
+  background-color: #1b1e21;
+  border-color: #1b1e21;
+}
+
+.close {
+  float: right;
+  font-size: 1.5rem;
+  font-weight: 700;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  opacity: .5;
+}
+
+.close:hover {
+  color: #000;
+  text-decoration: none;
+}
+
+.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
+  opacity: .75;
+}
+
+button.close {
+  padding: 0;
+  background-color: transparent;
+  border: 0;
+}
+
+a.close.disabled {
+  pointer-events: none;
+}
+
+.toast {
+  -ms-flex-preferred-size: 350px;
+  flex-basis: 350px;
+  max-width: 350px;
+  font-size: 0.875rem;
+  background-color: rgba(255, 255, 255, 0.85);
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
+  opacity: 0;
+  border-radius: 0.25rem;
+}
+
+.toast:not(:last-child) {
+  margin-bottom: 0.75rem;
+}
+
+.toast.showing {
+  opacity: 1;
+}
+
+.toast.show {
+  display: block;
+  opacity: 1;
+}
+
+.toast.hide {
+  display: none;
+}
+
+.toast-header {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 0.25rem 0.75rem;
+  color: #6c757d;
+  background-color: rgba(255, 255, 255, 0.85);
+  background-clip: padding-box;
+  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.toast-body {
+  padding: 0.75rem;
+}
+
+.modal-open {
+  overflow: hidden;
+}
+
+.modal-open .modal {
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+
+.modal {
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: 1050;
+  display: none;
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  outline: 0;
+}
+
+.modal-dialog {
+  position: relative;
+  width: auto;
+  margin: 0.5rem;
+  pointer-events: none;
+}
+
+.modal.fade .modal-dialog {
+  transition: -webkit-transform 0.3s ease-out;
+  transition: transform 0.3s ease-out;
+  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
+  -webkit-transform: translate(0, -50px);
+  transform: translate(0, -50px);
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .modal.fade .modal-dialog {
+    transition: none;
+  }
+}
+
+.modal.show .modal-dialog {
+  -webkit-transform: none;
+  transform: none;
+}
+
+.modal.modal-static .modal-dialog {
+  -webkit-transform: scale(1.02);
+  transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+  display: -ms-flexbox;
+  display: flex;
+  max-height: calc(100% - 1rem);
+}
+
+.modal-dialog-scrollable .modal-content {
+  max-height: calc(100vh - 1rem);
+  overflow: hidden;
+}
+
+.modal-dialog-scrollable .modal-header,
+.modal-dialog-scrollable .modal-footer {
+  -ms-flex-negative: 0;
+  flex-shrink: 0;
+}
+
+.modal-dialog-scrollable .modal-body {
+  overflow-y: auto;
+}
+
+.modal-dialog-centered {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+  min-height: calc(100% - 1rem);
+}
+
+.modal-dialog-centered::before {
+  display: block;
+  height: calc(100vh - 1rem);
+  height: -webkit-min-content;
+  height: -moz-min-content;
+  height: min-content;
+  content: "";
+}
+
+.modal-dialog-centered.modal-dialog-scrollable {
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -ms-flex-pack: center;
+  justify-content: center;
+  height: 100%;
+}
+
+.modal-dialog-centered.modal-dialog-scrollable .modal-content {
+  max-height: none;
+}
+
+.modal-dialog-centered.modal-dialog-scrollable::before {
+  content: none;
+}
+
+.modal-content {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  width: 100%;
+  pointer-events: auto;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem;
+  outline: 0;
+}
+
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: 1040;
+  width: 100vw;
+  height: 100vh;
+  background-color: #000;
+}
+
+.modal-backdrop.fade {
+  opacity: 0;
+}
+
+.modal-backdrop.show {
+  opacity: 0.5;
+}
+
+.modal-header {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: start;
+  align-items: flex-start;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  padding: 1rem 1rem;
+  border-bottom: 1px solid #dee2e6;
+  border-top-left-radius: calc(0.3rem - 1px);
+  border-top-right-radius: calc(0.3rem - 1px);
+}
+
+.modal-header .close {
+  padding: 1rem 1rem;
+  margin: -1rem -1rem -1rem auto;
+}
+
+.modal-title {
+  margin-bottom: 0;
+  line-height: 1.5;
+}
+
+.modal-body {
+  position: relative;
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  padding: 1rem;
+}
+
+.modal-footer {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: end;
+  justify-content: flex-end;
+  padding: 0.75rem;
+  border-top: 1px solid #dee2e6;
+  border-bottom-right-radius: calc(0.3rem - 1px);
+  border-bottom-left-radius: calc(0.3rem - 1px);
+}
+
+.modal-footer > * {
+  margin: 0.25rem;
+}
+
+.modal-scrollbar-measure {
+  position: absolute;
+  top: -9999px;
+  width: 50px;
+  height: 50px;
+  overflow: scroll;
+}
+
+@media (min-width: 576px) {
+  .modal-dialog {
+    max-width: 500px;
+    margin: 1.75rem auto;
+  }
+  .modal-dialog-scrollable {
+    max-height: calc(100% - 3.5rem);
+  }
+  .modal-dialog-scrollable .modal-content {
+    max-height: calc(100vh - 3.5rem);
+  }
+  .modal-dialog-centered {
+    min-height: calc(100% - 3.5rem);
+  }
+  .modal-dialog-centered::before {
+    height: calc(100vh - 3.5rem);
+    height: -webkit-min-content;
+    height: -moz-min-content;
+    height: min-content;
+  }
+  .modal-sm {
+    max-width: 300px;
+  }
+}
+
+@media (min-width: 992px) {
+  .modal-lg,
+  .modal-xl {
+    max-width: 800px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .modal-xl {
+    max-width: 1140px;
+  }
+}
+
+.tooltip {
+  position: absolute;
+  z-index: 1070;
+  display: block;
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.875rem;
+  word-wrap: break-word;
+  opacity: 0;
+}
+
+.tooltip.show {
+  opacity: 0.9;
+}
+
+.tooltip .arrow {
+  position: absolute;
+  display: block;
+  width: 0.8rem;
+  height: 0.4rem;
+}
+
+.tooltip .arrow::before {
+  position: absolute;
+  content: "";
+  border-color: transparent;
+  border-style: solid;
+}
+
+.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
+  padding: 0.4rem 0;
+}
+
+.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
+  bottom: 0;
+}
+
+.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
+  top: 0;
+  border-width: 0.4rem 0.4rem 0;
+  border-top-color: #000;
+}
+
+.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
+  padding: 0 0.4rem;
+}
+
+.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
+  left: 0;
+  width: 0.4rem;
+  height: 0.8rem;
+}
+
+.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
+  right: 0;
+  border-width: 0.4rem 0.4rem 0.4rem 0;
+  border-right-color: #000;
+}
+
+.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
+  padding: 0.4rem 0;
+}
+
+.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
+  top: 0;
+}
+
+.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
+  bottom: 0;
+  border-width: 0 0.4rem 0.4rem;
+  border-bottom-color: #000;
+}
+
+.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
+  padding: 0 0.4rem;
+}
+
+.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
+  right: 0;
+  width: 0.4rem;
+  height: 0.8rem;
+}
+
+.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
+  left: 0;
+  border-width: 0.4rem 0 0.4rem 0.4rem;
+  border-left-color: #000;
+}
+
+.tooltip-inner {
+  max-width: 200px;
+  padding: 0.25rem 0.5rem;
+  color: #fff;
+  text-align: center;
+  background-color: #000;
+  border-radius: 0.25rem;
+}
+
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1060;
+  display: block;
+  max-width: 276px;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.875rem;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem;
+}
+
+.popover .arrow {
+  position: absolute;
+  display: block;
+  width: 1rem;
+  height: 0.5rem;
+  margin: 0 0.3rem;
+}
+
+.popover .arrow::before, .popover .arrow::after {
+  position: absolute;
+  display: block;
+  content: "";
+  border-color: transparent;
+  border-style: solid;
+}
+
+.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
+  margin-bottom: 0.5rem;
+}
+
+.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
+  bottom: calc(-0.5rem - 1px);
+}
+
+.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
+  bottom: 0;
+  border-width: 0.5rem 0.5rem 0;
+  border-top-color: rgba(0, 0, 0, 0.25);
+}
+
+.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
+  bottom: 1px;
+  border-width: 0.5rem 0.5rem 0;
+  border-top-color: #fff;
+}
+
+.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
+  margin-left: 0.5rem;
+}
+
+.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
+  left: calc(-0.5rem - 1px);
+  width: 0.5rem;
+  height: 1rem;
+  margin: 0.3rem 0;
+}
+
+.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
+  left: 0;
+  border-width: 0.5rem 0.5rem 0.5rem 0;
+  border-right-color: rgba(0, 0, 0, 0.25);
+}
+
+.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
+  left: 1px;
+  border-width: 0.5rem 0.5rem 0.5rem 0;
+  border-right-color: #fff;
+}
+
+.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
+  margin-top: 0.5rem;
+}
+
+.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
+  top: calc(-0.5rem - 1px);
+}
+
+.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
+  top: 0;
+  border-width: 0 0.5rem 0.5rem 0.5rem;
+  border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+
+.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
+  top: 1px;
+  border-width: 0 0.5rem 0.5rem 0.5rem;
+  border-bottom-color: #fff;
+}
+
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+  position: absolute;
+  top: 0;
+  left: 50%;
+  display: block;
+  width: 1rem;
+  margin-left: -0.5rem;
+  content: "";
+  border-bottom: 1px solid #f7f7f7;
+}
+
+.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
+  margin-right: 0.5rem;
+}
+
+.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
+  right: calc(-0.5rem - 1px);
+  width: 0.5rem;
+  height: 1rem;
+  margin: 0.3rem 0;
+}
+
+.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
+  right: 0;
+  border-width: 0.5rem 0 0.5rem 0.5rem;
+  border-left-color: rgba(0, 0, 0, 0.25);
+}
+
+.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
+  right: 1px;
+  border-width: 0.5rem 0 0.5rem 0.5rem;
+  border-left-color: #fff;
+}
+
+.popover-header {
+  padding: 0.5rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #ebebeb;
+  border-top-left-radius: calc(0.3rem - 1px);
+  border-top-right-radius: calc(0.3rem - 1px);
+}
+
+.popover-header:empty {
+  display: none;
+}
+
+.popover-body {
+  padding: 0.5rem 0.75rem;
+  color: #212529;
+}
+
+.carousel {
+  position: relative;
+}
+
+.carousel.pointer-event {
+  -ms-touch-action: pan-y;
+  touch-action: pan-y;
+}
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carousel-inner::after {
+  display: block;
+  clear: both;
+  content: "";
+}
+
+.carousel-item {
+  position: relative;
+  display: none;
+  float: left;
+  width: 100%;
+  margin-right: -100%;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+  transition: -webkit-transform 0.6s ease-in-out;
+  transition: transform 0.6s ease-in-out;
+  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .carousel-item {
+    transition: none;
+  }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+  display: block;
+}
+
+.carousel-item-next:not(.carousel-item-left),
+.active.carousel-item-right {
+  -webkit-transform: translateX(100%);
+  transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-right),
+.active.carousel-item-left {
+  -webkit-transform: translateX(-100%);
+  transform: translateX(-100%);
+}
+
+.carousel-fade .carousel-item {
+  opacity: 0;
+  transition-property: opacity;
+  -webkit-transform: none;
+  transform: none;
+}
+
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-left,
+.carousel-fade .carousel-item-prev.carousel-item-right {
+  z-index: 1;
+  opacity: 1;
+}
+
+.carousel-fade .active.carousel-item-left,
+.carousel-fade .active.carousel-item-right {
+  z-index: 0;
+  opacity: 0;
+  transition: opacity 0s 0.6s;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .carousel-fade .active.carousel-item-left,
+  .carousel-fade .active.carousel-item-right {
+    transition: none;
+  }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  z-index: 1;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: center;
+  justify-content: center;
+  width: 15%;
+  color: #fff;
+  text-align: center;
+  opacity: 0.5;
+  transition: opacity 0.15s ease;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .carousel-control-prev,
+  .carousel-control-next {
+    transition: none;
+  }
+}
+
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+  color: #fff;
+  text-decoration: none;
+  outline: 0;
+  opacity: 0.9;
+}
+
+.carousel-control-prev {
+  left: 0;
+}
+
+.carousel-control-next {
+  right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+  display: inline-block;
+  width: 20px;
+  height: 20px;
+  background: no-repeat 50% / 100% 100%;
+}
+
+.carousel-control-prev-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 15;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-pack: center;
+  justify-content: center;
+  padding-left: 0;
+  margin-right: 15%;
+  margin-left: 15%;
+  list-style: none;
+}
+
+.carousel-indicators li {
+  box-sizing: content-box;
+  -ms-flex: 0 1 auto;
+  flex: 0 1 auto;
+  width: 30px;
+  height: 3px;
+  margin-right: 3px;
+  margin-left: 3px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #fff;
+  background-clip: padding-box;
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  opacity: .5;
+  transition: opacity 0.6s ease;
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .carousel-indicators li {
+    transition: none;
+  }
+}
+
+.carousel-indicators .active {
+  opacity: 1;
+}
+
+.carousel-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+}
+
+@-webkit-keyframes spinner-border {
+  to {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes spinner-border {
+  to {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+.spinner-border {
+  display: inline-block;
+  width: 2rem;
+  height: 2rem;
+  vertical-align: text-bottom;
+  border: 0.25em solid currentColor;
+  border-right-color: transparent;
+  border-radius: 50%;
+  -webkit-animation: spinner-border .75s linear infinite;
+  animation: spinner-border .75s linear infinite;
+}
+
+.spinner-border-sm {
+  width: 1rem;
+  height: 1rem;
+  border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+  0% {
+    -webkit-transform: scale(0);
+    transform: scale(0);
+  }
+  50% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none;
+  }
+}
+
+@keyframes spinner-grow {
+  0% {
+    -webkit-transform: scale(0);
+    transform: scale(0);
+  }
+  50% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none;
+  }
+}
+
+.spinner-grow {
+  display: inline-block;
+  width: 2rem;
+  height: 2rem;
+  vertical-align: text-bottom;
+  background-color: currentColor;
+  border-radius: 50%;
+  opacity: 0;
+  -webkit-animation: spinner-grow .75s linear infinite;
+  animation: spinner-grow .75s linear infinite;
+}
+
+.spinner-grow-sm {
+  width: 1rem;
+  height: 1rem;
+}
+
+.align-baseline {
+  vertical-align: baseline !important;
+}
+
+.align-top {
+  vertical-align: top !important;
+}
+
+.align-middle {
+  vertical-align: middle !important;
+}
+
+.align-bottom {
+  vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+  vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+  vertical-align: text-top !important;
+}
+
+.bg-primary {
+  background-color: #007bff !important;
+}
+
+a.bg-primary:hover, a.bg-primary:focus,
+button.bg-primary:hover,
+button.bg-primary:focus {
+  background-color: #0062cc !important;
+}
+
+.bg-secondary {
+  background-color: #6c757d !important;
+}
+
+a.bg-secondary:hover, a.bg-secondary:focus,
+button.bg-secondary:hover,
+button.bg-secondary:focus {
+  background-color: #545b62 !important;
+}
+
+.bg-success {
+  background-color: #28a745 !important;
+}
+
+a.bg-success:hover, a.bg-success:focus,
+button.bg-success:hover,
+button.bg-success:focus {
+  background-color: #1e7e34 !important;
+}
+
+.bg-info {
+  background-color: #17a2b8 !important;
+}
+
+a.bg-info:hover, a.bg-info:focus,
+button.bg-info:hover,
+button.bg-info:focus {
+  background-color: #117a8b !important;
+}
+
+.bg-warning {
+  background-color: #ffc107 !important;
+}
+
+a.bg-warning:hover, a.bg-warning:focus,
+button.bg-warning:hover,
+button.bg-warning:focus {
+  background-color: #d39e00 !important;
+}
+
+.bg-danger {
+  background-color: #dc3545 !important;
+}
+
+a.bg-danger:hover, a.bg-danger:focus,
+button.bg-danger:hover,
+button.bg-danger:focus {
+  background-color: #bd2130 !important;
+}
+
+.bg-light {
+  background-color: #f8f9fa !important;
+}
+
+a.bg-light:hover, a.bg-light:focus,
+button.bg-light:hover,
+button.bg-light:focus {
+  background-color: #dae0e5 !important;
+}
+
+.bg-dark {
+  background-color: #343a40 !important;
+}
+
+a.bg-dark:hover, a.bg-dark:focus,
+button.bg-dark:hover,
+button.bg-dark:focus {
+  background-color: #1d2124 !important;
+}
+
+.bg-white {
+  background-color: #fff !important;
+}
+
+.bg-transparent {
+  background-color: transparent !important;
+}
+
+.border {
+  border: 1px solid #dee2e6 !important;
+}
+
+.border-top {
+  border-top: 1px solid #dee2e6 !important;
+}
+
+.border-right {
+  border-right: 1px solid #dee2e6 !important;
+}
+
+.border-bottom {
+  border-bottom: 1px solid #dee2e6 !important;
+}
+
+.border-left {
+  border-left: 1px solid #dee2e6 !important;
+}
+
+.border-0 {
+  border: 0 !important;
+}
+
+.border-top-0 {
+  border-top: 0 !important;
+}
+
+.border-right-0 {
+  border-right: 0 !important;
+}
+
+.border-bottom-0 {
+  border-bottom: 0 !important;
+}
+
+.border-left-0 {
+  border-left: 0 !important;
+}
+
+.border-primary {
+  border-color: #007bff !important;
+}
+
+.border-secondary {
+  border-color: #6c757d !important;
+}
+
+.border-success {
+  border-color: #28a745 !important;
+}
+
+.border-info {
+  border-color: #17a2b8 !important;
+}
+
+.border-warning {
+  border-color: #ffc107 !important;
+}
+
+.border-danger {
+  border-color: #dc3545 !important;
+}
+
+.border-light {
+  border-color: #f8f9fa !important;
+}
+
+.border-dark {
+  border-color: #343a40 !important;
+}
+
+.border-white {
+  border-color: #fff !important;
+}
+
+.rounded-sm {
+  border-radius: 0.2rem !important;
+}
+
+.rounded {
+  border-radius: 0.25rem !important;
+}
+
+.rounded-top {
+  border-top-left-radius: 0.25rem !important;
+  border-top-right-radius: 0.25rem !important;
+}
+
+.rounded-right {
+  border-top-right-radius: 0.25rem !important;
+  border-bottom-right-radius: 0.25rem !important;
+}
+
+.rounded-bottom {
+  border-bottom-right-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-left {
+  border-top-left-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-lg {
+  border-radius: 0.3rem !important;
+}
+
+.rounded-circle {
+  border-radius: 50% !important;
+}
+
+.rounded-pill {
+  border-radius: 50rem !important;
+}
+
+.rounded-0 {
+  border-radius: 0 !important;
+}
+
+.clearfix::after {
+  display: block;
+  clear: both;
+  content: "";
+}
+
+.d-none {
+  display: none !important;
+}
+
+.d-inline {
+  display: inline !important;
+}
+
+.d-inline-block {
+  display: inline-block !important;
+}
+
+.d-block {
+  display: block !important;
+}
+
+.d-table {
+  display: table !important;
+}
+
+.d-table-row {
+  display: table-row !important;
+}
+
+.d-table-cell {
+  display: table-cell !important;
+}
+
+.d-flex {
+  display: -ms-flexbox !important;
+  display: flex !important;
+}
+
+.d-inline-flex {
+  display: -ms-inline-flexbox !important;
+  display: inline-flex !important;
+}
+
+@media (min-width: 576px) {
+  .d-sm-none {
+    display: none !important;
+  }
+  .d-sm-inline {
+    display: inline !important;
+  }
+  .d-sm-inline-block {
+    display: inline-block !important;
+  }
+  .d-sm-block {
+    display: block !important;
+  }
+  .d-sm-table {
+    display: table !important;
+  }
+  .d-sm-table-row {
+    display: table-row !important;
+  }
+  .d-sm-table-cell {
+    display: table-cell !important;
+  }
+  .d-sm-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .d-md-none {
+    display: none !important;
+  }
+  .d-md-inline {
+    display: inline !important;
+  }
+  .d-md-inline-block {
+    display: inline-block !important;
+  }
+  .d-md-block {
+    display: block !important;
+  }
+  .d-md-table {
+    display: table !important;
+  }
+  .d-md-table-row {
+    display: table-row !important;
+  }
+  .d-md-table-cell {
+    display: table-cell !important;
+  }
+  .d-md-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-md-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .d-lg-none {
+    display: none !important;
+  }
+  .d-lg-inline {
+    display: inline !important;
+  }
+  .d-lg-inline-block {
+    display: inline-block !important;
+  }
+  .d-lg-block {
+    display: block !important;
+  }
+  .d-lg-table {
+    display: table !important;
+  }
+  .d-lg-table-row {
+    display: table-row !important;
+  }
+  .d-lg-table-cell {
+    display: table-cell !important;
+  }
+  .d-lg-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .d-xl-none {
+    display: none !important;
+  }
+  .d-xl-inline {
+    display: inline !important;
+  }
+  .d-xl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xl-block {
+    display: block !important;
+  }
+  .d-xl-table {
+    display: table !important;
+  }
+  .d-xl-table-row {
+    display: table-row !important;
+  }
+  .d-xl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xl-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media print {
+  .d-print-none {
+    display: none !important;
+  }
+  .d-print-inline {
+    display: inline !important;
+  }
+  .d-print-inline-block {
+    display: inline-block !important;
+  }
+  .d-print-block {
+    display: block !important;
+  }
+  .d-print-table {
+    display: table !important;
+  }
+  .d-print-table-row {
+    display: table-row !important;
+  }
+  .d-print-table-cell {
+    display: table-cell !important;
+  }
+  .d-print-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-print-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+.embed-responsive {
+  position: relative;
+  display: block;
+  width: 100%;
+  padding: 0;
+  overflow: hidden;
+}
+
+.embed-responsive::before {
+  display: block;
+  content: "";
+}
+
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  border: 0;
+}
+
+.embed-responsive-21by9::before {
+  padding-top: 42.857143%;
+}
+
+.embed-responsive-16by9::before {
+  padding-top: 56.25%;
+}
+
+.embed-responsive-4by3::before {
+  padding-top: 75%;
+}
+
+.embed-responsive-1by1::before {
+  padding-top: 100%;
+}
+
+.flex-row {
+  -ms-flex-direction: row !important;
+  flex-direction: row !important;
+}
+
+.flex-column {
+  -ms-flex-direction: column !important;
+  flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  -ms-flex-direction: row-reverse !important;
+  flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  -ms-flex-direction: column-reverse !important;
+  flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+  -ms-flex-wrap: wrap !important;
+  flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  -ms-flex-wrap: nowrap !important;
+  flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  -ms-flex-wrap: wrap-reverse !important;
+  flex-wrap: wrap-reverse !important;
+}
+
+.flex-fill {
+  -ms-flex: 1 1 auto !important;
+  flex: 1 1 auto !important;
+}
+
+.flex-grow-0 {
+  -ms-flex-positive: 0 !important;
+  flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+  -ms-flex-positive: 1 !important;
+  flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+  -ms-flex-negative: 0 !important;
+  flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+  -ms-flex-negative: 1 !important;
+  flex-shrink: 1 !important;
+}
+
+.justify-content-start {
+  -ms-flex-pack: start !important;
+  justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  -ms-flex-pack: end !important;
+  justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  -ms-flex-pack: center !important;
+  justify-content: center !important;
+}
+
+.justify-content-between {
+  -ms-flex-pack: justify !important;
+  justify-content: space-between !important;
+}
+
+.justify-content-around {
+  -ms-flex-pack: distribute !important;
+  justify-content: space-around !important;
+}
+
+.align-items-start {
+  -ms-flex-align: start !important;
+  align-items: flex-start !important;
+}
+
+.align-items-end {
+  -ms-flex-align: end !important;
+  align-items: flex-end !important;
+}
+
+.align-items-center {
+  -ms-flex-align: center !important;
+  align-items: center !important;
+}
+
+.align-items-baseline {
+  -ms-flex-align: baseline !important;
+  align-items: baseline !important;
+}
+
+.align-items-stretch {
+  -ms-flex-align: stretch !important;
+  align-items: stretch !important;
+}
+
+.align-content-start {
+  -ms-flex-line-pack: start !important;
+  align-content: flex-start !important;
+}
+
+.align-content-end {
+  -ms-flex-line-pack: end !important;
+  align-content: flex-end !important;
+}
+
+.align-content-center {
+  -ms-flex-line-pack: center !important;
+  align-content: center !important;
+}
+
+.align-content-between {
+  -ms-flex-line-pack: justify !important;
+  align-content: space-between !important;
+}
+
+.align-content-around {
+  -ms-flex-line-pack: distribute !important;
+  align-content: space-around !important;
+}
+
+.align-content-stretch {
+  -ms-flex-line-pack: stretch !important;
+  align-content: stretch !important;
+}
+
+.align-self-auto {
+  -ms-flex-item-align: auto !important;
+  align-self: auto !important;
+}
+
+.align-self-start {
+  -ms-flex-item-align: start !important;
+  align-self: flex-start !important;
+}
+
+.align-self-end {
+  -ms-flex-item-align: end !important;
+  align-self: flex-end !important;
+}
+
+.align-self-center {
+  -ms-flex-item-align: center !important;
+  align-self: center !important;
+}
+
+.align-self-baseline {
+  -ms-flex-item-align: baseline !important;
+  align-self: baseline !important;
+}
+
+.align-self-stretch {
+  -ms-flex-item-align: stretch !important;
+  align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-sm-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-sm-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-sm-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-sm-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-sm-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-sm-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-sm-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-sm-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-sm-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-sm-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-md-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-md-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-md-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-md-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-md-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-md-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-md-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-md-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-md-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-md-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-md-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-md-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-md-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-md-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-md-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-lg-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-lg-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-lg-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-lg-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-lg-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-lg-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-lg-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-lg-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-lg-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-lg-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-xl-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-xl-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-xl-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-xl-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-xl-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-xl-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-xl-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-xl-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-xl-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-xl-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-xl-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+.float-left {
+  float: left !important;
+}
+
+.float-right {
+  float: right !important;
+}
+
+.float-none {
+  float: none !important;
+}
+
+@media (min-width: 576px) {
+  .float-sm-left {
+    float: left !important;
+  }
+  .float-sm-right {
+    float: right !important;
+  }
+  .float-sm-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .float-md-left {
+    float: left !important;
+  }
+  .float-md-right {
+    float: right !important;
+  }
+  .float-md-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .float-lg-left {
+    float: left !important;
+  }
+  .float-lg-right {
+    float: right !important;
+  }
+  .float-lg-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .float-xl-left {
+    float: left !important;
+  }
+  .float-xl-right {
+    float: right !important;
+  }
+  .float-xl-none {
+    float: none !important;
+  }
+}
+
+.user-select-all {
+  -webkit-user-select: all !important;
+  -moz-user-select: all !important;
+  -ms-user-select: all !important;
+  user-select: all !important;
+}
+
+.user-select-auto {
+  -webkit-user-select: auto !important;
+  -moz-user-select: auto !important;
+  -ms-user-select: auto !important;
+  user-select: auto !important;
+}
+
+.user-select-none {
+  -webkit-user-select: none !important;
+  -moz-user-select: none !important;
+  -ms-user-select: none !important;
+  user-select: none !important;
+}
+
+.overflow-auto {
+  overflow: auto !important;
+}
+
+.overflow-hidden {
+  overflow: hidden !important;
+}
+
+.position-static {
+  position: static !important;
+}
+
+.position-relative {
+  position: relative !important;
+}
+
+.position-absolute {
+  position: absolute !important;
+}
+
+.position-fixed {
+  position: fixed !important;
+}
+
+.position-sticky {
+  position: -webkit-sticky !important;
+  position: sticky !important;
+}
+
+.fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+.fixed-bottom {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+@supports ((position: -webkit-sticky) or (position: sticky)) {
+  .sticky-top {
+    position: -webkit-sticky;
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+}
+
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  white-space: nowrap;
+  border: 0;
+}
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  overflow: visible;
+  clip: auto;
+  white-space: normal;
+}
+
+.shadow-sm {
+  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow {
+  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-lg {
+  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+  box-shadow: none !important;
+}
+
+.w-25 {
+  width: 25% !important;
+}
+
+.w-50 {
+  width: 50% !important;
+}
+
+.w-75 {
+  width: 75% !important;
+}
+
+.w-100 {
+  width: 100% !important;
+}
+
+.w-auto {
+  width: auto !important;
+}
+
+.h-25 {
+  height: 25% !important;
+}
+
+.h-50 {
+  height: 50% !important;
+}
+
+.h-75 {
+  height: 75% !important;
+}
+
+.h-100 {
+  height: 100% !important;
+}
+
+.h-auto {
+  height: auto !important;
+}
+
+.mw-100 {
+  max-width: 100% !important;
+}
+
+.mh-100 {
+  max-height: 100% !important;
+}
+
+.min-vw-100 {
+  min-width: 100vw !important;
+}
+
+.min-vh-100 {
+  min-height: 100vh !important;
+}
+
+.vw-100 {
+  width: 100vw !important;
+}
+
+.vh-100 {
+  height: 100vh !important;
+}
+
+.m-0 {
+  margin: 0 !important;
+}
+
+.mt-0,
+.my-0 {
+  margin-top: 0 !important;
+}
+
+.mr-0,
+.mx-0 {
+  margin-right: 0 !important;
+}
+
+.mb-0,
+.my-0 {
+  margin-bottom: 0 !important;
+}
+
+.ml-0,
+.mx-0 {
+  margin-left: 0 !important;
+}
+
+.m-1 {
+  margin: 0.25rem !important;
+}
+
+.mt-1,
+.my-1 {
+  margin-top: 0.25rem !important;
+}
+
+.mr-1,
+.mx-1 {
+  margin-right: 0.25rem !important;
+}
+
+.mb-1,
+.my-1 {
+  margin-bottom: 0.25rem !important;
+}
+
+.ml-1,
+.mx-1 {
+  margin-left: 0.25rem !important;
+}
+
+.m-2 {
+  margin: 0.5rem !important;
+}
+
+.mt-2,
+.my-2 {
+  margin-top: 0.5rem !important;
+}
+
+.mr-2,
+.mx-2 {
+  margin-right: 0.5rem !important;
+}
+
+.mb-2,
+.my-2 {
+  margin-bottom: 0.5rem !important;
+}
+
+.ml-2,
+.mx-2 {
+  margin-left: 0.5rem !important;
+}
+
+.m-3 {
+  margin: 1rem !important;
+}
+
+.mt-3,
+.my-3 {
+  margin-top: 1rem !important;
+}
+
+.mr-3,
+.mx-3 {
+  margin-right: 1rem !important;
+}
+
+.mb-3,
+.my-3 {
+  margin-bottom: 1rem !important;
+}
+
+.ml-3,
+.mx-3 {
+  margin-left: 1rem !important;
+}
+
+.m-4 {
+  margin: 1.5rem !important;
+}
+
+.mt-4,
+.my-4 {
+  margin-top: 1.5rem !important;
+}
+
+.mr-4,
+.mx-4 {
+  margin-right: 1.5rem !important;
+}
+
+.mb-4,
+.my-4 {
+  margin-bottom: 1.5rem !important;
+}
+
+.ml-4,
+.mx-4 {
+  margin-left: 1.5rem !important;
+}
+
+.m-5 {
+  margin: 3rem !important;
+}
+
+.mt-5,
+.my-5 {
+  margin-top: 3rem !important;
+}
+
+.mr-5,
+.mx-5 {
+  margin-right: 3rem !important;
+}
+
+.mb-5,
+.my-5 {
+  margin-bottom: 3rem !important;
+}
+
+.ml-5,
+.mx-5 {
+  margin-left: 3rem !important;
+}
+
+.p-0 {
+  padding: 0 !important;
+}
+
+.pt-0,
+.py-0 {
+  padding-top: 0 !important;
+}
+
+.pr-0,
+.px-0 {
+  padding-right: 0 !important;
+}
+
+.pb-0,
+.py-0 {
+  padding-bottom: 0 !important;
+}
+
+.pl-0,
+.px-0 {
+  padding-left: 0 !important;
+}
+
+.p-1 {
+  padding: 0.25rem !important;
+}
+
+.pt-1,
+.py-1 {
+  padding-top: 0.25rem !important;
+}
+
+.pr-1,
+.px-1 {
+  padding-right: 0.25rem !important;
+}
+
+.pb-1,
+.py-1 {
+  padding-bottom: 0.25rem !important;
+}
+
+.pl-1,
+.px-1 {
+  padding-left: 0.25rem !important;
+}
+
+.p-2 {
+  padding: 0.5rem !important;
+}
+
+.pt-2,
+.py-2 {
+  padding-top: 0.5rem !important;
+}
+
+.pr-2,
+.px-2 {
+  padding-right: 0.5rem !important;
+}
+
+.pb-2,
+.py-2 {
+  padding-bottom: 0.5rem !important;
+}
+
+.pl-2,
+.px-2 {
+  padding-left: 0.5rem !important;
+}
+
+.p-3 {
+  padding: 1rem !important;
+}
+
+.pt-3,
+.py-3 {
+  padding-top: 1rem !important;
+}
+
+.pr-3,
+.px-3 {
+  padding-right: 1rem !important;
+}
+
+.pb-3,
+.py-3 {
+  padding-bottom: 1rem !important;
+}
+
+.pl-3,
+.px-3 {
+  padding-left: 1rem !important;
+}
+
+.p-4 {
+  padding: 1.5rem !important;
+}
+
+.pt-4,
+.py-4 {
+  padding-top: 1.5rem !important;
+}
+
+.pr-4,
+.px-4 {
+  padding-right: 1.5rem !important;
+}
+
+.pb-4,
+.py-4 {
+  padding-bottom: 1.5rem !important;
+}
+
+.pl-4,
+.px-4 {
+  padding-left: 1.5rem !important;
+}
+
+.p-5 {
+  padding: 3rem !important;
+}
+
+.pt-5,
+.py-5 {
+  padding-top: 3rem !important;
+}
+
+.pr-5,
+.px-5 {
+  padding-right: 3rem !important;
+}
+
+.pb-5,
+.py-5 {
+  padding-bottom: 3rem !important;
+}
+
+.pl-5,
+.px-5 {
+  padding-left: 3rem !important;
+}
+
+.m-n1 {
+  margin: -0.25rem !important;
+}
+
+.mt-n1,
+.my-n1 {
+  margin-top: -0.25rem !important;
+}
+
+.mr-n1,
+.mx-n1 {
+  margin-right: -0.25rem !important;
+}
+
+.mb-n1,
+.my-n1 {
+  margin-bottom: -0.25rem !important;
+}
+
+.ml-n1,
+.mx-n1 {
+  margin-left: -0.25rem !important;
+}
+
+.m-n2 {
+  margin: -0.5rem !important;
+}
+
+.mt-n2,
+.my-n2 {
+  margin-top: -0.5rem !important;
+}
+
+.mr-n2,
+.mx-n2 {
+  margin-right: -0.5rem !important;
+}
+
+.mb-n2,
+.my-n2 {
+  margin-bottom: -0.5rem !important;
+}
+
+.ml-n2,
+.mx-n2 {
+  margin-left: -0.5rem !important;
+}
+
+.m-n3 {
+  margin: -1rem !important;
+}
+
+.mt-n3,
+.my-n3 {
+  margin-top: -1rem !important;
+}
+
+.mr-n3,
+.mx-n3 {
+  margin-right: -1rem !important;
+}
+
+.mb-n3,
+.my-n3 {
+  margin-bottom: -1rem !important;
+}
+
+.ml-n3,
+.mx-n3 {
+  margin-left: -1rem !important;
+}
+
+.m-n4 {
+  margin: -1.5rem !important;
+}
+
+.mt-n4,
+.my-n4 {
+  margin-top: -1.5rem !important;
+}
+
+.mr-n4,
+.mx-n4 {
+  margin-right: -1.5rem !important;
+}
+
+.mb-n4,
+.my-n4 {
+  margin-bottom: -1.5rem !important;
+}
+
+.ml-n4,
+.mx-n4 {
+  margin-left: -1.5rem !important;
+}
+
+.m-n5 {
+  margin: -3rem !important;
+}
+
+.mt-n5,
+.my-n5 {
+  margin-top: -3rem !important;
+}
+
+.mr-n5,
+.mx-n5 {
+  margin-right: -3rem !important;
+}
+
+.mb-n5,
+.my-n5 {
+  margin-bottom: -3rem !important;
+}
+
+.ml-n5,
+.mx-n5 {
+  margin-left: -3rem !important;
+}
+
+.m-auto {
+  margin: auto !important;
+}
+
+.mt-auto,
+.my-auto {
+  margin-top: auto !important;
+}
+
+.mr-auto,
+.mx-auto {
+  margin-right: auto !important;
+}
+
+.mb-auto,
+.my-auto {
+  margin-bottom: auto !important;
+}
+
+.ml-auto,
+.mx-auto {
+  margin-left: auto !important;
+}
+
+@media (min-width: 576px) {
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .mt-sm-0,
+  .my-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mr-sm-0,
+  .mx-sm-0 {
+    margin-right: 0 !important;
+  }
+  .mb-sm-0,
+  .my-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-sm-0,
+  .mx-sm-0 {
+    margin-left: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-sm-1,
+  .my-sm-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-sm-1,
+  .mx-sm-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-sm-1,
+  .my-sm-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-sm-1,
+  .mx-sm-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-sm-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-sm-2,
+  .my-sm-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-sm-2,
+  .mx-sm-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-sm-2,
+  .my-sm-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-sm-2,
+  .mx-sm-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-sm-3 {
+    margin: 1rem !important;
+  }
+  .mt-sm-3,
+  .my-sm-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-sm-3,
+  .mx-sm-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-sm-3,
+  .my-sm-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-sm-3,
+  .mx-sm-3 {
+    margin-left: 1rem !important;
+  }
+  .m-sm-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-sm-4,
+  .my-sm-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-sm-4,
+  .mx-sm-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-sm-4,
+  .my-sm-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-sm-4,
+  .mx-sm-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-sm-5 {
+    margin: 3rem !important;
+  }
+  .mt-sm-5,
+  .my-sm-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-sm-5,
+  .mx-sm-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-sm-5,
+  .my-sm-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-sm-5,
+  .mx-sm-5 {
+    margin-left: 3rem !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .pt-sm-0,
+  .py-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pr-sm-0,
+  .px-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pb-sm-0,
+  .py-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-sm-0,
+  .px-sm-0 {
+    padding-left: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-sm-1,
+  .py-sm-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-sm-1,
+  .px-sm-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-sm-1,
+  .py-sm-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-sm-1,
+  .px-sm-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-sm-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-sm-2,
+  .py-sm-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-sm-2,
+  .px-sm-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-sm-2,
+  .py-sm-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-sm-2,
+  .px-sm-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-sm-3 {
+    padding: 1rem !important;
+  }
+  .pt-sm-3,
+  .py-sm-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-sm-3,
+  .px-sm-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-sm-3,
+  .py-sm-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-sm-3,
+  .px-sm-3 {
+    padding-left: 1rem !important;
+  }
+  .p-sm-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-sm-4,
+  .py-sm-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-sm-4,
+  .px-sm-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-sm-4,
+  .py-sm-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-sm-4,
+  .px-sm-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-sm-5 {
+    padding: 3rem !important;
+  }
+  .pt-sm-5,
+  .py-sm-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-sm-5,
+  .px-sm-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-sm-5,
+  .py-sm-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-sm-5,
+  .px-sm-5 {
+    padding-left: 3rem !important;
+  }
+  .m-sm-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-sm-n1,
+  .my-sm-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-sm-n1,
+  .mx-sm-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-sm-n1,
+  .my-sm-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-sm-n1,
+  .mx-sm-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-sm-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-sm-n2,
+  .my-sm-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-sm-n2,
+  .mx-sm-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-sm-n2,
+  .my-sm-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-sm-n2,
+  .mx-sm-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-sm-n3 {
+    margin: -1rem !important;
+  }
+  .mt-sm-n3,
+  .my-sm-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-sm-n3,
+  .mx-sm-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-sm-n3,
+  .my-sm-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-sm-n3,
+  .mx-sm-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-sm-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-sm-n4,
+  .my-sm-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-sm-n4,
+  .mx-sm-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-sm-n4,
+  .my-sm-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-sm-n4,
+  .mx-sm-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-sm-n5 {
+    margin: -3rem !important;
+  }
+  .mt-sm-n5,
+  .my-sm-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-sm-n5,
+  .mx-sm-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-sm-n5,
+  .my-sm-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-sm-n5,
+  .mx-sm-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mt-sm-auto,
+  .my-sm-auto {
+    margin-top: auto !important;
+  }
+  .mr-sm-auto,
+  .mx-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-auto,
+  .my-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-sm-auto,
+  .mx-sm-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .mt-md-0,
+  .my-md-0 {
+    margin-top: 0 !important;
+  }
+  .mr-md-0,
+  .mx-md-0 {
+    margin-right: 0 !important;
+  }
+  .mb-md-0,
+  .my-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-md-0,
+  .mx-md-0 {
+    margin-left: 0 !important;
+  }
+  .m-md-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-md-1,
+  .my-md-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-md-1,
+  .mx-md-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-md-1,
+  .my-md-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-md-1,
+  .mx-md-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-md-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-md-2,
+  .my-md-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-md-2,
+  .mx-md-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-md-2,
+  .my-md-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-md-2,
+  .mx-md-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-md-3 {
+    margin: 1rem !important;
+  }
+  .mt-md-3,
+  .my-md-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-md-3,
+  .mx-md-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-md-3,
+  .my-md-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-md-3,
+  .mx-md-3 {
+    margin-left: 1rem !important;
+  }
+  .m-md-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-md-4,
+  .my-md-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-md-4,
+  .mx-md-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-md-4,
+  .my-md-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-md-4,
+  .mx-md-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-md-5 {
+    margin: 3rem !important;
+  }
+  .mt-md-5,
+  .my-md-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-md-5,
+  .mx-md-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-md-5,
+  .my-md-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-md-5,
+  .mx-md-5 {
+    margin-left: 3rem !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .pt-md-0,
+  .py-md-0 {
+    padding-top: 0 !important;
+  }
+  .pr-md-0,
+  .px-md-0 {
+    padding-right: 0 !important;
+  }
+  .pb-md-0,
+  .py-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-md-0,
+  .px-md-0 {
+    padding-left: 0 !important;
+  }
+  .p-md-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-md-1,
+  .py-md-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-md-1,
+  .px-md-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-md-1,
+  .py-md-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-md-1,
+  .px-md-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-md-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-md-2,
+  .py-md-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-md-2,
+  .px-md-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-md-2,
+  .py-md-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-md-2,
+  .px-md-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-md-3 {
+    padding: 1rem !important;
+  }
+  .pt-md-3,
+  .py-md-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-md-3,
+  .px-md-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-md-3,
+  .py-md-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-md-3,
+  .px-md-3 {
+    padding-left: 1rem !important;
+  }
+  .p-md-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-md-4,
+  .py-md-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-md-4,
+  .px-md-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-md-4,
+  .py-md-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-md-4,
+  .px-md-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-md-5 {
+    padding: 3rem !important;
+  }
+  .pt-md-5,
+  .py-md-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-md-5,
+  .px-md-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-md-5,
+  .py-md-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-md-5,
+  .px-md-5 {
+    padding-left: 3rem !important;
+  }
+  .m-md-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-md-n1,
+  .my-md-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-md-n1,
+  .mx-md-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-md-n1,
+  .my-md-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-md-n1,
+  .mx-md-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-md-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-md-n2,
+  .my-md-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-md-n2,
+  .mx-md-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-md-n2,
+  .my-md-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-md-n2,
+  .mx-md-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-md-n3 {
+    margin: -1rem !important;
+  }
+  .mt-md-n3,
+  .my-md-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-md-n3,
+  .mx-md-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-md-n3,
+  .my-md-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-md-n3,
+  .mx-md-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-md-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-md-n4,
+  .my-md-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-md-n4,
+  .mx-md-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-md-n4,
+  .my-md-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-md-n4,
+  .mx-md-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-md-n5 {
+    margin: -3rem !important;
+  }
+  .mt-md-n5,
+  .my-md-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-md-n5,
+  .mx-md-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-md-n5,
+  .my-md-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-md-n5,
+  .mx-md-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mt-md-auto,
+  .my-md-auto {
+    margin-top: auto !important;
+  }
+  .mr-md-auto,
+  .mx-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-auto,
+  .my-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-md-auto,
+  .mx-md-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .mt-lg-0,
+  .my-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mr-lg-0,
+  .mx-lg-0 {
+    margin-right: 0 !important;
+  }
+  .mb-lg-0,
+  .my-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-lg-0,
+  .mx-lg-0 {
+    margin-left: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-lg-1,
+  .my-lg-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-lg-1,
+  .mx-lg-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-lg-1,
+  .my-lg-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-lg-1,
+  .mx-lg-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-lg-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-lg-2,
+  .my-lg-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-lg-2,
+  .mx-lg-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-lg-2,
+  .my-lg-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-lg-2,
+  .mx-lg-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-lg-3 {
+    margin: 1rem !important;
+  }
+  .mt-lg-3,
+  .my-lg-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-lg-3,
+  .mx-lg-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-lg-3,
+  .my-lg-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-lg-3,
+  .mx-lg-3 {
+    margin-left: 1rem !important;
+  }
+  .m-lg-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-lg-4,
+  .my-lg-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-lg-4,
+  .mx-lg-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-lg-4,
+  .my-lg-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-lg-4,
+  .mx-lg-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-lg-5 {
+    margin: 3rem !important;
+  }
+  .mt-lg-5,
+  .my-lg-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-lg-5,
+  .mx-lg-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-lg-5,
+  .my-lg-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-lg-5,
+  .mx-lg-5 {
+    margin-left: 3rem !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .pt-lg-0,
+  .py-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pr-lg-0,
+  .px-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pb-lg-0,
+  .py-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-lg-0,
+  .px-lg-0 {
+    padding-left: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-lg-1,
+  .py-lg-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-lg-1,
+  .px-lg-1 {
+    padding-right: 0.25rem !important;
... 5594 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 29/30: Add headerlink as per main site

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 5a8aea42f64b034dbe6a2aa431741beb5acb731c
Author: Sebb <se...@apache.org>
AuthorDate: Sat Mar 25 12:41:19 2023 +0000

    Add headerlink as per main site
---
 layouts/_default/_markup/render-heading.html | 5 +++++
 static/css/main.css                          | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html
new file mode 100644
index 0000000..6e02d60
--- /dev/null
+++ b/layouts/_default/_markup/render-heading.html
@@ -0,0 +1,5 @@
+<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}
+{{- if and (ge .Level 1) (le .Level 4) }}{{" " -}}
+<a class="headerlink" title="Permalink" href="#{{ .Anchor | safeURL }}">&para;</a>
+{{- end -}}
+</h{{ .Level }}>
diff --git a/static/css/main.css b/static/css/main.css
index 519b025..b7ccc4a 100644
--- a/static/css/main.css
+++ b/static/css/main.css
@@ -20,3 +20,10 @@ footer.page-footer .footer-copyright {
   background-color: rgba(0,0,0,0.2);
 }
 
+.headerlink {
+  visibility: hidden;
+}
+
+dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
+  visibility: visible
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 19/30: fix application form href link

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 68a12b6ced6ac2729386bd539095f025d3040620
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Thu Mar 23 12:10:27 2023 +0100

    fix application form href link
---
 source/events/current.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/source/events/current.md b/source/events/current.md
index 4d4545b..9951b2c 100644
--- a/source/events/current.md
+++ b/source/events/current.md
@@ -24,8 +24,8 @@ title: Travel Assistance Committee - TAC
           <p> Places are limited and will be awarded to those that are deemed most in need of assistance. Applicants will need to
               already have a Visa or live in an EU Schengen Country that does not therefore require a Visa. No applications from 
               outside the EU will be concidered for this event.<p>
-        <p> Go to <a ref="https://tac-apply.apache.org">our application form</a> and apply as soon as possible. The deadline for 
-            applications is April 15thc 2023.</p>
+        <p> Go to <a href='https://tac-apply.apache.org'>our application form</a> and apply as soon as possible. The deadline for 
+            applications is April 15th 2023.</p>
     </div>
 </div>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 18/30: Open applications for Berlin Buzzwords

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 336bd9b34dd88afac10342ccabcc5e075faea183
Author: Gavin McDonald <gm...@apache.org>
AuthorDate: Thu Mar 23 12:08:37 2023 +0100

    Open applications for Berlin Buzzwords
---
 source/events/current.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/source/events/current.md b/source/events/current.md
index c1ac034..4d4545b 100644
--- a/source/events/current.md
+++ b/source/events/current.md
@@ -15,7 +15,17 @@ title: Travel Assistance Committee - TAC
 <div class="row">
     <div class="col-md-auto">
         <h4>Currently supported events</h4>
-          <p>No events currently supported, check back regularly!</p>
+          <p>Berlin Buzzwords 2023</p>
+          <p> Applications are now being accepted to attend Berlin Buzzwords taking place between the 18th and 20th June 2023 <br />
+              Event details on <a href='https://2023.berlinbuzzwords.de/'>their website</a><p>
+          <p> The ASF Travel Assistance Committee hopes to offer 5 or 6 Conference Passes along with Hotel and Travel assistance 
+              as needed. Assistance is open to anyone involved in Open Source including ASF Committers, non-committer contributors
+              and people from open source projects in general.<p>
+          <p> Places are limited and will be awarded to those that are deemed most in need of assistance. Applicants will need to
+              already have a Visa or live in an EU Schengen Country that does not therefore require a Visa. No applications from 
+              outside the EU will be concidered for this event.<p>
+        <p> Go to <a ref="https://tac-apply.apache.org">our application form</a> and apply as soon as possible. The deadline for 
+            applications is April 15thc 2023.</p>
     </div>
 </div>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 06/30: minor tweak to test build

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 92f946c35135f4329abf02eb0c23cdb0a3334238
Author: gmcdonald <gm...@apache.org>
AuthorDate: Fri Feb 24 11:57:33 2023 +0100

    minor tweak to test build
---
 source/_index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/_index.md b/source/_index.md
index 71d253c..e6dad60 100644
--- a/source/_index.md
+++ b/source/_index.md
@@ -4,7 +4,7 @@ title: Travel Assistance Committee - TAC
 
 <div class="jumbotron">
 <a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" style="float: right;"/></a>
-<h2>Travel Assistance Committee</h2>
+<h2>Travel Assistance Committee (TAC)</h2>
 
 The Travel Assistance committee was reformed in September 2008 with the goal of providing financial assistance to those who would otherwise be unable to attend various ApacheCon events.
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org


[tac-website] 22/30: Typo

Posted by gm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gmcdonald pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tac-website.git

commit 8a085387a3fefbb92c01ced5c952bec6d3fb22fd
Author: Sebb <se...@apache.org>
AuthorDate: Fri Mar 24 14:59:03 2023 +0000

    Typo
---
 layouts/_default/baseof.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 6024e7d..258b7cd 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -19,7 +19,7 @@
 <html>
 <head>
   <meta name="description" content="ASF Travel Assistance Committee"/>
-  <meta name="keywords" content="asf, tac, travel assistance, apachecon, anca, aceu"/>
+  <meta name="keywords" content="asf, tac, travel assistance, apachecon, acna, aceu"/>
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
   {{ template "_internal/opengraph.html" . }}
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tac.apache.org
For additional commands, e-mail: commits-help@tac.apache.org