diff --git a/index.html b/index.html
index 160d090d2b9b14922366afeb1b69609d83ac1e2a..017edd1a29662bdef63c19ca467db82c2517cddf 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,7 @@
   <link href="/favicon.ico" rel="icon" type="image/x-icon" />
   <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
   <link rel="search" type="application/opensearchdescription+xml"
-    title="MetaGer: Sicher suchen &amp; finden, Privatsphäre schützen" href="https://metager.de/plugins/opensearch.xml">
+    title="MetaGer: Sicher suchen &amp; finden" href="https://metager.de/plugins/opensearch.xml">
   <link type="text/css" rel="stylesheet" href="/css/bootstrap.css?id=b803963ec1e03b9de08e" />
   <link type="text/css" rel="stylesheet" href="/css/themes/metager.css?id=35b998573f409cb5260f" />
   <link type="text/css" rel="stylesheet" href="/css/utility.css?id=119a7732fcac8ee992c0" />
@@ -50,7 +50,7 @@
               </div>
               <div class="search-input">
                 <input type="search" name="eingabe" value="" required="" autofocus autocomplete="off"
-                  class="form-control" placeholder="MetaGer: Sicher suchen &amp; finden, Privatsphäre schützen"
+                  class="form-control" placeholder="MetaGer: Sicher suchen &amp; finden"
                   tabindex="0">
                 <button id="search-delete-btn" name="delete-search-input" type="button" tabindex="-1">
                   &#xd7;
diff --git a/public/img/App.svg b/public/img/App.svg
new file mode 100644
index 0000000000000000000000000000000000000000..24cf14157faaa0369c0dea05a75406af915d0ecc
--- /dev/null
+++ b/public/img/App.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="100"
+   height="100"
+   viewBox="0 0 26.458333 26.458334"
+   version="1.1"
+   id="svg8"
+   sodipodi:docname="plug-in (Kopie).svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <defs
+     id="defs2">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 13.229167 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="26.458333 : 13.229167 : 1"
+       inkscape:persp3d-origin="13.229166 : 8.8194447 : 1"
+       id="perspective12" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="45.471953"
+     inkscape:cy="41.874118"
+     inkscape:document-units="mm"
+     inkscape:current-layer="g4533"
+     showgrid="false"
+     units="px"
+     inkscape:snap-global="false"
+     inkscape:window-width="1164"
+     inkscape:window-height="919"
+     inkscape:window-x="662"
+     inkscape:window-y="1"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-270.54165)">
+    <g
+       id="g4533">
+      <rect
+         ry="3.9087646"
+         y="271.84094"
+         x="1.2992932"
+         height="23.859747"
+         width="23.859747"
+         id="rect28"
+         style="fill:#f47216;fill-opacity:1;stroke:none;stroke-width:17.69223785;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <g
+         id="g6"
+         transform="matrix(0.03649932,0,0,-0.03649932,-102.20739,297.48057)"
+         style="fill:#ffffff;fill-opacity:1">
+        <path
+           style="stroke-width:0.64666831;fill:#ffffff;fill-opacity:1"
+           id="path4"
+           fill="#00000"
+           d="M 2938.0555,633.9116 V 484.97095 h 44.8207 c 17.6217,0 26.4293,9.32884 26.4293,27.72849 v 50.95035 h 223.6567 c 65.32,0 97.9767,-34.70539 97.9767,-101.93432 V 406.296 h -321.6334 l 0.01,-33.63645 c 0,-18.30913 -8.8917,-27.72332 -26.4293,-27.72332 h -60.6639 v -91.04444 c 0,-91.04444 45.5233,-136.56988 137.5572,-136.56988 h 182.0953 c 106.8749,0 161.3114,55.41883 161.3114,165.26902 V 468.6374 c 0,109.84956 -54.4365,165.26903 -161.3114,165.26903 z m 187.3981,-288.97667 h 48.3449 c 32.5663,0 44.9564,-16.72026 44.9564,-47.91683 v -72.93772 c 0,-24.77063 -12.4225,-37.6154 -36.7049,-37.6154 h -24.942 c -21.0361,0 -31.6544,12.44836 -31.6544,37.16079 v 121.30852"
+           inkscape:connector-curvature="0" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/public/img/Key-verified.svg b/public/img/Key-verified.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a58dedf12919bcef41370efa9ad914b497b7f89f
--- /dev/null
+++ b/public/img/Key-verified.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 20.2868 22.110937"
+   height="83.568893"
+   width="76.674522">
+  <defs
+     id="defs2">
+    <linearGradient
+       osb:paint="solid"
+       id="linearGradient873">
+      <stop
+         id="stop871"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+    </linearGradient>
+  </defs>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-3.4184229,-3.3590331)"
+     id="layer1">
+    <g
+       transform="matrix(0.94051295,0,0,0.94051295,12.688618,13.321448)"
+       id="g951">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.106914;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 10.135492,10.776251 -1.5268189,-0.0017 -1e-6,-0.8071322 V 9.1602915 h -0.866408 l -0.866407,7e-7 -0.0029,-0.86748 -0.0029,-0.86748 -0.92705,-0.00273 -0.927051,-0.00273 -3.331638,-3.300666 -3.331637,-3.30066589 -0.660668,0.20667649 c -1.689156,0.5284253 -3.326308,0.4095897 -4.768506,-0.34612369 -0.58673,-0.3074467 -0.714851,-0.4111963 -1.323643,-1.0718548 -0.531751,-0.5770545 -0.727451,-0.84849281 -0.927087,-1.28587511 -0.8612711,-1.8869634 -0.661624,-4.1365143 0.527014,-5.9382279 1.779932,-2.6979853 5.273663,-3.7405363 7.97344004,-2.379325 0.555941,0.280302 0.75765,0.432943 1.344145,1.017158 0.60087796,0.598474 0.73045396,0.770674 1.00260096,1.331858 0.694921,1.4329399 0.801318,3.0543782 0.297548,4.5344753 l -0.159678,0.4691404 2.906917,2.90715631 c 1.59882,1.59891999 3.837403,3.87312629 4.974634,5.05378699 l 2.0676879,2.1466589 0.06775,1.6168194 c 0.03729,0.8892229 0.04971,1.6348564 0.02762,1.6569384 -0.02208,0.02208 -0.727216,0.03938 -1.566968,0.03845 z M 5.0165351,3.9490521 C 0.23552214,-0.83196119 0.19460714,-0.87089619 0.07582214,-0.75211149 c -0.118783,0.1187827 -0.07985,0.1597001 4.70116396,4.94071299 4.781013,4.7810138 4.821929,4.8199492 4.940713,4.7011644 0.118784,-0.1187833 0.07985,-0.1596979 -4.701164,-4.9407138 z m -7.737901,-10.8433558 c -0.03763,-0.315039 -0.371174,-0.698064 -0.638464,-0.733174 -0.379564,-0.04986 -0.548415,0.07969 -2.014106,1.5453861 -1.465692,1.4656916 -1.595248,1.6345431 -1.545387,2.0141068 0.03511,0.2672877 0.418138,0.6008314 0.733174,0.6384639 l 0.281916,0.033674 1.608268,-1.6082677 1.608267,-1.608267 z"
+         id="path937" />
+      <path
+         id="path831"
+         d="M -8.3687574,8.2904687 -5.4693718,11.491948 0.40944923,4.5325484"
+         style="fill:none;stroke:#00ff00;stroke-width:1.87663555;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/app-icon.svg b/public/img/app-icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..114e21ee81498a48a950bb13d1689dc6d15cbdbc
--- /dev/null
+++ b/public/img/app-icon.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 17.004351 25.207982"
+   height="95.274338"
+   width="64.268486">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(1.0031548,0,0,1.0031548,-3.9391293,-0.77408366)"
+     id="layer1">
+    <text
+       transform="scale(0.96302243,1.0383974)"
+       id="text849"
+       y="10.904549"
+       x="9.6255322"
+       style="font-size:2.15425992px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.0538572"
+       xml:space="preserve"><tspan
+         id="tspan851"
+         style="stroke-width:0.0538572"
+         y="10.904549"
+         x="9.6255322" /><tspan
+         id="tspan855"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bahnschrift;-inkscape-font-specification:Bahnschrift;stroke-width:0.0538572"
+         y="13.597374"
+         x="9.6255322" /></text>
+    <g
+       transform="matrix(1.0630658,0,0,1.1024788,-0.90346999,-1.3206656)"
+       id="g951">
+      <rect
+         ry="1.5105851"
+         y="2.6458333"
+         x="5.2916665"
+         height="21.296902"
+         width="14.449266"
+         id="rect837"
+         style="fill:none;stroke:#040504;stroke-width:1.49600995;stroke-miterlimit:4;stroke-dasharray:none" />
+      <rect
+         ry="1.3071659"
+         y="21.166666"
+         x="5.3231692"
+         height="2.6143317"
+         width="14.489078"
+         id="rect839"
+         style="fill:#000000;fill-opacity:1;stroke:#040504;stroke-width:0.42081699;stroke-miterlimit:4;stroke-dasharray:none" />
+      <ellipse
+         ry="1.3462986"
+         rx="1.3691468"
+         cy="22.726063"
+         cx="12.428333"
+         id="path845"
+         style="fill:#ffffff;fill-opacity:1;stroke:#040504;stroke-width:0.205255;stroke-miterlimit:4;stroke-dasharray:none" />
+      <path
+         id="path903"
+         d="m 5.6486325,20.578554 c 0.200779,0.353567 0.4013875,0.706834 0.6363712,0.876536 0.2349838,0.169701 0.5132093,0.155702 0.7870452,0.141923"
+         style="fill:none;stroke:#000000;stroke-width:0.565;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         id="path919"
+         d="m 5.7369234,19.647012 c 0.092145,0.48269 0.1842423,0.965132 0.3403219,1.206546 0.1560797,0.241413 0.3758611,0.242047 0.5953286,0.242679"
+         style="fill:none;stroke:#000000;stroke-width:0.26458299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         id="path919-4"
+         d="m 19.29872,19.63372 c -0.09214,0.482691 -0.184242,0.965132 -0.340322,1.206545 -0.156079,0.241414 -0.375861,0.242048 -0.595329,0.24268"
+         style="fill:none;stroke:#000000;stroke-width:0.26458299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         id="path942"
+         d="m 19.246258,20.961411 c -0.280206,0.04424 -0.203374,-0.02156 -0.295231,0.07029"
+         style="fill:none;stroke:#000000;stroke-width:0.26458299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/caret.svg b/public/img/caret.svg
new file mode 100644
index 0000000000000000000000000000000000000000..533db75afa117b678145e87f410e7f3bc180d63f
--- /dev/null
+++ b/public/img/caret.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   width="100"
+   height="100"
+   viewBox="0 0 26.458333 26.458333"
+   version="1.1"
+   id="svg8">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     transform="translate(0,-270.54167)">
+    <path
+       style="fill:#000000;stroke:#000000;stroke-width:0.25773612px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+       d="M 0.67587512,278.80927 H 25.782488 l -12.552666,9.88796 z"
+       id="path829" />
+  </g>
+</svg>
diff --git a/public/img/donate-icon.svg b/public/img/donate-icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..931dd614300b87172699e68b6be87ea132c0e8ad
--- /dev/null
+++ b/public/img/donate-icon.svg
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 26.931657 23.457593"
+   height="88.658615"
+   width="101.78894">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-0.86418077,1.501482)"
+     id="layer1">
+    <g
+       transform="matrix(0.13425142,0,0,0.13425142,2.2567137,-12.05452)"
+       id="g958">
+      <path
+         d="m 189.62341,133.14516 c 0,16.79431 -11.26763,29.24453 -20.43523,40.23335 -6.8875,8.25575 -20.27354,13.84626 -33.0215,13.84626 -29.54228,0 -53.525315,-24.53733 -53.525315,-54.07961 -2e-6,-29.54228 23.948745,-53.491026 53.491025,-53.491023 29.54228,0 53.49102,23.948743 53.49102,53.491023 z"
+         style="fill:#000000;fill-opacity:1;stroke:#030601;stroke-width:1.22028005"
+         id="path27-1" />
+      <path
+         d="m 14.967093,-237.43729 h 95.249897 v 95.2499 l -92.756184,-3.04787 z"
+         transform="rotate(135)"
+         style="fill:#000000;fill-opacity:1;stroke:#030601;stroke-width:10.61600018;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect52" />
+      <path
+         d="m -9.762435,132.70769 c 0,16.79431 13.3493218,31.68134 22.516922,42.67016 6.8875,8.25576 17.677548,10.638 30.425508,10.638 29.542282,0 54.039622,-23.76588 54.039622,-53.30816 0,-29.54228 -23.94875,-53.491025 -53.491032,-53.491022 -29.54228,0 -53.49102,23.948742 -53.49102,53.491022 z"
+         style="fill:#000000;fill-opacity:1;stroke:#030601;stroke-width:1.22028005"
+         id="path27-1-5" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/heart.svg b/public/img/heart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fcf1796b149c1ee0733cb0c7bb46ddc64b5ffa54
--- /dev/null
+++ b/public/img/heart.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   id="svg10"
+   xml:space="preserve"
+   viewBox="0 0 192.85953 398.53102"
+   version="1.1"
+   height="74.832336"
+   width="87.514915"><defs
+     id="defs14"><linearGradient
+       xlink:href="#linearGradient6206"
+       id="linearGradient6210"
+       gradientUnits="userSpaceOnUse"
+       x1="-293.63593"
+       y1="3.2192702"
+       x2="-258.68027"
+       y2="13.229791" /><linearGradient
+       id="linearGradient6206"><stop
+         style="stop-color:#ffec00;stop-opacity:1"
+         offset="0"
+         id="stop6202" /><stop
+         style="stop-color:#ff0000;stop-opacity:1"
+         offset="1"
+         id="stop6204" /></linearGradient></defs><metadata
+     id="metadata2"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g
+     id="g8"
+     transform="matrix(6.4131855,0,0,-6.4131855,-1935.3288,416.0147)"><g
+       id="layer1"
+       transform="matrix(2.0600602,0,0,-1.954417,280.47242,579.78551)"><g
+         id="g61"
+         transform="rotate(-45,12.388336,277.04149)"><g
+           id="g112"><g
+             id="g120"><g
+               id="g125"><path
+                 id="path26-6"
+                 transform="rotate(-90)"
+                 style="fill:url(#linearGradient6210);fill-opacity:1;stroke-width:0.42132547"
+                 d="m -262.5319,13.229773 a 11.083057,10.010504 0 0 1 -11.08306,10.010503 11.083057,10.010504 0 0 1 -11.08306,-10.010503 11.083057,10.010504 0 0 1 11.08306,-10.0105042 11.083057,10.010504 0 0 1 11.08306,10.0105042 z m -21.09353,21.093558 a 10.010503,11.083056 0 0 1 -10.0105,-11.083057 10.010503,11.083056 0 0 1 10.0105,-11.083056 10.010503,11.083056 0 0 1 10.01051,11.083056 10.010503,11.083056 0 0 1 -10.01051,11.083057 z M -273.61496,3.2192702 V 23.240276 h -20.02098 V 3.2192702 Z" /></g></g></g></g></g></g></svg>
\ No newline at end of file
diff --git a/public/img/help-icon.svg b/public/img/help-icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93c873c5dee49fd8983c028bb841ed5ffe015fe6
--- /dev/null
+++ b/public/img/help-icon.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg868"
+   version="1.1"
+   viewBox="0 0 58.53315 127.06201"
+   height="127.06201mm"
+   width="58.53315mm">
+  <defs
+     id="defs862" />
+  <metadata
+     id="metadata865">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-32.72152,-30.207088)"
+     id="layer1">
+    <g
+       transform="translate(28.79664,-48.836911)"
+       id="g1172">
+      <path
+         id="path1112"
+         d="m 4.0878183,117.33831 c 0,0 -0.027166,2.81153 0,3.94328 0.025831,1.07612 0.020286,2.80636 0.011948,3.99925 -0.011948,1.31788 -0.2765313,1.0533 1.2705574,1.74538 4.4091516,1.46972 8.8183033,2.93943 13.2274553,4.40915 1.395523,0.42184 1.36504,0.27868 1.36504,1.768 v 55.71842 c -1e-6,1.17693 -0.433095,1.3213 -1.415906,1.6489 -4.426835,1.47561 -8.853668,2.95121 -13.2805016,4.42682 -1.2011163,0.2836 -1.1785931,0.49145 -1.1785931,1.70681 v 7.8662 c -0.074121,1.38538 -0.1204619,1.4032 1.2035867,1.4032 h 55.607383 c 1.397364,0 1.397364,0 1.397364,-1.31952 v -7.94988 c 0.129497,-1.53353 -0.143286,-1.36172 -1.340441,-1.76075 L 47.625,190.5 c -1.203848,-0.66586 -1.203848,-0.5549 -1.203848,-1.82926 v -71.35018 c 0,-1.30517 -0.0062,-1.30517 -1.322917,-1.30517 l -27.7689,-0.16295 c 0,0 -9.2727667,0.16295 -11.9186,0.16295 -1.3229167,0 -1.3229167,0 -1.3229167,1.32292 z"
+         style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <circle
+         r="15.875"
+         cy="95.25"
+         cx="31.75"
+         id="path1136"
+         style="fill:#000000;fill-opacity:1;stroke:#030601;stroke-width:0.66200101;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/icon-contact.svg b/public/img/icon-contact.svg
new file mode 100644
index 0000000000000000000000000000000000000000..75630175905856d2475efba97ad1947e408c3917
--- /dev/null
+++ b/public/img/icon-contact.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg886"
+   version="1.1"
+   viewBox="0 0 119.11248 72.917885"
+   height="72.917885mm"
+   width="119.11248mm">
+  <defs
+     id="defs880" />
+  <metadata
+     id="metadata883">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-27.050188,-79.219395)"
+     id="layer1">
+    <g
+       transform="matrix(-1,0,0,1,172.73174,21.93258)"
+       id="g1493-2">
+      <ellipse
+         ry="24.717651"
+         rx="37.424618"
+         cy="105.13705"
+         cx="68.756851"
+         id="path1451-6"
+         style="fill:#000000;stroke:#040504;stroke-width:0.69999999" />
+      <path
+         id="path1489-0"
+         d="m 27.10516,128.38204 c -0.147797,-0.27965 0.01285,-1.02894 0.357,-1.66507 0.670324,-1.23905 5.305675,-6.42005 7.239767,-8.09199 l 1.172115,-1.01325 1.205305,1.26285 c 0.662922,0.69458 2.577526,2.19334 4.254682,3.33059 l 3.049372,2.06773 -2.104025,0.77414 c -3.890322,1.4314 -11.161497,3.47085 -13.041461,3.65796 -1.519852,0.15125 -1.913651,0.0916 -2.132755,-0.32296 z"
+         style="fill:#000000;stroke:#040504;stroke-width:0.93371099" />
+    </g>
+    <ellipse
+       ry="24.717651"
+       rx="37.424618"
+       cy="105.13705"
+       cx="68.756851"
+       id="path1451"
+       style="fill:#000000;stroke:#ffffff;stroke-width:5.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path1489"
+       d="m 27.115097,128.27021 c -0.174514,-0.3581 0.01517,-1.31759 0.421533,-2.13217 0.791494,-1.58665 6.264751,-8.22106 8.548457,-10.36204 l 1.383991,-1.29749 1.423182,1.61711 c 0.782754,0.88943 3.043449,2.80864 5.023775,4.26493 l 3.60059,2.64778 -2.484358,0.99131 c -4.593553,1.83294 -13.179095,4.44452 -15.39889,4.68412 -1.794586,0.19368 -2.25957,0.1173 -2.51828,-0.41355 z"
+       style="fill:#000000;stroke:none;stroke-width:1.14847004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/public/img/icon-filter.svg b/public/img/icon-filter.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b03b4a647d78219229184347132a378362c37b3b
--- /dev/null
+++ b/public/img/icon-filter.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg928"
+   version="1.1"
+   viewBox="0 0 16.450246 17.82164"
+   height="67.357376"
+   width="62.17416">
+  <defs
+     id="defs922" />
+  <metadata
+     id="metadata925">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-5.004043,-3.8364584)"
+     id="layer1">
+    <path
+       transform="scale(0.26458333)"
+       d="m 20,15 21.275391,24.822266 h -0.203125 v 33 l 17.677734,8.25 v -41.25 H 58.72461 L 80,15 Z"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.99999899px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1493" />
+  </g>
+</svg>
diff --git a/public/img/icon-language.svg b/public/img/icon-language.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5b1e59c81ce6d454cf140e4603d8760598ba4f2
--- /dev/null
+++ b/public/img/icon-language.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2312"
+   version="1.1"
+   viewBox="0 0 24.114968 27.626009"
+   height="104.41326"
+   width="91.143188">
+  <defs
+     id="defs2306" />
+  <metadata
+     id="metadata2309">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-1.1716824,0.45452719)"
+     id="layer1">
+    <circle
+       r="12.057485"
+       cy="13.229167"
+       cx="13.229167"
+       id="path2879"
+       style="fill:#000000;stroke-width:317.63400269" />
+    <path
+       id="path2885"
+       d="M 1.887134,7.9374999 H 24.546385"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20305324;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path2887"
+       d="M 2.0968156,18.520833 H 24.466358"
+       style="fill:none;stroke:#ffffff;stroke-width:1.19533777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path2889"
+       d="m 15.875,0 c 1.323075,2.6461507 2.645991,5.2919842 3.30737,8.3787986 0.661379,3.0868144 0.661379,6.6145214 -1.19e-4,9.7012744 -0.661498,3.086752 -1.984388,5.732533 -3.307251,8.37826"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path2889-6"
+       d="M 10.706355,-0.18457826 C 9.3422189,2.523203 7.9782952,5.2305626 7.2964396,8.3480878 6.6145841,11.465613 6.6145841,14.99332 7.3250598,18.153528 c 0.7104758,3.160209 2.1313761,5.953011 3.5523092,8.745879"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/public/img/icon-lupe.svg b/public/img/icon-lupe.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0188dbdc01993d18cf0b2ccc6684be699461e692
--- /dev/null
+++ b/public/img/icon-lupe.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg1729"
+   version="1.1"
+   viewBox="0 0 24.410983 23.632021"
+   height="89.317871"
+   width="92.261986"
+   sodipodi:docname="icon-lupe.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1848"
+     inkscape:window-height="1016"
+     id="namedview7"
+     showgrid="false"
+     inkscape:zoom="2.6422484"
+     inkscape:cx="-31.832911"
+     inkscape:cy="43.145074"
+     inkscape:window-x="1992"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg1729" />
+  <defs
+     id="defs1723" />
+  <metadata
+     id="metadata1726">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <circle
+     transform="rotate(15.366798)"
+     r="7.3626533"
+     cy="6.1155853"
+     cx="10.750866"
+     id="path2298"
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.767277;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     transform="matrix(0.66463899,-0.74716465,0.74301394,0.66927594,0,0)"
+     y="19.314386"
+     x="-2.0791028"
+     height="11.882498"
+     width="2.1384423"
+     id="rect2300"
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.69334972;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/public/img/icon-map.svg b/public/img/icon-map.svg
new file mode 100644
index 0000000000000000000000000000000000000000..809e3d66ae03b873beb00fa516e4ef03df17cbae
--- /dev/null
+++ b/public/img/icon-map.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 191.45618 142.76617"
+   height="142.76617mm"
+   width="191.45618mm">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-10.105242,-21.901446)"
+     id="layer1">
+    <g
+       transform="matrix(1.0285713,0,0,1.0285713,16.026193,11.641683)"
+       id="g878">
+      <path
+         d="m -5.2916663,26.45833 58.2083303,-15.875 3e-6,121.70834 -58.2083333,15.875 z"
+         style="fill:#000000;stroke:#040504;stroke-width:0.92962998"
+         id="rect833" />
+      <path
+         d="m 179.91667,132.29167 -58.20833,15.875 V 26.45833 l 58.20834,-15.875 z"
+         style="fill:#000000;stroke:#040504;stroke-width:0.92962903"
+         id="rect833-4" />
+      <path
+         d="m 58.208314,132.29167 58.208336,15.875 2e-5,-121.708337 -58.208347,-15.875 z"
+         style="fill:#000000;stroke:#040504;stroke-width:0.92962903"
+         id="rect833-4-3" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/icon-outlink.svg b/public/img/icon-outlink.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8bbe3c098fa04a52a7563bd0a2c884aaaeddc26
--- /dev/null
+++ b/public/img/icon-outlink.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 12.962394 13.984416"
+   height="52.854485"
+   width="48.991726">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     id="rect835"
+     d="M 0.91137355,4.1718696 H 9.3968842 c 0.01452,0 0.02621,0.01169 0.02621,0.02621 v 8.8749624 c 0,0.01452 -0.01169,0.02621 -0.02621,0.02621 H 0.91137355 c -0.01452,0 -0.02621,-0.01169 -0.02621,-0.02621 V 4.1980796 c 0,-0.01452 0.01169,-0.02621 0.02621,-0.02621 z"
+     style="fill:none;stroke:#000000;stroke-width:1.77032709;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.18549043;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect870"
+     width="0.99748421"
+     height="9.5206146"
+     x="9.5974989"
+     y="-3.6529329"
+     transform="matrix(0.84166522,0.53999968,-0.57985795,0.8147176,0,0)" />
+  <rect
+     transform="matrix(0.84166522,0.53999968,-0.57985795,0.8147176,0,0)"
+     y="-3.6529329"
+     x="9.5974989"
+     height="9.5206146"
+     width="0.99748421"
+     id="rect841"
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.31185969;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     id="path843"
+     d="M 7.5960432,1.3839481 12.524341,0 12.962394,4.6891155 Z"
+     style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.35758495;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/public/img/icon-services.svg b/public/img/icon-services.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1aaf8019ab0b9713d6f6c9c02a375a8376cc4844
--- /dev/null
+++ b/public/img/icon-services.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 100.7184 99.835083"
+   height="377.32944"
+   width="380.66797"
+   sodipodi:docname="icon-services.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="833"
+     inkscape:window-height="480"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="0.62544815"
+     inkscape:cx="190.33398"
+     inkscape:cy="188.66472"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg8" />
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="rotate(-90,94.012303,133.12572)"
+     id="layer1">
+    <path
+       transform="scale(0.26458333)"
+       id="path1606"
+       d=""
+       style="fill:#000201;fill-opacity:1;stroke:#020300;stroke-width:2.0013299;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <g
+       transform="rotate(45.404583,176.18947,81.645426)"
+       id="g1721">
+      <path
+         d="m 193.14584,28.666985 v 26.895516 l -10.58333,5.291666 -10.58334,-5.291666 V 28.667502 a 26.458332,26.458332 0 0 0 -15.875,24.249165 26.458332,26.458332 0 0 0 26.45834,26.458333 26.458332,26.458332 0 0 0 26.45833,-26.458333 26.458332,26.458332 0 0 0 -15.875,-24.249682 z"
+         style="fill:#000000;fill-opacity:1;stroke-width:2.4000001"
+         id="path1694"
+         inkscape:connector-curvature="0" />
+      <path
+         transform="matrix(0.26458333,0,0,0.26458333,116.41666,23.812501)"
+         d="M 243.53516,160 C 224.95666,160 210,174.95664 210,193.53516 v 257.10351 c 0,18.5785 14.95666,33.53516 33.53516,33.53516 h 12.92968 C 275.04334,484.17383 290,469.21717 290,450.63867 V 193.53516 C 290,174.95664 275.04334,160 256.46484,160 Z M 250,431.5332 a 15.665621,15.665621 0 0 1 0.33203,0.004 15.665621,15.665621 0 0 1 0.33399,0.0117 15.665621,15.665621 0 0 1 0.33203,0.0176 15.665621,15.665621 0 0 1 0.33203,0.0234 15.665621,15.665621 0 0 1 0.33008,0.0312 15.665621,15.665621 0 0 1 0.33203,0.0391 15.665621,15.665621 0 0 1 0.33008,0.0469 15.665621,15.665621 0 0 1 0.32812,0.0527 15.665621,15.665621 0 0 1 0.32617,0.0586 15.665621,15.665621 0 0 1 0.32617,0.0684 15.665621,15.665621 0 0 1 0.32618,0.0723 15.665621,15.665621 0 0 1 0.32226,0.082 15.665621,15.665621 0 0 1 0.32031,0.0859 15.665621,15.665621 0 0 1 0.32032,0.0937 15.665621,15.665621 0 0 1 0.3164,0.10157 15.665621,15.665621 0 0 1 0.31446,0.10742 15.665621,15.665621 0 0 1 0.3125,0.11523 15.665621,15.665621 0 0 1 0.31054,0.1211 15.665621,15.665621 0 0 1 0.3086,0.12695 15.665621,15.665621 0 0 1 0.30468,0.13476 15.665621,15.665621 0 0 1 0.30079,0.13868 15.665621,15.665621 0 0 1 0.29882,0.14843 15.665621,15.665621 0 0 1 0.29493,0.15235 15.665621,15.665621 0 0 1 0.29296,0.16015 15.665621,15.665621 0 0 1 0.28907,0.16407 15.665621,15.665621 0 0 1 0.28515,0.17187 15.665621,15.665621 0 0 1 0.28125,0.17774 15.665621,15.665621 0 0 1 0.27735,0.18359 15.665621,15.665621 0 0 1 0.27343,0.18945 15.665621,15.665621 0 0 1 0.26954,0.19532 15.665621,15.665621 0 0 1 0.26562,0.20117 15.665621,15.665621 0 0 1 0.26172,0.20703 15.665621,15.665621 0 0 1 0.25586,0.21094 15.665621,15.665621 0 0 1 0.25195,0.21679 15.665621,15.665621 0 0 1 0.24805,0.22266 15.665621,15.665621 0 0 1 0.24219,0.22851 15.665621,15.665621 0 0 1 0.23828,0.23243 15.665621,15.665621 0 0 1 0.23242,0.23828 15.665621,15.665621 0 0 1 0.22656,0.24414 15.665621,15.665621 0 0 1 0.22266,0.24609 15.665621,15.665621 0 0 1 0.2168,0.25391 15.665621,15.665621 0 0 1 0.21093,0.25586 15.665621,15.665621 0 0 1 0.20703,0.26172 15.665621,15.665621 0 0 1 0.20118,0.26562 15.665621,15.665621 0 0 1 0.19336,0.26953 15.665621,15.665621 0 0 1 0.18945,0.27344 15.665621,15.665621 0 0 1 0.18359,0.2793 15.665621,15.665621 0 0 1 0.17774,0.28125 15.665621,15.665621 0 0 1 0.16992,0.28515 15.665621,15.665621 0 0 1 0.16601,0.28907 15.665621,15.665621 0 0 1 0.15821,0.29296 15.665621,15.665621 0 0 1 0.15429,0.29493 15.665621,15.665621 0 0 1 0.14453,0.29882 15.665621,15.665621 0 0 1 0.14063,0.30274 15.665621,15.665621 0 0 1 0.13477,0.30469 15.665621,15.665621 0 0 1 0.12695,0.30664 15.665621,15.665621 0 0 1 0.11914,0.31054 15.665621,15.665621 0 0 1 0.11523,0.3125 15.665621,15.665621 0 0 1 0.10547,0.31641 15.665621,15.665621 0 0 1 0.10157,0.31641 15.665621,15.665621 0 0 1 0.0937,0.31836 15.665621,15.665621 0 0 1 0.0859,0.32226 15.665621,15.665621 0 0 1 0.0801,0.32227 15.665621,15.665621 0 0 1 0.0742,0.32617 15.665621,15.665621 0 0 1 0.0664,0.32617 15.665621,15.665621 0 0 1 0.0586,0.32617 15.665621,15.665621 0 0 1 0.0527,0.33008 15.665621,15.665621 0 0 1 0.0449,0.32813 15.665621,15.665621 0 0 1 0.0391,0.33203 15.665621,15.665621 0 0 1 0.0312,0.33007 15.665621,15.665621 0 0 1 0.0234,0.33204 15.665621,15.665621 0 0 1 0.0176,0.33203 15.665621,15.665621 0 0 1 0.01,0.33398 15.665621,15.665621 0 0 1 0.004,0.31055 15.665621,15.665621 0 0 1 -0.004,0.33203 15.665621,15.665621 0 0 1 -0.01,0.33398 15.665621,15.665621 0 0 1 -0.0176,0.33204 15.665621,15.665621 0 0 1 -0.0254,0.33203 15.665621,15.665621 0 0 1 -0.0313,0.33203 15.665621,15.665621 0 0 1 -0.0391,0.33008 15.665621,15.665621 0 0 1 -0.0469,0.33007 15.665621,15.665621 0 0 1 -0.0527,0.32813 15.665621,15.665621 0 0 1 -0.0586,0.32617 15.665621,15.665621 0 0 1 -0.0664,0.32617 15.665621,15.665621 0 0 1 -0.0742,0.32617 15.665621,15.665621 0 0 1 -0.0801,0.32227 15.665621,15.665621 0 0 1 -0.0879,0.32031 15.665621,15.665621 0 0 1 -0.0937,0.32032 15.665621,15.665621 0 0 1 -0.10157,0.3164 15.665621,15.665621 0 0 1 -0.10742,0.31446 15.665621,15.665621 0 0 1 -0.11523,0.3125 15.665621,15.665621 0 0 1 -0.1211,0.31054 15.665621,15.665621 0 0 1 -0.12695,0.3086 15.665621,15.665621 0 0 1 -0.13281,0.30468 15.665621,15.665621 0 0 1 -0.14063,0.30078 15.665621,15.665621 0 0 1 -0.14648,0.29883 15.665621,15.665621 0 0 1 -0.1543,0.29492 15.665621,15.665621 0 0 1 -0.1582,0.29297 15.665621,15.665621 0 0 1 -0.16602,0.28907 15.665621,15.665621 0 0 1 -0.17187,0.28515 15.665621,15.665621 0 0 1 -0.17774,0.28125 15.665621,15.665621 0 0 1 -0.18359,0.27735 15.665621,15.665621 0 0 1 -0.18945,0.27343 15.665621,15.665621 0 0 1 -0.19532,0.26953 15.665621,15.665621 0 0 1 -0.20117,0.26563 15.665621,15.665621 0 0 1 -0.20508,0.26172 15.665621,15.665621 0 0 1 -0.21289,0.25586 15.665621,15.665621 0 0 1 -0.21679,0.25195 15.665621,15.665621 0 0 1 -0.22266,0.24805 15.665621,15.665621 0 0 1 -0.22852,0.24219 15.665621,15.665621 0 0 1 -0.23242,0.23828 15.665621,15.665621 0 0 1 -0.23828,0.23242 15.665621,15.665621 0 0 1 -0.24219,0.22656 15.665621,15.665621 0 0 1 -0.24804,0.22266 15.665621,15.665621 0 0 1 -0.25196,0.21679 15.665621,15.665621 0 0 1 -0.25781,0.21094 15.665621,15.665621 0 0 1 -0.26172,0.20703 15.665621,15.665621 0 0 1 -0.26562,0.20117 15.665621,15.665621 0 0 1 -0.26953,0.19336 15.665621,15.665621 0 0 1 -0.27344,0.18946 15.665621,15.665621 0 0 1 -0.27734,0.18359 15.665621,15.665621 0 0 1 -0.28321,0.17774 15.665621,15.665621 0 0 1 -0.28515,0.16992 15.665621,15.665621 0 0 1 -0.28907,0.16601 15.665621,15.665621 0 0 1 -0.29101,0.15821 15.665621,15.665621 0 0 1 -0.29688,0.15429 15.665621,15.665621 0 0 1 -0.29883,0.14453 15.665621,15.665621 0 0 1 -0.30273,0.14063 15.665621,15.665621 0 0 1 -0.30469,0.13476 15.665621,15.665621 0 0 1 -0.30664,0.12696 15.665621,15.665621 0 0 1 -0.31055,0.11914 15.665621,15.665621 0 0 1 -0.3125,0.11523 15.665621,15.665621 0 0 1 -0.31445,0.10547 15.665621,15.665621 0 0 1 -0.31836,0.10156 15.665621,15.665621 0 0 1 -0.31836,0.0937 15.665621,15.665621 0 0 1 -0.32226,0.0859 15.665621,15.665621 0 0 1 -0.32227,0.0801 15.665621,15.665621 0 0 1 -0.32422,0.0742 15.665621,15.665621 0 0 1 -0.32617,0.0664 15.665621,15.665621 0 0 1 -0.32812,0.0586 15.665621,15.665621 0 0 1 -0.32813,0.0527 15.665621,15.665621 0 0 1 -0.33008,0.0449 15.665621,15.665621 0 0 1 -0.33203,0.0391 15.665621,15.665621 0 0 1 -0.33008,0.0312 15.665621,15.665621 0 0 1 -0.33203,0.0234 15.665621,15.665621 0 0 1 -0.33203,0.0176 15.665621,15.665621 0 0 1 -0.33398,0.01 15.665621,15.665621 0 0 1 -0.31055,0.004 15.665621,15.665621 0 0 1 -0.33203,-0.004 15.665621,15.665621 0 0 1 -0.33399,-0.01 15.665621,15.665621 0 0 1 -0.33203,-0.0176 15.665621,15.665621 0 0 1 -0.33203,-0.0254 15.665621,15.665621 0 0 1 -0.33008,-0.0312 15.665621,15.665621 0 0 1 -0.33203,-0.0391 15.665621,15.665621 0 0 1 -0.32812,-0.0469 15.665621,15.665621 0 0 1 -0.33008,-0.0527 15.665621,15.665621 0 0 1 -0.32617,-0.0586 15.665621,15.665621 0 0 1 -0.32617,-0.0664 15.665621,15.665621 0 0 1 -0.32422,-0.0742 15.665621,15.665621 0 0 1 -0.32422,-0.0801 15.665621,15.665621 0 0 1 -0.32031,-0.0879 15.665621,15.665621 0 0 1 -0.32032,-0.0937 15.665621,15.665621 0 0 1 -0.3164,-0.10156 15.665621,15.665621 0 0 1 -0.31446,-0.10742 15.665621,15.665621 0 0 1 -0.3125,-0.11523 15.665621,15.665621 0 0 1 -0.31054,-0.1211 15.665621,15.665621 0 0 1 -0.30664,-0.12695 15.665621,15.665621 0 0 1 -0.30469,-0.13281 15.665621,15.665621 0 0 1 -0.30274,-0.14063 15.665621,15.665621 0 0 1 -0.29882,-0.14648 15.665621,15.665621 0 0 1 -0.29493,-0.1543 15.665621,15.665621 0 0 1 -0.29296,-0.1582 15.665621,15.665621 0 0 1 -0.28907,-0.16602 15.665621,15.665621 0 0 1 -0.28515,-0.17187 15.665621,15.665621 0 0 1 -0.28125,-0.17774 15.665621,15.665621 0 0 1 -0.27735,-0.18359 15.665621,15.665621 0 0 1 -0.27343,-0.18945 15.665621,15.665621 0 0 1 -0.26954,-0.19532 15.665621,15.665621 0 0 1 -0.26562,-0.20117 15.665621,15.665621 0 0 1 -0.25977,-0.20508 15.665621,15.665621 0 0 1 -0.25781,-0.21289 15.665621,15.665621 0 0 1 -0.25195,-0.2168 15.665621,15.665621 0 0 1 -0.24805,-0.22265 15.665621,15.665621 0 0 1 -0.24219,-0.22852 15.665621,15.665621 0 0 1 -0.23632,-0.23242 15.665621,15.665621 0 0 1 -0.23438,-0.23828 15.665621,15.665621 0 0 1 -0.22656,-0.24219 15.665621,15.665621 0 0 1 -0.22266,-0.24804 15.665621,15.665621 0 0 1 -0.2168,-0.25196 15.665621,15.665621 0 0 1 -0.21093,-0.25781 15.665621,15.665621 0 0 1 -0.20703,-0.26172 15.665621,15.665621 0 0 1 -0.20118,-0.26562 15.665621,15.665621 0 0 1 -0.19336,-0.26953 15.665621,15.665621 0 0 1 -0.18945,-0.27344 15.665621,15.665621 0 0 1 -0.18359,-0.27735 15.665621,15.665621 0 0 1 -0.17774,-0.2832 15.665621,15.665621 0 0 1 -0.16992,-0.28516 15.665621,15.665621 0 0 1 -0.16601,-0.28906 15.665621,15.665621 0 0 1 -0.15821,-0.29101 15.665621,15.665621 0 0 1 -0.15234,-0.29688 15.665621,15.665621 0 0 1 -0.14648,-0.29883 15.665621,15.665621 0 0 1 -0.14063,-0.30078 15.665621,15.665621 0 0 1 -0.13281,-0.30664 15.665621,15.665621 0 0 1 -0.12696,-0.30664 15.665621,15.665621 0 0 1 -0.12109,-0.31055 15.665621,15.665621 0 0 1 -0.11328,-0.3125 15.665621,15.665621 0 0 1 -0.10742,-0.31445 15.665621,15.665621 0 0 1 -0.10157,-0.31836 15.665621,15.665621 0 0 1 -0.0937,-0.31836 15.665621,15.665621 0 0 1 -0.0859,-0.32226 15.665621,15.665621 0 0 1 -0.0801,-0.32227 15.665621,15.665621 0 0 1 -0.0742,-0.32422 15.665621,15.665621 0 0 1 -0.0664,-0.32617 15.665621,15.665621 0 0 1 -0.0586,-0.32813 15.665621,15.665621 0 0 1 -0.0527,-0.32812 15.665621,15.665621 0 0 1 -0.0449,-0.33008 15.665621,15.665621 0 0 1 -0.0391,-0.33008 15.665621,15.665621 0 0 1 -0.0312,-0.33203 15.665621,15.665621 0 0 1 -0.0234,-0.33203 15.665621,15.665621 0 0 1 -0.0176,-0.33203 15.665621,15.665621 0 0 1 -0.01,-0.33398 15.665621,15.665621 0 0 1 -0.004,-0.31055 15.665621,15.665621 0 0 1 0.004,-0.33203 15.665621,15.665621 0 0 1 0.01,-0.33399 15.665621,15.665621 0 0 1 0.0195,-0.33203 15.665621,15.665621 0 0 1 0.0234,-0.33203 15.665621,15.665621 0 0 1 0.0313,-0.33008 15.665621,15.665621 0 0 1 0.0391,-0.33203 15.665621,15.665621 0 0 1 0.0469,-0.32812 15.665621,15.665621 0 0 1 0.0527,-0.33008 15.665621,15.665621 0 0 1 0.0586,-0.32617 15.665621,15.665621 0 0 1 0.0684,-0.32618 15.665621,15.665621 0 0 1 0.0723,-0.32421 15.665621,15.665621 0 0 1 0.0801,-0.32422 15.665621,15.665621 0 0 1 0.0879,-0.32032 15.665621,15.665621 0 0 1 0.0937,-0.32031 15.665621,15.665621 0 0 1 0.10157,-0.3164 15.665621,15.665621 0 0 1 0.10742,-0.31446 15.665621,15.665621 0 0 1 0.11523,-0.3125 15.665621,15.665621 0 0 1 0.1211,-0.31054 15.665621,15.665621 0 0 1 0.12695,-0.30664 15.665621,15.665621 0 0 1 0.13281,-0.30469 15.665621,15.665621 0 0 1 0.14063,-0.30274 15.665621,15.665621 0 0 1 0.14843,-0.29883 15.665621,15.665621 0 0 1 0.15235,-0.29492 15.665621,15.665621 0 0 1 0.16015,-0.29297 15.665621,15.665621 0 0 1 0.16407,-0.28906 15.665621,15.665621 0 0 1 0.17187,-0.28515 15.665621,15.665621 0 0 1 0.17774,-0.28125 15.665621,15.665621 0 0 1 0.18359,-0.27735 15.665621,15.665621 0 0 1 0.18945,-0.27344 15.665621,15.665621 0 0 1 0.19532,-0.26953 15.665621,15.665621 0 0 1 0.20117,-0.26562 15.665621,15.665621 0 0 1 0.20703,-0.25977 15.665621,15.665621 0 0 1 0.21094,-0.25781 15.665621,15.665621 0 0 1 0.21679,-0.25195 15.665621,15.665621 0 0 1 0.22266,-0.24805 15.665621,15.665621 0 0 1 0.22852,-0.24219 15.665621,15.665621 0 0 1 0.23242,-0.23633 15.665621,15.665621 0 0 1 0.23828,-0.23437 15.665621,15.665621 0 0 1 0.24414,-0.22656 15.665621,15.665621 0 0 1 0.24609,-0.22266 15.665621,15.665621 0 0 1 0.25391,-0.2168 15.665621,15.665621 0 0 1 0.25586,-0.21093 15.665621,15.665621 0 0 1 0.26172,-0.20703 15.665621,15.665621 0 0 1 0.26562,-0.20118 15.665621,15.665621 0 0 1 0.26953,-0.19336 15.665621,15.665621 0 0 1 0.27344,-0.18945 15.665621,15.665621 0 0 1 0.2793,-0.18359 15.665621,15.665621 0 0 1 0.28125,-0.17774 15.665621,15.665621 0 0 1 0.28515,-0.16992 15.665621,15.665621 0 0 1 0.28907,-0.16602 15.665621,15.665621 0 0 1 0.29297,-0.1582 15.665621,15.665621 0 0 1 0.29492,-0.15234 15.665621,15.665621 0 0 1 0.29883,-0.14649 15.665621,15.665621 0 0 1 0.30273,-0.14062 15.665621,15.665621 0 0 1 0.30469,-0.13281 15.665621,15.665621 0 0 1 0.30664,-0.12696 15.665621,15.665621 0 0 1 0.31055,-0.12109 15.665621,15.665621 0 0 1 0.3125,-0.11328 15.665621,15.665621 0 0 1 0.31445,-0.10742 15.665621,15.665621 0 0 1 0.31836,-0.10157 15.665621,15.665621 0 0 1 0.31836,-0.0937 15.665621,15.665621 0 0 1 0.32226,-0.0859 15.665621,15.665621 0 0 1 0.32227,-0.0801 15.665621,15.665621 0 0 1 0.32617,-0.0742 15.665621,15.665621 0 0 1 0.32617,-0.0664 15.665621,15.665621 0 0 1 0.32617,-0.0586 15.665621,15.665621 0 0 1 0.33008,-0.0527 15.665621,15.665621 0 0 1 0.32813,-0.0449 15.665621,15.665621 0 0 1 0.33203,-0.0391 15.665621,15.665621 0 0 1 0.33008,-0.0312 15.665621,15.665621 0 0 1 0.33203,-0.0234 15.665621,15.665621 0 0 1 0.33203,-0.0176 15.665621,15.665621 0 0 1 0.33398,-0.01 15.665621,15.665621 0 0 1 0.31055,-0.004 z"
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:6.50011015;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path1714"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/icon-settings.svg b/public/img/icon-settings.svg
new file mode 100644
index 0000000000000000000000000000000000000000..708268f7cf4c1e241c3275ea6822bd67de333e52
--- /dev/null
+++ b/public/img/icon-settings.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 21.166666 21.166667"
+   height="80"
+   width="80">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-2.6458333,-2.6458333)"
+     id="layer1">
+    <circle
+       transform="rotate(134.54616)"
+       r="6.2602305"
+       cy="-18.708281"
+       cx="0.14819142"
+       id="path839"
+       style="fill:none;stroke:#000000;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 21.69976,19.710379 19.843752,21.596026 17.0301,20.682841 20.742118,16.911546 Z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843" />
+    <path
+       d="M 6.7479556,21.69976 4.8623087,19.843751 5.7754935,17.0301 9.546788,20.742118 Z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-5" />
+    <path
+       d="M 6.6145826,4.8623073 4.758574,6.7479542 5.7162169,9.5467873 9.4282349,5.7754928 Z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-4" />
+    <path
+       d="m 19.71038,4.7585742 1.885646,1.8560086 -0.913184,2.8136516 -3.771295,-3.712018 z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-9" />
+    <path
+       d="M 2.6458333,14.552083 V 11.90625 l 2.645833,-1.322917 V 15.875 Z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-45" />
+    <path
+       d="m 11.90625,2.6458333 h 2.645833 L 15.875,5.2916666 h -5.291667 z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-6" />
+    <path
+       d="m 11.90625,23.8125 h 2.645833 L 15.875,21.166667 h -5.291667 z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-3" />
+    <path
+       d="m 23.8125,11.90625 v 2.645833 L 21.166666,15.875 v -5.291666 z"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.66400003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect843-64" />
+  </g>
+</svg>
diff --git a/public/img/key-icon.svg b/public/img/key-icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..85cd526aad1c31c24b398c7c2215a541278cdcce
--- /dev/null
+++ b/public/img/key-icon.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 20.097663 20.286787"
+   height="76.674469"
+   width="75.959671"
+   sodipodi:docname="key-icon.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1848"
+     inkscape:window-height="1016"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="3.0779476"
+     inkscape:cx="-95.875593"
+     inkscape:cy="35.738098"
+     inkscape:window-x="1992"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg8" />
+  <defs
+     id="defs2">
+    <linearGradient
+       osb:paint="solid"
+       id="linearGradient873">
+      <stop
+         id="stop871"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+    </linearGradient>
+  </defs>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.09970184;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 18.548841,20.021815 -1.423824,-0.0016 V 19.267543 18.51486 h -0.807962 -0.807963 l -0.0027,-0.808963 -0.0027,-0.808962 -0.864514,-0.0025 -0.864514,-0.0025 -3.106893,-3.078012 -3.106948,-3.078087 -0.6161008,0.192735 C 5.369567,11.421386 3.8428529,11.310566 2.4979419,10.605831 1.9507919,10.319124 1.8313133,10.222373 1.2635892,9.6062807 0.76770822,9.0681533 0.58520984,8.815025 0.39904078,8.4071476 -0.40413009,6.6474745 -0.21795172,4.5496725 0.89050402,2.8694977 2.5503663,0.35351264 5.808419,-0.61871048 8.3260753,0.65067571 8.8445141,0.91207017 9.0326166,1.0544137 9.5795476,1.5992191 10.139883,2.1573327 10.260718,2.3179174 10.514507,2.8412454 11.16255,4.1775219 11.26177,5.6895827 10.791983,7.0698361 L 10.643076,7.507329 13.3539,10.218376 c 1.490968,1.491061 3.578542,3.611855 4.639058,4.712871 l 1.928207,2.001851 0.06318,1.507753 c 0.03477,0.829238 0.04634,1.524573 0.02576,1.545164 -0.02059,0.02059 -0.67816,0.03674 -1.461263,0.03585 z M 13.775196,13.655162 C 9.3166978,9.1966642 9.2785429,9.1603557 9.1677711,9.2711278 c -0.11077,0.1107693 -0.074463,0.148927 4.3840349,4.6074252 4.458499,4.458497 4.496653,4.494807 4.607426,4.384035 0.11077,-0.110771 0.07446,-0.148925 -4.384036,-4.607426 z M 6.559274,3.5432717 C 6.5241824,3.2494845 6.2131384,2.8922974 5.9638794,2.8595568 5.6099197,2.8130602 5.4524596,2.9338711 4.0856398,4.3006949 2.7188201,5.667514 2.5980035,5.8249757 2.644501,6.1789343 2.6772445,6.4281918 3.0344321,6.7392357 3.3282168,6.7743292 l 0.2628987,0.031399 1.499778,-1.4997774 1.4997773,-1.4997773 z"
+     id="path937"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/public/img/key-verified.svg b/public/img/key-verified.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a58dedf12919bcef41370efa9ad914b497b7f89f
--- /dev/null
+++ b/public/img/key-verified.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 20.2868 22.110937"
+   height="83.568893"
+   width="76.674522">
+  <defs
+     id="defs2">
+    <linearGradient
+       osb:paint="solid"
+       id="linearGradient873">
+      <stop
+         id="stop871"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+    </linearGradient>
+  </defs>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-3.4184229,-3.3590331)"
+     id="layer1">
+    <g
+       transform="matrix(0.94051295,0,0,0.94051295,12.688618,13.321448)"
+       id="g951">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.106914;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 10.135492,10.776251 -1.5268189,-0.0017 -1e-6,-0.8071322 V 9.1602915 h -0.866408 l -0.866407,7e-7 -0.0029,-0.86748 -0.0029,-0.86748 -0.92705,-0.00273 -0.927051,-0.00273 -3.331638,-3.300666 -3.331637,-3.30066589 -0.660668,0.20667649 c -1.689156,0.5284253 -3.326308,0.4095897 -4.768506,-0.34612369 -0.58673,-0.3074467 -0.714851,-0.4111963 -1.323643,-1.0718548 -0.531751,-0.5770545 -0.727451,-0.84849281 -0.927087,-1.28587511 -0.8612711,-1.8869634 -0.661624,-4.1365143 0.527014,-5.9382279 1.779932,-2.6979853 5.273663,-3.7405363 7.97344004,-2.379325 0.555941,0.280302 0.75765,0.432943 1.344145,1.017158 0.60087796,0.598474 0.73045396,0.770674 1.00260096,1.331858 0.694921,1.4329399 0.801318,3.0543782 0.297548,4.5344753 l -0.159678,0.4691404 2.906917,2.90715631 c 1.59882,1.59891999 3.837403,3.87312629 4.974634,5.05378699 l 2.0676879,2.1466589 0.06775,1.6168194 c 0.03729,0.8892229 0.04971,1.6348564 0.02762,1.6569384 -0.02208,0.02208 -0.727216,0.03938 -1.566968,0.03845 z M 5.0165351,3.9490521 C 0.23552214,-0.83196119 0.19460714,-0.87089619 0.07582214,-0.75211149 c -0.118783,0.1187827 -0.07985,0.1597001 4.70116396,4.94071299 4.781013,4.7810138 4.821929,4.8199492 4.940713,4.7011644 0.118784,-0.1187833 0.07985,-0.1596979 -4.701164,-4.9407138 z m -7.737901,-10.8433558 c -0.03763,-0.315039 -0.371174,-0.698064 -0.638464,-0.733174 -0.379564,-0.04986 -0.548415,0.07969 -2.014106,1.5453861 -1.465692,1.4656916 -1.595248,1.6345431 -1.545387,2.0141068 0.03511,0.2672877 0.418138,0.6008314 0.733174,0.6384639 l 0.281916,0.033674 1.608268,-1.6082677 1.608267,-1.608267 z"
+         id="path937" />
+      <path
+         id="path831"
+         d="M -8.3687574,8.2904687 -5.4693718,11.491948 0.40944923,4.5325484"
+         style="fill:none;stroke:#00ff00;stroke-width:1.87663555;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/public/img/leaf.svg b/public/img/leaf.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d41109266d94fcf9e02c20be6bc9c6e4901d02b9
--- /dev/null
+++ b/public/img/leaf.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   xml:space="preserve"
+   viewBox="0 0 122.2897 440.29525"
+   version="1.1"
+   height="82.674423"
+   width="55.492058"><defs
+     id="defs14" /><metadata
+     id="metadata2"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g
+     id="g8"
+     transform="matrix(6.4131855,0,0,-6.4131855,-1965.5301,482.64928)"><g
+       transform="matrix(0.28404362,0,0,-0.28404362,279.85327,42.585989)"
+       id="g832"><path
+         d="M 53.023236,-115.02779 C 93.203317,-9.1875926 173.56347,18.252487 200.02353,79.012597 M 53.023236,-115.02779 C 21.663175,25.112487 107.90334,58.432577 119.66336,67.252607 c 37.24006,17.64 80.36017,11.75998 80.36017,11.75998"
+         style="fill:#00bf00;fill-opacity:1;stroke:none;stroke-width:3.79839516;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path819-2" /><g
+         id="g826"><path
+           id="path819"
+           style="fill:#00dd00;fill-opacity:1;stroke:none;stroke-width:3.79839516;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="M 53.023236,-115.02779 C 93.203317,-9.1875926 173.56347,18.252477 200.02353,79.012587 m 0,0 c 0,0 0,0 0,0 C 221.15129,-97.096293 90.945732,-80.764829 53.023236,-115.02779 v 0 c 0,0 0,0 0,0" /></g><path
+         style="fill:none;stroke:#00bf00;stroke-width:5.35946846;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 194.03214,71.75636 c 25.00107,50.62711 2.12939,52.24756 2.12939,52.24756"
+         id="path825" /></g></g></svg>
\ No newline at end of file
diff --git a/public/img/lock.svg b/public/img/lock.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0cdf2598184a2c3662bed568271918728702f02e
--- /dev/null
+++ b/public/img/lock.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   width="66.349052"
+   height="71.263634"
+   version="1.1"
+   viewBox="0 0 146.21562 379.52535"
+   xml:space="preserve"
+   id="svg10"><defs
+     id="defs14" /><metadata
+     id="metadata2"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g
+     id="g6"
+     transform="matrix(0.73467465,0,0,-0.73467465,-2250.4508,465.71878)"><path
+       style="stroke-width:0.64666831"
+       id="path4"
+       fill="#00000"
+       d="M 2938.0555,633.9116 V 484.97095 h 44.8207 c 17.6217,0 26.4293,9.32884 26.4293,27.72849 v 50.95035 h 223.6567 c 65.32,0 97.9767,-34.70539 97.9767,-101.93432 V 406.296 h -321.6334 l 0.01,-33.63645 c 0,-18.30913 -8.8917,-27.72332 -26.4293,-27.72332 h -60.6639 v -91.04444 c 0,-91.04444 45.5233,-136.56988 137.5572,-136.56988 h 182.0953 c 106.8749,0 161.3114,55.41883 161.3114,165.26902 V 468.6374 c 0,109.84956 -54.4365,165.26903 -161.3114,165.26903 z m 187.3981,-288.97667 h 48.3449 c 32.5663,0 44.9564,-16.72026 44.9564,-47.91683 v -72.93772 c 0,-24.77063 -12.4225,-37.6154 -36.7049,-37.6154 h -24.942 c -21.0361,0 -31.6544,12.44836 -31.6544,37.16079 v 121.30852" /></g></svg>
\ No newline at end of file
diff --git a/public/img/member-icon.svg b/public/img/member-icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6a201ca149486f39e4dbbfd31bc6f495cab89cff
--- /dev/null
+++ b/public/img/member-icon.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 25.8068 26.844057"
+   height="101.45786"
+   width="97.537514">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-6.3633498,12.480454)"
+     id="layer1">
+    <circle
+       r="6.5327344"
+       cy="-4.7625685"
+       cx="17.747547"
+       id="path1041"
+       style="fill:none;fill-opacity:1;stroke:#040504;stroke-width:2.37030244;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 7.5740814,13.222872 A 10.453033,10.452374 0 0 1 14.426504,2.6717323 10.453033,10.452374 0 0 1 26.458334,6.3500002"
+       id="path1043"
+       style="fill:none;fill-opacity:1;stroke:#040504;stroke-width:2.37030244;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="fill:#000000;fill-opacity:1;stroke:#040504;stroke-width:0.79799998;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1053"
+       width="1.3936499"
+       height="6.9682493"
+       x="27.5902"
+       y="6.9963541"
+       ry="0" />
+    <rect
+       style="fill:#000000;fill-opacity:1;stroke:#040504;stroke-width:0.79799998;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1055"
+       width="6.9682503"
+       height="1.3936501"
+       x="24.8029"
+       y="9.7836542"
+       ry="0"
+       rx="0" />
+  </g>
+</svg>
diff --git a/public/img/plug-in.svg b/public/img/plug-in.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ea5c6c048f0f3174c6699d188e64d060a99669cb
--- /dev/null
+++ b/public/img/plug-in.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 15.681789 15.681206"
+   height="59.267548"
+   width="59.269756">
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient2460">
+      <stop
+         id="stop2456"
+         offset="0"
+         style="stop-color:#666666;stop-opacity:1;" />
+      <stop
+         id="stop2458"
+         offset="1"
+         style="stop-color:#666666;stop-opacity:0.5" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.22994292,0,0,0.22994292,1.7319905,272.27393)"
+       gradientUnits="userSpaceOnUse"
+       y2="83.034737"
+       x2="83.742043"
+       y1="50.177593"
+       x1="16.07939"
+       id="linearGradient2462"
+       xlink:href="#linearGradient2460" />
+  </defs>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-5.3882718,-275.93021)"
+     id="layer1">
+    <rect
+       ry="3.9087646"
+       y="271.84094"
+       x="1.2992932"
+       height="23.859747"
+       width="23.859747"
+       id="rect28"
+       style="fill:none;fill-opacity:1;stroke:none;stroke-width:17.69223785;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="rect845"
+       d="m 13.017158,277.28013 c -0.0053,0 -0.0099,0.005 -0.0099,0.01 v 6.25921 H 6.7480696 c -0.00536,0 -0.00988,0.005 -0.00988,0.01 v 0.42396 c 0,0.005 0.00452,0.01 0.00988,0.01 h 6.2592084 v 6.2592 c 0,0.005 0.0045,0.009 0.0099,0.009 h 0.423958 c 0.0053,0 0.0099,-0.004 0.0099,-0.009 v -6.2592 h 6.259208 c 0.0053,0 0.0099,-0.005 0.0099,-0.01 v -0.42396 c 0,-0.005 -0.0045,-0.01 -0.0099,-0.01 h -6.259208 v -6.25921 c 0,-0.005 -0.0045,-0.01 -0.0099,-0.01 z"
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient2462);stroke-width:2.69983554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/public/img/rainbow.svg b/public/img/rainbow.svg
index 3eaf8479206a75d97e2c6840a2c74acb84eb0e81..8255534416169e92d2e9683681640242b0f4435d 100644
--- a/public/img/rainbow.svg
+++ b/public/img/rainbow.svg
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:cc="http://creativecommons.org/ns#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="45"
-   height="20"
-   viewBox="0 0 100 50"
+   width="97.040092"
+   height="48.206394"
+   viewBox="0 0 25.675195 12.754608"
    version="1.1"
-   id="svg8"
-   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
-   sodipodi:docname="rainbows.svg">
+   id="svg841">
   <defs
-     id="defs2" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0" />
+     id="defs835" />
   <metadata
-     id="metadata5">
+     id="metadata838">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -36,44 +25,23 @@
     </rdf:RDF>
   </metadata>
   <g
-     inkscape:label="Ebene 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <circle
-       style="fill:#ce2026;fill-opacity:1;stroke:none"
-       id="path850"
-       cx="50"
-       cy="50"
-       r="40" />
-    <circle
-       style="fill:#ffffff;fill-opacity:1;stroke:none"
-       id="path851"
-       cx="50"
-       cy="50"
-       r="32" />
-    <circle
-       style="fill:#ffd600;fill-opacity:1;stroke:none"
-       id="path852"
-       cx="50"
-       cy="50"
-       r="30" />
-    <circle
-       style="fill:#ffffff;fill-opacity:1;stroke:none"
-       id="path853"
-       cx="50"
-       cy="50"
-       r="22" />
-    <circle
-       style="fill:#00a888;fill-opacity:1;stroke:none"
-       id="path853"
-       cx="50"
-       cy="50"
-       r="20" />
-    <circle
-       style="fill:#ffffff;fill-opacity:1;stroke:none"
-       id="path854"
-       cx="50"
-       cy="50"
-       r="12" />
+     id="layer1"
+     transform="translate(-32.702761,-97.665854)">
+    <g
+       transform="matrix(0.24698373,0,0,0.24698373,24.722423,81.456108)"
+       id="g833">
+      <path
+         d="M 55.098688,117.27232 A 29.190001,27.525 0 0 1 84.288689,89.747324 29.190001,27.525 0 0 1 113.47869,117.27232"
+         id="path1386"
+         style="fill:none;fill-opacity:1;stroke:#ffd600;stroke-width:12.66499996;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="m 70.870534,117.27232 a 13.418155,11.283 0 0 1 13.418155,-11.283 13.418155,11.283 0 0 1 13.418154,11.283"
+         id="path1388"
+         style="fill:none;fill-opacity:1;stroke:#00a888;stroke-width:10.26500034;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="m 38.74369,117.27232 c 2e-6,-22.376072 16.377004,-40.955307 37.882185,-44.571872 2.49128,-0.418963 5.051381,-0.637124 7.662815,-0.637124 25.15381,1e-6 45.545,20.240756 45.545,45.208996"
+         id="path1390"
+         style="fill:none;fill-opacity:1;stroke:#ce2026;stroke-width:12.86499977;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
   </g>
 </svg>
diff --git a/public/img/story-plugin.svg b/public/img/story-plugin.svg
new file mode 100644
index 0000000000000000000000000000000000000000..46fedca48eea6f22f8214f44004a7ecab0552cbe
--- /dev/null
+++ b/public/img/story-plugin.svg
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 23.842942 23.842378"
+   height="90.112923"
+   width="90.115059">
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient2460">
+      <stop
+         id="stop2456"
+         offset="0"
+         style="stop-color:#666666;stop-opacity:1;" />
+      <stop
+         id="stop2458"
+         offset="1"
+         style="stop-color:#666666;stop-opacity:0.502" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.11556342,0,0,0.11556331,0.72497486,284.49515)"
+       gradientUnits="userSpaceOnUse"
+       y2="83.034737"
+       x2="83.742043"
+       y1="50.177593"
+       x1="16.07939"
+       id="linearGradient2462-7"
+       xlink:href="#linearGradient2460" />
+    <clipPath
+       id="clipPath957"
+       clipPathUnits="userSpaceOnUse">
+      <rect
+         ry="4.3344746"
+         y="270.54166"
+         x="8.333335e-07"
+         height="26.458347"
+         width="26.45834"
+         id="rect959"
+         style="fill:#dce9ea;fill-opacity:1;stroke:none;stroke-width:19.61912155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </clipPath>
+    <clipPath
+       id="clipPath3235"
+       clipPathUnits="userSpaceOnUse">
+      <rect
+         ry="1.7337872"
+         y="-295.67706"
+         x="14.552084"
+         height="10.583323"
+         width="10.583333"
+         id="rect3237"
+         style="fill:#dce9ea;fill-opacity:1;stroke:none;stroke-width:7.84764338;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </clipPath>
+  </defs>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-1.2924751,-271.86456)"
+     id="layer1">
+    <g
+       clip-path="url(#clipPath957)"
+       id="g850"
+       transform="matrix(0.39999991,0,0,0.39999991,14.552083,163.64793)">
+      <path
+         style="opacity:0.95999995;fill:#f47216;fill-opacity:1;stroke:none;stroke-width:1.46499991;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 1.2715658e-6,270.54166 H 26.458333 v 26.45833 H 1.2715658e-6 Z"
+         id="rect819" />
+      <g
+         id="g917"
+         transform="matrix(0.95357143,0,0,1,1.2284226,0)">
+        <rect
+           y="279.80206"
+           x="-6.357829e-07"
+           height="2.6458333"
+           width="26.458334"
+           id="rect863"
+           style="opacity:1;fill:#f8a368;fill-opacity:1;stroke:none;stroke-width:0.44336009;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <path
+           id="path897"
+           d="M 0,282.40065 H 26.458333"
+           style="fill:none;stroke:#fce6d6;stroke-width:0.16500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="path897-7"
+           d="M 3.3333333e-7,279.88457 H 26.458333"
+           style="fill:none;stroke:#fce6d6;stroke-width:0.16500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      </g>
+      <path
+         style="fill:#f8a062;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 100,57.419922 C 86.946765,61.046785 87.591949,68.148641 86.785156,71.607422 83.723157,88.480367 24.822266,82.5 24.822266,82.5 c 0,0 -27.5298596,13.314085 23.21289,13.035156 32.500003,-0.178545 44.531538,-8.07638 44.107422,-20.71289 C 91.912924,67.979769 92.869907,63.437677 100,60.763672 Z"
+         transform="matrix(0.26458333,0,0,0.26458333,0,270.54165)"
+         id="path1301" />
+      <g
+         id="g1340">
+        <rect
+           y="270.54166"
+           x="1.3229166"
+           height="26.45834"
+           width="10.583333"
+           id="rect821"
+           style="opacity:1;fill:#fac199;fill-opacity:1;stroke:none;stroke-width:2.00996351;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="path823"
+           d="m 6.6145833,270.54165 v 26.45833"
+           style="fill:#ffffff;stroke:#ffffff;stroke-width:0.565;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.26, 4.52;stroke-dashoffset:0;stroke-opacity:1" />
+        <path
+           id="path825"
+           d="m 1.3229166,270.54165 v 26.45833"
+           style="fill:none;stroke:#ffffff;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="path825-3"
+           d="m 11.90625,270.54165 v 26.45833"
+           style="fill:none;stroke:#ffffff;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      </g>
+      <path
+         d="m 16.823632,279.31425 -1.378719,-0.22509 0.868871,-1.12869 c 0.450458,0.3927 0.506491,0.86417 0.509848,1.35378 m 0.379265,0.0826 c 0.0023,-0.0491 0.01019,-0.12771 0.01019,-0.18277 0,-0.55849 -0.180759,-1.10125 -0.67113,-1.55238 l 0.510711,-0.61155 0.790486,2.41156 z m 3.03414,-2.40013 -0.04385,-0.13424 -2.815483,-0.003 0.748942,2.27049 0.03234,-0.23686 h -0.08616 l 0.01075,-0.15075 h 0.376869 l -0.01075,0.13999 h -0.09689 l -0.02159,0.25837 c 0,0 1.89509,-2.13264 1.905837,-2.14339 m 1.246986,2.1811 c -0.378116,-0.30029 -0.672377,-0.5866 -0.884607,-1.15939 -0.335035,0.30395 -0.52606,0.74347 -0.52606,1.19566 0,0.89822 0.732531,1.63076 1.630667,1.63076 0.898227,0 1.630763,-0.73254 1.630763,-1.63076 0,-0.89813 -0.732536,-1.63067 -1.630763,-1.63067 -0.286586,0 -0.579695,0.0828 -0.81591,0.22231 0.159938,0.50533 0.315465,0.766 0.807563,1.16216 0.119448,0.005 0.21031,0.10094 0.21031,0.21532 0,0.11858 -0.09671,0.21538 -0.215301,0.21538 -0.118683,0 -0.206662,-0.0968 -0.206662,-0.22077 m -4.718152,0.48288 c -0.1845,0.68736 -0.840567,1.18415 -1.566767,1.18415 -0.898231,0 -1.630765,-0.73254 -1.630765,-1.63076 0,-0.89813 0.732534,-1.63067 1.630765,-1.63067 0.28668,0 0.618359,0.0676 0.860332,0.20924 l -0.885087,1.17523 c -0.108322,0.002 -0.202537,0.0984 -0.202537,0.21532 0,0.11858 0.09671,0.21538 0.215393,0.21538 0.03283,0 0.06726,-0.009 0.09643,-0.0221 z m 4.005766,-2.23242 -0.577681,-1.59372 0.183063,-0.31223 -0.366029,-0.39833 h -0.78607 l -0.01075,0.22604 h 0.689072 l 0.139982,0.15074 -0.161472,0.2907 0.203112,0.71986 h -2.820861 l -0.04308,-0.13162 c 0.226622,-0.0295 0.617689,-0.16916 0.711044,-0.25032 0.09345,-0.0811 0.01171,-0.15573 -0.0947,-0.15919 -0.556765,-0.0239 -1.383901,-0.0703 -1.541057,-0.0709 -0.157062,-7.4e-4 -0.17318,0.0783 -0.06802,0.19333 0.10525,0.11503 0.197164,0.21866 0.595623,0.28043 l 0.10765,0.29071 -0.667486,0.82685 c -0.314602,-0.19092 -0.695115,-0.29033 -1.064883,-0.29033 -1.109213,0 -2.013869,0.90465 -2.013869,2.01389 0,1.1093 0.904656,2.01396 2.013869,2.01396 0.912618,0 1.715,-0.62932 1.95083,-1.49915 l 0.613277,0.11025 c 0.02628,0.0721 0.08749,0.1277 0.160609,0.17107 l -0.109375,0.51887 h -0.139976 l -0.01073,0.13998 0.441441,0.0216 v -0.15072 h -0.107651 l 0.133267,-0.51859 c 0.198414,-0.0325 0.302416,-0.20235 0.243315,-0.37093 l 2.003699,-2.2661 0.0897,0.24312 c -0.486244,0.38301 -0.777339,0.97305 -0.777339,1.58664 0,1.1093 0.904658,2.01396 2.01387,2.01396 1.109206,2e-5 2.01396,-0.90465 2.01396,-2.01395 0,-1.10922 -0.904754,-2.01386 -2.013964,-2.01386 -0.322565,0 -0.6529,0.0787 -0.932385,0.22805"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.07675535"
+         id="path3837" />
+      <g
+         id="g1262"
+         transform="matrix(0.11907476,-0.00929935,0.00929935,0.11907476,12.682977,255.82476)"
+         style="fill:#ffffff">
+        <path
+           style="fill:#ffffff;stroke-width:0.26458332"
+           id="path8"
+           d="m 16.626748,260.48721 c 3.288242,0 5.94651,-2.64308 5.94651,-5.89809 0,-3.24909 -2.658268,-5.87587 -5.94651,-5.87587 -3.288241,0 -5.963179,2.62668 -5.963179,5.87587 0,3.2549 2.674938,5.89809 5.963179,5.89809 z" />
+        <path
+           style="fill:#ffffff;stroke-width:0.26458332"
+           id="path10"
+           d="m 6.563824,261.46087 c 0.230653,-0.90667 -0.348853,-1.80834 -1.249865,-2.03625 0,0 -4.96120251,-1.17944 -4.96120251,-1.17944 -0.9291108,-0.21153 -1.84668579,0.32835 -2.05570659,1.23002 0,0 -4.1719501,17.06007 -4.1719501,17.06007 -0.2306532,0.90668 0.3322902,1.80835 1.2498653,2.03626 0,0 4.97787079,1.17944 4.97787079,1.17944 0.90098561,0.22791 1.83009651,-0.32835 2.04417081,-1.235 0,0 4.1669233,-17.05504 4.1669233,-17.05504 0,0 -1.06e-4,-6e-5 -1.06e-4,-6e-5 z" />
+        <path
+           style="fill:#ffffff;stroke-width:0.26458332"
+           id="path12"
+           d="m 29.471977,322.12798 c 0,0.0335 -0.01656,0.0669 -0.01656,0.0833 0,0.75139 0.619151,1.3575 1.373823,1.3575 0.686911,0 1.267168,-0.52277 1.351491,-1.17944 0,0 10.000985,-53.5728 10.000985,-53.5728 0,0 0,-0.10541 0,-0.10541 0,-0.72861 -0.602588,-1.34112 -1.357262,-1.34112 -0.686911,0 -1.216713,0.52276 -1.35726,1.18515 0,0 -9.995164,53.57283 -9.995164,53.57283 0,0 -5.3e-5,-1e-5 -5.3e-5,-1e-5 z" />
+        <path
+           style="fill:#ffffff;stroke-width:0.26458332"
+           id="path14"
+           d="m -3.7803262,318.61696 c -0.056221,0.27847 -0.073517,0.55626 -0.073517,0.83473 0,2.29267 1.869731,4.13438 4.18914792,4.13438 1.90362418,0 3.50228958,-1.25208 4.01478728,-2.95433 l 7.196402,-29.44019 6.859059,29.26821 c 0.43897,1.80834 2.094626,3.12737 4.042832,3.12737 2.326005,0 4.189148,-1.84182 4.189148,-4.13438 0,-0.31694 -0.03388,-0.61182 -0.0901,-0.90667 l -9.408582,-38.87788 0.788538,-3.42714 0.619151,2.69292 c 0.562954,1.75848 2.178975,1.93085 2.178975,1.93085 l 9.696979,2.43724 c 0.191733,0.0335 0.388514,0.0499 0.580231,0.0499 1.582156,0 2.866496,-1.25209 2.866496,-2.81544 0,-1.34112 -0.929111,-2.4707 -2.196253,-2.76568 l -8.395758,-2.08683 -2.302934,-9.25327 c -1.092728,-5.16361 -6.087003,-5.04111 -6.087003,-5.04111 -4.853781,-0.1225 -6.0706,4.92443 -6.0706,4.92443 l -12.5973405,52.30279 z" />
+      </g>
+    </g>
+    <g
+       id="g3233">
+      <rect
+         style="fill:#dce9ea;fill-opacity:1;stroke:none;stroke-width:7.84764338;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect28-62"
+         width="10.583333"
+         height="10.583323"
+         x="1.2924751"
+         y="-295.70694"
+         ry="1.7337872"
+         transform="scale(1,-1)" />
+      <path
+         style="fill:none;fill-opacity:1;stroke:url(#linearGradient2462-7);stroke-width:1.35686743;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 6.396611,287.01114 c -0.00271,0 -0.0049,0.003 -0.0049,0.005 v 3.14572 H 3.2459917 c -0.00271,0 -0.0049,0.003 -0.0049,0.005 v 0.21306 c 0,0.003 0.00232,0.005 0.0049,0.005 h 3.1457177 v 3.14572 c 0,0.003 0.00232,0.005 0.0049,0.005 h 0.2130707 c 0.00271,0 0.0049,-0.003 0.0049,-0.005 v -3.14572 h 3.1457178 c 0.00271,0 0.0049,-0.003 0.0049,-0.005 v -0.21306 c 0,-0.003 -0.00232,-0.005 -0.0049,-0.005 H 6.6145833 v -3.14572 c 0,-0.003 -0.00219,-0.005 -0.0049,-0.005 z"
+         id="rect845-9" />
+    </g>
+    <rect
+       ry="1.7337894"
+       y="271.86456"
+       x="1.3229166"
+       height="10.583339"
+       width="10.583333"
+       id="rect28"
+       style="fill:#f47216;fill-opacity:1;stroke:none;stroke-width:7.84764814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <g
+       style="fill:#ffffff;fill-opacity:1"
+       id="g6"
+       transform="matrix(0.0161898,0,0,-0.01618981,-44.588959,283.23739)">
+      <path
+         style="fill:#ffffff;fill-opacity:1;stroke-width:0.64666831"
+         id="path4"
+         d="M 2938.0555,633.9116 V 484.97095 h 44.8207 c 17.6217,0 26.4293,9.32884 26.4293,27.72849 v 50.95035 h 223.6567 c 65.32,0 97.9767,-34.70539 97.9767,-101.93432 V 406.296 h -321.6334 l 0.01,-33.63645 c 0,-18.30913 -8.8917,-27.72332 -26.4293,-27.72332 h -60.6639 v -91.04444 c 0,-91.04444 45.5233,-136.56988 137.5572,-136.56988 h 182.0953 c 106.8749,0 161.3114,55.41883 161.3114,165.26902 V 468.6374 c 0,109.84956 -54.4365,165.26903 -161.3114,165.26903 z m 187.3981,-288.97667 h 48.3449 c 32.5663,0 44.9564,-16.72026 44.9564,-47.91683 v -72.93772 c 0,-24.77063 -12.4225,-37.6154 -36.7049,-37.6154 h -24.942 c -21.0361,0 -31.6544,12.44836 -31.6544,37.16079 v 121.30852" />
+    </g>
+    <rect
+       clip-path="url(#clipPath3235)"
+       transform="scale(1,-1)"
+       ry="1.7337872"
+       y="-295.67706"
+       x="14.552084"
+       height="10.583323"
+       width="10.583333"
+       id="rect28-62-3"
+       style="fill:none;fill-opacity:1;stroke:#dce9ea;stroke-width:0.80000001;stroke-miterlimit:4;stroke-dasharray:2.39999999, 2.39999999;stroke-dashoffset:7.19199991;stroke-opacity:1;paint-order:normal" />
+  </g>
+</svg>
diff --git a/resources/lang/de/index.php b/resources/lang/de/index.php
index 987b9e1578cb8cfa2ef4f0403d9b2f349898bea6..e2193a8b02b24e1b504b606ab5b5ba4816b1d718 100644
--- a/resources/lang/de/index.php
+++ b/resources/lang/de/index.php
@@ -15,7 +15,7 @@ return [
     'partnertitle' => 'MetaGer unterstützen, ohne Mehrkosten für Sie',
     'mapstitle' => 'Der MetaGer Kartenservice',
 
-    'plugin' => 'MetaGer-Plugin hinzufügen',
+    'plugin' => 'MetaGer installieren',
     'plugin-title' => 'MetaGer zu Ihrem Browser hinzufügen',
 
     'options.head' => 'Filter verwalten',
@@ -39,7 +39,7 @@ return [
     'lang.tooltip' => 'Ergebnissprache wählen',
     'key.placeholder' => 'Schlüssel für werbefreie Suche eingeben',
     'key.tooltip' => 'Schlüssel für werbefreie Suche eingeben',
-    'placeholder' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
+    'placeholder' => 'MetaGer: Sicher suchen & finden',
     'searchbutton' => 'MetaGer-Suche',
 
     'tooltips.add-focus' => 'Suche anpassen',
diff --git a/resources/lang/de/mg-story.php b/resources/lang/de/mg-story.php
new file mode 100644
index 0000000000000000000000000000000000000000..b9a1aa3c54885c180c47dbaa361b237e556c8a93
--- /dev/null
+++ b/resources/lang/de/mg-story.php
@@ -0,0 +1,34 @@
+<?php
+
+return [
+    'four-reasons' => 'Warum MetaGer?',
+    'privacy.image.alt' => 'Sicherheitsschloss',
+    'privacy.title' => 'Garantierte Privatsphäre',
+    'ngo.title' => 'Gemeinnütziger Verein',
+    'ngo.image.alt' => 'Herz',
+    'diversity.title' => 'Vielfältig & Frei',
+    'diversity.image.alt' => 'Regenbogen',
+    'eco.title' => '100% Ökostrom',
+    'eco.image.alt' => 'grünes Blatt',
+    'btn-about-us' => 'Ãœber uns',
+    'btn-data-protection' => 'Datenschutzerklärung',
+    'privacy.p' => 'Mit uns behalten Sie die volle Kontrolle über Ihre Daten. Mit der Anonym-Öffnen-Funktion bleiben Sie auch beim Weitersurfen geschützt. <br> Wir tracken nicht. Wir speichern nicht.',
+    'btn-SUMA-EV' => 'Der SUMA-EV',
+    'btn-donate' => 'Spendenformular',
+    'btn-member' => 'Aufnahmeantrag',
+    'btn-member-advantage' => 'Mitgliedschaft',
+    'ngo.p' => 'Metager wird getragen vom gemeinnützigen SUMA-EV, Verein für freien Wissenszugang. Unterstützen Sie uns, indem Sie spenden oder Mitglied werden. Mitglieder suchen auf Metager werbefrei.',
+    'btn-mg-code' => 'Metager-Quellcode',
+    'btn-mg-algorithm' => 'Unser Algorithmus',
+    'diversity.p' => 'Metager schützt gegen Zensur, indem es Ergebnisse vieler Suchmaschinen kombiniert. Unsere Algorithmen sind transparent und für jeden einsehbar.<br>Der Quellcode ist frei und Open Source.',
+
+    'btn-more' => 'Mehr dazu',
+    'eco.p' => 'Wir achten auf die Nachhaltigkeit und den Ressourcenverbrauch unserer Dienste. Wir verwenden nur Strom aus regenerativen Energiequellen.<br>Vom Server bis zur Kaffeemaschine.',
+    'plugin.title' => 'Jetzt MetaGer installieren',
+    'plugin.btn-add' => 'MetaGer-Plugin hinzufügen',
+    'plugin.btn-app' => 'MetaGer-App',
+    'plugin.image.alt' => 'Metager-Apps',
+    'plugin.p' => 'Mit unserem Plugin können Sie MetaGer als Standardsuchmaschine festlegen. Und mit der App nutzen Sie MetaGer ganz bequem auf Ihrem Smartphone.',
+    'btn-about-us' => 'Ãœber uns',
+
+];
diff --git a/resources/lang/de/plugin.php b/resources/lang/de/plugin.php
index 04def9978cf784378eaa4d6c0658ca7e56bc3280..eb99333b17dd78e82ee24f1df9c1df509fccb96d 100644
--- a/resources/lang/de/plugin.php
+++ b/resources/lang/de/plugin.php
@@ -1,5 +1,5 @@
 <?php
 
 return [
-    'description' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
+    'description' => 'MetaGer: Sicher suchen & finden',
 ];
diff --git a/resources/lang/de/resultPage.php b/resources/lang/de/resultPage.php
index aed192598e4e5b0604f2f8efd5af95b25c7d00ac..9cd86dadf4e367bf24fe265f2950ffce3e768635 100644
--- a/resources/lang/de/resultPage.php
+++ b/resources/lang/de/resultPage.php
@@ -1,7 +1,7 @@
 <?php
 
 return [
-    'opensearch' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
+    'opensearch' => 'MetaGer: Sicher suchen & finden',
     'startseite' => 'MetaGer-Startseite',
     'impressum' => 'Impressum',
     'search-placeholder' => 'Suchbegriff(e) eingeben',
diff --git a/resources/lang/de/sidebar.php b/resources/lang/de/sidebar.php
index 4bd8650fc2b560c0cb5c34a9af867f464b99d01b..5ecbe718f2fd152965785014368cab4e43733b75 100644
--- a/resources/lang/de/sidebar.php
+++ b/resources/lang/de/sidebar.php
@@ -24,6 +24,7 @@ return [
     'nav24' => 'MetaGer Quellcode',
     'nav25' => 'MetaGer App',
     'nav26' => 'MetaGer-Fanshop',
+    'nav27' => 'MetaGer Maps',
     'navigationToggle' => 'Navigation anzeigen',
     'titles.tips' => 'Tips',
     'plugin' => 'MetaGer Plugin',
diff --git a/resources/lang/de/staticPages.php b/resources/lang/de/staticPages.php
index fb412e79f4a398f0d98d75909b596be3482c9a66..3ca86786fc6993b9f38b03020981cbf0fcca4dc3 100644
--- a/resources/lang/de/staticPages.php
+++ b/resources/lang/de/staticPages.php
@@ -1,7 +1,7 @@
 <?php
 
 return [
-    'opensearch' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
+    'opensearch' => 'MetaGer: Sicher suchen & finden',
 
     'meta.Description' => 'Sicher suchen und finden unter Wahrung der Privatsphäre. Das digitale Wissen der Welt muss ohne Bevormundung durch Staaten oder Konzerne frei zugänglich sein und bleiben.',
     'meta.Keywords' => 'Internetsuche, privatsphäre, privacy, Suchmaschine, Datenschutz, Anonproxy, anonym suchen, Bildersuche, Suchmaschine, anonym, MetaGer, metager, metager.de',
diff --git a/resources/lang/en/index.php b/resources/lang/en/index.php
index f2ae4e9372eb17f890a7debff753f7f47516dc74..d1fbd753c6462ee0f82196eaf1372f4af837f17a 100644
--- a/resources/lang/en/index.php
+++ b/resources/lang/en/index.php
@@ -15,7 +15,7 @@ return [
     "partnertitle" => "Support MetaGer without any costs to you",
     "mapstitle" => "MetaGer Maps Service",
 
-    "plugin" => "Add MetaGer-Plugin",
+    "plugin" => "Install MetaGer",
     "plugin-title" => "Add MetaGer to your browser",
 
     'options.head' => 'Customize filters',
diff --git a/resources/lang/en/mg-story.php b/resources/lang/en/mg-story.php
new file mode 100644
index 0000000000000000000000000000000000000000..e9c97c82c683c7e9021bf767cac279f7be9dacc6
--- /dev/null
+++ b/resources/lang/en/mg-story.php
@@ -0,0 +1,33 @@
+<?php
+
+return [
+    'four-reasons' => 'Four reasons to use MetaGer',
+    'privacy.image.alt' => 'lock',
+    'privacy.title' => 'Guaranteed Privacy',
+    'ngo.title' => 'Run by a Nonprofit Organization',
+    'ngo.image.alt' => 'Heart',
+    'diversity.title' => 'Diverse & Free',
+    'diversity.image.alt' => 'Rainbow',
+    'eco.title' => '100% Renewable Energy',
+    'eco.image.alt' => 'green leaf',
+    'btn-about-us' => 'About Us',
+    'btn-data-protection' => 'Privacy Policy',
+    'privacy.p' => 'By using MetaGer you retain full control over your data. Our anonymizing proxy, keeps you protected even when you continue surfing. We don\'t track.',
+    'btn-SUMA-EV' => 'SUMA-EV',
+    'btn-donate' => 'Donation Form',
+    'btn-member' => 'Member Form',
+    'btn-member-advantage' => 'Membership',
+    'ngo.p' => 'MetaGer is developed and run by our nonprofit organization, SUMA-EV–Association for Free Access to Knowledge. Strengthen us by becoming a member or by donating to SUMA-EV. Members search ad free!',
+    'btn-mg-code' => 'Metager Source Code',
+    'btn-mg-algorithm' => 'Our Algorithm',
+    'diversity.p' => 'MetaGer protects against censorship by combining the results of multiple search engines. Our algorithms are transparent and available for everyone to read. Our source code is free.',
+    'btn-more' => 'More',
+    'eco.p' => 'Sustainability and efficient use of resources are important to us. All of our services are run using renewable energy. From the server to the coffee machine.',
+    'plugin.title' => 'Install MetaGer Now',
+    'plugin.btn-add' => 'Add MetaGer Plugin',
+    'plugin.btn-app' => 'MetaGer App',
+    'plugin.image.alt' => 'Metager Apps',
+    'plugin.p' => 'Use our plugin to install MetaGer as your search engine. You can comfortably use the MetaGer app on your smartphone.',
+    'btn-about-us' => 'About Us',
+
+];
diff --git a/resources/lang/en/sidebar.php b/resources/lang/en/sidebar.php
index 7641fac3220493ace9c57855ba754e6156d4dac9..97d09990051efef75a3753448d9d0341e282b526 100644
--- a/resources/lang/en/sidebar.php
+++ b/resources/lang/en/sidebar.php
@@ -24,6 +24,7 @@ return [
     "nav24" => "MetaGer source code",
     "nav25" => "MetaGer App",
     'nav26' => 'MetaGer-Fanshop',
+    'nav27' => 'MetaGer Maps',
     "navigationToggle" => "show navigation",
     'titles.tips' => 'Tips',
     'plugin' => 'MetaGer Plugin',
diff --git a/resources/lang/es/index.php b/resources/lang/es/index.php
index 96cd82adccc88bd21991b58286ff0b4423e9c46b..0ed4438a345f54b9c25e5d6d2d6390d5c19b75e6 100644
--- a/resources/lang/es/index.php
+++ b/resources/lang/es/index.php
@@ -10,7 +10,7 @@
     "conveyor" => "Comprar en tiendas que apoyan MetaGer ",
     "partnertitle" => "Apoyar MetaGer, sin costos para usted",
     "mapstitle" => "MetaGer - Servicio de tarjeta",
-    "plugin" => "Añadir MetaGer-Plugin",
+    "plugin" => "Instalar MetaGer",
     "plugin-title" => "Añadir MetaGer a su navegador",
     "options.head" => "Administrar filtros",
     "focus-creator.head" => "Adaptar búsqueda",
diff --git a/resources/lang/es/mg-story.php b/resources/lang/es/mg-story.php
new file mode 100644
index 0000000000000000000000000000000000000000..fcf6f99c0654d2908cab204a9c8166802fbbbc7d
--- /dev/null
+++ b/resources/lang/es/mg-story.php
@@ -0,0 +1,34 @@
+<?php
+
+return [
+    'four-reasons' => 'Cuatro razones para usar MetaGer',
+    'privacy.image.alt' => 'cerradura de seguridad',
+    'privacy.title' => 'Privacidad garantizada',
+    'ngo.title' => 'Organización sin ánimo de lucro',
+    'ngo.image.alt' => 'corazón',
+    'diversity.title' => 'Diversos y libres',
+    'diversity.image.alt' => 'Arco iris',
+    'eco.title' => '100% electricidad verde',
+    'eco.image.alt' => 'hoja verde',
+    'btn-about-us' => 'sobre nosotros',
+    'btn-data-protection' => 'Protección de Datos',
+    'privacy.p' => 'Con nosotros, usted conserva el control total sobre sus datos. Con la función de apertura anónima, permanece protegido incluso cuando continúa navegando. <br> No rastreamos.',
+    'btn-SUMA-EV' => 'El SUMA-EV',
+    'btn-donate' => 'Formulario de donación',
+    'btn-member' => 'Solicitud de membresía',
+    'btn-member-advantage' => 'membresía',
+    'ngo.p' => 'Metager cuenta con el apoyo de la asociación sin fines de lucro SUMA-EV, asociación de libre acceso al conocimiento. Apóyenos donando o convirtiéndose en miembro. Los miembros buscan sin publicidad en Metager.',
+    'btn-mg-code' => 'Código fuente de Metager',
+    'btn-mg-algorithm' => 'Nuestro algoritmo',
+    'diversity.p' => 'Metager protege contra la censura combinando resultados de muchos motores de búsqueda. Nuestros algoritmos son transparentes y todos pueden verlos. <br> El código fuente es gratuito y de código abierto.',
+
+    'btn-more' => 'Más sobre esto',
+    'eco.p' => 'Prestamos atención a la sostenibilidad y el consumo de recursos de nuestros servicios. Solo utilizamos electricidad de fuentes renovables. <br> Del servidor a la cafetera.',
+    'plugin.title' => 'Instale MetaGer ahora',
+    'plugin.btn-add' => 'Agregar el complemento MetaGer',
+    'plugin.btn-app' => 'Aplicación MetaGer',
+    'plugin.image.alt' => 'Aplicaciones de Metager',
+    'plugin.p' => 'Con nuestro complemento puede configurar MetaGer como el motor de búsqueda predeterminado. Y con la aplicación puede usar MetaGer cómodamente en su teléfono inteligente.',
+    'btn-about-us' => 'sobre nosotros',
+
+];
diff --git a/resources/lang/es/sidebar.php b/resources/lang/es/sidebar.php
index 4d672d35d1083470e520c4fb0af65a0fc45bc129..011ffbd80dfa70a5059a72d5bff262c1ebb258e4 100644
--- a/resources/lang/es/sidebar.php
+++ b/resources/lang/es/sidebar.php
@@ -22,6 +22,8 @@
     "nav24"	=>	"Codigo fuente MetaGer",
     "nav25"	=>	"MetaGer App",
     "nav26"	=>	"Tienda para fanáticos",
+    "nav26"	=>	"Tienda para fanáticos",
+    'nav27' => 'MetaGer Maps',
     "navigationToggle"	=>	"Mostrar navegación",
     "titles.tips"	=>	"Sugerencias",
     "plugin"	=>	"MetaGer Plugin"
diff --git a/resources/less/bootstrap/alerts.less b/resources/less/bootstrap/alerts.less
deleted file mode 100644
index c4199db927e795b6d7d35a39d475ef3087e2dfec..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/alerts.less
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// Alerts
-// --------------------------------------------------
-
-
-// Base styles
-// -------------------------
-
-.alert {
-  padding: @alert-padding;
-  margin-bottom: @line-height-computed;
-  border: 1px solid transparent;
-  border-radius: @alert-border-radius;
-
-  // Headings for larger alerts
-  h4 {
-    margin-top: 0;
-    // Specified for the h4 to prevent conflicts of changing @headings-color
-    color: inherit;
-  }
-
-  // Provide class for links that match alerts
-  .alert-link {
-    font-weight: @alert-link-font-weight;
-  }
-
-  // Improve alignment and spacing of inner content
-  > p,
-  > ul {
-    margin-bottom: 0;
-  }
-
-  > p + p {
-    margin-top: 5px;
-  }
-}
-
-// Dismissible alerts
-//
-// Expand the right padding and account for the close button's positioning.
-
-.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
-.alert-dismissible {
-  padding-right: (@alert-padding + 20);
-
-  // Adjust close link position
-  .close {
-    position: relative;
-    top: -2px;
-    right: -21px;
-    color: inherit;
-  }
-}
-
-// Alternate styles
-//
-// Generate contextual modifier classes for colorizing the alert.
-
-.alert-success {
-  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
-}
-
-.alert-info {
-  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
-}
-
-.alert-warning {
-  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
-}
-
-.alert-danger {
-  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
-}
diff --git a/resources/less/bootstrap/badges.less b/resources/less/bootstrap/badges.less
deleted file mode 100644
index 6ee16dca413ea6d846ed8dbaf07cf0d7d9724bc9..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/badges.less
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// Badges
-// --------------------------------------------------
-
-
-// Base class
-.badge {
-  display: inline-block;
-  min-width: 10px;
-  padding: 3px 7px;
-  font-size: @font-size-small;
-  font-weight: @badge-font-weight;
-  color: @badge-color;
-  line-height: @badge-line-height;
-  vertical-align: middle;
-  white-space: nowrap;
-  text-align: center;
-  background-color: @badge-bg;
-  border-radius: @badge-border-radius;
-
-  // Empty badges collapse automatically (not available in IE8)
-  &:empty {
-    display: none;
-  }
-
-  // Quick fix for badges in buttons
-  .btn & {
-    position: relative;
-    top: -1px;
-  }
-
-  .btn-xs &,
-  .btn-group-xs > .btn & {
-    top: 0;
-    padding: 1px 5px;
-  }
-
-  // Hover state, but only for links
-  a& {
-    &:hover,
-    &:focus {
-      color: @badge-link-hover-color;
-      text-decoration: none;
-      cursor: pointer;
-    }
-  }
-
-  // Account for badges in navs
-  .list-group-item.active > &,
-  .nav-pills > .active > a > & {
-    color: @badge-active-color;
-    background-color: @badge-active-bg;
-  }
-
-  .list-group-item > & {
-    float: right;
-  }
-
-  .list-group-item > & + & {
-    margin-right: 5px;
-  }
-
-  .nav-pills > li > a > & {
-    margin-left: 3px;
-  }
-}
diff --git a/resources/less/bootstrap/bootstrap.less b/resources/less/bootstrap/bootstrap.less
deleted file mode 100644
index 4e4b11b9d3ce2cb841de52c383f1e6ef900039fe..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/bootstrap.less
+++ /dev/null
@@ -1,55 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-// Core variables and mixins
-@import "variables.less";
-@import "mixins.less";
-
-// Reset and dependencies
-@import "normalize.less";
-@import "print.less";
-
-// Core CSS
-@import "scaffolding.less";
-@import "type.less";
-@import "code.less";
-@import "grid.less";
-@import "tables.less";
-@import "forms.less";
-@import "buttons.less";
-
-// Components
-@import "component-animations.less";
-@import "dropdowns.less";
-@import "button-groups.less";
-@import "input-groups.less";
-@import "navs.less";
-@import "navbar.less";
-@import "breadcrumbs.less";
-@import "pagination.less";
-@import "pager.less";
-@import "labels.less";
-@import "badges.less";
-@import "jumbotron.less";
-@import "thumbnails.less";
-@import "alerts.less";
-@import "progress-bars.less";
-@import "media.less";
-@import "list-group.less";
-@import "panels.less";
-@import "responsive-embed.less";
-@import "wells.less";
-@import "close.less";
-
-// Components w/ JavaScript
-@import "modals.less";
-@import "tooltip.less";
-@import "popovers.less";
-@import "carousel.less";
-
-// Utility classes
-@import "utilities.less";
-@import "responsive-utilities.less";
diff --git a/resources/less/bootstrap/breadcrumbs.less b/resources/less/bootstrap/breadcrumbs.less
deleted file mode 100644
index cb01d503fbe5f7615e53c989bbee20c07c86e7ef..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/breadcrumbs.less
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// Breadcrumbs
-// --------------------------------------------------
-
-
-.breadcrumb {
-  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
-  margin-bottom: @line-height-computed;
-  list-style: none;
-  background-color: @breadcrumb-bg;
-  border-radius: @border-radius-base;
-
-  > li {
-    display: inline-block;
-
-    + li:before {
-      content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
-      padding: 0 5px;
-      color: @breadcrumb-color;
-    }
-  }
-
-  > .active {
-    color: @breadcrumb-active-color;
-  }
-}
diff --git a/resources/less/bootstrap/button-groups.less b/resources/less/bootstrap/button-groups.less
deleted file mode 100644
index 16db0c6135e79744f43b578edc0b79a10f74267c..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/button-groups.less
+++ /dev/null
@@ -1,244 +0,0 @@
-//
-// Button groups
-// --------------------------------------------------
-
-// Make the div behave like a button
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle; // match .btn alignment given font-size hack above
-  > .btn {
-    position: relative;
-    float: left;
-    // Bring the "active" button to the front
-    &:hover,
-    &:focus,
-    &:active,
-    &.active {
-      z-index: 2;
-    }
-  }
-}
-
-// Prevent double borders when buttons are next to each other
-.btn-group {
-  .btn + .btn,
-  .btn + .btn-group,
-  .btn-group + .btn,
-  .btn-group + .btn-group {
-    margin-left: -1px;
-  }
-}
-
-// Optional: Group multiple button groups together for a toolbar
-.btn-toolbar {
-  margin-left: -5px; // Offset the first child's margin
-  &:extend(.clearfix all);
-
-  .btn,
-  .btn-group,
-  .input-group {
-    float: left;
-  }
-  > .btn,
-  > .btn-group,
-  > .input-group {
-    margin-left: 5px;
-  }
-}
-
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
-  border-radius: 0;
-}
-
-// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
-.btn-group > .btn:first-child {
-  margin-left: 0;
-  &:not(:last-child):not(.dropdown-toggle) {
-    .border-right-radius(0);
-  }
-}
-// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
-  .border-left-radius(0);
-}
-
-// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
-.btn-group > .btn-group {
-  float: left;
-}
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group > .btn-group:first-child:not(:last-child) {
-  > .btn:last-child,
-  > .dropdown-toggle {
-    .border-right-radius(0);
-  }
-}
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  .border-left-radius(0);
-}
-
-// On active and open, don't show outline
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-
-
-// Sizing
-//
-// Remix the default button sizing classes into new ones for easier manipulation.
-
-.btn-group-xs > .btn { &:extend(.btn-xs); }
-.btn-group-sm > .btn { &:extend(.btn-sm); }
-.btn-group-lg > .btn { &:extend(.btn-lg); }
-
-
-// Split button dropdowns
-// ----------------------
-
-// Give the line between buttons some depth
-.btn-group > .btn + .dropdown-toggle {
-  padding-left: 8px;
-  padding-right: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-left: 12px;
-  padding-right: 12px;
-}
-
-// The clickable button for toggling the menu
-// Remove the gradient and set the same inset shadow as the :active state
-.btn-group.open .dropdown-toggle {
-  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
-
-  // Show no shadow for `.btn-link` since it has no other button styles.
-  &.btn-link {
-    .box-shadow(none);
-  }
-}
-
-
-// Reposition the caret
-.btn .caret {
-  margin-left: 0;
-}
-// Carets in other button sizes
-.btn-lg .caret {
-  border-width: @caret-width-large @caret-width-large 0;
-  border-bottom-width: 0;
-}
-// Upside down carets for .dropup
-.dropup .btn-lg .caret {
-  border-width: 0 @caret-width-large @caret-width-large;
-}
-
-
-// Vertical button groups
-// ----------------------
-
-.btn-group-vertical {
-  > .btn,
-  > .btn-group,
-  > .btn-group > .btn {
-    display: block;
-    float: none;
-    width: 100%;
-    max-width: 100%;
-  }
-
-  // Clear floats so dropdown menus can be properly placed
-  > .btn-group {
-    &:extend(.clearfix all);
-    > .btn {
-      float: none;
-    }
-  }
-
-  > .btn + .btn,
-  > .btn + .btn-group,
-  > .btn-group + .btn,
-  > .btn-group + .btn-group {
-    margin-top: -1px;
-    margin-left: 0;
-  }
-}
-
-.btn-group-vertical > .btn {
-  &:not(:first-child):not(:last-child) {
-    border-radius: 0;
-  }
-  &:first-child:not(:last-child) {
-    .border-top-radius(@btn-border-radius-base);
-    .border-bottom-radius(0);
-  }
-  &:last-child:not(:first-child) {
-    .border-top-radius(0);
-    .border-bottom-radius(@btn-border-radius-base);
-  }
-}
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn-group:first-child:not(:last-child) {
-  > .btn:last-child,
-  > .dropdown-toggle {
-    .border-bottom-radius(0);
-  }
-}
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  .border-top-radius(0);
-}
-
-
-// Justified button groups
-// ----------------------
-
-.btn-group-justified {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-  border-collapse: separate;
-  > .btn,
-  > .btn-group {
-    float: none;
-    display: table-cell;
-    width: 1%;
-  }
-  > .btn-group .btn {
-    width: 100%;
-  }
-
-  > .btn-group .dropdown-menu {
-    left: auto;
-  }
-}
-
-
-// Checkbox and radio options
-//
-// In order to support the browser's form validation feedback, powered by the
-// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
-// `display: none;` or `visibility: hidden;` as that also hides the popover.
-// Simply visually hiding the inputs via `opacity` would leave them clickable in
-// certain cases which is prevented by using `clip` and `pointer-events`.
-// This way, we ensure a DOM element is visible to position the popover from.
-//
-// See https://github.com/twbs/bootstrap/pull/12794 and
-// https://github.com/twbs/bootstrap/pull/14559 for more information.
-
-[data-toggle="buttons"] {
-  > .btn,
-  > .btn-group > .btn {
-    input[type="radio"],
-    input[type="checkbox"] {
-      position: absolute;
-      clip: rect(0,0,0,0);
-      pointer-events: none;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/buttons.less b/resources/less/bootstrap/buttons.less
deleted file mode 100644
index 9cbb8f416faf2b53a56c358558a9c954ba28ab87..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/buttons.less
+++ /dev/null
@@ -1,166 +0,0 @@
-//
-// Buttons
-// --------------------------------------------------
-
-
-// Base styles
-// --------------------------------------------------
-
-.btn {
-  display: inline-block;
-  margin-bottom: 0; // For input.btn
-  font-weight: @btn-font-weight;
-  text-align: center;
-  vertical-align: middle;
-  touch-action: manipulation;
-  cursor: pointer;
-  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
-  border: 1px solid transparent;
-  white-space: nowrap;
-  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
-  .user-select(none);
-
-  &,
-  &:active,
-  &.active {
-    &:focus,
-    &.focus {
-      .tab-focus();
-    }
-  }
-
-  &:hover,
-  &:focus,
-  &.focus {
-    color: @btn-default-color;
-    text-decoration: none;
-  }
-
-  &:active,
-  &.active {
-    outline: 0;
-    background-image: none;
-    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
-  }
-
-  &.disabled,
-  &[disabled],
-  fieldset[disabled] & {
-    cursor: @cursor-disabled;
-    .opacity(.65);
-    .box-shadow(none);
-  }
-
-  a& {
-    &.disabled,
-    fieldset[disabled] & {
-      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements
-    }
-  }
-}
-
-
-// Alternate buttons
-// --------------------------------------------------
-
-.btn-default {
-  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
-}
-.btn-primary {
-  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
-}
-// Success appears as green
-.btn-success {
-  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
-}
-// Info appears as blue-green
-.btn-info {
-  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
-}
-// Warning appears as orange
-.btn-warning {
-  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
-}
-// Danger and error appear as red
-.btn-danger {
-  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
-}
-
-
-// Link buttons
-// -------------------------
-
-// Make a button look and behave like a link
-.btn-link {
-  color: @link-color;
-  font-weight: normal;
-  border-radius: 0;
-
-  &,
-  &:active,
-  &.active,
-  &[disabled],
-  fieldset[disabled] & {
-    background-color: transparent;
-    .box-shadow(none);
-  }
-  &,
-  &:hover,
-  &:focus,
-  &:active {
-    border-color: transparent;
-  }
-  &:hover,
-  &:focus {
-    color: @link-hover-color;
-    text-decoration: @link-hover-decoration;
-    background-color: transparent;
-  }
-  &[disabled],
-  fieldset[disabled] & {
-    &:hover,
-    &:focus {
-      color: @btn-link-disabled-color;
-      text-decoration: none;
-    }
-  }
-}
-
-
-// Button Sizes
-// --------------------------------------------------
-
-.btn-lg {
-  // line-height: ensure even-numbered height of button next to large input
-  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);
-}
-.btn-sm {
-  // line-height: ensure proper height of button next to small input
-  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
-}
-.btn-xs {
-  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
-}
-
-
-// Block button
-// --------------------------------------------------
-
-.btn-block {
-  display: block;
-  width: 100%;
-}
-
-// Vertically space out multiple block buttons
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-
-// Specificity overrides
-input[type="submit"],
-input[type="reset"],
-input[type="button"] {
-  &.btn-block {
-    width: 100%;
-  }
-}
diff --git a/resources/less/bootstrap/carousel.less b/resources/less/bootstrap/carousel.less
deleted file mode 100644
index 223d7ed647bfefe5e7d1dfc8dae1f3fee8a42f19..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/carousel.less
+++ /dev/null
@@ -1,262 +0,0 @@
-//
-// Carousel
-// --------------------------------------------------
-
-
-// Wrapper for the slide container and indicators
-.carousel {
-  position: relative;
-}
-
-.carousel-inner {
-  position: relative;
-  overflow: hidden;
-  width: 100%;
-
-  > .item {
-    display: none;
-    position: relative;
-    .transition(.6s ease-in-out left);
-
-    // Account for jankitude on images
-    > img,
-    > a > img {
-      &:extend(.img-responsive);
-      line-height: 1;
-    }
-
-    // WebKit CSS3 transforms for supported devices
-    @media all and (transform-3d), (-webkit-transform-3d) {
-      .transition-transform(~'0.6s ease-in-out');
-      .backface-visibility(~'hidden');
-      .perspective(1000px);
-
-      &.next,
-      &.active.right {
-        .translate3d(100%, 0, 0);
-        left: 0;
-      }
-      &.prev,
-      &.active.left {
-        .translate3d(-100%, 0, 0);
-        left: 0;
-      }
-      &.next.left,
-      &.prev.right,
-      &.active {
-        .translate3d(0, 0, 0);
-        left: 0;
-      }
-    }
-  }
-
-  > .active,
-  > .next,
-  > .prev {
-    display: block;
-  }
-
-  > .active {
-    left: 0;
-  }
-
-  > .next,
-  > .prev {
-    position: absolute;
-    top: 0;
-    width: 100%;
-  }
-
-  > .next {
-    left: 100%;
-  }
-  > .prev {
-    left: -100%;
-  }
-  > .next.left,
-  > .prev.right {
-    left: 0;
-  }
-
-  > .active.left {
-    left: -100%;
-  }
-  > .active.right {
-    left: 100%;
-  }
-
-}
-
-// Left/right controls for nav
-// ---------------------------
-
-.carousel-control {
-  position: absolute;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  width: @carousel-control-width;
-  .opacity(@carousel-control-opacity);
-  font-size: @carousel-control-font-size;
-  color: @carousel-control-color;
-  text-align: center;
-  text-shadow: @carousel-text-shadow;
-  background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
-  // We can't have this transition here because WebKit cancels the carousel
-  // animation if you trip this while in the middle of another animation.
-
-  // Set gradients for backgrounds
-  &.left {
-    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
-  }
-  &.right {
-    left: auto;
-    right: 0;
-    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
-  }
-
-  // Hover/focus state
-  &:hover,
-  &:focus {
-    outline: 0;
-    color: @carousel-control-color;
-    text-decoration: none;
-    .opacity(.9);
-  }
-
-  // Toggles
-  .icon-prev,
-  .icon-next {
-    position: absolute;
-    top: 50%;
-    margin-top: -10px;
-    z-index: 5;
-    display: inline-block;
-  }
-  .icon-prev {
-    left: 50%;
-    margin-left: -10px;
-  }
-  .icon-next {
-    right: 50%;
-    margin-right: -10px;
-  }
-  .icon-prev,
-  .icon-next {
-    width:  20px;
-    height: 20px;
-    line-height: 1;
-    font-family: serif;
-  }
-
-
-  .icon-prev {
-    &:before {
-      content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
-    }
-  }
-  .icon-next {
-    &:before {
-      content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
-    }
-  }
-}
-
-// Optional indicator pips
-//
-// Add an unordered list with the following class and add a list item for each
-// slide your carousel holds.
-
-.carousel-indicators {
-  position: absolute;
-  bottom: 10px;
-  left: 50%;
-  z-index: 15;
-  width: 60%;
-  margin-left: -30%;
-  padding-left: 0;
-  list-style: none;
-  text-align: center;
-
-  li {
-    display: inline-block;
-    width:  10px;
-    height: 10px;
-    margin: 1px;
-    text-indent: -999px;
-    border: 1px solid @carousel-indicator-border-color;
-    border-radius: 10px;
-    cursor: pointer;
-
-    // IE8-9 hack for event handling
-    //
-    // Internet Explorer 8-9 does not support clicks on elements without a set
-    // `background-color`. We cannot use `filter` since that's not viewed as a
-    // background color by the browser. Thus, a hack is needed.
-    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
-    //
-    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
-    // set alpha transparency for the best results possible.
-    background-color: #000 \9; // IE8
-    background-color: rgba(0,0,0,0); // IE9
-  }
-  .active {
-    margin: 0;
-    width:  12px;
-    height: 12px;
-    background-color: @carousel-indicator-active-bg;
-  }
-}
-
-// Optional captions
-// -----------------------------
-// Hidden by default for smaller viewports
-.carousel-caption {
-  position: absolute;
-  left: 15%;
-  right: 15%;
-  bottom: 20px;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: @carousel-caption-color;
-  text-align: center;
-  text-shadow: @carousel-text-shadow;
-  & .btn {
-    text-shadow: none; // No shadow for button elements in carousel-caption
-  }
-}
-
-
-// Scale up controls for tablets and up
-@media screen and (min-width: @screen-sm-min) {
-
-  // Scale up the controls a smidge
-  .carousel-control {
-    .icon-prev,
-    .icon-next {
-      width: (@carousel-control-font-size * 1.5);
-      height: (@carousel-control-font-size * 1.5);
-      margin-top: (@carousel-control-font-size / -2);
-      font-size: (@carousel-control-font-size * 1.5);
-    }
-    .icon-prev {
-      margin-left: (@carousel-control-font-size / -2);
-    }
-    .icon-next {
-      margin-right: (@carousel-control-font-size / -2);
-    }
-  }
-
-  // Show and left align the captions
-  .carousel-caption {
-    left: 20%;
-    right: 20%;
-    padding-bottom: 30px;
-  }
-
-  // Move up the indicators
-  .carousel-indicators {
-    bottom: 20px;
-  }
-}
diff --git a/resources/less/bootstrap/close.less b/resources/less/bootstrap/close.less
deleted file mode 100644
index 6d5bfe087aed3342270b1de9d70d034c474a3779..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/close.less
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Close icons
-// --------------------------------------------------
-
-
-.close {
-  float: right;
-  font-size: (@font-size-base * 1.5);
-  font-weight: @close-font-weight;
-  line-height: 1;
-  color: @close-color;
-  text-shadow: @close-text-shadow;
-  .opacity(.2);
-
-  &:hover,
-  &:focus {
-    color: @close-color;
-    text-decoration: none;
-    cursor: pointer;
-    .opacity(.5);
-  }
-
-  // Additional properties for button version
-  // iOS requires the button element instead of an anchor tag.
-  // If you want the anchor version, it requires `href="#"`.
-  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
-  button& {
-    padding: 0;
-    cursor: pointer;
-    background: transparent;
-    border: 0;
-    -webkit-appearance: none;
-  }
-}
diff --git a/resources/less/bootstrap/code.less b/resources/less/bootstrap/code.less
deleted file mode 100644
index a08b4d48c4c8715dac93a5422f0d340ae9cc6bff..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/code.less
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// Code (inline and block)
-// --------------------------------------------------
-
-
-// Inline and block code styles
-code,
-kbd,
-pre,
-samp {
-  font-family: @font-family-monospace;
-}
-
-// Inline code
-code {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: @code-color;
-  background-color: @code-bg;
-  border-radius: @border-radius-base;
-}
-
-// User input typically entered via keyboard
-kbd {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: @kbd-color;
-  background-color: @kbd-bg;
-  border-radius: @border-radius-small;
-  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
-
-  kbd {
-    padding: 0;
-    font-size: 100%;
-    font-weight: bold;
-    box-shadow: none;
-  }
-}
-
-// Blocks of code
-pre {
-  display: block;
-  padding: ((@line-height-computed - 1) / 2);
-  margin: 0 0 (@line-height-computed / 2);
-  font-size: (@font-size-base - 1); // 14px to 13px
-  line-height: @line-height-base;
-  word-break: break-all;
-  word-wrap: break-word;
-  color: @pre-color;
-  background-color: @pre-bg;
-  border: 1px solid @pre-border-color;
-  border-radius: @border-radius-base;
-
-  // Account for some code outputs that place code tags in pre tags
-  code {
-    padding: 0;
-    font-size: inherit;
-    color: inherit;
-    white-space: pre-wrap;
-    background-color: transparent;
-    border-radius: 0;
-  }
-}
-
-// Enable scrollable blocks of code
-.pre-scrollable {
-  max-height: @pre-scrollable-max-height;
-  overflow-y: scroll;
-}
diff --git a/resources/less/bootstrap/component-animations.less b/resources/less/bootstrap/component-animations.less
deleted file mode 100644
index 0bcee910ac5f2c249cd6280d1e69fd03d178b24e..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/component-animations.less
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// Component animations
-// --------------------------------------------------
-
-// Heads up!
-//
-// We don't use the `.opacity()` mixin here since it causes a bug with text
-// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
-
-.fade {
-  opacity: 0;
-  .transition(opacity .15s linear);
-  &.in {
-    opacity: 1;
-  }
-}
-
-.collapse {
-  display: none;
-
-  &.in      { display: block; }
-  tr&.in    { display: table-row; }
-  tbody&.in { display: table-row-group; }
-}
-
-.collapsing {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  .transition-property(~"height, visibility");
-  .transition-duration(.35s);
-  .transition-timing-function(ease);
-}
diff --git a/resources/less/bootstrap/dropdowns.less b/resources/less/bootstrap/dropdowns.less
deleted file mode 100644
index f6876c1a9b2a8d7fb3574d090248f4762139c0c2..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/dropdowns.less
+++ /dev/null
@@ -1,216 +0,0 @@
-//
-// Dropdown menus
-// --------------------------------------------------
-
-
-// Dropdown arrow/caret
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-left: 2px;
-  vertical-align: middle;
-  border-top:   @caret-width-base dashed;
-  border-top:   @caret-width-base solid ~"\9"; // IE8
-  border-right: @caret-width-base solid transparent;
-  border-left:  @caret-width-base solid transparent;
-}
-
-// The dropdown wrapper (div)
-.dropup,
-.dropdown {
-  position: relative;
-}
-
-// Prevent the focus on the dropdown toggle when closing dropdowns
-.dropdown-toggle:focus {
-  outline: 0;
-}
-
-// The dropdown menu (ul)
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: @zindex-dropdown;
-  display: none; // none by default, but block on "open" of the menu
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0; // override default ul
-  list-style: none;
-  font-size: @font-size-base;
-  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
-  background-color: @dropdown-bg;
-  border: 1px solid @dropdown-fallback-border; // IE8 fallback
-  border: 1px solid @dropdown-border;
-  border-radius: @border-radius-base;
-  .box-shadow(0 6px 12px rgba(0,0,0,.175));
-  background-clip: padding-box;
-
-  // Aligns the dropdown menu to right
-  //
-  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
-  &.pull-right {
-    right: 0;
-    left: auto;
-  }
-
-  // Dividers (basically an hr) within the dropdown
-  .divider {
-    .nav-divider(@dropdown-divider-bg);
-  }
-
-  // Links within the dropdown menu
-  > li > a {
-    display: block;
-    padding: 3px 20px;
-    clear: both;
-    font-weight: normal;
-    line-height: @line-height-base;
-    color: @dropdown-link-color;
-    white-space: nowrap; // prevent links from randomly breaking onto new lines
-  }
-}
-
-// Hover/Focus state
-.dropdown-menu > li > a {
-  &:hover,
-  &:focus {
-    text-decoration: none;
-    color: @dropdown-link-hover-color;
-    background-color: @dropdown-link-hover-bg;
-  }
-}
-
-// Active state
-.dropdown-menu > .active > a {
-  &,
-  &:hover,
-  &:focus {
-    color: @dropdown-link-active-color;
-    text-decoration: none;
-    outline: 0;
-    background-color: @dropdown-link-active-bg;
-  }
-}
-
-// Disabled state
-//
-// Gray out text and ensure the hover/focus state remains gray
-
-.dropdown-menu > .disabled > a {
-  &,
-  &:hover,
-  &:focus {
-    color: @dropdown-link-disabled-color;
-  }
-
-  // Nuke hover/focus effects
-  &:hover,
-  &:focus {
-    text-decoration: none;
-    background-color: transparent;
-    background-image: none; // Remove CSS gradient
-    .reset-filter();
-    cursor: @cursor-disabled;
-  }
-}
-
-// Open state for the dropdown
-.open {
-  // Show the menu
-  > .dropdown-menu {
-    display: block;
-  }
-
-  // Remove the outline when :focus is triggered
-  > a {
-    outline: 0;
-  }
-}
-
-// Menu positioning
-//
-// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
-// menu with the parent.
-.dropdown-menu-right {
-  left: auto; // Reset the default from `.dropdown-menu`
-  right: 0;
-}
-// With v3, we enabled auto-flipping if you have a dropdown within a right
-// aligned nav component. To enable the undoing of that, we provide an override
-// to restore the default dropdown menu alignment.
-//
-// This is only for left-aligning a dropdown menu within a `.navbar-right` or
-// `.pull-right` nav component.
-.dropdown-menu-left {
-  left: 0;
-  right: auto;
-}
-
-// Dropdown section headers
-.dropdown-header {
-  display: block;
-  padding: 3px 20px;
-  font-size: @font-size-small;
-  line-height: @line-height-base;
-  color: @dropdown-header-color;
-  white-space: nowrap; // as with > li > a
-}
-
-// Backdrop to catch body clicks on mobile, etc.
-.dropdown-backdrop {
-  position: fixed;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  top: 0;
-  z-index: (@zindex-dropdown - 10);
-}
-
-// Right aligned dropdowns
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-// Allow for dropdowns to go bottom up (aka, dropup-menu)
-//
-// Just add .dropup after the standard .dropdown class and you're set, bro.
-// TODO: abstract this so that the navbar fixed styles are not placed here?
-
-.dropup,
-.navbar-fixed-bottom .dropdown {
-  // Reverse the caret
-  .caret {
-    border-top: 0;
-    border-bottom: @caret-width-base dashed;
-    border-bottom: @caret-width-base solid ~"\9"; // IE8
-    content: "";
-  }
-  // Different positioning for bottom up menu
-  .dropdown-menu {
-    top: auto;
-    bottom: 100%;
-    margin-bottom: 2px;
-  }
-}
-
-
-// Component alignment
-//
-// Reiterate per navbar.less and the modified component alignment there.
-
-@media (min-width: @grid-float-breakpoint) {
-  .navbar-right {
-    .dropdown-menu {
-      .dropdown-menu-right();
-    }
-    // Necessary for overrides of the default right aligned menu.
-    // Will remove come v4 in all likelihood.
-    .dropdown-menu-left {
-      .dropdown-menu-left();
-    }
-  }
-}
diff --git a/resources/less/bootstrap/forms.less b/resources/less/bootstrap/forms.less
deleted file mode 100644
index 9377d3846b9f46eac257ca6e4600598bd9e12f71..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/forms.less
+++ /dev/null
@@ -1,613 +0,0 @@
-//
-// Forms
-// --------------------------------------------------
-
-
-// Normalize non-controls
-//
-// Restyle and baseline non-control form elements.
-
-fieldset {
-  padding: 0;
-  margin: 0;
-  border: 0;
-  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
-  // so we reset that to ensure it behaves more like a standard block element.
-  // See https://github.com/twbs/bootstrap/issues/12359.
-  min-width: 0;
-}
-
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: @line-height-computed;
-  font-size: (@font-size-base * 1.5);
-  line-height: inherit;
-  color: @legend-color;
-  border: 0;
-  border-bottom: 1px solid @legend-border-color;
-}
-
-label {
-  display: inline-block;
-  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
-  margin-bottom: 5px;
-  font-weight: bold;
-}
-
-
-// Normalize form controls
-//
-// While most of our form styles require extra classes, some basic normalization
-// is required to ensure optimum display with or without those classes to better
-// address browser inconsistencies.
-
-// Override content-box in Normalize (* isn't specific enough)
-input[type="search"] {
-  .box-sizing(border-box);
-}
-
-// Position radios and checkboxes better
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9; // IE8-9
-  line-height: normal;
-}
-
-input[type="file"] {
-  display: block;
-}
-
-// Make range inputs behave like textual form controls
-input[type="range"] {
-  display: block;
-  width: 100%;
-}
-
-// Make multiple select elements height not fixed
-select[multiple],
-select[size] {
-  height: auto;
-}
-
-// Focus for file, radio, and checkbox
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  .tab-focus();
-}
-
-// Adjust output element
-output {
-  display: block;
-  padding-top: (@padding-base-vertical + 1);
-  font-size: @font-size-base;
-  line-height: @line-height-base;
-  color: @input-color;
-}
-
-
-// Common form controls
-//
-// Shared size and type resets for form controls. Apply `.form-control` to any
-// of the following form controls:
-//
-// select
-// textarea
-// input[type="text"]
-// input[type="password"]
-// input[type="datetime"]
-// input[type="datetime-local"]
-// input[type="date"]
-// input[type="month"]
-// input[type="time"]
-// input[type="week"]
-// input[type="number"]
-// input[type="email"]
-// input[type="url"]
-// input[type="search"]
-// input[type="tel"]
-// input[type="color"]
-
-.form-control {
-  display: block;
-  width: 100%;
-  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
-  padding: @padding-base-vertical @padding-base-horizontal;
-  font-size: @font-size-base;
-  line-height: @line-height-base;
-  color: @input-color;
-  background-color: @input-bg;
-  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
-  border: 1px solid @input-border;
-  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
-  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
-  .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
-
-  // Customize the `:focus` state to imitate native WebKit styles.
-  .form-control-focus();
-
-  // Placeholder
-  .placeholder();
-
-  // Unstyle the caret on `<select>`s in IE10+.
-  &::-ms-expand {
-    border: 0;
-    background-color: transparent;
-  }
-
-  // Disabled and read-only inputs
-  //
-  // HTML5 says that controls under a fieldset > legend:first-child won't be
-  // disabled if the fieldset is disabled. Due to implementation difficulty, we
-  // don't honor that edge case; we style them as disabled anyway.
-  &[disabled],
-  &[readonly],
-  fieldset[disabled] & {
-    background-color: @input-bg-disabled;
-    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
-  }
-
-  &[disabled],
-  fieldset[disabled] & {
-    cursor: @cursor-disabled;
-  }
-
-  // Reset height for `textarea`s
-  textarea& {
-    height: auto;
-  }
-}
-
-
-// Search inputs in iOS
-//
-// This overrides the extra rounded corners on search inputs in iOS so that our
-// `.form-control` class can properly style them. Note that this cannot simply
-// be added to `.form-control` as it's not specific enough. For details, see
-// https://github.com/twbs/bootstrap/issues/11586.
-
-input[type="search"] {
-  -webkit-appearance: none;
-}
-
-
-// Special styles for iOS temporal inputs
-//
-// In Mobile Safari, setting `display: block` on temporal inputs causes the
-// text within the input to become vertically misaligned. As a workaround, we
-// set a pixel line-height that matches the given height of the input, but only
-// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
-//
-// Note that as of 9.3, iOS doesn't support `week`.
-
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
-  input[type="date"],
-  input[type="time"],
-  input[type="datetime-local"],
-  input[type="month"] {
-    &.form-control {
-      line-height: @input-height-base;
-    }
-
-    &.input-sm,
-    .input-group-sm & {
-      line-height: @input-height-small;
-    }
-
-    &.input-lg,
-    .input-group-lg & {
-      line-height: @input-height-large;
-    }
-  }
-}
-
-
-// Form groups
-//
-// Designed to help with the organization and spacing of vertical forms. For
-// horizontal forms, use the predefined grid classes.
-
-.form-group {
-  margin-bottom: @form-group-margin-bottom;
-}
-
-
-// Checkboxes and radios
-//
-// Indent the labels to position radios/checkboxes as hanging controls.
-
-.radio,
-.checkbox {
-  position: relative;
-  display: block;
-  margin-top: 10px;
-  margin-bottom: 10px;
-
-  label {
-    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
-    padding-left: 20px;
-    margin-bottom: 0;
-    font-weight: normal;
-    cursor: pointer;
-  }
-}
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
-  position: absolute;
-  margin-left: -20px;
-  margin-top: 4px \9;
-}
-
-.radio + .radio,
-.checkbox + .checkbox {
-  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
-}
-
-// Radios and checkboxes on same line
-.radio-inline,
-.checkbox-inline {
-  position: relative;
-  display: inline-block;
-  padding-left: 20px;
-  margin-bottom: 0;
-  vertical-align: middle;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
-  margin-top: 0;
-  margin-left: 10px; // space out consecutive inline controls
-}
-
-// Apply same disabled cursor tweak as for inputs
-// Some special care is needed because <label>s don't inherit their parent's `cursor`.
-//
-// Note: Neither radios nor checkboxes can be readonly.
-input[type="radio"],
-input[type="checkbox"] {
-  &[disabled],
-  &.disabled,
-  fieldset[disabled] & {
-    cursor: @cursor-disabled;
-  }
-}
-// These classes are used directly on <label>s
-.radio-inline,
-.checkbox-inline {
-  &.disabled,
-  fieldset[disabled] & {
-    cursor: @cursor-disabled;
-  }
-}
-// These classes are used on elements with <label> descendants
-.radio,
-.checkbox {
-  &.disabled,
-  fieldset[disabled] & {
-    label {
-      cursor: @cursor-disabled;
-    }
-  }
-}
-
-
-// Static form control text
-//
-// Apply class to a `p` element to make any string of text align with labels in
-// a horizontal form layout.
-
-.form-control-static {
-  // Size it appropriately next to real form controls
-  padding-top: (@padding-base-vertical + 1);
-  padding-bottom: (@padding-base-vertical + 1);
-  // Remove default margin from `p`
-  margin-bottom: 0;
-  min-height: (@line-height-computed + @font-size-base);
-
-  &.input-lg,
-  &.input-sm {
-    padding-left: 0;
-    padding-right: 0;
-  }
-}
-
-
-// Form control sizing
-//
-// Build on `.form-control` with modifier classes to decrease or increase the
-// height and font-size of form controls.
-//
-// The `.form-group-* form-control` variations are sadly duplicated to avoid the
-// issue documented in https://github.com/twbs/bootstrap/issues/15074.
-
-.input-sm {
-  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
-}
-.form-group-sm {
-  .form-control {
-    height: @input-height-small;
-    padding: @padding-small-vertical @padding-small-horizontal;
-    font-size: @font-size-small;
-    line-height: @line-height-small;
-    border-radius: @input-border-radius-small;
-  }
-  select.form-control {
-    height: @input-height-small;
-    line-height: @input-height-small;
-  }
-  textarea.form-control,
-  select[multiple].form-control {
-    height: auto;
-  }
-  .form-control-static {
-    height: @input-height-small;
-    min-height: (@line-height-computed + @font-size-small);
-    padding: (@padding-small-vertical + 1) @padding-small-horizontal;
-    font-size: @font-size-small;
-    line-height: @line-height-small;
-  }
-}
-
-.input-lg {
-  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
-}
-.form-group-lg {
-  .form-control {
-    height: @input-height-large;
-    padding: @padding-large-vertical @padding-large-horizontal;
-    font-size: @font-size-large;
-    line-height: @line-height-large;
-    border-radius: @input-border-radius-large;
-  }
-  select.form-control {
-    height: @input-height-large;
-    line-height: @input-height-large;
-  }
-  textarea.form-control,
-  select[multiple].form-control {
-    height: auto;
-  }
-  .form-control-static {
-    height: @input-height-large;
-    min-height: (@line-height-computed + @font-size-large);
-    padding: (@padding-large-vertical + 1) @padding-large-horizontal;
-    font-size: @font-size-large;
-    line-height: @line-height-large;
-  }
-}
-
-
-// Form control feedback states
-//
-// Apply contextual and semantic states to individual form controls.
-
-.has-feedback {
-  // Enable absolute positioning
-  position: relative;
-
-  // Ensure icons don't overlap text
-  .form-control {
-    padding-right: (@input-height-base * 1.25);
-  }
-}
-// Feedback icon (requires .glyphicon classes)
-.form-control-feedback {
-  position: absolute;
-  top: 0;
-  right: 0;
-  z-index: 2; // Ensure icon is above input groups
-  display: block;
-  width: @input-height-base;
-  height: @input-height-base;
-  line-height: @input-height-base;
-  text-align: center;
-  pointer-events: none;
-}
-.input-lg + .form-control-feedback,
-.input-group-lg + .form-control-feedback,
-.form-group-lg .form-control + .form-control-feedback {
-  width: @input-height-large;
-  height: @input-height-large;
-  line-height: @input-height-large;
-}
-.input-sm + .form-control-feedback,
-.input-group-sm + .form-control-feedback,
-.form-group-sm .form-control + .form-control-feedback {
-  width: @input-height-small;
-  height: @input-height-small;
-  line-height: @input-height-small;
-}
-
-// Feedback states
-.has-success {
-  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
-}
-.has-warning {
-  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
-}
-.has-error {
-  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
-}
-
-// Reposition feedback icon if input has visible label above
-.has-feedback label {
-
-  & ~ .form-control-feedback {
-    top: (@line-height-computed + 5); // Height of the `label` and its margin
-  }
-  &.sr-only ~ .form-control-feedback {
-    top: 0;
-  }
-}
-
-
-// Help text
-//
-// Apply to any element you wish to create light text for placement immediately
-// below a form control. Use for general help, formatting, or instructional text.
-
-.help-block {
-  display: block; // account for any element using help-block
-  margin-top: 5px;
-  margin-bottom: 10px;
-  color: lighten(@text-color, 25%); // lighten the text some for contrast
-}
-
-
-// Inline forms
-//
-// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
-// forms begin stacked on extra small (mobile) devices and then go inline when
-// viewports reach <768px.
-//
-// Requires wrapping inputs and labels with `.form-group` for proper display of
-// default HTML form controls and our custom form controls (e.g., input groups).
-//
-// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
-
-.form-inline {
-
-  // Kick in the inline
-  @media (min-width: @screen-sm-min) {
-    // Inline-block all the things for "inline"
-    .form-group {
-      display: inline-block;
-      margin-bottom: 0;
-      vertical-align: middle;
-    }
-
-    // In navbar-form, allow folks to *not* use `.form-group`
-    .form-control {
-      display: inline-block;
-      width: auto; // Prevent labels from stacking above inputs in `.form-group`
-      vertical-align: middle;
-    }
-
-    // Make static controls behave like regular ones
-    .form-control-static {
-      display: inline-block;
-    }
-
-    .input-group {
-      display: inline-table;
-      vertical-align: middle;
-
-      .input-group-addon,
-      .input-group-btn,
-      .form-control {
-        width: auto;
-      }
-    }
-
-    // Input groups need that 100% width though
-    .input-group > .form-control {
-      width: 100%;
-    }
-
-    .control-label {
-      margin-bottom: 0;
-      vertical-align: middle;
-    }
-
-    // Remove default margin on radios/checkboxes that were used for stacking, and
-    // then undo the floating of radios and checkboxes to match.
-    .radio,
-    .checkbox {
-      display: inline-block;
-      margin-top: 0;
-      margin-bottom: 0;
-      vertical-align: middle;
-
-      label {
-        padding-left: 0;
-      }
-    }
-    .radio input[type="radio"],
-    .checkbox input[type="checkbox"] {
-      position: relative;
-      margin-left: 0;
-    }
-
-    // Re-override the feedback icon.
-    .has-feedback .form-control-feedback {
-      top: 0;
-    }
-  }
-}
-
-
-// Horizontal forms
-//
-// Horizontal forms are built on grid classes and allow you to create forms with
-// labels on the left and inputs on the right.
-
-.form-horizontal {
-
-  // Consistent vertical alignment of radios and checkboxes
-  //
-  // Labels also get some reset styles, but that is scoped to a media query below.
-  .radio,
-  .checkbox,
-  .radio-inline,
-  .checkbox-inline {
-    margin-top: 0;
-    margin-bottom: 0;
-    padding-top: (@padding-base-vertical + 1); // Default padding plus a border
-  }
-  // Account for padding we're adding to ensure the alignment and of help text
-  // and other content below items
-  .radio,
-  .checkbox {
-    min-height: (@line-height-computed + (@padding-base-vertical + 1));
-  }
-
-  // Make form groups behave like rows
-  .form-group {
-    .make-row();
-  }
-
-  // Reset spacing and right align labels, but scope to media queries so that
-  // labels on narrow viewports stack the same as a default form example.
-  @media (min-width: @screen-sm-min) {
-    .control-label {
-      text-align: right;
-      margin-bottom: 0;
-      padding-top: (@padding-base-vertical + 1); // Default padding plus a border
-    }
-  }
-
-  // Validation states
-  //
-  // Reposition the icon because it's now within a grid column and columns have
-  // `position: relative;` on them. Also accounts for the grid gutter padding.
-  .has-feedback .form-control-feedback {
-    right: floor((@grid-gutter-width / 2));
-  }
-
-  // Form group sizes
-  //
-  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
-  // inputs and labels within a `.form-group`.
-  .form-group-lg {
-    @media (min-width: @screen-sm-min) {
-      .control-label {
-        padding-top: (@padding-large-vertical + 1);
-        font-size: @font-size-large;
-      }
-    }
-  }
-  .form-group-sm {
-    @media (min-width: @screen-sm-min) {
-      .control-label {
-        padding-top: (@padding-small-vertical + 1);
-        font-size: @font-size-small;
-      }
-    }
-  }
-}
diff --git a/resources/less/bootstrap/grid.less b/resources/less/bootstrap/grid.less
deleted file mode 100644
index e100655b70e38480e2029a7c945e5984d15c9784..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/grid.less
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// Grid system
-// --------------------------------------------------
-
-
-// Container widths
-//
-// Set the container width, and override it for fixed navbars in media queries.
-
-.container {
-  .container-fixed();
-
-  @media (min-width: @screen-sm-min) {
-    width: @container-sm;
-  }
-  @media (min-width: @screen-md-min) {
-    width: @container-md;
-  }
-  @media (min-width: @screen-lg-min) {
-    width: @container-lg;
-  }
-}
-
-
-// Fluid container
-//
-// Utilizes the mixin meant for fixed width containers, but without any defined
-// width for fluid, full width layouts.
-
-.container-fluid {
-  .container-fixed();
-}
-
-
-// Row
-//
-// Rows contain and clear the floats of your columns.
-
-.row {
-  .make-row();
-}
-
-
-// Columns
-//
-// Common styles for small and large grid columns
-
-.make-grid-columns();
-
-
-// Extra small grid
-//
-// Columns, offsets, pushes, and pulls for extra small devices like
-// smartphones.
-
-.make-grid(xs);
-
-
-// Small grid
-//
-// Columns, offsets, pushes, and pulls for the small device range, from phones
-// to tablets.
-
-@media (min-width: @screen-sm-min) {
-  .make-grid(sm);
-}
-
-
-// Medium grid
-//
-// Columns, offsets, pushes, and pulls for the desktop device range.
-
-@media (min-width: @screen-md-min) {
-  .make-grid(md);
-}
-
-
-// Large grid
-//
-// Columns, offsets, pushes, and pulls for the large desktop device range.
-
-@media (min-width: @screen-lg-min) {
-  .make-grid(lg);
-}
diff --git a/resources/less/bootstrap/input-groups.less b/resources/less/bootstrap/input-groups.less
deleted file mode 100644
index d0763db7fff5db46e0d3cf92e454f126d3c0c663..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/input-groups.less
+++ /dev/null
@@ -1,171 +0,0 @@
-//
-// Input groups
-// --------------------------------------------------
-
-// Base styles
-// -------------------------
-.input-group {
-  position: relative; // For dropdowns
-  display: table;
-  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
-
-  // Undo padding and float of grid classes
-  &[class*="col-"] {
-    float: none;
-    padding-left: 0;
-    padding-right: 0;
-  }
-
-  .form-control {
-    // Ensure that the input is always above the *appended* addon button for
-    // proper border colors.
-    position: relative;
-    z-index: 2;
-
-    // IE9 fubars the placeholder attribute in text inputs and the arrows on
-    // select elements in input groups. To fix it, we float the input. Details:
-    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855
-    float: left;
-
-    width: 100%;
-    margin-bottom: 0;
-
-    &:focus {
-      z-index: 3;
-    }
-  }
-}
-
-// Sizing options
-//
-// Remix the default form control sizing classes into new ones for easier
-// manipulation.
-
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
-  .input-lg();
-}
-.input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
-  .input-sm();
-}
-
-
-// Display as table-cell
-// -------------------------
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
-  display: table-cell;
-
-  &:not(:first-child):not(:last-child) {
-    border-radius: 0;
-  }
-}
-// Addon and addon wrapper for buttons
-.input-group-addon,
-.input-group-btn {
-  width: 1%;
-  white-space: nowrap;
-  vertical-align: middle; // Match the inputs
-}
-
-// Text input groups
-// -------------------------
-.input-group-addon {
-  padding: @padding-base-vertical @padding-base-horizontal;
-  font-size: @font-size-base;
-  font-weight: normal;
-  line-height: 1;
-  color: @input-color;
-  text-align: center;
-  background-color: @input-group-addon-bg;
-  border: 1px solid @input-group-addon-border-color;
-  border-radius: @input-border-radius;
-
-  // Sizing
-  &.input-sm {
-    padding: @padding-small-vertical @padding-small-horizontal;
-    font-size: @font-size-small;
-    border-radius: @input-border-radius-small;
-  }
-  &.input-lg {
-    padding: @padding-large-vertical @padding-large-horizontal;
-    font-size: @font-size-large;
-    border-radius: @input-border-radius-large;
-  }
-
-  // Nuke default margins from checkboxes and radios to vertically center within.
-  input[type="radio"],
-  input[type="checkbox"] {
-    margin-top: 0;
-  }
-}
-
-// Reset rounded corners
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
-  .border-right-radius(0);
-}
-.input-group-addon:first-child {
-  border-right: 0;
-}
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
-  .border-left-radius(0);
-}
-.input-group-addon:last-child {
-  border-left: 0;
-}
-
-// Button input groups
-// -------------------------
-.input-group-btn {
-  position: relative;
-  // Jankily prevent input button groups from wrapping with `white-space` and
-  // `font-size` in combination with `inline-block` on buttons.
-  font-size: 0;
-  white-space: nowrap;
-
-  // Negative margin for spacing, position for bringing hovered/focused/actived
-  // element above the siblings.
-  > .btn {
-    position: relative;
-    + .btn {
-      margin-left: -1px;
-    }
-    // Bring the "active" button to the front
-    &:hover,
-    &:focus,
-    &:active {
-      z-index: 2;
-    }
-  }
-
-  // Negative margin to only have a 1px border between the two
-  &:first-child {
-    > .btn,
-    > .btn-group {
-      margin-right: -1px;
-    }
-  }
-  &:last-child {
-    > .btn,
-    > .btn-group {
-      z-index: 2;
-      margin-left: -1px;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/jumbotron.less b/resources/less/bootstrap/jumbotron.less
deleted file mode 100644
index 1d9b515b3861970b64adbcf07b17453257829997..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/jumbotron.less
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Jumbotron
-// --------------------------------------------------
-
-
-.jumbotron {
-  padding-top:    @jumbotron-padding;
-  padding-bottom: @jumbotron-padding;
-  margin-bottom: @jumbotron-padding;
-  color: @jumbotron-color;
-  background-color: @jumbotron-bg;
-
-  h1,
-  .h1 {
-    color: @jumbotron-heading-color;
-  }
-
-  p {
-    margin-bottom: (@jumbotron-padding / 2);
-    font-size: @jumbotron-font-size;
-    font-weight: 200;
-  }
-
-  > hr {
-    border-top-color: darken(@jumbotron-bg, 10%);
-  }
-
-  .container &,
-  .container-fluid & {
-    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
-    padding-left:  (@grid-gutter-width / 2);
-    padding-right: (@grid-gutter-width / 2);
-  }
-
-  .container {
-    max-width: 100%;
-  }
-
-  @media screen and (min-width: @screen-sm-min) {
-    padding-top:    (@jumbotron-padding * 1.6);
-    padding-bottom: (@jumbotron-padding * 1.6);
-
-    .container &,
-    .container-fluid & {
-      padding-left:  (@jumbotron-padding * 2);
-      padding-right: (@jumbotron-padding * 2);
-    }
-
-    h1,
-    .h1 {
-      font-size: @jumbotron-heading-font-size;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/labels.less b/resources/less/bootstrap/labels.less
deleted file mode 100644
index 9a5a27006a51f4ac0d350cf11060aa548cd6ef6b..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/labels.less
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// Labels
-// --------------------------------------------------
-
-.label {
-  display: inline;
-  padding: .2em .6em .3em;
-  font-size: 75%;
-  font-weight: bold;
-  line-height: 1;
-  color: @label-color;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  border-radius: .25em;
-
-  // Add hover effects, but only for links
-  a& {
-    &:hover,
-    &:focus {
-      color: @label-link-hover-color;
-      text-decoration: none;
-      cursor: pointer;
-    }
-  }
-
-  // Empty labels collapse automatically (not available in IE8)
-  &:empty {
-    display: none;
-  }
-
-  // Quick fix for labels in buttons
-  .btn & {
-    position: relative;
-    top: -1px;
-  }
-}
-
-// Colors
-// Contextual variations (linked labels get darker on :hover)
-
-.label-default {
-  .label-variant(@label-default-bg);
-}
-
-.label-primary {
-  .label-variant(@label-primary-bg);
-}
-
-.label-success {
-  .label-variant(@label-success-bg);
-}
-
-.label-info {
-  .label-variant(@label-info-bg);
-}
-
-.label-warning {
-  .label-variant(@label-warning-bg);
-}
-
-.label-danger {
-  .label-variant(@label-danger-bg);
-}
diff --git a/resources/less/bootstrap/list-group.less b/resources/less/bootstrap/list-group.less
deleted file mode 100644
index 216b91230ab6fa786b0a8d53bc2e60004baec147..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/list-group.less
+++ /dev/null
@@ -1,130 +0,0 @@
-//
-// List groups
-// --------------------------------------------------
-
-
-// Base class
-//
-// Easily usable on <ul>, <ol>, or <div>.
-
-.list-group {
-  // No need to set list-style: none; since .list-group-item is block level
-  margin-bottom: 20px;
-  padding-left: 0; // reset padding because ul and ol
-}
-
-
-// Individual list items
-//
-// Use on `li`s or `div`s within the `.list-group` parent.
-
-.list-group-item {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-  // Place the border on the list items and negative margin up for better styling
-  margin-bottom: -1px;
-  background-color: @list-group-bg;
-  border: 1px solid @list-group-border;
-
-  // Round the first and last items
-  &:first-child {
-    .border-top-radius(@list-group-border-radius);
-  }
-  &:last-child {
-    margin-bottom: 0;
-    .border-bottom-radius(@list-group-border-radius);
-  }
-}
-
-
-// Interactive list items
-//
-// Use anchor or button elements instead of `li`s or `div`s to create interactive items.
-// Includes an extra `.active` modifier class for showing selected items.
-
-a.list-group-item,
-button.list-group-item {
-  color: @list-group-link-color;
-
-  .list-group-item-heading {
-    color: @list-group-link-heading-color;
-  }
-
-  // Hover state
-  &:hover,
-  &:focus {
-    text-decoration: none;
-    color: @list-group-link-hover-color;
-    background-color: @list-group-hover-bg;
-  }
-}
-
-button.list-group-item {
-  width: 100%;
-  text-align: left;
-}
-
-.list-group-item {
-  // Disabled state
-  &.disabled,
-  &.disabled:hover,
-  &.disabled:focus {
-    background-color: @list-group-disabled-bg;
-    color: @list-group-disabled-color;
-    cursor: @cursor-disabled;
-
-    // Force color to inherit for custom content
-    .list-group-item-heading {
-      color: inherit;
-    }
-    .list-group-item-text {
-      color: @list-group-disabled-text-color;
-    }
-  }
-
-  // Active class on item itself, not parent
-  &.active,
-  &.active:hover,
-  &.active:focus {
-    z-index: 2; // Place active items above their siblings for proper border styling
-    color: @list-group-active-color;
-    background-color: @list-group-active-bg;
-    border-color: @list-group-active-border;
-
-    // Force color to inherit for custom content
-    .list-group-item-heading,
-    .list-group-item-heading > small,
-    .list-group-item-heading > .small {
-      color: inherit;
-    }
-    .list-group-item-text {
-      color: @list-group-active-text-color;
-    }
-  }
-}
-
-
-// Contextual variants
-//
-// Add modifier classes to change text and background color on individual items.
-// Organizationally, this must come after the `:hover` states.
-
-.list-group-item-variant(success; @state-success-bg; @state-success-text);
-.list-group-item-variant(info; @state-info-bg; @state-info-text);
-.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);
-.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);
-
-
-// Custom content options
-//
-// Extra classes for creating well-formatted content within `.list-group-item`s.
-
-.list-group-item-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.list-group-item-text {
-  margin-bottom: 0;
-  line-height: 1.3;
-}
diff --git a/resources/less/bootstrap/media.less b/resources/less/bootstrap/media.less
deleted file mode 100644
index 8c835e861edf28f7c3c49f18caf09d626565e11d..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/media.less
+++ /dev/null
@@ -1,66 +0,0 @@
-.media {
-  // Proper spacing between instances of .media
-  margin-top: 15px;
-
-  &:first-child {
-    margin-top: 0;
-  }
-}
-
-.media,
-.media-body {
-  zoom: 1;
-  overflow: hidden;
-}
-
-.media-body {
-  width: 10000px;
-}
-
-.media-object {
-  display: block;
-
-  // Fix collapse in webkit from max-width: 100% and display: table-cell.
-  &.img-thumbnail {
-    max-width: none;
-  }
-}
-
-.media-right,
-.media > .pull-right {
-  padding-left: 10px;
-}
-
-.media-left,
-.media > .pull-left {
-  padding-right: 10px;
-}
-
-.media-left,
-.media-right,
-.media-body {
-  display: table-cell;
-  vertical-align: top;
-}
-
-.media-middle {
-  vertical-align: middle;
-}
-
-.media-bottom {
-  vertical-align: bottom;
-}
-
-// Reset margins on headings for tighter default spacing
-.media-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-
-// Media list variation
-//
-// Undo default ul/ol styles
-.media-list {
-  padding-left: 0;
-  list-style: none;
-}
diff --git a/resources/less/bootstrap/mixins.less b/resources/less/bootstrap/mixins.less
deleted file mode 100644
index e6f9fe684b7a3358a00c39b8909bbd9a7c65bdda..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins.less
+++ /dev/null
@@ -1,40 +0,0 @@
-// Mixins
-// --------------------------------------------------
-
-// Utilities
-@import "mixins/hide-text.less";
-@import "mixins/opacity.less";
-@import "mixins/image.less";
-@import "mixins/labels.less";
-@import "mixins/reset-filter.less";
-@import "mixins/resize.less";
-@import "mixins/responsive-visibility.less";
-@import "mixins/size.less";
-@import "mixins/tab-focus.less";
-@import "mixins/reset-text.less";
-@import "mixins/text-emphasis.less";
-@import "mixins/text-overflow.less";
-@import "mixins/vendor-prefixes.less";
-
-// Components
-@import "mixins/alerts.less";
-@import "mixins/buttons.less";
-@import "mixins/panels.less";
-@import "mixins/pagination.less";
-@import "mixins/list-group.less";
-@import "mixins/nav-divider.less";
-@import "mixins/forms.less";
-@import "mixins/progress-bar.less";
-@import "mixins/table-row.less";
-
-// Skins
-@import "mixins/background-variant.less";
-@import "mixins/border-radius.less";
-@import "mixins/gradients.less";
-
-// Layout
-@import "mixins/clearfix.less";
-@import "mixins/center-block.less";
-@import "mixins/nav-vertical-align.less";
-@import "mixins/grid-framework.less";
-@import "mixins/grid.less";
diff --git a/resources/less/bootstrap/mixins/alerts.less b/resources/less/bootstrap/mixins/alerts.less
deleted file mode 100644
index 396196f438fd31e7757a0874ece4a99fe0cf9fd9..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/alerts.less
+++ /dev/null
@@ -1,14 +0,0 @@
-// Alerts
-
-.alert-variant(@background; @border; @text-color) {
-  background-color: @background;
-  border-color: @border;
-  color: @text-color;
-
-  hr {
-    border-top-color: darken(@border, 5%);
-  }
-  .alert-link {
-    color: darken(@text-color, 10%);
-  }
-}
diff --git a/resources/less/bootstrap/mixins/background-variant.less b/resources/less/bootstrap/mixins/background-variant.less
deleted file mode 100644
index a85c22b745302f42c8282c0f9b7dce8a2f1384d7..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/background-variant.less
+++ /dev/null
@@ -1,9 +0,0 @@
-// Contextual backgrounds
-
-.bg-variant(@color) {
-  background-color: @color;
-  a&:hover,
-  a&:focus {
-    background-color: darken(@color, 10%);
-  }
-}
diff --git a/resources/less/bootstrap/mixins/border-radius.less b/resources/less/bootstrap/mixins/border-radius.less
deleted file mode 100644
index ca05dbf457000d122a3b8afcc3847e44cffea421..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/border-radius.less
+++ /dev/null
@@ -1,18 +0,0 @@
-// Single side border-radius
-
-.border-top-radius(@radius) {
-  border-top-right-radius: @radius;
-   border-top-left-radius: @radius;
-}
-.border-right-radius(@radius) {
-  border-bottom-right-radius: @radius;
-     border-top-right-radius: @radius;
-}
-.border-bottom-radius(@radius) {
-  border-bottom-right-radius: @radius;
-   border-bottom-left-radius: @radius;
-}
-.border-left-radius(@radius) {
-  border-bottom-left-radius: @radius;
-     border-top-left-radius: @radius;
-}
diff --git a/resources/less/bootstrap/mixins/buttons.less b/resources/less/bootstrap/mixins/buttons.less
deleted file mode 100644
index b294d8c210e07ad3e1293863c3ab0c8a45c960c7..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/buttons.less
+++ /dev/null
@@ -1,65 +0,0 @@
-// Button variants
-//
-// Easily pump out default styles, as well as :hover, :focus, :active,
-// and disabled options for all buttons
-
-.button-variant(@color; @background; @border) {
-  color: @color;
-  background-color: @background;
-  border-color: @border;
-
-  &:focus,
-  &.focus {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 25%);
-  }
-  &:hover {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 12%);
-  }
-  &:active,
-  &.active,
-  .open > .dropdown-toggle& {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 12%);
-
-    &:hover,
-    &:focus,
-    &.focus {
-      color: @color;
-      background-color: darken(@background, 17%);
-          border-color: darken(@border, 25%);
-    }
-  }
-  &:active,
-  &.active,
-  .open > .dropdown-toggle& {
-    background-image: none;
-  }
-  &.disabled,
-  &[disabled],
-  fieldset[disabled] & {
-    &:hover,
-    &:focus,
-    &.focus {
-      background-color: @background;
-          border-color: @border;
-    }
-  }
-
-  .badge {
-    color: @background;
-    background-color: @color;
-  }
-}
-
-// Button sizes
-.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
-  padding: @padding-vertical @padding-horizontal;
-  font-size: @font-size;
-  line-height: @line-height;
-  border-radius: @border-radius;
-}
diff --git a/resources/less/bootstrap/mixins/center-block.less b/resources/less/bootstrap/mixins/center-block.less
deleted file mode 100644
index d18d6de9ed6a7af49415277cb72e57b7dbd42d0f..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/center-block.less
+++ /dev/null
@@ -1,7 +0,0 @@
-// Center-align a block level element
-
-.center-block() {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
diff --git a/resources/less/bootstrap/mixins/clearfix.less b/resources/less/bootstrap/mixins/clearfix.less
deleted file mode 100644
index 3f7a3820c1cf7756322917982646352e77119f46..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/clearfix.less
+++ /dev/null
@@ -1,22 +0,0 @@
-// Clearfix
-//
-// For modern browsers
-// 1. The space content is one way to avoid an Opera bug when the
-//    contenteditable attribute is included anywhere else in the document.
-//    Otherwise it causes space to appear at the top and bottom of elements
-//    that are clearfixed.
-// 2. The use of `table` rather than `block` is only necessary if using
-//    `:before` to contain the top-margins of child elements.
-//
-// Source: http://nicolasgallagher.com/micro-clearfix-hack/
-
-.clearfix() {
-  &:before,
-  &:after {
-    content: " "; // 1
-    display: table; // 2
-  }
-  &:after {
-    clear: both;
-  }
-}
diff --git a/resources/less/bootstrap/mixins/gradients.less b/resources/less/bootstrap/mixins/gradients.less
deleted file mode 100644
index 0b88a89cc56a63effe45558845122b077de03979..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/gradients.less
+++ /dev/null
@@ -1,59 +0,0 @@
-// Gradients
-
-#gradient {
-
-  // Horizontal gradient, from left to right
-  //
-  // Creates two color stops, start and end, by specifying a color and position for each color stop.
-  // Color stops are not available in IE9 and below.
-  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
-    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12
-    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
-  }
-
-  // Vertical gradient, from top to bottom
-  //
-  // Creates two color stops, start and end, by specifying a color and position for each color stop.
-  // Color stops are not available in IE9 and below.
-  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
-    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12
-    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
-  }
-
-  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
-    background-repeat: repeat-x;
-    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12
-    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-  }
-  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
-    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
-    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
-    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
-    background-repeat: no-repeat;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
-  }
-  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
-    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
-    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
-    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
-    background-repeat: no-repeat;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
-  }
-  .radial(@inner-color: #555; @outer-color: #333) {
-    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
-    background-image: radial-gradient(circle, @inner-color, @outer-color);
-    background-repeat: no-repeat;
-  }
-  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {
-    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
-    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
-    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
-  }
-}
diff --git a/resources/less/bootstrap/mixins/grid-framework.less b/resources/less/bootstrap/mixins/grid-framework.less
deleted file mode 100644
index 8c23eed24e60e5fca7d991d2de47019892530323..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/grid-framework.less
+++ /dev/null
@@ -1,91 +0,0 @@
-// Framework grid generation
-//
-// Used only by Bootstrap to generate the correct number of grid classes given
-// any value of `@grid-columns`.
-
-.make-grid-columns() {
-  // Common styles for all sizes of grid columns, widths 1-12
-  .col(@index) { // initial
-    @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
-    .col((@index + 1), @item);
-  }
-  .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
-    @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
-    .col((@index + 1), ~"@{list}, @{item}");
-  }
-  .col(@index, @list) when (@index > @grid-columns) { // terminal
-    @{list} {
-      position: relative;
-      // Prevent columns from collapsing when empty
-      min-height: 1px;
-      // Inner gutter via padding
-      padding-left:  ceil((@grid-gutter-width / 2));
-      padding-right: floor((@grid-gutter-width / 2));
-    }
-  }
-  .col(1); // kickstart it
-}
-
-.float-grid-columns(@class) {
-  .col(@index) { // initial
-    @item: ~".col-@{class}-@{index}";
-    .col((@index + 1), @item);
-  }
-  .col(@index, @list) when (@index =< @grid-columns) { // general
-    @item: ~".col-@{class}-@{index}";
-    .col((@index + 1), ~"@{list}, @{item}");
-  }
-  .col(@index, @list) when (@index > @grid-columns) { // terminal
-    @{list} {
-      float: left;
-    }
-  }
-  .col(1); // kickstart it
-}
-
-.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
-  .col-@{class}-@{index} {
-    width: percentage((@index / @grid-columns));
-  }
-}
-.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
-  .col-@{class}-push-@{index} {
-    left: percentage((@index / @grid-columns));
-  }
-}
-.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
-  .col-@{class}-push-0 {
-    left: auto;
-  }
-}
-.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
-  .col-@{class}-pull-@{index} {
-    right: percentage((@index / @grid-columns));
-  }
-}
-.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
-  .col-@{class}-pull-0 {
-    right: auto;
-  }
-}
-.calc-grid-column(@index, @class, @type) when (@type = offset) {
-  .col-@{class}-offset-@{index} {
-    margin-left: percentage((@index / @grid-columns));
-  }
-}
-
-// Basic looping in LESS
-.loop-grid-columns(@index, @class, @type) when (@index >= 0) {
-  .calc-grid-column(@index, @class, @type);
-  // next iteration
-  .loop-grid-columns((@index - 1), @class, @type);
-}
-
-// Create grid for specific class
-.make-grid(@class) {
-  .float-grid-columns(@class);
-  .loop-grid-columns(@grid-columns, @class, width);
-  .loop-grid-columns(@grid-columns, @class, pull);
-  .loop-grid-columns(@grid-columns, @class, push);
-  .loop-grid-columns(@grid-columns, @class, offset);
-}
diff --git a/resources/less/bootstrap/mixins/grid.less b/resources/less/bootstrap/mixins/grid.less
deleted file mode 100644
index df496d0b3c1a96f60ad996870bba4fd2cf388d33..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/grid.less
+++ /dev/null
@@ -1,122 +0,0 @@
-// Grid system
-//
-// Generate semantic grid columns with these mixins.
-
-// Centered container element
-.container-fixed(@gutter: @grid-gutter-width) {
-  margin-right: auto;
-  margin-left: auto;
-  padding-left:  floor((@gutter / 2));
-  padding-right: ceil((@gutter / 2));
-  &:extend(.clearfix all);
-}
-
-// Creates a wrapper for a series of columns
-.make-row(@gutter: @grid-gutter-width) {
-  margin-left:  ceil((@gutter / -2));
-  margin-right: floor((@gutter / -2));
-  &:extend(.clearfix all);
-}
-
-// Generate the extra small columns
-.make-xs-column(@columns; @gutter: @grid-gutter-width) {
-  position: relative;
-  float: left;
-  width: percentage((@columns / @grid-columns));
-  min-height: 1px;
-  padding-left:  (@gutter / 2);
-  padding-right: (@gutter / 2);
-}
-.make-xs-column-offset(@columns) {
-  margin-left: percentage((@columns / @grid-columns));
-}
-.make-xs-column-push(@columns) {
-  left: percentage((@columns / @grid-columns));
-}
-.make-xs-column-pull(@columns) {
-  right: percentage((@columns / @grid-columns));
-}
-
-// Generate the small columns
-.make-sm-column(@columns; @gutter: @grid-gutter-width) {
-  position: relative;
-  min-height: 1px;
-  padding-left:  (@gutter / 2);
-  padding-right: (@gutter / 2);
-
-  @media (min-width: @screen-sm-min) {
-    float: left;
-    width: percentage((@columns / @grid-columns));
-  }
-}
-.make-sm-column-offset(@columns) {
-  @media (min-width: @screen-sm-min) {
-    margin-left: percentage((@columns / @grid-columns));
-  }
-}
-.make-sm-column-push(@columns) {
-  @media (min-width: @screen-sm-min) {
-    left: percentage((@columns / @grid-columns));
-  }
-}
-.make-sm-column-pull(@columns) {
-  @media (min-width: @screen-sm-min) {
-    right: percentage((@columns / @grid-columns));
-  }
-}
-
-// Generate the medium columns
-.make-md-column(@columns; @gutter: @grid-gutter-width) {
-  position: relative;
-  min-height: 1px;
-  padding-left:  (@gutter / 2);
-  padding-right: (@gutter / 2);
-
-  @media (min-width: @screen-md-min) {
-    float: left;
-    width: percentage((@columns / @grid-columns));
-  }
-}
-.make-md-column-offset(@columns) {
-  @media (min-width: @screen-md-min) {
-    margin-left: percentage((@columns / @grid-columns));
-  }
-}
-.make-md-column-push(@columns) {
-  @media (min-width: @screen-md-min) {
-    left: percentage((@columns / @grid-columns));
-  }
-}
-.make-md-column-pull(@columns) {
-  @media (min-width: @screen-md-min) {
-    right: percentage((@columns / @grid-columns));
-  }
-}
-
-// Generate the large columns
-.make-lg-column(@columns; @gutter: @grid-gutter-width) {
-  position: relative;
-  min-height: 1px;
-  padding-left:  (@gutter / 2);
-  padding-right: (@gutter / 2);
-
-  @media (min-width: @screen-lg-min) {
-    float: left;
-    width: percentage((@columns / @grid-columns));
-  }
-}
-.make-lg-column-offset(@columns) {
-  @media (min-width: @screen-lg-min) {
-    margin-left: percentage((@columns / @grid-columns));
-  }
-}
-.make-lg-column-push(@columns) {
-  @media (min-width: @screen-lg-min) {
-    left: percentage((@columns / @grid-columns));
-  }
-}
-.make-lg-column-pull(@columns) {
-  @media (min-width: @screen-lg-min) {
-    right: percentage((@columns / @grid-columns));
-  }
-}
diff --git a/resources/less/bootstrap/mixins/hide-text.less b/resources/less/bootstrap/mixins/hide-text.less
deleted file mode 100644
index 2bb84a3b444fc158cd24ef77789c624d989fa8ed..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/hide-text.less
+++ /dev/null
@@ -1,21 +0,0 @@
-// CSS image replacement
-//
-// Heads up! v3 launched with only `.hide-text()`, but per our pattern for
-// mixins being reused as classes with the same name, this doesn't hold up. As
-// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
-//
-// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
-
-// Deprecated as of v3.0.1 (has been removed in v4)
-.hide-text() {
-  font: ~"0/0" a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-// New mixin to use as of v3.0.1
-.text-hide() {
-  .hide-text();
-}
diff --git a/resources/less/bootstrap/mixins/image.less b/resources/less/bootstrap/mixins/image.less
deleted file mode 100644
index f233cb3e199f21ac194212e10ebb1e12feb0682b..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/image.less
+++ /dev/null
@@ -1,33 +0,0 @@
-// Image Mixins
-// - Responsive image
-// - Retina image
-
-
-// Responsive image
-//
-// Keep images from scaling beyond the width of their parents.
-.img-responsive(@display: block) {
-  display: @display;
-  max-width: 100%; // Part 1: Set a maximum relative to the parent
-  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
-}
-
-
-// Retina image
-//
-// Short retina mixin for setting background-image and -size. Note that the
-// spelling of `min--moz-device-pixel-ratio` is intentional.
-.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
-  background-image: url("@{file-1x}");
-
-  @media
-  only screen and (-webkit-min-device-pixel-ratio: 2),
-  only screen and (   min--moz-device-pixel-ratio: 2),
-  only screen and (     -o-min-device-pixel-ratio: 2/1),
-  only screen and (        min-device-pixel-ratio: 2),
-  only screen and (                min-resolution: 192dpi),
-  only screen and (                min-resolution: 2dppx) {
-    background-image: url("@{file-2x}");
-    background-size: @width-1x @height-1x;
-  }
-}
diff --git a/resources/less/bootstrap/mixins/labels.less b/resources/less/bootstrap/mixins/labels.less
deleted file mode 100644
index 9f7a67ee3d08a03ad10277d703805d315cd43d54..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/labels.less
+++ /dev/null
@@ -1,12 +0,0 @@
-// Labels
-
-.label-variant(@color) {
-  background-color: @color;
-
-  &[href] {
-    &:hover,
-    &:focus {
-      background-color: darken(@color, 10%);
-    }
-  }
-}
diff --git a/resources/less/bootstrap/mixins/list-group.less b/resources/less/bootstrap/mixins/list-group.less
deleted file mode 100644
index 03aa19069d954a3db712462f17d073eca6a9498f..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/list-group.less
+++ /dev/null
@@ -1,30 +0,0 @@
-// List Groups
-
-.list-group-item-variant(@state; @background; @color) {
-  .list-group-item-@{state} {
-    color: @color;
-    background-color: @background;
-
-    a&,
-    button& {
-      color: @color;
-
-      .list-group-item-heading {
-        color: inherit;
-      }
-
-      &:hover,
-      &:focus {
-        color: @color;
-        background-color: darken(@background, 5%);
-      }
-      &.active,
-      &.active:hover,
-      &.active:focus {
-        color: #fff;
-        background-color: @color;
-        border-color: @color;
-      }
-    }
-  }
-}
diff --git a/resources/less/bootstrap/mixins/nav-divider.less b/resources/less/bootstrap/mixins/nav-divider.less
deleted file mode 100644
index feb1e9ed0dad8d0db00ebb93b175591a88abf707..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/nav-divider.less
+++ /dev/null
@@ -1,10 +0,0 @@
-// Horizontal dividers
-//
-// Dividers (basically an hr) within dropdowns and nav lists
-
-.nav-divider(@color: #e5e5e5) {
-  height: 1px;
-  margin: ((@line-height-computed / 2) - 1) 0;
-  overflow: hidden;
-  background-color: @color;
-}
diff --git a/resources/less/bootstrap/mixins/nav-vertical-align.less b/resources/less/bootstrap/mixins/nav-vertical-align.less
deleted file mode 100644
index d458c78613e6dc082141783ef45d56a5a7d601c3..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/nav-vertical-align.less
+++ /dev/null
@@ -1,9 +0,0 @@
-// Navbar vertical align
-//
-// Vertically center elements in the navbar.
-// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
-
-.navbar-vertical-align(@element-height) {
-  margin-top: ((@navbar-height - @element-height) / 2);
-  margin-bottom: ((@navbar-height - @element-height) / 2);
-}
diff --git a/resources/less/bootstrap/mixins/opacity.less b/resources/less/bootstrap/mixins/opacity.less
deleted file mode 100644
index 33ed25ce6763de7f8ae195628c1eb168379d8435..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/opacity.less
+++ /dev/null
@@ -1,8 +0,0 @@
-// Opacity
-
-.opacity(@opacity) {
-  opacity: @opacity;
-  // IE8 filter
-  @opacity-ie: (@opacity * 100);
-  filter: ~"alpha(opacity=@{opacity-ie})";
-}
diff --git a/resources/less/bootstrap/mixins/pagination.less b/resources/less/bootstrap/mixins/pagination.less
deleted file mode 100644
index 618804f2dee3e87612261f10dc934e618d4af0b2..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/pagination.less
+++ /dev/null
@@ -1,24 +0,0 @@
-// Pagination
-
-.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
-  > li {
-    > a,
-    > span {
-      padding: @padding-vertical @padding-horizontal;
-      font-size: @font-size;
-      line-height: @line-height;
-    }
-    &:first-child {
-      > a,
-      > span {
-        .border-left-radius(@border-radius);
-      }
-    }
-    &:last-child {
-      > a,
-      > span {
-        .border-right-radius(@border-radius);
-      }
-    }
-  }
-}
diff --git a/resources/less/bootstrap/mixins/panels.less b/resources/less/bootstrap/mixins/panels.less
deleted file mode 100644
index 49ee10d4ad39de45e0983d01cbbc50949a1dac2e..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/panels.less
+++ /dev/null
@@ -1,24 +0,0 @@
-// Panels
-
-.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
-  border-color: @border;
-
-  & > .panel-heading {
-    color: @heading-text-color;
-    background-color: @heading-bg-color;
-    border-color: @heading-border;
-
-    + .panel-collapse > .panel-body {
-      border-top-color: @border;
-    }
-    .badge {
-      color: @heading-bg-color;
-      background-color: @heading-text-color;
-    }
-  }
-  & > .panel-footer {
-    + .panel-collapse > .panel-body {
-      border-bottom-color: @border;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/mixins/progress-bar.less b/resources/less/bootstrap/mixins/progress-bar.less
deleted file mode 100644
index f07996a34dbc19a1acc1c024a2410eb2b1b25271..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/progress-bar.less
+++ /dev/null
@@ -1,10 +0,0 @@
-// Progress bars
-
-.progress-bar-variant(@color) {
-  background-color: @color;
-
-  // Deprecated parent class requirement as of v3.2.0
-  .progress-striped & {
-    #gradient > .striped();
-  }
-}
diff --git a/resources/less/bootstrap/mixins/reset-text.less b/resources/less/bootstrap/mixins/reset-text.less
deleted file mode 100644
index 58dd4d19b4d1f6c6731ae2dadd512eb62d9e7e81..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/reset-text.less
+++ /dev/null
@@ -1,18 +0,0 @@
-.reset-text() {
-  font-family: @font-family-base;
-  // We deliberately do NOT reset font-size.
-  font-style: normal;
-  font-weight: normal;
-  letter-spacing: normal;
-  line-break: auto;
-  line-height: @line-height-base;
-  text-align: left; // Fallback for where `start` is not supported
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  white-space: normal;
-  word-break: normal;
-  word-spacing: normal;
-  word-wrap: normal;
-}
diff --git a/resources/less/bootstrap/mixins/resize.less b/resources/less/bootstrap/mixins/resize.less
deleted file mode 100644
index 3acd3afdbacbb7f642e04f7ff434c18107faad69..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/resize.less
+++ /dev/null
@@ -1,6 +0,0 @@
-// Resize anything
-
-.resizable(@direction) {
-  resize: @direction; // Options: horizontal, vertical, both
-  overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
-}
diff --git a/resources/less/bootstrap/mixins/responsive-visibility.less b/resources/less/bootstrap/mixins/responsive-visibility.less
deleted file mode 100644
index ecf1e979fd25c27674d75e1ec6089ee53549dea5..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/responsive-visibility.less
+++ /dev/null
@@ -1,15 +0,0 @@
-// Responsive utilities
-
-//
-// More easily include all the states for responsive-utilities.less.
-.responsive-visibility() {
-  display: block !important;
-  table&  { display: table !important; }
-  tr&     { display: table-row !important; }
-  th&,
-  td&     { display: table-cell !important; }
-}
-
-.responsive-invisibility() {
-  display: none !important;
-}
diff --git a/resources/less/bootstrap/mixins/size.less b/resources/less/bootstrap/mixins/size.less
deleted file mode 100644
index a8be65089606863ad878173e951b62fb387daf52..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/size.less
+++ /dev/null
@@ -1,10 +0,0 @@
-// Sizing shortcuts
-
-.size(@width; @height) {
-  width: @width;
-  height: @height;
-}
-
-.square(@size) {
-  .size(@size; @size);
-}
diff --git a/resources/less/bootstrap/mixins/tab-focus.less b/resources/less/bootstrap/mixins/tab-focus.less
deleted file mode 100644
index d12d23629f52f2d8bfb332b62627eee22a953b2b..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/tab-focus.less
+++ /dev/null
@@ -1,9 +0,0 @@
-// WebKit-style focus
-
-.tab-focus() {
-  // WebKit-specific. Other browsers will keep their default outline style.
-  // (Initially tried to also force default via `outline: initial`,
-  // but that seems to erroneously remove the outline in Firefox altogether.)
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
diff --git a/resources/less/bootstrap/mixins/table-row.less b/resources/less/bootstrap/mixins/table-row.less
deleted file mode 100644
index 0f287f1a8bdf51607e91d0c8aa6a5be51d6df36e..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/table-row.less
+++ /dev/null
@@ -1,28 +0,0 @@
-// Tables
-
-.table-row-variant(@state; @background) {
-  // Exact selectors below required to override `.table-striped` and prevent
-  // inheritance to nested tables.
-  .table > thead > tr,
-  .table > tbody > tr,
-  .table > tfoot > tr {
-    > td.@{state},
-    > th.@{state},
-    &.@{state} > td,
-    &.@{state} > th {
-      background-color: @background;
-    }
-  }
-
-  // Hover states for `.table-hover`
-  // Note: this is not available for cells or rows within `thead` or `tfoot`.
-  .table-hover > tbody > tr {
-    > td.@{state}:hover,
-    > th.@{state}:hover,
-    &.@{state}:hover > td,
-    &:hover > .@{state},
-    &.@{state}:hover > th {
-      background-color: darken(@background, 5%);
-    }
-  }
-}
diff --git a/resources/less/bootstrap/mixins/text-emphasis.less b/resources/less/bootstrap/mixins/text-emphasis.less
deleted file mode 100644
index 9e8a77a6985f01eb51fb5eea7e809349c52cb804..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/text-emphasis.less
+++ /dev/null
@@ -1,9 +0,0 @@
-// Typography
-
-.text-emphasis-variant(@color) {
-  color: @color;
-  a&:hover,
-  a&:focus {
-    color: darken(@color, 10%);
-  }
-}
diff --git a/resources/less/bootstrap/mixins/text-overflow.less b/resources/less/bootstrap/mixins/text-overflow.less
deleted file mode 100644
index c11ad2fb7471dd29ae781f1aefdfb8bb5e4a7d6c..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/text-overflow.less
+++ /dev/null
@@ -1,8 +0,0 @@
-// Text overflow
-// Requires inline-block or block for proper styling
-
-.text-overflow() {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
diff --git a/resources/less/bootstrap/mixins/vendor-prefixes.less b/resources/less/bootstrap/mixins/vendor-prefixes.less
deleted file mode 100644
index 2b5e74b99ed685f4d5e780a9694b9903a59f257b..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/mixins/vendor-prefixes.less
+++ /dev/null
@@ -1,227 +0,0 @@
-// Vendor Prefixes
-//
-// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
-// Autoprefixer in our Gruntfile. They have been removed in v4.
-
-// - Animations
-// - Backface visibility
-// - Box shadow
-// - Box sizing
-// - Content columns
-// - Hyphens
-// - Placeholder text
-// - Transformations
-// - Transitions
-// - User Select
-
-
-// Animations
-.animation(@animation) {
-  -webkit-animation: @animation;
-       -o-animation: @animation;
-          animation: @animation;
-}
-.animation-name(@name) {
-  -webkit-animation-name: @name;
-          animation-name: @name;
-}
-.animation-duration(@duration) {
-  -webkit-animation-duration: @duration;
-          animation-duration: @duration;
-}
-.animation-timing-function(@timing-function) {
-  -webkit-animation-timing-function: @timing-function;
-          animation-timing-function: @timing-function;
-}
-.animation-delay(@delay) {
-  -webkit-animation-delay: @delay;
-          animation-delay: @delay;
-}
-.animation-iteration-count(@iteration-count) {
-  -webkit-animation-iteration-count: @iteration-count;
-          animation-iteration-count: @iteration-count;
-}
-.animation-direction(@direction) {
-  -webkit-animation-direction: @direction;
-          animation-direction: @direction;
-}
-.animation-fill-mode(@fill-mode) {
-  -webkit-animation-fill-mode: @fill-mode;
-          animation-fill-mode: @fill-mode;
-}
-
-// Backface visibility
-// Prevent browsers from flickering when using CSS 3D transforms.
-// Default value is `visible`, but can be changed to `hidden`
-
-.backface-visibility(@visibility) {
-  -webkit-backface-visibility: @visibility;
-     -moz-backface-visibility: @visibility;
-          backface-visibility: @visibility;
-}
-
-// Drop shadows
-//
-// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
-// supported browsers that have box shadow capabilities now support it.
-
-.box-shadow(@shadow) {
-  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
-          box-shadow: @shadow;
-}
-
-// Box sizing
-.box-sizing(@boxmodel) {
-  -webkit-box-sizing: @boxmodel;
-     -moz-box-sizing: @boxmodel;
-          box-sizing: @boxmodel;
-}
-
-// CSS3 Content Columns
-.content-columns(@column-count; @column-gap: @grid-gutter-width) {
-  -webkit-column-count: @column-count;
-     -moz-column-count: @column-count;
-          column-count: @column-count;
-  -webkit-column-gap: @column-gap;
-     -moz-column-gap: @column-gap;
-          column-gap: @column-gap;
-}
-
-// Optional hyphenation
-.hyphens(@mode: auto) {
-  word-wrap: break-word;
-  -webkit-hyphens: @mode;
-     -moz-hyphens: @mode;
-      -ms-hyphens: @mode; // IE10+
-       -o-hyphens: @mode;
-          hyphens: @mode;
-}
-
-// Placeholder text
-.placeholder(@color: @input-color-placeholder) {
-  // Firefox
-  &::-moz-placeholder {
-    color: @color;
-    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
-  }
-  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
-  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
-}
-
-// Transformations
-.scale(@ratio) {
-  -webkit-transform: scale(@ratio);
-      -ms-transform: scale(@ratio); // IE9 only
-       -o-transform: scale(@ratio);
-          transform: scale(@ratio);
-}
-.scale(@ratioX; @ratioY) {
-  -webkit-transform: scale(@ratioX, @ratioY);
-      -ms-transform: scale(@ratioX, @ratioY); // IE9 only
-       -o-transform: scale(@ratioX, @ratioY);
-          transform: scale(@ratioX, @ratioY);
-}
-.scaleX(@ratio) {
-  -webkit-transform: scaleX(@ratio);
-      -ms-transform: scaleX(@ratio); // IE9 only
-       -o-transform: scaleX(@ratio);
-          transform: scaleX(@ratio);
-}
-.scaleY(@ratio) {
-  -webkit-transform: scaleY(@ratio);
-      -ms-transform: scaleY(@ratio); // IE9 only
-       -o-transform: scaleY(@ratio);
-          transform: scaleY(@ratio);
-}
-.skew(@x; @y) {
-  -webkit-transform: skewX(@x) skewY(@y);
-      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
-       -o-transform: skewX(@x) skewY(@y);
-          transform: skewX(@x) skewY(@y);
-}
-.translate(@x; @y) {
-  -webkit-transform: translate(@x, @y);
-      -ms-transform: translate(@x, @y); // IE9 only
-       -o-transform: translate(@x, @y);
-          transform: translate(@x, @y);
-}
-.translate3d(@x; @y; @z) {
-  -webkit-transform: translate3d(@x, @y, @z);
-          transform: translate3d(@x, @y, @z);
-}
-.rotate(@degrees) {
-  -webkit-transform: rotate(@degrees);
-      -ms-transform: rotate(@degrees); // IE9 only
-       -o-transform: rotate(@degrees);
-          transform: rotate(@degrees);
-}
-.rotateX(@degrees) {
-  -webkit-transform: rotateX(@degrees);
-      -ms-transform: rotateX(@degrees); // IE9 only
-       -o-transform: rotateX(@degrees);
-          transform: rotateX(@degrees);
-}
-.rotateY(@degrees) {
-  -webkit-transform: rotateY(@degrees);
-      -ms-transform: rotateY(@degrees); // IE9 only
-       -o-transform: rotateY(@degrees);
-          transform: rotateY(@degrees);
-}
-.perspective(@perspective) {
-  -webkit-perspective: @perspective;
-     -moz-perspective: @perspective;
-          perspective: @perspective;
-}
-.perspective-origin(@perspective) {
-  -webkit-perspective-origin: @perspective;
-     -moz-perspective-origin: @perspective;
-          perspective-origin: @perspective;
-}
-.transform-origin(@origin) {
-  -webkit-transform-origin: @origin;
-     -moz-transform-origin: @origin;
-      -ms-transform-origin: @origin; // IE9 only
-          transform-origin: @origin;
-}
-
-
-// Transitions
-
-.transition(@transition) {
-  -webkit-transition: @transition;
-       -o-transition: @transition;
-          transition: @transition;
-}
-.transition-property(@transition-property) {
-  -webkit-transition-property: @transition-property;
-          transition-property: @transition-property;
-}
-.transition-delay(@transition-delay) {
-  -webkit-transition-delay: @transition-delay;
-          transition-delay: @transition-delay;
-}
-.transition-duration(@transition-duration) {
-  -webkit-transition-duration: @transition-duration;
-          transition-duration: @transition-duration;
-}
-.transition-timing-function(@timing-function) {
-  -webkit-transition-timing-function: @timing-function;
-          transition-timing-function: @timing-function;
-}
-.transition-transform(@transition) {
-  -webkit-transition: -webkit-transform @transition;
-     -moz-transition: -moz-transform @transition;
-       -o-transition: -o-transform @transition;
-          transition: transform @transition;
-}
-
-
-// User select
-// For selecting text on the page
-
-.user-select(@select) {
-  -webkit-user-select: @select;
-     -moz-user-select: @select;
-      -ms-user-select: @select; // IE10+
-          user-select: @select;
-}
diff --git a/resources/less/bootstrap/modals.less b/resources/less/bootstrap/modals.less
deleted file mode 100644
index 767ce36ba3763df166963a2e7e330c19f3b708b3..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/modals.less
+++ /dev/null
@@ -1,150 +0,0 @@
-//
-// Modals
-// --------------------------------------------------
-
-// .modal-open      - body class for killing the scroll
-// .modal           - container to scroll within
-// .modal-dialog    - positioning shell for the actual modal
-// .modal-content   - actual modal w/ bg and corners and shit
-
-// Kill the scroll on the body
-.modal-open {
-  overflow: hidden;
-}
-
-// Container that the modal scrolls within
-.modal {
-  display: none;
-  overflow: hidden;
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: @zindex-modal;
-  -webkit-overflow-scrolling: touch;
-
-  // Prevent Chrome on Windows from adding a focus outline. For details, see
-  // https://github.com/twbs/bootstrap/pull/10951.
-  outline: 0;
-
-  // When fading in the modal, animate it to slide down
-  &.fade .modal-dialog {
-    .translate(0, -25%);
-    .transition-transform(~"0.3s ease-out");
-  }
-  &.in .modal-dialog { .translate(0, 0) }
-}
-.modal-open .modal {
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-
-// Shell div to position the modal with bottom padding
-.modal-dialog {
-  position: relative;
-  width: auto;
-  margin: 10px;
-}
-
-// Actual modal
-.modal-content {
-  position: relative;
-  background-color: @modal-content-bg;
-  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
-  border: 1px solid @modal-content-border-color;
-  border-radius: @border-radius-large;
-  .box-shadow(0 3px 9px rgba(0,0,0,.5));
-  background-clip: padding-box;
-  // Remove focus outline from opened modal
-  outline: 0;
-}
-
-// Modal background
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: @zindex-modal-background;
-  background-color: @modal-backdrop-bg;
-  // Fade for backdrop
-  &.fade { .opacity(0); }
-  &.in { .opacity(@modal-backdrop-opacity); }
-}
-
-// Modal header
-// Top section of the modal w/ title and dismiss
-.modal-header {
-  padding: @modal-title-padding;
-  border-bottom: 1px solid @modal-header-border-color;
-  &:extend(.clearfix all);
-}
-// Close icon
-.modal-header .close {
-  margin-top: -2px;
-}
-
-// Title text within header
-.modal-title {
-  margin: 0;
-  line-height: @modal-title-line-height;
-}
-
-// Modal body
-// Where all modal content resides (sibling of .modal-header and .modal-footer)
-.modal-body {
-  position: relative;
-  padding: @modal-inner-padding;
-}
-
-// Footer (for actions)
-.modal-footer {
-  padding: @modal-inner-padding;
-  text-align: right; // right align buttons
-  border-top: 1px solid @modal-footer-border-color;
-  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
-
-  // Properly space out buttons
-  .btn + .btn {
-    margin-left: 5px;
-    margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
-  }
-  // but override that for button groups
-  .btn-group .btn + .btn {
-    margin-left: -1px;
-  }
-  // and override it for block buttons as well
-  .btn-block + .btn-block {
-    margin-left: 0;
-  }
-}
-
-// Measure scrollbar width for padding body during modal show/hide
-.modal-scrollbar-measure {
-  position: absolute;
-  top: -9999px;
-  width: 50px;
-  height: 50px;
-  overflow: scroll;
-}
-
-// Scale up the modal
-@media (min-width: @screen-sm-min) {
-  // Automatically set modal's width for larger viewports
-  .modal-dialog {
-    width: @modal-md;
-    margin: 30px auto;
-  }
-  .modal-content {
-    .box-shadow(0 5px 15px rgba(0,0,0,.5));
-  }
-
-  // Modal sizes
-  .modal-sm { width: @modal-sm; }
-}
-
-@media (min-width: @screen-md-min) {
-  .modal-lg { width: @modal-lg; }
-}
diff --git a/resources/less/bootstrap/navbar.less b/resources/less/bootstrap/navbar.less
deleted file mode 100644
index 6d751bb9ce0adfe6aac21bc69fbb9aa43880eae0..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/navbar.less
+++ /dev/null
@@ -1,660 +0,0 @@
-//
-// Navbars
-// --------------------------------------------------
-
-
-// Wrapper and base class
-//
-// Provide a static navbar from which we expand to create full-width, fixed, and
-// other navbar variations.
-
-.navbar {
-  position: relative;
-  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
-  margin-bottom: @navbar-margin-bottom;
-  border: 1px solid transparent;
-
-  // Prevent floats from breaking the navbar
-  &:extend(.clearfix all);
-
-  @media (min-width: @grid-float-breakpoint) {
-    border-radius: @navbar-border-radius;
-  }
-}
-
-
-// Navbar heading
-//
-// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
-// styling of responsive aspects.
-
-.navbar-header {
-  &:extend(.clearfix all);
-
-  @media (min-width: @grid-float-breakpoint) {
-    float: left;
-  }
-}
-
-
-// Navbar collapse (body)
-//
-// Group your navbar content into this for easy collapsing and expanding across
-// various device sizes. By default, this content is collapsed when <768px, but
-// will expand past that for a horizontal display.
-//
-// To start (on mobile devices) the navbar links, forms, and buttons are stacked
-// vertically and include a `max-height` to overflow in case you have too much
-// content for the user's viewport.
-
-.navbar-collapse {
-  overflow-x: visible;
-  padding-right: @navbar-padding-horizontal;
-  padding-left:  @navbar-padding-horizontal;
-  border-top: 1px solid transparent;
-  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
-  &:extend(.clearfix all);
-  -webkit-overflow-scrolling: touch;
-
-  &.in {
-    overflow-y: auto;
-  }
-
-  @media (min-width: @grid-float-breakpoint) {
-    width: auto;
-    border-top: 0;
-    box-shadow: none;
-
-    &.collapse {
-      display: block !important;
-      height: auto !important;
-      padding-bottom: 0; // Override default setting
-      overflow: visible !important;
-    }
-
-    &.in {
-      overflow-y: visible;
-    }
-
-    // Undo the collapse side padding for navbars with containers to ensure
-    // alignment of right-aligned contents.
-    .navbar-fixed-top &,
-    .navbar-static-top &,
-    .navbar-fixed-bottom & {
-      padding-left: 0;
-      padding-right: 0;
-    }
-  }
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  .navbar-collapse {
-    max-height: @navbar-collapse-max-height;
-
-    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {
-      max-height: 200px;
-    }
-  }
-}
-
-
-// Both navbar header and collapse
-//
-// When a container is present, change the behavior of the header and collapse.
-
-.container,
-.container-fluid {
-  > .navbar-header,
-  > .navbar-collapse {
-    margin-right: -@navbar-padding-horizontal;
-    margin-left:  -@navbar-padding-horizontal;
-
-    @media (min-width: @grid-float-breakpoint) {
-      margin-right: 0;
-      margin-left:  0;
-    }
-  }
-}
-
-
-//
-// Navbar alignment options
-//
-// Display the navbar across the entirety of the page or fixed it to the top or
-// bottom of the page.
-
-// Static top (unfixed, but 100% wide) navbar
-.navbar-static-top {
-  z-index: @zindex-navbar;
-  border-width: 0 0 1px;
-
-  @media (min-width: @grid-float-breakpoint) {
-    border-radius: 0;
-  }
-}
-
-// Fix the top/bottom navbars when screen real estate supports it
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: @zindex-navbar-fixed;
-
-  // Undo the rounded corners
-  @media (min-width: @grid-float-breakpoint) {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top {
-  top: 0;
-  border-width: 0 0 1px;
-}
-.navbar-fixed-bottom {
-  bottom: 0;
-  margin-bottom: 0; // override .navbar defaults
-  border-width: 1px 0 0;
-}
-
-
-// Brand/project name
-
-.navbar-brand {
-  float: left;
-  padding: @navbar-padding-vertical @navbar-padding-horizontal;
-  font-size: @font-size-large;
-  line-height: @line-height-computed;
-  height: @navbar-height;
-
-  &:hover,
-  &:focus {
-    text-decoration: none;
-  }
-
-  > img {
-    display: block;
-  }
-
-  @media (min-width: @grid-float-breakpoint) {
-    .navbar > .container &,
-    .navbar > .container-fluid & {
-      margin-left: -@navbar-padding-horizontal;
-    }
-  }
-}
-
-
-// Navbar toggle
-//
-// Custom button for toggling the `.navbar-collapse`, powered by the collapse
-// JavaScript plugin.
-
-.navbar-toggle {
-  position: relative;
-  float: right;
-  margin-right: @navbar-padding-horizontal;
-  padding: 9px 10px;
-  .navbar-vertical-align(34px);
-  background-color: transparent;
-  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
-  border: 1px solid transparent;
-  border-radius: @border-radius-base;
-
-  // We remove the `outline` here, but later compensate by attaching `:hover`
-  // styles to `:focus`.
-  &:focus {
-    outline: 0;
-  }
-
-  // Bars
-  .icon-bar {
-    display: block;
-    width: 22px;
-    height: 2px;
-    border-radius: 1px;
-  }
-  .icon-bar + .icon-bar {
-    margin-top: 4px;
-  }
-
-  @media (min-width: @grid-float-breakpoint) {
-    display: none;
-  }
-}
-
-
-// Navbar nav links
-//
-// Builds on top of the `.nav` components with its own modifier class to make
-// the nav the full height of the horizontal nav (above 768px).
-
-.navbar-nav {
-  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;
-
-  > li > a {
-    padding-top:    10px;
-    padding-bottom: 10px;
-    line-height: @line-height-computed;
-  }
-
-  @media (max-width: @grid-float-breakpoint-max) {
-    // Dropdowns get custom display when collapsed
-    .open .dropdown-menu {
-      position: static;
-      float: none;
-      width: auto;
-      margin-top: 0;
-      background-color: transparent;
-      border: 0;
-      box-shadow: none;
-      > li > a,
-      .dropdown-header {
-        padding: 5px 15px 5px 25px;
-      }
-      > li > a {
-        line-height: @line-height-computed;
-        &:hover,
-        &:focus {
-          background-image: none;
-        }
-      }
-    }
-  }
-
-  // Uncollapse the nav
-  @media (min-width: @grid-float-breakpoint) {
-    float: left;
-    margin: 0;
-
-    > li {
-      float: left;
-      > a {
-        padding-top:    @navbar-padding-vertical;
-        padding-bottom: @navbar-padding-vertical;
-      }
-    }
-  }
-}
-
-
-// Navbar form
-//
-// Extension of the `.form-inline` with some extra flavor for optimum display in
-// our navbars.
-
-.navbar-form {
-  margin-left: -@navbar-padding-horizontal;
-  margin-right: -@navbar-padding-horizontal;
-  padding: 10px @navbar-padding-horizontal;
-  border-top: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
-  .box-shadow(@shadow);
-
-  // Mixin behavior for optimum display
-  .form-inline();
-
-  .form-group {
-    @media (max-width: @grid-float-breakpoint-max) {
-      margin-bottom: 5px;
-
-      &:last-child {
-        margin-bottom: 0;
-      }
-    }
-  }
-
-  // Vertically center in expanded, horizontal navbar
-  .navbar-vertical-align(@input-height-base);
-
-  // Undo 100% width for pull classes
-  @media (min-width: @grid-float-breakpoint) {
-    width: auto;
-    border: 0;
-    margin-left: 0;
-    margin-right: 0;
-    padding-top: 0;
-    padding-bottom: 0;
-    .box-shadow(none);
-  }
-}
-
-
-// Dropdown menus
-
-// Menu position and menu carets
-.navbar-nav > li > .dropdown-menu {
-  margin-top: 0;
-  .border-top-radius(0);
-}
-// Menu position and menu caret support for dropups via extra dropup class
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
-  margin-bottom: 0;
-  .border-top-radius(@navbar-border-radius);
-  .border-bottom-radius(0);
-}
-
-
-// Buttons in navbars
-//
-// Vertically center a button within a navbar (when *not* in a form).
-
-.navbar-btn {
-  .navbar-vertical-align(@input-height-base);
-
-  &.btn-sm {
-    .navbar-vertical-align(@input-height-small);
-  }
-  &.btn-xs {
-    .navbar-vertical-align(22);
-  }
-}
-
-
-// Text in navbars
-//
-// Add a class to make any element properly align itself vertically within the navbars.
-
-.navbar-text {
-  .navbar-vertical-align(@line-height-computed);
-
-  @media (min-width: @grid-float-breakpoint) {
-    float: left;
-    margin-left: @navbar-padding-horizontal;
-    margin-right: @navbar-padding-horizontal;
-  }
-}
-
-
-// Component alignment
-//
-// Repurpose the pull utilities as their own navbar utilities to avoid specificity
-// issues with parents and chaining. Only do this when the navbar is uncollapsed
-// though so that navbar contents properly stack and align in mobile.
-//
-// Declared after the navbar components to ensure more specificity on the margins.
-
-@media (min-width: @grid-float-breakpoint) {
-  .navbar-left  { .pull-left(); }
-  .navbar-right {
-    .pull-right();
-    margin-right: -@navbar-padding-horizontal;
-
-    ~ .navbar-right {
-      margin-right: 0;
-    }
-  }
-}
-
-
-// Alternate navbars
-// --------------------------------------------------
-
-// Default navbar
-.navbar-default {
-  background-color: @navbar-default-bg;
-  border-color: @navbar-default-border;
-
-  .navbar-brand {
-    color: @navbar-default-brand-color;
-    &:hover,
-    &:focus {
-      color: @navbar-default-brand-hover-color;
-      background-color: @navbar-default-brand-hover-bg;
-    }
-  }
-
-  .navbar-text {
-    color: @navbar-default-color;
-  }
-
-  .navbar-nav {
-    > li > a {
-      color: @navbar-default-link-color;
-
-      &:hover,
-      &:focus {
-        color: @navbar-default-link-hover-color;
-        background-color: @navbar-default-link-hover-bg;
-      }
-    }
-    > .active > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @navbar-default-link-active-color;
-        background-color: @navbar-default-link-active-bg;
-      }
-    }
-    > .disabled > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @navbar-default-link-disabled-color;
-        background-color: @navbar-default-link-disabled-bg;
-      }
-    }
-  }
-
-  .navbar-toggle {
-    border-color: @navbar-default-toggle-border-color;
-    &:hover,
-    &:focus {
-      background-color: @navbar-default-toggle-hover-bg;
-    }
-    .icon-bar {
-      background-color: @navbar-default-toggle-icon-bar-bg;
-    }
-  }
-
-  .navbar-collapse,
-  .navbar-form {
-    border-color: @navbar-default-border;
-  }
-
-  // Dropdown menu items
-  .navbar-nav {
-    // Remove background color from open dropdown
-    > .open > a {
-      &,
-      &:hover,
-      &:focus {
-        background-color: @navbar-default-link-active-bg;
-        color: @navbar-default-link-active-color;
-      }
-    }
-
-    @media (max-width: @grid-float-breakpoint-max) {
-      // Dropdowns get custom display when collapsed
-      .open .dropdown-menu {
-        > li > a {
-          color: @navbar-default-link-color;
-          &:hover,
-          &:focus {
-            color: @navbar-default-link-hover-color;
-            background-color: @navbar-default-link-hover-bg;
-          }
-        }
-        > .active > a {
-          &,
-          &:hover,
-          &:focus {
-            color: @navbar-default-link-active-color;
-            background-color: @navbar-default-link-active-bg;
-          }
-        }
-        > .disabled > a {
-          &,
-          &:hover,
-          &:focus {
-            color: @navbar-default-link-disabled-color;
-            background-color: @navbar-default-link-disabled-bg;
-          }
-        }
-      }
-    }
-  }
-
-
-  // Links in navbars
-  //
-  // Add a class to ensure links outside the navbar nav are colored correctly.
-
-  .navbar-link {
-    color: @navbar-default-link-color;
-    &:hover {
-      color: @navbar-default-link-hover-color;
-    }
-  }
-
-  .btn-link {
-    color: @navbar-default-link-color;
-    &:hover,
-    &:focus {
-      color: @navbar-default-link-hover-color;
-    }
-    &[disabled],
-    fieldset[disabled] & {
-      &:hover,
-      &:focus {
-        color: @navbar-default-link-disabled-color;
-      }
-    }
-  }
-}
-
-// Inverse navbar
-
-.navbar-inverse {
-  background-color: @navbar-inverse-bg;
-  border-color: @navbar-inverse-border;
-
-  .navbar-brand {
-    color: @navbar-inverse-brand-color;
-    &:hover,
-    &:focus {
-      color: @navbar-inverse-brand-hover-color;
-      background-color: @navbar-inverse-brand-hover-bg;
-    }
-  }
-
-  .navbar-text {
-    color: @navbar-inverse-color;
-  }
-
-  .navbar-nav {
-    > li > a {
-      color: @navbar-inverse-link-color;
-
-      &:hover,
-      &:focus {
-        color: @navbar-inverse-link-hover-color;
-        background-color: @navbar-inverse-link-hover-bg;
-      }
-    }
-    > .active > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @navbar-inverse-link-active-color;
-        background-color: @navbar-inverse-link-active-bg;
-      }
-    }
-    > .disabled > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @navbar-inverse-link-disabled-color;
-        background-color: @navbar-inverse-link-disabled-bg;
-      }
-    }
-  }
-
-  // Darken the responsive nav toggle
-  .navbar-toggle {
-    border-color: @navbar-inverse-toggle-border-color;
-    &:hover,
-    &:focus {
-      background-color: @navbar-inverse-toggle-hover-bg;
-    }
-    .icon-bar {
-      background-color: @navbar-inverse-toggle-icon-bar-bg;
-    }
-  }
-
-  .navbar-collapse,
-  .navbar-form {
-    border-color: darken(@navbar-inverse-bg, 7%);
-  }
-
-  // Dropdowns
-  .navbar-nav {
-    > .open > a {
-      &,
-      &:hover,
-      &:focus {
-        background-color: @navbar-inverse-link-active-bg;
-        color: @navbar-inverse-link-active-color;
-      }
-    }
-
-    @media (max-width: @grid-float-breakpoint-max) {
-      // Dropdowns get custom display
-      .open .dropdown-menu {
-        > .dropdown-header {
-          border-color: @navbar-inverse-border;
-        }
-        .divider {
-          background-color: @navbar-inverse-border;
-        }
-        > li > a {
-          color: @navbar-inverse-link-color;
-          &:hover,
-          &:focus {
-            color: @navbar-inverse-link-hover-color;
-            background-color: @navbar-inverse-link-hover-bg;
-          }
-        }
-        > .active > a {
-          &,
-          &:hover,
-          &:focus {
-            color: @navbar-inverse-link-active-color;
-            background-color: @navbar-inverse-link-active-bg;
-          }
-        }
-        > .disabled > a {
-          &,
-          &:hover,
-          &:focus {
-            color: @navbar-inverse-link-disabled-color;
-            background-color: @navbar-inverse-link-disabled-bg;
-          }
-        }
-      }
-    }
-  }
-
-  .navbar-link {
-    color: @navbar-inverse-link-color;
-    &:hover {
-      color: @navbar-inverse-link-hover-color;
-    }
-  }
-
-  .btn-link {
-    color: @navbar-inverse-link-color;
-    &:hover,
-    &:focus {
-      color: @navbar-inverse-link-hover-color;
-    }
-    &[disabled],
-    fieldset[disabled] & {
-      &:hover,
-      &:focus {
-        color: @navbar-inverse-link-disabled-color;
-      }
-    }
-  }
-}
diff --git a/resources/less/bootstrap/navs.less b/resources/less/bootstrap/navs.less
deleted file mode 100644
index a3d11b136211f3ee4a4d3beeb19c5ffba203b15b..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/navs.less
+++ /dev/null
@@ -1,242 +0,0 @@
-//
-// Navs
-// --------------------------------------------------
-
-
-// Base class
-// --------------------------------------------------
-
-.nav {
-  margin-bottom: 0;
-  padding-left: 0; // Override default ul/ol
-  list-style: none;
-  &:extend(.clearfix all);
-
-  > li {
-    position: relative;
-    display: block;
-
-    > a {
-      position: relative;
-      display: block;
-      padding: @nav-link-padding;
-      &:hover,
-      &:focus {
-        text-decoration: none;
-        background-color: @nav-link-hover-bg;
-      }
-    }
-
-    // Disabled state sets text to gray and nukes hover/tab effects
-    &.disabled > a {
-      color: @nav-disabled-link-color;
-
-      &:hover,
-      &:focus {
-        color: @nav-disabled-link-hover-color;
-        text-decoration: none;
-        background-color: transparent;
-        cursor: @cursor-disabled;
-      }
-    }
-  }
-
-  // Open dropdowns
-  .open > a {
-    &,
-    &:hover,
-    &:focus {
-      background-color: @nav-link-hover-bg;
-      border-color: @link-color;
-    }
-  }
-
-  // Nav dividers (deprecated with v3.0.1)
-  //
-  // This should have been removed in v3 with the dropping of `.nav-list`, but
-  // we missed it. We don't currently support this anywhere, but in the interest
-  // of maintaining backward compatibility in case you use it, it's deprecated.
-  .nav-divider {
-    .nav-divider();
-  }
-
-  // Prevent IE8 from misplacing imgs
-  //
-  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
-  > li > a > img {
-    max-width: none;
-  }
-}
-
-
-// Tabs
-// -------------------------
-
-// Give the tabs something to sit on
-.nav-tabs {
-  border-bottom: 1px solid @nav-tabs-border-color;
-  > li {
-    float: left;
-    // Make the list-items overlay the bottom border
-    margin-bottom: -1px;
-
-    // Actual tabs (as links)
-    > a {
-      margin-right: 2px;
-      line-height: @line-height-base;
-      border: 1px solid transparent;
-      border-radius: @border-radius-base @border-radius-base 0 0;
-      &:hover {
-        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
-      }
-    }
-
-    // Active state, and its :hover to override normal :hover
-    &.active > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @nav-tabs-active-link-hover-color;
-        background-color: @nav-tabs-active-link-hover-bg;
-        border: 1px solid @nav-tabs-active-link-hover-border-color;
-        border-bottom-color: transparent;
-        cursor: default;
-      }
-    }
-  }
-  // pulling this in mainly for less shorthand
-  &.nav-justified {
-    .nav-justified();
-    .nav-tabs-justified();
-  }
-}
-
-
-// Pills
-// -------------------------
-.nav-pills {
-  > li {
-    float: left;
-
-    // Links rendered as pills
-    > a {
-      border-radius: @nav-pills-border-radius;
-    }
-    + li {
-      margin-left: 2px;
-    }
-
-    // Active state
-    &.active > a {
-      &,
-      &:hover,
-      &:focus {
-        color: @nav-pills-active-link-hover-color;
-        background-color: @nav-pills-active-link-hover-bg;
-      }
-    }
-  }
-}
-
-
-// Stacked pills
-.nav-stacked {
-  > li {
-    float: none;
-    + li {
-      margin-top: 2px;
-      margin-left: 0; // no need for this gap between nav items
-    }
-  }
-}
-
-
-// Nav variations
-// --------------------------------------------------
-
-// Justified nav links
-// -------------------------
-
-.nav-justified {
-  width: 100%;
-
-  > li {
-    float: none;
-    > a {
-      text-align: center;
-      margin-bottom: 5px;
-    }
-  }
-
-  > .dropdown .dropdown-menu {
-    top: auto;
-    left: auto;
-  }
-
-  @media (min-width: @screen-sm-min) {
-    > li {
-      display: table-cell;
-      width: 1%;
-      > a {
-        margin-bottom: 0;
-      }
-    }
-  }
-}
-
-// Move borders to anchors instead of bottom of list
-//
-// Mixin for adding on top the shared `.nav-justified` styles for our tabs
-.nav-tabs-justified {
-  border-bottom: 0;
-
-  > li > a {
-    // Override margin from .nav-tabs
-    margin-right: 0;
-    border-radius: @border-radius-base;
-  }
-
-  > .active > a,
-  > .active > a:hover,
-  > .active > a:focus {
-    border: 1px solid @nav-tabs-justified-link-border-color;
-  }
-
-  @media (min-width: @screen-sm-min) {
-    > li > a {
-      border-bottom: 1px solid @nav-tabs-justified-link-border-color;
-      border-radius: @border-radius-base @border-radius-base 0 0;
-    }
-    > .active > a,
-    > .active > a:hover,
-    > .active > a:focus {
-      border-bottom-color: @nav-tabs-justified-active-link-border-color;
-    }
-  }
-}
-
-
-// Tabbable tabs
-// -------------------------
-
-// Hide tabbable panes to start, show them when `.active`
-.tab-content {
-  > .tab-pane {
-    display: none;
-  }
-  > .active {
-    display: block;
-  }
-}
-
-
-// Dropdowns
-// -------------------------
-
-// Specific dropdowns
-.nav-tabs .dropdown-menu {
-  // make dropdown border overlap tab border
-  margin-top: -1px;
-  // Remove the top rounded corners here since there is a hard edge above the menu
-  .border-top-radius(0);
-}
diff --git a/resources/less/bootstrap/normalize.less b/resources/less/bootstrap/normalize.less
deleted file mode 100644
index 9dddf73ad2924561afa704701655f2cbc011d7df..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/normalize.less
+++ /dev/null
@@ -1,424 +0,0 @@
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-
-//
-// 1. Set default font family to sans-serif.
-// 2. Prevent iOS and IE text size adjust after device orientation change,
-//    without disabling user zoom.
-//
-
-html {
-  font-family: sans-serif; // 1
-  -ms-text-size-adjust: 100%; // 2
-  -webkit-text-size-adjust: 100%; // 2
-}
-
-//
-// Remove default margin.
-//
-
-body {
-  margin: 0;
-}
-
-// HTML5 display definitions
-// ==========================================================================
-
-//
-// Correct `block` display not defined for any HTML5 element in IE 8/9.
-// Correct `block` display not defined for `details` or `summary` in IE 10/11
-// and Firefox.
-// Correct `block` display not defined for `main` in IE 11.
-//
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
-  display: block;
-}
-
-//
-// 1. Correct `inline-block` display not defined in IE 8/9.
-// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
-//
-
-audio,
-canvas,
-progress,
-video {
-  display: inline-block; // 1
-  vertical-align: baseline; // 2
-}
-
-//
-// Prevent modern browsers from displaying `audio` without controls.
-// Remove excess height in iOS 5 devices.
-//
-
-audio:not([controls]) {
-  display: none;
-  height: 0;
-}
-
-//
-// Address `[hidden]` styling not present in IE 8/9/10.
-// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
-//
-
-[hidden],
-template {
-  display: none;
-}
-
-// Links
-// ==========================================================================
-
-//
-// Remove the gray background color from active links in IE 10.
-//
-
-a {
-  background-color: transparent;
-}
-
-//
-// Improve readability of focused elements when they are also in an
-// active/hover state.
-//
-
-a:active,
-a:hover {
-  outline: 0;
-}
-
-// Text-level semantics
-// ==========================================================================
-
-//
-// Address styling not present in IE 8/9/10/11, Safari, and Chrome.
-//
-
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-
-//
-// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
-//
-
-b,
-strong {
-  font-weight: bold;
-}
-
-//
-// Address styling not present in Safari and Chrome.
-//
-
-dfn {
-  font-style: italic;
-}
-
-//
-// Address variable `h1` font-size and margin within `section` and `article`
-// contexts in Firefox 4+, Safari, and Chrome.
-//
-
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-//
-// Address styling not present in IE 8/9.
-//
-
-mark {
-  background: #ff0;
-  color: #000;
-}
-
-//
-// Address inconsistent and variable font size in all browsers.
-//
-
-small {
-  font-size: 80%;
-}
-
-//
-// Prevent `sub` and `sup` affecting `line-height` in all browsers.
-//
-
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sup {
-  top: -0.5em;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-// Embedded content
-// ==========================================================================
-
-//
-// Remove border when inside `a` element in IE 8/9/10.
-//
-
-img {
-  border: 0;
-}
-
-//
-// Correct overflow not hidden in IE 9/10/11.
-//
-
-svg:not(:root) {
-  overflow: hidden;
-}
-
-// Grouping content
-// ==========================================================================
-
-//
-// Address margin not present in IE 8/9 and Safari.
-//
-
-figure {
-  margin: 1em 40px;
-}
-
-//
-// Address differences between Firefox and other browsers.
-//
-
-hr {
-  box-sizing: content-box;
-  height: 0;
-}
-
-//
-// Contain overflow in all browsers.
-//
-
-pre {
-  overflow: auto;
-}
-
-//
-// Address odd `em`-unit font size rendering in all browsers.
-//
-
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-
-// Forms
-// ==========================================================================
-
-//
-// Known limitation: by default, Chrome and Safari on OS X allow very limited
-// styling of `select`, unless a `border` property is set.
-//
-
-//
-// 1. Correct color not being inherited.
-//    Known issue: affects color of disabled elements.
-// 2. Correct font properties not being inherited.
-// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
-//
-
-button,
-input,
-optgroup,
-select,
-textarea {
-  color: inherit; // 1
-  font: inherit; // 2
-  margin: 0; // 3
-}
-
-//
-// Address `overflow` set to `hidden` in IE 8/9/10/11.
-//
-
-button {
-  overflow: visible;
-}
-
-//
-// Address inconsistent `text-transform` inheritance for `button` and `select`.
-// All other form control elements do not inherit `text-transform` values.
-// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
-// Correct `select` style inheritance in Firefox.
-//
-
-button,
-select {
-  text-transform: none;
-}
-
-//
-// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
-//    and `video` controls.
-// 2. Correct inability to style clickable `input` types in iOS.
-// 3. Improve usability and consistency of cursor style between image-type
-//    `input` and others.
-//
-
-button,
-html input[type="button"], // 1
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button; // 2
-  cursor: pointer; // 3
-}
-
-//
-// Re-set default cursor for disabled elements.
-//
-
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-
-//
-// Remove inner padding and border in Firefox 4+.
-//
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  border: 0;
-  padding: 0;
-}
-
-//
-// Address Firefox 4+ setting `line-height` on `input` using `!important` in
-// the UA stylesheet.
-//
-
-input {
-  line-height: normal;
-}
-
-//
-// It's recommended that you don't attempt to style these elements.
-// Firefox's implementation doesn't respect box-sizing, padding, or width.
-//
-// 1. Address box sizing set to `content-box` in IE 8/9/10.
-// 2. Remove excess padding in IE 8/9/10.
-//
-
-input[type="checkbox"],
-input[type="radio"] {
-  box-sizing: border-box; // 1
-  padding: 0; // 2
-}
-
-//
-// Fix the cursor style for Chrome's increment/decrement buttons. For certain
-// `font-size` values of the `input`, it causes the cursor style of the
-// decrement button to change from `default` to `text`.
-//
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-//
-// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
-// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
-//
-
-input[type="search"] {
-  -webkit-appearance: textfield; // 1
-  box-sizing: content-box; //2
-}
-
-//
-// Remove inner padding and search cancel button in Safari and Chrome on OS X.
-// Safari (but not Chrome) clips the cancel button when the search input has
-// padding (and `textfield` appearance).
-//
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-//
-// Define consistent border, margin, and padding.
-//
-
-fieldset {
-  border: 1px solid #c0c0c0;
-  margin: 0 2px;
-  padding: 0.35em 0.625em 0.75em;
-}
-
-//
-// 1. Correct `color` not being inherited in IE 8/9/10/11.
-// 2. Remove padding so people aren't caught out if they zero out fieldsets.
-//
-
-legend {
-  border: 0; // 1
-  padding: 0; // 2
-}
-
-//
-// Remove default vertical scrollbar in IE 8/9/10/11.
-//
-
-textarea {
-  overflow: auto;
-}
-
-//
-// Don't inherit the `font-weight` (applied by a rule above).
-// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
-//
-
-optgroup {
-  font-weight: bold;
-}
-
-// Tables
-// ==========================================================================
-
-//
-// Remove most spacing between table cells.
-//
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-td,
-th {
-  padding: 0;
-}
diff --git a/resources/less/bootstrap/pager.less b/resources/less/bootstrap/pager.less
deleted file mode 100644
index 41abaaadc5dc605c75de869dab943599ef31fbbd..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/pager.less
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Pager pagination
-// --------------------------------------------------
-
-
-.pager {
-  padding-left: 0;
-  margin: @line-height-computed 0;
-  list-style: none;
-  text-align: center;
-  &:extend(.clearfix all);
-  li {
-    display: inline;
-    > a,
-    > span {
-      display: inline-block;
-      padding: 5px 14px;
-      background-color: @pager-bg;
-      border: 1px solid @pager-border;
-      border-radius: @pager-border-radius;
-    }
-
-    > a:hover,
-    > a:focus {
-      text-decoration: none;
-      background-color: @pager-hover-bg;
-    }
-  }
-
-  .next {
-    > a,
-    > span {
-      float: right;
-    }
-  }
-
-  .previous {
-    > a,
-    > span {
-      float: left;
-    }
-  }
-
-  .disabled {
-    > a,
-    > a:hover,
-    > a:focus,
-    > span {
-      color: @pager-disabled-color;
-      background-color: @pager-bg;
-      cursor: @cursor-disabled;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/pagination.less b/resources/less/bootstrap/pagination.less
deleted file mode 100644
index 31f77aae4ed7bff3bfaac4f3acf393cfb24ad149..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/pagination.less
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// Pagination (multiple pages)
-// --------------------------------------------------
-.pagination {
-  display: inline-block;
-  padding-left: 0;
-  margin: @line-height-computed 0;
-  border-radius: @border-radius-base;
-
-  > li {
-    display: inline; // Remove list-style and block-level defaults
-    > a,
-    > span {
-      position: relative;
-      float: left; // Collapse white-space
-      padding: @padding-base-vertical @padding-base-horizontal;
-      line-height: @line-height-base;
-      text-decoration: none;
-      color: @pagination-color;
-      background-color: @pagination-bg;
-      border: 1px solid @pagination-border;
-      margin-left: -1px;
-    }
-    &:first-child {
-      > a,
-      > span {
-        margin-left: 0;
-        .border-left-radius(@border-radius-base);
-      }
-    }
-    &:last-child {
-      > a,
-      > span {
-        .border-right-radius(@border-radius-base);
-      }
-    }
-  }
-
-  > li > a,
-  > li > span {
-    &:hover,
-    &:focus {
-      z-index: 2;
-      color: @pagination-hover-color;
-      background-color: @pagination-hover-bg;
-      border-color: @pagination-hover-border;
-    }
-  }
-
-  > .active > a,
-  > .active > span {
-    &,
-    &:hover,
-    &:focus {
-      z-index: 3;
-      color: @pagination-active-color;
-      background-color: @pagination-active-bg;
-      border-color: @pagination-active-border;
-      cursor: default;
-    }
-  }
-
-  > .disabled {
-    > span,
-    > span:hover,
-    > span:focus,
-    > a,
-    > a:hover,
-    > a:focus {
-      color: @pagination-disabled-color;
-      background-color: @pagination-disabled-bg;
-      border-color: @pagination-disabled-border;
-      cursor: @cursor-disabled;
-    }
-  }
-}
-
-// Sizing
-// --------------------------------------------------
-
-// Large
-.pagination-lg {
-  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
-}
-
-// Small
-.pagination-sm {
-  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
-}
diff --git a/resources/less/bootstrap/panels.less b/resources/less/bootstrap/panels.less
deleted file mode 100644
index 65aa3a83f34356b0cee5f2bdd61afa976172ea22..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/panels.less
+++ /dev/null
@@ -1,271 +0,0 @@
-//
-// Panels
-// --------------------------------------------------
-
-
-// Base class
-.panel {
-  margin-bottom: @line-height-computed;
-  background-color: @panel-bg;
-  border: 1px solid transparent;
-  border-radius: @panel-border-radius;
-  .box-shadow(0 1px 1px rgba(0,0,0,.05));
-}
-
-// Panel contents
-.panel-body {
-  padding: @panel-body-padding;
-  &:extend(.clearfix all);
-}
-
-// Optional heading
-.panel-heading {
-  padding: @panel-heading-padding;
-  border-bottom: 1px solid transparent;
-  .border-top-radius((@panel-border-radius - 1));
-
-  > .dropdown .dropdown-toggle {
-    color: inherit;
-  }
-}
-
-// Within heading, strip any `h*` tag of its default margins for spacing.
-.panel-title {
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: ceil((@font-size-base * 1.125));
-  color: inherit;
-
-  > a,
-  > small,
-  > .small,
-  > small > a,
-  > .small > a {
-    color: inherit;
-  }
-}
-
-// Optional footer (stays gray in every modifier class)
-.panel-footer {
-  padding: @panel-footer-padding;
-  background-color: @panel-footer-bg;
-  border-top: 1px solid @panel-inner-border;
-  .border-bottom-radius((@panel-border-radius - 1));
-}
-
-
-// List groups in panels
-//
-// By default, space out list group content from panel headings to account for
-// any kind of custom content between the two.
-
-.panel {
-  > .list-group,
-  > .panel-collapse > .list-group {
-    margin-bottom: 0;
-
-    .list-group-item {
-      border-width: 1px 0;
-      border-radius: 0;
-    }
-
-    // Add border top radius for first one
-    &:first-child {
-      .list-group-item:first-child {
-        border-top: 0;
-        .border-top-radius((@panel-border-radius - 1));
-      }
-    }
-
-    // Add border bottom radius for last one
-    &:last-child {
-      .list-group-item:last-child {
-        border-bottom: 0;
-        .border-bottom-radius((@panel-border-radius - 1));
-      }
-    }
-  }
-  > .panel-heading + .panel-collapse > .list-group {
-    .list-group-item:first-child {
-      .border-top-radius(0);
-    }
-  }
-}
-// Collapse space between when there's no additional content.
-.panel-heading + .list-group {
-  .list-group-item:first-child {
-    border-top-width: 0;
-  }
-}
-.list-group + .panel-footer {
-  border-top-width: 0;
-}
-
-// Tables in panels
-//
-// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
-// watch it go full width.
-
-.panel {
-  > .table,
-  > .table-responsive > .table,
-  > .panel-collapse > .table {
-    margin-bottom: 0;
-
-    caption {
-      padding-left: @panel-body-padding;
-      padding-right: @panel-body-padding;
-    }
-  }
-  // Add border top radius for first one
-  > .table:first-child,
-  > .table-responsive:first-child > .table:first-child {
-    .border-top-radius((@panel-border-radius - 1));
-
-    > thead:first-child,
-    > tbody:first-child {
-      > tr:first-child {
-        border-top-left-radius: (@panel-border-radius - 1);
-        border-top-right-radius: (@panel-border-radius - 1);
-
-        td:first-child,
-        th:first-child {
-          border-top-left-radius: (@panel-border-radius - 1);
-        }
-        td:last-child,
-        th:last-child {
-          border-top-right-radius: (@panel-border-radius - 1);
-        }
-      }
-    }
-  }
-  // Add border bottom radius for last one
-  > .table:last-child,
-  > .table-responsive:last-child > .table:last-child {
-    .border-bottom-radius((@panel-border-radius - 1));
-
-    > tbody:last-child,
-    > tfoot:last-child {
-      > tr:last-child {
-        border-bottom-left-radius: (@panel-border-radius - 1);
-        border-bottom-right-radius: (@panel-border-radius - 1);
-
-        td:first-child,
-        th:first-child {
-          border-bottom-left-radius: (@panel-border-radius - 1);
-        }
-        td:last-child,
-        th:last-child {
-          border-bottom-right-radius: (@panel-border-radius - 1);
-        }
-      }
-    }
-  }
-  > .panel-body + .table,
-  > .panel-body + .table-responsive,
-  > .table + .panel-body,
-  > .table-responsive + .panel-body {
-    border-top: 1px solid @table-border-color;
-  }
-  > .table > tbody:first-child > tr:first-child th,
-  > .table > tbody:first-child > tr:first-child td {
-    border-top: 0;
-  }
-  > .table-bordered,
-  > .table-responsive > .table-bordered {
-    border: 0;
-    > thead,
-    > tbody,
-    > tfoot {
-      > tr {
-        > th:first-child,
-        > td:first-child {
-          border-left: 0;
-        }
-        > th:last-child,
-        > td:last-child {
-          border-right: 0;
-        }
-      }
-    }
-    > thead,
-    > tbody {
-      > tr:first-child {
-        > td,
-        > th {
-          border-bottom: 0;
-        }
-      }
-    }
-    > tbody,
-    > tfoot {
-      > tr:last-child {
-        > td,
-        > th {
-          border-bottom: 0;
-        }
-      }
-    }
-  }
-  > .table-responsive {
-    border: 0;
-    margin-bottom: 0;
-  }
-}
-
-
-// Collapsible panels (aka, accordion)
-//
-// Wrap a series of panels in `.panel-group` to turn them into an accordion with
-// the help of our collapse JavaScript plugin.
-
-.panel-group {
-  margin-bottom: @line-height-computed;
-
-  // Tighten up margin so it's only between panels
-  .panel {
-    margin-bottom: 0;
-    border-radius: @panel-border-radius;
-
-    + .panel {
-      margin-top: 5px;
-    }
-  }
-
-  .panel-heading {
-    border-bottom: 0;
-
-    + .panel-collapse > .panel-body,
-    + .panel-collapse > .list-group {
-      border-top: 1px solid @panel-inner-border;
-    }
-  }
-
-  .panel-footer {
-    border-top: 0;
-    + .panel-collapse .panel-body {
-      border-bottom: 1px solid @panel-inner-border;
-    }
-  }
-}
-
-
-// Contextual variations
-.panel-default {
-  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
-}
-.panel-primary {
-  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
-}
-.panel-success {
-  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
-}
-.panel-info {
-  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
-}
-.panel-warning {
-  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
-}
-.panel-danger {
-  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
-}
diff --git a/resources/less/bootstrap/popovers.less b/resources/less/bootstrap/popovers.less
deleted file mode 100644
index 3a62a6455ac11c91fc20d63db2f49b9a7d872c15..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/popovers.less
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// Popovers
-// --------------------------------------------------
-
-
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: @zindex-popover;
-  display: none;
-  max-width: @popover-max-width;
-  padding: 1px;
-  // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.
-  // So reset our font and text properties to avoid inheriting weird values.
-  .reset-text();
-  font-size: @font-size-base;
-
-  background-color: @popover-bg;
-  background-clip: padding-box;
-  border: 1px solid @popover-fallback-border-color;
-  border: 1px solid @popover-border-color;
-  border-radius: @border-radius-large;
-  .box-shadow(0 5px 10px rgba(0,0,0,.2));
-
-  // Offset the popover to account for the popover arrow
-  &.top     { margin-top: -@popover-arrow-width; }
-  &.right   { margin-left: @popover-arrow-width; }
-  &.bottom  { margin-top: @popover-arrow-width; }
-  &.left    { margin-left: -@popover-arrow-width; }
-}
-
-.popover-title {
-  margin: 0; // reset heading margin
-  padding: 8px 14px;
-  font-size: @font-size-base;
-  background-color: @popover-title-bg;
-  border-bottom: 1px solid darken(@popover-title-bg, 5%);
-  border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;
-}
-
-.popover-content {
-  padding: 9px 14px;
-}
-
-// Arrows
-//
-// .arrow is outer, .arrow:after is inner
-
-.popover > .arrow {
-  &,
-  &:after {
-    position: absolute;
-    display: block;
-    width: 0;
-    height: 0;
-    border-color: transparent;
-    border-style: solid;
-  }
-}
-.popover > .arrow {
-  border-width: @popover-arrow-outer-width;
-}
-.popover > .arrow:after {
-  border-width: @popover-arrow-width;
-  content: "";
-}
-
-.popover {
-  &.top > .arrow {
-    left: 50%;
-    margin-left: -@popover-arrow-outer-width;
-    border-bottom-width: 0;
-    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
-    border-top-color: @popover-arrow-outer-color;
-    bottom: -@popover-arrow-outer-width;
-    &:after {
-      content: " ";
-      bottom: 1px;
-      margin-left: -@popover-arrow-width;
-      border-bottom-width: 0;
-      border-top-color: @popover-arrow-color;
-    }
-  }
-  &.right > .arrow {
-    top: 50%;
-    left: -@popover-arrow-outer-width;
-    margin-top: -@popover-arrow-outer-width;
-    border-left-width: 0;
-    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
-    border-right-color: @popover-arrow-outer-color;
-    &:after {
-      content: " ";
-      left: 1px;
-      bottom: -@popover-arrow-width;
-      border-left-width: 0;
-      border-right-color: @popover-arrow-color;
-    }
-  }
-  &.bottom > .arrow {
-    left: 50%;
-    margin-left: -@popover-arrow-outer-width;
-    border-top-width: 0;
-    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
-    border-bottom-color: @popover-arrow-outer-color;
-    top: -@popover-arrow-outer-width;
-    &:after {
-      content: " ";
-      top: 1px;
-      margin-left: -@popover-arrow-width;
-      border-top-width: 0;
-      border-bottom-color: @popover-arrow-color;
-    }
-  }
-
-  &.left > .arrow {
-    top: 50%;
-    right: -@popover-arrow-outer-width;
-    margin-top: -@popover-arrow-outer-width;
-    border-right-width: 0;
-    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
-    border-left-color: @popover-arrow-outer-color;
-    &:after {
-      content: " ";
-      right: 1px;
-      border-right-width: 0;
-      border-left-color: @popover-arrow-color;
-      bottom: -@popover-arrow-width;
-    }
-  }
-}
diff --git a/resources/less/bootstrap/print.less b/resources/less/bootstrap/print.less
deleted file mode 100644
index 66e54ab489ea278cab3ac847d59449b9bcea9020..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/print.less
+++ /dev/null
@@ -1,101 +0,0 @@
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
-
-// ==========================================================================
-// Print styles.
-// Inlined to avoid the additional HTTP request: h5bp.com/r
-// ==========================================================================
-
-@media print {
-    *,
-    *:before,
-    *:after {
-        background: transparent !important;
-        color: #000 !important; // Black prints faster: h5bp.com/s
-        box-shadow: none !important;
-        text-shadow: none !important;
-    }
-
-    a,
-    a:visited {
-        text-decoration: underline;
-    }
-
-    a[href]:after {
-        content: " (" attr(href) ")";
-    }
-
-    abbr[title]:after {
-        content: " (" attr(title) ")";
-    }
-
-    // Don't show links that are fragment identifiers,
-    // or use the `javascript:` pseudo protocol
-    a[href^="#"]:after,
-    a[href^="javascript:"]:after {
-        content: "";
-    }
-
-    pre,
-    blockquote {
-        border: 1px solid #999;
-        page-break-inside: avoid;
-    }
-
-    thead {
-        display: table-header-group; // h5bp.com/t
-    }
-
-    tr,
-    img {
-        page-break-inside: avoid;
-    }
-
-    img {
-        max-width: 100% !important;
-    }
-
-    p,
-    h2,
-    h3 {
-        orphans: 3;
-        widows: 3;
-    }
-
-    h2,
-    h3 {
-        page-break-after: avoid;
-    }
-
-    // Bootstrap specific changes start
-
-    // Bootstrap components
-    .navbar {
-        display: none;
-    }
-    .btn,
-    .dropup > .btn {
-        > .caret {
-            border-top-color: #000 !important;
-        }
-    }
-    .label {
-        border: 1px solid #000;
-    }
-
-    .table {
-        border-collapse: collapse !important;
-
-        td,
-        th {
-            background-color: #fff !important;
-        }
-    }
-    .table-bordered {
-        th,
-        td {
-            border: 1px solid #ddd !important;
-        }
-    }
-
-    // Bootstrap specific changes end
-}
diff --git a/resources/less/bootstrap/progress-bars.less b/resources/less/bootstrap/progress-bars.less
deleted file mode 100644
index 8868a1feef0f3a7a4b0fabe7548435bfeb481df2..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/progress-bars.less
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-// Progress bars
-// --------------------------------------------------
-
-
-// Bar animations
-// -------------------------
-
-// WebKit
-@-webkit-keyframes progress-bar-stripes {
-  from  { background-position: 40px 0; }
-  to    { background-position: 0 0; }
-}
-
-// Spec and IE10+
-@keyframes progress-bar-stripes {
-  from  { background-position: 40px 0; }
-  to    { background-position: 0 0; }
-}
-
-
-// Bar itself
-// -------------------------
-
-// Outer container
-.progress {
-  overflow: hidden;
-  height: @line-height-computed;
-  margin-bottom: @line-height-computed;
-  background-color: @progress-bg;
-  border-radius: @progress-border-radius;
-  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
-}
-
-// Bar of progress
-.progress-bar {
-  float: left;
-  width: 0%;
-  height: 100%;
-  font-size: @font-size-small;
-  line-height: @line-height-computed;
-  color: @progress-bar-color;
-  text-align: center;
-  background-color: @progress-bar-bg;
-  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
-  .transition(width .6s ease);
-}
-
-// Striped bars
-//
-// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
-// `.progress-bar-striped` class, which you just add to an existing
-// `.progress-bar`.
-.progress-striped .progress-bar,
-.progress-bar-striped {
-  #gradient > .striped();
-  background-size: 40px 40px;
-}
-
-// Call animation for the active one
-//
-// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
-// `.progress-bar.active` approach.
-.progress.active .progress-bar,
-.progress-bar.active {
-  .animation(progress-bar-stripes 2s linear infinite);
-}
-
-
-// Variations
-// -------------------------
-
-.progress-bar-success {
-  .progress-bar-variant(@progress-bar-success-bg);
-}
-
-.progress-bar-info {
-  .progress-bar-variant(@progress-bar-info-bg);
-}
-
-.progress-bar-warning {
-  .progress-bar-variant(@progress-bar-warning-bg);
-}
-
-.progress-bar-danger {
-  .progress-bar-variant(@progress-bar-danger-bg);
-}
diff --git a/resources/less/bootstrap/responsive-embed.less b/resources/less/bootstrap/responsive-embed.less
deleted file mode 100644
index 080a5118fe9ab2af331e6b1444fff4be840ecc03..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/responsive-embed.less
+++ /dev/null
@@ -1,35 +0,0 @@
-// Embeds responsive
-//
-// Credit: Nicolas Gallagher and SUIT CSS.
-
-.embed-responsive {
-  position: relative;
-  display: block;
-  height: 0;
-  padding: 0;
-  overflow: hidden;
-
-  .embed-responsive-item,
-  iframe,
-  embed,
-  object,
-  video {
-    position: absolute;
-    top: 0;
-    left: 0;
-    bottom: 0;
-    height: 100%;
-    width: 100%;
-    border: 0;
-  }
-}
-
-// Modifier class for 16:9 aspect ratio
-.embed-responsive-16by9 {
-  padding-bottom: 56.25%;
-}
-
-// Modifier class for 4:3 aspect ratio
-.embed-responsive-4by3 {
-  padding-bottom: 75%;
-}
diff --git a/resources/less/bootstrap/responsive-utilities.less b/resources/less/bootstrap/responsive-utilities.less
deleted file mode 100644
index b1db31d7bfc19a757d02fd773db765c4273549a1..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/responsive-utilities.less
+++ /dev/null
@@ -1,194 +0,0 @@
-//
-// Responsive: Utility classes
-// --------------------------------------------------
-
-
-// IE10 in Windows (Phone) 8
-//
-// Support for responsive views via media queries is kind of borked in IE10, for
-// Surface/desktop in split view and for Windows Phone 8. This particular fix
-// must be accompanied by a snippet of JavaScript to sniff the user agent and
-// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
-// our Getting Started page for more information on this bug.
-//
-// For more information, see the following:
-//
-// Issue: https://github.com/twbs/bootstrap/issues/10497
-// Docs: http://getbootstrap.com/getting-started/#support-ie10-width
-// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
-// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
-
-@-ms-viewport {
-  width: device-width;
-}
-
-
-// Visibility utilities
-// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
-.visible-xs,
-.visible-sm,
-.visible-md,
-.visible-lg {
-  .responsive-invisibility();
-}
-
-.visible-xs-block,
-.visible-xs-inline,
-.visible-xs-inline-block,
-.visible-sm-block,
-.visible-sm-inline,
-.visible-sm-inline-block,
-.visible-md-block,
-.visible-md-inline,
-.visible-md-inline-block,
-.visible-lg-block,
-.visible-lg-inline,
-.visible-lg-inline-block {
-  display: none !important;
-}
-
-.visible-xs {
-  @media (max-width: @screen-xs-max) {
-    .responsive-visibility();
-  }
-}
-.visible-xs-block {
-  @media (max-width: @screen-xs-max) {
-    display: block !important;
-  }
-}
-.visible-xs-inline {
-  @media (max-width: @screen-xs-max) {
-    display: inline !important;
-  }
-}
-.visible-xs-inline-block {
-  @media (max-width: @screen-xs-max) {
-    display: inline-block !important;
-  }
-}
-
-.visible-sm {
-  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-    .responsive-visibility();
-  }
-}
-.visible-sm-block {
-  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-    display: block !important;
-  }
-}
-.visible-sm-inline {
-  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-    display: inline !important;
-  }
-}
-.visible-sm-inline-block {
-  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-    display: inline-block !important;
-  }
-}
-
-.visible-md {
-  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
-    .responsive-visibility();
-  }
-}
-.visible-md-block {
-  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
-    display: block !important;
-  }
-}
-.visible-md-inline {
-  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
-    display: inline !important;
-  }
-}
-.visible-md-inline-block {
-  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
-    display: inline-block !important;
-  }
-}
-
-.visible-lg {
-  @media (min-width: @screen-lg-min) {
-    .responsive-visibility();
-  }
-}
-.visible-lg-block {
-  @media (min-width: @screen-lg-min) {
-    display: block !important;
-  }
-}
-.visible-lg-inline {
-  @media (min-width: @screen-lg-min) {
-    display: inline !important;
-  }
-}
-.visible-lg-inline-block {
-  @media (min-width: @screen-lg-min) {
-    display: inline-block !important;
-  }
-}
-
-.hidden-xs {
-  @media (max-width: @screen-xs-max) {
-    .responsive-invisibility();
-  }
-}
-.hidden-sm {
-  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-    .responsive-invisibility();
-  }
-}
-.hidden-md {
-  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
-    .responsive-invisibility();
-  }
-}
-.hidden-lg {
-  @media (min-width: @screen-lg-min) {
-    .responsive-invisibility();
-  }
-}
-
-
-// Print utilities
-//
-// Media queries are placed on the inside to be mixin-friendly.
-
-// Note: Deprecated .visible-print as of v3.2.0
-.visible-print {
-  .responsive-invisibility();
-
-  @media print {
-    .responsive-visibility();
-  }
-}
-.visible-print-block {
-  display: none !important;
-
-  @media print {
-    display: block !important;
-  }
-}
-.visible-print-inline {
-  display: none !important;
-
-  @media print {
-    display: inline !important;
-  }
-}
-.visible-print-inline-block {
-  display: none !important;
-
-  @media print {
-    display: inline-block !important;
-  }
-}
-
-.hidden-print {
-  @media print {
-    .responsive-invisibility();
-  }
-}
diff --git a/resources/less/bootstrap/scaffolding.less b/resources/less/bootstrap/scaffolding.less
deleted file mode 100644
index 64a29c6a5e7f20920a7ab41baefdf342830be881..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/scaffolding.less
+++ /dev/null
@@ -1,161 +0,0 @@
-//
-// Scaffolding
-// --------------------------------------------------
-
-
-// Reset the box-sizing
-//
-// Heads up! This reset may cause conflicts with some third-party widgets.
-// For recommendations on resolving such conflicts, see
-// http://getbootstrap.com/getting-started/#third-box-sizing
-* {
-  .box-sizing(border-box);
-}
-*:before,
-*:after {
-  .box-sizing(border-box);
-}
-
-
-// Body reset
-
-html {
-  font-size: 10px;
-  -webkit-tap-highlight-color: rgba(0,0,0,0);
-}
-
-body {
-  font-family: @font-family-base;
-  font-size: @font-size-base;
-  line-height: @line-height-base;
-  color: @text-color;
-  background-color: @body-bg;
-}
-
-// Reset fonts for relevant elements
-input,
-button,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-
-
-// Links
-
-a {
-  color: @link-color;
-  text-decoration: none;
-
-  &:hover,
-  &:focus {
-    color: @link-hover-color;
-    text-decoration: @link-hover-decoration;
-  }
-
-  &:focus {
-    .tab-focus();
-  }
-}
-
-
-// Figures
-//
-// We reset this here because previously Normalize had no `figure` margins. This
-// ensures we don't break anyone's use of the element.
-
-figure {
-  margin: 0;
-}
-
-
-// Images
-
-img {
-  vertical-align: middle;
-}
-
-// Responsive images (ensure images don't scale beyond their parents)
-.img-responsive {
-  .img-responsive();
-}
-
-// Rounded corners
-.img-rounded {
-  border-radius: @border-radius-large;
-}
-
-// Image thumbnails
-//
-// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
-.img-thumbnail {
-  padding: @thumbnail-padding;
-  line-height: @line-height-base;
-  background-color: @thumbnail-bg;
-  border: 1px solid @thumbnail-border;
-  border-radius: @thumbnail-border-radius;
-  .transition(all .2s ease-in-out);
-
-  // Keep them at most 100% wide
-  .img-responsive(inline-block);
-}
-
-// Perfect circle
-.img-circle {
-  border-radius: 50%; // set radius in percents
-}
-
-
-// Horizontal rules
-
-hr {
-  margin-top:    @line-height-computed;
-  margin-bottom: @line-height-computed;
-  border: 0;
-  border-top: 1px solid @hr-border;
-}
-
-
-// Only display content to screen readers
-//
-// See: http://a11yproject.com/posts/how-to-hide-content
-
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  margin: -1px;
-  padding: 0;
-  overflow: hidden;
-  clip: rect(0,0,0,0);
-  border: 0;
-}
-
-// Use in conjunction with .sr-only to only display content when it's focused.
-// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
-// Credit: HTML5 Boilerplate
-
-.sr-only-focusable {
-  &:active,
-  &:focus {
-    position: static;
-    width: auto;
-    height: auto;
-    margin: 0;
-    overflow: visible;
-    clip: auto;
-  }
-}
-
-
-// iOS "clickable elements" fix for role="button"
-//
-// Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
-// for traditionally non-focusable elements with role="button"
-// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
-
-[role="button"] {
-  cursor: pointer;
-}
diff --git a/resources/less/bootstrap/tables.less b/resources/less/bootstrap/tables.less
deleted file mode 100644
index 2242c036868d7358ad684313ccab2e4d4704ee94..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/tables.less
+++ /dev/null
@@ -1,234 +0,0 @@
-//
-// Tables
-// --------------------------------------------------
-
-
-table {
-  background-color: @table-bg;
-}
-caption {
-  padding-top: @table-cell-padding;
-  padding-bottom: @table-cell-padding;
-  color: @text-muted;
-  text-align: left;
-}
-th {
-  text-align: left;
-}
-
-
-// Baseline styles
-
-.table {
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: @line-height-computed;
-  // Cells
-  > thead,
-  > tbody,
-  > tfoot {
-    > tr {
-      > th,
-      > td {
-        padding: @table-cell-padding;
-        line-height: @line-height-base;
-        vertical-align: top;
-        border-top: 1px solid @table-border-color;
-      }
-    }
-  }
-  // Bottom align for column headings
-  > thead > tr > th {
-    vertical-align: bottom;
-    border-bottom: 2px solid @table-border-color;
-  }
-  // Remove top border from thead by default
-  > caption + thead,
-  > colgroup + thead,
-  > thead:first-child {
-    > tr:first-child {
-      > th,
-      > td {
-        border-top: 0;
-      }
-    }
-  }
-  // Account for multiple tbody instances
-  > tbody + tbody {
-    border-top: 2px solid @table-border-color;
-  }
-
-  // Nesting
-  .table {
-    background-color: @body-bg;
-  }
-}
-
-
-// Condensed table w/ half padding
-
-.table-condensed {
-  > thead,
-  > tbody,
-  > tfoot {
-    > tr {
-      > th,
-      > td {
-        padding: @table-condensed-cell-padding;
-      }
-    }
-  }
-}
-
-
-// Bordered version
-//
-// Add borders all around the table and between all the columns.
-
-.table-bordered {
-  border: 1px solid @table-border-color;
-  > thead,
-  > tbody,
-  > tfoot {
-    > tr {
-      > th,
-      > td {
-        border: 1px solid @table-border-color;
-      }
-    }
-  }
-  > thead > tr {
-    > th,
-    > td {
-      border-bottom-width: 2px;
-    }
-  }
-}
-
-
-// Zebra-striping
-//
-// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-
-.table-striped {
-  > tbody > tr:nth-of-type(odd) {
-    background-color: @table-bg-accent;
-  }
-}
-
-
-// Hover effect
-//
-// Placed here since it has to come after the potential zebra striping
-
-.table-hover {
-  > tbody > tr:hover {
-    background-color: @table-bg-hover;
-  }
-}
-
-
-// Table cell sizing
-//
-// Reset default table behavior
-
-table col[class*="col-"] {
-  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
-  float: none;
-  display: table-column;
-}
-table {
-  td,
-  th {
-    &[class*="col-"] {
-      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
-      float: none;
-      display: table-cell;
-    }
-  }
-}
-
-
-// Table backgrounds
-//
-// Exact selectors below required to override `.table-striped` and prevent
-// inheritance to nested tables.
-
-// Generate the contextual variants
-.table-row-variant(active; @table-bg-active);
-.table-row-variant(success; @state-success-bg);
-.table-row-variant(info; @state-info-bg);
-.table-row-variant(warning; @state-warning-bg);
-.table-row-variant(danger; @state-danger-bg);
-
-
-// Responsive tables
-//
-// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
-// by enabling horizontal scrolling. Only applies <768px. Everything above that
-// will display normally.
-
-.table-responsive {
-  overflow-x: auto;
-  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
-
-  @media screen and (max-width: @screen-xs-max) {
-    width: 100%;
-    margin-bottom: (@line-height-computed * 0.75);
-    overflow-y: hidden;
-    -ms-overflow-style: -ms-autohiding-scrollbar;
-    border: 1px solid @table-border-color;
-
-    // Tighten up spacing
-    > .table {
-      margin-bottom: 0;
-
-      // Ensure the content doesn't wrap
-      > thead,
-      > tbody,
-      > tfoot {
-        > tr {
-          > th,
-          > td {
-            white-space: nowrap;
-          }
-        }
-      }
-    }
-
-    // Special overrides for the bordered tables
-    > .table-bordered {
-      border: 0;
-
-      // Nuke the appropriate borders so that the parent can handle them
-      > thead,
-      > tbody,
-      > tfoot {
-        > tr {
-          > th:first-child,
-          > td:first-child {
-            border-left: 0;
-          }
-          > th:last-child,
-          > td:last-child {
-            border-right: 0;
-          }
-        }
-      }
-
-      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
-      // chances are there will be only one `tr` in a `thead` and that would
-      // remove the border altogether.
-      > tbody,
-      > tfoot {
-        > tr:last-child {
-          > th,
-          > td {
-            border-bottom: 0;
-          }
-        }
-      }
-
-    }
-  }
-}
diff --git a/resources/less/bootstrap/theme.less b/resources/less/bootstrap/theme.less
deleted file mode 100644
index fb6174427ba296a62cc334a24a618dcac0700505..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/theme.less
+++ /dev/null
@@ -1,291 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-//
-// Load core variables and mixins
-// --------------------------------------------------
-
-@import "variables.less";
-@import "mixins.less";
-
-
-//
-// Buttons
-// --------------------------------------------------
-
-// Common styles
-.btn-default,
-.btn-primary,
-.btn-success,
-.btn-info,
-.btn-warning,
-.btn-danger {
-  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
-  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
-  .box-shadow(@shadow);
-
-  // Reset the shadow
-  &:active,
-  &.active {
-    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
-  }
-
-  &.disabled,
-  &[disabled],
-  fieldset[disabled] & {
-    .box-shadow(none);
-  }
-
-  .badge {
-    text-shadow: none;
-  }
-}
-
-// Mixin for generating new styles
-.btn-styles(@btn-color: #555) {
-  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
-  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620
-  background-repeat: repeat-x;
-  border-color: darken(@btn-color, 14%);
-
-  &:hover,
-  &:focus  {
-    background-color: darken(@btn-color, 12%);
-    background-position: 0 -15px;
-  }
-
-  &:active,
-  &.active {
-    background-color: darken(@btn-color, 12%);
-    border-color: darken(@btn-color, 14%);
-  }
-
-  &.disabled,
-  &[disabled],
-  fieldset[disabled] & {
-    &,
-    &:hover,
-    &:focus,
-    &.focus,
-    &:active,
-    &.active {
-      background-color: darken(@btn-color, 12%);
-      background-image: none;
-    }
-  }
-}
-
-// Common styles
-.btn {
-  // Remove the gradient for the pressed/active state
-  &:active,
-  &.active {
-    background-image: none;
-  }
-}
-
-// Apply the mixin to the buttons
-.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
-.btn-primary { .btn-styles(@btn-primary-bg); }
-.btn-success { .btn-styles(@btn-success-bg); }
-.btn-info    { .btn-styles(@btn-info-bg); }
-.btn-warning { .btn-styles(@btn-warning-bg); }
-.btn-danger  { .btn-styles(@btn-danger-bg); }
-
-
-//
-// Images
-// --------------------------------------------------
-
-.thumbnail,
-.img-thumbnail {
-  .box-shadow(0 1px 2px rgba(0,0,0,.075));
-}
-
-
-//
-// Dropdowns
-// --------------------------------------------------
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
-  background-color: darken(@dropdown-link-hover-bg, 5%);
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
-  background-color: darken(@dropdown-link-active-bg, 5%);
-}
-
-
-//
-// Navbar
-// --------------------------------------------------
-
-// Default navbar
-.navbar-default {
-  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
-  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
-  border-radius: @navbar-border-radius;
-  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
-  .box-shadow(@shadow);
-
-  .navbar-nav > .open > a,
-  .navbar-nav > .active > a {
-    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));
-    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
-  }
-}
-.navbar-brand,
-.navbar-nav > li > a {
-  text-shadow: 0 1px 0 rgba(255,255,255,.25);
-}
-
-// Inverted navbar
-.navbar-inverse {
-  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
-  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
-  border-radius: @navbar-border-radius;
-  .navbar-nav > .open > a,
-  .navbar-nav > .active > a {
-    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));
-    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
-  }
-
-  .navbar-brand,
-  .navbar-nav > li > a {
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  }
-}
-
-// Undo rounded corners in static and fixed navbars
-.navbar-static-top,
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  border-radius: 0;
-}
-
-// Fix active state of dropdown items in collapsed mode
-@media (max-width: @grid-float-breakpoint-max) {
-  .navbar .navbar-nav .open .dropdown-menu > .active > a {
-    &,
-    &:hover,
-    &:focus {
-      color: #fff;
-      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
-    }
-  }
-}
-
-
-//
-// Alerts
-// --------------------------------------------------
-
-// Common styles
-.alert {
-  text-shadow: 0 1px 0 rgba(255,255,255,.2);
-  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(@shadow);
-}
-
-// Mixin for generating new styles
-.alert-styles(@color) {
-  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
-  border-color: darken(@color, 15%);
-}
-
-// Apply the mixin to the alerts
-.alert-success    { .alert-styles(@alert-success-bg); }
-.alert-info       { .alert-styles(@alert-info-bg); }
-.alert-warning    { .alert-styles(@alert-warning-bg); }
-.alert-danger     { .alert-styles(@alert-danger-bg); }
-
-
-//
-// Progress bars
-// --------------------------------------------------
-
-// Give the progress background some depth
-.progress {
-  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
-}
-
-// Mixin for generating new styles
-.progress-bar-styles(@color) {
-  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
-}
-
-// Apply the mixin to the progress bars
-.progress-bar            { .progress-bar-styles(@progress-bar-bg); }
-.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }
-.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }
-.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }
-.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }
-
-// Reset the striped class because our mixins don't do multiple gradients and
-// the above custom styles override the new `.progress-bar-striped` in v3.2.0.
-.progress-bar-striped {
-  #gradient > .striped();
-}
-
-
-//
-// List groups
-// --------------------------------------------------
-
-.list-group {
-  border-radius: @border-radius-base;
-  .box-shadow(0 1px 2px rgba(0,0,0,.075));
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
-  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
-  border-color: darken(@list-group-active-border, 7.5%);
-
-  .badge {
-    text-shadow: none;
-  }
-}
-
-
-//
-// Panels
-// --------------------------------------------------
-
-// Common styles
-.panel {
-  .box-shadow(0 1px 2px rgba(0,0,0,.05));
-}
-
-// Mixin for generating new styles
-.panel-heading-styles(@color) {
-  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
-}
-
-// Apply the mixin to the panel headings only
-.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }
-.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }
-.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }
-.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }
-.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }
-.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }
-
-
-//
-// Wells
-// --------------------------------------------------
-
-.well {
-  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
-  border-color: darken(@well-bg, 10%);
-  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
-  .box-shadow(@shadow);
-}
diff --git a/resources/less/bootstrap/thumbnails.less b/resources/less/bootstrap/thumbnails.less
deleted file mode 100644
index 0713e67d0068e9553c5e21bb6024122029cce520..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/thumbnails.less
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Thumbnails
-// --------------------------------------------------
-
-
-// Mixin and adjust the regular image class
-.thumbnail {
-  display: block;
-  padding: @thumbnail-padding;
-  margin-bottom: @line-height-computed;
-  line-height: @line-height-base;
-  background-color: @thumbnail-bg;
-  border: 1px solid @thumbnail-border;
-  border-radius: @thumbnail-border-radius;
-  .transition(border .2s ease-in-out);
-
-  > img,
-  a > img {
-    &:extend(.img-responsive);
-    margin-left: auto;
-    margin-right: auto;
-  }
-
-  // Add a hover state for linked versions only
-  a&:hover,
-  a&:focus,
-  a&.active {
-    border-color: @link-color;
-  }
-
-  // Image captions
-  .caption {
-    padding: @thumbnail-caption-padding;
-    color: @thumbnail-caption-color;
-  }
-}
diff --git a/resources/less/bootstrap/tooltip.less b/resources/less/bootstrap/tooltip.less
deleted file mode 100644
index b48d63e07ad880200cafb5c110acfc14e76ea7cf..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/tooltip.less
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-// Tooltips
-// --------------------------------------------------
-
-
-// Base class
-.tooltip {
-  position: absolute;
-  z-index: @zindex-tooltip;
-  display: block;
-  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
-  // So reset our font and text properties to avoid inheriting weird values.
-  .reset-text();
-  font-size: @font-size-small;
-
-  .opacity(0);
-
-  &.in     { .opacity(@tooltip-opacity); }
-  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }
-  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }
-  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }
-  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
-}
-
-// Wrapper for the tooltip content
-.tooltip-inner {
-  max-width: @tooltip-max-width;
-  padding: 3px 8px;
-  color: @tooltip-color;
-  text-align: center;
-  background-color: @tooltip-bg;
-  border-radius: @border-radius-base;
-}
-
-// Arrows
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1
-.tooltip {
-  &.top .tooltip-arrow {
-    bottom: 0;
-    left: 50%;
-    margin-left: -@tooltip-arrow-width;
-    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
-    border-top-color: @tooltip-arrow-color;
-  }
-  &.top-left .tooltip-arrow {
-    bottom: 0;
-    right: @tooltip-arrow-width;
-    margin-bottom: -@tooltip-arrow-width;
-    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
-    border-top-color: @tooltip-arrow-color;
-  }
-  &.top-right .tooltip-arrow {
-    bottom: 0;
-    left: @tooltip-arrow-width;
-    margin-bottom: -@tooltip-arrow-width;
-    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
-    border-top-color: @tooltip-arrow-color;
-  }
-  &.right .tooltip-arrow {
-    top: 50%;
-    left: 0;
-    margin-top: -@tooltip-arrow-width;
-    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
-    border-right-color: @tooltip-arrow-color;
-  }
-  &.left .tooltip-arrow {
-    top: 50%;
-    right: 0;
-    margin-top: -@tooltip-arrow-width;
-    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
-    border-left-color: @tooltip-arrow-color;
-  }
-  &.bottom .tooltip-arrow {
-    top: 0;
-    left: 50%;
-    margin-left: -@tooltip-arrow-width;
-    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
-    border-bottom-color: @tooltip-arrow-color;
-  }
-  &.bottom-left .tooltip-arrow {
-    top: 0;
-    right: @tooltip-arrow-width;
-    margin-top: -@tooltip-arrow-width;
-    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
-    border-bottom-color: @tooltip-arrow-color;
-  }
-  &.bottom-right .tooltip-arrow {
-    top: 0;
-    left: @tooltip-arrow-width;
-    margin-top: -@tooltip-arrow-width;
-    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
-    border-bottom-color: @tooltip-arrow-color;
-  }
-}
diff --git a/resources/less/bootstrap/type.less b/resources/less/bootstrap/type.less
deleted file mode 100644
index 0d4fee48486eaaa946e42f0335af6789fcf2a8d8..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/type.less
+++ /dev/null
@@ -1,302 +0,0 @@
-//
-// Typography
-// --------------------------------------------------
-
-
-// Headings
-// -------------------------
-
-h1, h2, h3, h4, h5, h6,
-.h1, .h2, .h3, .h4, .h5, .h6 {
-  font-family: @headings-font-family;
-  font-weight: @headings-font-weight;
-  line-height: @headings-line-height;
-  color: @headings-color;
-
-  small,
-  .small {
-    font-weight: normal;
-    line-height: 1;
-    color: @headings-small-color;
-  }
-}
-
-h1, .h1,
-h2, .h2,
-h3, .h3 {
-  margin-top: @line-height-computed;
-  margin-bottom: (@line-height-computed / 2);
-
-  small,
-  .small {
-    font-size: 65%;
-  }
-}
-h4, .h4,
-h5, .h5,
-h6, .h6 {
-  margin-top: (@line-height-computed / 2);
-  margin-bottom: (@line-height-computed / 2);
-
-  small,
-  .small {
-    font-size: 75%;
-  }
-}
-
-h1, .h1 { font-size: @font-size-h1; }
-h2, .h2 { font-size: @font-size-h2; }
-h3, .h3 { font-size: @font-size-h3; }
-h4, .h4 { font-size: @font-size-h4; }
-h5, .h5 { font-size: @font-size-h5; }
-h6, .h6 { font-size: @font-size-h6; }
-
-
-// Body text
-// -------------------------
-
-p {
-  margin: 0 0 (@line-height-computed / 2);
-}
-
-.lead {
-  margin-bottom: @line-height-computed;
-  font-size: floor((@font-size-base * 1.15));
-  font-weight: 300;
-  line-height: 1.4;
-
-  @media (min-width: @screen-sm-min) {
-    font-size: (@font-size-base * 1.5);
-  }
-}
-
-
-// Emphasis & misc
-// -------------------------
-
-// Ex: (12px small font / 14px base font) * 100% = about 85%
-small,
-.small {
-  font-size: floor((100% * @font-size-small / @font-size-base));
-}
-
-mark,
-.mark {
-  background-color: @state-warning-bg;
-  padding: .2em;
-}
-
-// Alignment
-.text-left           { text-align: left; }
-.text-right          { text-align: right; }
-.text-center         { text-align: center; }
-.text-justify        { text-align: justify; }
-.text-nowrap         { white-space: nowrap; }
-
-// Transformation
-.text-lowercase      { text-transform: lowercase; }
-.text-uppercase      { text-transform: uppercase; }
-.text-capitalize     { text-transform: capitalize; }
-
-// Contextual colors
-.text-muted {
-  color: @text-muted;
-}
-.text-primary {
-  .text-emphasis-variant(@brand-primary);
-}
-.text-success {
-  .text-emphasis-variant(@state-success-text);
-}
-.text-info {
-  .text-emphasis-variant(@state-info-text);
-}
-.text-warning {
-  .text-emphasis-variant(@state-warning-text);
-}
-.text-danger {
-  .text-emphasis-variant(@state-danger-text);
-}
-
-// Contextual backgrounds
-// For now we'll leave these alongside the text classes until v4 when we can
-// safely shift things around (per SemVer rules).
-.bg-primary {
-  // Given the contrast here, this is the only class to have its color inverted
-  // automatically.
-  color: #fff;
-  .bg-variant(@brand-primary);
-}
-.bg-success {
-  .bg-variant(@state-success-bg);
-}
-.bg-info {
-  .bg-variant(@state-info-bg);
-}
-.bg-warning {
-  .bg-variant(@state-warning-bg);
-}
-.bg-danger {
-  .bg-variant(@state-danger-bg);
-}
-
-
-// Page header
-// -------------------------
-
-.page-header {
-  padding-bottom: ((@line-height-computed / 2) - 1);
-  margin: (@line-height-computed * 2) 0 @line-height-computed;
-  border-bottom: 1px solid @page-header-border-color;
-}
-
-
-// Lists
-// -------------------------
-
-// Unordered and Ordered lists
-ul,
-ol {
-  margin-top: 0;
-  margin-bottom: (@line-height-computed / 2);
-  ul,
-  ol {
-    margin-bottom: 0;
-  }
-}
-
-// List options
-
-// Unstyled keeps list items block level, just removes default browser padding and list-style
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-
-// Inline turns list items into inline-block
-.list-inline {
-  .list-unstyled();
-  margin-left: -5px;
-
-  > li {
-    display: inline-block;
-    padding-left: 5px;
-    padding-right: 5px;
-  }
-}
-
-// Description Lists
-dl {
-  margin-top: 0; // Remove browser default
-  margin-bottom: @line-height-computed;
-}
-dt,
-dd {
-  line-height: @line-height-base;
-}
-dt {
-  font-weight: bold;
-}
-dd {
-  margin-left: 0; // Undo browser default
-}
-
-// Horizontal description lists
-//
-// Defaults to being stacked without any of the below styles applied, until the
-// grid breakpoint is reached (default of ~768px).
-
-.dl-horizontal {
-  dd {
-    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
-  }
-
-  @media (min-width: @dl-horizontal-breakpoint) {
-    dt {
-      float: left;
-      width: (@dl-horizontal-offset - 20);
-      clear: left;
-      text-align: right;
-      .text-overflow();
-    }
-    dd {
-      margin-left: @dl-horizontal-offset;
-    }
-  }
-}
-
-
-// Misc
-// -------------------------
-
-// Abbreviations and acronyms
-abbr[title],
-// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted @abbr-border-color;
-}
-.initialism {
-  font-size: 90%;
-  .text-uppercase();
-}
-
-// Blockquotes
-blockquote {
-  padding: (@line-height-computed / 2) @line-height-computed;
-  margin: 0 0 @line-height-computed;
-  font-size: @blockquote-font-size;
-  border-left: 5px solid @blockquote-border-color;
-
-  p,
-  ul,
-  ol {
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-
-  // Note: Deprecated small and .small as of v3.1.0
-  // Context: https://github.com/twbs/bootstrap/issues/11660
-  footer,
-  small,
-  .small {
-    display: block;
-    font-size: 80%; // back to default font-size
-    line-height: @line-height-base;
-    color: @blockquote-small-color;
-
-    &:before {
-      content: '\2014 \00A0'; // em dash, nbsp
-    }
-  }
-}
-
-// Opposite alignment of blockquote
-//
-// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
-.blockquote-reverse,
-blockquote.pull-right {
-  padding-right: 15px;
-  padding-left: 0;
-  border-right: 5px solid @blockquote-border-color;
-  border-left: 0;
-  text-align: right;
-
-  // Account for citation
-  footer,
-  small,
-  .small {
-    &:before { content: ''; }
-    &:after {
-      content: '\00A0 \2014'; // nbsp, em dash
-    }
-  }
-}
-
-// Addresses
-address {
-  margin-bottom: @line-height-computed;
-  font-style: normal;
-  line-height: @line-height-base;
-}
diff --git a/resources/less/bootstrap/utilities.less b/resources/less/bootstrap/utilities.less
deleted file mode 100644
index 7a8ca27a8ff54db1c439812d4b295d9a1c4f6f76..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/utilities.less
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// Utility classes
-// --------------------------------------------------
-
-
-// Floats
-// -------------------------
-
-.clearfix {
-  .clearfix();
-}
-.center-block {
-  .center-block();
-}
-.pull-right {
-  float: right !important;
-}
-.pull-left {
-  float: left !important;
-}
-
-
-// Toggling content
-// -------------------------
-
-// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
-.hide {
-  display: none !important;
-}
-.show {
-  display: block !important;
-}
-.invisible {
-  visibility: hidden;
-}
-.text-hide {
-  .text-hide();
-}
-
-
-// Hide from screenreaders and browsers
-//
-// Credit: HTML5 Boilerplate
-
-.hidden {
-  display: none !important;
-}
-
-
-// For Affix plugin
-// -------------------------
-
-.affix {
-  position: fixed;
-}
diff --git a/resources/less/bootstrap/wells.less b/resources/less/bootstrap/wells.less
deleted file mode 100644
index 15d072b0cd0e31d6bd40fad5aa1cb8fb1fbdefd9..0000000000000000000000000000000000000000
--- a/resources/less/bootstrap/wells.less
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// Wells
-// --------------------------------------------------
-
-
-// Base class
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: @well-bg;
-  border: 1px solid @well-border;
-  border-radius: @border-radius-base;
-  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
-  blockquote {
-    border-color: #ddd;
-    border-color: rgba(0,0,0,.15);
-  }
-}
-
-// Sizes
-.well-lg {
-  padding: 24px;
-  border-radius: @border-radius-large;
-}
-.well-sm {
-  padding: 9px;
-  border-radius: @border-radius-small;
-}
diff --git a/resources/less/bootstrap/variables.less b/resources/less/metager/bs-variables.less
similarity index 99%
rename from resources/less/bootstrap/variables.less
rename to resources/less/metager/bs-variables.less
index 3f36bb807b2449be9499a847c44558f6dd12f387..140426856f3387f4f97bbd694a65b6b400e3499f 100644
--- a/resources/less/bootstrap/variables.less
+++ b/resources/less/metager/bs-variables.less
@@ -28,7 +28,7 @@
 //** Background color for `<body>`.
 @body-bg:               #fff;
 //** Global text color on `<body>`.
-@text-color:            @gray-dark;
+@text-color:            black;
 
 //** Global textual link color.
 @link-color:            @brand-primary;
diff --git a/resources/less/metager/general/base.less b/resources/less/metager/general/base.less
index d2a3bed82d55c2909d1bea3c9be7cc4286b2dc51..50f241c54a097b85402b9b9d95eed55bf43bafff 100644
--- a/resources/less/metager/general/base.less
+++ b/resources/less/metager/general/base.less
@@ -186,6 +186,8 @@ i.fa {
     .navbar-brand {
         .noprint;
         line-height: 100% !important;
+        font-size: 18px;
+        height: 40px;
         padding: 0;
         padding-left: 8px;
         position: absolute;
@@ -318,18 +320,6 @@ summary {
     }
 }
 
-// External
-.outlink {
-    &:after {
-        display: inline-block;
-        font: normal normal normal 14px/1 'Font Awesome 5 Free';
-        font-size: inherit;
-        text-rendering: auto;
-        -webkit-font-smoothing: antialiased;
-        content: "\f35d";
-    }
-}
-
 /* Little helpers */
 
 // Bold text
diff --git a/resources/less/metager/general/forms.less b/resources/less/metager/general/forms.less
index 64b6dc2719373463d750a564074695afd48aa164..358e74a0fe3078cf90682e42fda85283e438dfa8 100644
--- a/resources/less/metager/general/forms.less
+++ b/resources/less/metager/general/forms.less
@@ -1,5 +1,22 @@
+// Newly defined MetaGer form styles
+.search-btn-mini{
+  border: solid 1px;
+  height: 34px;
+  border-top-right-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-color: #ccc;
+  vertical-align: middle;
+  border-left-style: none;
+}
+.search-input-mini{
+  border-top-right-radius: 0px!important;
+border-bottom-right-radius: 0px!important;
+}
+
+
+
 //
-// Forms (copied from Bootstrap)
+// Forms
 // --------------------------------------------------
 
 
diff --git a/resources/less/metager/general/general.less b/resources/less/metager/general/general.less
index 0c6aabad4dbe76433345c706671ee278ad13a063..1c5e9c683ec7fa776181f8e7e51b87b4a538873b 100644
--- a/resources/less/metager/general/general.less
+++ b/resources/less/metager/general/general.less
@@ -1,3 +1,4 @@
 @import "./base.less";
 @import "./cards.less";
 @import "./specific.less";
+@import "./forms.less";
diff --git a/resources/less/metager/metager-dark.less b/resources/less/metager/metager-dark.less
index 931ad79b4daf31dca73068add6c6528a7482c1f7..df6cf7ab96bf9347d1396018bb713eacf5d7e46a 100644
--- a/resources/less/metager/metager-dark.less
+++ b/resources/less/metager/metager-dark.less
@@ -1,7 +1,11 @@
-@import "../bootstrap/bootstrap.less";
+
+@import "./mixins/mixins.less";
 
 // Variables
+@import "./bs-variables.less";
+@import "./variables.less";
 @import "./variables-dark.less";
+
 // General
 @import "./general/general.less";
 // Pages
@@ -14,3 +18,8 @@
 @import "./parts/settings.less";
 @import "./parts/sidebar.less";
 @import "./parts/bitpay.less";
+@import "./parts/alert.less";
+@import "./parts/type.less";
+@import "./parts/scaffolding.less";
+@import "./parts/button.less";
+@import "./parts/dropdowns.less";
\ No newline at end of file
diff --git a/resources/less/metager/metager.less b/resources/less/metager/metager.less
index 64bb752a15f4b8634b01d1e21b2de5cd3ede4fe5..c5b8c00fcedc1175b267397cc94fc76e1a1bf691 100644
--- a/resources/less/metager/metager.less
+++ b/resources/less/metager/metager.less
@@ -1,6 +1,8 @@
-@import "../bootstrap/bootstrap.less";
+
+@import "./mixins/mixins.less";
 
 // Variables
+@import "./bs-variables.less";
 @import "./variables.less";
 // General
 @import "./general/general.less";
@@ -14,3 +16,8 @@
 @import "./parts/settings.less";
 @import "./parts/sidebar.less";
 @import "./parts/bitpay.less";
+@import "./parts/alert.less";
+@import "./parts/type.less";
+@import "./parts/scaffolding.less";
+@import "./parts/button.less";
+@import "./parts/dropdowns.less";
\ No newline at end of file
diff --git a/resources/less/bootstrap/mixins/forms.less b/resources/less/metager/mixins/forms.less
similarity index 50%
rename from resources/less/bootstrap/mixins/forms.less
rename to resources/less/metager/mixins/forms.less
index 6f55ed967082caf4ef515f88c9d591f95036a470..683527b18e1ed37d35f5ea36b001055cdeaa8ef4 100644
--- a/resources/less/bootstrap/mixins/forms.less
+++ b/resources/less/metager/mixins/forms.less
@@ -4,39 +4,12 @@
 // and successes.
 
 .form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
-  // Color the label and help text
-  .help-block,
-  .control-label,
-  .radio,
-  .checkbox,
-  .radio-inline,
-  .checkbox-inline,
-  &.radio label,
-  &.checkbox label,
-  &.radio-inline label,
-  &.checkbox-inline label  {
-    color: @text-color;
-  }
   // Set the border and box shadow on specific inputs to match
-  .form-control {
-    border-color: @border-color;
-    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
-    &:focus {
-      border-color: darken(@border-color, 10%);
-      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
-      .box-shadow(@shadow);
-    }
-  }
-  // Set validation states also for addons
-  .input-group-addon {
-    color: @text-color;
-    border-color: @border-color;
-    background-color: @background-color;
-  }
-  // Optional feedback icon
-  .form-control-feedback {
-    color: @text-color;
-  }
+ .form-control {
+   border-color: @border-color;
+   .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
+   
+ }
 }
 
 
@@ -53,12 +26,7 @@
 // Example usage: change the default blue border and shadow to white for better
 // contrast against a dark gray background.
 .form-control-focus(@color: @input-border-focus) {
-  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
-  &:focus {
-    border-color: @color;
-    outline: 0;
-    .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
-  }
+ @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
 }
 
 // Form control sizing
@@ -67,19 +35,9 @@
 // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
 // element gets special love because it's special, and that's a fact!
 .input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
-  height: @input-height;
-  padding: @padding-vertical @padding-horizontal;
-  font-size: @font-size;
-  line-height: @line-height;
-  border-radius: @border-radius;
-
-  select& {
-    height: @input-height;
-    line-height: @input-height;
-  }
-
-  textarea&,
-  select[multiple]& {
-    height: auto;
-  }
+ height: @input-height;
+ padding: @padding-vertical @padding-horizontal;
+ font-size: @font-size;
+ line-height: @line-height;
+ border-radius: @border-radius;
 }
diff --git a/resources/less/metager/mixins/grid.less b/resources/less/metager/mixins/grid.less
new file mode 100644
index 0000000000000000000000000000000000000000..131d4e647c0e2a5ba07da5d5edcadd49ccdf78fe
--- /dev/null
+++ b/resources/less/metager/mixins/grid.less
@@ -0,0 +1,6 @@
+// Creates a wrapper for a series of columns
+  .make-row(@gutter: @grid-gutter-width) {
+    margin-left:  ceil((@gutter / -2));
+    margin-right: floor((@gutter / -2));
+    &:extend(.clearfix all);
+  }
diff --git a/resources/less/metager/mixins/mixins.less b/resources/less/metager/mixins/mixins.less
new file mode 100644
index 0000000000000000000000000000000000000000..34f2d9570e86a47b1f0be9b5b95257e4a3dbe826
--- /dev/null
+++ b/resources/less/metager/mixins/mixins.less
@@ -0,0 +1,7 @@
+@import "forms.less";
+@import "tab-focus.less";
+@import "vendor-prefixes.less";
+@import "grid.less";
+@import "text-emphasis.less";
+@import "nav-divider.less";
+@import "reset-filter.less";
diff --git a/resources/less/metager/mixins/nav-divider.less b/resources/less/metager/mixins/nav-divider.less
new file mode 100644
index 0000000000000000000000000000000000000000..13db7a9d9da0cc044688a8478afd7d33a22e6103
--- /dev/null
+++ b/resources/less/metager/mixins/nav-divider.less
@@ -0,0 +1,10 @@
+// Horizontal dividers (copied from bootstrap)
+//
+// Dividers (basically an hr) within dropdowns and nav lists
+
+.nav-divider(@color: #e5e5e5) {
+    height: 1px;
+    margin: ((@line-height-computed / 2) - 1) 0;
+    overflow: hidden;
+    background-color: @color;
+  }
\ No newline at end of file
diff --git a/resources/less/bootstrap/mixins/reset-filter.less b/resources/less/metager/mixins/reset-filter.less
similarity index 100%
rename from resources/less/bootstrap/mixins/reset-filter.less
rename to resources/less/metager/mixins/reset-filter.less
diff --git a/resources/less/metager/mixins/tab-focus.less b/resources/less/metager/mixins/tab-focus.less
new file mode 100644
index 0000000000000000000000000000000000000000..f5759ce68cc7401d459f572b98ea9e349a0ebf86
--- /dev/null
+++ b/resources/less/metager/mixins/tab-focus.less
@@ -0,0 +1,8 @@
+.tab-focus() {
+    // WebKit-specific. Other browsers will keep their default outline style.
+    // (Initially tried to also force default via `outline: initial`,
+    // but that seems to erroneously remove the outline in Firefox altogether.)
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px;
+  }
+  
\ No newline at end of file
diff --git a/resources/less/metager/mixins/text-emphasis.less b/resources/less/metager/mixins/text-emphasis.less
new file mode 100644
index 0000000000000000000000000000000000000000..cdca6ba602580b469a5c1bbf0f234030ed56d3a5
--- /dev/null
+++ b/resources/less/metager/mixins/text-emphasis.less
@@ -0,0 +1,8 @@
+.text-emphasis-variant(@color) {
+    color: @color;
+    a&:hover,
+    a&:focus {
+      color: darken(@color, 10%);
+    }
+  }
+  
\ No newline at end of file
diff --git a/resources/less/metager/mixins/vendor-prefixes.less b/resources/less/metager/mixins/vendor-prefixes.less
new file mode 100644
index 0000000000000000000000000000000000000000..0525094690c64d1c244a0ac33a3eccd7c2011ce1
--- /dev/null
+++ b/resources/less/metager/mixins/vendor-prefixes.less
@@ -0,0 +1,56 @@
+// Vendor Prefixes
+//
+// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
+// Autoprefixer in our Gruntfile. They have been removed in v4.
+
+
+// - Box shadow
+// - Box sizing
+// - Placeholder text
+// - Transitions
+// - User select
+
+// Drop shadows
+//
+// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
+// supported browsers that have box shadow capabilities now support it.
+
+.box-shadow(@shadow) {
+    -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
+            box-shadow: @shadow;
+  }
+  
+  // Box sizing
+  .box-sizing(@boxmodel) {
+    -webkit-box-sizing: @boxmodel;
+       -moz-box-sizing: @boxmodel;
+            box-sizing: @boxmodel;
+  }
+  
+  
+  // Placeholder text
+  .placeholder(@color: @input-color-placeholder) {
+    // Firefox
+    &::-moz-placeholder {
+      color: @color;
+      opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
+    }
+    &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
+    &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
+  }
+  // Transitions
+  
+  .transition(@transition) {
+    -webkit-transition: @transition;
+         -o-transition: @transition;
+            transition: @transition;
+  }
+  // User select
+// For selecting text on the page
+
+.user-select(@select) {
+    -webkit-user-select: @select;
+       -moz-user-select: @select;
+        -ms-user-select: @select; // IE10+
+            user-select: @select;
+  }
\ No newline at end of file
diff --git a/resources/less/metager/pages/resultpage/quicktips.less b/resources/less/metager/pages/resultpage/quicktips.less
index f7f3eb879083fa2a4d5f19dcd3a29e7936e60c2d..edddec3d475e5e2d67cc162a8242c0ce8076e359 100644
--- a/resources/less/metager/pages/resultpage/quicktips.less
+++ b/resources/less/metager/pages/resultpage/quicktips.less
@@ -1,5 +1,7 @@
 /* Quicktips */
+@import "../../bs-variables.less";
 @import "../../variables.less";
+@import "../../mixins/mixins.less";
 @import "../../general/cards.less";
 @import "../../general/general.less";
 @quicktip-font-large: @result-font-large;
diff --git a/resources/less/metager/pages/resultpage/result-page.less b/resources/less/metager/pages/resultpage/result-page.less
index 6ac17772dd80bdd7ee152b0316133c992d76c838..a54a8f2fdaa9545cad6577107cb2547f27d5394f 100644
--- a/resources/less/metager/pages/resultpage/result-page.less
+++ b/resources/less/metager/pages/resultpage/result-page.less
@@ -574,6 +574,8 @@ a {
             label{
                 font-weight: normal;
                 margin-bottom: 0;
+                display: flex;
+                align-items: center;
             }
         }
     }
@@ -629,6 +631,8 @@ a {
     #settings {
         text-align: center;
         a {
+            display: flex;
+            align-items: center;
             color: @text-color;
             &:hover {
                 color: red;
diff --git a/resources/less/metager/pages/resultpage/result.less b/resources/less/metager/pages/resultpage/result.less
index b2e38c19ebf99475052d54b7b591c5c1634ac196..7d5d91c64cdc33065b53f02c98e18d9f432441b9 100644
--- a/resources/less/metager/pages/resultpage/result.less
+++ b/resources/less/metager/pages/resultpage/result.less
@@ -27,6 +27,7 @@
             justify-content: space-between;
             align-items: center;
             .result-title {
+                font-size: 22px;
                 margin: 0px;
                 &>* {
                     font-size: .8em;
@@ -288,4 +289,14 @@
         }
         
     }
+}
+#result-img-filter {
+    filter: invert(1) brightness(0.4);
+    height:15px;
+    margin-right: 4px;
+}
+#result-img-settings {
+    filter: invert(1) brightness(0.4);
+    height:16px;
+    margin-right: 4px;
 }
\ No newline at end of file
diff --git a/resources/less/metager/pages/settings.less b/resources/less/metager/pages/settings.less
index 8c5bc3d7e4c6be3389568cf8b5670f9105ef7252..d4392c2febdb812e4e0f518e79d95a21d99da70d 100644
--- a/resources/less/metager/pages/settings.less
+++ b/resources/less/metager/pages/settings.less
@@ -4,6 +4,7 @@
         flex-wrap: wrap;
         margin-left: -8px;
         .suma button {
+            color:black;
             padding: 8px;
             margin-left: 8px;
             margin-top: 8px;
diff --git a/resources/less/metager/pages/start-page.less b/resources/less/metager/pages/start-page.less
index 9370b38b4bcc40f31b160816bc29ee69c791c942..ad22f69977aa4a0d0c7ae8ff702a9c172e2efacb 100644
--- a/resources/less/metager/pages/start-page.less
+++ b/resources/less/metager/pages/start-page.less
@@ -42,71 +42,3 @@
     }
 
 }
-
-.startpage #main-content {
-    justify-content: center;
-    #about-us {
-        font-size: 1.4em;
-        color: #777;
-        text-align: center;
-        margin-top: 60px;
-        width: 100%;
-        top: 100vh;
-        left: 0;
-        position: absolute;
-        @media(min-width: 552px){
-            top: inherit;
-            left: inherit;
-            bottom: 100px;
-            position: inherit;
-        }
-        > div {
-            display: flex;
-            flex-wrap: wrap;
-            justify-content: space-around;
-            @media(min-width: 552px){
-                margin: 24px 0;
-            }
-            @media(min-width: 761px){
-                justify-content: space-between;
-                max-width: 600px;
-                margin: 24px auto;
-            }
-            > a {
-                display: flex;
-                flex-direction: column;
-                align-items: center;
-                cursor: pointer;
-                color: inherit;
-                width: 268px;
-                padding: 0px 8px;
-                min-width: 268;
-                margin: 8px 0;
-                @media(min-width: 552px){
-                    margin: 0;
-                }
-                > img {
-                    max-width: 2.3em;
-                }
-                > div.teaser {
-                    width: 100%;
-                    font-size: .7em;
-                    text-align: justify;
-                    hyphens: auto;
-                }
-                &:hover > div.teaser {
-                    visibility: inherit;
-                }
-            }
-        }
-        #gradient {
-            background-image: linear-gradient( red, yellow);
-            color:transparent;
-            -webkit-background-clip: text;
-            background-clip: text;
-        }
-        #green-leaf {
-            color: green;
-        }
-    }
-}
diff --git a/resources/less/metager/parts/alert.less b/resources/less/metager/parts/alert.less
new file mode 100644
index 0000000000000000000000000000000000000000..26c147e43271ddca34ae3dedea8f61eec04b2629
--- /dev/null
+++ b/resources/less/metager/parts/alert.less
@@ -0,0 +1,27 @@
+
+.alert {
+    padding: 15px;
+    margin-top: 20px;
+    border: 1px solid transparent;
+    border-radius: 4px;
+}
+.alert-danger {
+    background-color: #f3dede;
+    border-color: #ebccd1;
+    color: #a94442;
+}
+.alert-warning {
+    background-color: #fcf8e3;
+    border-color: #faebcc;
+    color: #8a6d3b;
+}
+.alert-info {
+    background-color: #d9edf7;
+    border-color: #bce8f1;
+    color: #31708f;
+}
+.alert-success {
+    background-color: #dff0d8;
+    border-color: #d6e9c6;
+    color: #3c763d;
+}
\ No newline at end of file
diff --git a/resources/less/metager/parts/button.less b/resources/less/metager/parts/button.less
new file mode 100644
index 0000000000000000000000000000000000000000..d3fe30e001b5e14cdf85376f7051ee233bc0cba1
--- /dev/null
+++ b/resources/less/metager/parts/button.less
@@ -0,0 +1,56 @@
+.btn {
+    display: inline-block;
+    margin-bottom: 0; //for input.btn
+    font-weight: normal;
+    text-align: center;
+    vertical-align: middle;
+    touch-action: manipulation;
+    cursor: pointer;
+    background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
+    border: 1px solid transparent;
+    border-radius: 4px;
+    white-space: nowrap;
+    padding: 6px 12px;
+    font-size: 14px;
+    line-height: 1.428571429;
+    .user-select(none);
+
+}
+
+
+
+// Alternative buttons
+
+.btn-default {
+color: #333;
+background-color: #ffffff;
+border-color: #ccc;
+}
+
+.btn-primary {
+color: #fff;
+background-color: #337ab7;
+border-color: #2e6da4;
+}
+
+.btn-success {
+color: #fff;
+background-color: #5cb85c;
+border-color: #4cae4c;
+}
+
+.btn-danger{
+color: #fff;
+background-color: #d9534f;
+border-color: #d43f3a;
+}
+
+
+//Button Size
+.btn-sm {
+    padding: 4px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px;
+  
+  }
\ No newline at end of file
diff --git a/resources/less/metager/parts/dropdowns.less b/resources/less/metager/parts/dropdowns.less
new file mode 100644
index 0000000000000000000000000000000000000000..af1b3a8e985a2fbb7226bab4d039b6ca1eca2bfe
--- /dev/null
+++ b/resources/less/metager/parts/dropdowns.less
@@ -0,0 +1,217 @@
+//
+// Dropdown menus (copied from bootstrap)
+// --------------------------------------------------
+
+
+// Dropdown arrow/caret
+.caret {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-left: 2px;
+    vertical-align: middle;
+    border-top:   @caret-width-base dashed;
+    border-top:   @caret-width-base solid ~"\9"; // IE8
+    border-right: @caret-width-base solid transparent;
+    border-left:  @caret-width-base solid transparent;
+  }
+  
+  // The dropdown wrapper (div)
+  .dropup,
+  .dropdown {
+    position: relative;
+  }
+  
+  // Prevent the focus on the dropdown toggle when closing dropdowns
+  .dropdown-toggle:focus {
+    outline: 0;
+  }
+  
+  // The dropdown menu (ul)
+  .dropdown-menu {
+    position: absolute;
+    top: 100%;
+    left: 0;
+    z-index: @zindex-dropdown;
+    display: none; // none by default, but block on "open" of the menu
+    float: left;
+    min-width: 160px;
+    padding: 5px 0;
+    margin: 2px 0 0; // override default ul
+    list-style: none;
+    font-size: @font-size-base;
+    text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
+    background-color: @dropdown-bg;
+    border: 1px solid @dropdown-fallback-border; // IE8 fallback
+    border: 1px solid @dropdown-border;
+    border-radius: @border-radius-base;
+    .box-shadow(0 6px 12px rgba(0,0,0,.175));
+    background-clip: padding-box;
+  
+    // Aligns the dropdown menu to right
+    //
+    // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
+    &.pull-right {
+      right: 0;
+      left: auto;
+    }
+  
+    // Dividers (basically an hr) within the dropdown
+    .divider {
+      .nav-divider(@dropdown-divider-bg);
+    }
+  
+    // Links within the dropdown menu
+    > li > a {
+      display: block;
+      padding: 3px 20px;
+      clear: both;
+      font-weight: normal;
+      line-height: @line-height-base;
+      color: @dropdown-link-color;
+      white-space: nowrap; // prevent links from randomly breaking onto new lines
+    }
+  }
+  
+  // Hover/Focus state
+  .dropdown-menu > li > a {
+    &:hover,
+    &:focus {
+      text-decoration: none;
+      color: @dropdown-link-hover-color;
+      background-color: @dropdown-link-hover-bg;
+    }
+  }
+  
+  // Active state
+  .dropdown-menu > .active > a {
+    &,
+    &:hover,
+    &:focus {
+      color: @dropdown-link-active-color;
+      text-decoration: none;
+      outline: 0;
+      background-color: @dropdown-link-active-bg;
+    }
+  }
+  
+  // Disabled state
+  //
+  // Gray out text and ensure the hover/focus state remains gray
+  
+  .dropdown-menu > .disabled > a {
+    &,
+    &:hover,
+    &:focus {
+      color: @dropdown-link-disabled-color;
+    }
+  
+    // Nuke hover/focus effects
+    &:hover,
+    &:focus {
+      text-decoration: none;
+      background-color: transparent;
+      background-image: none; // Remove CSS gradient
+      .reset-filter();
+      cursor: @cursor-disabled;
+    }
+  }
+  
+  // Open state for the dropdown
+  .open {
+    // Show the menu
+    > .dropdown-menu {
+      display: block;
+    }
+  
+    // Remove the outline when :focus is triggered
+    > a {
+      outline: 0;
+    }
+  }
+  
+  // Menu positioning
+  //
+  // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
+  // menu with the parent.
+  .dropdown-menu-right {
+    left: auto; // Reset the default from `.dropdown-menu`
+    right: 0;
+  }
+  // With v3, we enabled auto-flipping if you have a dropdown within a right
+  // aligned nav component. To enable the undoing of that, we provide an override
+  // to restore the default dropdown menu alignment.
+  //
+  // This is only for left-aligning a dropdown menu within a `.navbar-right` or
+  // `.pull-right` nav component.
+  .dropdown-menu-left {
+    left: 0;
+    right: auto;
+  }
+  
+  // Dropdown section headers
+  .dropdown-header {
+    display: block;
+    padding: 3px 20px;
+    font-size: @font-size-small;
+    line-height: @line-height-base;
+    color: @dropdown-header-color;
+    white-space: nowrap; // as with > li > a
+  }
+  
+  // Backdrop to catch body clicks on mobile, etc.
+  .dropdown-backdrop {
+    position: fixed;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    top: 0;
+    z-index: (@zindex-dropdown - 10);
+  }
+  
+  // Right aligned dropdowns
+  .pull-right > .dropdown-menu {
+    right: 0;
+    left: auto;
+  }
+  
+  // Allow for dropdowns to go bottom up (aka, dropup-menu)
+  //
+  // Just add .dropup after the standard .dropdown class and you're set, bro.
+  // TODO: abstract this so that the navbar fixed styles are not placed here?
+  
+  .dropup,
+  .navbar-fixed-bottom .dropdown {
+    // Reverse the caret
+    .caret {
+      border-top: 0;
+      border-bottom: @caret-width-base dashed;
+      border-bottom: @caret-width-base solid ~"\9"; // IE8
+      content: "";
+    }
+    // Different positioning for bottom up menu
+    .dropdown-menu {
+      top: auto;
+      bottom: 100%;
+      margin-bottom: 2px;
+    }
+  }
+  
+  
+  // Component alignment
+  //
+  // Reiterate per navbar.less and the modified component alignment there.
+  
+  @media (min-width: @grid-float-breakpoint) {
+    .navbar-right {
+      .dropdown-menu {
+        .dropdown-menu-right();
+      }
+      // Necessary for overrides of the default right aligned menu.
+      // Will remove come v4 in all likelihood.
+      .dropdown-menu-left {
+        .dropdown-menu-left();
+      }
+    }
+  }
+  
\ No newline at end of file
diff --git a/resources/less/metager/parts/scaffolding.less b/resources/less/metager/parts/scaffolding.less
new file mode 100644
index 0000000000000000000000000000000000000000..6f7f55a9c2d76442b1c35769894b3ade14f9fc24
--- /dev/null
+++ b/resources/less/metager/parts/scaffolding.less
@@ -0,0 +1,39 @@
+* {
+    .box-sizing(border-box);
+  }
+  *:before,
+  *:after {
+    .box-sizing(border-box);
+  }
+
+
+body{
+    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif ;
+    font-size: 1em;
+    line-height:1.428571429 ;
+    color: black;
+    background-color:#fff ;
+
+}
+
+figure {
+    margin: 0;
+}
+
+img {
+    vertical-align: middle;
+  }
+
+ 
+hr {
+  margin-top: 20px;
+  margin-bottom:20px;
+  border: 0;
+  border-top: 1px solid #eee;
+}
+
+a {
+  text-decoration: none;
+}
+  
+  
diff --git a/resources/less/metager/parts/searchbar.less b/resources/less/metager/parts/searchbar.less
index 957c32659d0c48d2e19148e096f9c2d69bc9c422..c546cef27de039ab403bb874ec2e483013052a94 100644
--- a/resources/less/metager/parts/searchbar.less
+++ b/resources/less/metager/parts/searchbar.less
@@ -1,4 +1,5 @@
-@searchbar-border-color: #a2a2a2;
+@searchbar-border-color: #585858;
+@searchbar-border-color-light: #777777;
 @searchbar-background-color: white;
 .searchbar {
     display: -webkit-box;
@@ -34,6 +35,7 @@
     color: #333;
     .search-input-submit {
         width: 100%;
+        width: calc(100% - 16px);
         max-width: 600px;
         background-color: @searchbar-background-color;
         -webkit-box-flex: 1;
@@ -49,8 +51,8 @@
             justify-content: center;
             align-items: center;
             > a {
-                padding: 5px 16px 0px 16px;
-                color: #777;
+                padding: 0px 16px 0px 16px;
+                color: #585858;
                 &.authorized {
                     color:green;
                 }
@@ -67,13 +69,6 @@
                 -webkit-box-shadow: none;
                 box-shadow: none;
                 background-color: transparent;
-                &:focus {
-                    outline-color: @metager-orange;
-                    -webkit-box-shadow: 0px 0px 2px 2px rgba(255, 128, 0, 1);
-                    box-shadow: 0px 0px 2px 2px rgba(255, 128, 0, 1);
-                    border-color: rgba(255, 128, 0, 1);
-                    border-radius: 4px;
-                }
             }
             #search-delete-btn {
                 position: absolute;
@@ -99,6 +94,7 @@
                 border: 0;
                 background-color: transparent;
                 padding: 0;
+                color: #585858;
             }
         }
     }
@@ -125,11 +121,15 @@
     }
     .search-input-submit {
         border-radius: 5px;
+        margin: 0 8px;
         @media (max-width: @screen-mobile) {
             max-width: initial;
         }
-        >:not(:first-child) {
-            border-left: 1px solid @searchbar-border-color;
+        >#search-key {
+            border-right: 1px solid @searchbar-border-color-light;
+        }
+        >#submit-inputgroup {
+            border-left: 1px solid @searchbar-border-color-light;
         }
     }
     @media (max-width: @screen-mobile) {
@@ -154,6 +154,9 @@
 }
 
 .resultpage-searchbar {
+    #search-key > a {
+        padding: 5px 16px 0px 16px!important;
+    }
     .search-input-submit {
         .search-input input {
             padding-right: 35px; // Makes it so the overlayed delete button does not hide the text belowF
@@ -177,4 +180,21 @@
 
 #searchForm {
     margin: 0;
-}
\ No newline at end of file
+}
+
+#searchbar-img-key {
+    height: 15px;
+    filter: invert(1) brightness(0.4);
+}
+
+#searchbar-img-lupe {
+    height: 15px;
+    filter: invert(1) brightness(0.1);
+}
+.search-submit button {
+    cursor: pointer;
+}
+
+.authorized #searchbar-img-key {
+    filter: initial;
+}
diff --git a/resources/less/metager/parts/sidebar.less b/resources/less/metager/parts/sidebar.less
index d417af9b8492275bc8a3607a0fbe56d04ca36ea6..f80e03453ed624a72ae102981cf467d614e4714d 100644
--- a/resources/less/metager/parts/sidebar.less
+++ b/resources/less/metager/parts/sidebar.less
@@ -19,13 +19,11 @@
         > span {
             display: block;
             margin: 20px;
-            background-color: #ff7f00;
             padding: 10px 0;
             text-align: center;
             border-radius: 10px;
             >img {
                 width: 10em;
-                filter: brightness(0) invert(1);
             }
         }
     }
@@ -197,7 +195,7 @@
     line-height: 23px;
     border-radius: 5px;
     color: grey;
-    background-color: @background-color;
+    background-color: transparent;
     &:after {
         content: "≡";
     }
@@ -212,6 +210,9 @@
 }
 
 /* Sidebar toggle checkbox */
+#sidebarToggle  {
+    display: none;
+}
 
 #sidebarToggle:checked {
     &~.sidebar {
@@ -223,3 +224,59 @@
         }
     }
 }
+#sidebar-img-app {
+    height:20px;
+    margin-right:13px;
+    margin-left:13px;
+}
+#sidebar-img-lock {
+    height: 20px;
+    margin-right: 10px;
+    margin-left: 10px;
+}
+#sidebar-img-help{
+    height:20px;
+    margin-right: 15px;
+    margin-left: 15px;
+}
+#sidebar-img-donate{
+    height:20px;
+    margin-right: 7px;
+    margin-left: 9px;
+}
+#sidebar-img-member{
+    height:20px;
+    margin-right:8px;
+    margin-left:12px;
+}
+#sidebar-img-contact {
+    height: 13px;
+    margin-left: 10px;
+    margin-right: 8px;
+}
+#sidebar-img-language {
+    height: 20px;
+    margin-right: 9px;
+    margin-left: 12px;
+}
+#sidebar-img-services {
+    height:20px;
+    margin-right: 9px;
+    margin-left: 10px;
+}
+#sidebar-img-map{
+    height: 15px;
+    margin-left: 10px;;
+    margin-right: 9px;
+}
+#sidebar-img-lupe {
+
+    height: 20px;
+    margin-left: 10px;
+    margin-right: 8px;
+}
+#sidebar-img-outlink {
+    height: 20px;
+    margin-left: 10px;
+    
+}
\ No newline at end of file
diff --git a/resources/less/metager/parts/type.less b/resources/less/metager/parts/type.less
new file mode 100644
index 0000000000000000000000000000000000000000..7d81ea98ca4f6383dd591d75298fd9694639fe97
--- /dev/null
+++ b/resources/less/metager/parts/type.less
@@ -0,0 +1,92 @@
+h1, h2, h3, h4, h5, h6 {
+    font-family: inherit;
+    font-weight: 500;
+    line-height: 1.1;
+    color: inherit;
+  
+    small {
+      font-weight: normal;
+      line-height: 1;
+      color: #777;
+    }
+  }
+  
+  h1, h2, h3 {
+    margin-top: 20px;
+    margin-bottom: 10px;
+  
+    small {
+      font-size: 65%;
+    }
+  }
+  h4, h5, h6 {
+    margin-top: 10px;
+    margin-bottom: 10px;
+  
+    small {
+      font-size: 75%;
+    }
+  }
+  
+  h1 {font-size :36px; }
+  h2 {font-size :30px; }
+  h3 {font-size :24px; }
+  h4 {font-size :18px; }
+  h5 {font-size :16px; }
+  h6 {font-size :12px; }
+
+
+
+code, kbd, pre, samp {
+    font-family: monospace;
+}
+
+.text-muted {
+    color: #777;
+  }
+  .text-info {
+    .text-emphasis-variant(#31708f);
+  }
+  .text-danger {
+    .text-emphasis-variant(#a94442);
+  }
+
+  p {
+    margin: 0 0 10px;
+  }
+  // Ex: (12px small font / 14px base font) * 100% = about 85%
+small {
+    font-size: floor((100% * 12px / 14px));
+  }
+// Lists
+  ul,
+ol {
+  margin-top: 0;
+  margin-bottom: 10px;
+  ul,
+  ol {
+    margin-bottom: 0;
+  }
+}
+// Unstyled keeps list items block level, just removes default browser padding and list-style
+.list-unstyled {
+    padding-left: 0;
+    list-style: none;
+  }
+  
+// Description Lists
+dl {
+    margin-top: 0; // Remove browser default
+    margin-bottom:20 px;
+  }
+  dt,
+  dd {
+    line-height: 1.428571429;
+  }
+  dt {
+    font-weight: bold;
+  }
+  dd {
+    margin-left: 0; // Undo browser default
+  }
+  
\ No newline at end of file
diff --git a/resources/less/metager/startpage-only.less b/resources/less/metager/startpage-only.less
new file mode 100644
index 0000000000000000000000000000000000000000..8fa4db3dbabcd448a5f9a8b7d92989386f36f4a3
--- /dev/null
+++ b/resources/less/metager/startpage-only.less
@@ -0,0 +1,480 @@
+@clippathHeight: 30px;
+@scrollLinkHeight: 40px;
+@scrollLinkHeightMedium: 50px;
+@scrollLinkHeightMax: 70px;
+:root { // the default is for screensizes bigger than 12000px
+    --screen-mobile: 550px;
+    --screen-extrasmall: 760px;
+    --screen-small: 1000px;
+    --screen-medium: 1200px;
+  }
+ 
+html {
+    display: block;
+    height: 100%;
+    &>body {
+        display: block;
+        height: 100%;
+        &>div.wrapper {
+            display: block;
+            height: 100%;
+        }
+    }
+}
+
+.wrapper {
+    height: 100%;
+    margin: 0;
+    padding: 0px;
+}
+
+
+#search-wrapper {
+    min-height: 100%;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    &>#search-block {
+        margin-top: -10%;
+    }
+
+}
+
+#main-content {
+    justify-content: start!important;
+    width: 100%!important;
+    max-width: 100%!important;
+    overflow-y: scroll;
+    height: 100%;
+    scroll-behavior: smooth;
+}
+
+#plugin-btn-div {
+    margin-top: 20px!important;
+}
+
+#plugin-btn {
+    display: flex;
+    align-items: center;
+    > img { // sets the size for the plugin button
+        max-width: 15px;
+        max-height: 15px;
+        margin-right: 8px;
+    }
+}
+
+
+#scroll-links { // creates a grid for the story-icons
+    min-width: 100%;
+    min-height: @scrollLinkHeight;
+    margin-top: -@scrollLinkHeight;
+    display: flex;
+    text-align: center;
+    border-top:1px solid lightgrey;
+    position: sticky;
+    top: 0;
+    z-index: 10;
+
+    &>:nth-child(1) {
+        background-color: #EEEEEE;
+    }
+    &>:nth-child(2) {
+        background-color: #ffffff;
+        color: #AD1A00
+    }
+    &>:nth-child(3) {
+        background-color: #edfdff;
+        color: #0C4690;
+    }
+    &>:nth-child(4) {
+        background-color: #e3ffe9;
+        color: #0c621A;
+    }
+
+    &>a {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        color: inherit;
+        padding: 8px;
+        width: 25%;
+        &#story-plugin-link {
+            text-align: center;
+            align-self: center;
+            padding: 4px;
+            max-width: 250px;
+            align-self: center;
+            &>i {
+                font-style: normal;
+                display: inline-block;
+                padding: 8px 0;
+                transform: rotate(-90deg);
+            }
+        }
+        &>img {
+            width: 20px;
+            height: 20px;
+            min-width: 20px;
+            min-height: 20px;
+            margin-right: 8px;
+            object-fit: contain;
+        }
+        &>span {
+            display: block;
+        }
+    }
+}
+
+.four-reasons ~ a {
+    grid-row-start: 3;
+}
+
+
+footer {
+    display: none;
+    text-align: center;
+    position: absolute;
+    bottom: 0px;
+    left: auto;
+    right: auto;
+    background-color: transparent;
+}
+
+#story-container > section { // creates the grid for the story sections 
+    display: grid;
+    grid-template-columns: 25% 75% ;
+     grid-template-rows: auto;
+    grid-template-areas: 
+        ". ."
+        "story-icon heading"
+        ". paragraph"
+        ". story-links"
+        ". .";
+
+    position: relative;
+    align-items:center;
+    min-height: 70vh;
+    &:not(:nth-child(1)){
+        padding-bottom: @clippathHeight;
+        padding-top: @clippathHeight;
+        margin-top: -@clippathHeight;
+    }
+}
+
+#story-container > section > h1 { //sets the heading for all sections
+    grid-area: heading;
+    font-size: 80px;
+    margin: 0;
+}
+
+#story-container > section > p { // sets all paragraphs for all sections
+    grid-area: paragraph;
+    font-size: 30px;
+    color: #474747;
+    max-width: 1100px;
+    padding-right: 50px;
+}
+#story-container > section .story-icon { // sets all icons for all sections
+    grid-area: story-icon;
+    padding: 16px;
+    text-align: center;
+}
+
+.story-icon img { // defines the story-icons in the sections
+    height: 150px;
+    max-height: 300px;
+    max-width: 300px;
+    width:150px;
+    
+    object-fit: contain;
+}
+
+// following lines set the background and heading color of each section
+#story-privacy {
+    margin-bottom: 0;
+    background-color: #EEEEEE;
+}
+
+#story-ngo {
+    grid-area: "icn-ngo";
+    background-color: #ffffff;
+    clip-path: polygon(0 0, 40% 0, 50% @clippathHeight, 60% 0, 100% 0, 100% 100%, 0 100%);
+}
+
+#story-ngo > h1 {
+    color:#AD1A00;
+}
+
+#story-diversity {
+    grid-area: "icn-diversity";
+    background-color: #edfdff;
+    clip-path: polygon(0 0, 40% 0, 50% @clippathHeight, 60% 0, 100% 0, 100% 100%, 0 100%);
+}
+
+#story-diversity > h1 {
+    color: #0c4690;
+}
+
+#story-eco {
+    grid-area: "icn-eco";
+    background-color: #e3ffe9;
+    clip-path: polygon(0 0, 40% 0, 50% @clippathHeight, 60% 0, 100% 0, 100% 100%, 0 100%);
+}
+
+#story-eco > h1 {
+    color:#0c621a;
+}
+#story-container #story-plugin > h1 { 
+    font-size:60px;
+}
+#story-container #story-plugin { 
+    min-height: 60vh;
+    background-color: white;
+    clip-path: polygon(0 0, 40% 0, 50% @clippathHeight, 60% 0, 100% 0, 100% 100%, 0 100%);
+}
+
+.story-links {
+    grid-area: story-links;
+    display: flex;
+    flex-wrap: wrap;
+    padding: 0px;
+    list-style: none;
+    gap: 2em;
+    &>li {
+        min-width: 150px;
+        &>a {
+            display: block;
+            text-align: center;
+        }
+    }
+} 
+a.story-button { // sets the story-button for all sections
+    padding: 12px;
+    border-radius: 10px;
+    font-size: 18px;
+}
+// following lines set the Button color for each section
+#story-privacy .story-button {
+    background-color:#535353;
+    color:#ffffff;
+}
+#story-ngo .story-button {
+    background-color:#AD1A00;
+    color:#ffffff;
+}
+#story-diversity .story-button {
+    background-color: #0c4690;
+    color:#ffffff;
+}
+#story-eco .story-button {
+    background-color:#0c621A;
+    color:#ffffff;
+}
+#story-plugin .story-button {
+    background-color: #535353;
+    color: #ffffff;
+}
+
+@media screen and (max-width: 1000px) { // changes the layout for screen sizes between 760-1000px
+
+    #scroll-links {
+        min-height: @scrollLinkHeightMedium;
+        margin-top: -@scrollLinkHeightMedium;
+    }
+
+    div#story-container h1{
+      font-size: 50px;
+      padding: 0 16px;
+    }
+    div#story-container p{
+        font-size: 25px;
+        padding-left: 16px;
+        padding-right: 10vw;
+      }
+      #story-container > section {
+        grid-template-columns: 132px auto;
+        grid-template-areas: 
+            ". ."
+            "story-icon heading"
+            "paragraph paragraph"
+            "story-links story-links"
+            ". .";
+        min-height: 60vh;
+    }
+
+    .story-icon img {
+        height: 100px;
+        width: 100px;
+    }
+
+    #story-container > section .story-icon {
+        text-align: left;
+    }
+    #plugin > a {
+        flex-direction: column;
+    }
+    .story-links {
+        grid-area: story-links;
+        display: flex;
+        padding: 16px;
+        list-style: none;
+        gap: 1em;
+        font-size: 10px;
+    } 
+    #story-container #story-plugin > h1 {
+        font-size:50px;
+    }
+    #story-container #story-plugin {
+        min-height: 50vh;
+    }
+
+    #story-ngo {
+        clip-path: polygon(0 0, 30% 0, 50% @clippathHeight, 70% 0, 100% 0, 100% 100%, 0 100%);
+    }
+
+    #story-diversity {
+        clip-path: polygon(0 0, 30% 0, 50% @clippathHeight, 70% 0, 100% 0, 100% 100%, 0 100%);
+    }
+
+    #story-eco {
+        clip-path: polygon(0 0, 30% 0, 50% @clippathHeight, 70% 0, 100% 0, 100% 100%, 0 100%);
+    }
+    #story-container #story-plugin {
+        clip-path: polygon(0 0, 30% 0, 50% @clippathHeight, 70% 0, 100% 0, 100% 100%, 0 100%);
+    }
+}
+
+@media screen and (min-width: 1000px) and (max-width:1200px) { // changes the layout for screen sizes between 1000px and 12000px
+    div#story-container h1{
+      font-size: 65px;
+    }
+    div#story-container p{
+        font-size: 25px;
+        padding-left: 8px;
+        padding-right: 10vw;
+      }
+      .story-links {
+        grid-area: story-links;
+        display: flex;
+        padding: 8px;
+        list-style: none;
+        gap: 1em;
+      }
+      #story-container #story-plugin > h1 {
+        font-size:65px;
+    }
+}
+@media screen and (max-width: 550px) { // changes the layout for screen sizes smaller than 550px
+    #scroll-links {
+        min-height: @scrollLinkHeightMax;
+        margin-top: -@scrollLinkHeightMax;
+        &>a {
+            flex-direction: column;
+            font-size: .8em;
+            &>img {
+                margin-right: 0;
+            }
+            &>div {
+                flex-grow: 1;
+                display: flex;
+                align-items: center;
+            }
+        }
+    }
+
+    div#story-container h1{
+      font-size: 25px;
+    }
+    div#story-container p{
+        font-size: 20px;
+        padding-left: 8px;
+        padding-right: 10vw;
+      }
+      #story-container > section {
+        grid-template-columns: 66px auto;
+        grid-template-areas: 
+            ". ."
+            "story-icon heading"
+            "paragraph paragraph"
+            "story-links story-links"
+            ". .";
+        min-height: 80vh;
+    }
+
+    #story-container > section .story-icon {
+        padding: 8px;
+    }
+
+    .story-icon img {
+        height: 50px;
+        width: 50px;
+    }
+
+    .story-links {
+        grid-area: story-links;
+        display: flex;
+        align-items: stretch;
+        padding: 8px;
+        list-style: none;
+        gap: 20px;
+        font-size: 5px;
+    } 
+    a.story-button {
+        padding: 8px;
+        border-radius: 6px;
+        font-size: 18px;
+    }
+    #story-container #story-plugin > h1 {
+        font-size:25px;
+    }
+    #story-container #story-plugin {
+        min-height: 70vh;
+    }
+}
+@media screen and ( min-width: 551px) and (max-width: 760px) { // changes the layout for screen sizes between 551px and 760px
+    div#story-container h1{
+      font-size: 40px;
+    }
+    div#story-container p{
+        font-size: 30px;
+        padding-left: 16px;
+        padding-right: 10vw;
+      }
+      #story-container > section {
+        grid-template-columns: 112px auto;
+        grid-template-areas: 
+            ". ."
+            "story-icon heading"
+            "paragraph paragraph"
+            "story-links story-links"
+            ". .";
+        min-height: 80vh;
+    }
+
+    .story-icon img {
+        height: 80px;
+        width: 80px;
+    }
+
+    .story-links {
+        grid-area: story-links;
+        display: flex;
+        align-items: stretch;
+        padding: 16px;
+        list-style: none;
+        gap: 20px;
+        font-size: 5px;
+    } 
+    a.story-button {
+        padding: 8px;
+        border-radius: 6px;
+        font-size: 18px;
+    }
+    #story-container #story-plugin > h1 {
+        font-size:35px;
+    }
+
+    #story-container #story-plugin {
+        min-height: 80vh;
+    }
+}
diff --git a/resources/views/assoziator/asso.blade.php b/resources/views/assoziator/asso.blade.php
index 9ae7115ce289bfe9781572092aae23ebe33e7398..fdeeb6e92fd01bd0345b489132a8cff970c8b002 100644
--- a/resources/views/assoziator/asso.blade.php
+++ b/resources/views/assoziator/asso.blade.php
@@ -26,11 +26,8 @@
 	<div class="card-heavy">
 		<p>{{ trans('asso.1.1') }} <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/datenschutz') }}" target="_blank">{{ trans('asso.1.2') }}</a>{{ trans('asso.1.3') }}.</p>
 
-		<form method="post">
-			<div class="input-group">
-				<input type="text" class="form-control" placeholder="{{ trans('asso.search.placeholder') }}" @if(isset($keywords)) value="{{$keywords}}" @endif name="q" required autofocus/>
-				<div class="input-group-addon"><button type="submit"><i class="fa fa-search" aria-hidden="true"></i></button></div>
-			</div>
+		<form method="post" class="form-inline">
+				<input type="text" class="form-control search-input-mini" placeholder="{{ trans('asso.search.placeholder') }}" @if(isset($keywords)) value="{{$keywords}}" @endif name="q" required autofocus/><button type="submit" class="search-btn-mini"><i class="fa fa-search" aria-hidden="true"></i></button>
 		</form>
 	</div>
 	@if(isset($words))
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index 99e99d5898235f58ba77619f111273cce8462733..108a58d687df3540e526a9ece59d4afe71bb9833 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -1,55 +1,96 @@
-@extends('layouts.staticPages', ['page' => 'startpage'])
+@extends('layouts.staticPages', ['page' => 'startpage', 'css' => mix('css/themes/startpage-only.css')])
 
 @section('title', $title )
 
 @section('content')
-	<h1 id="startpage-logo">
-		<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}">
-			<img src="/img/metager.svg" alt="MetaGer" />
-		</a>
-	</h1>
-  @include('parts.searchbar', ['class' => 'startpage-searchbar'])
-  @if(Request::filled('key'))
-  <input type="hidden" name="key" value="{{ Request::input('key','') }}" form="searchForm">
-  @endif
-	<div id="plugin-btn-div">
+  <div id="search-wrapper">
+    <div id="search-block">
+      <h1 id="startpage-logo">
+        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}">
+          <img src="/img/metager.svg" alt="MetaGer" />
+        </a>
+      </h1>
+      @include('parts.searchbar', ['class' => 'startpage-searchbar'])
+      @if(Request::filled('key'))
+      <input type="hidden" name="key" value="{{ Request::input('key','') }}" form="searchForm">
+      @endif
+	    <div id="plugin-btn-div">
 		@if($agent->isMobile() && ($agent->browser() === "Chrome" || $agent->browser() === "Edge"))
 		<button type="submit" id="plugin-btn" form="searchForm" title="{{ trans('index.plugin-title') }}" name="chrome-plugin" value="true"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a>
 		@else
 		<a id="plugin-btn" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/plugin") }}" title="{{ trans('index.plugin-title') }}"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a>
 		@endif
 	</div>
-		<div id="about-us">
-			<div class="m-row">
-				<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "about") }}">
-					<img alt="lock" src="/img/metager-schloss.svg">
-					<span>@lang('index.about.1.1')</span>
-					<div class="teaser">@lang('index.about.1.2')</div>
-				</a>
-				@if(LaravelLocalization::getCurrentLocale() === "de")
-				<a href="https://suma-ev.de" target="_blank">
-				@else
-				<a href="https://suma-ev.de/" target="_blank">
-				@endif
-					<img alt="rainbow" src="/img/rainbow.svg">
-					<span>@lang('index.about.2.1')</span>
-					<div class="teaser">@lang('index.about.2.2')</div>
-				</a>
-			</div>
-			<div class="m-row">
-				<a href="https://www.hetzner.de/unternehmen/umweltschutz/" target="_blank">
-					<i class="fas fa-leaf" id="green-leaf"></i>
-					<span>@lang('index.about.3.1')</span>
-					<div class="teaser">@lang('index.about.3.2')</div>
-				</a>
-				<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "spende") }}">
-					<i class="fas fa-heart" id="gradient"></i>
-					<span>@lang('index.about.4.1')</span>
-					<div class="teaser">@lang('index.about.4.2')</div>
-				</a>
-			</div>
-		</div>
-	<a id="scroll-helper" href="#about-us">
-		<i class="fas fa-angle-double-down"></i>
-	</a>
+    </div>
+  </div>
+  <div id="scroll-links">
+    <a href="#story-privacy" title="{{ trans('mg-story.privacy.title') }}"><img src="/img/lock.svg" alt="{{ trans('mg-story.privacy.image.alt') }}"> <div>@lang("mg-story.privacy.title")</div></a>
+    <a href="#story-ngo" title="{{ trans('mg-story.ngo.title') }}"><img src="/img/heart.svg" alt="{{ trans('mg-story.ngo.image.alt') }}"> <div>@lang("mg-story.ngo.title")</div></a>
+    <a href="#story-diversity" title="{{ trans('mg-story.diversity.title') }}"><img src="/img/rainbow.svg" alt="{{ trans('mg-story.diversity.image.alt') }}"> <div>@lang("mg-story.diversity.title")</div></a>
+    <a href="#story-eco" title="{{ trans('mg-story.eco.title') }}"><img src="/img/leaf.svg" alt="{{ trans('mg-story.eco.image.alt') }}"> <div>@lang("mg-story.eco.title")</div></a>
+  </div>
+    <div id="story-container">
+      <section id="story-privacy">
+        <h1>{{ trans('mg-story.privacy.title') }}</h1>
+        <ul class="story-links">
+       <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "about") }}">{{ trans('mg-story.btn-about-us') }}</a></li>
+       <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "datenschutz") }}">{{ trans('mg-story.btn-data-protection') }}</a></li>
+        </ul>
+        <figure class="story-icon">
+          <img src="/img/lock.svg" alt="{{ trans('mg-story.privacy.image.alt') }}">
+        </figure>
+        <p>{!! trans('mg-story.privacy.p') !!}</p>
+      </section>
+      <section id="story-ngo">
+        <h1>{{ trans('mg-story.ngo.title') }}</h1>
+
+       <ul class="story-links">
+        <li><a class="story-button" href="https://suma-ev.de/" target="_blank">{{ trans('mg-story.btn-SUMA-EV') }}</a></li>
+        <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "spende") }}">{{ trans('mg-story.btn-donate') }}</a></li>
+        <li><a class="story-button" href="https://metager.de/beitritt" target="_blank">{{ trans('mg-story.btn-member') }}</a></li>
+        <li><a class="story-button" href="https://suma-ev.de/mitglieder/" target="_blank"> {{ trans('mg-story.btn-member-advantage') }}</a></li>       </ul>
+        <figure class="story-icon">
+        <img src="/img/heart.svg" alt="{{ trans('mg-story.ngo.image.alt') }}">
+        </figure>
+        <p>{!!trans('mg-story.ngo.p') !!}</p>
+      </section>
+      <section id="story-diversity">
+        <h1>{{ trans('mg-story.diversity.title') }}</h1>
+        <ul class="story-links">
+        <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "about") }}">{{ trans('mg-story.btn-about-us') }}</a></li>
+        <li><a class="story-button" href="https://gitlab.metager.de/open-source/MetaGer" target="_blank"><nobr>{{ trans('mg-story.btn-mg-code') }}</nobr></a></li>
+        <!--<li><a class="story-button" href="https://metager.de/about">{{ trans('mg-story.btn-mg-algorithm') }}</a></li>-->
+        </ul>
+        <figure class="story-icon">
+          <img src="/img/rainbow.svg" alt="{{ trans('mg-story.diversity.image.alt') }}">
+        </figure>
+        <p>{!! trans('mg-story.diversity.p') !!}</p>
+      </section>
+
+      <section id="story-eco">
+        <h1>{{ trans('mg-story.eco.title') }}</h1>
+        <ul class="story-links">
+        <li><a class="story-button" href="https://www.hetzner.de/unternehmen/umweltschutz/" target="_blank">{{ trans('mg-story.btn-more') }}</a></li>
+        </ul>
+        <figure class="story-icon">
+          <img src="/img/leaf.svg" alt="{{ trans('mg-story.eco.image.alt') }}">
+        </figure>
+        <p>{!! trans('mg-story.eco.p')!!}</p>
+      </section>
+      <section id="story-plugin">
+        <h1>{{ trans('mg-story.plugin.title') }}</h1>
+        <ul class="story-links">
+        <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/plugin") }}">{{ trans('mg-story.plugin.btn-add') }}</a></li>
+        <li><a class="story-button" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/app") }}">{{ trans('mg-story.plugin.btn-app') }}</a></li>
+        </ul>
+        <figure class="story-icon">
+          <picture>
+            <source media="(max-width: 760px)" srcset="/img/App.svg">
+                    <img src="/img/story-plugin.svg" alt="{{ trans('mg-story.plugin.image.alt') }}">
+          </picture>
+
+        </figure>
+        <p>{{ trans('mg-story.plugin.p') }}</p>
+      </section>
+    </div>
 @endsection
diff --git a/resources/views/layouts/result.blade.php b/resources/views/layouts/result.blade.php
index 04c53ea16b3cc83fe47b59f84a7f122639bd1c35..7ad73ddb914b0d227713b79197ec0396cd1dad55 100644
--- a/resources/views/layouts/result.blade.php
+++ b/resources/views/layouts/result.blade.php
@@ -5,14 +5,14 @@
 				@if( isset($result->price) && $result->price != 0)
 					<span class="result-price">{!! $result->price_text !!}</span>
 				@endif
-				<a href="{{ $result->link }}" target="{{ $metager->getNewtab() }}" rel="noopener">
+				<a href="{{ $result->link }}" rel="noopener">
 					{!! $result->titel !!}
 				</a>
 			</h2>
 			<a class="result-hoster" href="{{ $result->gefVonLink }}" target="{{ $metager->getNewtab() }}" rel="noopener" tabindex="-1">{{ trans('result.gefVon') . " " . $result->gefVon }} </a>
 		</div>
 		<div class="result-subheadline">
-			<a class="result-link" href="{{ $result->link }}" target="{{ $metager->getNewtab() }}" title="{{ $result->anzeigeLink }}" rel="noopener" tabindex="-1">
+			<a class="result-link" href="{{ $result->link }}" title="{{ $result->anzeigeLink }}" rel="noopener" tabindex="-1">
 				{{ $result->anzeigeLink }}
 			</a>
 			@if( isset($result->partnershop) && $result->partnershop === TRUE)
diff --git a/resources/views/parts/filter.blade.php b/resources/views/parts/filter.blade.php
index e69889e2b196a818d414eda4c714c84aec79b88c..6add1f637e67635195298a05f531b57676f9e65b 100644
--- a/resources/views/parts/filter.blade.php
+++ b/resources/views/parts/filter.blade.php
@@ -2,7 +2,7 @@
 		<div id="toggle-box">
 			<div id="settings">
 				<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('settings', ["fokus" => $metager->getFokus(), "url" => $metager->generateSearchLink($metager->getFokus())])) }}" @if(!empty($metager) && $metager->isFramed())target="_top" @endif>
-					<i class="fas fa-cogs"></i>
+				<img src="/img/icon-settings.svg"alt="" aria-hidden="true"id="result-img-settings">
 					@if($metager->getSavedSettingCount() > 0) <span class="badge badge-primary"></span>{{ $metager->getSavedSettingCount() }}@endif
 					@lang('metaGer.settings')&hellip;
 				</a>
@@ -11,7 +11,7 @@
 				@if(sizeof($metager->getAvailableParameterFilter()) > 0)
 				<div class="option-toggle">
 					<label class="navigation-element" for="options-toggle" tabindex="0">
-						<i class="fas fa-filter"></i> Filter&hellip;
+					<img src="/img/icon-filter.svg"alt="" aria-hidden="true"id="result-img-filter"> Filter&hellip;
 					</label>
 				</div>
 				@endif
@@ -41,7 +41,7 @@
 							</label>
 						@if($filter->{'get-parameter'} === "f")
 							<label for="custom-date" title="@lang('metaGer.filter.customdatetitle')">
-								<i class="fas fa-cogs"></i>
+							<img src="/img/icon-settings.svg"alt="" aria-hidden="true"id="result-img-settings">
 							</label>
 						</div>
 							<input id="custom-date" type="checkbox" form="searchForm" @if(Request::input('fc', "off") === "on")checked @endif name="fc" onchange="if(!this.checked){this.form.submit()}"/>
diff --git a/resources/views/parts/searchbar.blade.php b/resources/views/parts/searchbar.blade.php
index a04e14c38de8a5ace2e35aa627655edb7b074bbf..7c071f02e308d9ce53f9cf6fffca134f06895ac8 100644
--- a/resources/views/parts/searchbar.blade.php
+++ b/resources/views/parts/searchbar.blade.php
@@ -4,7 +4,7 @@
 			<div class="search-input-submit">
 				<div id="search-key">
 					<a id="key-link" @if(isset($apiAuthorized) && $apiAuthorized)class="authorized" @else class="unauthorized"@endif href="{{ action('KeyController@index', ['redirUrl' => !empty($metager) ? $metager->generateSearchLink($metager->getFokus()) : url()->full() ]) }}" @if(!empty($metager) && $metager->isFramed())target="_top" @endif data-tooltip="{{ trans ('index.key.tooltip') }}" tabindex="0">
-						<i class="fa fa-key" aria-hidden="true"></i>
+						<img @if(isset($apiAuthorized) && $apiAuthorized)src="/img/key-verified.svg" @else src="/img/key-icon.svg"@endif alt="" aria-hidden="true" id="searchbar-img-key">
 					</a>
 				</div>
 				<div class="search-input">
@@ -15,7 +15,7 @@
 				</div>
 				<div class="search-submit" id="submit-inputgroup">
 					<button type="submit" tabindex="-1" name="submit-query" title="@lang('index.searchbutton')" aria-label="@lang('index.searchbutton')">
-						<i class="fa fa-search" aria-hidden="true"></i>
+						<img src="/img/icon-lupe.svg"alt="" aria-hidden="true"id="searchbar-img-lupe">
 					</button>
 				</div>
 			</div>
diff --git a/resources/views/parts/sidebar.blade.php b/resources/views/parts/sidebar.blade.php
index 5793fb91e7a6387c59e3d8040c74718f58859d28..6f85855e60d9fc12b34b7917fd38f6dcbffdc463 100644
--- a/resources/views/parts/sidebar.blade.php
+++ b/resources/views/parts/sidebar.blade.php
@@ -8,54 +8,54 @@
   <ul class="sidebar-list">
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}"  id="navigationSuche">
-        <i class="fa fa-search" aria-hidden="true"></i>
+      <img src="/img/icon-lupe.svg"alt="" aria-hidden="true"id="sidebar-img-lupe">
         <span>{{ trans('sidebar.nav1') }}</span>
       </a>
     </li>
     <hr>
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/datenschutz/") }}" id="navigationPrivacy" >
-        <i class="fa fa-user-secret" aria-hidden="true"></i>
+      <img src="/img/lock.svg"alt="" aria-hidden="true"id="sidebar-img-lock"> 
         <span>{{ trans('sidebar.nav3') }}</span>
       </a>
     </li>
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/hilfe/") }}" >
-        <i class="fa fa-info" aria-hidden="true"></i>
+      <img src="/img/help-icon.svg"alt="" aria-hidden="true"id="sidebar-img-help"> 
         <span>{{ trans('sidebar.nav20') }}</span>
       </a>
     </li>
     <hr>
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende/") }}" >
-        <i class="fa fa-donate" aria-hidden="true"></i>
+      <img src="/img/donate-icon.svg"alt="" aria-hidden="true"id="sidebar-img-donate"> 
         <span>{{ trans('sidebar.nav2') }}</span>
       </a>
     </li>
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/beitritt/") }}" >
-        <i class="fa fa-users" aria-hidden="true"></i>
+      <img src="/img/member-icon.svg"alt="" aria-hidden="true"id="sidebar-img-member"> 
         <span>{{ trans('sidebar.nav23') }}</span>
       </a>
     </li>
     <hr>
     <li>
       <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/app/") }}" >
-        <i class="fa fa-mobile-alt" aria-hidden="true"></i>
+      <img src="/img/app-icon.svg"alt="" aria-hidden="true" id="sidebar-img-app"> 
         <span>@lang('sidebar.nav25')</span>
       </a>
     </li>
     <li>
-      <a class="inlink" href="https://maps.metager.de" target="_blank" >
-        <i class="fa fa-map" aria-hidden="true"></i>
-        <span>Maps.MetaGer.de</span>
+      <a  href="https://maps.metager.de" target="_blank" >
+      <img src="/img/icon-map.svg"alt="" aria-hidden="true" id="sidebar-img-map"> 
+        <span>{{ trans('sidebar.nav27') }}</span> 
       </a>
     </li>
     <hr>
     <li class="metager-dropdown">
       <input id="contactToggle" class="sidebarCheckbox" type="checkbox">
       <label for="contactToggle" class="metager-dropdown-toggle navigation-element" aria-haspopup="true" id="navigationKontakt" tabindex=0>
-        <i class="fa fa-comments" aria-hidden="true"></i>
+      <img src="/img/icon-contact.svg"alt="" aria-hidden="true" id="sidebar-img-contact"> 
         <span>{{ trans('sidebar.nav18') }}</span>
         <span class="caret"></span>
       </label>
@@ -77,7 +77,7 @@
     <li class="metager-dropdown">
       <input id="servicesToggle" class="sidebarCheckbox" type="checkbox">
         <label for="servicesToggle" class="metager-dropdown-toggle navigation-element" aria-haspopup="true" tabindex=0>
-          <i class="fa fa-wrench" aria-hidden="true"></i>
+        <img src="/img/icon-services.svg"alt="" aria-hidden="true" id="sidebar-img-services"> 
           <span>{{ trans('sidebar.nav15') }}</span>
           <span class="caret"></span>
         </label>
@@ -98,25 +98,26 @@
           <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/tips/") }}" >{{ trans('sidebar.titles.tips') }}</a>
         </li>
         <li>
-          <a class="outlink" href="https://gitlab.metager.de/open-source/MetaGer" >{{ trans('sidebar.nav24') }}</a>
+          <a href="https://gitlab.metager.de/open-source/MetaGer" >{{ trans('sidebar.nav24') }}</a>
         </li>
         <li>
-          <a class="outlink" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/tor/") }}" >{{ trans('sidebar.nav14') }}</a>
+          <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/tor/") }}" >{{ trans('sidebar.nav14') }}</a>
         </li>
         @if(LaravelLocalization::getCurrentLocale() == "de")
           <li>
-            <a class="outlink" href="https://shop.spreadshirt.de/metager/" rel="noopener" target="_blank">{{ trans('sidebar.nav26') }}</a>
+            <a href="https://shop.spreadshirt.de/metager/" rel="noopener" target="_blank">{{ trans('sidebar.nav26') }}<img src="/img/icon-outlink.svg"alt="" aria-hidden="true"id="sidebar-img-outlink"></a> 
           </li>
         @endif
         <li>
-          <a class="outlink" href="https://www.wecanhelp.de/430159004" >{{ trans('sidebar.nav17') }}</a>
+          <a href="https://www.wecanhelp.de/430159004" >{{ trans('sidebar.nav17') }} <img src="/img/icon-outlink.svg"alt="" aria-hidden="true"id="sidebar-img-outlink"></a>
+         
         </li>
       </ul>
     </li>
     <li class="metager-dropdown">
       <input id="languagesToggle" class="sidebarCheckbox" type="checkbox">
       <label for="languagesToggle" class="metager-dropdown-toggle navigation-element" aria-haspopup="true" id="navigationSprache" tabindex=0>
-        <i class="fa fa-globe" aria-hidden="true"></i>
+      <img src="/img/icon-language.svg"alt="" aria-hidden="true" id="sidebar-img-language"> 
         <span>{{ trans('sidebar.nav19') }} ({{ LaravelLocalization::getSupportedLocales()[LaravelLocalization::getCurrentLocale()]['native'] }})</span>
         <span class="caret"></span>
       </label>
diff --git a/resources/views/widget/widget.blade.php b/resources/views/widget/widget.blade.php
index 059d80cb09ca6d33127009df1447d2d8d20dc6b0..4eb89fcad5e7b050b329dd74084074eee1b2f511 100644
--- a/resources/views/widget/widget.blade.php
+++ b/resources/views/widget/widget.blade.php
@@ -6,7 +6,7 @@
 	<h1 class="page-title">{{ trans('widget.head') }}</h1>
 	<div class="card-medium">
 		<p>{{ trans('widget.body.1') }}</p>
-		<p id="widgetLinks" class="btn-group"><a class="btn btn-default" href="websearch/">{{ trans('widget.body.2') }}</a><a class="btn btn-default" href="sitesearch/">{{ trans('widget.body.3') }}</a></p>
+		<p id="widgetLinks"><a class="btn btn-default" href="websearch/">{{ trans('widget.body.2') }}</a><a class="btn btn-default" href="sitesearch/">{{ trans('widget.body.3') }}</a></p>
 		<p>{{ trans('widget.body.4') }}</p>
 	</div>
 @endsection
diff --git a/resources/views/zitatsuche.blade.php b/resources/views/zitatsuche.blade.php
index 78e5d978bfb6841739138b6736d7acf094d719b1..ef675254d9a4c44b1e296f47653d59410636b6bd 100644
--- a/resources/views/zitatsuche.blade.php
+++ b/resources/views/zitatsuche.blade.php
@@ -7,13 +7,7 @@
 	<div class="card-light">
 		<p>{{ trans('zitatsuche.subtitle') }}</p>
 		<form id="searchForm" class="form-inline" accept-charset="UTF-8">
-			<div class="form-group">
-				<label class="sr-only" for="q">{{ trans('zitatsuche.search-label') }}</label>
-				<div class="input-group">
-					<input type="text" class="form-control" id="q" name="q" placeholder="Suchworte" value="{{ $q }}">
-					<div class="input-group-addon"><button type="submit"><i class="fa fa-search" aria-hidden="true"></i></button></div>
-				</div>
-			</div>
+					<input type="text" class="form-control search-input-mini" id="q" name="q" placeholder="Suchworte" value="{{ $q }}"><button type="submit" class="search-btn-mini"><i class="fa fa-search" aria-hidden="true"></i></button>
 		</form>
 		@if($q !== "")
 			<hr />
diff --git a/tests/Browser/Pages/HomePage.php b/tests/Browser/Pages/HomePage.php
index 3ceecbff78ddc96186640287b178bc26aa3ac79d..6a5619bc2fca7c50d2857aaa121b6bd710b53a31 100644
--- a/tests/Browser/Pages/HomePage.php
+++ b/tests/Browser/Pages/HomePage.php
@@ -28,21 +28,24 @@ class HomePage extends Page
         $browser->assertPathIs($this->url())
             ->waitForText("Garantierte Privatsphäre", 1)
             ->assertTitle('MetaGer - Mehr als eine Suchmaschine')
+            ->assertSee("Gemeinnütziger Verein")
             ->assertSee("Vielfältig & Frei")
             ->assertSee("100% Ökostrom")
-            ->assertSee("Gemeinnütziger Verein")
+            ->assertSee("Jetzt MetaGer installieren")
             ->switchLanguage("English")
             ->waitForText("Guaranteed Privacy", 1)
             ->assertTitle('MetaGer: Privacy Protected Search & Find')
-            ->assertSee("Diverse & free")
-            ->assertSee("100 % renewable energy")
-            ->assertSee("Nonprofit organization")
+            ->assertSee("Run by a Nonprofit Organization")
+            ->assertSee("Diverse & Free")
+            ->assertSee("100% Renewable Energy")
+            ->assertSee("Install MetaGer Now")
             ->switchLanguage("Español")
             ->waitForText("Privacidad garantizada", 1)
             ->assertTitle('MetaGer: Buscar & encontrar seguro, proteger la privacidad')
-            ->assertSee("Diversa y libre")
-            ->assertSee("Energía 100% renovable")
             ->assertSee("Organización sin ánimo de lucro")
+            ->assertSee("Diversos y libres")
+            ->assertSee("100% electricidad verde")
+            ->assertSee("Instale MetaGer ahora")
             ->switchLanguage("Deutsch");
     }
 
diff --git a/webpack.mix.js b/webpack.mix.js
index 91565c2e243bffdfc366fe10fe028ee96cc9c072..5efff061f2901b8db391adffa5e57df9d8dac112 100644
--- a/webpack.mix.js
+++ b/webpack.mix.js
@@ -22,6 +22,9 @@ mix
   .less("resources/less/metager/metager.less", "public/css/themes/metager.css", {
     strictMath: true
   })
+  .less("resources/less/metager/startpage-only.less", "public/css/themes/startpage-only.css", {
+    strictMath: true
+  })
   .less("resources/less/metager/metager-dark.less", "public/css/themes/metager-dark.css", {
     strictMath: true
   })
@@ -34,9 +37,6 @@ mix
   .less("resources/less/font-awesome/solid.less", "public/css/fontawesome-solid.css", {
     strictMath: true
   })
-  .less("resources/less/bootstrap/bootstrap.less", "public/css/bootstrap.css", {
-    strictMath: true
-  })
   .less(
     "resources/less/metager/pages/key.less",
     "public/css/key.css", {