+
+
+
+
+
+
+
diff --git a/bcrs-ui/src/assets/favicon.png b/bcrs-ui/src/assets/favicon.png
new file mode 100644
index 0000000..4d2ffb7
Binary files /dev/null and b/bcrs-ui/src/assets/favicon.png differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff
new file mode 100644
index 0000000..f2ecf16
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff2 b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff2
new file mode 100644
index 0000000..681df5b
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Bold.woff2 differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff b/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff
new file mode 100644
index 0000000..9a3353c
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff2 b/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff2
new file mode 100644
index 0000000..d230235
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-BoldItalic.woff2 differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff
new file mode 100644
index 0000000..fb061a3
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff2 b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff2
new file mode 100644
index 0000000..50baec2
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Italic.woff2 differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff
new file mode 100644
index 0000000..07f8f0b
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff2 b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff2
new file mode 100644
index 0000000..056d2cc
Binary files /dev/null and b/bcrs-ui/src/assets/fonts/BCSans/BCSans-Regular.woff2 differ
diff --git a/bcrs-ui/src/assets/fonts/BCSans/LICENSE_OFL.txt b/bcrs-ui/src/assets/fonts/BCSans/LICENSE_OFL.txt
new file mode 100644
index 0000000..1e5c88b
--- /dev/null
+++ b/bcrs-ui/src/assets/fonts/BCSans/LICENSE_OFL.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2015, Google Inc., copyright (c) 2019, Province of B.C. 2019
+
+This Font Software is licensed under the SIL Open Font License,
+Version 1.1.
+
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font
+creation efforts of academic and linguistic communities, and to
+provide a free and open framework in which fonts may be shared and
+improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply to
+any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to,
+deleting, or substituting -- in part or in whole -- any of the
+components of the Original Version, by changing formats or by porting
+the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed,
+modify, redistribute, and sell modified and unmodified copies of the
+Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in
+Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the
+corresponding Copyright Holder. This restriction only applies to the
+primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created using
+the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/bcrs-ui/src/assets/images/gov3_bc_logo.png b/bcrs-ui/src/assets/images/gov3_bc_logo.png
new file mode 100644
index 0000000..a788405
Binary files /dev/null and b/bcrs-ui/src/assets/images/gov3_bc_logo.png differ
diff --git a/bcrs-ui/src/assets/images/icons/file-pdf-outline.svg b/bcrs-ui/src/assets/images/icons/file-pdf-outline.svg
new file mode 100644
index 0000000..6cf9d81
--- /dev/null
+++ b/bcrs-ui/src/assets/images/icons/file-pdf-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bcrs-ui/src/assets/images/icons/pdf-box.svg b/bcrs-ui/src/assets/images/icons/pdf-box.svg
new file mode 100644
index 0000000..d5d0f95
--- /dev/null
+++ b/bcrs-ui/src/assets/images/icons/pdf-box.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bcrs-ui/src/assets/logo.png b/bcrs-ui/src/assets/logo.png
new file mode 100644
index 0000000..f3d2503
Binary files /dev/null and b/bcrs-ui/src/assets/logo.png differ
diff --git a/bcrs-ui/src/assets/styles/base.scss b/bcrs-ui/src/assets/styles/base.scss
new file mode 100644
index 0000000..98b40b0
--- /dev/null
+++ b/bcrs-ui/src/assets/styles/base.scss
@@ -0,0 +1,264 @@
+@import "theme.scss";
+
+@font-face {
+ font-family: 'BCSans';
+ font-style: normal;
+ font-weight: 400;
+ src: url('../fonts/BCSans/BCSans-Regular.woff2') format('woff2'), /* Optimized for very modern browsers */
+ url('../fonts/BCSans/BCSans-Regular.woff') format('woff'); /* Modern Browsers */
+}
+@font-face {
+ font-family: 'BCSans';
+ font-style: italic;
+ font-weight: 400;
+ src: url('../fonts/BCSans/BCSans-Italic.woff2') format('woff2'), /* Optimized for very modern browsers */
+ url('../fonts/BCSans/BCSans-Italic.woff') format('woff'); /* Modern Browsers */
+}
+@font-face {
+ font-family: 'BCSans';
+ font-style: normal;
+ font-weight: 700;
+ src: url('../fonts/BCSans/BCSans-Bold.woff2') format('woff2'), /* Modern Browsers */
+ url('../fonts/BCSans/BCSans-Bold.woff') format('woff'); /* Optimized for very modern browsers */
+}
+@font-face {
+ font-family: 'BCSans';
+ font-style: italic;
+ font-weight: 700;
+ src: url('../fonts/BCSans/BCSans-BoldItalic.woff2') format('woff2'), /* Modern Browsers */
+ url('../fonts/BCSans/BCSans-BoldItalic.woff') format('woff'); /* Optimized for very modern browsers */
+}
+
+html,
+body {
+ min-height: 100vh;
+}
+
+html {
+ // default font size (14px)
+ font-size: 0.875rem;
+}
+
+@media (min-width: 960px) {
+ html {
+ // default font size (16px)
+ font-size: 1rem;
+ }
+}
+
+body {
+ font-size: 1rem;
+}
+
+h1, h2, h3, h4 {
+ color: $gray9;
+}
+
+h1, h2, h3 {
+ letter-spacing: -0.04rem;
+ font-weight: 700;
+}
+
+h1 {
+ line-height: 2.25rem;
+ font-size: 2rem;
+}
+
+p {
+ font-weight: 400;
+}
+
+.v-application {
+ font-family: 'BCSans', Verdana, Arial, sans-serif; // BC Government Font
+}
+
+.theme--light.v-application {
+ color: $gray7;
+ background-color: $gray1;
+}
+
+.form-input {
+ display: flex;
+ border: 1px solid $gray5;
+ width: 10rem;
+
+ .prefix {
+ flex: 0 0 auto;
+ width: 2.5rem;
+ padding: 0.5rem;
+ background-color: $gray1;
+ border-right: 1px solid $gray5;
+ text-align: center;
+ }
+
+ input,
+ select {
+ padding-left: 0.5rem;
+ height: 36px;
+ }
+
+ input {
+ flex: 1 1 auto;
+ width: 100%;
+ }
+
+ select {
+ flex: 1 1 auto;
+ -webkit-appearance: menulist;
+ }
+}
+
+.no-wrap {
+ white-space: nowrap;
+}
+
+.pre-wrap {
+ white-space: pre-wrap;
+}
+
+.align-right {
+ text-align: right !important;
+}
+
+// Loading Indicator
+.loading-container {
+ display: flex;
+ align-items: center;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 999;
+ background: rgba(255, 255, 255, 1);
+}
+
+.loading__content {
+ margin-top: -2rem;
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.loading-msg {
+ margin-top: 1rem;
+ font-weight: 600;
+}
+
+.fade-out {
+ animation: fadeOut 2s forwards;
+}
+
+// styles for 'fade leave' transition
+// NB: 'fade enter' looks better without transition
+// .fade-enter-active,
+.fade-leave-active {
+ transition: opacity .5s;
+}
+// .fade-enter,
+.fade-leave-to {
+ opacity: 0;
+}
+
+@keyframes fadeOut {
+ 0% {
+ opacity: 1;
+ }
+ 80% {
+ opacity: 1;
+ display: block;
+ }
+ 100% {
+ opacity: 0;
+ display: none;
+ z-index: -5;
+ }
+}
+
+// Common
+ul.list {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+
+.list-item {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding: 1rem 1.25rem;
+ line-height: 1.25rem;
+}
+
+.list-item + .list-item {
+ border-top: 1px solid $gray3;
+}
+
+.list-item__icon {
+ margin-right: 0.5rem;
+}
+
+.list-item__title {
+ font-weight: 700;
+}
+
+.list-item__subtitle {
+ color: $gray6;
+}
+
+.list-item__actions {
+ flex: 0 0 auto;
+ margin-left: auto;
+
+ .v-btn {
+ margin: 0;
+ min-width: 8rem;
+ font-weight: 500;
+ }
+}
+
+// No Results
+.no-results {
+ text-align: center;
+}
+
+.no-results__title {
+ color: $gray8;
+ font-size: 1rem;
+ font-weight: 700;
+}
+
+.no-results__subtitle {
+ margin-top: 0.25rem;
+ color: $gray6;
+ font-size: 0.875rem;
+ font-weight: 500;
+}
+
+.gray6 {
+ color: $gray6;
+}
+
+.genErr {
+ font-size: 0.9rem;
+}
+
+.white-background {
+ background-color: white !important;
+}
+
+// Hides an element to all devices except screen readers
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+
+// Vue Affix
+.vue-affix {
+ width: 282px;
+}
diff --git a/bcrs-ui/src/assets/styles/layout.scss b/bcrs-ui/src/assets/styles/layout.scss
new file mode 100644
index 0000000..b19ac9a
--- /dev/null
+++ b/bcrs-ui/src/assets/styles/layout.scss
@@ -0,0 +1,74 @@
+.app-container {
+ display: flex;
+ flex-flow: column nowrap;
+ min-height: 100vh;
+}
+
+.app-header {
+ position: -webkit-sticky; // Safari
+ position: sticky;
+ top: 0;
+ width: 100%;
+ z-index: 2;
+}
+
+.app-body {
+ flex: 1 1 auto;
+ position: relative;
+}
+
+.app-container > .container:first-child {
+ padding: 2rem;
+}
+
+@media (min-width: 960px) {
+ main > .container:first-child {
+ padding-top: 3rem;
+ padding-bottom: 3rem;
+ }
+}
+
+.app-footer {
+ flex: 0 0 auto;
+}
+
+.container {
+ max-width: 1224px; // should match auth-web, etc
+}
+
+// Page Layout
+.view-container {
+ display: flex;
+ flex-flow: column nowrap;
+ padding-top: 2.5rem;
+ padding-bottom: 2.5rem;
+
+ article {
+ flex: 1 1 auto;
+
+ section {
+ margin-top: 2.25rem;
+ }
+ }
+}
+
+// Form Layout
+.form__row + .form__row {
+ margin-top: 0.25rem;
+}
+
+.form__btns {
+ display: flex;
+
+ .v-btn {
+ margin: 0;
+
+ + .v-btn {
+ margin-left: 0.5rem;
+ }
+
+ &.form-primary-btn {
+ margin-left: auto;
+ }
+ }
+}
diff --git a/bcrs-ui/src/assets/styles/overrides.scss b/bcrs-ui/src/assets/styles/overrides.scss
new file mode 100644
index 0000000..090a011
--- /dev/null
+++ b/bcrs-ui/src/assets/styles/overrides.scss
@@ -0,0 +1,64 @@
+// Vuetify Overrides
+@import "theme.scss";
+
+// Buttons
+.v-btn {
+ min-width: 0;
+ text-transform: none;
+ font-weight: 500;
+ letter-spacing: normal;
+
+ .v-icon + span,
+ span + .v-icon {
+ margin-left: 0.25rem;
+ }
+}
+
+// Text Inputs
+.v-text-field--box .v-label--active,
+.v-text-field--full-width .v-label--active,
+.v-text-field--outline .v-label--active {
+ transform: translateY(-8px) scale(0.75);
+}
+
+// Dialogs
+.v-dialog {
+ margin: 2rem;
+
+ .v-card {
+ .v-card__title {
+ padding: 1.25rem 1.5rem;
+ color: $BCgovFontColorInverted;
+ background: $BCgovBlue5;
+ font-size: 1.5em;
+ font-weight: 400;
+ }
+
+ .v-card__text {
+ padding: 1.5rem !important;
+ font-weight: 300;
+ }
+
+ .v-card__actions {
+ padding: 1rem;
+ }
+ }
+}
+
+// Expansion Panels
+.v-expansion-panel:before {
+ box-shadow: none;
+}
+
+.v-expansion-panel.align-items-top {
+ .v-expansion-panel-header__icon {
+ align-self: flex-start;
+ margin-top: 0;
+ }
+}
+
+.v-expansion-panel-header.no-dropdown {
+ .v-expansion-panel-header__icon{
+ display: none;
+ }
+}
diff --git a/bcrs-ui/src/assets/styles/theme.scss b/bcrs-ui/src/assets/styles/theme.scss
new file mode 100644
index 0000000..90758f5
--- /dev/null
+++ b/bcrs-ui/src/assets/styles/theme.scss
@@ -0,0 +1,56 @@
+// Gray Palette
+$gray0: #f8f9fa;
+$gray1: #f1f3f5;
+$gray2: #e9ecef;
+$gray3: #dee2e6;
+$gray4: #ced4da;
+$gray5: #adb5bd;
+$gray6: #868e96;
+$gray7: #495057;
+$gray8: #343a40;
+$gray9: #212529;
+
+// BC GOV BLUE PALETTE
+$BCgovBlue0: #e0e7ed;
+$BCgovBlue1: #b3c2d1;
+$BCgovBlue2: #8099b3;
+$BCgovBlue3: #4d7094;
+$BCgovBlue4: #26527d;
+$BCgovBlue5: #003366; // PRIMARY BLUE
+$BCgovBlue6: #002e5e;
+$BCgovBlue7: #002753;
+$BCgovBlue8: #002049;
+$BCgovBlue9: #001438;
+
+// Accent Blue
+$BCgovABlue1: #6e93ff;
+$BCgovABlue2: #3b6cff;
+$BCgovABlue3: #0846ff;
+$BCgovABlue4: #003bee;
+
+// BC GOV GOLD PALETTE
+$BCgovGold0: #fff7e3;
+$BCgovGold1: #feeaba;
+$BCgovGold2: #fedd8c;
+$BCgovGold3: #fdcf5e;
+$BCgovGold4: #fcc43c;
+$BCgovGold5: #fcba19; // PRIMARY GOLD
+$BCgovGold6: #fcb316;
+$BCgovGold7: #fbab12;
+$BCgovGold8: #fba30e;
+$BCgovGold9: #fa9408;
+
+// Accent Gold
+$BCgovAGold1: #ffffff;
+$BCgovAGold2: #fff8ef;
+$BCgovAGold3: #ffe0bc;
+$BCgovAGold4: #ffd4a2;
+
+// Error Colors
+$BCgovInputError: #ff5252;
+
+// Form Inputs
+$BCgovInputBG: #ffffff;
+
+// Font Colors
+$BCgovFontColorInverted: #ffffff;
diff --git a/bcrs-ui/src/components/Home/HelloWorld.vue b/bcrs-ui/src/components/Home/HelloWorld.vue
new file mode 100644
index 0000000..750f901
--- /dev/null
+++ b/bcrs-ui/src/components/Home/HelloWorld.vue
@@ -0,0 +1,62 @@
+
+
+
{{ msg }}
+
+ For a guide and recipes on how to configure / customize this project,
+ check out the
+ vue-cli documentation.
+