diff --git a/components/ConnectWithUs.module.css b/components/ConnectWithUs.module.css
index 8160a48d..a0fc921d 100644
--- a/components/ConnectWithUs.module.css
+++ b/components/ConnectWithUs.module.css
@@ -2,7 +2,6 @@
color: var(--blue-2);
font-weight: 600;
font-size: calc(36rem / 16);
- margin-bottom: calc(12rem / 16);
}
.socialLinks {
diff --git a/components/DefaultLayout.module.css b/components/DefaultLayout.module.css
index 31cadd0b..5b18ff5f 100644
--- a/components/DefaultLayout.module.css
+++ b/components/DefaultLayout.module.css
@@ -2,5 +2,4 @@
margin: 0 auto;
max-width: calc(800rem / 16);
padding: 0 calc(20rem / 16);
- padding-bottom: calc(20rem / 16);
}
diff --git a/components/EmailSignup.module.css b/components/EmailSignup.module.css
index 0d9567c8..357f88b3 100644
--- a/components/EmailSignup.module.css
+++ b/components/EmailSignup.module.css
@@ -6,7 +6,6 @@
color: var(--blue-2);
font-weight: 600;
font-size: calc(36rem / 16);
- margin-bottom: calc(12rem / 16);
}
.button {
diff --git a/components/EventDescriptionCard.module.css b/components/EventDescriptionCard.module.css
index 011ecd2a..0ddff676 100644
--- a/components/EventDescriptionCard.module.css
+++ b/components/EventDescriptionCard.module.css
@@ -50,6 +50,7 @@
@media only screen and (max-width: calc(768rem / 16)) {
.card {
+ max-width: unset;
padding: 0;
background-color: transparent;
}
diff --git a/components/Navbar.module.css b/components/Navbar.module.css
index fa656d66..9dbbf03d 100644
--- a/components/Navbar.module.css
+++ b/components/Navbar.module.css
@@ -2,6 +2,7 @@
display: flex;
justify-content: center;
align-items: center;
+ z-index: 10;
background-color: var(--white);
}
@@ -154,13 +155,13 @@
/* On a smaller desktop screen, keep the same navbar layout but decrease the
* horizontal padding so it still fits
*/
-@media screen and (max-width: calc(960rem / 16)) {
+@media only screen and (max-width: calc(960rem / 16)) {
.navContent {
padding: calc(28rem / 16) calc(64rem / 16);
}
}
-@media screen and (max-width: calc(768rem / 16)) {
+@media only screen and (max-width: calc(768rem / 16)) {
.navContent {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
diff --git a/components/NewsCard.module.css b/components/NewsCard.module.css
index 87d6ba99..4114b061 100644
--- a/components/NewsCard.module.css
+++ b/components/NewsCard.module.css
@@ -22,9 +22,14 @@
@media only screen and (max-width: calc(768rem / 16)) {
.card {
padding: 0;
+ max-width: unset;
background-color: transparent;
}
+ .date {
+ font-weight: 600;
+ }
+
.content > *:first-child {
margin-top: 1rem;
}
diff --git a/pages/_app.css b/pages/_app.css
index ed7623aa..948b4449 100644
--- a/pages/_app.css
+++ b/pages/_app.css
@@ -26,6 +26,8 @@ body {
--background-teal-2: rgb(78, 212, 178, 0.2);
/* used in mobile navbar background */
--navbar-gray: #787878b2;
+ /* used in home page */
+ --home-title-purple: #27153e;
color: var(--black);
font-family: "Poppins", "sans-serif";
@@ -36,6 +38,10 @@ body {
margin: 0;
}
+input {
+ font-family: "Poppins", "sans-serif";
+}
+
/* FIXME: Dark theme is the same as light theme right now */
.dark {
--white: #ffffff;
@@ -68,6 +74,12 @@ h6 {
color: var(--purple-2);
}
+h1,
+h2 {
+ margin-top: calc(32rem / 16);
+ margin-bottom: calc(16rem / 16);
+}
+
h1 {
font-size: calc(48rem / 16);
font-weight: 700;
@@ -75,19 +87,45 @@ h1 {
h2 {
font-size: calc(36rem / 16);
- font-weight: 700;
+ font-weight: 600;
}
h3 {
+ margin-top: calc(24rem / 16);
+ margin-bottom: calc(16rem / 16);
+
font-size: calc(24rem / 16);
font-weight: 600;
}
h4 {
+ margin-top: calc(24rem / 16);
+ margin-bottom: calc(8rem / 16);
+
font-size: calc(18rem / 16);
font-weight: 600;
}
-input {
- font-family: "Poppins", "sans-serif";
+p {
+ margin: 1rem 0;
+}
+
+/*
+ * A lot of elements right next to an h4 (eg p, ol, ul, etc) have a 16px margin.
+ * We need to make sure that the next item has an 8px margin-top.
+ */
+h4 + * {
+ margin-top: calc(8rem / 16);
+}
+
+@media only screen and (max-width: calc(768rem / 16)) {
+ /* h1, h2 = h3 on mobile */
+ h1,
+ h2 {
+ margin-top: calc(24rem / 16);
+ margin-bottom: calc(16rem / 16);
+
+ font-size: calc(24rem / 16);
+ font-weight: 600;
+ }
}
diff --git a/pages/about/index.module.css b/pages/about/index.module.css
index cedde708..cee87808 100644
--- a/pages/about/index.module.css
+++ b/pages/about/index.module.css
@@ -1,6 +1,8 @@
+.page {
+ margin-bottom: calc(20rem / 16);
+}
+
.title {
- color: var(--purple-2);
- font-size: calc(48rem / 16);
height: calc(80rem / 16);
margin-top: auto;
padding-left: calc(20rem / 16);
@@ -11,11 +13,6 @@
background-color: white;
}
-.content h2 {
- color: var(--purple-2);
- font-weight: 600;
-}
-
.content span {
color: var(--blue-2);
}
@@ -38,33 +35,6 @@
height: calc(400rem / 16);
}
-/*for temp mailing list components*/
-.mailingList {
- margin: calc(4rem / 16) auto;
- max-width: calc(806rem / 16);
-}
-
-.mailingList form > * {
- margin: calc(0.5rem / 16) auto;
-}
-
-.mailingList form input {
- border-radius: calc(16rem / 16);
- padding: calc(8rem / 16) 0;
-}
-
-.mailingList form input[type="text"] {
- /*temporary hard coding of font*/
- font-family: Poppins;
- font-style: normal;
- padding: 0 calc(8rem / 16);
-}
-
-.mailingList h2 {
- color: var(--blue-2);
-}
-/*for temp mailing list components*/
-
@media only screen and (max-width: calc(768rem / 16)) {
.titleContainer {
display: flex;
@@ -77,13 +47,7 @@
}
.title {
- font-size: calc(24rem / 16);
- font-weight: 600;
- padding-left: calc(0rem / 16);
- }
-
- .content h2 {
- font-size: calc(24rem / 16);
+ padding-left: 0;
}
.content ul {
@@ -95,8 +59,8 @@
}
.codey {
- width: calc(140.21rem / 16);
- height: calc(124.65rem / 16);
+ width: calc(140rem / 16);
+ height: calc(124rem / 16);
padding-left: calc(30rem / 16);
}
}
diff --git a/pages/about/index.tsx b/pages/about/index.tsx
index 2cb13ffd..0a018ccc 100644
--- a/pages/about/index.tsx
+++ b/pages/about/index.tsx
@@ -2,8 +2,9 @@ import React from "react";
import { Image } from "../../components/Image";
import Content from "../../content/about/index.mdx";
import styles from "./index.module.css";
-import { Button } from "../../components/Button";
-import { SocialLinks } from "../../components/SocialLinks";
+import { ConnectWithUs } from "components/ConnectWithUs";
+import { EmailSignup } from "components/EmailSignup";
+import { DefaultLayout } from "components/DefaultLayout";
export default function AboutUs() {
return (
@@ -15,29 +16,14 @@ export default function AboutUs() {
-
-
Connect with us!
-
- Drop by any of our social media outlets to learn more about us, keep
- up-to-date with our upcoming events, or to chat with our members!
-
-
-
Send feedback through our Feedback Form
-
Join our Mailing List!
-
-
+
+
+
+
>
);
}
AboutUs.Layout = function AboutUsLayout(props: { children: React.ReactNode }) {
- return {props.children}
;
+ return {props.children}
;
};
diff --git a/pages/about/our-supporters.module.css b/pages/about/our-supporters.module.css
index d2469b6a..8cab3573 100644
--- a/pages/about/our-supporters.module.css
+++ b/pages/about/our-supporters.module.css
@@ -8,16 +8,13 @@
.header {
color: var(--purple-2);
- font-size: calc(48rem / 16);
margin: 0 1rem 0 0;
text-align: center;
}
.content h2 {
- font-weight: 600;
font-size: calc(24rem / 16);
color: var(--blue-2);
- margin-top: calc(35rem / 16);
}
@media only screen and (max-width: calc(768rem / 16)) {
@@ -27,10 +24,6 @@
border: none;
}
- .header {
- font-size: calc(24rem / 16);
- }
-
.codey {
width: calc(100rem / 16);
}
diff --git a/pages/font.css b/pages/font.css
index 2e48ac89..0b701ad5 100644
--- a/pages/font.css
+++ b/pages/font.css
@@ -159,4 +159,13 @@
src: local(''),
url('../public/fonts/poppins-v15-latin-900italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../public/fonts/poppins-v15-latin-900italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
\ No newline at end of file
+}
+/* futura-bold */
+@font-face {
+ font-family: 'Futura';
+ font-style: normal;
+ font-weight: 700;
+ src: local(''),
+ url('../public/fonts/futura-bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
+ url('../public/fonts/futura-bold.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+}
diff --git a/pages/get-involved.module.css b/pages/get-involved.module.css
index 7249c158..ffb0a066 100644
--- a/pages/get-involved.module.css
+++ b/pages/get-involved.module.css
@@ -1,15 +1,19 @@
-.headerContainer {
+.page {
+ margin: calc(50rem / 16) 0;
+}
+
+.page > header {
display: flex;
flex-direction: row;
border-bottom: calc(1rem / 16) solid var(--purple-2);
}
-.headerText h1 {
+.headerText > h1 {
color: var(--purple-2);
margin: 0 0 calc(8rem / 16) 0;
}
-.headerText p {
+.headerText > p {
color: var(--black);
margin: 0 0 calc(22rem / 16) 0;
}
@@ -23,29 +27,13 @@
}
.content h2 {
- font-weight: 600;
color: var(--blue-2);
- margin-top: calc(30rem / 16);
-}
-
-.content h3 {
- font-weight: 600;
- color: var(--purple-2);
- margin-top: calc(30rem / 16);
- margin-bottom: 1rem;
-}
-
-.content h4 {
- margin-bottom: 0;
-}
-
-.content h4 + * {
- margin-top: calc(8rem / 16);
}
.content strong {
font-weight: 600;
}
+
.content details > * {
padding-left: 1rem;
}
@@ -58,20 +46,8 @@
padding-left: 2rem;
}
-.connectWithUs {
- margin-bottom: calc(21rem / 16);
-}
-
-.emailSignup {
- margin-bottom: calc(58rem / 16);
-}
-
-.pageContainer {
- margin-top: calc(50rem / 16);
-}
-
@media only screen and (max-width: calc(768rem / 16)) {
- .headerContainer {
+ .page > header {
display: flex;
flex-direction: column-reverse;
align-content: center;
@@ -83,13 +59,13 @@
text-align: center;
}
- .headerText h1 {
+ .headerText > h1 {
color: var(--purple-2);
font-size: calc(24rem / 16);
margin-bottom: (12rem / 16);
}
- .headerText p {
+ .headerText > p {
margin: 0;
}
@@ -101,12 +77,4 @@
.content h2 {
font-size: calc(24rem / 16);
}
-
- .connectWithUs {
- margin-bottom: calc(46rem / 16);
- }
-
- .emailSignup {
- margin-bottom: calc(104rem / 16);
- }
}
diff --git a/pages/get-involved.tsx b/pages/get-involved.tsx
index 3ee19e68..a7bd0f23 100644
--- a/pages/get-involved.tsx
+++ b/pages/get-involved.tsx
@@ -7,8 +7,8 @@ import styles from "./get-involved.module.css";
export default function GetInvolved() {
return (
-
-
+
+
diff --git a/pages/index.mdx b/pages/index.mdx
deleted file mode 100644
index 7a6200c7..00000000
--- a/pages/index.mdx
+++ /dev/null
@@ -1 +0,0 @@
-Visit the [playground](/playground)
diff --git a/pages/index.module.css b/pages/index.module.css
new file mode 100644
index 00000000..ec2407d6
--- /dev/null
+++ b/pages/index.module.css
@@ -0,0 +1,201 @@
+.page {
+ padding-bottom: calc(60rem / 16);
+}
+
+.intro {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ position: relative;
+
+ height: 65vh;
+ min-height: calc(420rem / 16);
+ max-height: calc(580rem / 16);
+}
+
+.introTop {
+ flex-grow: 1;
+}
+
+.introContent {
+ flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.introBottom {
+ flex-grow: 1;
+ min-height: calc(132rem / 16);
+}
+
+.clubTitleWrapper {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+}
+
+.clubTitleWrapper img {
+ height: calc(70rem / 16);
+}
+
+.clubTitle {
+ font-family: "Futura", "sans-serif";
+ font-size: calc(33rem / 16);
+ text-align: center;
+ color: var(--home-title-purple);
+}
+
+.clubDescription {
+ margin-bottom: calc(50rem / 16);
+ text-align: center;
+ color: var(--purple-2);
+}
+
+.clubDescription br {
+ display: none;
+}
+
+.codey {
+ position: absolute;
+ bottom: calc(-124rem / 16);
+ right: calc(20rem / 16);
+ z-index: -1;
+}
+
+.cardsBackground {
+ margin: 0;
+ width: 100%;
+
+ background-color: var(--off-white);
+}
+
+.cards {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: flex-start;
+ gap: calc(100rem / 16);
+
+ padding: calc(42rem / 16) calc(100rem / 16);
+}
+
+.cardsHeading {
+ margin: 1rem 0 calc(8rem / 16);
+ font-size: calc(24rem / 16);
+ font-weight: 700;
+}
+
+.cardsDescription {
+ margin: calc(8rem / 16) 0 1rem;
+}
+
+.cardsDescription br {
+ display: none;
+}
+
+.cardsDividingLine {
+ display: none;
+}
+
+.eventCards {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+ gap: 1rem;
+}
+
+/* On a smaller desktop screen, make the events/new flow vertically */
+@media only screen and (max-width: calc(1100rem / 16)) {
+ .cards {
+ flex-direction: column;
+ align-items: center;
+ gap: calc(32rem / 16);
+ }
+
+ .cards > section {
+ max-width: calc(540rem / 16);
+ }
+}
+
+@media only screen and (max-width: calc(768rem / 16)) {
+ .page {
+ padding-bottom: calc(30rem / 16);
+ }
+
+ .intro {
+ height: calc(330rem / 16);
+ min-height: unset;
+ max-height: unset;
+ }
+
+ .introContent {
+ padding: 1rem;
+ max-width: calc(260rem / 16);
+ }
+
+ .introBottom {
+ min-height: calc(100rem / 16);
+ }
+
+ .clubTitleWrapper img {
+ display: none;
+ }
+
+ .clubTitle {
+ margin: calc(8rem / 16) 0;
+ font-size: calc(20rem / 16);
+ }
+
+ .clubDescription {
+ margin: calc(8rem / 16) 0 calc(26rem / 16);
+ color: var(--purple-2);
+ }
+
+ .clubDescription br {
+ display: inline;
+ }
+
+ .codey {
+ bottom: calc(-46rem / 16);
+ right: auto;
+ z-index: -1;
+ height: calc(120rem / 16);
+ }
+
+ .cards {
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ gap: calc(8rem / 16);
+
+ padding: calc(36rem / 16) calc(20rem / 16) calc(20rem / 16);
+ }
+
+ .cards > section {
+ max-width: unset;
+ }
+
+ .cardsHeading {
+ margin: 0;
+ font-size: calc(18rem / 16);
+ font-weight: 600;
+ }
+
+ .cardsDescription br {
+ display: inline;
+ }
+
+ .cardsDividingLine {
+ display: block;
+ margin: 1rem 0 calc(34rem / 16);
+ height: calc(1rem / 16);
+ border: none;
+ background-color: var(--purple-2);
+ }
+}
diff --git a/pages/index.tsx b/pages/index.tsx
new file mode 100644
index 00000000..a64dd9ab
--- /dev/null
+++ b/pages/index.tsx
@@ -0,0 +1,91 @@
+import React from "react";
+import { Image } from "../components/Image";
+import { SocialLinks } from "../components/SocialLinks";
+import { EventDescriptionCard } from "../components/EventDescriptionCard";
+import { NewsCard } from "../components/NewsCard";
+import { ConnectWithUs } from "../components/ConnectWithUs";
+import { EmailSignup } from "../components/EmailSignup";
+import { DefaultLayout } from "../components/DefaultLayout";
+import styles from "./index.module.css";
+
+// temporary event and news imports
+import OOTBReact, {
+ metadata as OOTBReactEventMetadata,
+} from "../content/playground/ootb-react.event.mdx";
+import AltTab, {
+ metadata as altTabEventMetadata,
+} from "../content/playground/alt-tab.event.mdx";
+import UnavailableContent, {
+ metadata as unavailableMetadata,
+} from "../content/playground/unavailable.news.mdx";
+
+export default function Home() {
+ const events = [
+ { Content: OOTBReact, metadata: OOTBReactEventMetadata },
+ { Content: AltTab, metadata: altTabEventMetadata },
+ ];
+
+ return (
+ <>
+
+
+
+
+
+ {/* TODO: add links to past events and past news */}
+
+ Upcoming Events
+ See past events here
+
+
+ {events.map(({ metadata }) => (
+
+ ))}
+
+
+
+ News
+
+ Updates from our execs!
+ See past news here
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
+
+Home.Layout = function HomeLayout(props: { children: React.ReactNode }) {
+ return
{props.children}
;
+};
diff --git a/public/fonts/futura-bold.woff b/public/fonts/futura-bold.woff
new file mode 100644
index 00000000..99f00c60
Binary files /dev/null and b/public/fonts/futura-bold.woff differ
diff --git a/public/fonts/futura-bold.woff2 b/public/fonts/futura-bold.woff2
new file mode 100644
index 00000000..05dbc943
Binary files /dev/null and b/public/fonts/futura-bold.woff2 differ
diff --git a/public/images/home/codey_sitting.svg b/public/images/home/codey_sitting.svg
new file mode 100644
index 00000000..bd48f8ff
--- /dev/null
+++ b/public/images/home/codey_sitting.svg
@@ -0,0 +1,27 @@
+
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 00000000..7190a60b
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json"
+}