diff --git a/src/Funnel1.vue b/src/Funnel1.vue
index 51231af84..d01e9de61 100644
--- a/src/Funnel1.vue
+++ b/src/Funnel1.vue
@@ -37,6 +37,27 @@
ariaLabel="Back glass"
/>
+
+
+
@@ -45,6 +66,8 @@
import vehicleImage from './components/vehicleImage';
import imageButton from './components/imageButton';
import confetti from './components/confetti';
+ import buttonPrimary from './components/buttons/buttonPrimary';
+ import buttonPrimaryFocus from './components/buttons/buttonPrimaryFocus';
export default {
@@ -53,7 +76,9 @@
buttonFunnel,
vehicleImage,
imageButton,
- confetti
+ confetti,
+ buttonPrimary,
+ buttonPrimaryFocus
}
}
diff --git a/src/assets/img/icons/button-spinner.svg b/src/assets/img/icons/button-spinner.svg
new file mode 100644
index 000000000..0cc8b58cc
--- /dev/null
+++ b/src/assets/img/icons/button-spinner.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/scss/_CustomVariables.scss b/src/assets/scss/_CustomVariables.scss
index 005dbddff..85c3bcb8f 100644
--- a/src/assets/scss/_CustomVariables.scss
+++ b/src/assets/scss/_CustomVariables.scss
@@ -24,6 +24,7 @@ $grays: (
$blue-200: #E7F1F6;
$blue-300: #B9D7E6;
$blue-400: #125B7E;
+$blue-700: #06577C;
$blue: #167CAC;//Default Blue (Blue 500)
$indigo: #6610f2;
$purple: #6f42c1;
@@ -95,3 +96,9 @@ $font-family-code: $font-family-monospace;
//Gutters
$grid-gutter-width: .75rem;
+
+//Border Radius
+$border-radius: .25rem;
+$border-radius-sm: .2rem;
+$border-radius-lg: .5rem;//Used for buttons. Can be used for other things, of course.
+$border-radius-pill: 50rem;
diff --git a/src/assets/scss/components/_buttons.scss b/src/assets/scss/components/_buttons.scss
index a6238f36b..b1453d110 100644
--- a/src/assets/scss/components/_buttons.scss
+++ b/src/assets/scss/components/_buttons.scss
@@ -1,15 +1,44 @@
//Custom button styles
.btn {
- &.btn-secondary {
+ &.btn-primary,
+ &.btn-primary-focus {
+ position: relative;
+ background: $blue-700;
+ background: linear-gradient(270deg, rgba(21,116,161,1) 0%, rgba(18,91,126,1) 100%);
+ border: none;
+ border-radius: $border-radius-lg;
+ height: 48px;
+ color: $white;
+ transition: all 100ms linear;
+ &:hover {
+ background: linear-gradient(270deg, rgba(6,87,124,1) 0%, rgba(6,87,124,1) 100%);
+ }
+ &.button-loader {
+ padding: 0 48px 0 12px;
+ &:after {
+ content: url(../../assets/img/icons/button-spinner.svg);
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ margin-left: 12px;
+ animation: rotation 1s infinite linear;
+ @keyframes rotation {
+ 100% {
+ transform:rotate(360deg);
+ }
+ }
+ }
+ }
+ }
+ &.btn-primary-focus {
position: relative;//Required for :after pseduo to position correctly
margin: 5px;//Because :after is position absolute and isn't accounted for in DOM
- border-radius: 8px;//To match Figma border radius
- &:after {
+ &:before {
content: "";
position: absolute;
width: calc(100% + 12px);
height: calc(100% + 12px);
- border: 3px solid $secondary;
+ border: 3px solid $blue-700;
background-color: $white;
border-radius: 12px;
left: -6px;
diff --git a/src/components/buttons/buttonPrimary.vue b/src/components/buttons/buttonPrimary.vue
index 97bdcdf2d..53fb2ad65 100644
--- a/src/components/buttons/buttonPrimary.vue
+++ b/src/components/buttons/buttonPrimary.vue
@@ -1,3 +1,10 @@
-
+
+
+
diff --git a/src/components/buttons/buttonPrimaryFocus.vue b/src/components/buttons/buttonPrimaryFocus.vue
new file mode 100644
index 000000000..d2c89581c
--- /dev/null
+++ b/src/components/buttons/buttonPrimaryFocus.vue
@@ -0,0 +1,10 @@
+
+
+
+
+