From c6badd6a90bb381111aa1bc15d75c612ab89576c Mon Sep 17 00:00:00 2001
From: Anton Schubert <ischluff@mailbox.org>
Date: Tue, 29 Aug 2017 20:58:39 +0200
Subject: [PATCH] add basic frame, basic login page

---
 assets/fonts/config.json                  |  68 ++--
 assets/fonts/iconfont.eot                 | Bin 8952 -> 9608 bytes
 assets/fonts/iconfont.svg                 |   8 +
 assets/fonts/iconfont.ttf                 | Bin 8784 -> 9440 bytes
 assets/fonts/iconfont.woff                | Bin 5540 -> 6016 bytes
 assets/fonts/iconfont.woff2               | Bin 4648 -> 5056 bytes
 assets/images/cms_logo.png                | Bin 0 -> 1139 bytes
 assets/images/cms_logo_dark.png           | Bin 0 -> 1139 bytes
 assets/images/cms_logo_white.png          | Bin 0 -> 1070 bytes
 assets/images/placeholder_image.jpg       | Bin 0 -> 5695 bytes
 assets/images/userprofile_placeholder.png | Bin 0 -> 1668 bytes
 cms_template/bearbeitungsmaske.html       |  91 -----
 conf/init.json                            |   6 +-
 src/app.less                              |  37 +-
 src/app.vue                               |   4 +-
 src/components/login.vue                  | 107 ------
 src/components/my-form.vue                |  14 +-
 src/components/my-input.vue               |  27 +-
 src/components/sidebar.vue                | 448 +++++++++++-----------
 src/components/topbar.vue                 |  16 +-
 src/icons.less                            |   6 +-
 src/main.js                               |   3 +-
 src/mixins.less                           |  13 +-
 src/variables.less                        |  22 +-
 src/views/{foo.vue => contentdemo.vue}    |  28 +-
 src/views/forms/formdemo.vue              |  90 +++++
 src/views/forms/login.vue                 | 184 ++++++++-
 27 files changed, 661 insertions(+), 511 deletions(-)
 create mode 100644 assets/images/cms_logo.png
 create mode 100644 assets/images/cms_logo_dark.png
 create mode 100644 assets/images/cms_logo_white.png
 create mode 100644 assets/images/placeholder_image.jpg
 create mode 100644 assets/images/userprofile_placeholder.png
 delete mode 100644 src/components/login.vue
 rename src/views/{foo.vue => contentdemo.vue} (97%)
 create mode 100644 src/views/forms/formdemo.vue

diff --git a/assets/fonts/config.json b/assets/fonts/config.json
index 3cf5182..816b468 100644
--- a/assets/fonts/config.json
+++ b/assets/fonts/config.json
@@ -214,6 +214,46 @@
         "ion-log-out"
       ]
     },
+    {
+      "uid": "f51722ab422ad49cb9807c0ec25298b6",
+      "css": "arrow-up",
+      "code": 62424,
+      "src": "custom_icons",
+      "selected": true,
+      "svg": {
+        "path": "M587.9 687.5L312.5 394.5 37.1 687.5 0 646.5 312.5 312.5 625 646.5Z",
+        "width": 625
+      },
+      "search": [
+        "ion-ios-arrow-up"
+      ]
+    },
+    {
+      "uid": "208eec9541a701370b5b539c522b23c2",
+      "css": "arrow-down",
+      "code": 62416,
+      "src": "custom_icons",
+      "selected": true,
+      "svg": {
+        "path": "M587.9 312.5L625 353.5 312.5 687.5 0 353.5 37.1 312.5 312.5 605.5Z",
+        "width": 625
+      },
+      "search": [
+        "ion-ios-arrow-down"
+      ]
+    },
+    {
+      "uid": "8b80d36d4ef43889db10bc1f0dc9a862",
+      "css": "user",
+      "code": 59393,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f2aa28a2548ed3d2be718d087b65ee21",
+      "css": "key",
+      "code": 59394,
+      "src": "fontawesome"
+    },
     {
       "uid": "efb8e2c22ada5ce5b02631e8b4be473d",
       "css": "ion-alert-circled",
@@ -3812,20 +3852,6 @@
         "ion-ios-arrow-back"
       ]
     },
-    {
-      "uid": "208eec9541a701370b5b539c522b23c2",
-      "css": "ion-ios-arrow-down",
-      "code": 62416,
-      "src": "custom_icons",
-      "selected": false,
-      "svg": {
-        "path": "M587.9 312.5L625 353.5 312.5 687.5 0 353.5 37.1 312.5 312.5 605.5Z",
-        "width": 625
-      },
-      "search": [
-        "ion-ios-arrow-down"
-      ]
-    },
     {
       "uid": "758672cdc1824ed73456f753a5bb108c",
       "css": "ion-ios-arrow-forward",
@@ -3896,20 +3922,6 @@
         "ion-ios-arrow-thin-up"
       ]
     },
-    {
-      "uid": "f51722ab422ad49cb9807c0ec25298b6",
-      "css": "ion-ios-arrow-up",
-      "code": 62424,
-      "src": "custom_icons",
-      "selected": false,
-      "svg": {
-        "path": "M587.9 687.5L312.5 394.5 37.1 687.5 0 646.5 312.5 312.5 625 646.5Z",
-        "width": 625
-      },
-      "search": [
-        "ion-ios-arrow-up"
-      ]
-    },
     {
       "uid": "dcf773d95d00f32634a80bf8dfd72927",
       "css": "ion-ios-at-outline",
diff --git a/assets/fonts/iconfont.eot b/assets/fonts/iconfont.eot
index f19d4c1db80f458d2c4602aa38e628a7b24f3f1d..2d36af5a3c69134771b852dd33a0b4d09a90916a 100644
GIT binary patch
delta 1389
zcmZ{jUrbwd6vxl`{qDVmw(_Uk-U}V+pnv$=!oYItV(r+HAxuJCLI`X#T3CT?ly-%U
z%`KD|A8<Z6c3<|O*`k;jGzN!0XndG+*$|^4n<OkG#s^J!n28KD3z@Cwa;I<h_VfFm
zbACOy=luRWJ~;i7H0=lY#Wy2qg6^8?n`wPJV*$XI0ib6f5lh|vvRo$rBLKENaCW>x
zTFD6jrHeFQF_;=kT$;JuNB%m1Ej1JyOHsUt{F|hCLnG%0E5Dj0Q=p-+dpI6DUhuAE
z1)$_H1+`%cSf1yD0P-I4eZz_IbNhbm$^A`%ZVGgdBnM*kp~gw_sQ?HhV&_tL*hb0n
zPvlpO#uD*c?>nhLd5a4CA(b2(pMSWv3ZUMm`6sD#JoVfD`mgETz4~=LidOvz4%Kc0
z(k#Fh@Et2aYNaN(K>(vMA5@SftTX*nri#m(_cvGdSypLV-n_TDx}|K5=5l%y_j-|j
zS@XY79nhm&xz|<<4k!Vt5~YPE&M*UZ<L}KP$e<Zoza5O=`cr_B{S>MY{`k&>YJ-hk
zCLoeFn1Dq3f(g(jZnT>~9>Ak(CXi2>`H%*}X!_B&CSW6dU}BWFS!x2$kX|%_0@7s@
zC?vgSV(j?leG@1qr42BkwqZ*#p#^}gQ4<ET&ctgO>Mi#fTjF+bf*bs;9uQGXazp`>
zATS|GE5MTUp1~5exL9qLL|46Emb{gos+Lfct4edY+0D5uc^Xi2BU@@~%KDnxtfh6)
zV8_y-x&u|^dGB2O{B_}tPu@Hj>Ftf|>F$ZtV0(L2w7UmyW_l+l=cgDoXB2XUe@ula
z&<2NFyBrqAabF8#JQA+qBGW2dTo8p9X?y6%@C0y1-%~)bl(Fn6!E3-ok#z%OVlRkH
z>~wk?{Uv^fMch@7p(>B$l+`M)M{+YQ9I95HZPqd<OBPQ9Yq6*bb>*o>8jQ}+jZWF3
zhN~N}5kp$Ic{jQ_E=P|<ZE9(tl|_z4(5kAzD6VN%QE|Am3x#!MN@4b`{*y=3C+EIM
zcihnm?208{vsxsV8qi!U6pTiLs%mTPjj{uErK&BOt)I=;&>@$ymJ3C}KoOqpNFVE)
z8^Q4-C;IPFzQbN<)le!^0wLeRd*X(*j-6&MI&snh0}R%qnvY>*o&M}%_O2gg=Bmx!
zz^>Zt8h}1s^h)E-0sk*YFmn9)Se;Kf+26Ad{kRvO`vCpfwOZ`T-hhQ)i&9wLH|5e_
zEsXpLHf~%BSoywx@4u?29N}W85$D%)IkrSfwm$C&9Ac+w7bZ*$o72VM0V9z<U2p|`
zcnNQ@%e+SL30H-6(JtPRqS94qURsoXmj1E~Tjq9dq;o+jv2k?j9>r6JB`Bj46_Cc_
zvGl;OaAqu?=BMK4^-d-3JD!{vwZ_uv<V0{JJ~(bO&Gd<(;qg4vK9kbFQPhP8%5M8V
DIQlvM

delta 749
zcmZXSO=uHA6vzLwyV-p9Be5ybDkjmQU@C$oYE@9EP!vn_P%BDxn{Kj&d@M<5st7?(
zML`UMCl4)Bp`eH~p2So1U=c-HiYPr51P=<0jinSNzReun;Wz*Jzc;({-mp{WHqWS=
zVIUSRt5IcSW7uClb+6P0uo!@$cv>@4&ko-vKL<$j@rgoEU2Z5q=TXWB6J|1fxBTET
z`C-6qCbhgt@pkfuNFB-4jYOh&b045w1zH9ST^nnC^fUo@XDJ^wC}2M>kCI;@zt>0?
zCVTsa8h-&FdGx2Uac$TBPzU*bYeQO_G}(FgCV7K=Fr%gQ>SMo^pP~XknAv=xRNtbP
z{ZtS>n>pS5cKX0;AoPyUuq({R|FC5DDi~#f70At1gw#b%u0p{JiU(;Z{JGS{miU|$
zVvGEv)V-TE<5uqf5k{ErkoVB%RDMC;;@4$o$<sXJQ*&-!%6D2?fB|a@0!TouOF&hi
zc2Gc-pmtIK8|i=mD)4Js06Xau0UV@n1aOjmiCGgJMvbip1aOny5`fBEUlgE)bV-0#
zpx!9}{R#Dq0PXy&ZMyQ%{?o<heU~c7wq@B)|M14hwYC$#;g*|?Ex+%j-T+dGzwJ2U
z^jdLwrqSRYf25BUsdqxAhUAE~k)A=k#1HmLx+o9IRmG=7l{K4TtJ=QW*3?mT*19Zs
zD|h^EnR)sBK-d8_uWPxu!50F0cS=tb+*&S|E%xNblSaW6&!)1uo}!i+b7ZuM@uXJJ
KQAunMd;S6NMzwwb

diff --git a/assets/fonts/iconfont.svg b/assets/fonts/iconfont.svg
index 05b329f..286e0dc 100644
--- a/assets/fonts/iconfont.svg
+++ b/assets/fonts/iconfont.svg
@@ -8,6 +8,10 @@
 <missing-glyph horiz-adv-x="1000" />
 <glyph glyph-name="search" unicode="&#xe800;" d="M643 386q0 103-73 176t-177 74-177-74-73-176 73-177 177-73 177 73 73 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69-80 0-153 31t-125 84-84 125-31 153 31 152 84 126 125 84 153 31 153-31 125-84 84-126 31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" />
 
+<glyph glyph-name="user" unicode="&#xe801;" d="M714 69q0-60-35-104t-84-44h-476q-49 0-84 44t-35 104q0 48 5 90t17 85 33 73 52 50 76 19q73-72 174-72t175 72q42 0 75-19t52-50 33-73 18-85 4-90z m-143 495q0-88-62-151t-152-63-151 63-63 151 63 152 151 63 152-63 62-152z" horiz-adv-x="714.3" />
+
+<glyph glyph-name="key" unicode="&#xe802;" d="M464 564q0 45-31 76t-76 31-76-31-31-76q0-23 11-46-23 11-47 11-44 0-76-32t-31-76 31-75 76-32 76 32 31 75q0 24-10 47 23-11 46-11 45 0 76 31t31 76z m475-393q0-9-27-36t-37-28q-5 0-16 9t-20 19-22 22-13 14l-54-53 123-123q15-16 15-38 0-23-21-45t-46-22q-22 0-37 16l-375 374q-98-73-204-73-91 0-148 57t-57 149q0 89 53 174t138 139 175 53q91 0 148-58t57-148q0-105-73-203l198-199 54 54q-2 2-14 14t-23 21-18 21-9 15q0 10 27 37t37 28q7 0 13-6 3-3 26-25t45-44 49-48 40-44 16-23z" horiz-adv-x="1000" />
+
 <glyph glyph-name="menu" unicode="&#xf0c9;" d="M857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" />
 
 <glyph glyph-name="chatbox" unicode="&#xf11b;" d="M148 69c-82 0-148 60-148 138v409c0 78 66 140 148 140h516c82 0 149-62 149-140v-409c0-78-67-138-149-138h-8v-125s-154 105-168 115-13 10-41 10h-299z" horiz-adv-x="812.5" />
@@ -30,10 +34,14 @@
 
 <glyph glyph-name="compass" unicode="&#xf37c;" d="M438 399c25 0 48-24 48-49s-23-49-48-49-49 24-49 49 23 49 49 49z m0 389c240 0 437-198 437-438s-197-438-437-438-438 198-438 438 197 438 438 438z m95-534l166 358-357-166-166-358z" horiz-adv-x="875" />
 
+<glyph glyph-name="arrow-down" unicode="&#xf3d0;" d="M588 538l37-41-312-334-313 334 37 41 276-293z" horiz-adv-x="625" />
+
 <glyph glyph-name="arrow-left" unicode="&#xf3d2;" d="M375 625l-293-275 293-275-41-37-334 312 334 313z" horiz-adv-x="375" />
 
 <glyph glyph-name="arrow-right" unicode="&#xf3d3;" d="M0 625l41 38 334-313-334-312-41 37 293 275z" horiz-adv-x="375" />
 
+<glyph glyph-name="arrow-up" unicode="&#xf3d8;" d="M588 163l-275 293-276-293-37 41 313 334 312-334z" horiz-adv-x="625" />
+
 <glyph glyph-name="color-wand" unicode="&#xf416;" d="M273 540l500-502-66-67-500 502z m-31 64v125h63v-125h-63z m0-398v125h63v-125h-63z m180 234v62h125v-62h-125z m59 191l-88-88-45 43 88 90z m-415 0l45 45 88-90-45-43z m0-326l88 88 45-43-88-90z m-66 135v62h125v-62h-125z" horiz-adv-x="773.4" />
 
 <glyph glyph-name="navigate" unicode="&#xf46e;" d="M406 756c225 0 407-181 407-406s-182-406-407-406-406 181-406 406 182 406 406 406z m0-656l188 438-438-188h250v-250z" horiz-adv-x="812.5" />
diff --git a/assets/fonts/iconfont.ttf b/assets/fonts/iconfont.ttf
index 850d4bf8e6af75aa955b1965e2d9d98061745f2c..3d01185e6f1b09ed15f42beefbbe80dd31720f1a 100644
GIT binary patch
delta 1406
zcmZ`&T})GF7=GXH{FMHTLOJazg>+CTKcy|o%Bg0xGBX(%LuS$tK$opR`BC~~so)O*
zv+QQx4D5{;OE4QI3)=;g?PAL=j2cCjEksA6Az8dx!i7sL#l;X;_8yMg-Fo_b&-1=t
z-gBP!`&oPUY3FRsj1B<b2Y~K@cr<nQhf0a!uK?K2z(l4>T;JsZ>?<^1HIy2TUzwZj
zrFav-m>Q0brzl@S@h#$_;js%t)juwf<Y_QRMq<&y;?H&K0A(*Jsf<uU_ck{KAnl{L
zb|juTfB4t#-M=Xjp+saXIS_3MG*44Z2EZGSo=@QkBNa=(QCyXX#$&g?u#!P(n+*Pv
zN{(lio^3n^knhs`t5iCc`s1CZpXl8^b1zS#AsfNrqdR~!39t>^p7IhKsK*`PLG7y+
zsz~vh?D>OSMb4i)l<U}<-@37NXX{Dco}bFE<saoAXJ28pu$F&F%E{c>>x{2Ks%-e*
z#{=|a`&o^#6f95%WE#cn9NVE<{ftR9q}d`tbF`p)P?MXl0gUu(kY{-QKm)mjT!jV@
zi2WKsBtE18XjgL`8lVVZYhDBBiEqrP1AUQ}Ve5_tFcLq}0Aw$3*8p!2PicT+;x!Fm
zCVr?vJp%bh8laSzc0>g=4%;>jv;?r7&;Tf9`}p}8>TUO1w#u2n3Qlmhxj;Z6$szKX
z1fKCpS^<`%_Y9TErKNI<C^(wjl2}vis%s5|IoZ|{Y;kg&B)a^lIFYTk?=RHuZ#URI
zVPEI!G0%~@%A(JvzPreO{LLpvLp?pAeUa`^19o)Og(KZ~Yo=#<dg(Hw=2RnBxv$BH
z4cg&ETbD)0I6U0S7#9jQZ~{}R92_t3@6q<qA>!h|G5VhY%B9q0M-e^(CI~D7j0rs;
zFyXkhrrBNQw&;Y4CJfZMM5`p%)wo0_Q-Xnd+gmNl3`(NT<!7xr*+yNt>X8PuGjyU=
z(#gSkKQ?1P3AVh6P7c??ePN?)_qMUnsSp}u*%!tQ#UR)$4&{>BQ*JXCKJ7n!GJSgS
z`*i0$rPyTC=@o-cbjV)C!2-T;*eA=zww^FM;<3xdaG_~Iub@S;v(`%`K5q$5bf!=B
zE{<WQZ?ykD)muzvgMwnY%^Rp)e!=Gq9(I;F=){T34A9qvvL1uTj=Kvhh5K%ln4__9
z6T2D<8vxm-<`0_p4)}jHyjtVdW4)eg3V#-!x$z(#_!8ZPjYjM$+=S&&NeU}_FFUdy
znnN$Z$f=hC)_?9l_%CNyN`s|VHP2n&-DRu9q_ag9?=g0kc41P3syVtCoL4QRUl&}(
zTD*d{*(}$<*Yel+O~EAG6T{*)aY<Yee;5DKjp!ElZlrZNVKH)O&0e&+%CQV3w4x2f
z@mMrHFv6c3kEOXYu?yJ+YwW;aax!6vrqjtu-&kxYW7K4Nba*6Fr0H`h!$5K@nf6Ua
U6N5#G=)~x7G!t9)+gzr90Q^BpX#fBK

delta 757
zcmZXSO=uHA6vzMjkxiQPD<O%2R+^-Wf@u*fRjNG{a)<|uiqsZG*(RH8As@>oG*t@0
zn|Ny6qlehif}jU6o<uyf7e$29QlzB^DJVTy$R<&WAn|SH=nlX6&;Pv{=DlIRUEPc>
z4VHQU?mB>}ct+OJuP!_y{{rCO#ODh^X{RLu{!5e(Cbd-NNqK38{50UwQgU9ScrW?$
zq>fbjK{8o<cm@#f0$njxkrUm|UM2zeD&<F23fM0Tv*h>5pHef0g^{tT)?dIw9?^6z
zE}uLb@{*5Q8#3~O#$9tAlUK<HvvNjRU-4P_$5h}KEtfBpnt$l9j|#$9O;@z<6X)Io
zp^xR`JDkV3#ib?=z)=#|htOU{NS)N<0Yto}c#sD5c!=63v(Fqh$IV#1QeUfY)OQ<!
z#$sdpDIc<LHT}(Ot7R<n0|Q+9h;{7$5k}b1`9Zo#sxI?9S3+m|^3C?#eyl@UT7Uyx
z$p8<SeGDoO<}kx5%p7OHMjB&40_qh8?4)Z9I7l}b=penZOA}#r+z2q>B3)!y<u$e#
z=px-_pc`oV8K6I;nPs5YSP?7LBk9O#I6b$kWlxUl_f7x4cfaS#FSvwuV>_Qms5gL=
zH~PI7JKR=Wcuwz^@J7bCBK1xP)Q}LdHqtkVxA@7u<8KO+!n)`YN5z^=wXNIsY&B_C
zTD2Yv?&_Y`C2(%z$BD25QeKhuxN3v~%IUO{EVyJ{&lQLCxs+OP#&hYMK2(&m2}f3*
OpG(OF1=SCMaOXchWW!zn

diff --git a/assets/fonts/iconfont.woff b/assets/fonts/iconfont.woff
index 45b941ddc3c78542c35c795181435ae8bcc82065..1314ef47c612cbc3a52675bb79e68512724283f8 100644
GIT binary patch
delta 3891
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

delta 3411
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

diff --git a/assets/fonts/iconfont.woff2 b/assets/fonts/iconfont.woff2
index 11a3158ac14a8fda85598e06f4233426a05ffc5e..c7e311dbda27a516029f944efcdcdf6361309117 100644
GIT binary patch
literal 5056
zcmV;x6F=;CPew8T0RR91029Cf4*&oF03_f50265d0RR9100000000000000000000
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
WG@Ex?*Z*soT4(&zXd~er#n=Sh;<5w)

literal 4648
zcmV+@64&i_Pew8T0RR9101_ww4*&oF03uKT01?js0RR9100000000000000000000
z0000SR0dW6g)#^r36^jX2nw1=mT3Vt0we=O3nTypAO(d@2Z2`%fd(5yA4NumjRPR|
z=s{%v*9qJhBG%CUK9ryl3QYWDM~Kn(BH%?7gngBY|1_PPL9<u<1vdo)ow%ns6o+W<
zvGqY13YQI~v?p8ISH0KW)6+A%EXI|Q$G9@^T4sTX)(03}h!Asl{Fy?|K1Yh~I2QDe
zwv>u8;ccGs!*|*c8FiGf%~DW0Ls7e^x2r}Qo`<&i$AL_aDyzO?1sPUzoK;x0D%kpN
z#hbvY>_xFM*71p75gji-Pp<)_G?%NPOZ%A%=sFM9Fqd@M3%CUXU{hxZ!>sYCgwsFo
zxGRnfe~#som9+i8HPg<_mC!|&jzGw(b-RBrxtp0inB*Xnls2UU+T%?*moiI0hl;Xy
zS4c|P0+8yf>Z@=S9%YrRlNHj}Hrrj&s{+rdjj<pIkZpO4&<5i%YL1cdRgVJ#2v~{j
zkUjejHITov@bEo!!ob~~z^N<m+`PU3@AzO8;|X8pBv;ikUxo$bN%<Lo=Y13Zi&Yf%
z4Xbc3d+gfYE65go+pi~<x^b?m@Mdxb0N5R%0H%sl#s5o#|D*>x<?|r38hi|(AN|Jn
z7mL1pNH8fV$@}`Squ%z-0$TOW>+|kk`d>NZRrD@rCQ*2J5X67r2^0nv4iP+J1SCk2
zLmmYb0XhhtGWgGpMPSiJg6NzgazKEuf^$HDuTpZr0ADEutgq*h0}lB5ut0=9ihxJI
zjX;e4COHs*Zvq4o^i>F?=&umSp}$TJ<biK_0tNJb_J|@}z1@Rh4dN>$PXK}MI7!mG
zf0!J9hx_~-S$o0we?C=rDk5I~d+DJ(vU%ei_y@Fc4+V4Z5cFrK9)XU<ueLDB=YCuV
zoE%MdzC>rP>CT8_ThWoFMr=GZZv0QG0gQ6Y__g~&ij}69m0IXmR5`FbyCA|_%r~rG
z&ccDLN9!wc@)y>?NXfukJW0u;&_oz7$HH<eVlCh-<lUNJ<}t7$wbgO8MUb>8W!PC^
zHaS91PUfdNnLlRKm2EGR-FD1dP1#A&l0s&?am<<$xicNeV?o40k4C*vcm6OIOu#}x
zic?s^414lKP!7Wq9{n>?C~}A_r^miLHZJASM?>Kx+;ug*g%~xjhXfKa3=rd4lWr()
z1+9_1xM;{0`Y*_urUU9$#__L95>_xAVG~@GYndrZUm~#3Cxd1hU1KiYb)FomG*YgV
zu_q6hNu+!$)P22$MD7BA;9Pr80iswRb^2$d%<{F7XI3{a@)pcf#Jjy%O*Kx}$<=n|
zDdF9Ae7Ac?G;Weo$yi3kboYKqp%TM9P>2MGc&O<X=j!0bRE5A+tTk7M@zAv`q$y9%
z!gx-4qk`Z*@i|SEptGXWnIu9xMbmnhsSvh}A;Du$*ShI5s9@of#@@Y1!Gb0v76=Bj
zpbYch#o3}v@EW@LTJ8i74w`GpQ$@vc;Augnk6MYKHlnDV7}P;5>Ld<zkqC7Yk9tV#
z@5KT)bmRi};cMIv1|0yPg8+00fDQxD5db<0K*s>+IKb=)Xk{p&$u^l{rcwHQ)Z8Iv
zO!TPQ8kmeYGbhg!q?zhEWaYWNO+~L%hssRPvgTiq8>UWheZOR@EpLzr_h+wwo)po)
z5(`{Q8uQ*^qzJMQHoxH78rJN2U7_o{o>f)e7R`!S3s|1>EUiX+X~nZ9m;redG{IU_
zk<AUYngQ#xwQss->n2$g->w}dXrW)Dx;}r`vkqW`@wN8YmY9Q+Zn;S-T{5ezf8<l^
z)C*%lBOvCV$vv~}_)~6|Z=1S8vV5LGFyX0gNb@*tnlXHdG-kng6SooOV?$Yv9~r{Z
zoLGK!iKuTaCSekrb{n<CjVa<!S_WIqGIe_$lZM$huwFJ11E`5XWw_@+-RWDeUrS{Z
zN}dhXFOg5jCbYAa=bnxC47>$-$&`>1bQIrIUyyruV_NYQTdkODZafn;rlsmzIKNo!
z&HHLmEA={P-JPNqZ@Oo5=4EUbmOpkQme13U^;=+S8|+5Yov4-6)|##co~`$$+FHXl
z&ED0=-VWA9jHVr6eRQcpPf-ini*X4ITWaCS2A8K{p=WhAt*Eu<ah={fht;<{^uxbm
zHt-<t@RlN0>~&-5uC8*acx+cqc&bizS2?rXRVXem-lMOdncf~R!83BMW!1^ES7zNe
ztkCK?R-cUekhM>2y1~p7Q>$rL0JrVkKkSQw>AC5^u!m^(_#jbqi1UUXMuQzuV;wmP
z20I48jsvh0U==wDum%7-1;A#&8gd$7X8_n)0Co<nC+7in0f1cuV6$K~nFH8709yc<
ze`&~uI%b#81X~U%SMXMTbttI@-iEG~Z`5Sh(cm`@0KW+=(XFAI*zJ`Dzas#C7XaNG
zx|uas8vMQh_yYi49vuFRTa7P8eS`tNMjy7$K1%BR0--<SQVJ<d9EDPcfuB_2KX4ji
z+yFq#@J|e`KWC)?W&<9zH{kdQc=}0!3?CoFqdf^xK@DO?kx210E|Ex~lIQ{401k;u
zAQB0q<hX=|R<GA>@%VgZ%Pg8;azm&W#D_c%VT%!-TnShvI1F@(hqF%enb>5_d@ye?
zw=ncT2<p9s!&`kmG9B}H0MK&74MD(+!vQU|+n1YwDCiW<&pJ(}Vs<VZS8D<+b}|`r
z;&4_7LP1oMI$+ID0SXG-*`10ZhBT2)i{uwt;wPmClDuUTM?$Y;oqmQsNxCFEeC*l1
zyH(K4ZEM2R`CzG@%IV`_GvZTEvFE8S>4Bs1FOgHBR|FGHn9o;sfx4X+;aNF48Bn)p
zBDQ~QDj115F~zIdHyt-HKFNi9_fM0Xqaa-2!<x_$pjzKon+v}wr{&X@Qw8u5r?V1a
zTss-#%bnzTawc@%dL5gy%nl$F9Mz<Tjj)q1Np>4+x5DJ*I4k1ogN(r*7;^A<ud)ZL
zvj_9lT6sK$-6$DsoA*Xh@g7)A2Q0?0&haaknT$2fje~GURqI3TO_=7>-!6QJ)ikxV
zxZRzHtPfU=$!Ah2r=(Y#PbXXxO{coZSfNKd2e%*d%Fe{B1<MMdqW!_6WbaC>W6S~|
z14d9s*E!qI=eIgdcCOtr!f6^oc`ZDL!+LAsJ25V|%Dy+C7=cy-H-#$tYVN=$EfeUJ
zb-K1p+*8n{s_DGGwyCP8&8%qe@Kc-HR2@BLV>^N)17|ki+s_zPNRt{?7!jq>bh$3K
zWB8QF>#Q9%+jE@F{>bKh?q|b7&7oIiS@ZL)hLvSDWk;8KC+?_xdr#kX>2dsaZI4-Q
z2Z~l2TIc5tiNalNx%A8*m~<gEmtOheFu?#lk0!jT$fS|NxGDi^uFg<uBqQE!5a^@V
z#_o-c)97Oa1c4!Ds>_eERv#Vjzj|V!!^R0uSs?d+kG-GyHfx%_i#^SfP<-(5^HGFn
zd^Q-3NAb}hn@B{7z^K&^hR7!1I^e{1E097YN<t|F)&G{>cm6{A2(`||TlZK=^Or{J
zqZEN`Tb_<?+Va(+N?F8bIiE$W%vk&={8VnyA+SGNae)U+Exmo|+lw+*j*?mQ_R@AO
zJ<rAtRHS^6g=A)!Iz#C%yc5aDKsqxKQ$~IksEs(l2*QE)BR7OaZo%QJZvwl+1y2}N
zfHsA(KAhCWVlnryr??6bB<}J5chY}qL0Emn-h1qIp#LM%px^rKOwvO>YYA=co*Q<t
ze8S2`cqwH;YyM^m@osdcCSpx!hir+oL$d6P?QfXPGpd;sC(pS_;}K@2Il4>^*QGaQ
z_APCfw@4)|a`Shln6i|8*3!PF%>O@64wprnVZ&yz9hG!+NKl7(YiHM1v2&BS7+3EH
z(FQ~f!rI!b264Y%x!=XmkcOlo<%J8Y{F_U1BypvJ%EpK9tHBsw8keXRo%2vH^uGDl
zfw#gWi)QyPUQ~8Wu_WnF#DDj>pZ;CMG^kjHMc@9kV=H${8pPs;!BDz<@bH_6`_i@*
zCPW6+uFA7(uF{fSr`9GY*J|0GoeXVx`<SNc%bB`NVWj(!gpuZ0xglvQYXVVW6a;-o
zG6x<7;R|3o>w3{$RPR`2<(YJLV|w~xT9>Z(rYqRhIhUdDqAgz7boh>&e&=Gf>(X6X
z7wJ2QurPxEXrP%fSj_S>(XJirr?EosT38#FnB^@pY0aT;kTfJS%fGoPB<s;GcXLP0
zZKI=BxnwYgWj!_&i;E@1p^d4`k_~%nA|v?cU$wenj#{@`y;`+h_!oVtvKZQV1bKv1
z4<$XJ^73!bME`}mv3u-44>X8sg;}-Y`u9R<WhuLOuYNL4SSwP33$g3lIpcE8{1wk4
z0&aq(2bu!@y7b@Dr`iYln8&4{(~pzjGC??rJe5+1S;R1y2cbgcO^f7Ye_M35Qnt3E
zmSqWOtcO4^gN0FRgu-N^9}jGR#2J7%G%ECBuW`1smW6PMJs>`*rl<hdh)Ox}=wQ3C
z)mj!=hEw*nwW@^a`p(S6eyTPyY>eH!Y0YXAIa@#Y@$zF;*+w#hiiE2mH1LJYLf~WZ
zbBJM0Y-eHMBI9Ne0Z{`{gfsgF9O}|Y!yQx&a@UG;HmjDF965RP<e>wtueGl2Cf2P>
zZBH%B*(mxZajVWmq8)@teO2n@xZ&O^E0>tEYV{`!S3(+3OcFy9XPaWTZfl-0FFC2t
z+LnfSkZ@Y<RB>3(#7!~|6ZG-MnowM&ar~SP!zj#UsMRJcU@s#|LK20$h=UKYzY8xR
zCftTF#JUagUP{0v5DU<;O&Um&a3;r)gu3`A6v3!z#^v~IHdInfoH%~?)R9xu_1(L+
zDb}v&?QZ?l9G*{ogbsG(+xS%#I4iUfK~I6!VI7_2T?isbbQcEB8rO>!5MmaQY9}Cl
zFB<8gHg08NXuMSNw!4-I*d$m7h^8ThO^8Yps@H)2-f{^!vG%5o_x;ETWmzrTyq4m3
z<@bRz#&&94Ts%rOF{!Q&FTR;l5@{A#53VL`xDOlOML_IAJfEY1(&#)Gfep~SZ*|cu
zNX)>9bzoKc;9zG*E?qUP0@=HFC^xPjT$yxjqPM4GpmU&7PTO<sE!CoJtz{8_z|}NF
zLlacyxo*31?V3qVR-CubWZ{GiJR`l9Mm>~zKe!|sPtL(JAb2RmM70w4gdS_)>0Kk&
zerA=+YPj;bW}Pi;A=+BYC1a?xrn5uDc2ULFg`#@^Pa1I6L2XwDYQ@-Dh^m}`h|a{p
zV(NkJkTmt)nC?EgdVA7>E1&a;E5s)9wxq=^7|Wxeg_H?O2n?Y#?Y^!N?QKawmDOjv
z`~M+(*fYP~9DVC|{)sM*n(&XWrBCIJs^4y1)G7cEf$0PO`;pK^1^Tae;c;o{HXih?
zr6o;(P64udLqCV!)@8T-Uc@LqR;gBBOK@@tGw@dt^kXF+0`OLHAMVUD{+(^<I&Ih~
zEM0d>6-3w;RQT5d0Gq*wQY{iRQXM?zQUhwZe(eMmyb1+P4B!^tAEgpS7E%Ry_ED7$
zUPcXrx20ON@-TG_zML8`!-pOy!6@&4NX|P6&MVx$-obb{T0pe}zJAz{FaoyfSqeOX
z<)joN_YF6}a2j|0BG*O~)8kM0BPn4XjQT?n{z-`hmFk4AQ93tPwP1xC_(<}bAPfJK
z(Y{yB>%kx^hkLJ_cM_aexRu1egYj^*fNJNIvW7V%jI_sAy;E1<$)MITC#5*=kNbw3
z;Fl*A{c@yh1;->KC?Z}4|0sDLIDQ!QhZ^{kCoPVdm)FIXrL*N&J#Gugr9gXvkD>-4
z%jG{Ug4%Bov*z`{i>hix&#V0a0LcBYvPu*x4J{obdd3V)m@>ya3oNq4GF%}P<Bu9j
z?Wyso6>qO=Htm%~drDh9a?1NT2@N_br;%NcTRqQ#dQLF=o170o(!(G*Vxlv{NzrII
zGHpetU47MzrCgv0Z+eleULLhRdbtb3k)^l6RG%g6a670J1mNJ0@TcM@<cnv|^0&Ou
z{ZC+j&GBM#-}qS&dTV4JR=4XX@+%OrgQ8K$EQ&p!4D;#Ze?Qf3Ide|0JY>}7C;lnW
eWKUl<-jUdI)=m6bDoiJT#HEdx7d{c}0RRB}XvuT{

diff --git a/assets/images/cms_logo.png b/assets/images/cms_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..52092859fb76b948a309f2bbf7d06ff47adf08c8
GIT binary patch
literal 1139
zcmV-(1dRKMP)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU$6-h)vRCwC#oLfi~Q5eV1ZfjauMkbY*
z-JvDAQZLm*RMtX)1zpIBB-E~Sk*L6+m!QHBf+$TQyI5p&@g=sRi0JZSQ4hJ531MJH
zfl1j#U8nzP&eF8(%!;0M&(3}y{5adr?l|+?GiS~>=bRjxrZKm-#KjnM0*!Sse4fH~
zd~XF_9sn)C&tfzB2+rf2P6uyviPGQA6C4MoGJC`v{NOWDZicAN{{-O;t(!aj!R!_J
zpdVNtc*Dskf@2+O(q0l|9l0dPI=+)2>*ydsT?`ULf=CbvB0(gG1d$*TL=h1|iFOy{
z>f!f)i?R)LM)+7Y@q;GDlAw#=fe@ud_*nhoc!z-zAQg-RZZHF6DksS2DQtFoOPYJR
z*1rw$UJ4iu_#@K=V7?GZjkE|pXz&u80XbkYC;(4MQ0Vv!%E4@~1l%V<=5b40cB@P-
zPwEGWxXSb)s^cWcJbr;)U>WP;kX5|)q^rR!@PP!GM=h8O8cC3OG=PPMjDQ4%=<NDX
ztRX?xl5U_lNrJ3nC-^8{cS^~{kcVZUm?CbOk<RA(f>uxi+9OblI&eO`3vk8w#Gt3y
z{AzHlmw)Nk;1Q?*k0nd0f~12Ymy>ddX;HWoCW1U6shr7wKC~OWlO?D<%I!v;$k<aP
z)}lKovhCDJPY2f}UuyMsyNmG$WCgNzhIYtl$J_i-Fi7@J?IdV0GfbT$L7^jy1X;%<
zFpvb9#~3h{1X)K039^n%l>|Ac2E|?sS4q%U1qC@&64a=mpl>P(YEn>8i)w;YlhmM$
zAfKo33yM0$1l6fjgZ_F_NX{qlLN!4T6%tgfS{uaU8mL!54uAZ6SjB9f&zRVvfS@Aq
zUdE1$tDa@`r0;@LQIx}ne~M-8%<U~njzp@l72J!09Nq>lk|<}q@lutYi+RAMUX;V9
zA<tuS*YEQ=jroCpxFjDiUktmJ>GJ|NF@0+8P^K@|@9EIAQ#8bU{QMa>C+=FZV;eK9
zdUi$Vm#q|VG5q<=5N23O+|5W}`q=y%abu7kxV)C4m;jzfT2LT<iW5>k#8}t~!*Ty>
zgRt=kNMi9FeD>?8;I=vNVjn1tS2L&_%Ta8%>L~IAZv#G<6Nhr9p|~8bCmmRjQi(4t
zjw3(3&%<YPB!&}YY^=SIlpP0hc+GhN(n4%=h3hEZgrou+%ULPXlQfg<1G>_aE`y}A
zAl*h{_!_b@PzCy1e6Au`P_oGfb3rX66@i2p7Q;t6_JCI`{5+xy$mWZK1+`jyflqHc
z1ezdeKgcxP0UY9ws|XK1C1wZHM_>3!r-qSJ%7UiQ1RA4_OkV}Vt6-Z+W1cSTJ0Yf+
z|2Kh5pPH*;_(f`yB?R$-g&LE5Fi9l4r8uYC!5jYwFaS7I>vLU5mF@rl002ovPDHLk
FV1lk92B81|

literal 0
HcmV?d00001

diff --git a/assets/images/cms_logo_dark.png b/assets/images/cms_logo_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b757f3f19dbfe78cd1042edf8a325fec18dc25b
GIT binary patch
literal 1139
zcmV-(1dRKMP)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU$6-h)vRCwC#oLg)RQ5=WQuB{fOqFOXn
zED|cN;RO$ZA|XNI5=Au9)-^7PAgRQQ1gRH^&}u|oN>p6>A}%2!E-xiK*rM7<B~>M<
zhPt%fj^D|gjj`F8-Lz-gv$OwS^5v|Z-RaD?GiT13bB0UPG?wbk^f1QUKw}Z6vDVjy
z@2$Yg1E3lBS#+kC;5_!}bnrrtDE*z>!O>tcb4F(22cM2|GemX#CkSt7om}Zp=B(s_
zK45*|4L73%XC02Dy(GvwIV8wBKS+>u+DTA^AweXF1d$*TM1n{V2_iuhTLi^BU67}X
z-~S`ZR?uPdwrb)BjgKZl7r{dzO0#)e{bGBEfMFmR3<u-EG?1a3pvGEXQ>r(!shf}b
zcOl+O0wV#xWjYVc6(XsU7U6>iufQ3Q4JLwo@Qeh7&KFPuW`f1w0SPkCEpghdGC4h|
z9VBv<=|fb<NsxJdgI!=5i*U#)R$I~)U<UX|g3RLsvq3!xGEW_tZ|D(_pb(ASDimu-
zkhP>6C{B_f>+A%d#On?zeKGXI(oswjmrT2R^Swa}s03{`97XNeAKnDGV!UI})!zJS
zaIBku={MjpC<RX>ODcz?gQ71d<rLF;;8Yj~a)qQ4Cjb7>Ztz}~ptc^aH*!UfJxStG
zbQi@^Csoo@!F9=}T8-1LV*CbKzO0p@9&$VJGJg~dkiAkT2^z=@Q|Cxf=wy)~>r4Rs
zNsxI)0WS%%PC5y)PKHW?Tyz9QUxunA=$nFqTq+5wS5VM*l>{{?D5zOAL8?irQ$|o@
zt?w&}YQ+Rqt8@hMR4F9qGkB?*phpS`s!**C;<*ND6p+Jj{~lJcH_vBGY*9c^0r((e
zMaHL|WwoU5fm1ywhY$Z0%34{fH#5<WuEthyzX#;-I&gtRIb)2cs_eelB5<i2<?w09
zbC}%c_xYU0yud#^k~f$?47--;^8z<9eQNGtra!FT)uCy(sEGOa`EzhiT(x9p8#6rh
z?6K*WEfa7t{Qk@!W_XgglZj*c*!){@VUQl2UQ1An1uyIt6v!{JL&`^tg`F^L_rE#_
z3y**V7Te*oUq=Mj&4CyDKvArk!NIW{#dfQPBJbdBzz4HqP|g$-m&3KB0}rH>;R_36
z$PaJx@Yx*k;RG2g>)VjDGzR4GBj+hd39-x*uAz7nlJXraXQk+#q?j!47fDOH7?RF{
zGzW>{&yW>^a?sb}bEUz85=}ms1ALHF0OF!p3?J#(175T6^N22>H(wYmsKw$7e0tj<
z&;UvML5AT9;1YjaMR@p>m>o<Xec?Nu97awN3z|X`sEjr;{V5oJ2)3G3=4ryd8)6Fi
ze-p^`skth~FS<5aLJ%KVs5I#hCWy{%5%%d$@WQ_W3;@xD-O8Z=?A8DP002ovPDHLk
FV1n#I1)l%_

literal 0
HcmV?d00001

diff --git a/assets/images/cms_logo_white.png b/assets/images/cms_logo_white.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fa0d3c8a53a9c98b33a3ff80d830687cfad09d9
GIT binary patch
literal 1070
zcmV+}1kwA6P)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#&`Cr=RCwC#n_EZ}Q5eV1Zfn|AyNDIF
zU5O&--b3X>bcccpGU!GH+KniqsKDMU>Lm!f7-Z6g3c3(P1w}-cmy#YTGYi5(i;R@Y
zN?oV_X}*nVab_3yjC*$W`@;{{y&PwM&YU^lnKM4aFa#0+e(?8~7}E@vg1w*tghX<t
z6Hx|EM7|iHpP_bs!Qo(>@J6PC$zUUBjTB_Gv(ZN3trUPRV0HKjzu-h>71+gsoU@h%
zIp;eIa!v~iiZLvR1+gF&#DZ853t~Ymh~tW&bgv5v#QFK(^s`A=CYfA{LI2S7WD;}+
z+#^wj%i9{F?acxGK_4&(j0O`yP)9*uiH^+cHlE7_LxeeHIt$Dsk#WaIllERqHdqYS
zfvN5I{9`c9%V)9ApoG5U0&tg4^Y*zxhut!p!;{BBluN?AM0J=2+2<E1r2eUq1=;5s
zm;&CjAp5)oxuAvx*{2%Jwp0WxsEt&B<t)fKS3offa?UnTOOIPs)nWs|SUP38UCnm}
zKfn`Vu1!*%78(Lvu+A97TZ`=ghdTH_{R%t)rQo3p?Y|J_x~B{khgc#i-BBQ)B$WvD
z^F!Og8&!Q!bAtPge5$-N6}EXBEb>w(Jpo)++~!-aoyFt?*?NWT`Mr3WKLC2FZq!SH
zvV>*n91ChYb6Ajb#(*9y$UZ~CFcuWO{9!>33F;)s$9qunrJqiM>NOPP(@9W`hJwE7
zB<Q1tf*N!aq?@E_odnf^D$N8{=_E*|LL)h!z%$(h-PcIaHPwBPiUm}1a{IY3C%O|E
zIsH2lyi>H}w5r;J<cf(+8tgqqisT4kxrC*130`pmMaj!QxeD9sF6g#Qm8HgJa3=wB
zWFI(JVS6LMKDTPI`QTg!%8|>EX9%_T@5?of1#TQ-)~o~@gt;`guP|@ckN48FpE_cB
z{ro97O=m6Dk?R<H({{VQ3|NW@(jRPzv#m5?UYoC^6N4LB2(E*2FiAcUaQP7UNna=#
zBKOcEmhJwp586-TnN*Hk{W>_ZZw^1$4UVO-oF!n3Q>h^fyft7&3d$J|&PS`o!Z)Ox
z1@lr!jvVvI)g0;31X(-lo5HgE!{d9-BVpe75}81>f#Ox6cD00V$)oZl+vfFdv5cgT
zgHvFDhs5O2_qqtWI=rv+-y=Ct1eJz;>Om1mqxU8wazMNj)EUuJX8mmVL3s=x`~voX
zV8kER6}f#`U@NFKV#`tBw+afE8nVMGq+PJdrZbm^S}$-C9HhEP*SnrWRNCZGWiBrT
oeXywqGpN{=<G@>yFa8l=0DZoNu^P*XH~;_u07*qoM6N<$f>Z16t^fc4

literal 0
HcmV?d00001

diff --git a/assets/images/placeholder_image.jpg b/assets/images/placeholder_image.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..844b8bad81b985189ed51c68a82d1e40dae878f8
GIT binary patch
literal 5695
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

literal 0
HcmV?d00001

diff --git a/assets/images/userprofile_placeholder.png b/assets/images/userprofile_placeholder.png
new file mode 100644
index 0000000000000000000000000000000000000000..2aeab59c33e4ca403fa3f4a68f28f1761fff300c
GIT binary patch
literal 1668
zcmaJ?dr;GM9FGM(KzZmU8@OT!$Y4U#CvAg;l?J5D76gPUB9=BZJ!sRWk+w`HLj>K<
z3Byf?^R)?r3OGR#apQDDhYru-0XH7v&WU)#C!AB<+)@PGA7i;oevkWnKHt~pF5458
z%iZ04-2eb^m&c(=^y){yOcw_I<z9R*onCyX7!{RFWK&i(i2+hAk%fVBgIb3rVQQ`2
z+>R{+0H+{*ii%PxRv;R}z*0LfESteZvjJdPl+C2p<X{w-h3WK03G|?)6$15I36v&K
zuoWg5hU??<Nh~>EnWD+h(TKHBR3x~}hR^~Aj8cO(L$1++*d)+|E<*1e*DwT5K&TuE
z^fD=xA`z4kBnAptf-nu6%K?RA7Dpfu3b~;mm(AhBY!1xfg>l3PpO3KF;N%0*(MWAJ
zl7z-i#-dLW2&X6$0>f6Tm1X6z2vP@g#9}eb=E7WV7>x+C*o~Ch7G|^rOevt4MMLUM
zl%6nx4n=hqv4N66bfzy$Fqo!gjh4wa(G7!bY7@+1u^lB%0Tqh>hZ+piXbY8uy~_7L
zg)J#|69y+?7GeXbp$C^8;0R?xWF)4h2r`8ra;LhOh!YfH!3h&6lTCCD3{KM<wS?6Y
zGQm+O5V_Gpsf`*;j!Ga}g{9YP5iTkg35DU@7@<_e;lzZCcxZSGpTpya^TYxkUpmD_
z3C#urW~8RL+E-lOj9iBu3?@1<ijn#}OdCrQ25_QmL_c#b>>2eYx!Rd?;mpW|>11HX
zaQ`*zsVmw+j_tH{>BF@7F(d7GlD775#UU;Lz!;OG(iB_o;na*AU+L>zwH@*0cut~M
zqiaUrE)^qQwlGU}plEy~>ZkN|@qR@`a{|%E#xt;>H0bl(h9zGeK95I+mv%NNdCELp
zP>_%FfO)7tLU&bS{q_r6f54lXqvNE}h?MPdD|xi{YUY~ml}8%-@WvGlRubyHe>*zC
znNhQ1XcgCPGnw#;%?NY-&$g$ihO>aQzMo#7+B{2itv%(PeI0(M`tob%tleoVx}Xl-
zFApquk<r8aJMyF1TSi7(Dl3I|$A)@)o8l`s@0;7XkrNS7tB*@v)zzAocGG$Ej!xHF
z(J^}cdQ)?M`6IJs^MS38zwvx9YR`Sqc&=ab?)iCzVlKlo^D>s>1+<#a>}-R)1Kw74
z*W~8KUXNe8G}OG<Z8rOU6(h9d>y-ta9}6lJVD$%4w-fy{<HGl~Z(NswnGJTlVjG@&
zo-yw7<OFm14}ZE3uZ`S!>>&54XUCP@OfT2xF8*D|R-HhKVomjzlIy$r7wnR?yuqjb
zdUVjY?ohe>az(&gF*UeES9+tmr`@~|of8op_Q%zAO-oCPpA3}$_$i+9;mG_i)0OBs
zE7SR2b5%%bS#V2D9Qp~g1_+WCbA4RK+Pp2TX1jToD&{2PMqo)PTq?a49U3yg_VVEe
zFCKmV?9R#1Iuc)BwmQLi%hM~xRh8{!yH&jxZ|pz3%T(^>G5b=X5?ww-7CN1BPW2EZ
zEWkrA7)1RATW@v;jwmR1+yiKI^*{dWYV7RdKEDTn5iO^0nX?w1&J3vU86C~t3qaZ4
zWb@Xxwj+m17ct5onv=K#w={@n@+NOLLtVXR%e=F)L#jaGme;_?wa*}_=&i_V(L<*&
z_1y9K726x`LEzbYPQQCqC3M(T+~L6}TQ@Qev>m@YI6RDQE5pb9&ftvCcDVm?<pS}2
z!Od$)n<59Rv$d-;n@&?{<z%#mT2p%<A|j7DkbShMh^*22UaW?*Wn~_{;aQ@=XT64V
fOdze3^}>}6WbWC~WBrcwcl;ORF-o*9dVS$Pkehjq

literal 0
HcmV?d00001

diff --git a/cms_template/bearbeitungsmaske.html b/cms_template/bearbeitungsmaske.html
index 5c34e86..7e38240 100644
--- a/cms_template/bearbeitungsmaske.html
+++ b/cms_template/bearbeitungsmaske.html
@@ -93,98 +93,7 @@
 					</ul>
 				</div>
 			</div>
-			
-			<div class="cms_content_form">
-				<form action="">
-					<div class="row">
-						<div class="tab8">
-							<div class="input_holder">
-								<header class="input_header">
-									<label for="">Titel</label>
-								</header>
-								<input type="text" value="" name="" placeholder="Titel hier eintragen">
-							</div>
-								
-							<div class="input_holder">
-								<header class="input_header">
-									<label for="">Permalink</label>
-									<div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div>
-								</header>
-									
-								<input type="text" value="" name="" placeholder="Permalink">
-							</div>
 
-							<div class="input_holder">
-								<header class="input_header">
-									<label for="">Inhalt</label>
-									<div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div>
-								</header>
-									
-								<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
-							</div>
-							
-							<!-- Fieldgroup -->
-							<div class="cms_fieldgroup fieldgroup_open">
-								<header class="cms_fieldgroup_header">Feldergruppe <div class="cms_fieldgroup_trigger"><i class="ion-chevron-down"></i></div></header>
-								<div class="cms_fieldgroup_content">
-									<div class="input_holder">
-										<header class="input_header">
-											<label for="">Noch ein Feld</label>
-											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
-										</header>
-											
-										<input type="text" value="" name="" placeholder="Noch ein Feld">
-									</div>
-
-									<div class="input_holder">
-										<header class="input_header">
-											<label for="">Noch ein Feld</label>
-											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
-										</header>
-											
-										<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
-									</div>
-								</div>
-									
-							</div>
-
-							<!-- Fieldgroup -->
-							<div class="cms_fieldgroup">
-								<header class="cms_fieldgroup_header">Feldergruppe <div class="cms_fieldgroup_trigger"><i class="ion-chevron-down"></i></div></header>
-								<div class="cms_fieldgroup_content">
-									<div class="input_holder">
-										<header class="input_header">
-											<label for="">Noch ein Feld</label>
-											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
-										</header>
-											
-										<input type="text" value="" name="" placeholder="Noch ein Feld">
-									</div>
-
-									<div class="input_holder">
-										<header class="input_header">
-											<label for="">Noch ein Feld</label>
-											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
-										</header>
-											
-										<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
-									</div>
-								</div>
-									
-							</div>
-
-
-						</div>
-						<div class="tab4">
-							<div class="cms_content_form_sidebar">
-								Sidebar
-							</div>
-						</div>
-					</div>
-					
-				</form>
-			</div>
-			
 		</div>
 		
 	</div>
diff --git a/conf/init.json b/conf/init.json
index 74c27bd..e6bf4ec 100644
--- a/conf/init.json
+++ b/conf/init.json
@@ -13,19 +13,19 @@
         {
             "name": "Dashboard",
             "to": "/",
-            "icon": "fa-home",
+            "icon": "icon-compass",
             "content": "<dashboard></dashboard>"
         },
         {
             "name": "Userlist",
             "to": "/userlist",
-            "icon": "fa-news",
+            "icon": "icon-contacts",
             "content": "<userlist></userlist>"
         },
         {
             "name": "Logout",
             "to": "/logout",
-            "icon": "fa-lock",
+            "icon": "icon-log-out",
             "content": "<logout></logout>"
         }
     ]
diff --git a/src/app.less b/src/app.less
index 188e42b..d584760 100644
--- a/src/app.less
+++ b/src/app.less
@@ -155,27 +155,39 @@ input[type=checkbox]:checked ~ .check_checkbox {
 input[type=checkbox]:checked ~ .check_checkbox:before{
   background: #28b78d!important;
 }
+button{
+  height: 40px;
+  background: @cms_brand_secondary;
+  border: none;
+  color: #FFF;
+  cursor: pointer;
+  text-transform: uppercase;
+  width: auto;
+  margin: 0px auto 0 auto;
+  padding: 0px 30px;
+  border-radius: 20px;
+}
 .cell_checkbox label {width:18px; height:18px; display:block; cursor:pointer; z-index:10; position: absolute; top:50%; margin-top:-9px;}
 .checkbox_holder:hover .check_checkbox {border: 1px solid #28b78d;}
 
 /*--------------------------------------------------------------
 # CMS CONTENT FORM
 --------------------------------------------------------------*/
-.cms_content_form {}
+/*.cms_content_form {}
 .cms_content_form_sidebar {background:#FFF; padding:25px; border:solid 1px #CCC;}
 .cms_fieldgroup {background:#f0f0f0; border:solid 1px #CCC; margin-bottom:20px;}
 .cms_fieldgroup_header {position:relative; color:#333; border-bottom:solid 1px #CCC; height:40px; line-height:40px; padding:0px 25px; font-weight:600;}
 .cms_fieldgroup_content {padding:25px; display:none;}
 .cms_fieldgroup_trigger {position:absolute; top:0px; width:100px; right:0px; padding-right:25px; cursor:pointer; height:40px; line-height:40px; text-align:right;}
 .cms_fieldgroup_trigger i {color:#333; font-size:18px;}
-.fieldgroup_open .cms_fieldgroup_content {display:block;}
+.fieldgroup_open .cms_fieldgroup_content {display:block;}*/
 
 
 /*--------------------------------------------------------------
 # Content Area
 --------------------------------------------------------------*/
-.cms_content_area {position:absolute; left:70px; top:40px; right:0px; transition:all 0.3s;}
-.cms_content_main {position:relative; top:0px; padding:25px; transition:all 0.3s;}
+.content_area {position:absolute; left:70px; top:40px; right:0px; transition:all 0.3s;}
+.content_main {position:relative; top:0px; padding:25px; transition:all 0.3s;}
 
 .cms_content_main_headline {margin-bottom:20px; position:relative;}
 .content_open_sidebar {left:250px;}
@@ -183,14 +195,14 @@ input[type=checkbox]:checked ~ .check_checkbox:before{
 /*--------------------------------------------------------------
 # Content Search Section
 --------------------------------------------------------------*/
-.cms_content_search_section {display:block; margin-bottom:30px;}
+/*.cms_content_search_section {display:block; margin-bottom:30px;}
 .searchbar_left {width:70%; float:left;}
 .searchbar_right {width:30%; float:left; padding-left:30px;}
 
 .input_search_replace {background:#e5e5e5;}
 .cms_searchbox {position:relative; display:block; height:35px;}
 .cms_searchbox input {position:absolute; left:0px; top:0px; right:0px; padding-left:40px;}
-.cms_searchbox .fa {line-height:35px; font-size:13px; background:none; color:#999; z-index:500; position:absolute; left:15px;}
+.cms_searchbox .fa {line-height:35px; font-size:13px; background:none; color:#999; z-index:500; position:absolute; left:15px;}*/
 
 /*--------------------------------------------------------------
 # CMS ADD BUTTON
@@ -347,26 +359,21 @@ input[type=checkbox]:checked ~ .check_checkbox:before{
 /*--------------------------------------------------------------
 # Breakpoints
 --------------------------------------------------------------*/
-@media(max-width:1100px) {
+@media(max-width: @screen-md-max) {
 	/*.cms_open_mobilenav {display:block;}
 
 	.cms_sidebar {left:0px;}
 	.cms_content_area {left:0px;}
 	.cms_content_sidebar {left:0px;}
-	
+
 	.content_open_sidebar {left:225px;}
 	.content_open_sidebar .cms_content_sidebar {left:225px;}
 	.open_sidebar {left:0px;}*/
-
-  .cms_sidebar {left:0px;}
-
 }
 
-@media(max-width:768px) {
-	.cms_content_sidebar, .content_open_sidebar .cms_content_sidebar {left:inherit; position:relative; width:100%; top:0px; margin-bottom:30px;}
+@media(max-width: @screen-xs-max) {
 	.cms_content_main {margin-left:0px;}
-	.cms_content_sidebar .sub_navigation ul li {width:100%;}
-	
+
 	.table_cell {display:block; padding:0px 5px;}
 	.cell_checkbox {display:table-cell; width:40px;}
 	.cell_image {display:none;}
diff --git a/src/app.vue b/src/app.vue
index f03e2aa..fd095d5 100644
--- a/src/app.vue
+++ b/src/app.vue
@@ -19,8 +19,8 @@
 </style>
 
 <script>
-import Topbar from './components/navigation.vue';
-import Sidebar from './components/navigation.vue';
+import Topbar from './components/topbar.vue';
+import Sidebar from './components/sidebar.vue';
 
 export default {
     name: "App",
diff --git a/src/components/login.vue b/src/components/login.vue
deleted file mode 100644
index 94cc24f..0000000
--- a/src/components/login.vue
+++ /dev/null
@@ -1,107 +0,0 @@
-<style>
-/*--------------------------------------------------------------
-# LOGINBOX
---------------------------------------------------------------*/
-#loginbox_container {
-  /* Center vertically */
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: -webkit-flex;
-    display: flex;
-    -webkit-box-pack: center;
-    -ms-flex-pack: center;
-    -webkit-justify-content: center;
-    justify-content: center;
-    -webkit-box-align: center;
-    -ms-flex-align: center;
-    -webkit-align-items: center;
-    align-items: center;
-  width:100%;
-  height:100%;
-  position:absolute;
-  top:0px; left:0px; bottom:0px; right:0px;
-  background:#28b78d;
-}
-.loginbox_holder {
-  max-width:380px;
-  width:90%;
-  margin:0px;
-  position:relative;
-  display:block;
-  /* border:solid 1px #FFF; */
-  border-radius:2px;
-  /*background:#FFF;*/
-  height:auto;
-  padding:20px;
-}
-
-.loginbox_logo {line-height:0; margin-bottom:15px; text-align:center;}
-/*.loginbox_logo p {font-size:25px; line-height:33px; color:#000;}
-.loginbox_logo_icon {width:35px; float:left; margin-right:10px;}*/
-.loginbox_logo img {width:100%; max-width:72px;}
-
-.loginbox_content {}
-p.login_intro_text {font-size:14px!important; margin-bottom:20px; line-height:1.5;}
-.loginbox_content p {text-align:center; color:#FFF; font-size:15px; line-height:1.2;}
-.login_input {
-  margin-bottom:10px;
-  border:none;
-  height:40px;
-  position:relative;
-}
-.login_input:before {
-  font-family: 'FontAwesome';
-  position:absolute;
-  left:10px;
-  top:5px;
-  font-size:20px;
-  color:#28b78d;
-  content:"";
-}
-.login_form {
-  text-align:center;
-}
-.login_user:before {content:"\f007";}
-.login_pw:before {content:"\f084";}
-.login_submit {
-  width:auto;
-  margin:0 auto;
-  display:inline-block;
-  margin-top:10px;
-}
-.login_submit:before {content:"\f090"; left:15px; top:6px;}
-
-.login_input input {
-  border:none;
-  background:none;
-  height:40px;
-  width:100%;
-  padding: 0px 10px 0px 35px;
-  background:#f4f4f4;
-  border:solid 1px #FFF;
-}
-.loginbox_content .login_input input:focus {border:solid 1px #152129; background:#FFF;}
-.login_form input[type="submit"] {
-  height:40px;
-  background:#152129;
-  border:none;
-  color:#FFF;
-  cursor:pointer;
-  text-transform:uppercase;
-  width:auto;
-  margin:0px auto 0 auto;
-  padding: 0px 20px 0px 40px;
-  border-radius:20px;
-}
-.login_form input[type="submit"]:hover {
-  background:#1f3441;
-}
-.login_error {
-  display:block;
-  text-align:center;
-  color:#FFF;
-  line-height:1.2;
-  margin-top:20px;
-}
-.login_error p {text-transform:uppercase; display:inline-block; background:#c70e00; padding:5px; font-weight:600; font-size:14px;}
-</style>
\ No newline at end of file
diff --git a/src/components/my-form.vue b/src/components/my-form.vue
index 3c5855b..cbaf8ef 100644
--- a/src/components/my-form.vue
+++ b/src/components/my-form.vue
@@ -1,8 +1,16 @@
 <template>
     <form @submit.prevent="submit()">
-        <div v-for="(e, i) in elements" :key="i">
-            <my-input :label="e.label" :type="e.type" v-model="formData[i]" @validate="validateData(i)"></my-input>
-            <span class="error" v-if="formErrors[i]">required</span>
+        <div v-for="(item, key) in elements" :key="key">
+            <my-input
+                :description="item.description"
+                :label="item.label"
+                :name="key"
+                :placeholder="item.placeholder"
+                :type="item.type"
+                v-model="formData[key]"
+                @validate="validateData(key)">
+            </my-input>
+            <span class="error" v-if="formErrors[key]">required</span>
         </div>
         <div>
             <button v-for="(b, i) in buttons" :key="i" @click.prevent="buttonClick(b.type)">{{ b.label }}</button>
diff --git a/src/components/my-input.vue b/src/components/my-input.vue
index 5f6ee87..edd385b 100644
--- a/src/components/my-input.vue
+++ b/src/components/my-input.vue
@@ -1,8 +1,21 @@
 <template>
-    <div class="My-Input">
-        <label>{{ label }}</label>
-        <input type="text" v-if="type == 'text'" v-model="currentValue" @blur="validate()" @change="() => $emit('change', currentValue)">
-        <input type="password" v-else-if="type == 'password'" v-model="currentValue" @blur="validate()" @change="() => $emit('change', currentValue)">
+    <div class="input_holder">
+        <div class="input_header" v-if="label">
+            <label :for="name">{{ label }}</label>
+        </div>
+        <div class="input_description" v-if="description">{{ description }}</div>
+        <input type="text" v-if="type == 'text'"
+            v-model="currentValue"
+            :name="name"
+            :placeholder="placeholder"
+            @blur="validate()"
+            @change="() => $emit('change', currentValue)">
+        <input type="password" v-else-if="type == 'password'"
+            v-model="currentValue"
+            :name="name"
+            :placeholder="placeholder"
+            @blur="validate()"
+            @change="() => $emit('change', currentValue)">
     </div>
 </template>
 
@@ -10,9 +23,11 @@
 export default {
     name: "MyInput",
     props: [
+        'description',
         'label',
-        'type',
         'name',
+        'placeholder',
+        'type',
         'value'
     ],
     data() {
@@ -31,4 +46,4 @@ export default {
         }
     }
 }
-</script>
+</script>
\ No newline at end of file
diff --git a/src/components/sidebar.vue b/src/components/sidebar.vue
index db7bd6e..913ad62 100644
--- a/src/components/sidebar.vue
+++ b/src/components/sidebar.vue
@@ -1,262 +1,282 @@
 <template>
-    <div class="cms_sidebar open_sidebar">
-
-        <div class="cms_sidebar_trigger"><i class="icon icon-arrow-left" aria-hidden="true"></i></div>
-
-        <div class="cms_sidebar_icons_bg"></div>
-        <div class="cms_sidebar_mainnav">
-            <div class="cms_sidebar_inner">
-                <!-- Sidebar Section -->
-                <div class="cms_sidebar_section main_navigation">
+    <div class="sidebar">
+        <div class="wrapper">
+            <div class="inner">
+                <nav class="mainnav">
                     <ul>
-                        <li><a href="#"><i class="icon icon-compass" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Dashboard</span></a></li>
-                        <li><a href="#"><i class="icon icon-images" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Medien</span></a></li>
-                        <li><a href="#"><i class="icon icon-document-text" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Seiten</span></a></li>
+                        <li v-for="(item, i) in items" :key="i">
+                            <router-link :to="item.to">
+                                <i :class="['icon', item.icon]"></i>
+                                <div class="title">{{ item.name }}</div>
+                            </router-link>
+                        </li>
+
+                        <hr>
+                        <li><a href="#">
+                            <i class="icon icon-images" aria-hidden="true"></i>
+                            <div class="title">Medien</div>
+                        </a></li>
+                        <li><a href="#">
+                            <i class="icon icon-document-text" aria-hidden="true"></i>
+                            <div class="title">Seiten</div>
+                        </a></li>
                         <li class="active">
-                            <a href="#"><i class="icon icon-paper-airplane" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Beiträge</span></a>
+                            <a href="#"><i class="icon icon-paper-airplane" aria-hidden="true"></i>
+                            <div class="title">Beiträge</div></a>
                             <!-- Sub Navigation -->
-                            <div class="sub_navigation">
-                                <span class="sub_navigation_headline">Kategorie</span>
+                            <div class="subnav">
+                                <div class="subnav_headline">Kategorie</div>
                                 <ul>
                                     <li class="active"><a href="#">News</a></li>
                                     <li><a href="#">Veranstaltungen</a></li>
                                     <li><a href="#">Mitarbeiter</a></li>
-                                    <li class="nav_add_more"><a href="#">+</a></li>
                                 </ul>
                             </div>
                         </li>
-                        <li><a href="#"><i class="icon icon-cube" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Module</span></a></li>
-                        <li><a href="#"><i class="icon icon-navigate" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Navigation</span></a></li>
+                        <li><a href="#">
+                            <i class="icon icon-cube" aria-hidden="true"></i>
+                            <div class="title">Module</div>
+                        </a></li>
+                        <li><a href="#">
+                            <i class="icon icon-navigate" aria-hidden="true"></i>
+                            <div class="title">Navigation</div>
+                        </a></li>
 
-                        <li><a href="#"><i class="icon icon-chatbox" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Sprachen</span></a></li>
-                        <li><a href="#"><i class="icon icon-pie-graph" aria-hidden="true"></i> <span class="main_navigation_text l1_title">SEO & Pagespeed</span></a></li>
+                        <li><a href="#">
+                            <i class="icon icon-chatbox" aria-hidden="true"></i>
+                            <div class="title">Sprachen</div>
+                        </a></li>
+                        <li><a href="#">
+                            <i class="icon icon-pie-graph" aria-hidden="true"></i>
+                            <div class="title">SEO & Pagespeed</div>
+                        </a></li>
 
-                        <li><a href="#"><i class="icon icon-contacts" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Benutzer</span></a></li>
-                        <li><a href="#"><i class="icon icon-gear" aria-hidden="true"></i> <span class="main_navigation_text l1_title">Settings</span></a></li>
+                        <li><a href="#">
+                            <i class="icon icon-contacts" aria-hidden="true"></i>
+                            <div class="title">Benutzer</div>
+                        </a></li>
+                        <li><a href="#">
+                            <i class="icon icon-gear" aria-hidden="true"></i>
+                            <div class="title">Settings</div>
+                        </a></li>
                     </ul>
-                </div>
-
+                </nav>
             </div>
         </div>
 
         <!-- User Profile -->
-        <!-- <div class="user_profile">
-            <a class="user_profile_trigger">
-                <span class="user_profile_image"><i class="icon icon-person" aria-hidden="true"></i></span>
-                <span class="user_profile_text">Hans Zimmer <span class="user_role">Administrator</span></span>
-                <span class="user_profile_open"><i class="fa fa-angle-up" aria-hidden="true"></i></span>
-                <span style="clear:both; display:block;"></span>
+        <div class="user_profile">
+            <a class="trigger">
+                <div class="image"><i class="icon icon-person" aria-hidden="true"></i></div>
+                <div class="text">Hans Zimmer <div class="role">Administrator</div></div>
+                <div class="btn"><i class="icon icon-arrow-up" aria-hidden="true"></i></div>
             </a>
-            <div class="user_profile_content">
+            <div class="content">
                 <ul>
-                    <li><a href=""><i class="icon icon-color-wand" aria-hidden="true"></i><span class="navigation_text">Profil anpassen</span></a></li>
-                    <li><a href=""><i class="icon icon-log-out" aria-hidden="true"></i><span class="navigation_text">ausloggen</span></a></li>
+                    <li><a href="#">
+                        <i class="icon icon-color-wand" aria-hidden="true"></i>
+                        <div class="title">Profil anpassen</div>
+                    </a></li>
+                    <li><a href="#">
+                        <i class="icon icon-log-out" aria-hidden="true"></i>
+                        <div class="title">Ausloggen</div>
+                    </a></li>
                 </ul>
             </div>
-        </div> -->
+        </div>
     </div>
 </template>
 
 <style lang="less">
-	/*--------------------------------------------------------------
-	# Left Sidebar (Main Navigation)
-	--------------------------------------------------------------*/
-	.cms_sidebar {position:fixed; left:0px; top:40px; bottom:0px; background:#152129; width:70px; transition:all 0.3s; z-index:2000;}
-	.cms_sidebar_trigger {
-	  position:absolute;
-	  left:100%;
-	  bottom:5px;
-	  background:#1a2e3b;
-	  width:30px;
-	  height:30px;
-	  color:#FFF;
-	  padding-top:;
-	  text-align:center;
-	  font-size:20px;
-	  cursor:pointer;
-	  transition:all 0.3s;
-	}
-	.cms_sidebar_trigger:hover {background:#28b78d;}
-	.trigger_active i:before {
-	  transform:rotate(180deg);
-	}
+    @import "../mixins";
 
-	.cms_sidebar_mainnav {height:100%; /*overflow-y:scroll;*/}
-	.cms_sidebar_inner {position:relative; width:auto;}
-	.cms_sidebar_icons_bg {background:#1a2e3b; width:70px; position:absolute; top:0px; left:0px; bottom:0px;}
-	.main_navigation ul {list-style-type:none;}
-	.main_navigation ul li {padding:0px; line-height:1.2; color:#FFF; position:relative; width:70px;}
-	.main_navigation ul li .fa, .main_navigation ul li .icon {
-	  color:#FFF;
-	  font-size:22px;
-	  text-align:center;
-	  position:relative;
-	  left:0;
-	  margin-bottom:5px;
-	  display:block;
-	  transition:all 0.3s;
-	}
-	.main_navigation ul li .fa {font-size:16px;}
-	.main_navigation ul li .main_navigation_text {
-	  position:relative;
-	  font-size:10px;
-	  display:block;
-	  color:#FFF;
-	  text-align:center;
-	  width:auto;
-	  float:none;
-	  line-height:1;
-	  /*transition:all 0.3s;*/
-	}
-	.main_navigation ul li a {color:#FFF; display:block; height:auto; width:70px; height:auto; padding:8px 0px; text-align:center;}
-	.main_navigation ul li:after {clear:both; content:""; display:block;}
-	.main_navigation ul li:hover {background:rgba(40,183,141,0.3);}
+    /*--------------------------------------------------------------
+    # Left Sidebar (Main Navigation)
+    --------------------------------------------------------------*/
+    .sidebar {
+        position: fixed;
+        left: 0px;
+        top: 40px;
+        bottom: 0px;
+        background: @cms_bg_light;
+        color: white;
+        width: 70px;
+        transition: all 0.3s;
+        z-index: 2000;
 
-	.main_navigation ul li.active {background:#28b78d;}
-	.main_navigation ul li.active .fa {background:#19435e;}
+        &>.wrapper {
+            height:100%; /*overflow-y:scroll;*/
 
-	.main_navigation ul li.active .submenu {border-top:solid 1px rgba(255,255,255,0.2);}
-	.main_navigation .submenu {margin-left:45px;}
-	.main_navigation .submenu .submenu_headline {padding-left:15px;}
-	.main_navigation .submenu li {}
-	.main_navigation .submenu li .main_navigation_text {
-	  font-size:14px;
-	  display:block;
-	  color:#FFF;
-	  text-align:left;
-	  float:left;
-	  padding:0px 10px 0px 15px;
-	  width:180px;
-	  line-height:35px;
-	}
+            &>.inner {
+                position:relative; width:auto;
+            }
+        }
 
-	.main_navigation .submenu li a {height:35px; padding:0px; text-align:left;}
-	.main_navigation .nav_add_more {border-top:solid 1px rgba(255,255,255,0.2);}
-	.main_navigation .submenu li.nav_add_more .main_navigation_text {text-align:center;}
-	.main_navigation .submenu li:hover {background:rgba(56,29,29,0.6);}
+        /* Main navigation */
+        .mainnav {
+            ul {
+                list-style-type: none;
+                li {
+                    position: relative;
+                    width: 70px;
+                    padding: 0;
+                    line-height: 1.2;
+                    color: white;
+                    text-align: center;
 
-	/* Submenu */
-	.sub_navigation {
-	  position:absolute;
-	  left:100%;
-	  top:0px;
-	  background:#152129;
-	  width:180px;
-	  height:auto;
-	  transition:all 0.3s;
-	  /*visibility:visible;
-	  opacity:1;*/
-	  visibility:hidden;
-	  opacity:0;
-	}
-	.sub_navigation ul {list-style-type:none;}
-	.sub_navigation ul li {font-size:12px; display:block; text-align:left; padding:0px 10px 0px 15px; width:auto; line-height:30px; color:#FFF; position:relative;}
-	.sub_navigation ul li a {color:#FFF; display:block; width:100%; height:100%; padding:0px; text-align:left;}
-	.sub_navigation .nav_add_more {border-top:solid 1px rgba(255,255,255,0.2); border-bottom:solid 1px rgba(255,255,255,0.2); display:block;}
-	.sub_navigation .nav_add_more a {display:block; text-align:center; color:rgba(255,255,255,0.5); font-weight:600; font-size:20px;}
-	.sub_navigation ul li.active, .cms_content_sidebar .sub_navigation ul li:hover {background:#28B78D;}
-	.sub_navigation ul li.active:after {
-	  right: 0;
-	  top: 50%;
-	  border: solid transparent;
-	  content: " ";
-	  height: 0;
-	  width: 0;
-	  position: absolute;
-	  pointer-events: none;
-	  border-color: rgba(255, 255, 255, 0);
-	  border-right-color: #f5f3f4;
-	  border-width: 10px;
-	  margin-top: -10px;
-	}
-	.sub_navigation_headline {color:#FFF; padding:0px 10px 0px 15px; font-weight:600; width:100%; display:block; border-bottom:solid 1px #FFF; line-height:50px; font-size:12px;}
+                    &:after {clear:both; content:""; display:block;}
+                    &:hover {
+                        background:rgba(40,183,141,0.3);
+                        .subnav {
+                            visibility:visible;
+                            opacity:1;
+                        }
+                    }
 
-	.main_navigation ul li:hover .sub_navigation {
-	  visibility:visible;
-	  opacity:1;
-	}
+                    &.active {background:#28b78d;}
+                    // &.active .fa {background:#19435e;}
 
+                    /*&.active .submenu {border-top:solid 1px rgba(255,255,255,0.2);}*/
 
-	/* Open Sidebar */
-	.open_sidebar {width:250px;}
-	.open_sidebar .sub_navigation {
-	  visibility:visible;
-	  opacity:1;
-	  left:70px;
-	}
-	.open_sidebar .main_navigation ul li.active {position:inherit;}
-	.open_sidebar .sub_navigation ul li.active {position:relative;}
-	.open_sidebar .main_navigation>ul>li.active>a>i:after {
-	  right: 0;
-	  top: 75%;
-	  border: solid transparent;
-	  content: " ";
-	  height: 0;
-	  width: 0;
-	  position: absolute;
-	  pointer-events: none;
-	  border-color: rgba(255, 255, 255, 0);
-	  border-right-color: #152129;
-	  border-width: 7px;
-	  margin-top: -7px;
-	}
+                    .icon {
+                        display: block;
+                        color: white;
+                        font-size: 22px;
+                        margin-bottom: 5px;
+                        transition: all 0.3s;
+                    }
 
-	/*.open_sidebar {width:225px;}
-	.open_sidebar .main_navigation ul li .main_navigation_text {
-	  width:auto;
-	  float:left;
-	  text-align:left;
-	  padding:0px 10px 0px 15px;
-	  line-height:40px;
-	  font-size:14px;
-	}
-	.open_sidebar .cms_sidebar_icons_bg {width:45px;}
-	.open_sidebar .main_navigation ul li a {height:40px; width:auto; text-align:left; padding:0px;}
-	.open_sidebar .main_navigation ul li .fa, .open_sidebar .main_navigation ul li .icon {
-	  float:left;
-	  height:40px;
-	  width:45px;
-	  line-height:40px;
-	  margin:0px;
-	}*/
+                    .title {
+                        position: relative;
+                        font-size: 10px;
+                        width: auto;
+                        float: none;
+                        line-height: 1;
+                        color: white;
+                        /*transition:all 0.3s;*/
+                    }
 
-	/*--------------------------------------------------------------
-	# Left Sidebar (User Profile)
-	--------------------------------------------------------------*/
-	.user_profile {position:fixed; bottom:0px; left:0px; right:0px; cursor:pointer; width:230px;}
-	.user_profile_trigger {display:block;}
-	.user_profile_trigger a {display:block; width:100%; height:100%;}
-	.user_profile_image {float:left; width:45px; height:45px; padding-top:7px; text-align:center;}
-	.user_profile_image .icon {font-size:22px; color:#FFF;}
-	.user_profile_image img {width:70%; margin:0 auto; display:block;}
-	.user_profile_text {float:left; line-height:1; color:#FFF; font-size:14px; padding-left:15px; padding-top: 9px;}
-	.user_profile_text .user_role {font-size:12px; color:rgba(255,255,255,0.5); display:block; margin-top:0px;}
+                    a {
+                        display: block;
+                        height: auto;
+                        width: 70px;
+                        height: auto;
+                        padding: 8px 0px;
+                    }
+                }
+            }
+        }
 
-	.user_profile_trigger:hover {background:rgba(40,183,141,0.3);}
-	.user_profile_open {position:absolute; right:0px; top:0px; width:auto; height:auto; padding-top:12px; padding-right:20px;}
-	.user_profile_open .fa {color:#FFF; font-size:18px; transition:all 0.3s;}
+        /* Sub navigation */
+        .subnav {
+            position: absolute;
+            left: 100%;
+            top: 0px;
+            background: #152129;
+            width: 180px;
+            height: auto;
+            transition: all 0.3s;
+            /*visibility:visible;
+            opacity:1;*/
+            visibility: hidden;
+            opacity: 0;
 
+            ul {list-style-type:none;}
+            ul li {font-size:12px; display:block; text-align:left; padding:0px 10px 0px 15px; width:auto; line-height:30px; color:#FFF; position:relative;}
+            ul li a {color:#FFF; display:block; width:100%; height:100%; padding:0px; text-align:left;}
+            ul li.active, ul li:hover {background:#28B78D;}
+            ul li.active:after {
+                right: 0;
+                top: 50%;
+                border: solid transparent;
+                content: " ";
+                height: 0;
+                width: 0;
+                position: absolute;
+                pointer-events: none;
+                border-color: rgba(255, 255, 255, 0);
+                border-right-color: #f5f3f4;
+                border-width: 10px;
+                margin-top: -10px;
+            }
 
-	.user_profile_content {display:none; color:#FFF; padding-bottom:30px;}
-	.user_profile_content ul {list-style-type:none;}
-	.user_profile_content li {padding:0px; line-height:1.2; color:#FFF; position:relative;}
-	.user_profile_content ul li .icon {color:#FFF; font-size:20px; text-align:center; position:relative; left:0; float:left; height:45px; width:45px; line-height:45px;}
-	.user_profile_content ul li .navigation_text {position:relative; font-size:14px; display:block; color:#FFF; text-align:left; float:left; padding:0px 10px 0px 15px; width:180px; line-height:45px;}
-	.user_profile_content ul li a {color:#FFF; display:block; height:45px;}
-	.user_profile_content ul li:after {clear:both; content:""; display:block;}
-	.user_profile_content ul li:hover {background:rgba(40,183,141,0.3);}
+           .subnav_headline {color:#FFF; padding:0px 10px 0px 15px; font-weight:600; width:100%; display:block; border-bottom:solid 1px #FFF; line-height:50px; font-size:12px;}
+        }
+    }
 
+    /*--------------------------------------------------------------
+    # Left Sidebar (User Profile)
+    --------------------------------------------------------------*/
+    .user_profile {
+        position:fixed; bottom:0px; left:0px; right:0px; cursor:pointer; width:230px;
+        &>.trigger {
+            .clearfix();
+            display:block;
 
+            // a {display:block; width:100%; height:100%;}
 
-	.open_profile {background:rgba(40,183,141,0.3);}
-	.open_profile .user_profile_trigger {background:rgba(40,183,141,0.5);}
-	.open_profile .fa-angle-up {
-		transform: rotate(180deg);
-	}
+            .image {float:left; width:45px; height:45px; padding-top:7px; text-align:center;}
+            .image .icon {font-size:22px; color:#FFF;}
+            .image img {width:70%; margin:0 auto; display:block;}
+
+            .text {float:left; line-height:1; color:#FFF; font-size:14px; padding-left:15px; padding-top: 9px;}
+            .text .role {font-size:12px; color:rgba(255,255,255,0.5); display:block; margin-top:0px;}
+
+            &:hover {background:rgba(40,183,141,0.3);}
+
+            .btn {position:absolute; right:0px; top:0px; width:auto; height:auto; padding-top:12px; padding-right:20px;}
+            .btn .icon {color:#FFF; font-size:18px; transition:all 0.3s;}
+        }
+
+        &>.content {
+            display:none; color:#FFF; padding-bottom:30px;
+
+            ul{
+                list-style-type: none;
+
+                li{
+                    padding:0px; line-height:1.2; color:#FFF; position:relative;
+                    .icon {color:#FFF; font-size:20px; text-align:center; position:relative; left:0; float:left; height:45px; width:45px; line-height:45px;}
+                    .navigation_text {position:relative; font-size:14px; display:block; color:#FFF; text-align:left; float:left; padding:0px 10px 0px 15px; width:180px; line-height:45px;}
+                    a {color:#FFF; display:block; height:45px;}
+                    &:after {clear:both; content:""; display:block;}
+                    &:hover {background:rgba(40,183,141,0.3);}
+                }
+            }
+        }
+
+        &.open {
+            background:rgba(40,183,141,0.3);
+            &>.trigger{background:rgba(40,183,141,0.5);}
+            .icon-arrow-up{transform: rotate(180deg);}
+        }
+    }
+
+    @media(max-width: @screen-xs-max) {
+        .sidebar {
+            left:inherit; position:relative; width:100%; top:0px; margin-bottom:30px;
+
+            .subnav ul li{
+                width: 100%;
+            }
+        }
+    }
+
+    @media(max-width: @screen-md-max) {
+        .sidebar {left:0px;}
+    }
 </style>
 
 <script>
 export default {
-    name: "Sidebar"
+    name: "Sidebar",
+    props: {
+        items: {
+            type: Array,
+            default() {
+                return [ ];
+            }
+        }
+    }
 }
 </script>
\ No newline at end of file
diff --git a/src/components/topbar.vue b/src/components/topbar.vue
index 8ecfbde..8af8a22 100644
--- a/src/components/topbar.vue
+++ b/src/components/topbar.vue
@@ -1,9 +1,7 @@
 <template>
 	<div class="topbar">
-	    <div class="logo"><a href="#"><img src="project-files/img/cms_logo.png" alt=""></a></div>
+	    <div class="logo"><a href="#"><img src="assets/images/cms_logo.png" alt=""></a></div>
 	    <div class="name">Meine Website</div>
-	    <a class="navbutton"><i class="icon icon-menu" aria-hidden="true"></i></a>
-	    <div class="clear"></div>
 	</div>
 </template>
 
@@ -11,11 +9,13 @@
 	@import "../mixins.less";
 
 	.topbar {
+		.clearfix();
 		position: fixed;
 		top: 0;
 		right: 0;
 		left: 0px;
-		background: @cms_bg;
+		background: @cms_bg_light;
+		color: white;
 		height: 40px;
 		z-index: 1500;
 
@@ -49,27 +49,25 @@
             float: left;
             width: auto;
             line-height: 40px;
-            color: white;
             padding-left: 15px;
         }
 
         &>.navbutton {
             display: block;
             float: left;
-            font-size: 22px;
-            color: white;
             width: auto;
             height: 100%;
+            font-size: 22px;
             margin-left: 40px;
             height: 40px;
             width: 40px;
-            /*padding:3px 10px 0px 5px;*/
             padding-top: 4px;
             cursor: pointer;
             text-align: center;
+            color: white;
 
             &:hover {
-                background:rgba(40,183,141,0.3);
+                background: fade(@cms_brand_primary, 30%);
             }
         }
 	}
diff --git a/src/icons.less b/src/icons.less
index 5037896..8bc2ef3 100644
--- a/src/icons.less
+++ b/src/icons.less
@@ -1,7 +1,7 @@
 @import "mixins";
 
 @iconfont_path: "~/assets/fonts/";
-@iconfont_version: 1;
+@iconfont_version: 2;
 
 
 @font-face {
@@ -17,6 +17,8 @@
 }
 
 .icon-search:before { content: '\e800'; } /* '' */
+.icon-user:before { content: '\e801'; } /* '' */
+.icon-key:before { content: '\e802'; } /* '' */
 .icon-menu:before { content: '\f0c9'; } /* '' */
 .icon-chatbox:before { content: '\f11b'; } /* '' */
 .icon-document-text:before { content: '\f12e'; } /* '' */
@@ -28,7 +30,9 @@
 .icon-contacts:before { content: '\f2d9'; } /* '' */
 .icon-cube:before { content: '\f318'; } /* '' */
 .icon-compass:before { content: '\f37c'; } /* '' */
+.icon-arrow-down:before { content: '\f3d0'; } /* '' */
 .icon-arrow-left:before { content: '\f3d2'; } /* '' */
 .icon-arrow-right:before { content: '\f3d3'; } /* '' */
+.icon-arrow-up:before { content: '\f3d8'; } /* '' */
 .icon-color-wand:before { content: '\f416'; } /* '' */
 .icon-navigate:before { content: '\f46e'; } /* '' */
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 2634c3e..6a919f7 100644
--- a/src/main.js
+++ b/src/main.js
@@ -177,8 +177,7 @@ Axios.get('conf/init.json')
       alert('invalid data in init.json');
       return;
     }
-    let navigation = [];
-    results.data.navigation.forEach(({name, to}) => navigation.push({name, to}));
+    const navigation = results.data.navigation.map(({name, to, icon}) => {return {name, to, icon}});
 
     store.commit("setNavigation", navigation);
 
diff --git a/src/mixins.less b/src/mixins.less
index 1985c39..9d989f8 100644
--- a/src/mixins.less
+++ b/src/mixins.less
@@ -34,4 +34,15 @@
     /* Animation center compensation - margins should be symmetric */
     /* remove if not needed */
     margin-left: .2em;
-}
\ No newline at end of file
+}
+
+.clearfix() {
+  &:before,
+  &:after {
+    content: " "; // 1
+    display: table; // 2
+  }
+  &:after {
+    clear: both;
+  }
+}
diff --git a/src/variables.less b/src/variables.less
index ce94914..a686a5a 100644
--- a/src/variables.less
+++ b/src/variables.less
@@ -1 +1,21 @@
-@cms_bg: #1a2e3b;
+@screen-xs: 450px;
+@screen-sm: 768px;
+@screen-md: 1024px;
+@screen-lg: 1200px;
+
+@cms_bg_light: #1a2e3b;
+@cms_dark_border: #152129;
+
+@cms_brand_primary: #28b78d;
+@cms_brand_secondary: #152129;
+
+
+/*****************************************/
+
+@screen-xs-min: @screen-xs;
+@screen-xs-max: @screen-sm - 1;
+@screen-sm-min: @screen-sm;
+@screen-sm-max: @screen-md - 1;
+@screen-md-min: @screen-md;
+@screen-md-max: @screen-lg - 1;
+@screen-lg-min: @screen-lg;
\ No newline at end of file
diff --git a/src/views/foo.vue b/src/views/contentdemo.vue
similarity index 97%
rename from src/views/foo.vue
rename to src/views/contentdemo.vue
index 9bbaeca..243e5dc 100644
--- a/src/views/foo.vue
+++ b/src/views/contentdemo.vue
@@ -20,12 +20,10 @@
                             <i class="fa fa-refresh" aria-hidden="true"></i>
                             <input style="resize: none;" class="input_search_replace" placeholder="Suchen & Ersetzen" name="search" size="" value="" type="text">
                         </span>
-                        
                         <input style="display:none;" type="submit">
                     </form>
                 </div> -->
                 <div class="clear"></div>
-                    
             </div>
 
             <!-- Content Table Headline -->
@@ -35,7 +33,6 @@
 
             <!-- Table -->
             <div class="cms_content_table">
-                
                 <div class="cms_table_row_header">
                     <!-- Row -->
                     <div class="cms_table_row">
@@ -51,7 +48,6 @@
                 </div>
 
                 <div class="cms_table_row_content">
-                    
                     <!-- Row -->
                     <div class="cms_table_row">
                         <div class="table_cell cell_checkbox"><div class="checkbox_holder"><input id="check_id2" type="checkbox" name="check_id2" value=""><label for="check_id2"></label><div class="check_checkbox"></div></div></div>
@@ -63,9 +59,9 @@
                         <div class="table_cell cell_status_container"><span class="cell_status cell_status_online"><span class="cell_status_text">online</span></span></div>
                         <div class="table_cell cell_settings">
                             <a class="cell_settings_click"><i class="fa fa-cog" aria-hidden="true"></i></a>
-                            
+
                             <div class="cell_settings_inner">
-                                
+
                                 <div class="cell_settings_inner_container">
                                     <div class="cell_settings_inner_section">
                                         <ul>
@@ -89,10 +85,10 @@
                                     </div>
                                     <div class="clear"></div>
                                 </div>
-                                    
+
                             </div>
                             <div class="clear"></div>
-                            
+
                         </div>
                     </div>
 
@@ -107,9 +103,9 @@
                         <div class="table_cell cell_status_container"><span class="cell_status cell_status_online"><span class="cell_status_text">online</span></span></div>
                         <div class="table_cell cell_settings">
                             <a class="cell_settings_click"><i class="fa fa-cog" aria-hidden="true"></i></a>
-                            
+
                             <div class="cell_settings_inner">
-                                
+
                                 <div class="cell_settings_inner_container">
                                     <div class="cell_settings_inner_section">
                                         <ul>
@@ -133,10 +129,10 @@
                                     </div>
                                     <div class="clear"></div>
                                 </div>
-                                    
+
                             </div>
                             <div class="clear"></div>
-                            
+
                         </div>
                     </div>
 
@@ -151,9 +147,9 @@
                         <div class="table_cell cell_status_container"><span class="cell_status cell_status_offline"><span class="cell_status_text">offline</span></span></div>
                         <div class="table_cell cell_settings">
                             <a class="cell_settings_click"><i class="fa fa-cog" aria-hidden="true"></i></a>
-                            
+
                             <div class="cell_settings_inner">
-                                
+
                                 <div class="cell_settings_inner_container">
                                     <div class="cell_settings_inner_section">
                                         <ul>
@@ -177,10 +173,10 @@
                                     </div>
                                     <div class="clear"></div>
                                 </div>
-                                    
+
                             </div>
                             <div class="clear"></div>
-                            
+
                         </div>
                     </div>
 
diff --git a/src/views/forms/formdemo.vue b/src/views/forms/formdemo.vue
new file mode 100644
index 0000000..932121b
--- /dev/null
+++ b/src/views/forms/formdemo.vue
@@ -0,0 +1,90 @@
+<div class="cms_content_form">
+				<form action="">
+					<div class="row">
+						<div class="tab8">
+							<div class="input_holder">
+								<header class="input_header">
+									<label for="">Titel</label>
+								</header>
+								<input type="text" value="" name="" placeholder="Titel hier eintragen">
+							</div>
+								
+							<div class="input_holder">
+								<header class="input_header">
+									<label for="">Permalink</label>
+									<div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div>
+								</header>
+									
+								<input type="text" value="" name="" placeholder="Permalink">
+							</div>
+
+							<div class="input_holder">
+								<header class="input_header">
+									<label for="">Inhalt</label>
+									<div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div>
+								</header>
+									
+								<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
+							</div>
+							
+							<!-- Fieldgroup -->
+							<div class="cms_fieldgroup fieldgroup_open">
+								<header class="cms_fieldgroup_header">Feldergruppe <div class="cms_fieldgroup_trigger"><i class="ion-chevron-down"></i></div></header>
+								<div class="cms_fieldgroup_content">
+									<div class="input_holder">
+										<header class="input_header">
+											<label for="">Noch ein Feld</label>
+											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
+										</header>
+											
+										<input type="text" value="" name="" placeholder="Noch ein Feld">
+									</div>
+
+									<div class="input_holder">
+										<header class="input_header">
+											<label for="">Noch ein Feld</label>
+											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
+										</header>
+											
+										<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
+									</div>
+								</div>
+									
+							</div>
+
+							<!-- Fieldgroup -->
+							<div class="cms_fieldgroup">
+								<header class="cms_fieldgroup_header">Feldergruppe <div class="cms_fieldgroup_trigger"><i class="ion-chevron-down"></i></div></header>
+								<div class="cms_fieldgroup_content">
+									<div class="input_holder">
+										<header class="input_header">
+											<label for="">Noch ein Feld</label>
+											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
+										</header>
+											
+										<input type="text" value="" name="" placeholder="Noch ein Feld">
+									</div>
+
+									<div class="input_holder">
+										<header class="input_header">
+											<label for="">Noch ein Feld</label>
+											<!-- <div class="input_description">Hier steht ein Beschreibungstext für etwas begriffsstutzige Menschen, die eine Beschreibung zum Befüllen des Feldes brauchen.</div> -->
+										</header>
+											
+										<textarea name="" id="" rows="10" placeholder="Dies ist ein normales Textfeld"></textarea>
+									</div>
+								</div>
+									
+							</div>
+
+
+						</div>
+						<div class="tab4">
+							<div class="cms_content_form_sidebar">
+								Sidebar
+							</div>
+						</div>
+					</div>
+					
+				</form>
+			</div>
\ No newline at end of file
diff --git a/src/views/forms/login.vue b/src/views/forms/login.vue
index 08c7930..5871d14 100644
--- a/src/views/forms/login.vue
+++ b/src/views/forms/login.vue
@@ -1,38 +1,75 @@
 <template>
-    <div class="LoginForm">
+<!--     <div class="LoginForm">
         <h2>Login</h2>
-        <my-form :elements="elements" :buttons="buttons" :submitHandler="login"></my-form>
+
+    </div> -->
+
+    <div id="login_form">
+        <div class="holder">
+            <div class="logo">
+                <img src="assets/images/cms_logo_white.png" alt="">
+            </div>
+
+            <div class="content">
+
+                <p class="intro_text">Bitte melde dich mit deinen Benutzerdaten an.</p>
+
+                <my-form :elements="elements" :buttons="buttons" :submitHandler="login"></my-form>
+
+<!--                 <form class="login_form" action="index.php" method="post">
+                    <div class="login_input login_user">
+                        <input required="required" placeholder="Benutzername" type="text" name="user" />
+                    </div>
+                    <div class="login_input login_pw">
+                        <input required="required" placeholder="Passwort"  type="password" name="passwort" />
+                    </div>
+
+                    <div class="login_input login_submit">
+                        <input type="submit" name="submit_login" value="Anmelden" class="submit" />
+                    </div>
+
+                </form> -->
+
+                <!-- <div class="login_error">
+                <p>Login fehlgeschlagen.</p>
+                </div> -->
+
+                <div style="clear:both;"></div>
+            </div>
+        </div>
     </div>
 </template>
 
 <script>
-import MyForm from '../../components/my-form.vue';
+import MyForm from "../../components/my-form.vue";
 
 export default {
-  name: 'LoginForm',
+  name: "LoginForm",
   components: {
       MyForm
   },
   data() {
       return {
-          username: '',
-          password: '',
+          username: "",
+          password: "",
           elements: {
               username: {
-                  label: 'Benutzername',
-                  type: 'text',
+                  placeholder: "Benutzername",
+                  icon: "icon-user",
+                  type: "text",
                   required: true
               },
               password: {
-                  label: 'Passwort',
-                  type: 'password',
+                  placeholder: "Passwort",
+                  icon: "icon-key",
+                  type: "password",
                   required: true
               }
           },
           buttons: [
               {
-                  label: 'login',
-                  type: 'submit'
+                  label: "login",
+                  type: "submit"
               }
           ]
       }
@@ -53,3 +90,126 @@ export default {
   }
 }
 </script>
+
+
+
+<style lang="less">
+@import "../../mixins";
+
+/*--------------------------------------------------------------
+# LOGINBOX
+--------------------------------------------------------------*/
+
+#login_form{
+    /* Disply on top */
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    z-index: 3000;
+    top:0px; left:0px; bottom:0px; right:0px;
+
+    /* Center vertically */
+    display: flex;
+    justify-content: center;
+    align-items: center;
+
+
+    background: @cms_brand_primary;
+
+    &>.holder {
+        position: relative;
+        display: block;
+        max-width: 380px;
+        width: 90%;
+        height: auto;
+        margin: 0px;
+        border-radius: 2px;
+        padding: 20px;
+    }
+
+    .logo{
+        .clearfix();
+        line-height:0; margin-bottom:15px; text-align:center;
+        img {width:100%; max-width:72px;}
+    }
+
+    .content{
+        p {text-align:center; color: white; font-size:15px; line-height:1.2;}
+    }
+
+    .intro_text{
+        font-size:14px!important; margin-bottom:20px; line-height:1.5;
+    }
+
+    form{
+        text-align: center;
+    }
+
+    input{
+        height: 40px;
+        padding: 0px 15px;
+        border-color: transparent;
+
+        &:focus {
+            border: solid 1px @cms_dark_border;
+            background: white;
+        }
+    }
+}
+
+/*.login_input {
+  margin-bottom:10px;
+  border:none;
+  height:40px;
+  position:relative;
+}
+.login_input:before {
+
+}
+.login_form {
+  text-align:center;
+}
+.login_user:before {content:"\f007";}
+.login_pw:before {content:"\f084";}
+.login_submit {
+  width:auto;
+  margin:0 auto;
+  display:inline-block;
+  margin-top:10px;
+}
+.login_submit:before {content:"\f090"; left:15px; top:6px;}
+
+.login_input input {
+  border:none;
+  background:none;
+  height:40px;
+  width:100%;
+  padding: 0px 10px 0px 35px;
+  background:#f4f4f4;
+  border:solid 1px #FFF;
+}
+.loginbox_content .login_input input:focus {border:solid 1px #152129; background:#FFF;}
+.login_form input[type="submit"] {
+  height:40px;
+  background:#152129;
+  border:none;
+  color:#FFF;
+  cursor:pointer;
+  text-transform:uppercase;
+  width:auto;
+  margin:0px auto 0 auto;
+  padding: 0px 20px 0px 40px;
+  border-radius:20px;
+}
+.login_form input[type="submit"]:hover {
+  background:#1f3441;
+}
+.login_error {
+  display:block;
+  text-align:center;
+  color:#FFF;
+  line-height:1.2;
+  margin-top:20px;
+}*/
+/*.login_error p {text-transform:uppercase; display:inline-block; background:#c70e00; padding:5px; font-weight:600; font-size:14px;}*/
+</style>
\ No newline at end of file