diff --git a/src/assets/donate-bg.png b/src/assets/donate-bg.png
new file mode 100644
index 0000000..d2e4690
Binary files /dev/null and b/src/assets/donate-bg.png differ
diff --git a/src/components/Donate/How/How.scss b/src/components/Donate/How/How.scss
index 420d5fd..4fb9996 100644
--- a/src/components/Donate/How/How.scss
+++ b/src/components/Donate/How/How.scss
@@ -1,5 +1,5 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#donate-how {
display: flex;
@@ -22,9 +22,9 @@
max-width: 29em;
}
- @media screen and (width < 80rem) {
+ @media screen and (max-width: 80rem) {
p {
- background: rgba($body-bg-darker, 0.65);
+ background: rgba($color-blue-charcoal, 0.65);
border-radius: 0.5em;
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
diff --git a/src/components/Donate/Legal/Legal.scss b/src/components/Donate/Legal/Legal.scss
index 81029e0..91bf56a 100644
--- a/src/components/Donate/Legal/Legal.scss
+++ b/src/components/Donate/Legal/Legal.scss
@@ -1,4 +1,5 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#donate-legal {
display: flex;
@@ -15,10 +16,10 @@
p {
margin-top: 1.5em;
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.3125rem);
line-height: 157%;
- color: var(--cloud);
+ color: $color-cloud;
}
strong {
diff --git a/src/components/Donate/Methods/Methods.scss b/src/components/Donate/Methods/Methods.scss
index 2cc6b11..15a7eef 100644
--- a/src/components/Donate/Methods/Methods.scss
+++ b/src/components/Donate/Methods/Methods.scss
@@ -1,5 +1,5 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#donate-methods {
display: flex;
@@ -21,7 +21,7 @@
gap: 0.9em;
@include fluid-font-size(1.25rem);
- @media screen and (width >= 48rem) {
+ @media screen and (min-width: 48rem) {
grid-template-columns: repeat(2, 1fr);
}
@@ -30,13 +30,13 @@
flex-direction: column;
justify-content: center;
padding: 2.95em 1.95em;
- background: $body-bg-darker;
+ background: $color-blue-charcoal;
border: 0.05em solid transparent;
border-radius: 0.5em;
transition: border-color 200ms;
&:hover {
- border-color: var(--aquamarine);
+ border-color: $color-aquamarine;
}
> div {
@@ -57,9 +57,9 @@
p {
margin-top: 1.5em;
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.0625rem);
line-height: 157%;
- color: var(--cloud);
+ color: $color-cloud;
}
}
diff --git a/src/components/Donate/Why/Why.scss b/src/components/Donate/Why/Why.scss
index fc0e54d..0f3113f 100644
--- a/src/components/Donate/Why/Why.scss
+++ b/src/components/Donate/Why/Why.scss
@@ -1,29 +1,5 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
-
-@mixin fluid-margin {
- $min-vw: 48rem;
- $max-vw: 96rem;
-
- $min-margin: 3.75%;
- $max-margin: 7.5%;
-
- & {
- margin-left: min(calc(43.9em + $min-margin), max($min-margin, calc(100vw - 28em - $min-margin)));
- margin-right: $min-margin;
-
- @media screen and (width >= $min-vw) {
- $margin: calc(#{$min-margin} + #{strip-unit($max-margin - $min-margin)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
- margin-left: min(calc(43.9em + $margin), max($margin, calc(100vw - 28em - $margin)));
- margin-right: $margin;
- }
-
- @media screen and (width >= $max-vw) {
- margin-left: min(calc(43.9em + $max-margin), max($max-margin, calc(100vw - 28em - $max-margin)));
- margin-right: $max-margin;
- }
- }
-}
+@import "../../../styles/vars.scss";
#donate-why {
position: relative;
@@ -35,25 +11,35 @@
top: 0;
left: 0;
width: 92.2em;
- max-width: 100vw;
+ max-width: 200vw;
height: 58.8em;
background-image: url("../../../assets/donate-why-bg.png");
background-position: 0%;
background-repeat: no-repeat;
background-size: contain;
+ z-index: -1;
}
- > div {
+ .feature-group {
@include fluid-font-size(1.3125rem);
- @include fluid-margin;
+ @include fluid-position-left(43.9em, 28em);
max-width: 29em;
padding: 0.5em 0;
}
- @media screen and (width < 80rem) {
+ @media screen and (max-width: 80rem) {
+ ul, p {
+ background: rgba($color-body-bg, 0.65);
+ }
+
+ ul {
+ border-radius: 0.5em 0.5em 0 0;
+ padding: 0.3em 0.5em 0.3em 2em;
+ margin: -0.3em -0.5em 0.28em;
+ }
+
p {
- background: rgba($body-bg, 0.65);
- border-radius: 0 0.5em 0.5em 0;
+ border-radius: 0 0 0.5em 0.5em;
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
}
diff --git a/src/components/Home/CTO/CTO.scss b/src/components/Home/CTO/CTO.scss
index dd13e8f..18432ee 100644
--- a/src/components/Home/CTO/CTO.scss
+++ b/src/components/Home/CTO/CTO.scss
@@ -1,11 +1,11 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-cto {
min-height: 28em;
@include fluid-font-size(1.3125rem);
background-image: url("../../../assets/geometric-bg.webp");
- background-position: 99% 100%;
+ background-position: 99%;
background-repeat: no-repeat;
background-size: contain;
@@ -16,12 +16,12 @@
}
.bio {
- display: flex;
+ display: inline-flex;
align-items: center;
margin-top: 1.57em;
gap: 1.33em;
- font-family: var(--font-family-jaldi);
- color: var(--cloud);
+ font-family: $font-family-jaldi;
+ color: $color-cloud;
img {
@include fluid-width-height(5.875rem, 5.875rem);
@@ -30,16 +30,20 @@
strong {
@include fluid-font-size(1.625rem);
line-height: 133%;
- color: var(--white);
+ color: $color-white;
}
}
- @media screen and (width < 80rem) {
- p {
- background: rgba($body-bg, 0.65);
+ @media screen and (max-width: 80rem) {
+ p, .bio {
+ background: rgba($color-body-bg, 0.65);
border-radius: 0 0.5em 0.5em 0;
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
}
+
+ .bio {
+ margin-top: 1.27em;
+ }
}
}
diff --git a/src/components/Home/Header/Header.scss b/src/components/Home/Header/Header.scss
index 3c26902..e934e24 100644
--- a/src/components/Home/Header/Header.scss
+++ b/src/components/Home/Header/Header.scss
@@ -1,4 +1,5 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-header {
display: flex;
@@ -14,4 +15,8 @@
letter-spacing: -0.06em;
text-align: center;
}
+
+ .highlight {
+ color: $color-aquamarine;
+ }
}
diff --git a/src/components/Home/Header/HeaderContent.jsx b/src/components/Home/Header/HeaderContent.jsx
index 1ba1f9e..1826c3a 100644
--- a/src/components/Home/Header/HeaderContent.jsx
+++ b/src/components/Home/Header/HeaderContent.jsx
@@ -1,27 +1,26 @@
import Typewriter from "typewriter-effect";
const HeaderContent = () => {
- var headerStrings = [
- `Access to the web
for the masses`, `An open web for business`, `Web3 for the masses`, `Web3 for you`
- ],
- randomString = headerStrings[Math.floor(Math.random() * headerStrings.length)];
- function lastWord(words) {
- var n = words.split(" ");
- return n[n.length - 1];
- }
- var lastIndex = randomString.lastIndexOf(" ");
- return (
- _` }} onInit={
- (typewriter) => {
- typewriter.changeDelay(50).typeString(`${
- randomString.substring(0, lastIndex)
- }` + ' ').start();
- typewriter.typeString(`${
- lastWord(randomString)
- }`)
- }
- }/>
- );
+ var
+ headerStrings = [
+ 'Access to the web
for the masses',
+ 'An open web for business',
+ 'Web3 for the masses',
+ 'Web3 for you'
+ ],
+ randomString = headerStrings[Math.floor(Math.random() * headerStrings.length)],
+ words = randomString.split(' ');
+
+ return (
+ _' }} onInit={ (typewriter) => {
+ typewriter
+ .changeDelay(50)
+ .typeString(randomString.substring(0, randomString.lastIndexOf(' ')) + ' ')
+ .start();
+ typewriter
+ .typeString('' + words[words.length - 1] + '')
+ } }/>
+ );
};
export default HeaderContent;
diff --git a/src/components/Home/Meme/Meme.scss b/src/components/Home/Meme/Meme.scss
index 1675bf7..559760a 100644
--- a/src/components/Home/Meme/Meme.scss
+++ b/src/components/Home/Meme/Meme.scss
@@ -1,4 +1,5 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-meme {
display: flex;
@@ -32,19 +33,19 @@
@include fluid-font-size(1.5625rem);
font-weight: 700;
text-align: center;
- color: var(--aquamarine);
+ color: $color-aquamarine;
text-transform: uppercase;
}
p {
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.3125rem);
line-height: 123.81%;
- color: var(--cloud);
+ color: $color-cloud;
}
}
- @media screen and (width < 48rem) {
+ @media screen and (max-width: 47.99999rem) {
.meme-item {
div {
flex-direction: column;
diff --git a/src/components/Home/Message/Message.scss b/src/components/Home/Message/Message.scss
index 365d70e..c34630b 100644
--- a/src/components/Home/Message/Message.scss
+++ b/src/components/Home/Message/Message.scss
@@ -1,13 +1,14 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-message {
padding-top: 3.16%;
padding-bottom: 3.16%;
@include fluid-padding-lr;
- background: var(--aquamarine);
- color: var(--blue-charcoal);
+ background: $color-aquamarine;
+ color: $color-blue-charcoal-2;
- @media screen and (width < 48rem) {
+ @media screen and (max-width: 47.99999rem) {
text-align: center;
}
@@ -21,7 +22,7 @@
}
p {
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.3125rem);
line-height: 157%;
}
diff --git a/src/components/Home/PoweredBy/PoweredBy.scss b/src/components/Home/PoweredBy/PoweredBy.scss
index 9419081..41f6ef5 100644
--- a/src/components/Home/PoweredBy/PoweredBy.scss
+++ b/src/components/Home/PoweredBy/PoweredBy.scss
@@ -1,4 +1,5 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-powered-by {
display: flex;
@@ -8,7 +9,7 @@
margin: 5em 0;
@include fluid-font-size(1.25rem);
- @media screen and (width < 48rem) {
+ @media screen and (max-width: 47.99999rem) {
flex-direction: column;
gap: 1em;
}
@@ -24,9 +25,9 @@
font-weight: 700;
line-height: 100%;
text-transform: uppercase;
- color: var(--aquamarine);
+ color: $color-aquamarine;
- @media screen and (width >= 48rem) {
+ @media screen and (min-width: 48rem) {
margin-top: 0.75em;
}
}
diff --git a/src/components/Home/Socials/Socials.scss b/src/components/Home/Socials/Socials.scss
index c0115e9..c817f07 100644
--- a/src/components/Home/Socials/Socials.scss
+++ b/src/components/Home/Socials/Socials.scss
@@ -1,4 +1,5 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-socials {
display: flex;
@@ -21,7 +22,7 @@
font-weight: 700;
line-height: 100%;
text-transform: uppercase;
- color: var(--aquamarine);
+ color: $color-aquamarine;
}
.github-logo {
diff --git a/src/components/Home/Vision/Vision.scss b/src/components/Home/Vision/Vision.scss
index 0751d57..055ba4b 100644
--- a/src/components/Home/Vision/Vision.scss
+++ b/src/components/Home/Vision/Vision.scss
@@ -1,5 +1,5 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#home-vision {
display: flex;
@@ -18,9 +18,9 @@
max-width: 29em;
}
- @media screen and (width < 80rem) {
+ @media screen and (max-width: 80rem) {
p {
- background: rgba($body-bg, 0.65);
+ background: rgba($color-body-bg, 0.65);
border-radius: 0.5em;
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
diff --git a/src/components/Home/WhatIsWeb3/WhatIsWeb3.scss b/src/components/Home/WhatIsWeb3/WhatIsWeb3.scss
index 2ab8262..0be4a09 100644
--- a/src/components/Home/WhatIsWeb3/WhatIsWeb3.scss
+++ b/src/components/Home/WhatIsWeb3/WhatIsWeb3.scss
@@ -1,29 +1,5 @@
-@import "../../../styles/colors.scss";
@import "../../../styles/mixins.scss";
-
-@mixin fluid-margin {
- $min-vw: 48rem;
- $max-vw: 96rem;
-
- $min-margin: 3.75%;
- $max-margin: 7.5%;
-
- & {
- margin-left: min(27.8em, max($min-margin, calc(100vw - 28em - $min-margin)));
- margin-right: $min-margin;
-
- @media screen and (width >= $min-vw) {
- $margin: calc(#{$min-margin} + #{strip-unit($max-margin - $min-margin)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
- margin-left: min(calc(27.8em + $margin), max($margin, calc(100vw - 28em - $margin)));
- margin-right: $margin;
- }
-
- @media screen and (width >= $max-vw) {
- margin-left: min(calc(27.8em + $max-margin), max($max-margin, calc(100vw - 28em - $max-margin)));
- margin-right: $max-margin;
- }
- }
-}
+@import "../../../styles/vars.scss";
#home-whatisweb3 {
display: flex;
@@ -49,7 +25,7 @@
}
.feature-group {
- @include fluid-margin;
+ @include fluid-position-left(27.8em, 28em);
max-width: 28em;
z-index: 1;
@@ -57,9 +33,9 @@
margin-top: 1em;
}
- @media screen and (width < 80rem) {
+ @media screen and (max-width: 80rem) {
p {
- background: rgba(2, 13, 17, 0.65);
+ background: rgba($color-blue-charcoal, 0.65);
border-radius: 0.5em;
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
diff --git a/src/components/Layout/Footer/Footer.scss b/src/components/Layout/Footer/Footer.scss
index 8a4e417..ae95fdf 100644
--- a/src/components/Layout/Footer/Footer.scss
+++ b/src/components/Layout/Footer/Footer.scss
@@ -1,5 +1,5 @@
@import "../../../styles/mixins.scss";
-@import "../../../styles/colors.scss";
+@import "../../../styles/vars.scss";
footer {
display: flex;
@@ -7,9 +7,9 @@ footer {
padding-top: 3.16%;
padding-bottom: 4.61%;
@include fluid-padding-lr;
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.3125rem);
- background: $body-bg-darker;
+ background: $color-blue-charcoal;
> div {
flex-basis: 0;
@@ -27,7 +27,7 @@ footer {
}
a:hover {
- color: var(--white);
+ color: $color-white;
}
h5 {
@@ -39,7 +39,7 @@ footer {
li {
line-height: 138%;
- color: var(--cloud);
+ color: $color-cloud;
list-style-type: none;
white-space: nowrap;
}
@@ -53,7 +53,7 @@ footer {
.footer-contact {
margin: auto 0;
- color: var(--cloud);
+ color: $color-cloud;
a {
display: inline-flex;
@@ -71,13 +71,13 @@ footer {
.footer-phrase {
margin: auto 0 0;
- font-family: var(--font-family-jetbrains-mono);
+ font-family: $font-family-jetbrains-mono;
font-weight: bold;
line-height: 133%;
- color: var(--aquamarine);
+ color: $color-aquamarine;
}
-@media screen and (width >= 48rem) and (width < 64rem) {
+@media screen and (min-width: 48rem) and (max-width: 64rem) {
footer {
flex-wrap: wrap;
@@ -100,7 +100,7 @@ footer {
}
}
-@media screen and (width < 48rem) {
+@media screen and (max-width: 47.99999rem) {
footer {
flex-direction: column;
padding-top: 1.25rem;
diff --git a/src/components/Layout/JoinCommunity/JoinCommunity.scss b/src/components/Layout/JoinCommunity/JoinCommunity.scss
index d98f2bd..40aa39b 100644
--- a/src/components/Layout/JoinCommunity/JoinCommunity.scss
+++ b/src/components/Layout/JoinCommunity/JoinCommunity.scss
@@ -1,13 +1,14 @@
@import "../../../styles/mixins.scss";
+@import "../../../styles/vars.scss";
#join-community {
padding-top: 3.16%;
padding-bottom: 3.16%;
@include fluid-padding-lr;
- background: var(--aquamarine);
- color: var(--blue-charcoal);
+ background: $color-aquamarine;
+ color: $color-blue-charcoal-2;
- @media screen and (width < 48rem) {
+ @media screen and (max-width: 48rem) {
text-align: center;
}
@@ -21,7 +22,7 @@
}
p {
- font-family: var(--font-family-jaldi);
+ font-family: $font-family-jaldi;
@include fluid-font-size(1.3125rem);
line-height: 157%;
}
diff --git a/src/components/Layout/Navbar/Navbar.jsx b/src/components/Layout/Navbar/Navbar.jsx
index 4ab8af8..6865a3e 100644
--- a/src/components/Layout/Navbar/Navbar.jsx
+++ b/src/components/Layout/Navbar/Navbar.jsx
@@ -1,18 +1,38 @@
-import React, { useState, useEffect } from 'react';
+import React, { useState, useCallback, useEffect } from 'react';
import './Navbar.scss';
import logo from '../../../../src/assets/lume-logo.png';
function Navbar({ view }) {
const [nav, setNav] = useState(false);
- const toggleNav = () => setNav(!nav);
+
+ const toggleNav = () => {
+ if(nav) {
+ document.body.classList.remove("scroll-lock");
+ setNav(false);
+ } else {
+ document.body.classList.add("scroll-lock");
+ setNav(true);
+ }
+ }
+
+ const onMenuClick = function(event) {
+ if(!nav) {
+ return;
+ }
+
+ if(event.pageX < event.target.offsetLeft) {
+ // click outside of menu
+ toggleNav();
+ }
+ }
useEffect(() => {
let resizeTimeout;
const onResize = () => {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(() => {
- if(nav && window.innerWidth >= 768) {
- setNav(false);
+ if(nav && window.innerWidth >= 900) {
+ toggleNav();
}
}, 25);
};
@@ -29,7 +49,7 @@ function Navbar({ view }) {
-