diff --git a/content/.vuepress/components/EmailSubscribe.vue b/content/.vuepress/components/EmailSubscribe.vue index 7c28627..6494b99 100644 --- a/content/.vuepress/components/EmailSubscribe.vue +++ b/content/.vuepress/components/EmailSubscribe.vue @@ -1,9 +1,11 @@ @@ -24,7 +26,7 @@ export default { this.message = 'Your email is not valid!'; } else { this.$http.post('//api.lbry.io/list/subscribe', { - email: this.emailAddress, + email: this.emailAddress, tag: 'developer' }, { emulateJSON: true @@ -47,24 +49,84 @@ export default { \ No newline at end of file + > div:first-of-type { + margin-right: auto; + margin-left: auto; + width: 500px; + } + + &::after { + @include clearfix; + } + } + + .newsletter-cta__title { + font-size: 0.8rem; + letter-spacing: 0.05rem; + margin-bottom: 0.75rem; + text-transform: uppercase; + } + + .newsletter-cta__input, + .newsletter-cta__submit { + @extend .__button-padding-horizontal; + border-style: solid; + border-width: 1px; + } + + .newsletter-cta__input { + width: calc(100% - 112px); height: 38px; + + background-color: $white; + float: left; + transition: border 0.2s; + + &:not(:focus) { + border-top-color: $black; + border-right-color: transparent; + border-bottom-color: $black; + border-left-color: $black; + } + + &:focus { + border-top-color: mix($black, $teal, 20%); + border-right-color: transparent; + border-bottom-color: mix($black, $teal, 20%); + border-left-color: mix($black, $teal, 20%); + } + } + + .newsletter-cta__submit { + @extend .__button-basic; + @extend .__button-padding-vertical; + color: $white; + float: right; + left: -1px; + width: 112px; + + &:not(:hover) { + background-color: $black; + border-color: $black; + } + + &:hover { + background-color: $teal; + border-color: mix($black, $teal, 20%); + } + } + + .newsletter-cta__message { + padding-top: 1rem; + padding-bottom: 1rem; + } + diff --git a/content/.vuepress/scss/init/_extends.scss b/content/.vuepress/scss/init/_extends.scss index df61b22..daaa3e1 100644 --- a/content/.vuepress/scss/init/_extends.scss +++ b/content/.vuepress/scss/init/_extends.scss @@ -11,8 +11,10 @@ .__button-basic { @extend .__button-base; - @extend .__button-padding-vertical; +} +.__button-plain { + @extend .__button-base; background-color: transparent; border-color: transparent; diff --git a/content/.vuepress/scss/partials/_footer.scss b/content/.vuepress/scss/partials/_footer.scss index 2bd102b..94f9c93 100644 --- a/content/.vuepress/scss/partials/_footer.scss +++ b/content/.vuepress/scss/partials/_footer.scss @@ -4,6 +4,19 @@ font-size: 1rem; padding-right: env(safe-area-inset-right); padding-left: env(safe-area-inset-left); + position: relative; + + @media (max-width: 980px) { + &::before { + width: 3rem; height: 100%; + bottom: 0; right: 0; + + background-image: linear-gradient(90deg, rgba($black, 0), $black 50%, $black); // iOS Safari cannot handle `transparent` + content: ""; + position: absolute; + z-index: 2; + } + } > div:first-of-type { @media (max-width: 980px) {