From 9f96f45b9530d783995242acc4678aa59c057912 Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:26:49 +0100 Subject: [PATCH 1/9] Build of new static Strata site. --- .babelrc | 8 + .nvmrc | 2 +- README.md | 46 +- apollo/assets/fonts/Amiko-Bold-webfont.woff | Bin 0 -> 24520 bytes .../assets/fonts/Amiko-Regular-webfont.woff | Bin 0 -> 24448 bytes .../assets/fonts/Amiko-SemiBold-webfont.woff | Bin 0 -> 24636 bytes apollo/assets/images/ccs-logo.png | Bin 0 -> 19837 bytes apollo/assets/images/ffi-logo.png | Bin 0 -> 28240 bytes apollo/assets/images/og-strata-image.png | Bin 0 -> 24986 bytes apollo/assets/images/w3c-logo.png | Bin 0 -> 6765 bytes apollo/assets/js/app.js | 84 + apollo/assets/js/core.js | 21 + apollo/assets/js/functions/collapsibles.js | 38 + apollo/assets/js/functions/normalize.js | 67 + apollo/assets/js/functions/polyfill.js | 174 + apollo/assets/js/functions/tabs.js | 121 + apollo/assets/js/functions/updateARIAroles.js | 39 + .../libraries/accessible-autocomplete.min.js | 3 + .../accessible-autocomplete.min.js.map | 1 + apollo/assets/js/libraries/luhn.js | 1 + apollo/assets/js/libraries/parsley.min.js | 18 + apollo/assets/js/libraries/pikaday.js | 1296 +++ .../assets/js/libraries/vanilla-masker.min.js | 1 + apollo/assets/js/main.js | 1 + apollo/assets/js/main/collapsibles.js | 51 + apollo/assets/js/main/tableheaders.js | 65 + apollo/assets/js/main/tabs.js | 111 + apollo/assets/styles/advanced.scss | 77 + apollo/assets/styles/core.scss | 78 + .../styles/sass/10-settings/_breakpoints.scss | 14 + .../styles/sass/10-settings/_colors.scss | 67 + .../styles/sass/10-settings/_debug.scss | 805 ++ .../styles/sass/10-settings/_fonts.scss | 27 + .../styles/sass/10-settings/_paths.scss | 7 + .../styles/sass/10-settings/_sizes.scss | 22 + .../styles/sass/10-settings/_typesetting.scss | 36 + .../styles/sass/20-functions/_maths.scss | 44 + .../styles/sass/20-functions/_units.scss | 44 + .../styles/sass/30-mixins/_font-sizes.scss | 37 + .../styles/sass/30-mixins/_media-query.scss | 16 + .../assets/styles/sass/30-mixins/_stack.scss | 37 + .../styles/sass/40-base/_animation.scss | 25 + .../assets/styles/sass/40-base/_bg-color.scss | 28 + apollo/assets/styles/sass/40-base/_body.scss | 24 + .../styles/sass/40-base/_box-sizing.scss | 15 + .../assets/styles/sass/40-base/_buttons.scss | 151 + apollo/assets/styles/sass/40-base/_focus.scss | 18 + apollo/assets/styles/sass/40-base/_forms.scss | 753 ++ .../styles/sass/40-base/_hide-and-show.scss | 99 + apollo/assets/styles/sass/40-base/_icons.scss | 55 + .../assets/styles/sass/40-base/_images.scss | 10 + .../styles/sass/40-base/_inline-elements.scss | 40 + apollo/assets/styles/sass/40-base/_links.scss | 36 + apollo/assets/styles/sass/40-base/_lists.scss | 124 + apollo/assets/styles/sass/40-base/_print.scss | 124 + .../assets/styles/sass/40-base/_quotes.scss | 31 + .../styles/sass/40-base/_skip-link.scss | 23 + .../assets/styles/sass/40-base/_social.scss | 42 + .../assets/styles/sass/40-base/_tables.scss | 83 + .../styles/sass/40-base/_typography.scss | 83 + .../assets/styles/sass/50-layouts/_box.scss | 31 + .../styles/sass/50-layouts/_center.scss | 24 + .../styles/sass/50-layouts/_cluster.scss | 48 + .../assets/styles/sass/50-layouts/_cover.scss | 48 + .../assets/styles/sass/50-layouts/_frame.scss | 55 + .../styles/sass/50-layouts/_sidebar.scss | 77 + .../styles/sass/50-layouts/_switcher.scss | 71 + .../sass/60-components/_breadcrumbs.scss | 51 + .../styles/sass/60-components/_cards.scss | 140 + .../sass/60-components/_collapsibles.scss | 52 + .../styles/sass/60-components/_footer.scss | 41 + .../styles/sass/60-components/_header.scss | 64 + .../styles/sass/60-components/_hero.scss | 18 + .../styles/sass/60-components/_logo.scss | 21 + .../styles/sass/60-components/_main.scss | 192 + .../sass/60-components/_navigation.scss | 4 + .../sass/60-components/_pagination.scss | 33 + .../sass/60-components/_payment-details.scss | 216 + .../styles/sass/60-components/_tabs.scss | 70 + .../styles/sass/60-components/_tag-list.scss | 32 + .../_accessible-autocomplete.scss | 145 + .../sass/70-third-party-plugins/_pikaday.scss | 228 + .../styles/sass/90-utilities/_alignments.scss | 65 + .../styles/sass/90-utilities/_clearfix.scss | 18 + .../styles/sass/90-utilities/_layout.scss | 27 + apollo/assets/svg/strata-logo-footer.svg | 28 + apollo/assets/svg/strata-logo.svg | 28 + apollo/assets/svg/strata-page-bg.svg | 60 + package-lock.json | 7657 +++++++++++++++++ package.json | 61 + web/_includes/scripts__footer.html | 7 + web/_includes/scripts__header.html | 9 + web/_includes/styles.php | 13 + web/boilerplate.html | 84 + web/docs/boilerplate.php | 190 + web/favicon.ico | Bin 0 -> 15086 bytes web/icon.png | Bin 0 -> 6496 bytes web/index.html | 159 +- web/index.php | 135 + web/layouts/box.php | 94 + web/layouts/center.php | 89 + web/layouts/cluster.php | 99 + web/layouts/cover.php | 106 + web/layouts/frame.php | 111 + web/layouts/index.php | 88 + web/layouts/sidebar.php | 134 + web/layouts/switcher.php | 93 + web/patterns/breadcrumbs.php | 83 + web/patterns/cards.php | 249 + web/patterns/collapsibles.php | 170 + web/patterns/donation-form.php | 199 + web/patterns/forms.php | 584 ++ web/patterns/icons.php | 186 + web/patterns/index.php | 82 + web/patterns/page-header.php | 92 + web/patterns/pagination.php | 144 + web/patterns/quotes.php | 83 + web/patterns/sticky-footer.php | 77 + web/patterns/tables.php | 246 + web/patterns/tabs.php | 195 + web/safari-pinned-tab.svg | 26 + 121 files changed, 18576 insertions(+), 79 deletions(-) create mode 100644 .babelrc create mode 100755 apollo/assets/fonts/Amiko-Bold-webfont.woff create mode 100755 apollo/assets/fonts/Amiko-Regular-webfont.woff create mode 100755 apollo/assets/fonts/Amiko-SemiBold-webfont.woff create mode 100644 apollo/assets/images/ccs-logo.png create mode 100644 apollo/assets/images/ffi-logo.png create mode 100644 apollo/assets/images/og-strata-image.png create mode 100644 apollo/assets/images/w3c-logo.png create mode 100755 apollo/assets/js/app.js create mode 100755 apollo/assets/js/core.js create mode 100755 apollo/assets/js/functions/collapsibles.js create mode 100755 apollo/assets/js/functions/normalize.js create mode 100755 apollo/assets/js/functions/polyfill.js create mode 100755 apollo/assets/js/functions/tabs.js create mode 100755 apollo/assets/js/functions/updateARIAroles.js create mode 100755 apollo/assets/js/libraries/accessible-autocomplete.min.js create mode 100755 apollo/assets/js/libraries/accessible-autocomplete.min.js.map create mode 100755 apollo/assets/js/libraries/luhn.js create mode 100755 apollo/assets/js/libraries/parsley.min.js create mode 100755 apollo/assets/js/libraries/pikaday.js create mode 100755 apollo/assets/js/libraries/vanilla-masker.min.js create mode 100755 apollo/assets/js/main.js create mode 100755 apollo/assets/js/main/collapsibles.js create mode 100755 apollo/assets/js/main/tableheaders.js create mode 100755 apollo/assets/js/main/tabs.js create mode 100755 apollo/assets/styles/advanced.scss create mode 100755 apollo/assets/styles/core.scss create mode 100755 apollo/assets/styles/sass/10-settings/_breakpoints.scss create mode 100755 apollo/assets/styles/sass/10-settings/_colors.scss create mode 100755 apollo/assets/styles/sass/10-settings/_debug.scss create mode 100755 apollo/assets/styles/sass/10-settings/_fonts.scss create mode 100755 apollo/assets/styles/sass/10-settings/_paths.scss create mode 100755 apollo/assets/styles/sass/10-settings/_sizes.scss create mode 100755 apollo/assets/styles/sass/10-settings/_typesetting.scss create mode 100755 apollo/assets/styles/sass/20-functions/_maths.scss create mode 100755 apollo/assets/styles/sass/20-functions/_units.scss create mode 100755 apollo/assets/styles/sass/30-mixins/_font-sizes.scss create mode 100755 apollo/assets/styles/sass/30-mixins/_media-query.scss create mode 100755 apollo/assets/styles/sass/30-mixins/_stack.scss create mode 100755 apollo/assets/styles/sass/40-base/_animation.scss create mode 100755 apollo/assets/styles/sass/40-base/_bg-color.scss create mode 100755 apollo/assets/styles/sass/40-base/_body.scss create mode 100755 apollo/assets/styles/sass/40-base/_box-sizing.scss create mode 100755 apollo/assets/styles/sass/40-base/_buttons.scss create mode 100755 apollo/assets/styles/sass/40-base/_focus.scss create mode 100755 apollo/assets/styles/sass/40-base/_forms.scss create mode 100755 apollo/assets/styles/sass/40-base/_hide-and-show.scss create mode 100755 apollo/assets/styles/sass/40-base/_icons.scss create mode 100755 apollo/assets/styles/sass/40-base/_images.scss create mode 100755 apollo/assets/styles/sass/40-base/_inline-elements.scss create mode 100755 apollo/assets/styles/sass/40-base/_links.scss create mode 100755 apollo/assets/styles/sass/40-base/_lists.scss create mode 100755 apollo/assets/styles/sass/40-base/_print.scss create mode 100755 apollo/assets/styles/sass/40-base/_quotes.scss create mode 100755 apollo/assets/styles/sass/40-base/_skip-link.scss create mode 100755 apollo/assets/styles/sass/40-base/_social.scss create mode 100755 apollo/assets/styles/sass/40-base/_tables.scss create mode 100755 apollo/assets/styles/sass/40-base/_typography.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_box.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_center.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_cluster.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_cover.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_frame.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_sidebar.scss create mode 100755 apollo/assets/styles/sass/50-layouts/_switcher.scss create mode 100755 apollo/assets/styles/sass/60-components/_breadcrumbs.scss create mode 100755 apollo/assets/styles/sass/60-components/_cards.scss create mode 100755 apollo/assets/styles/sass/60-components/_collapsibles.scss create mode 100755 apollo/assets/styles/sass/60-components/_footer.scss create mode 100755 apollo/assets/styles/sass/60-components/_header.scss create mode 100755 apollo/assets/styles/sass/60-components/_hero.scss create mode 100755 apollo/assets/styles/sass/60-components/_logo.scss create mode 100755 apollo/assets/styles/sass/60-components/_main.scss create mode 100755 apollo/assets/styles/sass/60-components/_navigation.scss create mode 100755 apollo/assets/styles/sass/60-components/_pagination.scss create mode 100755 apollo/assets/styles/sass/60-components/_payment-details.scss create mode 100755 apollo/assets/styles/sass/60-components/_tabs.scss create mode 100755 apollo/assets/styles/sass/60-components/_tag-list.scss create mode 100755 apollo/assets/styles/sass/70-third-party-plugins/_accessible-autocomplete.scss create mode 100755 apollo/assets/styles/sass/70-third-party-plugins/_pikaday.scss create mode 100755 apollo/assets/styles/sass/90-utilities/_alignments.scss create mode 100755 apollo/assets/styles/sass/90-utilities/_clearfix.scss create mode 100755 apollo/assets/styles/sass/90-utilities/_layout.scss create mode 100644 apollo/assets/svg/strata-logo-footer.svg create mode 100644 apollo/assets/svg/strata-logo.svg create mode 100644 apollo/assets/svg/strata-page-bg.svg create mode 100755 package-lock.json create mode 100755 package.json create mode 100755 web/_includes/scripts__footer.html create mode 100755 web/_includes/scripts__header.html create mode 100755 web/_includes/styles.php create mode 100755 web/boilerplate.html create mode 100755 web/docs/boilerplate.php create mode 100644 web/favicon.ico create mode 100644 web/icon.png create mode 100755 web/index.php create mode 100755 web/layouts/box.php create mode 100755 web/layouts/center.php create mode 100755 web/layouts/cluster.php create mode 100755 web/layouts/cover.php create mode 100755 web/layouts/frame.php create mode 100755 web/layouts/index.php create mode 100755 web/layouts/sidebar.php create mode 100755 web/layouts/switcher.php create mode 100755 web/patterns/breadcrumbs.php create mode 100755 web/patterns/cards.php create mode 100755 web/patterns/collapsibles.php create mode 100755 web/patterns/donation-form.php create mode 100755 web/patterns/forms.php create mode 100755 web/patterns/icons.php create mode 100755 web/patterns/index.php create mode 100755 web/patterns/page-header.php create mode 100755 web/patterns/pagination.php create mode 100755 web/patterns/quotes.php create mode 100755 web/patterns/sticky-footer.php create mode 100755 web/patterns/tables.php create mode 100755 web/patterns/tabs.php create mode 100644 web/safari-pinned-tab.svg diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..ade800c --- /dev/null +++ b/.babelrc @@ -0,0 +1,8 @@ +{ + "presets": [[ + "@babel/preset-env", + { + "targets": "> 0.25%, not dead" + }] + ] +} \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index fe55beb..5d3ba08 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v12.16.0 +v10.2.1 diff --git a/README.md b/README.md index fc21ccc..3d39115 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Client Site name -WordPress website for Site name. Hosted on AWS Single Cloud 1. +Static website for Strata, built using [Apollo](https://github.com/studio24/apollo). Hosted on AWS Single Cloud 1. ## Getting started @@ -28,7 +28,7 @@ Also see more [detailed project documentation](docs/README.md) and the [project * https://staging.strata.dev/_build_summary.json ### Development -* https://local.strata.dev +* http://strata.localhost ## Installing @@ -43,45 +43,48 @@ Also see more [detailed project documentation](docs/README.md) and the [project ### Installing locally -A step-by-step set of instructions that tell you how to get your local development environment running. +How to get your local development environment running. -Clone repo: +#### Clone repo: ````bash git clone git@github.com:strata/strata_website.git ```` -Install PHP dependencies: +#### Install PHP dependencies: ```php composer install ``` -Install project dependencies: +#### Install project dependencies: -````bash -# Switch your version of Node to the correct version for this project (see `.nvmrc`) +From within the project root + +```bash +# Switch your version of Node to the correct version for this project (see .nvmrc) nvm use -cd web/wp-content/themes/example +# Install dependencies npm install -```` +npm run build +``` -Build assets: +### Build -````bash -cd web/wp-content/themes/example -npm build -```` +To re-build the assets once -Watch for changes: +```bash +npm run build +``` -````bash -cd web/wp-content/themes/example -npm watch -```` +To watch for changes + +```bash +npm run watch +``` -### Configuration +## Configuration Any details on configuration files required. @@ -135,4 +138,5 @@ see the [sync](https://github.com/studio24/deployer-recipes/blob/main/docs/sync. ## Credits - **Alan Isaacson** - *Support Developer* - Studio 24 - **Simon Jones** - *Managing Director* - Studio 24 +- **Isaac Lowe** - *Design Strategy Director* - Studio 24 diff --git a/apollo/assets/fonts/Amiko-Bold-webfont.woff b/apollo/assets/fonts/Amiko-Bold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..b7de2cbac5571631a93c57235876d0f3888b7e97 GIT binary patch literal 24520 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 IhQY!87eD224gdfE literal 0 HcmV?d00001 diff --git a/apollo/assets/fonts/Amiko-Regular-webfont.woff b/apollo/assets/fonts/Amiko-Regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..f9ab4297b3bbb0371336cd98a1a0f015c538cf44 GIT binary patch literal 24448 zcmY&;V~{3I6YVp$tsUF8ZQHhO+qP|EcWi6N#*S^{&imc_=XS)2s>(c>U5bv%>~fbE z69WJNejfb*0Lp*m7v}$M|5yM2A2Bf%*&m+Hj}-Smcu&mKiHnGe0RVC@KW(8O$bhFn z*o!O3D+2%;m;eC8j|@2};W%SYTv_#}F3$r1KyCm4<}6yiFkLc(x0`UJEA^^F0AVBo)@{OWI04l-tds6rnCpil!s z_kVsr0nz|406zfq$BGRg0f_$bPzz)O0098~XK!X{mebca(Klc<<&+i}XowzS#x{P1F7ijs&BIE1!fq4cS#WKFeat2|xN7aXeDHVPHfA1GYdCsQT6^>gN%&{1Ytjoen!gQ5{8jy5s%FHjUb8m9pGenYnJ3yF5=V=9uJbtsSmx@ZaH_+_hP-;$ z=57q^LQhe?_`%)+rszq+*l2mz66hvDItF~r#kgPMGoqIg=$2ucL+eO8qkDBqnV|;> zVOTX0-;4SO+}8F=oFBnF`F{vBOA=`+bQRa4-Am5JbOxR0ui1Rz0#2}Rj@cMal6~*8 zahv?a;vUg=`3`xdQuqeBh_(@P6!ewwo5MY0cbx}e5$`&wl6>xH(IoZ!1=M<2kNNZ_ zwc?zUaCYvKE~cMvFCz`NyQG~~?uC**UB@+df9J!!1rJuB=E6OF10S@#m;JW~4Ghcz z46wk(2*&#;fDaghUTI+Y16t66ffGoj+@HX@K*Ts8n*cE~g8q;?0Hz5|jm-saj?N}em(K@qkk9~8 zkEUk5}KVEO(VPYd>WoAd{X==-CZEjESadI5*6ne8y#<ISxC zmiks@7}zvyaj2!C0M?EtWyQkKiugO}2y0qAQHGY=a-OD)i&!$;^OJ%3npFtOdOfnF zPz=*p>~0;g_+L!is2#3oB8;^qg+-DEl;mP2tlI9fC4cefc}xl z(L|zo$d#h8;+nL%9BQ%~QhXMn3F`c}6ogs9Sl$UsFnJT|>H4=M^;Pke^{MZa=xW)C z8MFq>u{IlFK`#z{5skFLjy*DJ#fl;!63acM2-fuA`T1)_J!O9dEetH24L;b^`UK)b z@)XT(K{*sP1;3eMKiaiL!LmGsP!1!hE(;mFx%1CKqKY@?P`x(r$K?ySHRT*+ znSje-4YdubJ((;>nDl0WzoCh`)QR$`G+Jn#ZmV(-jnW;@x*J`V8aUz0?r^4xzv`$& zoWbJ7T(ZVhDpP5^SgHh5lEi|dyYK{Fkz(&Gz={=Pc(4Z<|B;a(BUuR1$AUH5j3$jB zvc!+LemZ3wX+_TqVrwe5^RCyPPa1wE<+{LROq z7LrPn?3_yA z#h(nmi8n?1YRn1rr^yfVr!n8dm##G(PN^&}bR$Xwa>9WiOYQK=vTm&zr%nvl_JG7F zAafrpk~%_ro)c%%dHQl-Z#}(HNTrU2pDy(@ufi_+ZcLxGgPxVkA=diEoW>u%KvVwK zAg8lzYrE&k_!+*tv#-gT|I4v#b)`500(W)WPbbM_yV&?oSNs0_t$$HbL3TmDK-7?n zVw!0z4v>&{;Z|KGHkWt=J9sSm)?UXynM=WtQsIH}{(_ceI%-O4 z+Z<0PYT2|)&lF|9bXv+Iy`~0SI};PNKRB707d>OgUt9rdwNvn|A=!959(ZY?gH&FJ2AU0FN_}28l&eoM(D(@{}WjM2=aae?-93^dcgb)#9S~h zg`vj){{4dNd0;X2+hsS7b{dnJ(Xf9m9Qg+Kr`whJS&3`6nW0_(oMAHkaE@Id^)<#q z=xI#`)OXdqj(u&#!oFfdWxkh%%KXD~@dlpJnf4%HGH-}G%)O33O@6e^KiXlTvhS!L zt^JSI9VXL3+#dFbX^UQ~R|Ld5g?F`M%eSbz7ibc9q3!2vaI@X-Kty3gOl+)w06vn7 z3yTXo4u*rZn%l<2fl1N8U=g?quTv*ehFgWZe?fz*0OSs?&8Ex7sn!5!U(o9Z-v*xn zX9EXE2bU{=>|M|UhoAtBW?=5HQ8B!Lj9J~CLuyRq95yY+j%bfA4h&2jE+pn80WKjy zh7>T%Zmw*WY-+l(xHS0K`4d>`PK**fX|{~Y29ALN_@hQi^uO~r0rV8`0BwvNY%FZ- z#qXNGHGg5dz6Szmj3J}<7!YR+GX}X50|R4&MbiWK@~O_NzGv4|G&jHazej@;%$LK* zn^l>p2M%Kk=0a5w0my5({{=1oI}^JqN%|x^DW!jP}#`Zys!E-!ZdC)hBw&nW(+z8Dn~NMJEI-b(xKNu z)}hyF>X3KzIKVh^JD5A#@A-}X>s#o*4@eJOiC_O2CCK@3$BTge@ z6TOIB<#)utl@#!h5E3Dh+s`RUC<#7*9~V~QQ<^O~EXghDE}@s)NlZ*&Oc+n*B)S(^ z7GRTX6Lw3w0OI81#Q2T)8}&ExZ)vCJ1HEzIWb>rsU!qW=XrdsZIHCx{h{IIF{8G45L{iXFTvF&#Xj1tpUzE<2(UjDb=akx&6_qU& zG76c+O+u#86F{lVRO~8w6W3NVV&3X_V}3f79*1y2%}xm@9I zpm2O}lyGQpyl@DyB(dnR%GmWRtt<;H$9nyyVRdTot~bSp8UkQDK3d?|E+ne z51dZQO6E1^@n?qNOAeNSfC#Qx7?7g~t|5s9CLEy&frO?|0)dhU3l(7vVT#tIDdmci zHDcrth1Q^x=K15F5ZJKQAvW1s)@7yo^T%UXUF&8mS>|2C1PS26+l}QAVYh28&{nRzh9-l`I!ZO_=6O7$f5%(}kr*Mq^1wyDR14 zXw%0}!z|@H2|G(myBVhtGV*z|!q_g_N3qNVaCTx;(S$Jmm9PXBipL_*l#o0Zbdd>A zN#K6aJ=Q`Fk|8ZrBs97Tm9tbs>>{;UN@PaD$`Z`N63s~Fy}A&rTSst@9zC2F`P_^+ zu+9mRj0dr&ONKL9_|9!Q%(ZqZI2f@;-ut|5V{VIL(~HqdOx#3I`lGx{e47`1TZrR5 z30~R~)6AEMIq7Wh6F{B$4oJt!GX@@Jfh>a`kZtZ_B&QR1R&0&MFRi1g=miwX9CPMu zvyt%7ipUZ&2Auv-P{k7w$YOi~Nn~|G#TLf-eN}=}&kl|H*!bl$)5jQ>=9(x*)9JzG z8jWDLUqG*1O&5%fVHv2^Zs?JMbJ&5#3U13n7KqM%z6as4-+zvt>baiSa{1o|=XHhs zdoAsQ-S9i10*E-FKHYpit^3ugjW5EoU z@Sv3euZ2c~6lyDi)L?0%(h+@OBIUsFyS-CTAhSm5g=*9mfUW%CTdH!XQJPjpt9O`T z%>K7uR5UPv$W)$vTv9faxu0Y{9m6CtEOtIXG)P1|U}%BuT*5`hs{tk407Yz@LaB*k zDlT}rRwEnXErP6;`rgL^mY8a{m%T3 zp0;V7}WU3aM+)<2+6IFn0q!w-(=-#?HC|drhRC z<>PrNeEp<$ruKzXdwECI?n+oDx4+JjaJ4?*VTPi2rD5O57FBUHC>~KJdv*vR0P{QK z<=~!Y^@gUJ7~OC0Phni$XDJH#>6`8QE&r|r&A#xUs~uPLSO13e=-wBV zqHx%OOo_O2PNIXfh)0H4nn=*#9EvD0vlR7c#!4`&CyHNh$Nn@2EOuCJ9P9-HM~z!* zzhT4>cay#o}zTdQMw$dpGY2Vb@%v{7r z5!V3&WgM~+s0}YHHB9}GFcxsDKzfk|1@ex^Xv01LHY-^z<1|GWI_;@KT96hndz`)v z3F_Lu@TYy@mY{K>tUMt7H!P)Ml4BX*Ch-@`m*Evaak&AoRmn081CTU}V&*SW&5kuy z=Cp5%A@l6h?qJ#83++ME^0?zGA5L+}lq3O5SQxt0dPeDMP|kiv8OAclM-Q;6u* z(fc4th0KYT*^X?=xWwxC%1qXc|IFectQ$uD73Rmm=FlyC8 z7o=shi6u>DoitjBI?O}nk*Tku?XW#B6b=_zd@jn`jz@U#g*3BtpFtSS2r&feNdOpv zeYHaWGNv{n%)-gPLj_^Vs0l3J74KIp$w*SwY=Cd>BMxvjKp?4T-S3-0;pcTJdsaIC z)7o-#vu9^ybxm(|xyquZ&;9qWhbP|j-aUwBGh<0H&+)zqjZ||ZL7A`#NV%MlKq@Ju zV?=;fvjahG5CudY9@&+%5qk4{j*;O+tN;R0pK_^2^F?!mFHp3}DTnkc2yVs%3#-K5 z!Bed}c$VK*f!?#mc@!@56Fmlzb*0tiaYVbHMUDm?G5DQ;byMV~{le(a$yPzmKc=yP{ zdrzYIW^|1|_KzK;hD4&;LxSbbF%-LxYXB=s>ZlAzeHVWg1?7veXyX{mNgB?I%b+4a z!=@oGirL37La(_I?y*l_vOl-z)vBcLtj@hZ8HoF*|EZ4Jy!kb?{?s(L?NwLoZKT|D zpB}0@sJ#Kf&c$+YCU{0ACdkHu@=!MS$`P&0r7`4@kO(GS1Zj+xKmoPCUWr&bkaU1= zV?-nrSsAJ3%;b`oU?iy+JOLIK(*oma*5D%?6A4C6#1nPN)k`;^1Nt7i9B0i<`B?!W z-lgi^rK5XQ$K%G=^)UuMI@7d={|h(v<&>_l@>WFr`BiN*CYpbEX|#!H)Cs?I<@6YA zvWr=&P1WXf$LUqx59b1qS&bP4_Rkz0l3zV&vmYL$tWbz5S1#lv#JGVH2B&!l{`v{3 zY3-i8vi*Hqx7Fj3U_Wn^J{z>p%`N3x2b*?~$~c`$f`l)=7(8)TwQ1i`N!ffRBz#R7 zV=9|_fs2{clg)+E*befZM{3B7Ul5g#_E}Q;m>GaxAN)PS{`Gh1cb%E?JARve@87S1 zvm;tv{O8AC9CIt~yN~MN@c7%k-#3Myw}{OfBeWyM)3kthF|Dk)teR1+_3bqRRC`Oi zud5@BtagvdPB#0sKdzHUbp@{RAQHD33z?AUc#)Bqz;{Z_(GG-2Dk`98sU$#TWRPvA zTvjq!oFG?h88l|#;)@zMp)oq*#+NWIURV#Qvq=5?c+gBpT8&|OWydR@EldZy^*isS zX1mYnr)fByr}bf8aj@Zdt1I{Me+jt+!Ywg;Ee)?cxM4}0?qe4=X6^6d9&CF&9UG!I znBzGI!Z)vH9kmRX7^N|n?^HyUlv2YzJ`Hjtejz70`Sy-eMo5#&3;Nv6K#Nd5>7d)E z9*Y&f%HjCe0cK76b0BHTU`$AffIXx5dAVq~sO}2oSKbF2zsIdpD|j9atg@l!VEH$J zKNtWKT7JqR0iF&rkSBI&8UI)lvh$D~4KR)7ufK4vwyO`EI`pTI=x%Y5Mkt#i;P;HC zF-D;XP$H=mNu_z_CVCKOdxmjm%?e?9=mqPP8{Mx5NA|{``yFo8?h@J6FuNajZh&(* zW%Spp4UG1pY($#pa9hSQ(SW3}z@tS7$eK6^ee#XL<|<-{Zv2U8vMFXzqLY)7jz~&1 z&9W9uTy?m>!JJ;ULi=w#HQac1Yc{5gah#TNa71O@mHMSwm#}z( zbRgs&Ertx#E>72sgo+Hq#{&;a(Shs{O;%wV>QsnVsY*!YI`-V})*uBMs#1tp0fzQMOFf(aKV2VFI-I=ftqxYPD7)m}HvyMEctO$Y-gxsU&fwDdfuV zxlUs*W@dWY^^ouN#aIg_1Sewdh#`&7xpxp4jxjq)6d9!!r9bMDv59pJmXh-Rv}guD z^+kR-AL|10Z(>a-eD{uLr0rSJ$DM5FX?gh81AV7gquIfO=OgzD{rvoG{$3Pyx%RVORrQL)zah)Fk;vNe760nR$3+GEjU~Lb?X5T(=@?Ql@hmdE%6c&$T|z49PEVV; z0vB^D$PTs(;8J0lH+F{tGJ{`VOIEF7wTcBC6$Oe6hTLpW4&sIFHs#qGS4fkyvjQKl zi0$*WO4r?FMa2FOGy9Ceq#^roajZrH&lud!124%2phN+&tW$|h9r3kNsE!qjvOG~EBGF{U%VR7$p?mD{P*NrVX1Czo&luQZV{6v$UG;mS8|^l0 zeii1&I}7@TlAprHgQL~xMNu;4MOI_wYo$>Bs;KzzXV1|$bcT|&N+$o8u7^?y5Ig*0iL zmGXzQA+=dNqck8jd|kYguZ0*+Pwf6Kq!{E(eR-W&7lOTy4W8uB`K z|Le|5@e{2dr9BWVPb0kkwN0)qTnW4Ez;<63z>Ns-!o`OpM$zFB%gaL*~l z&_fGz827juK!8pYR``zDF70id9nF02I-Zy`ETq5vNT|02Nv~b9H2Vb|bcEfvWwUKF zj3&XRTgG7hVs$>O` z&G9Gd&Y#21z#MY2?>#mWuqy(2OZD+&&Bw1)Q~~oz282OEK~X@7%_SeBE}RYqdLP1U zLSW@Kvk+L{NYf!v6Om68v~cOBfc|C6YDv&!P7F6F_UV^pmQ$$4Io@x-MH0Zw-&%=i zzdA3thug2)eS{S>D_5iqz%8^6K-=YaG~mqqb?$Ko#oIh{>G7r%HT-PocoiQhI>pYc z+XM9n7mDF^^8STFH6+4S`?JkyLIb_zeA7K zD|PyvexF)>FtN(dhm(t+Plz)kRxcC4tUWOL_%A+*FNFE!afULHv@}Qz)GHLEboonR zRxOFxx)pNPS+vcs*yh&1SJ?Kz_{8Df*aV9T^}YII>0>U|nC0pNshfO1)U60}d4+{H zy53VUSp~y8a33flhbiWWG}uecXrg*p@EId1SdE)WNi}De5s^~2Nye&nS7Z9JKK~}z z#o=>$U(^nCMG_=#@>f6}th@T;UD21~b%+E9iw=??(O{w8%ws1=gBsZ1@a$nq(hw#Y zWFXUPSu5R{nyrJi@$jO8CX z*J?H&|i25zi@GD({-!XjX@G2oIk z_zk+EGBP3LtUx0zs532Ab zHO9qxzYk9RPm~9#enO}j4l+4>Y=r?BVZ2TC01UIMe3N-5Md{u{bo$P%XW6N*KDD&I zPc5^J3%@JOAo6liMX%&MdHCVr=!mCx#<5umqR+X{=EOu}ySMt35n~KF)L-{q{!cTx z%>&4@oe#oZs3RKS)>Br0n7qS=K1yL|Hjio1V8T%as!jcpmJa)hB}2ErJI+2YIQ;Ox zgRnR--P>M(9+m(HS!g+?{yAO6 zw;Y~zq^*19tm|*x3|-vj2gqyEUK#J`w8b*m;XDsh$|ZvrG;kcohz5d!;pEDVf|?x6 zD&>)=&5^zB+u!yoo`Y?Mv45s%-P-Qo{UTK#t9Z_jT+`l_RbECsAod$^j2h>}`9;hl zBV<*gRs~Bq1$0O5BerB$#TUNe*uHpf`M6DLRk+a^@ey{~C{Hhh39e{-WK9r3{RmSU z!_nQterV+B8-EIe?(V%mMrvQ#u#nBhFh|OEefg&s9c_^GZC6Dmj zp#1xLa2p&djRS{f&`i#?A+yoHi*-5-xl981|OYE zq+~$=^LE1deQx5^e8dTqT5Y^p>l?dC3cgTHz#13|udu&%IL_pam=ErEM30I9a@R@< zfY3`#SIkn)>nGAhnq0zQbQJ0;o>%9# zNS!YW5qltu#Se7iCW&RY^7pl%Nn7nHSE zBGweERw?oekN6&g9tf18?2Yc>8h7~SO-HKe=U~s{RyJ(I78($X^(l#S@7B{~jV`@w zWZVMo+(tafl1*waG&uD)zk8KCEV(Xi$@h38J8o$y?+i1mL2*=Ip8LTi)>{6sd5|BQ z7xT>O%**98u`ARZL3y(FsVQmaV_mg!sHHiXeONA&@J(bbt5}{Y3S~sscK1s`@+AJt@7=Sv_0Z?zgkI zm3)QHr`pr4-d^)h`N_p$@vMLD9)3&_^Ku*e#L`XmJ&q?zJ?Ho^&Y2hQf={#r-gqWO z8>oq5q5@ffXc~zcs-aN+T1k(H2T#~X7=8E)O>F!ZogH)-$zZ>YLkS@Q4GVd+lYT=}>)i>o|xZtgdI`_olDwJ;1nrjT)J zGUCK*-QFc-Eukn|{2tE};B0$@)fJ`$f85=2T=O<)Gfd!!fQFC=j8{#$V`lX45vabe zmzS547tKaW%5kagoiU(5qQ?VN=yTJw3{ zu$tFA?E}2cFW$-}xDz6Fz76JG%l+0`hQ`2ib8KuibWS_6)t?lOGoNC{*ws8>H9 zGX7JdJb#j>DJDuLWwR138K!>Gnh|3- zg(S*g10`Qd8z^TQgbuUWNR|P$1ar({mR!^>u$; z)mS>GHR_)Y>xMdz5x#FC=VkB9#-*TE`yed=ehIMI>w*~z&G_X&XnJE}5l4T%`*=u+ zJ{0_D3c~Zajv~*Kq^yyle3+J$=R-1jI5F&S-;)d=|k zAf&TAiyV6vXiS?&LXVg*Mj0@}Gv~D4c_T-Jp?kMeF@A%7Sa>70%T#0KICPpm9=q?Y7Y8^(^sCWSOjJtdVd3LYF{YFc z9c!pjrKnY^HW5fVM+w;Ys6fqNMSN!aQVo`iq#Z->>Gb1U3YsO$*+(&+3iss%qnZAh z(YOTv6}Kj@`O87QreeJ-Cq`98&DPIq>PW8U%HQyFa^%leb`UG&M9s&c&tGTRvCbuR z-9J@LSC*z%;+cGdK1GV-+UpSthE_~odHfPnamO!@oc)#x=-)6|Jp)+qpQ6OwS9=q6 zus%{7hBd8&+2!ZlF}CWinMKzSedg_h9lurw^S>XxUnr~zo9G1?=f@5wDIBdaHl#M(GJq&Xn}tE4_6FPTJ#j`@Eja`y0;Um!KmNamOe6pT|T2 z<78wa(!DfB5*3N$`A^nNF_KdZyc*OaLm&GfReeMR?#C~7%y?kUum`2`qE?{|%)dErj~h2mt)R&> zx`CR}FdhCd4SelEP~#AsFNk-@-L5DRTv*J~$yV(gSb_|>RiBRb_TK|8>+GIgsD{qF-Tl_*G3SGg5()3@tmb^eimOj~uW zqx))qY%K2YS5ugpxvc3z+n>kl9@O5|TRVh0m$h_FGm^u$#fOjhRPl6^&NMR~t4u?k zk6ineOT$Oy_X9YmNM|W@4rUgHWra4*6Q&_#m9gL%DR7Y^)YkW@t`2zK9ohNK%dcq7Ac<5z5G|kvi|OY99{FE>w8(Wn9Zs zJQwxUl`9(8jW_Ci&uhT%qt=yHR35q^?``8llLG*LCW5h7!xiK45yh0$Z2%ZsfJ}%!^;w}faxY5F+K+l*O-$H4} zEIh@+7UnxQxWqBPq4VyCvqp33>pday9w70)S^0!E=#60V9FyAq5x-#45@^2AUG`n7 zJjhYp4g!6JjEjXP7Z+aOo(?Bk+%bBRMY6SKEz%#I9Gpd$NXtBOX$4f&AM`VdAdMjG|c9GN&lyW0Qcd111Q7C04Y(ChU>`UEjt5Chb#48l893 z!EIUGgq`|e)?4fFR_diJm^@UjcTy~f>w}f*Xy1CUD~It`SRLHCgV~lm4melU37YAZ zI=O2H{s=iiFmu+@F9&jJLr~{SjkOAY8N1$%j;!UC4I4R#xGD6r$hol&Wpc}C!)buEV==i1qD|L0vM*|DE&!>c1+r?`%*N&$5 zGC|0QK4wN0^RdH~Ql7ITsEJb|;sKPgb0vfEX>DdvVR%Jke0z0?}|QWH6}H+ui)Blv(Ndo_;oFE8+R1{>kEvFGbCb-Tk4dS+I%#gu7~S! zaGCbN(u3z`zdYyhvCw|rHDFKXGzNW??50Rl#V^vl?JqUMX}0NY7aRd4pp|ir4a>I% z%$G+EH!^zVes2n?P!#K}8pnK0rkEb+yIoa-xrFKspnHwie!PKfdBCsi!}Su@a_e1s zUU%oIyF)T}A^)BYVK~(OvVY;uwkpZ+vb+W|sK(X;H z8BT{mpJN>d1u`9VbRZ`BsLs4od!gx=!HlqWR5CK$Bs*$xQx7CiypKML{GlO^_~2Ob z(n3325?qE_?Id19xDiO+#@|@zHu;57RmI2I`}M49F4tyHt@C|J`<_)@WtZQ3Gn1*G zPj71}K|QIt{iltF6hfu9il%+ht|b+&<#J79p4W$G@M(tZ!hUlS+n>d!>upPR`y~rk zI)t&lso@C8xyWriYFv_qZVj~BCIWd5E3nhf@91BcPX9A?@|@8F`{oWBSA&#Zij>F_ zt_P6>5M2t=NqNl(m7-d$>3n#@3CPF@S{fyD|D^eBUblx^9Vsa*DJf|tY3NS`TkE+~ zMz*mOZTf-JOxHImxF8km_Y_-i*YU`!<9N$M=Xs3B<@H6x`>@?tt>OJbp!WPY-wA=R zAg?#P!e*zV{Piim#Hmd!Hlu=XN%?+71_x_X3{DSi`U!lW& z8li~WY7X~fiAvVr`P;VhH5M@VG~TK0w`4MfIi_$IOI4V)7$mcw2$f5P%^0|cO#lk1 zm0?Sfc3Z@7+eg!S(|T_rEZh6POX;kt zYrEG#M@vtyKTc1Ts#8dDL8)R)59o!7P~!GMO=yG;m@_ZXCzRcKv+UrsWI3UiF&$MO zWTfgRjyjH6ztEcM=JNkVA)ILcT*jC_IkVEb{GP->aR_n<-3&TyLeaC)&um;|^vt@& zU*#j|m%kn4PYQD6q$QB<*nd(>)?N(5qiG9}eVKs~K^l_6CVJ4O*}hu~hBGa8-6T>Y zGnR}c+>bymNgsID6wDF0+52E=r82R_R2!tKC}l0Qk(TlZ%Y`wjCM-C_x?i>PPxIAt z6MNd^w5(K%UPDbqWrb0aY$w-otgB0ob6d{Jn6L9k1lw;dvnUfiNxbE(XmYk$|b`2Tu}b8I(3~hbsZ3yjKt&eFT9;302D-%;86{v#$iXYhVK(&5R*oUy(i^ZS@iAzM zf=Br=cX(HCeiolS?&xMGD{rVMw^eG}?X(?NFpKl_%&$GT$KzFuX`WDA%rusp^L%O1 z+11YK<_>YP-69jA=r@0ldIY~bnR>k!G=YrKIW7P(LOA7NKEyE703!>>00@o0u^5F7 znE6xDrhmT{b0QPufevkG2*MW(c3I}vIfR{PXeN>$zwHjK3^f~8Zy&hT+fr<)otU)_ z_T0rG2)%8n>uQOqJ8##;8D}7(&NR>(hyl#_4TSY6qiw=*(5zV?EeBZl z3=3(9nXyzEbR}WLGSEz0tTPt~gkMv(Ng3H4>)z2hU7u%PHjnX~xZll~G{QO^NwI*n zGr$(ICI&pPTX;@(6&x&oyT3Zk%#Ca*=h)0$x3a`wDxj~fgRaG(Vyy(g?nrNjKm#T()kgnh)hevwKLL^9RB@i*Vr>M`xj{(brpibduivfL^}E zgp>@^2-wu<;5m;#gSR~H{yrgRYD(E#j*(otAy9M>5zQ;q<;s*7_F6O-}2Kw?@Ix zv76!O_sFGlP?+PFBiHsxj5JV(jVg%V0suM!o*0^32-v^EPzF+N@DVTFEL3?I<}Ioc zhCw*kP~T~*3!*OiE$ma&fAGtw*U%qor=fSqesO2Ty;bNnK9nRS?nt9(+Ii}OU=3AX zTWuJ-OsK@wFlveCvjW}nVZN<1ZgCHvU8NqrlFn{`Gky-|!5=KKlN5PqpKj&R$9${o z;(8UQnd`3THvXmwu#&wII?#OdmS43RDuBQKwPJZ08~D_@@1WpqR`BUu>U+l?gEIA= zS^XgI)uFoyO#I@i@UHKB$z1R$y50NNPu=0hEg-KX_qo2se`dWuuFCi0fk6TZo!gm2 zhQMACNe&uKt%|cBJx21dzBDA981)zal{Y`oCVJIU7VFobl4S5+?lzM^IO)Fljj7&Enp&icFeqQVHa-{&n)BLeTb zl^hk_1anu3O+o9-AeZ^g=boRZJiEB;FNUwOnYn09AqLivZXpK3kmzy?x-J&Pb%ous z9=vsSCBZMR_Z_)UZ2M-LuRNE1vav1@TSW&O zy_21lx8y5z(d2S}7h-}wbWSr-R{N(+g)_^0#3?9^V>X;Oc#BJ8f+m;KZ~0!mXzyx` zgPX1pTE1Piyp0P!>rjyv|J&p`mg*d_UHQX&I3Ji`_XTU2?V)n$@&twGD-0v_)E2iO zw95u+LM|D3#90cpkCn**-$?kjxwTDrq`tS>bmJ?r_ zS--n554AP{HO;F<4IrQrr=A%5pBpH;IfXYxq8A(6*+>sS`f_eVu(v2?)HzuXEYag7 z@}^5>DVI0LF;1{QU)c{OgP_3t*#jCz4fR7IwLGG7CcM(rrDE;4e7D{k9o3C}(z+yk zJgwfs+A@~{s~dx@ld_~~f9=Ny8bf8dk*4%K+8sSduLr-<7dcbs-;-ZMK{;W6v!)N9 z?9&Q~DT{mE^PpCB%&S~UWg4A9byeCH*o#`yTak()y-1eW$R1~{D~2&A1g z9f!dRZLUBtEXwp5KABx_%&FBVw#ow@tr*NX!om^xP3`;?MJNnEMi^4Alx~zWay5rQ_(YuCE@{)q46%-y?Z% zYtuh`E{N50Sxw1v;&`(r(ZIhucD5UoaLGEy>Us1K`PtfTWwE>A;X=~eow@P3k=PrW zT3Q~;y(JHWTszQZIav9a?`Y>m?vqz-h)tZQ@>Ir#Iri-9q}h`PX_n3s6%`Ol^ch85 zBQlVD6MgmM=Z!p%zb>BxOLQpzou<6_2ozNVGvBSM3U8+q%;8_F(fXVAKQ;!j}ZAN*8Q@Pq*RlV7kG@CLiqx8xsO2a>i4KW3Yd z3=mY(@Ec@{HM{*V6YC1Rgc1pi+7}XI3Ck!=(eb&ZAS5It?KhHP(k4+WRvrdU+qIDb ztx7jaZ4xMN!i~Wz*R_B{q{e=KKkeP=mT^3o-lES)TaX^bev^M<+xE#ESo(ap59`T-P|N1e(MTawU zxW`0sUpu}Q-j^h3#5Vi%(gShk+Fa{$W=_kU z1xuj_SO6gN_Uy|Pga-&|)wgL&a>${L{)X~2pp8lF^na6$3=DL24Up%&6qSQs-+l^n zd}c7y^Yhcwe_wWccMo15EccD5K^Xf%*vKFdGlMlmqc=>}46S0q#Yi2F(#=uGu=1gH zPWeN+L6zt zlkG9rEr02nh$2tBbT58aHT-_YE$!95#J>C_k78Eu?6OrQS$BOsiB8>)*Gbgz&Ma3dR+{Bj>YUF$RG*>me@?TsY~7l_M%xbG&`*{wg=5m zO*t+t>C3=M&EO_%aA7{wLg`mzk?n;bhj?p(OmZxb>|8}05Nn)>bm?rh-yc2{ z81#bBl{wBGKxeSMX1$`2?1uooyB@mP$`$r)DgYgAp_R121}cpd)UTFOJf z`c)4$Q#S>Bq8vM$%QghP3N~bf#EVI@`ju1sQ#d@Ni%B#e;=(E_EXv9a=YGWFfEs*} zxt3>+Y6E|jZ3pj0@$`{vPp47-{e!sf5MKMS91t0++P^gDg_2@M_@*>BuX@$XUw`|> zFqHWBwi=}qjtMT(h~KMoU4x5`K>W>ycE((vaDCs8Exmh*w z2|C7Kyg}KrMhLdAwO=+^GZ|}}S+2|QM7ctlt9>E8LVq;gG=Z_`WYbmEQ|5=_*~Gvj zvr2CVomi`5(G$)iW?L zF&h2M%?tp*&#Pr_hS+~s)*7l_7$ds#xMgRagro`) z#`vqt8@vzFohqEk=~|&~{UsKJI7i6(%D#=}f0`RaEl`b&yYITxag!y3>{NeyL7H^8 zc;&(53gv^o1%RRo(`0@;So{ooGTi?z+8OIbb@$yr3W&5T9&k|*M-$Qs+>E$FF1gsk zu&zw0t!oBNAs&Ei!uUkueLf>$Op663OJl|Ja#;Ez#)Ew;3X0EcnADp~qC^M9VfNwh zsFPUKQB-W#d%`ucvruIBL|;YAQ+gpcU-oco`hsRyR!N#FT3RX&k@9O@U0&8B@9!fc zp##gU9@mkciGAEj5Pj}{7Oz5_{@TS<)N50U(7nCvCRTO`I@eP&(sl*^i}JhJ5vU3K zo%SW{Jja+#_lqmO@5OdlpI~rxM(gz(?W{c5HIdQgMkE1Nsru;4mbx@mJ>dBBW>AhZ zRx&1$I?gjO>Yvf0O-}K@V;|r*Lay^WksXDdipVRkDyp{_!Wr=-fpYJONQH@pebG@w zSO5-xxlO5R_rKXUbS}{td8N0lEsmI&OJx@LHE^EfQ#-bZ)%7_Z&C69lge;Hd0ax29 z>yPucj`q|EzAbB%8JVaGp=4VrBPhRxOh{^DjWn7dfJ)!Zd1DeKCR{* zd^|gf#8D?tZsd|UXH@|KU~jvYaZ|%9=G$UdWp47{ErPmk!`=oX(bq1zJ`dk0vjSSP z(M!!28lOY5x;IPtP+D5=QF1byw(b>HqfoCs&?~whkGlY2q=UqOP|&Pu<|-!R(^mu8 zj-IuP{sKzS5!?|t!WMVou8so9WVP(03aqefTFAMs@3F)ijN5t6-{o!IsNlyfDD|D* zoQep{PHjac4L-+AhQop)5a+8px!ns5(M_bZ@Ez4}$^l$SKR%r*7Urze00M^z1Un%XNbi;>LVie~ zC+gEavS;ylt!x)%Ft2ufY8hj|1!S#XgBZApC=TV3yyoWDF`3zH42C<5bnWJBsOE+; zeoR^=_OLMXm-|s*MCk^%pc*1fUc&%=vB!CD;Ar$6nhvQpUm(^Jbx(MA11`zTG~s~6 z(ia%Bsz_jJN4WE13wAMgeDDUVRX7$nYid#~bo#yAe_0l@EChd7{OX1*eu|b@E6{d| zR;9)(8X3S_l7^NA8*A7#+q(!Qb=AczvK&9EdYtO_ebcKp4_f$EnQ{B)j`f<$(IO3j zjLA6r>}zN96@!q?W2`!9a>G6Ti~!#UsE*qS6y=yvJ0uWGLOgQkU~i017Y4X`UFx52 zKyQ9<*F9~E!@603@yK`B3jFb+34&pUsN$t!M#Cw5y8amnn{HRcL*o z_#l->Jd3wpV|2c-B_V7G$8hW7$!tu1kTKaAf0Fm`Nma5wgECv!f>ccYm?iG%n!zT2 zsSuf=>8vLTgMGp+eWZtsnjP8RY^TzwE0rY~tqW98a=GD{H$eUH_2DmwZ~yJ>Eo}kN zV92Nf@ln2Wo^5w!8#7f4+Ro*;!ln9i@L)0QE_o$F=xk>V+uTee_O=?!M+z*v36^{E_e#CZ3?spEL~9e1 z#x>o0n{=}|IOk2{E|wK|ova3aS}d$x6+=ZkfPS$OmZH2Pv5H;grMv_*FyI9)Gt`0( z%qC3@-x0w1oQ-vP9>x8VPiL7opw9UaqE7SJ^{q2%p2m|vwxTxV=SA zwl2u>7T4w?$qIbS-i zj6VfF1*j+Cq%3Cgje5&51Hf7kvED64ncldFE+4^Gai~)@ypZvM;_fNfk|nRp8&*BE z5?n=5nF)>wkx`8#YqEMN*Ald?@mO`!%%0buOHl*Z_*H+i{H(p>&9NNOB5;?yQx=+7 z{dJ~Kd>*4i06@l1a?vx80L`tRU@trHE^M1c=+nmR@iA}xM7txEp`v3us#I{0_xSm; z$CIPL?eqX`G9LjEnk{mh$?sygSKQ&F9!{8dcr$I_IB+hAj-@~<6@+JSN3?H#@HcLO z3ot3A-V}@o#YE)^H`@4;Noc*xP)E+nwH1X;Rmdr$(`@}&O?a$bj zYbT$*{YSkuKUZZKf-$g1yq50xeZu8*`LunE;ipR4SRA789&iQm} z9>xTMR=Rw>R)#P>%lXVt&11#n=O+@M$xmc#u8*YvU32*X{z{Q|V>3hM82$!8}+c?YnBox_6D9=RA~Y2HRhh=6j4rzz_WJwQl_@#K@= zylj^e|HR&xrD zvFDD~wPJf%>HNLS8bax6st%fv<*pePHl^D6iccEr84=^bGs5Y^N|hC|kQH-Iokz%A zW925~XQi>eagH}2z>bG37NOfg1M&^`T>MY#9~xe2Z9fj3>IP)l!6rpQRDYEpwpOdy zR}rG?wvJW(zrB%Ym}{a&e&C>uL@twDFjF5<2o^|62&Ppbcex2MbqVx@8g5VM~2y4JVnFg-?`e5?%sc~ zO!RHQ&M0BR|0j=sz7?!sxIzBm(xR1fgvcWP|B#znv6ZK~GCdTupSYWnA?#}siLR2E!37wJGS8M}*mMsT+@>Lo^SEeeKWl0* zKJ{||0Mv8l-(>ax(}*vMeBEs9X9^?MB#!r zbX`b~o%`PFDQ}JLUe+Z|qM+Bj9J?2`PB1j5D?b8nMLr~G+Qv&*?5<0N z*&rS-A(|tTNY6z})8ZuTm?%;q>J?x-O2Fbvz@hiUk`*C%hB&*Tp@%RxMrITyg;`OT z(mKTPnhS@Dwuha&Hj<-#Py695^O~aN;@qh?F!8UGF@o4DYYk#95PxsAiRZ1FI{MyaEbDc$)5L*Xo>e(XttA5jZ#i}Xku zf+cNdn21aPy-RYE#Ys~v(B`au^=kEC)d@9mppuB`JiR-ecwBj0lZ;J`;wbtwhBVGF z79>Bc<)6CLH>YXg1n9Q(> z>rA()4pi}#9-S5RWP@agNfefdS6(ot;?c(}5B(jQ8)A%UAP)IqZA-)!zY(uELSn%l zlTN4BOy@5BLzU&B0;Xu|uj~40c%d6~ru8Il+qjv6E zj$pE2#*>JLi3EWHyq;vcsm`U$r4X8BQwxtin|^x>L(6jWeK=h)&=$uVMLryD05H(v zsP|oHBWtVhjS0m20*PkAjhQS_n`^ZF(n>EhWp-HQE+QBxh$lGX?mZ0Oq~VDBGW;;) zv8Q^a_?Z>}J{>=w3e4_K?WX;q43Aq{Ce1|$&Tv#nygBxZ6|vc_@44zZ=y76J8_yys zJD=~KCq7X=(G+7dDY*D~F-AFIG9Ju0IPS{@sZ-@+0(~;fA}7#5vqZQL%|*aMEgDi~Vjc<%A9^|+;Wb1tT{2kxtV-h|)ejkgNc9V{MhWb*2f0=c&N#KkN{I5THxnzr@Toog}LQaHG*u zvc^1^g)$y*MQ$Z+)nY|zHEPhMSL|i)VmI10v3~AuB-pp9vHc~eJ)q*%>M13$BJGr{ zi()I=S@Gc;tl^K^SwO2Ux}L~4V1vM-_8k|*I9MAh0o8$i=c-FJtgh|R@~d?3x|Tio z`t{!_+%b|g@+DGsFqcK;W2KVek^!#gPD?HC65CRH zEo1FU&4UVE+Nvd|7g$aOtpZTdLZX+@H3C>Lxv8>lJA{C33BXf_YB!C3+dWod^;XL@ z_M&ZpZFp@n_C9RzakJ*lk8BU0JTg@$6v<1~^p9#z>p{SFt#*rHLj=9jwm~7w{5EG` z(&@=vtiR1${qxoH!Lt+T^hi6g2xLmk zHrUamosv(BbU0yTgf-zUVLu@*!7xD{vswChR@i_Hl8BUu@Q=Av6tg2R|E#Z`>E2}dDgd2~rs=0W8I=?7BR4L_u@UR6F1oB<3asr9 z#;Byi3xI$|hF#$SY~az_Owu5gja5lYX;5Z_JXA{_$pF_MYoS+2Ue18UKa!H^%F;gKf_ zc^VSDM7S@>^EuQEs{F1SRP*Apsi`3WgMk14DOY{;L4QHiW|)Vj|5HIqiH~E3Q&1=f z?&YYj{?|tKmo{jZ&>-}pAIkW!U4rqSzdsPec1ags{9!ZcA)wdE#p9_dleDe1 zPQ?feu5IPboa&@lc=e5l{pSy{k5-6?ur!d#Q9#GTAP&?_QsU<1RA!57jdsN`*TcoZ zr8m=TzUw}MR6^T3?|F8TK-+6?g`nxqqy69uQf8W14bpQ4Lu2g~g@cBHi6f0I zxcZx1JA;Wl`nc*Cbh_%=IG$d7&f#cA_2?|^y7y_s**Y6y{Xb1L>67GmBoo!1*XcsD zkLhDY30K{cEx$c)UYCb;dTiAkxHCT4e_2#HxDF4miN}wqCSoNHc3|*!aeQ>g5~5_zQkjWpX?uS?e7KbO3L&o>~*Wx8;{*A7oG`v zc=v5PM;0u!r`w1bWEf}s3j$v&@=UBdFXIuPA9d6A@zL)*1u~FA4wxSD?ko07hSo0n zxQy+@W>8}6xe_u0{pNf;{m1g!jlhY)Lkm2GDq~0|f;R;U69DUm;{|7DE!LS|E~CWV z)j&nhY2R&X;XfUhj=O_A(cj?lF_6fNF*p)F@Fc*a8)E@UFa&Dgr99zwkL9RTEJA`j z@vw`VB!at$qvr*vlAK|#?L;&rbS2`KVG@`3-~JrSuERe~Nx+;Vp_)F)tv1h+!VF|H z7tz$k{>s-w#-FqDHNhxDrAmr~Q3}xYB-fz&!g8e^W0MtQ^Qpk@YBJhJPo!H$#6t&T zs4CLl%nVmU3Bwa>4;Km5j)fz;0!I4yOA)0i65=d6l@#~acOEpRVtDNGmk?z;g!<5^ z+OGlrBpS^&^q}Qt8+pUykE?+R+u<4Y{Z#96!u=QUs3(DW5^%?GR7#Yvn(Jsx>qz)Y zJ!ItN7uev7uh`^BQmYQ|O`W*lyC+La?u;=V%v!2nqNG%QL^NU<{gqQX3?!`4x(RuN z4ksLYl!y;ZEOl>2ft!$TTrOFjg`SoG?}t99^v-zQ^O^cxNUCF_rL^){!qB$TS^kh1 z-IYZQrSfknTtUhVnjv;nHUurJ-jaA7{Dp&%k_{MoUen>!kECj?QMPtG*O`N&Elm(7_Yhzzc@Qw>yVmRmPUijNYxiNDNxF-cIQndH2 z?wm1$)|=3}0{~}AMxCUG-@Hn>H+AsHb!yiSzbLEUqu6mK97y?tW+p5jI_pE*di|A<%g9ygg^w}4+)^cLRH z>S~XBbjr)-4y`bDEcDAEA?aav6E|$+|&K2*A6w+nC<=kIZ}Y#ZPL+mHx}oPLAU8``ITKyr@?bKIJHHRP2f)C znO;7-&0~bA1);Bga$@Y>LYF?}z zG){^EVC)sq2x|ONnUD|2MR+58BpefKc5yPO_!{wa^A~FkH$hP~_)RJb6x;n%p#Q)X0?BS(N862|M20z0H^RsqW}N^ literal 0 HcmV?d00001 diff --git a/apollo/assets/fonts/Amiko-SemiBold-webfont.woff b/apollo/assets/fonts/Amiko-SemiBold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..d31c293027d1ca5a8779e1f9c1c33886264dc076 GIT binary patch literal 24636 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 YIkWrl)>{hLF*(D+(SYAKd%g*ZvX%Q literal 0 HcmV?d00001 diff --git a/apollo/assets/images/ccs-logo.png b/apollo/assets/images/ccs-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1203ad4e6166abcd6474a92116577eea1b00aa GIT binary patch literal 19837 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 literal 0 HcmV?d00001 diff --git a/apollo/assets/images/ffi-logo.png b/apollo/assets/images/ffi-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c6caa03c226e101223c1708cf9fe16153dd6da76 GIT binary patch literal 28240 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 literal 0 HcmV?d00001 diff --git a/apollo/assets/images/w3c-logo.png b/apollo/assets/images/w3c-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d17d303611053a107fb93af9edf3f99f6f180b GIT binary patch literal 6765 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 for better performance + + // Helper function for finding elements + function findElement(target) { + // querySelector returns the first element on a page that matches the selector. + // For IDs, there should only be one match per page. For classes, it would return the first element with that class. + return document.querySelector(target); + } + + // Check for if an element exists + function exists(elem) { + return (elem != null && (elem.length >= 0 || elem.innerHTML.length >= 0) ) + } + + // classList polyfill until browser support is better + + /* + * classList.js: Cross-browser full element.classList implementation. + * 1.2.20171210 + * + * By Eli Grey, http://eligrey.com + * License: Dedicated to the public domain. + * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md + */ + + /*global self, document, DOMException */ + + /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */ + + if ("document" in self) { + +// Full polyfill for browsers with no classList support +// Including IE < Edge missing SVGElement.classList + if ( + !("classList" in document.createElement("_")) + || document.createElementNS + && !("classList" in document.createElementNS("http://www.w3.org/2000/svg","g")) + ) { + myApp.polyfill(self) + } + +// There is full or partial native classList support, so just check if we need +// to normalize the add/remove and toggle APIs. + + myApp.normalize(); + } + + if (matchMedia) { + var mq = window.matchMedia("(min-width: 1000px)"); + mq.addEventListener("change", myApp.updateARIAroles); + } + + var contentToggler = document.querySelectorAll('[data-toggler]'); + + myApp.updateARIAroles(contentToggler); + + // Collapsible + var collapsibleHeading = document.querySelectorAll('.js-collapsible-heading'); + + myApp.collaps(collapsibleHeading); + + // Tab + myApp.tabs(); + + document.addEventListener('DOMContentLoaded', function () { + + myApp.updateARIAroles(null); + + // Traverse DOM and create variables + var body = findElement('body'); + + }); + //End of ready() +} +// End of dijon \ No newline at end of file diff --git a/apollo/assets/js/core.js b/apollo/assets/js/core.js new file mode 100755 index 0000000..fde6355 --- /dev/null +++ b/apollo/assets/js/core.js @@ -0,0 +1,21 @@ +// The core app code +var myApp = (function () { + + 'use strict'; + + // Create a public methods object + var methods = {}; + + /** + * Extend the public methods object + * @param {String} name The new method name + * @param {Function} fn The new method + */ + methods.extend = function (name, fn) { + methods[name] = fn; + }; + + // Return public methods object + return methods; + +})(); \ No newline at end of file diff --git a/apollo/assets/js/functions/collapsibles.js b/apollo/assets/js/functions/collapsibles.js new file mode 100755 index 0000000..82b64d3 --- /dev/null +++ b/apollo/assets/js/functions/collapsibles.js @@ -0,0 +1,38 @@ +(function () { + + var collaps = function (collapsibleHeading){ + collapsibleHeading.forEach( function(obj) { + + var thisElement = obj; + + // create unique id for a11y relationship + var id = 'collapsible-' + Array.prototype.indexOf.call(collapsibleHeading, thisElement); + + // wrap the content and make it focusable + thisElement.nextElementSibling + .insertAdjacentHTML("afterend", ''); + + var fragment = document.createDocumentFragment(); + fragment.appendChild(thisElement.nextElementSibling); + thisElement.nextElementSibling.appendChild(fragment); + + var panel = thisElement.nextElementSibling; + + // Add the button inside `.js-collapsible-heading` so both the heading and button semanics are read + + thisElement.innerHTML = ''; + + thisElement.classList.add('collapsible-heading'); + var button = thisElement.children[0]; + + // Toggle the state properties + button.addEventListener("click", function () { + var state = this.getAttribute('aria-expanded') === 'false'; + this.setAttribute('aria-expanded', state); + panel.setAttribute('aria-hidden', !state); + }); + }); + }; + + myApp.extend('collaps', collaps); +})(); \ No newline at end of file diff --git a/apollo/assets/js/functions/normalize.js b/apollo/assets/js/functions/normalize.js new file mode 100755 index 0000000..7ecba68 --- /dev/null +++ b/apollo/assets/js/functions/normalize.js @@ -0,0 +1,67 @@ +(function () { + + var normalize = function () { + "use strict"; + + var testElement = document.createElement("_"); + + testElement.classList.add("c1", "c2"); + + // Polyfill for IE 10/11 and Firefox <26, where classList.add and + // classList.remove exist but support only one argument at a time. + if (!testElement.classList.contains("c2")) { + var createMethod = function(method) { + var original = DOMTokenList.prototype[method]; + + DOMTokenList.prototype[method] = function(token) { + var i, len = arguments.length; + + for (i = 0; i < len; i++) { + token = arguments[i]; + original.call(this, token); + } + }; + }; + createMethod('add'); + createMethod('remove'); + } + + testElement.classList.toggle("c3", false); + + // Polyfill for IE 10 and Firefox <24, where classList.toggle does not + // support the second argument. + if (testElement.classList.contains("c3")) { + var _toggle = DOMTokenList.prototype.toggle; + + DOMTokenList.prototype.toggle = function(token, force) { + if (1 in arguments && !this.contains(token) === !force) { + return force; + } else { + return _toggle.call(this, token); + } + }; + + } + + // replace() polyfill + if (!("replace" in document.createElement("_").classList)) { + DOMTokenList.prototype.replace = function (token, replacement_token) { + var + tokens = this.toString().split(" ") + , index = tokens.indexOf(token + "") + ; + if (~index) { + tokens = tokens.slice(index); + this.remove.apply(this, tokens); + this.add(replacement_token); + this.add.apply(this, tokens.slice(1)); + } + } + } + + testElement = null; + }; + + myApp.extend('normalize', normalize) + +})(); \ No newline at end of file diff --git a/apollo/assets/js/functions/polyfill.js b/apollo/assets/js/functions/polyfill.js new file mode 100755 index 0000000..bcf640f --- /dev/null +++ b/apollo/assets/js/functions/polyfill.js @@ -0,0 +1,174 @@ +(function () { + var polyfill = function (view) { + "use strict"; + + if (!('Element' in view)) return; + + var + classListProp = "classList" + , protoProp = "prototype" + , elemCtrProto = view.Element[protoProp] + , objCtr = Object + , strTrim = String[protoProp].trim || function () { + return this.replace(/^\s+|\s+$/g, ""); + } + , arrIndexOf = Array[protoProp].indexOf || function (item) { + var + i = 0 + , len = this.length + ; + for (; i < len; i++) { + if (i in this && this[i] === item) { + return i; + } + } + return -1; + } + // Vendors: please allow content code to instantiate DOMExceptions + , DOMEx = function (type, message) { + this.name = type; + this.code = DOMException[type]; + this.message = message; + } + , checkTokenAndGetIndex = function (classList, token) { + if (token === "") { + throw new DOMEx( + "SYNTAX_ERR" + , "The token must not be empty." + ); + } + if (/\s/.test(token)) { + throw new DOMEx( + "INVALID_CHARACTER_ERR" + , "The token must not contain space characters." + ); + } + return arrIndexOf.call(classList, token); + } + , ClassList = function (elem) { + var + trimmedClasses = strTrim.call(elem.getAttribute("class") || "") + , classes = trimmedClasses ? trimmedClasses.split(/\s+/) : [] + , i = 0 + , len = classes.length + ; + for (; i < len; i++) { + this.push(classes[i]); + } + this._updateClassName = function () { + elem.setAttribute("class", this.toString()); + }; + } + , classListProto = ClassList[protoProp] = [] + , classListGetter = function () { + return new ClassList(this); + } + ; +// Most DOMException implementations don't allow calling DOMException's toString() +// on non-DOMExceptions. Error's toString() is sufficient here. + DOMEx[protoProp] = Error[protoProp]; + classListProto.item = function (i) { + return this[i] || null; + }; + classListProto.contains = function (token) { + return ~checkTokenAndGetIndex(this, token + ""); + }; + classListProto.add = function () { + var + tokens = arguments + , i = 0 + , l = tokens.length + , token + , updated = false + ; + do { + token = tokens[i] + ""; + if (!~checkTokenAndGetIndex(this, token)) { + this.push(token); + updated = true; + } + } + while (++i < l); + + if (updated) { + this._updateClassName(); + } + }; + classListProto.remove = function () { + var + tokens = arguments + , i = 0 + , l = tokens.length + , token + , updated = false + , index + ; + do { + token = tokens[i] + ""; + index = checkTokenAndGetIndex(this, token); + while (~index) { + this.splice(index, 1); + updated = true; + index = checkTokenAndGetIndex(this, token); + } + } + while (++i < l); + + if (updated) { + this._updateClassName(); + } + }; + classListProto.toggle = function (token, force) { + var + result = this.contains(token) + , method = result ? + force !== true && "remove" + : + force !== false && "add" + ; + + if (method) { + this[method](token); + } + + if (force === true || force === false) { + return force; + } else { + return !result; + } + }; + classListProto.replace = function (token, replacement_token) { + var index = checkTokenAndGetIndex(token + ""); + if (~index) { + this.splice(index, 1, replacement_token); + this._updateClassName(); + } + }; + classListProto.toString = function () { + return this.join(" "); + }; + + if (objCtr.defineProperty) { + var classListPropDesc = { + get: classListGetter + , enumerable: true + , configurable: true + }; + try { + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } catch (ex) { // IE 8 doesn't support enumerable:true + // adding undefined to fight this issue https://github.com/eligrey/classList.js/issues/36 + // modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affected + if (ex.number === undefined || ex.number === -0x7FF5EC54) { + classListPropDesc.enumerable = false; + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } + } + } else if (objCtr[protoProp].__defineGetter__) { + elemCtrProto.__defineGetter__(classListProp, classListGetter); + } + }; + + myApp.extend('polyfill', polyfill) + +})(); \ No newline at end of file diff --git a/apollo/assets/js/functions/tabs.js b/apollo/assets/js/functions/tabs.js new file mode 100755 index 0000000..25d4784 --- /dev/null +++ b/apollo/assets/js/functions/tabs.js @@ -0,0 +1,121 @@ +(function () { + var tabs = function () { + // The class for the container div + + var container = '.js-tab-interface'; + + // The setup + findElement(container + '> ul').setAttribute('role', 'tablist'); + findElement(container + ' [role="tablist"] li').setAttribute('role', 'presentation'); + document.querySelectorAll('[role="tablist"] a').forEach(function (obj) { + obj.setAttribute('role', 'tab'); + obj.setAttribute('tabindex', '-1'); + // Make each aria-controls correspond id of targeted section (re href) + obj.setAttribute('aria-controls', obj.getAttribute('href').substring(1)); + }); + + // Make the first tab selected by default and allow it focus + findElement('[role="tablist"] li a').setAttribute('aria-selected', 'true'); + findElement('[role="tablist"] li a').setAttribute('tabindex', '0'); + + // Give each section tabpanel role + document.querySelectorAll(container + ' section').forEach( function (obj) { + obj.setAttribute('role', 'tabpanel') + }); + + // Make first child of each panel focusable programmatically + findElement(container + ' section > *:first-child').setAttribute('tabindex', '0'); + + // Make all but the first section hidden (ARIA state and display CSS) + document.querySelectorAll('[role="tabpanel"]:not(:first-of-type)').forEach(function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // Change focus between tabs with arrow keys + document.querySelectorAll('[role="tab"]').forEach( function (obj) { + obj.onkeydown = function (e) { + + // define current, previous and next (possible) tabs + var original = this; + var prev; + var next; + var target; + + if(this.parentElement.previousElementSibling !== null){ + prev = this.parentElement.previousElementSibling.children[0]; + } else { + prev = false; + } + + if(this.parentElement.nextElementSibling !== null) { + next = this.parentElement.nextElementSibling.children[0] + } else { + next = false; + } + + // find the direction (prev or next) + switch (e.key) { + case 'ArrowLeft': + target = prev; + break; + + case 'ArrowRight': + target = next; + break; + + default: + target = false; + break; + } + + if (target !== false) { + original.setAttribute('tabindex', '-1'); + original.setAttribute('aria-selected', null); + + target.setAttribute('tabindex', '0'); + target.setAttribute('aria-selected', true); + target.focus(); + } + + // Hide panels + document.querySelectorAll(container + ' [role="tabpanel"]').forEach( function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // Show panel which corresponds to target + findElement('#' + document.activeElement.getAttribute('aria-controls')) + .setAttribute('aria-hidden', null); + }; + }); + + // Handle click on tab to show + focus tabpanel + document.querySelectorAll('[role="tab"]').forEach(function (obj) { + obj.onclick = function (e) { + e.preventDefault(); + + // remove focusability [sic] and aria-selected + + document.querySelectorAll('[role="tab"]').forEach( function (obj) { + obj.setAttribute('tabindex', '-1'); + obj.setAttribute('aria-selected', null); + + }); + + // replace above on clicked tab + this.setAttribute('aria-selected', true); + this.setAttribute('tabindex', '0'); + + // Hide panels + document.querySelectorAll(container + ' [role="tabpanel"]').forEach( function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // show corresponding panel + findElement('#' + this.getAttribute('aria-controls')) + .setAttribute('aria-hidden', null); + }; + }); + }; + + myApp.extend('tabs', tabs); +})(); \ No newline at end of file diff --git a/apollo/assets/js/functions/updateARIAroles.js b/apollo/assets/js/functions/updateARIAroles.js new file mode 100755 index 0000000..24405f0 --- /dev/null +++ b/apollo/assets/js/functions/updateARIAroles.js @@ -0,0 +1,39 @@ +(function () { + + var updateARIAroles = function (contentToggler) { + if (exists(contentToggler)) { + + // This allows us to iterate on multiple elements [1] + var index = 0; + for (index = 0; index < contentToggler.length; index++) { + + // Find the element's toggle target by looking for data-toggle + // Note: we're using `getAttribute` instead of `dataset.` due to better browser support for the former + var target = contentToggler[index].getAttribute('data-toggler'); + var contentTarget = []; + contentTarget[index] = $('[data-toggle="' + target + '"]'); + + if (mq.matches && target == "nav") { + + // Set default aria attributes + // Hide all elements + contentToggler[index].setAttribute('aria-expanded', true); + contentTarget[index].setAttribute('aria-hidden', false); + // contentTarget[index].setAttribute('hidden', true); + + } + else { + + // Set default aria attributes + // Hide all elements + contentToggler[index].setAttribute('aria-expanded', false); + contentTarget[index].setAttribute('aria-hidden', true); + + } + } + } // end of exists + }; + + myApp.extend('updateARIAroles', updateARIAroles); + +})(); \ No newline at end of file diff --git a/apollo/assets/js/libraries/accessible-autocomplete.min.js b/apollo/assets/js/libraries/accessible-autocomplete.min.js new file mode 100755 index 0000000..9b16f49 --- /dev/null +++ b/apollo/assets/js/libraries/accessible-autocomplete.min.js @@ -0,0 +1,3 @@ +/* https://github.com/alphagov/accessible-autocomplete */ +(function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["accessibleAutocomplete"]=t():e["accessibleAutocomplete"]=t()})(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=37)}([function(e,t,n){var m=n(1),v=n(6),y=n(7),g=n(16),_=n(18),b="prototype",w=function(e,t,n){var r,o,i,u,a=e&w.F,s=e&w.G,l=e&w.S,c=e&w.P,p=e&w.B,f=s?m:l?m[t]||(m[t]={}):(m[t]||{})[b],d=s?v:v[t]||(v[t]={}),h=d[b]||(d[b]={});for(r in s&&(n=t),n)i=((o=!a&&f&&f[r]!==undefined)?f:n)[r],u=p&&o?_(i,m):c&&"function"==typeof i?_(Function.call,i):i,f&&g(f,r,i,e&w.U),d[r]!=i&&y(d,r,u),c&&h[r]!=i&&(h[r]=i)};m.core=v,w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128,e.exports=w},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";n.r(t),n.d(t,"h",function(){return r}),n.d(t,"createElement",function(){return r}),n.d(t,"cloneElement",function(){return i}),n.d(t,"Component",function(){return g}),n.d(t,"render",function(){return _}),n.d(t,"rerender",function(){return f}),n.d(t,"options",function(){return E});var s=function s(){},E={},l=[],c=[];function r(e,t){var n,r,o,i,u=c;for(i=arguments.length;2o;)u(r,n=t[o++])&&(~s(i,n)||i.push(n));return i}},function(e,t,n){var r=n(25),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t){e.exports=!1},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(48);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(2),o=n(33),i=n(34)("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=undefined),r(t)&&null===(t=t[i])&&(t=undefined)),t===undefined?Array:t}},function(e,t,n){"use strict";var r=n(0),o=n(32)(2);r(r.P+r.F*!n(13)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Array",{isArray:n(33)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(36),n(30),n(31),n(35),n(55),n(58);var $=n(5),J=o(n(60)),r=o(n(61));function o(e){return e&&e.__esModule?e:{"default":e}}function X(){return(X=Object.assign||function(e){for(var t=1;t=r;this.setState({query:a,ariaHint:s}),i||!s&&l&&c?o(a,function(e){var t=0=i&&0=o,P=this.props.showNoOptionsFound&&N&&I&&k&&A,j=n+"__wrapper",L=n+"__input",T=null!==_?" "+L+"--focused":"",B=this.props.showAllValues?" "+L+"--show-all-values":" "+L+"--default",D=n+"__dropdown-arrow-down",F=-1!==_&&null!==_,R=n+"__menu",U=R+"--"+r,V=R+"--"+(w||P?"visible":"hidden"),q=n+"__option",W=n+"__hint",H=this.templateInputValue(x[C]),K=H&&0===H.toLowerCase().indexOf(O.toLowerCase())&&M?O+H.substr(O.length):"",Q=u+"__assistiveHint",z=S?{"aria-describedby":Q}:null;return c&&"string"==typeof(e=y({className:D}))&&(e=(0,$.createElement)("div",{className:n+"__dropdown-arrow-down-wrapper",dangerouslySetInnerHTML:{__html:e}})),(0,$.createElement)("div",{className:j,onKeyDown:this.handleKeyDown},(0,$.createElement)(J["default"],{id:u,length:x.length,queryLength:O.length,minQueryLength:o,selectedOption:this.templateInputValue(x[C]),selectedOptionIndex:C,validChoiceMade:E,isInFocus:null!==this.state.focused,tQueryTooShort:f,tNoResults:d,tSelectedOption:h,tResults:m}),K&&(0,$.createElement)("span",null,(0,$.createElement)("input",{className:W,readonly:!0,tabIndex:"-1",value:K})),(0,$.createElement)("input",X({"aria-expanded":w?"true":"false","aria-activedescendant":!!F&&u+"__option--"+_,"aria-owns":u+"__listbox","aria-autocomplete":this.hasAutoselect()?"both":"list"},z,{autoComplete:"off",className:""+L+T+B,id:u,onClick:function(e){return i.handleInputClick(e)},onBlur:this.handleInputBlur},function G(e){return{onInput:e}}(this.handleInputChange),{onFocus:this.handleInputFocus,name:a,placeholder:s,ref:function(e){i.elementReferences[-1]=e},type:"text",role:"combobox",required:l,value:O})),e,(0,$.createElement)("ul",{className:R+" "+U+" "+V,onMouseLeave:function(e){return i.handleListMouseLeave(e)},id:u+"__listbox",role:"listbox"},x.map(function(e,t){var n=(-1===_?C===t:_===t)&&null===b?" "+q+"--focused":"",r=t%2?" "+q+"--odd":"",o=Y()?" '+(t+1)+" of "+x.length+"":"";return(0,$.createElement)("li",{"aria-selected":_===t?"true":"false",className:""+q+n+r,dangerouslySetInnerHTML:{__html:i.templateSuggestion(e)+o},id:u+"__option--"+t,key:t,onBlur:function(e){return i.handleOptionBlur(e,t)},onClick:function(e){return i.handleOptionClick(e,t)},onMouseDown:i.handleOptionMouseDown,onMouseEnter:function(e){return i.handleOptionMouseEnter(e,t)},ref:function(e){i.elementReferences[t]=e},role:"option",tabIndex:"-1","aria-posinset":t+1,"aria-setsize":x.length})}),P&&(0,$.createElement)("li",{className:q+" "+q+"--no-results"},p())),(0,$.createElement)("span",{id:Q,style:{display:"none"}},v()))},e}($.Component);(t["default"]=a).defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,showAllValues:!1,required:!1,tNoResults:function(){return"No results found"},tAssistiveHint:function(){return"When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."},dropdownArrow:r["default"]}},function(e,t,r){var o=r(9),i=r(53),u=r(28),a=r(26)("IE_PROTO"),s=function(){},l="prototype",c=function(){var e,t=r(15)("iframe"),n=u.length;for(t.style.display="none",r(54).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" + + + + + + \ No newline at end of file diff --git a/web/_includes/scripts__header.html b/web/_includes/scripts__header.html new file mode 100755 index 0000000..13471d0 --- /dev/null +++ b/web/_includes/scripts__header.html @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/web/_includes/styles.php b/web/_includes/styles.php new file mode 100755 index 0000000..9028f4f --- /dev/null +++ b/web/_includes/styles.php @@ -0,0 +1,13 @@ + + + diff --git a/web/boilerplate.html b/web/boilerplate.html new file mode 100755 index 0000000..57fa462 --- /dev/null +++ b/web/boilerplate.html @@ -0,0 +1,84 @@ + + + + + + + + Apollo Boilerplate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Footer content goes here +
+ + + diff --git a/web/docs/boilerplate.php b/web/docs/boilerplate.php new file mode 100755 index 0000000..9b5f4db --- /dev/null +++ b/web/docs/boilerplate.php @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + Boilerplate Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ Header content goes here +
+ + +
+ +

Boilerplate documentation

+

This is an in-depth exploration of the Boilerplate HTML file, explaining what is included and why.

+

Note: If you open this page in a text editor you will see lots of inline PHP comments; here we explain what's going on.

+ +

The Doctype

+

Always start with <!doctype html>

+ +

Language declaration

+

The HTML element must include an appropriate language attribute. For the majority of work that we undertake lang="en" is likely to be sufficient. If a specific language region (e.g. lang="en-US" or lang="en-GB") or non-English language is required, refer to the W3C's Choosing a Language Tag for guidance.

+ +

Default no-js class

+

We also add class="no-js" to the HTML element. This will be replaced by JavaScript as part of a process to avoid a Flash Of Unstyled Content (FOUC), which we will cover later on.

+ +

The Head

+

The portion of an HTML document containing metadata about that document and links to CSS and JavaScript files. The contents of the head, and the order in which they appear, are important. As explained in The Head Project, charset and viewport meta tags must come first to consistently ensure proper document rendering. Any other head elements should come after these tags.

+ +

Character encoding

+

The first item is the charset meta tag: <meta charset="utf-8">. This declares the page's character encoding. If left undefined, a page can be vulnerable to cross-site-scripting attacks. We put it first within the head because it must be within the first 1024 bytes of the HTML, as some browsers only look at those bytes before choosing an encoding.

+ +

Allow pinch-to-zoom

+

The second item is the viewport meta tag: <meta name="viewport" content="width=device-width, initial-scale=1">. This is added to enable responsive web pages and allow users to zoom content.

+ +

Title

+

The title element provides an accessible name for the HTML document.

+ +

Internet Explorer compatibility

+

We make earlier versions of IE use its latest rendering engine with <meta http-equiv="x-ua-compatible" content="ie=edge">, to provide a better experience for users stuck with these browsers.

+ +

Description

+

A concise summary of the content of the HTML document, which often appears in search engine results. To provide Open Graph support (covered in more detail below) and avoid using more tags than necessary, we include the property="og:description" attribute ahead of name="description".

+ +

Favicons

+

Pretty much all desktop browsers are amply served by including an .ico file in the root directory. For Android and iOS, include a 192px square .png file that has first been optimised using a program such as ImageOptim or a website such as TinyPNG. Safari requires a .svg file for its pinned tab icon.

+

The easiest way to generate the favicon files is to use Favicon Generator. It will create more assets than you really need, so it is recommended to only include those specified above on your project, unless you are building a progressive web app. Pop them all in the root directory to keep them together.

+ +

Avoiding a flash of unstyled content

+

We use Paul Irish's Avoiding the FOUC method, which uses a small piece of JavaScript to replace class="no-js" with class="js". Using the HTML element means that the JavaScript can be included in the head, which stops us from blocking the rendering of the body content.

+ +

Avoiding a flash of invisible text

+

Web fonts can be large assets, so it's important that their use does not impact performance. We declare default system fonts with a fallback in our CSS, to ensure that users never experience a flash of invisible text (FOIT). Bram Stein's Font Face Observer checks when web fonts are loaded and then adds fonts-loaded to the class list on the HTML element. Web fonts styles are scoped to this class in our CSS. As with the FOUC script, by targeting the HTML element we ensure the script is not render-blocking.

+

To minimise the resulting visual jump from system fonts to web fonts, it's helpful to pick system fonts with similar metrics to the web fonts, using CSS Font Stack and Font style matcher to test the effect.

+ +

Stylesheets

+

Links to CSS stylesheets are next in the head.

+ +

Google Tag Manager script

+

The script for Google Tag Manager is next in the head.

+ +

Content appearance on social media

+

The final head elements allow us to control how content appears when URLs are shared on social media.

+
+
Facebook
+
Open Graph markup
+
Facebook Sharing Debugger
+
Twitter
+
Getting started with cards
+
Twitter Card Validator
+
LinkedIn
+
Making your website shareable on LinkedIn
+
+ +

Body

+

Google Tag Manager

+

The first item included within the body element is a noscript fallback for Google Tag Manager.

+ +

Wrap container

+

Next we add a simple div container with id="top" and class="wrap". This container holds <header> and <main> (and possibly other block elements, depending on your project needs) but <footer> sits outside of it. This gives us the necessary markup to create a sticky footer.

+

The id attribute provides us with a hook for any back-to-top links, if used. The class provides a hook for any CSS we may wish to apply to this container.

+ +

Skip to content link

+

We provide a skip to content link to allow users to easily skip past the <header>, which is repeated across multiple web pages.

+ +

The header element

+

To support IE11, we include the ARIA role="banner".

+ +

The main element

+

We add id="main", which is used as the href in the skip to content link. To support IE11, we include the ARIA role="main".

+ +

The footer element

+

To support IE11, we include the ARIA role="contentinfo".

+ +
+ + + +
+ +
+ Footer content goes here +
+ + + diff --git a/web/favicon.ico b/web/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9b0e9c76489dfe6d80fd4f9a735cc45c0d5c8ccd GIT binary patch literal 15086 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 - - - Strata + + + Strata - deliver fast, accessible user experiences on the modern web + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+

Deliver fast, accessible user experiences on the modern web

+

Strata is a set of tools to help to build front-end websites that display content from headless CMSs and other data sources. It's the front of headless CMS.

+

Store your content where you want and bring it all together with Strata. Built on top of web standards, it starts with a layer of server-rendered HTML, which can be cached and delivered to all users efficiently. JavaScript can then be layered on top of this base web experience, using progressive enhancement.

+

Strata is well suited to content-based sites, or those which deliver content alongside personalisation and other dynamic features. By starting with HTML, leveraging caching, and ensuring web standards are followed it's simpler to deliver accessible, modern web experiences.

+ +
+ +
+

Strata is used by

+
    +
  • Crown Commercial Service
  • +
  • The World Wide Web Consortium (W3C)
  • +
  • Fauna & Flora International
  • +
+
+ +
+

Features

+
    +
  • + Read data from different CMSs and content providers in a standardised way. Read data from different CMSs and content providers in a standardised way.
  • +
  • + Strongly typed content models to help access content in your templates in predictable ways. Also makes switching content providers in the future easier.
  • +
  • + Tools to make it simple to translate, map and alter data before its used. Data caching to speed up data requests.
  • +
  • + Data caching to speed up data requests.
  • +
  • + Full-page caching to speed up content delivery.
  • +
  • + Template helpers to automate common website functionality (e.g. pagination, table of contents).
  • +
+
+ +
+

Project stewardship and technology

+

Strata is an open source project run by digital design and technology agency, Studio 24.

+

It's built on top of the excellent Symfony and uses the same component approach to make it flexible. You can use it with Laravel or any other PHP setup. You can also just use the data layer for your data integration projects.

+

If you need any commercial help with your headless CMS project or want to chat more about our digital services get in touch.

+
+
+
-
- -
-

Strata

-

- Strata is a set of tools to help to build front-end websites that use headless CMSs to manage content or get - data from a bunch of different data sources. An approach that is ever more typical on the modern web. -

-
-
Frontend v0.7 (current release)
-
Go to GitHub or read the documentation
-
Frontend v0.8
-
Go to GitHub or read the documentation
-
Data v0.8
-
Go to GitHub or read the documentation
-
-
- -
- -
-

For consultancy, commercial support and help building your next headless CMS project get in touch with us at Studio 24

-
+
+
+ Strata +

Created by Studio 24 | Strata® is a registered trademark

+
+
- + \ No newline at end of file diff --git a/web/index.php b/web/index.php new file mode 100755 index 0000000..b78dd6f --- /dev/null +++ b/web/index.php @@ -0,0 +1,135 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Apollo by Studio 24

+ +
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/layouts/box.php b/web/layouts/box.php new file mode 100755 index 0000000..5bd0cda --- /dev/null +++ b/web/layouts/box.php @@ -0,0 +1,94 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Box

+

The box should have borders and/or padding on all sides, or none at all. Otherwise it's not a box, but something more specific.

+
+

This is an example of the default box layout. It uses the class .l-box

+

It has an even border and padding on all sides.

+

Because its parent - main - uses Flexbox in the column direction, the box stretches full width.

+
+
+

To limit the width of a box to just its content, use align-self: flex-start;

+
+
+

For a box without padding, use the modifier class .l-box--no-padding

+
+
+

For a box without a border, use the modifier class .l-box--no-border

+

High contrast themes tend to eliminate background-color. If there is no border set on the box, we need to apply a transparent outline to maintain the box shape. The negative outline-offset moves the outline inside the perimeter so it behaves like a border and doesn't add to the overall size.

+
+
+

This box has neither border nor padding.

+
+
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/layouts/center.php b/web/layouts/center.php new file mode 100755 index 0000000..03bd1bb --- /dev/null +++ b/web/layouts/center.php @@ -0,0 +1,89 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Center

+

The center layout is used to create a vertical stripe of content inside a given container. Apollo uses the technique on <main>.

+

The following example illustrates how the center layout works on a smaller scale, but the principle is the same:

+
    +
  • A center layout is contained within a box layout (without a border or padding), purely to help with this example.
  • +
  • Auto left and right margins are applied to the center layout, along with some left and right padding and a maximum width.
  • +
  • The padding maintains a space between the contents of the center layout and its parent container, even when that container is smaller than the maximum width set on the center layout.
  • +
  • The center layout uses an exception to our global box-sizing: border-box; declaration. It uses box-sizing: content-box; to prevent the padding from making the content narrower than intended.
  • + +
+
+
+

Center in action

+
+
+
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/layouts/cluster.php b/web/layouts/cluster.php new file mode 100755 index 0000000..b4a8ed0 --- /dev/null +++ b/web/layouts/cluster.php @@ -0,0 +1,99 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Cluster

+

The cluster suits any groups of elements that differ in length and are liable to wrap. Examples include groups of buttons at the end of forms, lists of tags, etc.

+

The following example illustrates how the cluster layout works:

+
    +
  • A center layout is contained within a box layout (without a border or padding), purely to help with this example.
  • +
  • The cluster layout is contained within the center layout.
  • +
  • The cluster layout needs an inner container - in this example it's provided by a ul.
  • +
  • The cluster items - li in this example - sit within the inner container. Each item has a margin on all sides. Their parent - the inner container - has a negative margin of the same size as the cluster items. This creates the even gaps between cluster items. The cluster layout uses overflow: hidden; to tidy up the edges.
  • +
+ +
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/layouts/cover.php b/web/layouts/cover.php new file mode 100755 index 0000000..7a23acd --- /dev/null +++ b/web/layouts/cover.php @@ -0,0 +1,106 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Cover

+

The cover layout uses Flexbox to vertically centre content, by having a column Flexbox context and a minimum height set. It also allows the addition of header and/or footer content to accompany the principal piece of content, without having to adapt the CSS.

+

The following examples illustrate how the cover layout works:

+
    +
  • The principal item of content to be centered within the cover needs to have the class .principal applied to it. This gives it auto top and bottom margins.
  • +
  • In the first example, the utility class .u-center is added to horizontally center the principal item.
  • +
  • In the second example, a nested center layout provides the horizontal centering.
  • +
  • The final example illustrates the addition of optional header and footer content.
  • +
+
+

The principal content

+
+ +
+
+

The principal content

+
+
+ +
+

We are proud to present...

+

The principal content

+

Find out more...

+
+
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/layouts/frame.php b/web/layouts/frame.php new file mode 100755 index 0000000..450a8a2 --- /dev/null +++ b/web/layouts/frame.php @@ -0,0 +1,111 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +

Layout: Frame

+ + +
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/layouts/index.php b/web/layouts/index.php new file mode 100755 index 0000000..eebbf11 --- /dev/null +++ b/web/layouts/index.php @@ -0,0 +1,88 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layouts

+

Here you will find examples of the basic layout types, which can be combined and customised to make a variety of components.

+

To help show how these basic layouts are constructed, the following colours are used to identify content areas, padding and internal margins:

+
    +
  • Content: Aqua

  • +
  • Padding: Fuchsia

  • +
  • Internal margins: Yellow

  • +
+

Layout examples

+ +
+ +
+
+ Footer content goes here +
+ + + + + + diff --git a/web/layouts/sidebar.php b/web/layouts/sidebar.php new file mode 100755 index 0000000..dafa713 --- /dev/null +++ b/web/layouts/sidebar.php @@ -0,0 +1,134 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Sidebar

+

The sidebar layout creates a container, inside of which a larger panel can sit next to a smaller (sidebar) panel.

+

The two panels stack vertically, until there is enough horizontal space for them to sit alongside each other. The point at which this change happens is determined by setting a flex-basis on the sidebar panel and a min-width on the larger panel. No viewport media queries required, so it will nest nicely inside of other containers.

+ + + + + + + +
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/layouts/switcher.php b/web/layouts/switcher.php new file mode 100755 index 0000000..3a5c8ec --- /dev/null +++ b/web/layouts/switcher.php @@ -0,0 +1,93 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Layout: Switcher

+

The switcher layout switches a container with Flexbox between a horizontal and a vertical direction at a given, container-based breakpoint. No viewport media queries required, so it will nest nicely inside of other containers.

+

It's a good choice for situations where each child item should be considered equal.

+ +
+
+
Stuff 1
+
Stuff 2
+
Stuff 3
+
+
+ +

There are certain caveats to note when customising the default switcher layout:

+
    +
  • When the flex container is less than 600px wide, child items are arranged vertically. Otherwise, child items are arranged horizontally. This container breakpoint may well need overriding depending on the use case.
  • +
  • The number of columns in a row is two. This can be overridden by adjusting the min-width percentage.
  • +
+

A consideration for Internet Explorer 11

+

There must be no padding on the switcher child items themselves, otherwise the layout will break. To space content away from the edges, use nested elements with margin or padding.

+ +
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/patterns/breadcrumbs.php b/web/patterns/breadcrumbs.php new file mode 100755 index 0000000..15065e3 --- /dev/null +++ b/web/patterns/breadcrumbs.php @@ -0,0 +1,83 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Breadcrumbs

+ +
+ +
+
+ Footer content goes here +
+ + + + + + \ No newline at end of file diff --git a/web/patterns/cards.php b/web/patterns/cards.php new file mode 100755 index 0000000..227caf8 --- /dev/null +++ b/web/patterns/cards.php @@ -0,0 +1,249 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Cards

+

Basic card

+
    +
  • The basic card consists of an image area (using the frame layout), and a content area (using the box layout). If the image is purely decorative, an empty alt attribute should be provided.
  • +
  • The content area appears first in the source order, so that the card is correctly labelled by its heading. We use flexbox to visually put the image ahead of the content area.
  • +
  • Make sure that the heading element fits with the heading order of surrounding content. Headings with an equal or higher rank start a new section, headings with a lower rank start new subsections that are part of the higher ranked section.
  • +
+ + +

Card with a call to action

+ +
+
    +
  • +
    +
    +

    Unique card title 1

    +

    Here is all the descriptive teaser text for my card.

    + +
    +
    + +
    +
    +
  • +
  • +
    +
    +

    Unique card title 2

    +

    Here is all the descriptive teaser text for my card. But this one has significantly more text content inside it.

    + +
    +
    + +
    +
    +
  • +
  • + +
  • +
  • +
    +
    +

    Unique card title 4

    +

    Here is all the descriptive teaser text for my card.

    + +
    +
    + +
    +
    +
  • +
+
+ +

Card with extra links

+ + +

Horizontal card

+

Horizontal cards use a slightly modified structure, with an inner container added to the text area to centre it vertically. They use a similar mechanism to the sidebar layout, to switch from vertical to horizontal alignment without a media query. +

+
+
+
+

Unique card title 4

+

Here is all the descriptive teaser text for my card.

+ +
+
+
+ +
+
+ +

Image credit

+

Photo by Steve Johnson on Unsplash

+ +
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/patterns/collapsibles.php b/web/patterns/collapsibles.php new file mode 100755 index 0000000..dc9a6ce --- /dev/null +++ b/web/patterns/collapsibles.php @@ -0,0 +1,170 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Collapsible sections or "Collapsibles"

+ +

We insert buttons via JavaScript for opening and closing collapsible sections. We use the data attribute data-component="collapsibles" as a hook for our JavaScript, as this keeps things nicely separated from classes, which could more easily be overwritten.

+

Buttons shouldn't use the pointer cursor, so we need to ensure the buttons have sufficient affordance by other means, such as background colour, border and/or box-shadow styles.

+ +
+

Baby Spice

+
+

RPG stats

+
    +
  • Strength: 10
  • +
  • Dexterity: 14
  • +
  • Looks: 16
  • +
  • Macho: 10
  • +
  • Health: 8
  • +
+
+

Ginger Spice

+
+

RPG stats

+
    +
  • Strength: 10
  • +
  • Dexterity: 9
  • +
  • Looks: 16
  • +
  • Macho: 14
  • +
  • Health: 10
  • +
+
+

Posh Spice

+
+

RPG stats

+
    +
  • Strength: 10
  • +
  • Dexterity: 14
  • +
  • Looks: 14
  • +
  • Macho: 12
  • +
  • Health: 10
  • +
+
+

Scary Spice

+
+

RPG stats

+
    +
  • Strength: 10
  • +
  • Dexterity: 12
  • +
  • Looks: 12
  • +
  • Macho: 16
  • +
  • Health: 10
  • +
+
+

Sporty Spice

+
+

RPG stats

+
    +
  • Strength: 13
  • +
  • Dexterity: 14
  • +
  • Looks: 10
  • +
  • Macho: 10
  • +
  • Health: 12
  • +
+
+
+
+ +
+
+ Footer content goes here +
+ + + + + + + + \ No newline at end of file diff --git a/web/patterns/donation-form.php b/web/patterns/donation-form.php new file mode 100755 index 0000000..01e7dca --- /dev/null +++ b/web/patterns/donation-form.php @@ -0,0 +1,199 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Donation form

+ + + +
+ +
+
+ Footer content goes here +
+ + + + + + \ No newline at end of file diff --git a/web/patterns/forms.php b/web/patterns/forms.php new file mode 100755 index 0000000..a44f5fb --- /dev/null +++ b/web/patterns/forms.php @@ -0,0 +1,584 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Forms

+

The examples on this page show how we manage forms and their fields. Recommendations are based on this excellent blog post by Adam Silver.

+
    +
  • Every input needs a label. Put labels above the input.
  • +
  • Do not use the placeholder attribute on <input> fields.
  • +
  • If hint text is needed, add a <div class="field-description> inside the <label>. Add hint text when users are more likely to make a mistake, like when having to satisfy a complex set of password rules. Error messages should be a last resort.
  • +
  • Make form fields look like form fields: apply a border and make sure they are empty to begin with. A height of 44px or more makes them easy to tap on touch screen devices.
  • +
  • Make sure any <button> looks like a button. Align them to the left edge of the last input where users naturally look for them. Use a verb for button text because the user is doing something, and relate it to what they are doing - avoid generic ‘Submit’ buttons.
  • +
  • <select> should be a last resort as they’re really hard to use. Try radio buttons instead. Or use an autocomplete, if there’s a long list of options.
  • +
  • If you have to use a <select>, don't submit a form when its value changes. Select boxes that submit the form automatically when the user selects an option cause problems for keyboard and screen reader users.
  • +
  • We use Parsley, a JavaScript library, to handle client-side form validation. Using Parsley, we also add the interactive parts and the ARIA attributes to make form completion as easy as possible for people.
  • +
+ +

Text, emails and passwords

+ + +

Dates

+ + +

Numbers

+ + +

Autocomplete

+ + +

Checkboxes

+ + +

Radio buttons

+ + +

Search forms

+ + +
+ +
+
+ Footer content goes here +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/patterns/icons.php b/web/patterns/icons.php new file mode 100755 index 0000000..19ee598 --- /dev/null +++ b/web/patterns/icons.php @@ -0,0 +1,186 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Icons

+ +

To use an SVG icon inline with text, add the with-icon class to the parent container (e.g. link or button). This will add some inline flex and alignment styles to help things line up nicely. It also uses the margin-inline-end CSS logical property to add spacing between the text and icon, irrespective of text direction.

+ +

It is preferable to use SVGs inline, because:

+ + +

Use SVGOMG to optimise your SVG files.

+ +

SVG icons used within interactive elements, such as links and buttons, should include the attributes focusable="false" aria-hidden="true" as per the advice from Scott O'Hara on Contextually marking up accessible images and SVGs.

+ +

If the icon is to be used without visible text, you can either use <span class="visuallyhidden"> alongside the SVG to provide a screen reader friendly label for the link/button, or add the aria-label attribute to the link/button, e.g. aria-label="Search".

+ +

Try to avoid specifying colours for SVGs within the SVG file itself. Preferably, use fill="currentColor" in the SVG because it allows us to set a CSS colour on the parent element, which the SVG will inherit. It also allows us to use the same SVG file in multiple places, and adjust the styles for interactive states such as hover.

+ +

Buttons

+ + +

Social icons

+

Share links with icons and text

+ + +

Account links with icons only

+ +
+ +
+
+ Footer content goes here +
+ + + + + + \ No newline at end of file diff --git a/web/patterns/index.php b/web/patterns/index.php new file mode 100755 index 0000000..ee7ba66 --- /dev/null +++ b/web/patterns/index.php @@ -0,0 +1,82 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Patterns

+

Common components and functionality:

+ +

Inspiration and ideas:

+ +
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/patterns/page-header.php b/web/patterns/page-header.php new file mode 100755 index 0000000..8a34459 --- /dev/null +++ b/web/patterns/page-header.php @@ -0,0 +1,92 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +

A hero panel

+

Find out more...

+
+ +
+

What's going on?

+
    +
  • We have used the cover layout to create a hero area at the top of the page.
  • +
  • Nested inside the cover layout is a cluster layout for the global header. This uses justify-content: space-between to separate the logo and navigation.
  • +
  • Another cluster layout is nested inside the global header to create the main navigation.
  • +
  • The h1 and ‘footer’ portion of the hero are each centered using a utility class.
  • +
+
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/patterns/pagination.php b/web/patterns/pagination.php new file mode 100755 index 0000000..c714379 --- /dev/null +++ b/web/patterns/pagination.php @@ -0,0 +1,144 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Pagination

+

Text only

+ +

With SVG icons

+ +
+ +
+
+ Footer content goes here +
+ + + + + + \ No newline at end of file diff --git a/web/patterns/quotes.php b/web/patterns/quotes.php new file mode 100755 index 0000000..0ace8da --- /dev/null +++ b/web/patterns/quotes.php @@ -0,0 +1,83 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Quotes

+

Basic blockquote

+
+

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

+
+ +

Blockquote with footer

+
+

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

+
Billy Connolly
+
+ +

Blockquote as a figure

+

This could be used a slide in a carousel of quotes/testimonials.

+
+
+

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

+
+
Billy Connolly
+
+
+ +
+
+ Footer content goes here +
+ + + + + + \ No newline at end of file diff --git a/web/patterns/sticky-footer.php b/web/patterns/sticky-footer.php new file mode 100755 index 0000000..ecb5db9 --- /dev/null +++ b/web/patterns/sticky-footer.php @@ -0,0 +1,77 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Sticky footer

+ +
+ +
+
+ Footer content goes here +
+ + + + + + + diff --git a/web/patterns/tables.php b/web/patterns/tables.php new file mode 100755 index 0000000..316eb3f --- /dev/null +++ b/web/patterns/tables.php @@ -0,0 +1,246 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Data tables

+

The examples on this page show the required markup for accessible data tables. The key points are:

+
    +
  • The table must include column and/or row headers (<th>) to be a true data table. Some screen readers that encounter a table without headers will treat it as a ‘layout table’ and communicate it quite differently.
  • +
  • Use the scope attribute to differentiate between column and row headers.
  • +
  • Where there are both column and row headers, do not leave the first header cell empty as this can produce unexpected behaviour.
  • +
  • Use the table <caption> to directly associate a data table with its heading.
  • +
  • The grid structure of data tables must remain intact, no matter the available space. For tables with a lot of columns this may result in horizontal scrolling. +
      +
    • To control this behaviour, each table is wrapped in a div with the class .table-wrap.
    • +
    • <tabindex="0"> is added to the wrapper to make it focusable and make it scrollable for keyboard users. For the benefit of screen reader users, we give the wrapper the <group> role and use aria-labelledby to associate it with the table caption for labelling.
    • +
    • A JavaScript enhancement checks whether there is any overflow and - if there is none - updates the tabindex to remove focus.
    • +
    • The CSS applies an indicative shadow/fade to whichever side the overflow is occurring at, providing additional visual affordance that a table is scrollable.
    • +
    • The JavaScript enhancement also applies <position: sticky;> to column headers if there is no horizontal overflow, which is useful for tables with many rows of data.
    • +
    +
  • +
+

Simple table (column headers only)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Members of the Spice Girls

+
First nameLast nameBand nameDate of birthPlace of birth
EmmaBuntonBaby21 January 1976Watford
GeriHalliwellGinger6 August 1972London
VictoriaBeckhamPosh17 April 1974Harlow
MelanieBrownScary29 May 1975Leeds
MelanieChisholmSporty12 January 1974Whiston
+
+ +

Table with column headers and row headers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Spice Girls' housekeeping rota

+
DayBabyGingerPoshScarySporty
MondayWashing upCookingShoppingDustingVacuuming
TuesdayVacuumingWashing upCookingShoppingDusting
WednesdayDustingVacuumingWashing upCookingShopping
ThursdayShoppingDustingVacuumingWashing upCooking
FridayCookingShoppingDustingVacuumingWashing up
+
+
+ +
+
+ Footer content goes here +
+ + + + + + + \ No newline at end of file diff --git a/web/patterns/tabs.php b/web/patterns/tabs.php new file mode 100755 index 0000000..492f27a --- /dev/null +++ b/web/patterns/tabs.php @@ -0,0 +1,195 @@ + + + + + + + + + + Apollo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Tabbed sections or "Tabs"

+

We use the data attribute data-component="tabs" as a hook for our JavaScript, as this keeps things nicely separated from classes, which could more easily be overwritten.

+
+ +
+

Section 1

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam euismod, tortor nec pharetra ultricies, ante erat imperdiet velit, nec laoreet enim lacus a velit. Nam luctus, enim in interdum condimentum, nisl diam iaculis lorem, vel volutpat mi leo sit amet lectus. Praesent non odio bibendum magna bibendum accumsan.

+
+
+

Section 2

+

Nullam at diam nec arcu suscipit auctor non a erat. Sed et magna semper, eleifend magna non, facilisis nisl. Proin et est et lorem dictum finibus ut nec turpis. Aenean nisi tortor, euismod a mauris a, mattis scelerisque tortor. Sed dolor risus, varius a nibh id, condimentum lacinia est. In lacinia cursus odio a aliquam. Curabitur tortor magna, laoreet ut rhoncus at, sodales consequat tellus.

+
+
+

Section 3

+

Phasellus ac tristique orci. Nulla maximus justo nec dignissim consequat. Sed vehicula diam sit amet mi efficitur vehicula in in nisl. Aliquam erat volutpat. Suspendisse lorem turpis, accumsan consequat consectetur gravida, pellentesque ac ante. Aliquam in commodo ligula, sit amet mollis neque. Vestibulum at facilisis massa.

+
+
+
+ +
+
+ Footer content goes here +
+ + + + + + + + \ No newline at end of file diff --git a/web/safari-pinned-tab.svg b/web/safari-pinned-tab.svg new file mode 100644 index 0000000..14899bf --- /dev/null +++ b/web/safari-pinned-tab.svg @@ -0,0 +1,26 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + From 4e16773ae0dc8ef7e04a614d7d95736339e0a64d Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:31:00 +0100 Subject: [PATCH 2/9] Updated Apollo link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d39115..3e5c2e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Client Site name -Static website for Strata, built using [Apollo](https://github.com/studio24/apollo). Hosted on AWS Single Cloud 1. +Static website for Strata, built using [Apollo](https://apollo.studio24.net/). Hosted on AWS Single Cloud 1. ## Getting started From 62ca3f79c9513dd47663fc24e87d131423c20eea Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:34:39 +0100 Subject: [PATCH 3/9] Deleting old Apollo index.php --- web/index.php | 135 -------------------------------------------------- 1 file changed, 135 deletions(-) delete mode 100755 web/index.php diff --git a/web/index.php b/web/index.php deleted file mode 100755 index b78dd6f..0000000 --- a/web/index.php +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Apollo by Studio 24

- -
- -
-
- Footer content goes here -
- - - - - - - From 15b8104b5e9601f1f79cc0858de5bb5e13616861 Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:38:44 +0100 Subject: [PATCH 4/9] Removing old Apollo files and removing dist from gitignore. --- .gitignore | 5 +- README.md | 142 - web/_includes/scripts__footer.html | 7 - web/_includes/scripts__header.html | 9 - web/_includes/styles.php | 13 - web/boilerplate.html | 84 - web/dist/assets/fonts/Amiko-Bold-webfont.woff | Bin 0 -> 24520 bytes .../assets/fonts/Amiko-Regular-webfont.woff | Bin 0 -> 24448 bytes .../assets/fonts/Amiko-SemiBold-webfont.woff | Bin 0 -> 24636 bytes web/dist/assets/images/ccs-logo.png | Bin 0 -> 7523 bytes web/dist/assets/images/ffi-logo.png | Bin 0 -> 16852 bytes web/dist/assets/images/og-strata-image.png | Bin 0 -> 24933 bytes web/dist/assets/images/w3c-logo.png | Bin 0 -> 4342 bytes web/dist/assets/js/app.js | 67 + web/dist/assets/js/app.min.js | 28 + web/dist/assets/js/core.js | 20 + web/dist/assets/js/functions/collapsibles.js | 38 + web/dist/assets/js/functions/normalize.js | 67 + web/dist/assets/js/functions/polyfill.js | 174 ++ web/dist/assets/js/functions/tabs.js | 121 + .../assets/js/functions/updateARIAroles.js | 39 + .../libraries/accessible-autocomplete.min.js | 3 + .../accessible-autocomplete.min.js.map | 1 + .../assets/js/libraries/fontfaceobserver.js | 12 + web/dist/assets/js/libraries/luhn.js | 1 + web/dist/assets/js/libraries/parsley.js | 2472 +++++++++++++++++ web/dist/assets/js/libraries/parsley.min.js | 18 + web/dist/assets/js/libraries/pikaday.js | 1296 +++++++++ .../assets/js/libraries/vanilla-masker.min.js | 1 + web/dist/assets/styles/advanced.css | 445 +++ web/dist/assets/styles/advanced.min.css | 2 + web/dist/assets/styles/advanced.min.css.map | 1 + web/dist/assets/styles/core.css | 1039 +++++++ web/dist/assets/styles/core.min.css | 2 + web/dist/assets/styles/core.min.css.map | 1 + web/dist/assets/svg/strata-logo-footer.svg | 1 + web/dist/assets/svg/strata-logo.svg | 1 + web/dist/assets/svg/strata-page-bg.svg | 1 + web/docs/boilerplate.php | 190 -- web/layouts/box.php | 94 - web/layouts/center.php | 89 - web/layouts/cluster.php | 99 - web/layouts/cover.php | 106 - web/layouts/frame.php | 111 - web/layouts/index.php | 88 - web/layouts/sidebar.php | 134 - web/layouts/switcher.php | 93 - web/patterns/breadcrumbs.php | 83 - web/patterns/cards.php | 249 -- web/patterns/collapsibles.php | 170 -- web/patterns/donation-form.php | 199 -- web/patterns/forms.php | 584 ---- web/patterns/icons.php | 186 -- web/patterns/index.php | 82 - web/patterns/page-header.php | 92 - web/patterns/pagination.php | 144 - web/patterns/quotes.php | 83 - web/patterns/sticky-footer.php | 77 - web/patterns/tables.php | 246 -- web/patterns/tabs.php | 195 -- 60 files changed, 5852 insertions(+), 3653 deletions(-) delete mode 100644 README.md delete mode 100755 web/_includes/scripts__footer.html delete mode 100755 web/_includes/scripts__header.html delete mode 100755 web/_includes/styles.php delete mode 100755 web/boilerplate.html create mode 100755 web/dist/assets/fonts/Amiko-Bold-webfont.woff create mode 100755 web/dist/assets/fonts/Amiko-Regular-webfont.woff create mode 100755 web/dist/assets/fonts/Amiko-SemiBold-webfont.woff create mode 100644 web/dist/assets/images/ccs-logo.png create mode 100644 web/dist/assets/images/ffi-logo.png create mode 100644 web/dist/assets/images/og-strata-image.png create mode 100644 web/dist/assets/images/w3c-logo.png create mode 100644 web/dist/assets/js/app.js create mode 100644 web/dist/assets/js/app.min.js create mode 100644 web/dist/assets/js/core.js create mode 100755 web/dist/assets/js/functions/collapsibles.js create mode 100755 web/dist/assets/js/functions/normalize.js create mode 100755 web/dist/assets/js/functions/polyfill.js create mode 100755 web/dist/assets/js/functions/tabs.js create mode 100755 web/dist/assets/js/functions/updateARIAroles.js create mode 100755 web/dist/assets/js/libraries/accessible-autocomplete.min.js create mode 100755 web/dist/assets/js/libraries/accessible-autocomplete.min.js.map create mode 100644 web/dist/assets/js/libraries/fontfaceobserver.js create mode 100755 web/dist/assets/js/libraries/luhn.js create mode 100644 web/dist/assets/js/libraries/parsley.js create mode 100755 web/dist/assets/js/libraries/parsley.min.js create mode 100755 web/dist/assets/js/libraries/pikaday.js create mode 100755 web/dist/assets/js/libraries/vanilla-masker.min.js create mode 100644 web/dist/assets/styles/advanced.css create mode 100644 web/dist/assets/styles/advanced.min.css create mode 100644 web/dist/assets/styles/advanced.min.css.map create mode 100644 web/dist/assets/styles/core.css create mode 100644 web/dist/assets/styles/core.min.css create mode 100644 web/dist/assets/styles/core.min.css.map create mode 100644 web/dist/assets/svg/strata-logo-footer.svg create mode 100644 web/dist/assets/svg/strata-logo.svg create mode 100644 web/dist/assets/svg/strata-page-bg.svg delete mode 100755 web/docs/boilerplate.php delete mode 100755 web/layouts/box.php delete mode 100755 web/layouts/center.php delete mode 100755 web/layouts/cluster.php delete mode 100755 web/layouts/cover.php delete mode 100755 web/layouts/frame.php delete mode 100755 web/layouts/index.php delete mode 100755 web/layouts/sidebar.php delete mode 100755 web/layouts/switcher.php delete mode 100755 web/patterns/breadcrumbs.php delete mode 100755 web/patterns/cards.php delete mode 100755 web/patterns/collapsibles.php delete mode 100755 web/patterns/donation-form.php delete mode 100755 web/patterns/forms.php delete mode 100755 web/patterns/icons.php delete mode 100755 web/patterns/index.php delete mode 100755 web/patterns/page-header.php delete mode 100755 web/patterns/pagination.php delete mode 100755 web/patterns/quotes.php delete mode 100755 web/patterns/sticky-footer.php delete mode 100755 web/patterns/tables.php delete mode 100755 web/patterns/tabs.php diff --git a/.gitignore b/.gitignore index 8d49c8f..38e4f0d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,4 @@ node_modules npm-debug.log # SASS -.sass_cache - -# dist -web/dist +.sass_cache \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 3e5c2e3..0000000 --- a/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# Client Site name - -Static website for Strata, built using [Apollo](https://apollo.studio24.net/). Hosted on AWS Single Cloud 1. - -## Getting started - -These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for how to deploy the project to staging and live environments. - -Also see more [detailed project documentation](docs/README.md) and the [project license](LICENSE.md). - -### In this document - -* [Site URLs](#site-urls) -* [Installing](#installing) -* [Deployment](#deployment) -* [Syncing tasks](#syncing-tasks) -* [Built with](#built-with) -* [Credits](#credits) - -## Site URLs - -### Live -* https://www.strata.dev -* https://www.strata.dev/_build_summary.json - -### Staging -* https://staging.strata.dev -* https://staging.strata.dev/_build_summary.json - -### Development -* http://strata.localhost - -## Installing - -### Requirements - -- PHP 7.4 -- Node v12.16.0 -- [NPM](https://www.npmjs.com/) -- [NVM](https://github.com/creationix/nvm) -- [Composer](https://getcomposer.org/) -- [Deployer](https://deployer.org/docs/installation) - -### Installing locally - -How to get your local development environment running. - -#### Clone repo: - -````bash -git clone git@github.com:strata/strata_website.git -```` - -#### Install PHP dependencies: - -```php -composer install -``` - -#### Install project dependencies: - -From within the project root - -```bash -# Switch your version of Node to the correct version for this project (see .nvmrc) -nvm use - -# Install dependencies -npm install -npm run build -``` - -### Build - -To re-build the assets once - -```bash -npm run build -``` - -To watch for changes - -```bash -npm run watch -``` - -## Configuration - -Any details on configuration files required. - -## Making changes - -To make changes to code first work on a branch and create a Pull Request to merge changes into the `main` branch. - -All changes to the `main` branch need to pass continuous integration tests (PHP linting, PHP code standards). -See [workflow](.github/workflows/README.md) for more. - -## Deployment - -The site uses Deployer for deployment (installed via Composer). Please note if no branch is specified your current branch is used. - -### Deploy to Live - -You should always deploy the `main` branch to production. - -```` -./vendor/bin/dep deploy production --branch=main -```` - -### Deploy to Staging - -Before deployment please check the [currently deployed branch](https://staging.example.com/_build_summary.json) - -```` -./vendor/bin/dep deploy staging --branch=branch-name-to-deploy -```` - -## Syncing tasks - -Sync files from production or staging to your local development environment. These are setup in the `deploy.php` script, -see the [sync](https://github.com/studio24/deployer-recipes/blob/main/docs/sync.md) task for more. - -#### Sync assets: Live → Local development - -````bash -./vendor/bin/dep sync production --files=images -```` -#### Sync assets: Staging → Local development - -````bash -./vendor/bin/dep sync staging --files=images -```` - -## Built with - -- [Apollo 2](https://apollo.studio24.net/) - Front-end starter kit - -## Credits -- **Alan Isaacson** - *Support Developer* - Studio 24 -- **Simon Jones** - *Managing Director* - Studio 24 -- **Isaac Lowe** - *Design Strategy Director* - Studio 24 - diff --git a/web/_includes/scripts__footer.html b/web/_includes/scripts__footer.html deleted file mode 100755 index ac745c8..0000000 --- a/web/_includes/scripts__footer.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/web/_includes/scripts__header.html b/web/_includes/scripts__header.html deleted file mode 100755 index 13471d0..0000000 --- a/web/_includes/scripts__header.html +++ /dev/null @@ -1,9 +0,0 @@ - - \ No newline at end of file diff --git a/web/_includes/styles.php b/web/_includes/styles.php deleted file mode 100755 index 9028f4f..0000000 --- a/web/_includes/styles.php +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/web/boilerplate.html b/web/boilerplate.html deleted file mode 100755 index 57fa462..0000000 --- a/web/boilerplate.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - Apollo Boilerplate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- Header content goes here -
- - -
-

An HTML Boilerplate for your webpages

-

The documentation for the Studio 24 HTML Boilerplate

-
- - -
-
- Footer content goes here -
- - - diff --git a/web/dist/assets/fonts/Amiko-Bold-webfont.woff b/web/dist/assets/fonts/Amiko-Bold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..b7de2cbac5571631a93c57235876d0f3888b7e97 GIT binary patch literal 24520 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 IhQY!87eD224gdfE literal 0 HcmV?d00001 diff --git a/web/dist/assets/fonts/Amiko-Regular-webfont.woff b/web/dist/assets/fonts/Amiko-Regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..f9ab4297b3bbb0371336cd98a1a0f015c538cf44 GIT binary patch literal 24448 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 literal 0 HcmV?d00001 diff --git a/web/dist/assets/fonts/Amiko-SemiBold-webfont.woff b/web/dist/assets/fonts/Amiko-SemiBold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..d31c293027d1ca5a8779e1f9c1c33886264dc076 GIT binary patch literal 24636 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 YIkWrl)>{hLF*(D+(SYAKd%g*ZvX%Q literal 0 HcmV?d00001 diff --git a/web/dist/assets/images/ccs-logo.png b/web/dist/assets/images/ccs-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d6217df3de1e382ed952dede307ad9e5b4a127dc GIT binary patch literal 7523 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 literal 0 HcmV?d00001 diff --git a/web/dist/assets/images/og-strata-image.png b/web/dist/assets/images/og-strata-image.png new file mode 100644 index 0000000000000000000000000000000000000000..9c18fd7df5164130350911553759f015649b0567 GIT binary patch literal 24933 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 B>Yo4r literal 0 HcmV?d00001 diff --git a/web/dist/assets/images/w3c-logo.png b/web/dist/assets/images/w3c-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c76c988e7fd590fc06390069825c83d9712cfa8f GIT binary patch literal 4342 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 S`}u#JE7ro^ya{tL>Hh%T6nOyv literal 0 HcmV?d00001 diff --git a/web/dist/assets/js/app.js b/web/dist/assets/js/app.js new file mode 100644 index 0000000..35b2692 --- /dev/null +++ b/web/dist/assets/js/app.js @@ -0,0 +1,67 @@ +"use strict"; + +/** + * Does it dijon? + * + * The matchMedia API is supported by IE10 and IE11. + * If the browser supports this then we know it has better standards support than IE9. + */ +if (typeof window.matchMedia !== 'undefined') { + // The default behaviour is to add a `js` class to the HTML element if + // Javascript is available. The class is added in the for better performance + // Helper function for finding elements + function findElement(target) { + // querySelector returns the first element on a page that matches the selector. + // For IDs, there should only be one match per page. For classes, it would return the first element with that class. + return document.querySelector(target); + } // Check for if an element exists + + + function exists(elem) { + return elem != null && (elem.length >= 0 || elem.innerHTML.length >= 0); + } // classList polyfill until browser support is better + + /* + * classList.js: Cross-browser full element.classList implementation. + * 1.2.20171210 + * + * By Eli Grey, http://eligrey.com + * License: Dedicated to the public domain. + * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md + */ + + /*global self, document, DOMException */ + + /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */ + + + if ("document" in self) { + // Full polyfill for browsers with no classList support + // Including IE < Edge missing SVGElement.classList + if (!("classList" in document.createElement("_")) || document.createElementNS && !("classList" in document.createElementNS("http://www.w3.org/2000/svg", "g"))) { + myApp.polyfill(self); + } // There is full or partial native classList support, so just check if we need + // to normalize the add/remove and toggle APIs. + + + myApp.normalize(); + } + + if (matchMedia) { + var mq = window.matchMedia("(min-width: 1000px)"); + mq.addEventListener("change", myApp.updateARIAroles); + } + + var contentToggler = document.querySelectorAll('[data-toggler]'); + myApp.updateARIAroles(contentToggler); // Collapsible + + var collapsibleHeading = document.querySelectorAll('.js-collapsible-heading'); + myApp.collaps(collapsibleHeading); // Tab + + myApp.tabs(); + document.addEventListener('DOMContentLoaded', function () { + myApp.updateARIAroles(null); // Traverse DOM and create variables + + var body = findElement('body'); + }); //End of ready() +} // End of dijon diff --git a/web/dist/assets/js/app.min.js b/web/dist/assets/js/app.min.js new file mode 100644 index 0000000..d23131a --- /dev/null +++ b/web/dist/assets/js/app.min.js @@ -0,0 +1,28 @@ +"use strict";/** + * Does it dijon? + * + * The matchMedia API is supported by IE10 and IE11. + * If the browser supports this then we know it has better standards support than IE9. + */if(typeof window.matchMedia!=="undefined"){// The default behaviour is to add a `js` class to the HTML element if +// Javascript is available. The class is added in the for better performance +// Helper function for finding elements +function findElement(target){// querySelector returns the first element on a page that matches the selector. +// For IDs, there should only be one match per page. For classes, it would return the first element with that class. +return document.querySelector(target)}// Check for if an element exists +function exists(elem){return elem!=null&&(elem.length>=0||elem.innerHTML.length>=0)}// classList polyfill until browser support is better +/* + * classList.js: Cross-browser full element.classList implementation. + * 1.2.20171210 + * + * By Eli Grey, http://eligrey.com + * License: Dedicated to the public domain. + * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md + */ /*global self, document, DOMException */ /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */if("document"in self){// Full polyfill for browsers with no classList support +// Including IE < Edge missing SVGElement.classList +if(!("classList"in document.createElement("_"))||document.createElementNS&&!("classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))){myApp.polyfill(self)}// There is full or partial native classList support, so just check if we need +// to normalize the add/remove and toggle APIs. +myApp.normalize()}if(matchMedia){var mq=window.matchMedia("(min-width: 1000px)");mq.addEventListener("change",myApp.updateARIAroles)}var contentToggler=document.querySelectorAll("[data-toggler]");myApp.updateARIAroles(contentToggler);// Collapsible +var collapsibleHeading=document.querySelectorAll(".js-collapsible-heading");myApp.collaps(collapsibleHeading);// Tab +myApp.tabs();document.addEventListener("DOMContentLoaded",function(){myApp.updateARIAroles(null);// Traverse DOM and create variables +var body=findElement("body")});//End of ready() +}// End of dijon diff --git a/web/dist/assets/js/core.js b/web/dist/assets/js/core.js new file mode 100644 index 0000000..a881305 --- /dev/null +++ b/web/dist/assets/js/core.js @@ -0,0 +1,20 @@ +"use strict"; + +// The core app code +var myApp = function () { + 'use strict'; // Create a public methods object + + var methods = {}; + /** + * Extend the public methods object + * @param {String} name The new method name + * @param {Function} fn The new method + */ + + methods.extend = function (name, fn) { + methods[name] = fn; + }; // Return public methods object + + + return methods; +}(); diff --git a/web/dist/assets/js/functions/collapsibles.js b/web/dist/assets/js/functions/collapsibles.js new file mode 100755 index 0000000..82b64d3 --- /dev/null +++ b/web/dist/assets/js/functions/collapsibles.js @@ -0,0 +1,38 @@ +(function () { + + var collaps = function (collapsibleHeading){ + collapsibleHeading.forEach( function(obj) { + + var thisElement = obj; + + // create unique id for a11y relationship + var id = 'collapsible-' + Array.prototype.indexOf.call(collapsibleHeading, thisElement); + + // wrap the content and make it focusable + thisElement.nextElementSibling + .insertAdjacentHTML("afterend", ''); + + var fragment = document.createDocumentFragment(); + fragment.appendChild(thisElement.nextElementSibling); + thisElement.nextElementSibling.appendChild(fragment); + + var panel = thisElement.nextElementSibling; + + // Add the button inside `.js-collapsible-heading` so both the heading and button semanics are read + + thisElement.innerHTML = ''; + + thisElement.classList.add('collapsible-heading'); + var button = thisElement.children[0]; + + // Toggle the state properties + button.addEventListener("click", function () { + var state = this.getAttribute('aria-expanded') === 'false'; + this.setAttribute('aria-expanded', state); + panel.setAttribute('aria-hidden', !state); + }); + }); + }; + + myApp.extend('collaps', collaps); +})(); \ No newline at end of file diff --git a/web/dist/assets/js/functions/normalize.js b/web/dist/assets/js/functions/normalize.js new file mode 100755 index 0000000..7ecba68 --- /dev/null +++ b/web/dist/assets/js/functions/normalize.js @@ -0,0 +1,67 @@ +(function () { + + var normalize = function () { + "use strict"; + + var testElement = document.createElement("_"); + + testElement.classList.add("c1", "c2"); + + // Polyfill for IE 10/11 and Firefox <26, where classList.add and + // classList.remove exist but support only one argument at a time. + if (!testElement.classList.contains("c2")) { + var createMethod = function(method) { + var original = DOMTokenList.prototype[method]; + + DOMTokenList.prototype[method] = function(token) { + var i, len = arguments.length; + + for (i = 0; i < len; i++) { + token = arguments[i]; + original.call(this, token); + } + }; + }; + createMethod('add'); + createMethod('remove'); + } + + testElement.classList.toggle("c3", false); + + // Polyfill for IE 10 and Firefox <24, where classList.toggle does not + // support the second argument. + if (testElement.classList.contains("c3")) { + var _toggle = DOMTokenList.prototype.toggle; + + DOMTokenList.prototype.toggle = function(token, force) { + if (1 in arguments && !this.contains(token) === !force) { + return force; + } else { + return _toggle.call(this, token); + } + }; + + } + + // replace() polyfill + if (!("replace" in document.createElement("_").classList)) { + DOMTokenList.prototype.replace = function (token, replacement_token) { + var + tokens = this.toString().split(" ") + , index = tokens.indexOf(token + "") + ; + if (~index) { + tokens = tokens.slice(index); + this.remove.apply(this, tokens); + this.add(replacement_token); + this.add.apply(this, tokens.slice(1)); + } + } + } + + testElement = null; + }; + + myApp.extend('normalize', normalize) + +})(); \ No newline at end of file diff --git a/web/dist/assets/js/functions/polyfill.js b/web/dist/assets/js/functions/polyfill.js new file mode 100755 index 0000000..bcf640f --- /dev/null +++ b/web/dist/assets/js/functions/polyfill.js @@ -0,0 +1,174 @@ +(function () { + var polyfill = function (view) { + "use strict"; + + if (!('Element' in view)) return; + + var + classListProp = "classList" + , protoProp = "prototype" + , elemCtrProto = view.Element[protoProp] + , objCtr = Object + , strTrim = String[protoProp].trim || function () { + return this.replace(/^\s+|\s+$/g, ""); + } + , arrIndexOf = Array[protoProp].indexOf || function (item) { + var + i = 0 + , len = this.length + ; + for (; i < len; i++) { + if (i in this && this[i] === item) { + return i; + } + } + return -1; + } + // Vendors: please allow content code to instantiate DOMExceptions + , DOMEx = function (type, message) { + this.name = type; + this.code = DOMException[type]; + this.message = message; + } + , checkTokenAndGetIndex = function (classList, token) { + if (token === "") { + throw new DOMEx( + "SYNTAX_ERR" + , "The token must not be empty." + ); + } + if (/\s/.test(token)) { + throw new DOMEx( + "INVALID_CHARACTER_ERR" + , "The token must not contain space characters." + ); + } + return arrIndexOf.call(classList, token); + } + , ClassList = function (elem) { + var + trimmedClasses = strTrim.call(elem.getAttribute("class") || "") + , classes = trimmedClasses ? trimmedClasses.split(/\s+/) : [] + , i = 0 + , len = classes.length + ; + for (; i < len; i++) { + this.push(classes[i]); + } + this._updateClassName = function () { + elem.setAttribute("class", this.toString()); + }; + } + , classListProto = ClassList[protoProp] = [] + , classListGetter = function () { + return new ClassList(this); + } + ; +// Most DOMException implementations don't allow calling DOMException's toString() +// on non-DOMExceptions. Error's toString() is sufficient here. + DOMEx[protoProp] = Error[protoProp]; + classListProto.item = function (i) { + return this[i] || null; + }; + classListProto.contains = function (token) { + return ~checkTokenAndGetIndex(this, token + ""); + }; + classListProto.add = function () { + var + tokens = arguments + , i = 0 + , l = tokens.length + , token + , updated = false + ; + do { + token = tokens[i] + ""; + if (!~checkTokenAndGetIndex(this, token)) { + this.push(token); + updated = true; + } + } + while (++i < l); + + if (updated) { + this._updateClassName(); + } + }; + classListProto.remove = function () { + var + tokens = arguments + , i = 0 + , l = tokens.length + , token + , updated = false + , index + ; + do { + token = tokens[i] + ""; + index = checkTokenAndGetIndex(this, token); + while (~index) { + this.splice(index, 1); + updated = true; + index = checkTokenAndGetIndex(this, token); + } + } + while (++i < l); + + if (updated) { + this._updateClassName(); + } + }; + classListProto.toggle = function (token, force) { + var + result = this.contains(token) + , method = result ? + force !== true && "remove" + : + force !== false && "add" + ; + + if (method) { + this[method](token); + } + + if (force === true || force === false) { + return force; + } else { + return !result; + } + }; + classListProto.replace = function (token, replacement_token) { + var index = checkTokenAndGetIndex(token + ""); + if (~index) { + this.splice(index, 1, replacement_token); + this._updateClassName(); + } + }; + classListProto.toString = function () { + return this.join(" "); + }; + + if (objCtr.defineProperty) { + var classListPropDesc = { + get: classListGetter + , enumerable: true + , configurable: true + }; + try { + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } catch (ex) { // IE 8 doesn't support enumerable:true + // adding undefined to fight this issue https://github.com/eligrey/classList.js/issues/36 + // modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affected + if (ex.number === undefined || ex.number === -0x7FF5EC54) { + classListPropDesc.enumerable = false; + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } + } + } else if (objCtr[protoProp].__defineGetter__) { + elemCtrProto.__defineGetter__(classListProp, classListGetter); + } + }; + + myApp.extend('polyfill', polyfill) + +})(); \ No newline at end of file diff --git a/web/dist/assets/js/functions/tabs.js b/web/dist/assets/js/functions/tabs.js new file mode 100755 index 0000000..25d4784 --- /dev/null +++ b/web/dist/assets/js/functions/tabs.js @@ -0,0 +1,121 @@ +(function () { + var tabs = function () { + // The class for the container div + + var container = '.js-tab-interface'; + + // The setup + findElement(container + '> ul').setAttribute('role', 'tablist'); + findElement(container + ' [role="tablist"] li').setAttribute('role', 'presentation'); + document.querySelectorAll('[role="tablist"] a').forEach(function (obj) { + obj.setAttribute('role', 'tab'); + obj.setAttribute('tabindex', '-1'); + // Make each aria-controls correspond id of targeted section (re href) + obj.setAttribute('aria-controls', obj.getAttribute('href').substring(1)); + }); + + // Make the first tab selected by default and allow it focus + findElement('[role="tablist"] li a').setAttribute('aria-selected', 'true'); + findElement('[role="tablist"] li a').setAttribute('tabindex', '0'); + + // Give each section tabpanel role + document.querySelectorAll(container + ' section').forEach( function (obj) { + obj.setAttribute('role', 'tabpanel') + }); + + // Make first child of each panel focusable programmatically + findElement(container + ' section > *:first-child').setAttribute('tabindex', '0'); + + // Make all but the first section hidden (ARIA state and display CSS) + document.querySelectorAll('[role="tabpanel"]:not(:first-of-type)').forEach(function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // Change focus between tabs with arrow keys + document.querySelectorAll('[role="tab"]').forEach( function (obj) { + obj.onkeydown = function (e) { + + // define current, previous and next (possible) tabs + var original = this; + var prev; + var next; + var target; + + if(this.parentElement.previousElementSibling !== null){ + prev = this.parentElement.previousElementSibling.children[0]; + } else { + prev = false; + } + + if(this.parentElement.nextElementSibling !== null) { + next = this.parentElement.nextElementSibling.children[0] + } else { + next = false; + } + + // find the direction (prev or next) + switch (e.key) { + case 'ArrowLeft': + target = prev; + break; + + case 'ArrowRight': + target = next; + break; + + default: + target = false; + break; + } + + if (target !== false) { + original.setAttribute('tabindex', '-1'); + original.setAttribute('aria-selected', null); + + target.setAttribute('tabindex', '0'); + target.setAttribute('aria-selected', true); + target.focus(); + } + + // Hide panels + document.querySelectorAll(container + ' [role="tabpanel"]').forEach( function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // Show panel which corresponds to target + findElement('#' + document.activeElement.getAttribute('aria-controls')) + .setAttribute('aria-hidden', null); + }; + }); + + // Handle click on tab to show + focus tabpanel + document.querySelectorAll('[role="tab"]').forEach(function (obj) { + obj.onclick = function (e) { + e.preventDefault(); + + // remove focusability [sic] and aria-selected + + document.querySelectorAll('[role="tab"]').forEach( function (obj) { + obj.setAttribute('tabindex', '-1'); + obj.setAttribute('aria-selected', null); + + }); + + // replace above on clicked tab + this.setAttribute('aria-selected', true); + this.setAttribute('tabindex', '0'); + + // Hide panels + document.querySelectorAll(container + ' [role="tabpanel"]').forEach( function (obj) { + obj.setAttribute('aria-hidden', 'true'); + }); + + // show corresponding panel + findElement('#' + this.getAttribute('aria-controls')) + .setAttribute('aria-hidden', null); + }; + }); + }; + + myApp.extend('tabs', tabs); +})(); \ No newline at end of file diff --git a/web/dist/assets/js/functions/updateARIAroles.js b/web/dist/assets/js/functions/updateARIAroles.js new file mode 100755 index 0000000..24405f0 --- /dev/null +++ b/web/dist/assets/js/functions/updateARIAroles.js @@ -0,0 +1,39 @@ +(function () { + + var updateARIAroles = function (contentToggler) { + if (exists(contentToggler)) { + + // This allows us to iterate on multiple elements [1] + var index = 0; + for (index = 0; index < contentToggler.length; index++) { + + // Find the element's toggle target by looking for data-toggle + // Note: we're using `getAttribute` instead of `dataset.` due to better browser support for the former + var target = contentToggler[index].getAttribute('data-toggler'); + var contentTarget = []; + contentTarget[index] = $('[data-toggle="' + target + '"]'); + + if (mq.matches && target == "nav") { + + // Set default aria attributes + // Hide all elements + contentToggler[index].setAttribute('aria-expanded', true); + contentTarget[index].setAttribute('aria-hidden', false); + // contentTarget[index].setAttribute('hidden', true); + + } + else { + + // Set default aria attributes + // Hide all elements + contentToggler[index].setAttribute('aria-expanded', false); + contentTarget[index].setAttribute('aria-hidden', true); + + } + } + } // end of exists + }; + + myApp.extend('updateARIAroles', updateARIAroles); + +})(); \ No newline at end of file diff --git a/web/dist/assets/js/libraries/accessible-autocomplete.min.js b/web/dist/assets/js/libraries/accessible-autocomplete.min.js new file mode 100755 index 0000000..9b16f49 --- /dev/null +++ b/web/dist/assets/js/libraries/accessible-autocomplete.min.js @@ -0,0 +1,3 @@ +/* https://github.com/alphagov/accessible-autocomplete */ +(function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["accessibleAutocomplete"]=t():e["accessibleAutocomplete"]=t()})(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=37)}([function(e,t,n){var m=n(1),v=n(6),y=n(7),g=n(16),_=n(18),b="prototype",w=function(e,t,n){var r,o,i,u,a=e&w.F,s=e&w.G,l=e&w.S,c=e&w.P,p=e&w.B,f=s?m:l?m[t]||(m[t]={}):(m[t]||{})[b],d=s?v:v[t]||(v[t]={}),h=d[b]||(d[b]={});for(r in s&&(n=t),n)i=((o=!a&&f&&f[r]!==undefined)?f:n)[r],u=p&&o?_(i,m):c&&"function"==typeof i?_(Function.call,i):i,f&&g(f,r,i,e&w.U),d[r]!=i&&y(d,r,u),c&&h[r]!=i&&(h[r]=i)};m.core=v,w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128,e.exports=w},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";n.r(t),n.d(t,"h",function(){return r}),n.d(t,"createElement",function(){return r}),n.d(t,"cloneElement",function(){return i}),n.d(t,"Component",function(){return g}),n.d(t,"render",function(){return _}),n.d(t,"rerender",function(){return f}),n.d(t,"options",function(){return E});var s=function s(){},E={},l=[],c=[];function r(e,t){var n,r,o,i,u=c;for(i=arguments.length;2o;)u(r,n=t[o++])&&(~s(i,n)||i.push(n));return i}},function(e,t,n){var r=n(25),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t){e.exports=!1},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(48);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(2),o=n(33),i=n(34)("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=undefined),r(t)&&null===(t=t[i])&&(t=undefined)),t===undefined?Array:t}},function(e,t,n){"use strict";var r=n(0),o=n(32)(2);r(r.P+r.F*!n(13)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Array",{isArray:n(33)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(36),n(30),n(31),n(35),n(55),n(58);var $=n(5),J=o(n(60)),r=o(n(61));function o(e){return e&&e.__esModule?e:{"default":e}}function X(){return(X=Object.assign||function(e){for(var t=1;t=r;this.setState({query:a,ariaHint:s}),i||!s&&l&&c?o(a,function(e){var t=0=i&&0=o,P=this.props.showNoOptionsFound&&N&&I&&k&&A,j=n+"__wrapper",L=n+"__input",T=null!==_?" "+L+"--focused":"",B=this.props.showAllValues?" "+L+"--show-all-values":" "+L+"--default",D=n+"__dropdown-arrow-down",F=-1!==_&&null!==_,R=n+"__menu",U=R+"--"+r,V=R+"--"+(w||P?"visible":"hidden"),q=n+"__option",W=n+"__hint",H=this.templateInputValue(x[C]),K=H&&0===H.toLowerCase().indexOf(O.toLowerCase())&&M?O+H.substr(O.length):"",Q=u+"__assistiveHint",z=S?{"aria-describedby":Q}:null;return c&&"string"==typeof(e=y({className:D}))&&(e=(0,$.createElement)("div",{className:n+"__dropdown-arrow-down-wrapper",dangerouslySetInnerHTML:{__html:e}})),(0,$.createElement)("div",{className:j,onKeyDown:this.handleKeyDown},(0,$.createElement)(J["default"],{id:u,length:x.length,queryLength:O.length,minQueryLength:o,selectedOption:this.templateInputValue(x[C]),selectedOptionIndex:C,validChoiceMade:E,isInFocus:null!==this.state.focused,tQueryTooShort:f,tNoResults:d,tSelectedOption:h,tResults:m}),K&&(0,$.createElement)("span",null,(0,$.createElement)("input",{className:W,readonly:!0,tabIndex:"-1",value:K})),(0,$.createElement)("input",X({"aria-expanded":w?"true":"false","aria-activedescendant":!!F&&u+"__option--"+_,"aria-owns":u+"__listbox","aria-autocomplete":this.hasAutoselect()?"both":"list"},z,{autoComplete:"off",className:""+L+T+B,id:u,onClick:function(e){return i.handleInputClick(e)},onBlur:this.handleInputBlur},function G(e){return{onInput:e}}(this.handleInputChange),{onFocus:this.handleInputFocus,name:a,placeholder:s,ref:function(e){i.elementReferences[-1]=e},type:"text",role:"combobox",required:l,value:O})),e,(0,$.createElement)("ul",{className:R+" "+U+" "+V,onMouseLeave:function(e){return i.handleListMouseLeave(e)},id:u+"__listbox",role:"listbox"},x.map(function(e,t){var n=(-1===_?C===t:_===t)&&null===b?" "+q+"--focused":"",r=t%2?" "+q+"--odd":"",o=Y()?" '+(t+1)+" of "+x.length+"":"";return(0,$.createElement)("li",{"aria-selected":_===t?"true":"false",className:""+q+n+r,dangerouslySetInnerHTML:{__html:i.templateSuggestion(e)+o},id:u+"__option--"+t,key:t,onBlur:function(e){return i.handleOptionBlur(e,t)},onClick:function(e){return i.handleOptionClick(e,t)},onMouseDown:i.handleOptionMouseDown,onMouseEnter:function(e){return i.handleOptionMouseEnter(e,t)},ref:function(e){i.elementReferences[t]=e},role:"option",tabIndex:"-1","aria-posinset":t+1,"aria-setsize":x.length})}),P&&(0,$.createElement)("li",{className:q+" "+q+"--no-results"},p())),(0,$.createElement)("span",{id:Q,style:{display:"none"}},v()))},e}($.Component);(t["default"]=a).defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,showAllValues:!1,required:!1,tNoResults:function(){return"No results found"},tAssistiveHint:function(){return"When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."},dropdownArrow:r["default"]}},function(e,t,r){var o=r(9),i=r(53),u=r(28),a=r(26)("IE_PROTO"),s=function(){},l="prototype",c=function(){var e,t=r(15)("iframe"),n=u.length;for(t.style.display="none",r(54).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- Header content goes here -
- - -
- -

Boilerplate documentation

-

This is an in-depth exploration of the Boilerplate HTML file, explaining what is included and why.

-

Note: If you open this page in a text editor you will see lots of inline PHP comments; here we explain what's going on.

- -

The Doctype

-

Always start with <!doctype html>

- -

Language declaration

-

The HTML element must include an appropriate language attribute. For the majority of work that we undertake lang="en" is likely to be sufficient. If a specific language region (e.g. lang="en-US" or lang="en-GB") or non-English language is required, refer to the W3C's Choosing a Language Tag for guidance.

- -

Default no-js class

-

We also add class="no-js" to the HTML element. This will be replaced by JavaScript as part of a process to avoid a Flash Of Unstyled Content (FOUC), which we will cover later on.

- -

The Head

-

The portion of an HTML document containing metadata about that document and links to CSS and JavaScript files. The contents of the head, and the order in which they appear, are important. As explained in The Head Project, charset and viewport meta tags must come first to consistently ensure proper document rendering. Any other head elements should come after these tags.

- -

Character encoding

-

The first item is the charset meta tag: <meta charset="utf-8">. This declares the page's character encoding. If left undefined, a page can be vulnerable to cross-site-scripting attacks. We put it first within the head because it must be within the first 1024 bytes of the HTML, as some browsers only look at those bytes before choosing an encoding.

- -

Allow pinch-to-zoom

-

The second item is the viewport meta tag: <meta name="viewport" content="width=device-width, initial-scale=1">. This is added to enable responsive web pages and allow users to zoom content.

- -

Title

-

The title element provides an accessible name for the HTML document.

- -

Internet Explorer compatibility

-

We make earlier versions of IE use its latest rendering engine with <meta http-equiv="x-ua-compatible" content="ie=edge">, to provide a better experience for users stuck with these browsers.

- -

Description

-

A concise summary of the content of the HTML document, which often appears in search engine results. To provide Open Graph support (covered in more detail below) and avoid using more tags than necessary, we include the property="og:description" attribute ahead of name="description".

- -

Favicons

-

Pretty much all desktop browsers are amply served by including an .ico file in the root directory. For Android and iOS, include a 192px square .png file that has first been optimised using a program such as ImageOptim or a website such as TinyPNG. Safari requires a .svg file for its pinned tab icon.

-

The easiest way to generate the favicon files is to use Favicon Generator. It will create more assets than you really need, so it is recommended to only include those specified above on your project, unless you are building a progressive web app. Pop them all in the root directory to keep them together.

- -

Avoiding a flash of unstyled content

-

We use Paul Irish's Avoiding the FOUC method, which uses a small piece of JavaScript to replace class="no-js" with class="js". Using the HTML element means that the JavaScript can be included in the head, which stops us from blocking the rendering of the body content.

- -

Avoiding a flash of invisible text

-

Web fonts can be large assets, so it's important that their use does not impact performance. We declare default system fonts with a fallback in our CSS, to ensure that users never experience a flash of invisible text (FOIT). Bram Stein's Font Face Observer checks when web fonts are loaded and then adds fonts-loaded to the class list on the HTML element. Web fonts styles are scoped to this class in our CSS. As with the FOUC script, by targeting the HTML element we ensure the script is not render-blocking.

-

To minimise the resulting visual jump from system fonts to web fonts, it's helpful to pick system fonts with similar metrics to the web fonts, using CSS Font Stack and Font style matcher to test the effect.

- -

Stylesheets

-

Links to CSS stylesheets are next in the head.

- -

Google Tag Manager script

-

The script for Google Tag Manager is next in the head.

- -

Content appearance on social media

-

The final head elements allow us to control how content appears when URLs are shared on social media.

-
-
Facebook
-
Open Graph markup
-
Facebook Sharing Debugger
-
Twitter
-
Getting started with cards
-
Twitter Card Validator
-
LinkedIn
-
Making your website shareable on LinkedIn
-
- -

Body

-

Google Tag Manager

-

The first item included within the body element is a noscript fallback for Google Tag Manager.

- -

Wrap container

-

Next we add a simple div container with id="top" and class="wrap". This container holds <header> and <main> (and possibly other block elements, depending on your project needs) but <footer> sits outside of it. This gives us the necessary markup to create a sticky footer.

-

The id attribute provides us with a hook for any back-to-top links, if used. The class provides a hook for any CSS we may wish to apply to this container.

- -

Skip to content link

-

We provide a skip to content link to allow users to easily skip past the <header>, which is repeated across multiple web pages.

- -

The header element

-

To support IE11, we include the ARIA role="banner".

- -

The main element

-

We add id="main", which is used as the href in the skip to content link. To support IE11, we include the ARIA role="main".

- -

The footer element

-

To support IE11, we include the ARIA role="contentinfo".

- -
- - - -
- -
- Footer content goes here -
- - - diff --git a/web/layouts/box.php b/web/layouts/box.php deleted file mode 100755 index 5bd0cda..0000000 --- a/web/layouts/box.php +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Box

-

The box should have borders and/or padding on all sides, or none at all. Otherwise it's not a box, but something more specific.

-
-

This is an example of the default box layout. It uses the class .l-box

-

It has an even border and padding on all sides.

-

Because its parent - main - uses Flexbox in the column direction, the box stretches full width.

-
-
-

To limit the width of a box to just its content, use align-self: flex-start;

-
-
-

For a box without padding, use the modifier class .l-box--no-padding

-
-
-

For a box without a border, use the modifier class .l-box--no-border

-

High contrast themes tend to eliminate background-color. If there is no border set on the box, we need to apply a transparent outline to maintain the box shape. The negative outline-offset moves the outline inside the perimeter so it behaves like a border and doesn't add to the overall size.

-
-
-

This box has neither border nor padding.

-
-
- -
-
- Footer content goes here -
- - - - - - - diff --git a/web/layouts/center.php b/web/layouts/center.php deleted file mode 100755 index 03bd1bb..0000000 --- a/web/layouts/center.php +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Center

-

The center layout is used to create a vertical stripe of content inside a given container. Apollo uses the technique on <main>.

-

The following example illustrates how the center layout works on a smaller scale, but the principle is the same:

-
    -
  • A center layout is contained within a box layout (without a border or padding), purely to help with this example.
  • -
  • Auto left and right margins are applied to the center layout, along with some left and right padding and a maximum width.
  • -
  • The padding maintains a space between the contents of the center layout and its parent container, even when that container is smaller than the maximum width set on the center layout.
  • -
  • The center layout uses an exception to our global box-sizing: border-box; declaration. It uses box-sizing: content-box; to prevent the padding from making the content narrower than intended.
  • - -
-
-
-

Center in action

-
-
-
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/layouts/cluster.php b/web/layouts/cluster.php deleted file mode 100755 index b4a8ed0..0000000 --- a/web/layouts/cluster.php +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Cluster

-

The cluster suits any groups of elements that differ in length and are liable to wrap. Examples include groups of buttons at the end of forms, lists of tags, etc.

-

The following example illustrates how the cluster layout works:

-
    -
  • A center layout is contained within a box layout (without a border or padding), purely to help with this example.
  • -
  • The cluster layout is contained within the center layout.
  • -
  • The cluster layout needs an inner container - in this example it's provided by a ul.
  • -
  • The cluster items - li in this example - sit within the inner container. Each item has a margin on all sides. Their parent - the inner container - has a negative margin of the same size as the cluster items. This creates the even gaps between cluster items. The cluster layout uses overflow: hidden; to tidy up the edges.
  • -
- -
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/layouts/cover.php b/web/layouts/cover.php deleted file mode 100755 index 7a23acd..0000000 --- a/web/layouts/cover.php +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Cover

-

The cover layout uses Flexbox to vertically centre content, by having a column Flexbox context and a minimum height set. It also allows the addition of header and/or footer content to accompany the principal piece of content, without having to adapt the CSS.

-

The following examples illustrate how the cover layout works:

-
    -
  • The principal item of content to be centered within the cover needs to have the class .principal applied to it. This gives it auto top and bottom margins.
  • -
  • In the first example, the utility class .u-center is added to horizontally center the principal item.
  • -
  • In the second example, a nested center layout provides the horizontal centering.
  • -
  • The final example illustrates the addition of optional header and footer content.
  • -
-
-

The principal content

-
- -
-
-

The principal content

-
-
- -
-

We are proud to present...

-

The principal content

-

Find out more...

-
-
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/layouts/frame.php b/web/layouts/frame.php deleted file mode 100755 index 450a8a2..0000000 --- a/web/layouts/frame.php +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -

Layout: Frame

- - -
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/layouts/index.php b/web/layouts/index.php deleted file mode 100755 index eebbf11..0000000 --- a/web/layouts/index.php +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layouts

-

Here you will find examples of the basic layout types, which can be combined and customised to make a variety of components.

-

To help show how these basic layouts are constructed, the following colours are used to identify content areas, padding and internal margins:

-
    -
  • Content: Aqua

  • -
  • Padding: Fuchsia

  • -
  • Internal margins: Yellow

  • -
-

Layout examples

- -
- -
-
- Footer content goes here -
- - - - - - diff --git a/web/layouts/sidebar.php b/web/layouts/sidebar.php deleted file mode 100755 index dafa713..0000000 --- a/web/layouts/sidebar.php +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Sidebar

-

The sidebar layout creates a container, inside of which a larger panel can sit next to a smaller (sidebar) panel.

-

The two panels stack vertically, until there is enough horizontal space for them to sit alongside each other. The point at which this change happens is determined by setting a flex-basis on the sidebar panel and a min-width on the larger panel. No viewport media queries required, so it will nest nicely inside of other containers.

- - - - - - - -
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/layouts/switcher.php b/web/layouts/switcher.php deleted file mode 100755 index 3a5c8ec..0000000 --- a/web/layouts/switcher.php +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Layout: Switcher

-

The switcher layout switches a container with Flexbox between a horizontal and a vertical direction at a given, container-based breakpoint. No viewport media queries required, so it will nest nicely inside of other containers.

-

It's a good choice for situations where each child item should be considered equal.

- -
-
-
Stuff 1
-
Stuff 2
-
Stuff 3
-
-
- -

There are certain caveats to note when customising the default switcher layout:

-
    -
  • When the flex container is less than 600px wide, child items are arranged vertically. Otherwise, child items are arranged horizontally. This container breakpoint may well need overriding depending on the use case.
  • -
  • The number of columns in a row is two. This can be overridden by adjusting the min-width percentage.
  • -
-

A consideration for Internet Explorer 11

-

There must be no padding on the switcher child items themselves, otherwise the layout will break. To space content away from the edges, use nested elements with margin or padding.

- -
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/patterns/breadcrumbs.php b/web/patterns/breadcrumbs.php deleted file mode 100755 index 15065e3..0000000 --- a/web/patterns/breadcrumbs.php +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Breadcrumbs

- -
- -
-
- Footer content goes here -
- - - - - - \ No newline at end of file diff --git a/web/patterns/cards.php b/web/patterns/cards.php deleted file mode 100755 index 227caf8..0000000 --- a/web/patterns/cards.php +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Cards

-

Basic card

-
    -
  • The basic card consists of an image area (using the frame layout), and a content area (using the box layout). If the image is purely decorative, an empty alt attribute should be provided.
  • -
  • The content area appears first in the source order, so that the card is correctly labelled by its heading. We use flexbox to visually put the image ahead of the content area.
  • -
  • Make sure that the heading element fits with the heading order of surrounding content. Headings with an equal or higher rank start a new section, headings with a lower rank start new subsections that are part of the higher ranked section.
  • -
- - -

Card with a call to action

- -
-
    -
  • -
    -
    -

    Unique card title 1

    -

    Here is all the descriptive teaser text for my card.

    - -
    -
    - -
    -
    -
  • -
  • -
    -
    -

    Unique card title 2

    -

    Here is all the descriptive teaser text for my card. But this one has significantly more text content inside it.

    - -
    -
    - -
    -
    -
  • -
  • - -
  • -
  • -
    -
    -

    Unique card title 4

    -

    Here is all the descriptive teaser text for my card.

    - -
    -
    - -
    -
    -
  • -
-
- -

Card with extra links

- - -

Horizontal card

-

Horizontal cards use a slightly modified structure, with an inner container added to the text area to centre it vertically. They use a similar mechanism to the sidebar layout, to switch from vertical to horizontal alignment without a media query. -

-
-
-
-

Unique card title 4

-

Here is all the descriptive teaser text for my card.

- -
-
-
- -
-
- -

Image credit

-

Photo by Steve Johnson on Unsplash

- -
- -
-
- Footer content goes here -
- - - - - - - diff --git a/web/patterns/collapsibles.php b/web/patterns/collapsibles.php deleted file mode 100755 index dc9a6ce..0000000 --- a/web/patterns/collapsibles.php +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Collapsible sections or "Collapsibles"

- -

We insert buttons via JavaScript for opening and closing collapsible sections. We use the data attribute data-component="collapsibles" as a hook for our JavaScript, as this keeps things nicely separated from classes, which could more easily be overwritten.

-

Buttons shouldn't use the pointer cursor, so we need to ensure the buttons have sufficient affordance by other means, such as background colour, border and/or box-shadow styles.

- -
-

Baby Spice

-
-

RPG stats

-
    -
  • Strength: 10
  • -
  • Dexterity: 14
  • -
  • Looks: 16
  • -
  • Macho: 10
  • -
  • Health: 8
  • -
-
-

Ginger Spice

-
-

RPG stats

-
    -
  • Strength: 10
  • -
  • Dexterity: 9
  • -
  • Looks: 16
  • -
  • Macho: 14
  • -
  • Health: 10
  • -
-
-

Posh Spice

-
-

RPG stats

-
    -
  • Strength: 10
  • -
  • Dexterity: 14
  • -
  • Looks: 14
  • -
  • Macho: 12
  • -
  • Health: 10
  • -
-
-

Scary Spice

-
-

RPG stats

-
    -
  • Strength: 10
  • -
  • Dexterity: 12
  • -
  • Looks: 12
  • -
  • Macho: 16
  • -
  • Health: 10
  • -
-
-

Sporty Spice

-
-

RPG stats

-
    -
  • Strength: 13
  • -
  • Dexterity: 14
  • -
  • Looks: 10
  • -
  • Macho: 10
  • -
  • Health: 12
  • -
-
-
-
- -
-
- Footer content goes here -
- - - - - - - - \ No newline at end of file diff --git a/web/patterns/donation-form.php b/web/patterns/donation-form.php deleted file mode 100755 index 01e7dca..0000000 --- a/web/patterns/donation-form.php +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Donation form

- - - -
- -
-
- Footer content goes here -
- - - - - - \ No newline at end of file diff --git a/web/patterns/forms.php b/web/patterns/forms.php deleted file mode 100755 index a44f5fb..0000000 --- a/web/patterns/forms.php +++ /dev/null @@ -1,584 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Forms

-

The examples on this page show how we manage forms and their fields. Recommendations are based on this excellent blog post by Adam Silver.

-
    -
  • Every input needs a label. Put labels above the input.
  • -
  • Do not use the placeholder attribute on <input> fields.
  • -
  • If hint text is needed, add a <div class="field-description> inside the <label>. Add hint text when users are more likely to make a mistake, like when having to satisfy a complex set of password rules. Error messages should be a last resort.
  • -
  • Make form fields look like form fields: apply a border and make sure they are empty to begin with. A height of 44px or more makes them easy to tap on touch screen devices.
  • -
  • Make sure any <button> looks like a button. Align them to the left edge of the last input where users naturally look for them. Use a verb for button text because the user is doing something, and relate it to what they are doing - avoid generic ‘Submit’ buttons.
  • -
  • <select> should be a last resort as they’re really hard to use. Try radio buttons instead. Or use an autocomplete, if there’s a long list of options.
  • -
  • If you have to use a <select>, don't submit a form when its value changes. Select boxes that submit the form automatically when the user selects an option cause problems for keyboard and screen reader users.
  • -
  • We use Parsley, a JavaScript library, to handle client-side form validation. Using Parsley, we also add the interactive parts and the ARIA attributes to make form completion as easy as possible for people.
  • -
- -

Text, emails and passwords

- - -

Dates

- - -

Numbers

- - -

Autocomplete

- - -

Checkboxes

- - -

Radio buttons

- - -

Search forms

- - -
- -
-
- Footer content goes here -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/web/patterns/icons.php b/web/patterns/icons.php deleted file mode 100755 index 19ee598..0000000 --- a/web/patterns/icons.php +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Icons

- -

To use an SVG icon inline with text, add the with-icon class to the parent container (e.g. link or button). This will add some inline flex and alignment styles to help things line up nicely. It also uses the margin-inline-end CSS logical property to add spacing between the text and icon, irrespective of text direction.

- -

It is preferable to use SVGs inline, because:

- - -

Use SVGOMG to optimise your SVG files.

- -

SVG icons used within interactive elements, such as links and buttons, should include the attributes focusable="false" aria-hidden="true" as per the advice from Scott O'Hara on Contextually marking up accessible images and SVGs.

- -

If the icon is to be used without visible text, you can either use <span class="visuallyhidden"> alongside the SVG to provide a screen reader friendly label for the link/button, or add the aria-label attribute to the link/button, e.g. aria-label="Search".

- -

Try to avoid specifying colours for SVGs within the SVG file itself. Preferably, use fill="currentColor" in the SVG because it allows us to set a CSS colour on the parent element, which the SVG will inherit. It also allows us to use the same SVG file in multiple places, and adjust the styles for interactive states such as hover.

- -

Buttons

- - -

Social icons

-

Share links with icons and text

- - -

Account links with icons only

- -
- -
-
- Footer content goes here -
- - - - - - \ No newline at end of file diff --git a/web/patterns/index.php b/web/patterns/index.php deleted file mode 100755 index ee7ba66..0000000 --- a/web/patterns/index.php +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Patterns

-

Common components and functionality:

- -

Inspiration and ideas:

- -
- -
-
- Footer content goes here -
- - - - - - - diff --git a/web/patterns/page-header.php b/web/patterns/page-header.php deleted file mode 100755 index 8a34459..0000000 --- a/web/patterns/page-header.php +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -

A hero panel

-

Find out more...

-
- -
-

What's going on?

-
    -
  • We have used the cover layout to create a hero area at the top of the page.
  • -
  • Nested inside the cover layout is a cluster layout for the global header. This uses justify-content: space-between to separate the logo and navigation.
  • -
  • Another cluster layout is nested inside the global header to create the main navigation.
  • -
  • The h1 and ‘footer’ portion of the hero are each centered using a utility class.
  • -
-
- -
-
- Footer content goes here -
- - - - - - - diff --git a/web/patterns/pagination.php b/web/patterns/pagination.php deleted file mode 100755 index c714379..0000000 --- a/web/patterns/pagination.php +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Pagination

-

Text only

- -

With SVG icons

- -
- -
-
- Footer content goes here -
- - - - - - \ No newline at end of file diff --git a/web/patterns/quotes.php b/web/patterns/quotes.php deleted file mode 100755 index 0ace8da..0000000 --- a/web/patterns/quotes.php +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Quotes

-

Basic blockquote

-
-

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

-
- -

Blockquote with footer

-
-

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

-
Billy Connolly
-
- -

Blockquote as a figure

-

This could be used a slide in a carousel of quotes/testimonials.

-
-
-

Before you judge a man, walk a mile in his shoes. After that who cares? He’s a mile away and you’ve got his shoes!

-
-
Billy Connolly
-
-
- -
-
- Footer content goes here -
- - - - - - \ No newline at end of file diff --git a/web/patterns/sticky-footer.php b/web/patterns/sticky-footer.php deleted file mode 100755 index ecb5db9..0000000 --- a/web/patterns/sticky-footer.php +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Sticky footer

- -
- -
-
- Footer content goes here -
- - - - - - - diff --git a/web/patterns/tables.php b/web/patterns/tables.php deleted file mode 100755 index 316eb3f..0000000 --- a/web/patterns/tables.php +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Data tables

-

The examples on this page show the required markup for accessible data tables. The key points are:

-
    -
  • The table must include column and/or row headers (<th>) to be a true data table. Some screen readers that encounter a table without headers will treat it as a ‘layout table’ and communicate it quite differently.
  • -
  • Use the scope attribute to differentiate between column and row headers.
  • -
  • Where there are both column and row headers, do not leave the first header cell empty as this can produce unexpected behaviour.
  • -
  • Use the table <caption> to directly associate a data table with its heading.
  • -
  • The grid structure of data tables must remain intact, no matter the available space. For tables with a lot of columns this may result in horizontal scrolling. -
      -
    • To control this behaviour, each table is wrapped in a div with the class .table-wrap.
    • -
    • <tabindex="0"> is added to the wrapper to make it focusable and make it scrollable for keyboard users. For the benefit of screen reader users, we give the wrapper the <group> role and use aria-labelledby to associate it with the table caption for labelling.
    • -
    • A JavaScript enhancement checks whether there is any overflow and - if there is none - updates the tabindex to remove focus.
    • -
    • The CSS applies an indicative shadow/fade to whichever side the overflow is occurring at, providing additional visual affordance that a table is scrollable.
    • -
    • The JavaScript enhancement also applies <position: sticky;> to column headers if there is no horizontal overflow, which is useful for tables with many rows of data.
    • -
    -
  • -
-

Simple table (column headers only)

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Members of the Spice Girls

-
First nameLast nameBand nameDate of birthPlace of birth
EmmaBuntonBaby21 January 1976Watford
GeriHalliwellGinger6 August 1972London
VictoriaBeckhamPosh17 April 1974Harlow
MelanieBrownScary29 May 1975Leeds
MelanieChisholmSporty12 January 1974Whiston
-
- -

Table with column headers and row headers

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Spice Girls' housekeeping rota

-
DayBabyGingerPoshScarySporty
MondayWashing upCookingShoppingDustingVacuuming
TuesdayVacuumingWashing upCookingShoppingDusting
WednesdayDustingVacuumingWashing upCookingShopping
ThursdayShoppingDustingVacuumingWashing upCooking
FridayCookingShoppingDustingVacuumingWashing up
-
-
- -
-
- Footer content goes here -
- - - - - - - \ No newline at end of file diff --git a/web/patterns/tabs.php b/web/patterns/tabs.php deleted file mode 100755 index 492f27a..0000000 --- a/web/patterns/tabs.php +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - Apollo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Tabbed sections or "Tabs"

-

We use the data attribute data-component="tabs" as a hook for our JavaScript, as this keeps things nicely separated from classes, which could more easily be overwritten.

-
- -
-

Section 1

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam euismod, tortor nec pharetra ultricies, ante erat imperdiet velit, nec laoreet enim lacus a velit. Nam luctus, enim in interdum condimentum, nisl diam iaculis lorem, vel volutpat mi leo sit amet lectus. Praesent non odio bibendum magna bibendum accumsan.

-
-
-

Section 2

-

Nullam at diam nec arcu suscipit auctor non a erat. Sed et magna semper, eleifend magna non, facilisis nisl. Proin et est et lorem dictum finibus ut nec turpis. Aenean nisi tortor, euismod a mauris a, mattis scelerisque tortor. Sed dolor risus, varius a nibh id, condimentum lacinia est. In lacinia cursus odio a aliquam. Curabitur tortor magna, laoreet ut rhoncus at, sodales consequat tellus.

-
-
-

Section 3

-

Phasellus ac tristique orci. Nulla maximus justo nec dignissim consequat. Sed vehicula diam sit amet mi efficitur vehicula in in nisl. Aliquam erat volutpat. Suspendisse lorem turpis, accumsan consequat consectetur gravida, pellentesque ac ante. Aliquam in commodo ligula, sit amet mollis neque. Vestibulum at facilisis massa.

-
-
-
- -
-
- Footer content goes here -
- - - - - - - - \ No newline at end of file From 51004f6e8e633c9e9ec425534ec9b5e717260b32 Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:48:44 +0100 Subject: [PATCH 5/9] Adding readme. --- README.md | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d3af5a3 --- /dev/null +++ b/README.md @@ -0,0 +1,141 @@ +# Client Site name + +Static website for Strata, built using [Apollo](https://apollo.studio24.net/). Hosted on AWS Single Cloud 1. + +## Getting started + +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for how to deploy the project to staging and live environments. + +Also see more [detailed project documentation](docs/README.md) and the [project license](LICENSE.md). + +### In this document + +* [Site URLs](#site-urls) +* [Installing](#installing) +* [Deployment](#deployment) +* [Syncing tasks](#syncing-tasks) +* [Built with](#built-with) +* [Credits](#credits) + +## Site URLs + +### Live +* https://www.strata.dev +* https://www.strata.dev/_build_summary.json + +### Staging +* https://staging.strata.dev +* https://staging.strata.dev/_build_summary.json + +### Development +* http://strata.localhost + +## Installing + +### Requirements + +- PHP 7.4 +- Node v12.16.0 +- [NPM](https://www.npmjs.com/) +- [NVM](https://github.com/creationix/nvm) +- [Composer](https://getcomposer.org/) +- [Deployer](https://deployer.org/docs/installation) + +### Installing locally + +How to get your local development environment running. + +#### Clone repo: + +````bash +git clone git@github.com:strata/strata_website.git +```` + +#### Install PHP dependencies: + +```php +composer install +``` + +#### Install project dependencies: + +From within the project root + +```bash +# Switch your version of Node to the correct version for this project (see .nvmrc) +nvm use + +# Install dependencies +npm install +npm run build +``` + +### Build + +To re-build the assets once + +```bash +npm run build +``` + +To watch for changes + +```bash +npm run watch +``` + +## Configuration + +Any details on configuration files required. + +## Making changes + +To make changes to code first work on a branch and create a Pull Request to merge changes into the `main` branch. + +All changes to the `main` branch need to pass continuous integration tests (PHP linting, PHP code standards). +See [workflow](.github/workflows/README.md) for more. + +## Deployment + +The site uses Deployer for deployment (installed via Composer). Please note if no branch is specified your current branch is used. + +### Deploy to Live + +You should always deploy the `main` branch to production. + +```` +./vendor/bin/dep deploy production --branch=main +```` + +### Deploy to Staging + +Before deployment please check the [currently deployed branch](https://staging.example.com/_build_summary.json) + +```` +./vendor/bin/dep deploy staging --branch=branch-name-to-deploy +```` + +## Syncing tasks + +Sync files from production or staging to your local development environment. These are setup in the `deploy.php` script, +see the [sync](https://github.com/studio24/deployer-recipes/blob/main/docs/sync.md) task for more. + +#### Sync assets: Live → Local development + +````bash +./vendor/bin/dep sync production --files=images +```` +#### Sync assets: Staging → Local development + +````bash +./vendor/bin/dep sync staging --files=images +```` + +## Built with + +- [Apollo 2](https://apollo.studio24.net/) - Front-end starter kit + +## Credits +- **Alan Isaacson** - *Support Developer* - Studio 24 +- **Simon Jones** - *Managing Director* - Studio 24 +- **Isaac Lowe** - *Design Strategy Director* - Studio 24 \ No newline at end of file From 1a970ce405482ef3eb928c84925d4a7eb9861ed2 Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Tue, 22 Jun 2021 15:57:01 +0100 Subject: [PATCH 6/9] updated h1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3af5a3..dc788b8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Client Site name +# Strata website Static website for Strata, built using [Apollo](https://apollo.studio24.net/). Hosted on AWS Single Cloud 1. From 06d8d9344135cb7552b51248f95c7fea53b85b5b Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Wed, 3 Jan 2024 17:07:25 +0000 Subject: [PATCH 7/9] Increased link colour contrast. --- apollo/assets/styles/sass/10-settings/_colors.scss | 4 ++-- apollo/assets/styles/sass/60-components/_main.scss | 4 ++-- web/dist/assets/styles/advanced.css | 4 ++-- web/dist/assets/styles/advanced.min.css | 2 +- web/dist/assets/styles/advanced.min.css.map | 2 +- web/dist/assets/styles/core.css | 4 ++-- web/dist/assets/styles/core.min.css | 2 +- web/dist/assets/styles/core.min.css.map | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apollo/assets/styles/sass/10-settings/_colors.scss b/apollo/assets/styles/sass/10-settings/_colors.scss index 3133209..42063e1 100755 --- a/apollo/assets/styles/sass/10-settings/_colors.scss +++ b/apollo/assets/styles/sass/10-settings/_colors.scss @@ -40,8 +40,8 @@ $strata-yellow: #FFBE4A; $link-color: $strata-purple; -$link-color--visited: $strata-link-visited; -$link-color--hover: $strata-text; +$link-color--visited: $strata-text; +$link-color--hover: $strata-purple; $success-color: $green; diff --git a/apollo/assets/styles/sass/60-components/_main.scss b/apollo/assets/styles/sass/60-components/_main.scss index afeb17a..2fff421 100755 --- a/apollo/assets/styles/sass/60-components/_main.scss +++ b/apollo/assets/styles/sass/60-components/_main.scss @@ -55,8 +55,8 @@ main, color: $strata-purple; transition: background-color ease-in-out 0.2s; &:visited { - color: $strata-link-visited; - border-color: $strata-link-visited; + color: $strata-text; + border-color: $strata-text; } &:hover, &:focus, diff --git a/web/dist/assets/styles/advanced.css b/web/dist/assets/styles/advanced.css index 412528b..dd15d29 100644 --- a/web/dist/assets/styles/advanced.css +++ b/web/dist/assets/styles/advanced.css @@ -318,8 +318,8 @@ main, color: #7342EC; transition: background-color ease-in-out 0.2s; } .main-cta a.cta:visited { - color: #756799; - border-color: #756799; } + color: #1A1C1B; + border-color: #1A1C1B; } .main-cta a.cta:hover, .main-cta a.cta:focus, .main-cta a.cta:active { color: white; border-color: #1A1C1B; diff --git a/web/dist/assets/styles/advanced.min.css b/web/dist/assets/styles/advanced.min.css index 13df0fc..897bb82 100644 --- a/web/dist/assets/styles/advanced.min.css +++ b/web/dist/assets/styles/advanced.min.css @@ -1,2 +1,2 @@ -@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:400;src:local("Amiko Regular"),local("Amiko-Regular"),url("../fonts/Amiko-Regular-webfont.woff2") format("woff2"),url("../fonts/Amiko-Regular-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:600;src:local("Amiko Semi Bold"),local("Amiko-Semi-Bold"),url("../fonts/Amiko-SemiBold-webfont.woff2") format("woff2"),url("../fonts/Amiko-SemiBold-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:700;src:local("Amiko Bold"),local("Amiko-Bold"),url("../fonts/Amiko-Bold-webfont.woff2") format("woff2"),url("../fonts/Amiko-Bold-webfont.woff") format("woff")}.global-footer{-ms-grid-row:2;grid-row-start:2;grid-row-end:3}.global-footer div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;text-align:center;margin-left:auto;margin-right:auto;max-width:81.25rem;box-sizing:content-box;padding:1.7rem 5vw}@media screen and (min-width: 40em){.global-footer div{-ms-flex-direction:row;flex-direction:row;gap:1rem;text-align:left}}@media screen and (min-width: 48em){.global-footer div{padding-left:10vw;padding-right:10vw}}.global-footer div p{padding-top:.625rem;font-size:1rem}.global-footer div img{height:2.5rem;width:auto}.global-header{background-color:#7342EC}.global-header div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:0.5em;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;margin-left:auto;margin-right:auto;max-width:81.25rem;box-sizing:content-box;padding:1.7rem 5vw;color:white;font-size:1.25rem}@media screen and (min-width: 25em){.global-header div{-ms-flex-direction:row;flex-direction:row;-ms-flex-line-pack:end;align-content:flex-end;-ms-flex-pack:justify;justify-content:space-between}}@media screen and (min-width: 48em){.global-header div{padding-left:10vw;padding-right:10vw}}.global-header ul{display:-ms-flexbox;display:flex;column-gap:1em;list-style:none;padding:0}.global-header ul li{margin:0;padding:0}.global-header a:link,.global-header a:visited{text-decoration:none;color:white;border-bottom:solid 2px transparent;transition:border-color ease-in-out 0.2s}.global-header a:hover{border-color:rgba(255,255,255,0.5)}.global-header a:focus{outline-color:#fafafa}.global-header a:hover,.global-header a:active{outline-width:0}.global-header img{height:2.5rem;width:auto}@media screen and (min-width: 20em){.global-header img{height:3.625rem}}main,#main{box-sizing:content-box;margin-left:auto;margin-right:auto;max-width:81.25rem;padding:3.125rem 5vw 0 5vw}@media screen and (min-width: 48em){main,#main{padding:6.25rem 10vw 3.125rem 10vw}}@media screen and (min-width: 58.75em){main,#main{background-image:url("/dist/assets/svg/strata-page-bg.svg");background-position-y:100px;background-repeat:no-repeat;background-size:auto;background-position-x:820px}}@media screen and (min-width: 75em){main,#main{background-position-x:860px}}@media screen and (min-width: 95.625em){main,#main{background-position-x:920px;background-size:40%}}.main-intro{max-width:45rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start}.main-intro>*+*{margin-top:1.7rem}.main-cta{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;row-gap:1rem}.main-cta a.cta{margin-right:1rem;border:solid .125rem #7342EC;border-radius:1.75rem;padding:.625rem 1.75rem;text-decoration:none;font-weight:700;color:#7342EC;transition:background-color ease-in-out 0.2s}.main-cta a.cta:visited{color:#756799;border-color:#756799}.main-cta a.cta:hover,.main-cta a.cta:focus,.main-cta a.cta:active{color:white;border-color:#1A1C1B;background-color:#1A1C1B;outline-width:0}@media screen and (min-width: 48em){.main-cta{-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}}.main-features{margin:2.5rem 0 2.5rem 0}@media screen and (min-width: 48em){.main-features{margin:5rem 0 5rem 0}}.main-features ul{margin-top:1.25rem;list-style:none;padding:0;display:-ms-grid;display:grid}@media screen and (min-width: 43.75em){.main-features ul{-ms-grid-columns:(300px)[2];grid-template-columns:repeat(2, 300px);grid-auto-rows:minmax(300px, auto)}}@media screen and (min-width: 64em){.main-features ul{-ms-grid-columns:(300px)[3];grid-template-columns:repeat(3, 300px);grid-auto-rows:minmax(300px, auto)}}@media screen and (min-width: 90em){.main-features ul{-ms-grid-columns:(300px)[4];grid-template-columns:repeat(4, 300px)}}@media screen and (min-width: 101.25em){.main-features ul{-ms-grid-columns:(325px)[4];grid-template-columns:repeat(4, 325px);grid-auto-rows:minmax(325px, auto)}}.main-features ul li{margin:0;padding:2rem;font-weight:700;font-size:1rem;line-height:1.56;display:-ms-grid;display:grid;gap:1rem;-ms-grid-columns:23px auto;grid-template-columns:23px auto}@media screen and (min-width: 43.6875em){.main-features ul li{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:23px auto;grid-template-rows:23px auto}}.main-features ul li svg{height:1.4375rem;width:1.4375rem;fill:#FF5A5E}@media (min-width: 0em) and (max-width: 43.6875em), (min-width: 64em) and (max-width: 89.9375em){.main-features ul li:nth-child(odd){background-color:white}.main-features ul li:nth-child(odd) svg{fill:#FFBE4A}}@media (min-width: 43.75em) and (max-width: 63.9375em){.main-features ul li:nth-child(1),.main-features ul li:nth-child(4),.main-features ul li:nth-child(5){background-color:white}.main-features ul li:nth-child(1) svg,.main-features ul li:nth-child(4) svg,.main-features ul li:nth-child(5) svg{fill:#FFBE4A}}@media (min-width: 90em){.main-features ul li:nth-child(1),.main-features ul li:nth-child(3),.main-features ul li:nth-child(6){background-color:white}.main-features ul li:nth-child(1) svg,.main-features ul li:nth-child(3) svg,.main-features ul li:nth-child(6) svg{fill:#FFBE4A}}@media screen and (min-width: 101.25em){.main-features ul li{font-size:1.125rem}}.main-used-by{margin:2.5rem 0 2.5rem 0}@media screen and (min-width: 48em){.main-used-by{margin:5rem 0 5rem 0}}.main-used-by ul{margin-top:1.25rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;gap:2.5rem;list-style:none;padding:0}.main-used-by ul li{padding:0}.main-used-by ul li img{width:auto;height:80px}.main-background{max-width:45rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start}.main-background>*+*{margin-top:1.7rem} +@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:400;src:local("Amiko Regular"),local("Amiko-Regular"),url("../fonts/Amiko-Regular-webfont.woff2") format("woff2"),url("../fonts/Amiko-Regular-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:600;src:local("Amiko Semi Bold"),local("Amiko-Semi-Bold"),url("../fonts/Amiko-SemiBold-webfont.woff2") format("woff2"),url("../fonts/Amiko-SemiBold-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:700;src:local("Amiko Bold"),local("Amiko-Bold"),url("../fonts/Amiko-Bold-webfont.woff2") format("woff2"),url("../fonts/Amiko-Bold-webfont.woff") format("woff")}.global-footer{-ms-grid-row:2;grid-row-start:2;grid-row-end:3}.global-footer div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;text-align:center;margin-left:auto;margin-right:auto;max-width:81.25rem;box-sizing:content-box;padding:1.7rem 5vw}@media screen and (min-width: 40em){.global-footer div{-ms-flex-direction:row;flex-direction:row;gap:1rem;text-align:left}}@media screen and (min-width: 48em){.global-footer div{padding-left:10vw;padding-right:10vw}}.global-footer div p{padding-top:.625rem;font-size:1rem}.global-footer div img{height:2.5rem;width:auto}.global-header{background-color:#7342EC}.global-header div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;row-gap:0.5em;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;margin-left:auto;margin-right:auto;max-width:81.25rem;box-sizing:content-box;padding:1.7rem 5vw;color:white;font-size:1.25rem}@media screen and (min-width: 25em){.global-header div{-ms-flex-direction:row;flex-direction:row;-ms-flex-line-pack:end;align-content:flex-end;-ms-flex-pack:justify;justify-content:space-between}}@media screen and (min-width: 48em){.global-header div{padding-left:10vw;padding-right:10vw}}.global-header ul{display:-ms-flexbox;display:flex;column-gap:1em;list-style:none;padding:0}.global-header ul li{margin:0;padding:0}.global-header a:link,.global-header a:visited{text-decoration:none;color:white;border-bottom:solid 2px transparent;transition:border-color ease-in-out 0.2s}.global-header a:hover{border-color:rgba(255,255,255,0.5)}.global-header a:focus{outline-color:#fafafa}.global-header a:hover,.global-header a:active{outline-width:0}.global-header img{height:2.5rem;width:auto}@media screen and (min-width: 20em){.global-header img{height:3.625rem}}main,#main{box-sizing:content-box;margin-left:auto;margin-right:auto;max-width:81.25rem;padding:3.125rem 5vw 0 5vw}@media screen and (min-width: 48em){main,#main{padding:6.25rem 10vw 3.125rem 10vw}}@media screen and (min-width: 58.75em){main,#main{background-image:url("/dist/assets/svg/strata-page-bg.svg");background-position-y:100px;background-repeat:no-repeat;background-size:auto;background-position-x:820px}}@media screen and (min-width: 75em){main,#main{background-position-x:860px}}@media screen and (min-width: 95.625em){main,#main{background-position-x:920px;background-size:40%}}.main-intro{max-width:45rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start}.main-intro>*+*{margin-top:1.7rem}.main-cta{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;row-gap:1rem}.main-cta a.cta{margin-right:1rem;border:solid .125rem #7342EC;border-radius:1.75rem;padding:.625rem 1.75rem;text-decoration:none;font-weight:700;color:#7342EC;transition:background-color ease-in-out 0.2s}.main-cta a.cta:visited{color:#1A1C1B;border-color:#1A1C1B}.main-cta a.cta:hover,.main-cta a.cta:focus,.main-cta a.cta:active{color:white;border-color:#1A1C1B;background-color:#1A1C1B;outline-width:0}@media screen and (min-width: 48em){.main-cta{-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}}.main-features{margin:2.5rem 0 2.5rem 0}@media screen and (min-width: 48em){.main-features{margin:5rem 0 5rem 0}}.main-features ul{margin-top:1.25rem;list-style:none;padding:0;display:-ms-grid;display:grid}@media screen and (min-width: 43.75em){.main-features ul{-ms-grid-columns:(300px)[2];grid-template-columns:repeat(2, 300px);grid-auto-rows:minmax(300px, auto)}}@media screen and (min-width: 64em){.main-features ul{-ms-grid-columns:(300px)[3];grid-template-columns:repeat(3, 300px);grid-auto-rows:minmax(300px, auto)}}@media screen and (min-width: 90em){.main-features ul{-ms-grid-columns:(300px)[4];grid-template-columns:repeat(4, 300px)}}@media screen and (min-width: 101.25em){.main-features ul{-ms-grid-columns:(325px)[4];grid-template-columns:repeat(4, 325px);grid-auto-rows:minmax(325px, auto)}}.main-features ul li{margin:0;padding:2rem;font-weight:700;font-size:1rem;line-height:1.56;display:-ms-grid;display:grid;gap:1rem;-ms-grid-columns:23px auto;grid-template-columns:23px auto}@media screen and (min-width: 43.6875em){.main-features ul li{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:23px auto;grid-template-rows:23px auto}}.main-features ul li svg{height:1.4375rem;width:1.4375rem;fill:#FF5A5E}@media (min-width: 0em) and (max-width: 43.6875em), (min-width: 64em) and (max-width: 89.9375em){.main-features ul li:nth-child(odd){background-color:white}.main-features ul li:nth-child(odd) svg{fill:#FFBE4A}}@media (min-width: 43.75em) and (max-width: 63.9375em){.main-features ul li:nth-child(1),.main-features ul li:nth-child(4),.main-features ul li:nth-child(5){background-color:white}.main-features ul li:nth-child(1) svg,.main-features ul li:nth-child(4) svg,.main-features ul li:nth-child(5) svg{fill:#FFBE4A}}@media (min-width: 90em){.main-features ul li:nth-child(1),.main-features ul li:nth-child(3),.main-features ul li:nth-child(6){background-color:white}.main-features ul li:nth-child(1) svg,.main-features ul li:nth-child(3) svg,.main-features ul li:nth-child(6) svg{fill:#FFBE4A}}@media screen and (min-width: 101.25em){.main-features ul li{font-size:1.125rem}}.main-used-by{margin:2.5rem 0 2.5rem 0}@media screen and (min-width: 48em){.main-used-by{margin:5rem 0 5rem 0}}.main-used-by ul{margin-top:1.25rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;gap:2.5rem;list-style:none;padding:0}.main-used-by ul li{padding:0}.main-used-by ul li img{width:auto;height:80px}.main-background{max-width:45rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start}.main-background>*+*{margin-top:1.7rem} /*# sourceMappingURL=advanced.min.css.map */ \ No newline at end of file diff --git a/web/dist/assets/styles/advanced.min.css.map b/web/dist/assets/styles/advanced.min.css.map index 3d1cc04..eddb75f 100644 --- a/web/dist/assets/styles/advanced.min.css.map +++ b/web/dist/assets/styles/advanced.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../apollo/assets/styles/sass/10-settings/_fonts.scss","../../../../apollo/assets/styles/sass/60-components/_footer.scss","../../../../apollo/assets/styles/sass/30-mixins/_media-query.scss","../../../../apollo/assets/styles/sass/20-functions/_units.scss","../../../../apollo/assets/styles/sass/60-components/_header.scss","../../../../apollo/assets/styles/sass/10-settings/_colors.scss","../../../../apollo/assets/styles/sass/60-components/_main.scss","../../../../apollo/assets/styles/sass/30-mixins/_stack.scss"],"names":[],"mappings":"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","file":"advanced.min.css"} \ No newline at end of file +{"version":3,"sources":["../../../../apollo/assets/styles/sass/10-settings/_fonts.scss","../../../../apollo/assets/styles/sass/60-components/_footer.scss","../../../../apollo/assets/styles/sass/30-mixins/_media-query.scss","../../../../apollo/assets/styles/sass/20-functions/_units.scss","../../../../apollo/assets/styles/sass/60-components/_header.scss","../../../../apollo/assets/styles/sass/10-settings/_colors.scss","../../../../apollo/assets/styles/sass/60-components/_main.scss","../../../../apollo/assets/styles/sass/30-mixins/_stack.scss"],"names":[],"mappings":"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","file":"advanced.min.css"} \ No newline at end of file diff --git a/web/dist/assets/styles/core.css b/web/dist/assets/styles/core.css index 6bfce2c..5c518b6 100644 --- a/web/dist/assets/styles/core.css +++ b/web/dist/assets/styles/core.css @@ -658,9 +658,9 @@ a:not([class]) { text-decoration-skip-ink: auto; transition: all ease-in-out 0.2s; } a:not([class]):visited { - color: #756799; } + color: #1A1C1B; } a:not([class]):hover, a:not([class]):active { - color: #1A1C1B; + color: #7342EC; outline-width: 0; /* 2 */ text-decoration: none; } diff --git a/web/dist/assets/styles/core.min.css b/web/dist/assets/styles/core.min.css index 89afa32..37794ff 100644 --- a/web/dist/assets/styles/core.min.css +++ b/web/dist/assets/styles/core.min.css @@ -1,2 +1,2 @@ -@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:400;src:local("Amiko Regular"),local("Amiko-Regular"),url("../fonts/Amiko-Regular-webfont.woff2") format("woff2"),url("../fonts/Amiko-Regular-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:600;src:local("Amiko Semi Bold"),local("Amiko-Semi-Bold"),url("../fonts/Amiko-SemiBold-webfont.woff2") format("woff2"),url("../fonts/Amiko-SemiBold-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:700;src:local("Amiko Bold"),local("Amiko-Bold"),url("../fonts/Amiko-Bold-webfont.woff2") format("woff2"),url("../fonts/Amiko-Bold-webfont.woff") format("woff")}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){*{animation-play-state:paused !important;scroll-behavior:auto !important;transition:none !important}}.bg--alert{background-color:#ff4136;color:#000}.bg--success{background-color:#2ecc40;color:#000}.bg--warning{background-color:#ffdc00;color:#000}html{height:100%}body{background:#f5f5f5;color:#1A1C1B;display:-ms-grid;display:grid;-ms-grid-columns:100%;grid-template-columns:100%;-ms-grid-rows:1fr auto;grid-template-rows:1fr auto;min-height:100%;overflow-x:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{background-color:inherit;box-sizing:border-box;font-family:inherit;color:inherit;margin:0;overflow-wrap:break-word;padding:0}:focus{outline:.20354rem solid #7342EC;outline-offset:.20354rem}main:focus,#main:focus,[tabindex='-1']:focus{outline:none}[hidden]{display:none !important}.visuallyhidden:not(:focus):not(:active),.skip-link:not(:focus):not(:active){border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[hidden]+*,.hidden+*,.visuallyhidden+*,.skip-link+*{margin-top:0 !important}br{margin-top:0}img{height:auto;width:100%}b,strong,.strong{font-weight:600}em,i{font-style:italic}small,.small,.small-caps{font-size:0.8em;letter-spacing:0.03em}.small-caps{text-shadow:0 0 0 #222;text-transform:uppercase}code{background-color:#001f3f;color:#2ecc40;font-family:Monaco,"Lucida Console",monospace;padding-left:.20354rem;padding-right:.20354rem}a:not([class]){border:0;color:#7342EC;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-skip-ink:auto;transition:all ease-in-out 0.2s}a:not([class]):visited{color:#756799}a:not([class]):hover,a:not([class]):active{color:#1A1C1B;outline-width:0;text-decoration:none}nav ul,ol[class],ul[class]{list-style:none;padding-left:0}ul:not([class]),ol:not([class]){padding-left:1.875em}ul:not([class]) li,ol:not([class]) li{padding-left:1em}ul:not([class]) ul,ul:not([class]) ol,ol:not([class]) ul,ol:not([class]) ol{padding-left:1em}ul:not([class])>*+*,ul:not([class]) li ul,ul:not([class]) li ol,ol:not([class])>*+*,ol:not([class]) li ul,ol:not([class]) li ol{margin-top:0.5em}ol:not([class]){list-style-type:none}ol:not([class])>li{column-break-inside:avoid;counter-increment:orderedList;display:block;position:relative}ol:not([class])>li:before{content:counters(orderedList, ".");display:block;font-weight:500;left:-0.8em;position:absolute;top:0}ol:not([class])>li:first-child{counter-reset:orderedList}ol:not([class])>li ol li{padding-left:1.75em}.clean-list li{display:block}.inline-list li{display:inline-block;margin-bottom:0.5em;margin-right:1.5em;margin-top:0}.inline-list li:last-child{margin-bottom:0;margin-right:0}dl dd+dt{margin-top:0.5em}dl dt+dd,dl dd+dd{margin-top:0.25em}.skip-link{background-color:#FF5A5E;font-weight:700;text-decoration:none;padding:.625em .9375em}.skip-link:focus,.skip-link:active{left:0;position:absolute;top:0;z-index:999;outline:none}table{background-color:transparent;border-collapse:collapse;width:100%}th{border:.11973rem solid;padding:0.75rem;text-align:left;text-align:start}td{border:.11973rem solid;padding:0.75rem}table caption{padding-bottom:1rem;text-align:left;text-align:start}@media screen{.table-wrap{background-attachment:local, local, scroll, scroll;background-color:inherit;background-image:linear-gradient(90deg, #fafafa, transparent),linear-gradient(270deg, #fafafa, transparent),linear-gradient(90deg, rgba(195,195,197,0.5), transparent),linear-gradient(270deg, rgba(195,195,197,0.5), transparent);background-position:0 0, 100% 0, 0 0, 100% 0;background-repeat:no-repeat;background-size:4em 100%, 4em 100%, 2em 100%, 2em 100%;overflow-x:auto;padding-left:.11973rem}}@media screen{.js-sticky th{background-clip:padding-box;background-color:#fafafa;position:-webkit-sticky;position:sticky;top:0}.js-sticky th::after{background-color:#222;bottom:0;content:'';height:.05987rem;left:0;position:absolute;width:100%}}body{font-family:Geneva,"Segoe UI",sans-serif;font-size:1.125rem;font-style:normal;font-weight:400;line-height:1.7}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:Geneva,"Segoe UI",sans-serif;font-size:1.25rem;font-style:normal;font-weight:700;line-height:1.2;margin:0}.fonts-loaded body{font-family:"amiko-webfont"}.fonts-loaded h1,.fonts-loaded h2,.fonts-loaded h3,.fonts-loaded h4,.fonts-loaded h5,.fonts-loaded h6,.fonts-loaded .h1,.fonts-loaded .h2,.fonts-loaded .h3,.fonts-loaded .h4,.fonts-loaded .h5,.fonts-loaded .h6{font-family:"amiko-webfont"}h1,.h1{font-size:2.5rem}h2,.h2{font-size:1.5rem}h3,.h3{font-size:1.953rem}h4,.h4{font-size:1.563rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem;line-height:1.7}@media print{*,*:before,*:after,p:first-line,div:first-line,blockquote:first-line,li:first-line{background:transparent !important;box-shadow:none !important;color:#000 !important;overflow:visible !important;position:static !important;text-shadow:none !important}body,.lazy,.lazyload{display:block !important}.js-object-fit,.responsive-wrapper,picture{padding:0 !important}.js-object-fit img,.responsive-wrapper img,picture img{display:block !important;height:auto !important;width:100% !important}li,.js-object-fit,.responsive-wrapper,picture,figure,img{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.l-sidebar>div{display:block !important}.js-carousel>*{display:block !important}.js-carousel ul.carousel-controls{display:none !important}.js-carousel ul.clean-list li+li{margin-top:1cm !important}.component--collapsibles [hidden]{display:block !important}.skip-to-content,#cookie-banner,nav,.component--video,.global-footer{display:none !important}}.u-float-left{float:left;float:inline-start}.u-float-right{float:right;float:inline-end}.u-text-center{text-align:center}.u-text-left{text-align:left;text-align:start}.u-text-right{text-align:right;text-align:end}@media screen and (min-width: 80em){.u-text-left-from-lap{text-align:left;text-align:start}}@media screen and (min-width: 80em){.u-text-center-from-lap{text-align:center}}@media screen and (min-width: 80em){.u-text-right-from-lap{text-align:right;text-align:end}}.u-full-width{left:50%;margin-left:-50vw;margin-right:-50vw;position:relative;right:50%;width:100vw}.u-center{margin-left:auto;margin-right:auto;position:relative} +@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:400;src:local("Amiko Regular"),local("Amiko-Regular"),url("../fonts/Amiko-Regular-webfont.woff2") format("woff2"),url("../fonts/Amiko-Regular-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:600;src:local("Amiko Semi Bold"),local("Amiko-Semi-Bold"),url("../fonts/Amiko-SemiBold-webfont.woff2") format("woff2"),url("../fonts/Amiko-SemiBold-webfont.woff") format("woff")}@font-face{font-family:'amiko-webfont';font-style:normal;font-weight:700;src:local("Amiko Bold"),local("Amiko-Bold"),url("../fonts/Amiko-Bold-webfont.woff2") format("woff2"),url("../fonts/Amiko-Bold-webfont.woff") format("woff")}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){*{animation-play-state:paused !important;scroll-behavior:auto !important;transition:none !important}}.bg--alert{background-color:#ff4136;color:#000}.bg--success{background-color:#2ecc40;color:#000}.bg--warning{background-color:#ffdc00;color:#000}html{height:100%}body{background:#f5f5f5;color:#1A1C1B;display:-ms-grid;display:grid;-ms-grid-columns:100%;grid-template-columns:100%;-ms-grid-rows:1fr auto;grid-template-rows:1fr auto;min-height:100%;overflow-x:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{background-color:inherit;box-sizing:border-box;font-family:inherit;color:inherit;margin:0;overflow-wrap:break-word;padding:0}:focus{outline:.20354rem solid #7342EC;outline-offset:.20354rem}main:focus,#main:focus,[tabindex='-1']:focus{outline:none}[hidden]{display:none !important}.visuallyhidden:not(:focus):not(:active),.skip-link:not(:focus):not(:active){border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[hidden]+*,.hidden+*,.visuallyhidden+*,.skip-link+*{margin-top:0 !important}br{margin-top:0}img{height:auto;width:100%}b,strong,.strong{font-weight:600}em,i{font-style:italic}small,.small,.small-caps{font-size:0.8em;letter-spacing:0.03em}.small-caps{text-shadow:0 0 0 #222;text-transform:uppercase}code{background-color:#001f3f;color:#2ecc40;font-family:Monaco,"Lucida Console",monospace;padding-left:.20354rem;padding-right:.20354rem}a:not([class]){border:0;color:#7342EC;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-skip-ink:auto;transition:all ease-in-out 0.2s}a:not([class]):visited{color:#1A1C1B}a:not([class]):hover,a:not([class]):active{color:#7342EC;outline-width:0;text-decoration:none}nav ul,ol[class],ul[class]{list-style:none;padding-left:0}ul:not([class]),ol:not([class]){padding-left:1.875em}ul:not([class]) li,ol:not([class]) li{padding-left:1em}ul:not([class]) ul,ul:not([class]) ol,ol:not([class]) ul,ol:not([class]) ol{padding-left:1em}ul:not([class])>*+*,ul:not([class]) li ul,ul:not([class]) li ol,ol:not([class])>*+*,ol:not([class]) li ul,ol:not([class]) li ol{margin-top:0.5em}ol:not([class]){list-style-type:none}ol:not([class])>li{column-break-inside:avoid;counter-increment:orderedList;display:block;position:relative}ol:not([class])>li:before{content:counters(orderedList, ".");display:block;font-weight:500;left:-0.8em;position:absolute;top:0}ol:not([class])>li:first-child{counter-reset:orderedList}ol:not([class])>li ol li{padding-left:1.75em}.clean-list li{display:block}.inline-list li{display:inline-block;margin-bottom:0.5em;margin-right:1.5em;margin-top:0}.inline-list li:last-child{margin-bottom:0;margin-right:0}dl dd+dt{margin-top:0.5em}dl dt+dd,dl dd+dd{margin-top:0.25em}.skip-link{background-color:#FF5A5E;font-weight:700;text-decoration:none;padding:.625em .9375em}.skip-link:focus,.skip-link:active{left:0;position:absolute;top:0;z-index:999;outline:none}table{background-color:transparent;border-collapse:collapse;width:100%}th{border:.11973rem solid;padding:0.75rem;text-align:left;text-align:start}td{border:.11973rem solid;padding:0.75rem}table caption{padding-bottom:1rem;text-align:left;text-align:start}@media screen{.table-wrap{background-attachment:local, local, scroll, scroll;background-color:inherit;background-image:linear-gradient(90deg, #fafafa, transparent),linear-gradient(270deg, #fafafa, transparent),linear-gradient(90deg, rgba(195,195,197,0.5), transparent),linear-gradient(270deg, rgba(195,195,197,0.5), transparent);background-position:0 0, 100% 0, 0 0, 100% 0;background-repeat:no-repeat;background-size:4em 100%, 4em 100%, 2em 100%, 2em 100%;overflow-x:auto;padding-left:.11973rem}}@media screen{.js-sticky th{background-clip:padding-box;background-color:#fafafa;position:-webkit-sticky;position:sticky;top:0}.js-sticky th::after{background-color:#222;bottom:0;content:'';height:.05987rem;left:0;position:absolute;width:100%}}body{font-family:Geneva,"Segoe UI",sans-serif;font-size:1.125rem;font-style:normal;font-weight:400;line-height:1.7}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:Geneva,"Segoe UI",sans-serif;font-size:1.25rem;font-style:normal;font-weight:700;line-height:1.2;margin:0}.fonts-loaded body{font-family:"amiko-webfont"}.fonts-loaded h1,.fonts-loaded h2,.fonts-loaded h3,.fonts-loaded h4,.fonts-loaded h5,.fonts-loaded h6,.fonts-loaded .h1,.fonts-loaded .h2,.fonts-loaded .h3,.fonts-loaded .h4,.fonts-loaded .h5,.fonts-loaded .h6{font-family:"amiko-webfont"}h1,.h1{font-size:2.5rem}h2,.h2{font-size:1.5rem}h3,.h3{font-size:1.953rem}h4,.h4{font-size:1.563rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem;line-height:1.7}@media print{*,*:before,*:after,p:first-line,div:first-line,blockquote:first-line,li:first-line{background:transparent !important;box-shadow:none !important;color:#000 !important;overflow:visible !important;position:static !important;text-shadow:none !important}body,.lazy,.lazyload{display:block !important}.js-object-fit,.responsive-wrapper,picture{padding:0 !important}.js-object-fit img,.responsive-wrapper img,picture img{display:block !important;height:auto !important;width:100% !important}li,.js-object-fit,.responsive-wrapper,picture,figure,img{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.l-sidebar>div{display:block !important}.js-carousel>*{display:block !important}.js-carousel ul.carousel-controls{display:none !important}.js-carousel ul.clean-list li+li{margin-top:1cm !important}.component--collapsibles [hidden]{display:block !important}.skip-to-content,#cookie-banner,nav,.component--video,.global-footer{display:none !important}}.u-float-left{float:left;float:inline-start}.u-float-right{float:right;float:inline-end}.u-text-center{text-align:center}.u-text-left{text-align:left;text-align:start}.u-text-right{text-align:right;text-align:end}@media screen and (min-width: 80em){.u-text-left-from-lap{text-align:left;text-align:start}}@media screen and (min-width: 80em){.u-text-center-from-lap{text-align:center}}@media screen and (min-width: 80em){.u-text-right-from-lap{text-align:right;text-align:end}}.u-full-width{left:50%;margin-left:-50vw;margin-right:-50vw;position:relative;right:50%;width:100vw}.u-center{margin-left:auto;margin-right:auto;position:relative} /*# sourceMappingURL=core.min.css.map */ \ No newline at end of file diff --git a/web/dist/assets/styles/core.min.css.map b/web/dist/assets/styles/core.min.css.map index 6c6d293..49315a6 100644 --- a/web/dist/assets/styles/core.min.css.map +++ b/web/dist/assets/styles/core.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../apollo/assets/styles/sass/10-settings/_fonts.scss","../../../../node_modules/normalize.css/normalize.css","../../../../apollo/assets/styles/sass/40-base/_animation.scss","../../../../apollo/assets/styles/sass/40-base/_bg-color.scss","../../../../apollo/assets/styles/sass/10-settings/_colors.scss","../../../../apollo/assets/styles/sass/40-base/_body.scss","../../../../apollo/assets/styles/sass/40-base/_box-sizing.scss","../../../../apollo/assets/styles/sass/40-base/_focus.scss","../../../../apollo/assets/styles/sass/10-settings/_sizes.scss","../../../../apollo/assets/styles/sass/40-base/_hide-and-show.scss","../../../../apollo/assets/styles/sass/40-base/_images.scss","../../../../apollo/assets/styles/sass/40-base/_inline-elements.scss","../../../../apollo/assets/styles/sass/10-settings/_typesetting.scss","../../../../apollo/assets/styles/sass/30-mixins/_font-sizes.scss","../../../../apollo/assets/styles/sass/40-base/_links.scss","../../../../apollo/assets/styles/sass/40-base/_lists.scss","../../../../apollo/assets/styles/sass/40-base/_skip-link.scss","../../../../apollo/assets/styles/sass/20-functions/_units.scss","../../../../apollo/assets/styles/sass/40-base/_tables.scss","../../../../apollo/assets/styles/sass/40-base/_typography.scss","../../../../apollo/assets/styles/sass/40-base/_print.scss","../../../../apollo/assets/styles/sass/90-utilities/_alignments.scss","../../../../apollo/assets/styles/sass/30-mixins/_media-query.scss","../../../../apollo/assets/styles/sass/90-utilities/_layout.scss"],"names":[],"mappings":"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","file":"core.min.css"} \ No newline at end of file +{"version":3,"sources":["../../../../apollo/assets/styles/sass/10-settings/_fonts.scss","../../../../node_modules/normalize.css/normalize.css","../../../../apollo/assets/styles/sass/40-base/_animation.scss","../../../../apollo/assets/styles/sass/40-base/_bg-color.scss","../../../../apollo/assets/styles/sass/10-settings/_colors.scss","../../../../apollo/assets/styles/sass/40-base/_body.scss","../../../../apollo/assets/styles/sass/40-base/_box-sizing.scss","../../../../apollo/assets/styles/sass/40-base/_focus.scss","../../../../apollo/assets/styles/sass/10-settings/_sizes.scss","../../../../apollo/assets/styles/sass/40-base/_hide-and-show.scss","../../../../apollo/assets/styles/sass/40-base/_images.scss","../../../../apollo/assets/styles/sass/40-base/_inline-elements.scss","../../../../apollo/assets/styles/sass/10-settings/_typesetting.scss","../../../../apollo/assets/styles/sass/30-mixins/_font-sizes.scss","../../../../apollo/assets/styles/sass/40-base/_links.scss","../../../../apollo/assets/styles/sass/40-base/_lists.scss","../../../../apollo/assets/styles/sass/40-base/_skip-link.scss","../../../../apollo/assets/styles/sass/20-functions/_units.scss","../../../../apollo/assets/styles/sass/40-base/_tables.scss","../../../../apollo/assets/styles/sass/40-base/_typography.scss","../../../../apollo/assets/styles/sass/40-base/_print.scss","../../../../apollo/assets/styles/sass/90-utilities/_alignments.scss","../../../../apollo/assets/styles/sass/30-mixins/_media-query.scss","../../../../apollo/assets/styles/sass/90-utilities/_layout.scss"],"names":[],"mappings":"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","file":"core.min.css"} \ No newline at end of file From 9e66ab61e2ae62bcb0def7094a988e9298ab0a84 Mon Sep 17 00:00:00 2001 From: Isaac Lowe Date: Wed, 3 Jan 2024 17:08:02 +0000 Subject: [PATCH 8/9] Fixed broken link to docs and removed F&F logo. --- web/index.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web/index.html b/web/index.html index 6eb79a1..b3e2ec9 100644 --- a/web/index.html +++ b/web/index.html @@ -64,7 +64,7 @@

Deliver fast, accessible user experiences on the modern web

Strata is a set of tools to help to build front-end websites that display content from headless CMSs and other data sources. It's the front of headless CMS.

Store your content where you want and bring it all together with Strata. Built on top of web standards, it starts with a layer of server-rendered HTML, which can be cached and delivered to all users efficiently. JavaScript can then be layered on top of this base web experience, using progressive enhancement.

Strata is well suited to content-based sites, or those which deliver content alongside personalisation and other dynamic features. By starting with HTML, leveraging caching, and ensuring web standards are followed it's simpler to deliver accessible, modern web experiences.

- +
@@ -72,7 +72,6 @@

Strata is used by

  • Crown Commercial Service
  • The World Wide Web Consortium (W3C)
  • -
  • Fauna & Flora International
From 5057d4141c5b2c754f98055d89d963bde99b9e6c Mon Sep 17 00:00:00 2001 From: Sean Dunwoody Date: Wed, 3 Jan 2024 17:30:32 +0000 Subject: [PATCH 9/9] Install the S24 deployer recipes --- composer.json | 2 +- composer.lock | 179 +++++++++++++++++--------------------------------- 2 files changed, 60 insertions(+), 121 deletions(-) diff --git a/composer.json b/composer.json index 7e8974b..30b4fca 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "type": "project", "require-dev": { "overtrue/phplint": "^2.3", - "studio24/deployer-recipes": "^1.0", + "studio24/deployer-recipes": "^1.1", "squizlabs/php_codesniffer": "^3.5" } } diff --git a/composer.lock b/composer.lock index 658fde5..0834431 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "75e13e8baaf4802b2d615db0d88eacc1", + "content-hash": "fe53fdcffa930daa30880c17e7d4e46b", "packages": [], "packages-dev": [ { @@ -37,13 +37,13 @@ ], "type": "library", "autoload": { - "psr-4": { - "Deployer\\": "src/" - }, "files": [ "src/Support/helpers.php", "src/functions.php" - ] + ], + "psr-4": { + "Deployer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -57,11 +57,6 @@ ], "description": "Deployment Tool", "homepage": "https://deployer.org", - "support": { - "docs": "https://deployer.org/docs", - "issues": "https://github.com/deployphp/deployer/issues", - "source": "https://github.com/deployphp/deployer" - }, "funding": [ { "url": "https://github.com/antonmedv", @@ -100,9 +95,9 @@ "type": "library", "autoload": { "psr-4": { - "Deployer\\Component\\PharUpdate\\": "src/", "Deployer\\Component\\PHPUnit\\": "src/PHPUnit/", - "Deployer\\Component\\Version\\": "src/Version/" + "Deployer\\Component\\Version\\": "src/Version/", + "Deployer\\Component\\PharUpdate\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -128,10 +123,6 @@ "phar", "update" ], - "support": { - "issues": "https://github.com/deployphp/phar-update/issues", - "source": "https://github.com/deployphp/phar-update/tree/v2.2.0" - }, "abandoned": true, "time": "2019-12-12T13:45:57+00:00" }, @@ -169,10 +160,6 @@ } ], "description": "JUnit XML Document generation library", - "support": { - "issues": "https://github.com/cmuench/junit-xml/issues", - "source": "https://github.com/cmuench/junit-xml/tree/master" - }, "time": "2013-11-23T13:11:26+00:00" }, { @@ -239,10 +226,6 @@ "phplint", "syntax" ], - "support": { - "issues": "https://github.com/overtrue/phplint/issues", - "source": "https://github.com/overtrue/phplint/tree/2.3.5" - }, "time": "2020-12-11T17:27:13+00:00" }, { @@ -293,9 +276,6 @@ "container", "dependency injection" ], - "support": { - "source": "https://github.com/silexphp/Pimple/tree/v3.4.0" - }, "time": "2021-03-06T08:28:00+00:00" }, { @@ -340,10 +320,6 @@ "container-interop", "psr" ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" - }, "time": "2021-03-05T17:36:06+00:00" }, { @@ -391,9 +367,6 @@ "psr", "psr-3" ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" - }, "time": "2020-03-23T09:12:05+00:00" }, { @@ -401,12 +374,12 @@ "version": "3.5.8", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", "reference": "9d583721a7157ee997f235f327de038e7ea6dac4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", "reference": "9d583721a7157ee997f235f327de038e7ea6dac4", "shasum": "" }, @@ -445,25 +418,34 @@ "phpcs", "standards" ], - "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" - }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], "time": "2020-10-23T02:01:07+00:00" }, { "name": "studio24/deployer-recipes", - "version": "v1.0.2", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/studio24/deployer-recipes.git", - "reference": "2d9d7519f9c19bb4a4e587f546cd7a457ad203e7" + "reference": "52b105ce10c0aa61d6569eff8f3fc74a08e86799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/studio24/deployer-recipes/zipball/2d9d7519f9c19bb4a4e587f546cd7a457ad203e7", - "reference": "2d9d7519f9c19bb4a4e587f546cd7a457ad203e7", + "url": "https://api.github.com/repos/studio24/deployer-recipes/zipball/52b105ce10c0aa61d6569eff8f3fc74a08e86799", + "reference": "52b105ce10c0aa61d6569eff8f3fc74a08e86799", "shasum": "" }, "require": { @@ -474,9 +456,15 @@ }, "require-dev": { "overtrue/phplint": "^2.3", + "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", + "autoload": { + "psr-4": { + "Studio24\\Deployer\\": "src/" + } + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -493,11 +481,7 @@ ], "description": "Deployer recipes to aid deployment", "homepage": "https://github.com/studio24/deployer-recipes", - "support": { - "issues": "https://github.com/studio24/deployer-recipes/issues", - "source": "https://github.com/studio24/deployer-recipes/tree/v1.0.2" - }, - "time": "2021-03-29T15:41:51+00:00" + "time": "2023-03-31T12:02:41+00:00" }, { "name": "symfony/console", @@ -577,9 +561,6 @@ "console", "terminal" ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.2.6" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -644,9 +625,6 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -705,9 +683,6 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -791,9 +766,6 @@ ], "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-client/tree/v5.2.6" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -870,9 +842,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -920,12 +889,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -949,9 +918,6 @@ "polyfill", "portable" ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -999,12 +965,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1030,9 +996,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1080,12 +1043,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -1114,9 +1077,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1164,12 +1124,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1194,9 +1154,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1241,12 +1198,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -1273,9 +1230,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1320,12 +1274,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -1356,9 +1310,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1418,9 +1369,6 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1497,9 +1445,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1546,12 +1491,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, "files": [ "Resources/functions.php" ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, "exclude-from-classmap": [ "/Tests/" ] @@ -1580,9 +1525,6 @@ "utf-8", "utf8" ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.2.6" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1655,9 +1597,6 @@ ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1682,5 +1621,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.0.0" + "plugin-api-version": "1.1.0" }
+ +
+ Header content goes here +
+ + +
+

An HTML Boilerplate for your webpages

+

The documentation for the Studio 24 HTML Boilerplate

+
+ + +