From ebcdb3571c0ae4c64b359577bb2d1b0511e82866 Mon Sep 17 00:00:00 2001 From: Kombie Date: Sat, 4 May 2019 13:53:18 +0100 Subject: [PATCH] [feature] Allow colour override for links --- css/base.css | 2 + css/form.css | 439 +++++++++++++++++++++++++++-------------- css/icons.css | 4 + css/menu.css | 14 +- fonts/icons/icons.eot | Bin 3316 -> 3492 bytes fonts/icons/icons.json | 2 +- fonts/icons/icons.svg | 1 + fonts/icons/icons.ttf | Bin 3152 -> 3328 bytes fonts/icons/icons.woff | Bin 3228 -> 3404 bytes index.html | 366 +++++++++++++++++----------------- js/bookmarks.js | 212 +++++++++++++++++++- js/control.js | 8 +- js/link.js | 128 +++++++++++- js/update.js | 19 ++ js/version.js | 2 +- 15 files changed, 844 insertions(+), 353 deletions(-) diff --git a/css/base.css b/css/base.css index 4753e5ee..8d647e26 100755 --- a/css/base.css +++ b/css/base.css @@ -82,6 +82,8 @@ --background-blur: 0; --layout-width: calc(70vw - var(--layout-width-gutter)); --layout-width-gutter: var(--gutter) * 8; + --menu-border-width: 2px; + --menu-border: var(--menu-border-width) solid rgb(var(--gray-02)); /* breakpoint reference */ /* can not be used in @media as of yet */ --breakpoint-sm: 550px; diff --git a/css/form.css b/css/form.css index 2c8c898e..aa5f8029 100755 --- a/css/form.css +++ b/css/form.css @@ -1,3 +1,4 @@ +/* email, number, password, search, tel, text */ input[type="email"], input[type="number"], input[type="password"], @@ -87,18 +88,6 @@ input[type="text"][disabled]:focus { color: rgb(var(--form-input-text-disabled)); } -input[type="checkbox"][disabled]~.input-helper, -input[type="radio"][disabled]~.input-helper, -input[type="email"][disabled]~.input-helper, -input[type="number"][disabled]~.input-helper, -input[type="password"][disabled]~.input-helper, -input[type="search"][disabled]~.input-helper, -input[type="tel"][disabled]~.input-helper, -input[type="text"][disabled]~.input-helper, -input[type="range"][disabled]~.input-helper { - color: rgb(var(--form-input-text-disabled-helper-text)); -} - input[type="email"]::placeholder, input[type="number"]::placeholder, input[type="password"]::placeholder, @@ -148,77 +137,27 @@ input[type="text"][disabled]:focus::placeholder { color: rgb(var(--form-input-placeholder-disabled)); } +/* label */ label { - padding: 0.5em 0; + padding: 0; color: rgb(var(--form-label)); margin-bottom: 0; font-size: 1em; display: block; } +label:not(:only-child):not(:last-child) { + margin-bottom: 0.5em; +} + label[disabled] { color: rgb(var(--form-label-disabled)); } -input[type="color"] { - opacity: 0; - width: 2px; - height: 2px; - position: absolute; - top: 0; - left: 0; - display: block; - cursor: pointer; - -webkit-appearance: none; -} - -input[type="color"]:focus { - outline: none; -} - -input[type="color"]::-webkit-color-swatch-wrapper { - padding: 0; -} - -input[type="color"]::-webkit-color-swatch { - border: 0; -} - -input[type="color"]+.input-label-button { - padding-right: 2.25em; - justify-content: center; - align-items: center; -} - -input[type="color"]+.input-label-button:before { - background-color: rgb(var(--accent)); - content: ""; - border-radius: 50%; - position: absolute; - right: 0.5em; - width: 1em; - height: 1em; - z-index: 1; - box-shadow: 0 0 0.25em 0 rgba(var(--accent), 0.6), 0 0 0.5em 0 rgba(var(--accent), 0.4); -} - -.input-wrap, -.checkbox-wrap, -.radio-wrap { - position: relative; -} - -.form-indent { - margin-left: 2.25em; -} - -.form-inline { - display: inline-block; - margin-right: 1.5em; -} - +/* checkbox and radio */ input[type="checkbox"], input[type="radio"] { + margin-bottom: 0; position: absolute; top: 0; left: 50%; @@ -239,17 +178,17 @@ input[type="radio"]+label { color: rgb(var(--form-checkbox-radio-label)); font-size: 1em; font-family: var(--font-regular); - min-height: 2.5em; cursor: pointer; display: flex; flex-direction: row; justify-content: flex-start; align-items: flex-start; - /* transition: all var(--animation-speed-fast) ease-in-out; */ + transition: all var(--animation-speed-fast) ease-in-out; } -input[type="checkbox"]+label .label-icon, -input[type="radio"]+label .label-icon { +input[type="checkbox"]+label:before, +input[type="radio"]+label:before { + content: ""; margin-right: 0.5em; font-size: 1.5em; line-height: 1; @@ -272,15 +211,15 @@ input[type="radio"]:active+label { color: rgb(var(--style-neutral-text)); } -input[type="checkbox"]:focus+label .label-icon, -input[type="checkbox"]:hover+label .label-icon, -input[type="radio"]:focus+label .label-icon, -input[type="radio"]:hover+label .label-icon { +input[type="checkbox"]:focus+label:before, +input[type="checkbox"]:hover+label:before, +input[type="radio"]:focus+label:before, +input[type="radio"]:hover+label:before { color: rgb(var(--style-neutral-text)); } -input[type="checkbox"]:active+label .label-icon, -input[type="radio"]:active+label .label-icon { +input[type="checkbox"]:active+label:before, +input[type="radio"]:active+label:before { color: rgb(var(--accent)); transform: scale(0.9); } @@ -297,76 +236,35 @@ input[type="radio"]:not([disabled]):focus:checked+label { color: rgb(var(--style-neutral-text)); } -input[type="checkbox"]:checked+label .label-icon, -input[type="radio"]:checked+label .label-icon { +input[type="checkbox"]:checked+label:before, +input[type="radio"]:checked+label:before { color: rgb(var(--accent)); } -input[type="checkbox"]:checked:focus+label .label-icon, -input[type="radio"]:checked:focus+label .label-icon { +input[type="checkbox"]:checked:focus+label:before, +input[type="radio"]:checked:focus+label:before { transform: scale(1.2); } -input[type="color"]+.input-label-button, -input[type="checkbox"]+.input-label-button, -input[type="radio"]+.input-label-button { - justify-content: center; - align-items: center; - position: relative; -} - -input[type="color"]:hover+.input-label-button, -input[type="color"]:focus+.input-label-button, -input[type="checkbox"]:hover+.input-label-button, -input[type="checkbox"]:focus+.input-label-button, -input[type="radio"]:hover+.input-label-button, -input[type="radio"]:focus+.input-label-button { - background-color: rgb(var(--gray-03)); - border-bottom-color: rgb(var(--gray-08)); - color: rgb(var(--style-neutral-text)); - outline: none; -} - -input[type="color"]:active+.input-label-button, -input[type="checkbox"]:active+.input-label-button, -input[type="radio"]:active+.input-label-button { - border-bottom-color: rgb(var(--accent)); -} - -input[type="color"]:checked+.input-label-button, -input[type="checkbox"]:checked+.input-label-button, -input[type="radio"]:checked+.input-label-button { - border-bottom-color: rgb(var(--accent)); -} - -input[type="color"][disabled]+.input-label-button, -input[type="checkbox"][disabled]+.input-label-button, -input[type="radio"][disabled]+.input-label-button { - background-color: rgb(var(--gray-02)); - border-color: transparent; - color: rgb(var(--form-checkbox-radio-disabled-label)); - cursor: default; -} - input[type="checkbox"][disabled]+label, input[type="radio"][disabled]+label { color: rgb(var(--form-checkbox-radio-disabled-label)); cursor: default; } -input[type="checkbox"][disabled]+label .label-icon, -input[type="radio"][disabled]+label .label-icon { +input[type="checkbox"][disabled]+label:before, +input[type="radio"][disabled]+label:before { color: rgb(var(--form-checkbox-radio-disabled-label)); cursor: default; } -input[type="checkbox"][disabled]:active+label .label-icon, -input[type="radio"][disabled]:active+label .label-icon { +input[type="checkbox"][disabled]:active+label:before, +input[type="radio"][disabled]:active+label:before { transform: none; } -input[type="checkbox"]+label .label-icon:before, -input[type="radio"]+label .label-icon:before { +input[type="checkbox"]+label:before, +input[type="radio"]+label:before { font-family: "Icons" !important; speak: none; font-style: normal; @@ -375,27 +273,83 @@ input[type="radio"]+label .label-icon:before { text-transform: none; } -input[type="checkbox"]+label .label-icon:before { +input[type="checkbox"]+label:before { content: "\e835"; } -input[type="checkbox"]:checked+label .label-icon:before { +input[type="checkbox"]:checked+label:before { content: "\e834"; } -input[type="radio"]+label .label-icon:before { +input[type="radio"]+label:before { content: "\e836"; } -input[type="radio"]:checked+label .label-icon:before { +input[type="radio"]:checked+label:before { content: "\e837"; } -input[type="range"] { - /* background-color: rgb(var(--gray-08)); */ +/* color */ +input[type="color"] { background-color: transparent; padding: 0; margin: 0 0 1em 0; + width: 100%; + height: 2.5em; + display: block; + border-width: 0; + border-style: solid; + border-color: transparent; + border-radius: var(--radius); + overflow: hidden; + cursor: pointer; + transition: border-color var(--animation-speed-fast) ease-in-out, box-shadow var(--animation-speed-fast) ease-in-out; +} + +input[type="color"]:hover { + outline: none; + box-shadow: 0 0 0 var(--line-width) rgb(var(--gray-06)); +} + +input[type="color"]:focus { + outline: none; + box-shadow: 0 0 0 var(--line-width) rgb(var(--gray-10)); +} + +input[type="color"][disabled] { + opacity: 0.5; +} + +input[type="color"][disabled]:hover, +input[type="color"][disabled]:focus { + box-shadow: none; +} + +input[type="color"]::-webkit-color-swatch-wrapper { + border: 0; + padding: 0; +} + +input[type="color"]::-webkit-color-swatch { + border: 0; + padding: 0; +} + +input[type="color"]::-moz-color-swatch-wrapper { + border: 0; + padding: 0; +} + +input[type="color"]::-moz-color-swatch { + border: 0; + padding: 0; +} + +/* range */ +input[type="range"] { + background-color: transparent; + padding: 0; + margin: 0; color: rgb(var(--style-neutral-text)); font-size: 1em; font-family: var(--font-regular); @@ -489,7 +443,7 @@ input[type="range"]::-webkit-slider-thumb:active { } input[type="range"][disabled]::-webkit-slider-thumb { - border-color: rgb(var(--gray-08)); + border-color: rgb(var(--gray-04)); cursor: default; } @@ -563,7 +517,7 @@ input[type="range"][disabled]::-moz-range-track { } input[type="range"][disabled]::-moz-range-thumb { - border-color: rgb(var(--gray-08)); + border-color: rgb(var(--gray-04)); cursor: default; } @@ -577,6 +531,177 @@ input[type="range"][disabled]::-moz-range-progress { background-color: rgb(var(--gray-08)); } +/* input helper */ +.input-helper { + margin-bottom: 0 +} + +.input-helper:not(:only-child):not(:last-child) { + margin-bottom: 0.5em; +} + +input[type="checkbox"][disabled]~.input-helper, +input[type="radio"][disabled]~.input-helper, +input[type="email"][disabled]~.input-helper, +input[type="number"][disabled]~.input-helper, +input[type="password"][disabled]~.input-helper, +input[type="search"][disabled]~.input-helper, +input[type="tel"][disabled]~.input-helper, +input[type="text"][disabled]~.input-helper, +input[type="range"][disabled]~.input-helper { + color: rgb(var(--form-input-text-disabled-helper-text)); +} + +/* input variants */ +.input-wrap { + padding: 0.5em 0; + position: relative; + width: 100%; +} + +.input-wrap.input-button { + width: initial; + display: inline-block; +} + +.input-button input[type="checkbox"]+label, +.input-button input[type="radio"]+label, +.input-button input[type="color"]+label { + background-color: rgb(var(--gray-02)); + padding: 0.125em 1em; + margin: 0; + color: rgb(var(--button-text)); + font-size: 1em; + font-family: var(--font-regular); + min-height: 2.5em; + line-height: 1; + border: 0; + border-top-width: var(--line-width); + border-bottom-width: var(--line-width); + border-style: solid; + border-color: transparent; + border-radius: var(--radius); + text-align: center; + text-decoration: none; + white-space: nowrap; + cursor: pointer; + box-shadow: none; + transition: all var(--animation-speed-fast) ease-in-out; + display: inline-flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.input-button input[type="checkbox"]:hover+label, +.input-button input[type="checkbox"]:focus+label, +.input-button input[type="radio"]:hover+label, +.input-button input[type="radio"]:focus+label, +.input-button input[type="color"]:hover+label, +.input-button input[type="color"]:focus+label { + background-color: rgb(var(--gray-03)); + border-bottom-color: rgb(var(--gray-08)); + color: rgb(var(--button-text-hover-focus)); + outline: none; +} + +.input-button input[type="checkbox"]:active+label, +.input-button input[type="radio"]:active+label, +.input-button input[type="color"]:active+label { + background-color: rgb(var(--gray-04)); + border-bottom-color: rgb(var(--accent)); + color: rgb(var(--button-text-active)); + transition: none; +} + +.input-button input[type="checkbox"]:checked+label, +.input-button input[type="radio"]:checked+label, +.input-button input[type="color"]:checked+label { + background-color: rgb(var(--gray-04)); + border-bottom-color: rgb(var(--accent)); + color: rgb(var(--button-text-active)); + transition: none; +} + +.input-button input[type="checkbox"][disabled]+label, +.input-button input[type="checkbox"][disabled]:hover+label, +.input-button input[type="checkbox"][disabled]:focus+label, +.input-button input[type="checkbox"][disabled]:active+label, +.input-button input[type="radio"][disabled]+label, +.input-button input[type="radio"][disabled]:hover+label, +.input-button input[type="radio"][disabled]:focus+label, +.input-button input[type="radio"][disabled]:active+label, +.input-button input[type="color"][disabled]+label, +.input-button input[type="color"][disabled]:hover+label, +.input-button input[type="color"][disabled]:focus+label, +.input-button input[type="color"][disabled]:active+label { + background-color: rgb(var(--gray-02)); + border-color: transparent; + color: rgb(var(--button-text-disabled)); + cursor: default; +} + +.input-color-dot input[type="color"] { + margin: 0; + position: absolute; + top: 50%; + right: 0.5em; + width: 1em; + height: 1em; + z-index: 1; + border-radius: 50%; + transform: translateY(-50%); + transition: none; +} + +.input-color-dot input[type="color"]:hover { + outline: none; + box-shadow: none; +} + +.input-color-dot input[type="color"]:focus { + outline: none; + box-shadow: none; +} + +.input-color-dot-accent input[type="color"], +.input-color-dot-accent input[type="color"]:hover, +.input-color-dot-accent input[type="color"]:focus { + box-shadow: 0 0 0.25em 0 rgba(var(--accent), 0.6), 0 0 0.5em 0 rgba(var(--accent), 0.4); +} + +.input-color-dot input[type="color"]+label { + padding-right: 2.25em; + position: relative; +} + +.input-hide input[type="checkbox"]+label:before, +.input-hide input[type="checkbox"]:checked+label:before, +.input-hide input[type="radio"]+label:before, +.input-hide input[type="radio"]:checked+label:before { + content: none; +} + +.input-hide input[type="color"] { + opacity: 0; + width: 1px; + height: 1px; + position: absolute; + top: 0; + left: 0; + -webkit-appearance: none; +} + +/* form variants */ +.form-indent { + margin-left: 2.25em; +} + +.form-inline { + display: inline-block; + margin-right: 1.5em; +} + .form-group { margin: 0 0 1em 0; display: inline-flex; @@ -592,7 +717,8 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="password"], .form-group>input[type="search"], .form-group>input[type="tel"], -.form-group>input[type="text"] { +.form-group>input[type="text"], +.form-group>input[type="color"] { margin: 0; border-radius: 0; } @@ -611,7 +737,8 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="password"], .form-group>input[type="search"], .form-group>input[type="tel"], -.form-group>input[type="text"] { +.form-group>input[type="text"], +.form-group>input[type="color"] { z-index: 1; } @@ -620,7 +747,8 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="password"]:hover, .form-group>input[type="search"]:hover, .form-group>input[type="tel"]:hover, -.form-group>input[type="text"]:hover { +.form-group>input[type="text"]:hover, +.form-group>input[type="color"]:hover { z-index: 2; } @@ -635,7 +763,9 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="tel"]:active, .form-group>input[type="tel"]:focus, .form-group>input[type="text"]:active, -.form-group>input[type="text"]:focus { +.form-group>input[type="text"]:focus, +.form-group>input[type="color"]:active, +.form-group>input[type="color"]:focus { z-index: 3; } @@ -646,7 +776,8 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="password"]:first-child, .form-group>input[type="search"]:first-child, .form-group>input[type="tel"]:first-child, -.form-group>input[type="text"]:first-child { +.form-group>input[type="text"]:first-child, +.form-group>input[type="color"]:first-child { border-radius: var(--radius) 0 0 var(--radius); } @@ -657,14 +788,28 @@ input[type="range"][disabled]::-moz-range-progress { .form-group>input[type="password"]:last-child, .form-group>input[type="search"]:last-child, .form-group>input[type="tel"]:last-child, -.form-group>input[type="text"]:last-child { +.form-group>input[type="text"]:last-child, +.form-group>input[type="color"]:last-child { border-radius: 0 var(--radius) var(--radius) 0; } -.form-group.nested-button *:first-child .button { +.form-group.nested-button * .button, +.form-group.nested-button * input[type="checkbox"]+label, +.form-group.nested-button * input[type="radio"]+label, +.form-group.nested-button * input[type="color"]+label { + border-radius: 0; +} + +.form-group.nested-button *:first-child .button, +.form-group.nested-button *:first-child input[type="checkbox"]+label, +.form-group.nested-button *:first-child input[type="radio"]+label, +.form-group.nested-button *:first-child input[type="color"]+label { border-radius: var(--radius) 0 0 var(--radius); } -.form-group.nested-button *:last-child .button { +.form-group.nested-button *:last-child .button, +.form-group.nested-button *:last-child input[type="checkbox"]+label, +.form-group.nested-button *:last-child input[type="radio"]+label, +.form-group.nested-button *:last-child input[type="color"]+label { border-radius: 0 var(--radius) var(--radius) 0; } diff --git a/css/icons.css b/css/icons.css index 3404c62a..f54836c9 100755 --- a/css/icons.css +++ b/css/icons.css @@ -119,3 +119,7 @@ .icon-unfold-more:before { content: "\e5d7"; } + +.icon-refresh:before { + content: "\e900"; +} diff --git a/css/menu.css b/css/menu.css index 57412346..c35a5454 100755 --- a/css/menu.css +++ b/css/menu.css @@ -66,7 +66,7 @@ } .menu-item:not(:last-child) { - border-bottom: var(--line-width) solid rgb(var(--gray-02)); + border-bottom: var(--menu-border); } .menu-close { @@ -143,9 +143,9 @@ height: 100%; position: absolute; top: 0; - right: calc(-2em - calc(var(--line-width) / 2)); + right: calc(-2em - calc(var(--menu-border-width) / 2)); border-radius: 1em; - border-right: var(--line-width) solid rgb(var(--gray-03)); + border-right: var(--menu-border); } .menu-item:not(:nth-last-child(2)):not(:last-child):before { @@ -154,9 +154,9 @@ height: 0; position: absolute; left: 0; - bottom: calc(-2em - calc(var(--line-width) / 2)); + bottom: calc(-2em - calc(var(--menu-border-width) / 2)); border-radius: 1em; - border-bottom: var(--line-width) solid rgb(var(--gray-03)); + border-bottom: var(--menu-border); } .menu-item { @@ -191,7 +191,7 @@ top: 0; right: calc(-2em - calc(var(--line-width) / 2)); border-radius: 1em; - border-right: var(--line-width) solid rgb(var(--gray-03)); + border-right: var(--menu-border); } .menu-item:not(:nth-last-child(2)):not(:last-child):before { @@ -206,6 +206,6 @@ left: 0; bottom: calc(-2em - calc(var(--line-width) / 2)); border-radius: 1em; - border-bottom: var(--line-width) solid rgb(var(--gray-03)); + border-bottom: var(--menu-border); } } diff --git a/fonts/icons/icons.eot b/fonts/icons/icons.eot index 98615a01f08b3f57504bb753af12b581786f2db7..33aa281f49f96735004450143c3bc60218153362 100755 GIT binary patch delta 455 zcmew&xkQ?62`>W!1MfsOGZxzw&Mzi9wA34H)Z=7eV3YxhpGi+FE&$R3K>iCL&5@o{ znPz@xb_S6D0m!wrz`&&glsC%&3b5xe-vjc2Vhk!7xg`}@48pU3{0<<$ zBqu*PQTURW7Lfl3$hXN&tSDemWQbv4;I;tr74i~uB~xd5asCDhL;x*mE66V{VPFPI zG4MQ?9K+bmy#dJ7U{GLSVc?kjicyh~VKNt!CXh5@QfHSI7Y3?joSev{GP!_>b#p6I z1iKC+!y1NA<}hYP1{0ux=7NgmdW_0S?0k&uY@#CKa*X0)#zy9LjOJ$M#%z-f*@csg zjl`HfrTn|nr4(yws;}=V0tBx5`lecH>h==iyb*lz^5LdtHg0xyu~O2~Qn7Zn?rybA zbHO^aL`2;5^i9q5K-zeCb>-#NEcEqVgoUN0W9{tR-R$gRrKQa#-{K6CdEvamHlE++ zD+4zR$a@SoKBaZS=*b>j=8UqF8@Tcr*GzuHWh?xPMUH_HC@ael1qlrXCZI2cH~Vuh GWds07TV;s= delta 291 zcmZ1?{Y8@P3l9TB0MA4=GnUc_;ky$ZTI!RGh2t3*7-bk37>=YT78d|%0U-YYkmg9w zsZ5)gdu1Jv|AK*meMUxVVv2C0k`)63X9G~)ECVROp2K_>$ln3vt7PPsRHQKoy#w;^ z0Qm(u`N@gGON4-Sa`^!HR=J541q=!dF+hF?kgt%Jm@An&(~I*rP+$enlD2~U;t~dC zpcDg-!Q>dmW^SM;gBnl^3j^EaSB#32d6_gOn=`2~3QbO6(%#(56u~~ZlgnS`u5d(Y zJipCX25uIRW`-L+d0$}k + \ No newline at end of file diff --git a/fonts/icons/icons.ttf b/fonts/icons/icons.ttf index 59e4819cd656d5277bc28121f66a5780ac6a9134..26e0fbf887d6dc492e46b262dc9720e80d9cbf46 100755 GIT binary patch delta 439 zcmca0(I7QJq26Gl9w!3>qYMKB!_(j4hIm1*X8W@iBTAAnq&jMT&w zk+p&;3=CX4KzXwapa6Rg^F1IRD8`_Yky}!c#UMNj$nOC1OLFp)6NN8{X#x3vfP9=f)7!?^ACZ{oK0?9r`b#`fSVW3jR$p;w~CSPFW-29L+g1w%RVGTnla~Lxtg9*?) zb3sLOJw|0Ec0NXSHc=6AIYx0YVYm;vXZ(Uqq>@@30TzFNQ~)I%D*dJ zO0lM<`ueUSK;WvcZ>puHZZ9Fu8^I?pA8u-9<7Q_UDDef?pDh*7py}|M8r)= zPv6u`52TNWS65zM%|c(_MOau`I@Zq4-ObKER$AI@vKeQP%nRogw(Z~fdVUlmb4Y*7nd+F1Em;v3?}Yq<^~Efr~!4b zFtAN_V^o}+$*3`TGNT%+5Ks~0z$tT@jA#TkKEX0sjlAw~e)!9cVC diff --git a/fonts/icons/icons.woff b/fonts/icons/icons.woff index 905b01574448b283d8ad1db48b91c1916f9e96f1..b5e9887517bc47cc196f95af187bbdd512017f86 100755 GIT binary patch delta 516 zcmbOuc}7aC+~3WOfsp|SczqbS!88K{<77c5v57kJ^=E(rXACy#ai%907cej|nE?45 zP%Mz1Q<(-7vjGZ$vH6|Z85yaGDGUr;6+ks+AS|+0Fa;zC6x#sgtAH?j4)eW?+!CM~ zt}8%(2?%E~2+zvNPX?;v_5kvM<}ug^UosNY%1x{QTFl)76i@(TMTVHX#N1S%*b<;a z+dz1x7w7MS{9>R%ygC#AbnAj_(f}%F0lJluLE)k6!{|pLkHwxId3xgMsi$Y3UU_=s z>FpQhFUnr*c*!t%6Qd?0!{l3x>g>|u!VJt{&&zC9U`l1LXJlBz5Xv0J%*X)rIHS3s zqPZTUvJyKVBRiX@h`1c1xR|k#xgDdqnYl3=SX5a_U5`;+&C~=eYHTFN^eN@vl`f@N zQ&W9?R}mm^)z>%GQd75=5a*5Hla~)SHM4QEvx}9ImX?aOvvqf?Wtt1tp(P^XrlhBD zYNiL$$HS{DFRx~yukRu(EG->tXXox_XCEsqZ8o`yGf3uz^9tK|ew(ih+$=z!Gcerv ml-3EOCx75HXOx|+!IjUrX7Us+Th3oBa^U!u-F%Dd5F-E#J9+~E delta 345 zcmX>jHAhmc+~3WOfsp|Sc;+y0gXsVU#>s+AViR@b>yH2hjwBfi$EPP27cej|=>Yj0 zP%Mz1Q<(-7Ghtw0p8>)XbFZw+NKH&(VBkChRAUCh!ih>&89+e>1}+vLUj>BObC~aD zVRf3Sb?zc5+fm=+{6l?0|@V#nkyjGB}0Gpex)F))L@t+LsODVlw
-
+
- +
-
- - +
+ +
@@ -125,22 +121,22 @@

Greeting