-
-
-
Who can participate?
-
- Students in college, schools can apply. If you can innovate
- or just want to have a fun learning weekend, you are most
- welcome.
-
+
+
+ {faqContent.map((item, index) => {
+ return (
+
+
{
+ setOpenFaq(openFaq === index ? null : index);
+ }}
+ >
+ {item?.question}
+
+
+ {openFaq !== index ? : }
+
+
+
-
-
Can I participate remotely?
-
- Hack4Bengal 3.0 is an in-person hackathon. So remote
- participation is not applicable.
-
+ );
+ })}
+
+
+
{
+ setOpenFaq(openFaq === 5 ? null : 5);
+ }}
+ >
+
+ I have more questions, where and how can i reach out ?
+
+
+
+ {openFaq !== 5 ? : }
-
-
-
How much does it cost to participate?
+
+
- Nothing, participation in Hack4Bengal 3.0 is absolutely
- FREE!!π Weβll have meals, snacks, and beverages onsite at the
- hackathon, in addition to swags, prizes, fun mini-events and
- more.
+ Reach out on our Discord Server{" "}
+
+ (in #π«ticket-support)
+ {" "}
+ or email us at{" "}
+
+ hack4bengal@gmail.com
+
+ !
-
+
);
};
diff --git a/src/components/private/faq/FAQ.scss b/src/components/private/faq/FAQ.scss
index 5abbf74..6208a40 100644
--- a/src/components/private/faq/FAQ.scss
+++ b/src/components/private/faq/FAQ.scss
@@ -4,11 +4,19 @@
flex-direction: column;
align-items: center;
justify-content: center;
+ z-index: 1;
+ margin-top: 8rem;
+
+ @media screen and (max-width: 576px) {
+ padding: 2rem 1.5rem;
+ margin-top: 2rem;
+ gap: 4rem;
+ }
.faq__content {
- margin-top: 12.1rem;
- margin-bottom: 10rem;
- width: 69.99475rem;
+ margin-top: 8.1rem;
+ margin-bottom: 3rem;
+ width: 85%; //69.99475
display: inline-flex;
flex-direction: column;
align-items: center;
@@ -17,6 +25,8 @@
@media screen and (max-width: 576px) {
margin-top: 4rem;
gap: 3rem;
+ max-width: 95vw;
+ width: 100%;
}
.faq__subheader {
@@ -25,583 +35,203 @@
color: var(--text-color);
text-align: center;
font-family: var(--heading-font);
- width: 80%;
+ width: 77%;
margin: 0 auto;
@media screen and (max-width: 576px) {
+ max-width: 95vw;
width: 100%;
+ padding: 0 1rem;
font-size: 0.9rem;
text-align: justify;
}
- }
- }
-
- .faq__body {
- display: flex;
- justify-content: center;
- align-items: flex-start;
- gap: 1.88rem;
- flex: 1;
- height: 100%;
-
- .faq__body__left {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: space-between;
- gap: 1.88rem;
-
- .faq__body__left__top {
- flex-shrink: 0;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 0.63rem;
- padding-top: 1.62rem;
- padding-bottom: 1.37rem;
- padding-left: 2.63rem;
- padding-right: 3.95rem;
- width: 26.70325rem;
- flex-shrink: 0;
- border-radius: 1.9705rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
-
- h3 {
- color: var(--alt-color);
- font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
-
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
- }
- @media screen and (max-width: 1500px) {
- width: 20.105rem;
- }
- }
-
- .faq__body__left__bottom {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 1.38rem;
- width: 26.70325rem;
- padding-top: 2.39rem;
- padding-bottom: 2.13rem;
- padding-left: 2.31rem;
- padding-right: 3.33rem;
- border-radius: 1.9705rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
-
- transition: all 0.3s ease-in-out;
- cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
-
- h3 {
- color: var(--alt-color);
- font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
-
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
- }
-
- @media screen and (max-width: 1500px) {
- width: 20.105rem;
- }
+ @media screen and (max-width: 1024px) {
+ width: 95%;
}
@media screen and (max-width: 768px) {
- .faq__body__left__top {
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
- }
-
- .faq__body__left__bottom {
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
- }
+ width: 100%;
}
}
+ }
- .faq__body__right {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- gap: 2.4rem;
-
- .faq__body__right__top {
- display: flex;
- gap: 2.875rem;
-
- .faq__body__right__top__left {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- gap: 1.875rem;
-
- .faq__body__right__top__left__top {
- flex-shrink: 0;
- width: 26.70325rem;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 1.5rem;
- border-radius: 1.9705rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- padding-top: 1.56rem;
- padding-bottom: 2.37rem;
- padding-left: 1.97rem;
- padding-right: 4.36rem;
-
- transition: all 0.3s ease-in-out;
- cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
-
- h3 {
- color: var(--alt-color);
- font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
-
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
- }
-
- @media screen and (max-width: 1500px) {
- width: 20rem;
- }
- }
+ .container {
+ margin: 0 auto;
+ padding: 0 4rem 4rem 4rem;
+ width: 65%; //48rem
- .faq__body__right__top__left__bottom {
- flex-shrink: 0;
- width: 26.70325rem;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 0.31rem;
- border-radius: 0.9375rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- padding-top: 1.11rem;
- padding-bottom: 0.98rem;
- padding-left: 2.09rem;
- padding-right: 1.36rem;
-
- transition: all 0.3s ease-in-out;
- cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
+ @media screen and (max-width: 1280px) {
+ width: 70%;
+ padding: 0 2rem 4rem 2rem;
+ }
- h3 {
- color: var(--alt-color);
- font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
+ @media screen and (max-width: 1024px) {
+ width: 80%;
+ padding: 0 0.5rem 4rem 0.5rem;
+ }
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
- }
+ @media screen and (max-width: 768px) {
+ max-width: 95vw;
+ padding: 1rem;
+ width: 100%;
+ }
- @media screen and (max-width: 1500px) {
- width: 20rem;
- }
- }
- }
+ .accordion {
+ .accordion-item {
+ border-bottom: 1px solid #5e5e5e;
- .faq__body__right__top__right {
- width: 26.70325rem;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 1.94rem;
- padding-top: 2.31rem;
- padding-bottom: 3.98rem;
- padding-left: 2.02rem;
- padding-right: 2.99rem;
- flex-shrink: 0;
- border-radius: 1.9705rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
-
- transition: all 0.3s ease-in-out;
+ button {
+ position: relative;
+ display: block;
+ text-align: left;
+ width: 100%;
+ padding: 1em 0;
+ color: #ff1717;
cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
-
- h3 {
- color: var(--alt-color);
+ font-size: 1.15rem;
+ font-weight: 400;
+ border: none;
+ background: none;
+ outline: none;
+
+ .accordion-title {
+ font-size: 1.3rem;
+ font-weight: 500;
+ color: var(--text-color);
font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
-
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
- }
-
- @media screen and (max-width: 1500px) {
- width: 30rem;
- }
- }
-
- @media screen and (max-width: 768px) {
- flex-direction: column;
- gap: 2rem;
- justify-content: flex-start;
-
- .faq__body__right__top__left {
- width: 100%;
- gap: 2rem;
-
- .faq__body__right__top__left__top {
- width: 100%;
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
- }
+ padding: 1em 1.5em 1em 0;
- .faq__body__right__top__left__bottom {
- width: 100%;
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
+ @media screen and (max-width: 576px) {
+ font-size: 1rem;
+ max-width: 95%;
}
}
- .faq__body__right__top__right {
- width: 100%;
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
- }
- }
- }
-
- .faq__body__right__bottom {
- flex: 1;
- width: 56.46419rem;
- flex-shrink: 0;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: flex-start;
- gap: 0.69rem;
- padding-top: 1rem;
- padding-bottom: 1rem;
- padding-left: 2.65rem;
- padding-right: 6.56rem;
- border-radius: 1.9705rem;
- background: #212020;
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #a7a3a338,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- min-height: 10.5rem;
- margin-top: -10px;
-
- transition: all 0.3s ease-in-out;
- cursor: pointer;
-
- &:hover {
- box-shadow: -0.2038rem -0.2038rem 1.1755rem 0.0679rem #ff000073,
- 0.3397rem 0.2718rem 0.6999rem 0.1359rem #000000c9;
- transition: all 0.3s ease-in-out;
- }
-
- h3 {
- color: var(--alt-color);
- font-family: var(--heading-font);
- font-size: 1.60438rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 1.2rem;
- }
- }
-
- p {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
-
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
- }
-
- a {
- color: #969696;
- font-family: var(--heading-font);
- font-size: 0.93563rem;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
+ .icon {
+ display: inline-block;
+ position: absolute;
+ top: 0;
+ transform: translateY(130%);
+ right: 0;
+ width: 29px;
+ height: 29px;
+ background-color: #0f0e0e;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 50%;
- &:hover {
- text-decoration: underline;
+ svg {
+ width: 1em;
+ height: 1em;
+ fill: #ff1717;
}
- @media screen and (max-width: 1500px) {
- font-size: 0.8rem;
+ @media screen and (max-width: 576px) {
+ top: 50%;
+ transform: translateY(-50%);
}
}
}
- @media screen and (max-width: 1500px) {
- width: 53rem;
- min-height: 10rem;
+ button[aria-expanded="true"] + .accordion-content {
+ opacity: 1;
+ max-height: 9em;
+ transition: all 200ms linear;
+ will-change: opacity, max-height;
}
- @media screen and (max-width: 768px) {
- padding-right: unset;
- padding-left: unset;
- padding-top: unset;
- padding-bottom: unset;
- padding: 2rem;
+ .accordion-content {
+ opacity: 0;
+ max-height: 0;
+ overflow: hidden;
+ transition: opacity 200ms linear, max-height 200ms linear;
+ will-change: opacity, max-height;
p {
- min-width: unset;
- width: 100%;
- max-width: 100%;
+ font-size: 15px;
+ font-weight: 300;
+ margin-bottom: 1.2em;
+ font-family: var(--body-font);
+ opacity: 0.8;
+
+ a {
+ color: #ff1717;
+ font-weight: 500;
+ font-family: var(--heading-font);
+ }
}
}
}
}
+ }
+ }
- @media screen and (max-width: 1340px) {
- flex-direction: column;
- width: 100%;
- gap: 2rem;
-
- .faq__body__left {
- flex-direction: row;
- gap: 2rem;
- width: 100%;
- justify-content: center;
- min-height: 15rem;
- height: 15rem;
-
- .faq__body__left__top {
- max-width: 30rem;
- flex: 1;
- min-height: 100%;
- gap: 0.69rem;
- }
-
- .faq__body__left__bottom {
- max-width: 30rem;
- flex: 1;
- height: 100%;
- gap: 0.69rem;
- }
- }
-
- .faq__body__right {
- width: 100%;
- gap: 2rem;
-
- .faq__body__right__top {
- width: 100%;
- gap: 2rem;
-
- .faq__body__right__top__left {
- gap: 2rem;
-
- .faq__body__right__top__left__top {
- gap: 0.69rem;
- }
+ .faq__blob {
+ position: absolute;
+ width: 9.64481rem;
+ height: 9.54356rem;
+ flex-shrink: 0;
+ top: 3rem;
+ left: 12rem;
+ }
- .faq__body__right__top__left__bottom {
- gap: 0.69rem;
- }
- }
+ .faq__vector__container {
+ overflow: hidden;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: -1;
+
+ .faq__emojis {
+ position: absolute;
+ }
- .faq__body__right__top__right {
- flex: 1;
- gap: 0.69rem;
- }
- }
+ .faq__message__vector {
+ top: 223px;
+ left: 107px;
- .faq__body__right__bottom {
- width: 100%;
- gap: 0.69rem;
- }
- }
+ @media screen and (max-width: 1556px) {
+ display: none;
}
+ }
- @media screen and (max-width: 885px) {
- .faq__body__left {
- width: 100%;
- flex-direction: column;
- justify-content: center;
- max-height: unset;
- height: unset;
+ .faq__question_mark_1__vector {
+ top: 913px;
+ left: 691px;
+ }
- .faq__body__left__bottom {
- max-width: unset;
- width: 100%;
- }
+ .faq__question_mark_2__vector {
+ top: 103px;
+ left: 1198px;
+ }
- .faq__body__left__top {
- max-width: unset;
- width: 100%;
- }
- }
- }
+ .faq__random_shape_1__vector {
+ top: 574px;
+ left: 1382px;
}
- @media screen and (max-width: 1340px) {
- max-width: 67rem;
- width: 100%;
- padding-inline: 4rem;
+ .faq__square__vector {
+ top: 392px;
+ left: 1519px;
}
- @media screen and (max-width: 576px) {
- padding-inline: 2rem;
+ .faq__triangle__vector {
+ top: 942px;
+ left: 142px;
}
- }
- .faq__blob {
- position: absolute;
- width: 9.64481rem;
- height: 9.54356rem;
- flex-shrink: 0;
- top: 3rem;
- left: 12rem;
+ .faq__zig_zak_1__vector {
+ top: 1132px;
+ left: 1009px;
+ }
+
+ .faq__zig_zak_2__vector {
+ top: 666px;
+ left: 354px;
+ }
}
}
diff --git a/src/components/private/index.js b/src/components/private/index.js
index 07700a3..ba90d21 100644
--- a/src/components/private/index.js
+++ b/src/components/private/index.js
@@ -3,7 +3,8 @@ import { lazy } from "react";
export const Landing = lazy(() => import("./landing/Landing"));
export const Marquee = lazy(() => import("./marquee/Marquee"));
export const About = lazy(() => import("./about/About"));
-export const Timeline = lazy(() => import("./timeline/Timeline"));
+export const Timer = lazy(() => import("./timer/Timer"));
+export const TimeLine = lazy(()=>import("./timeline/Timeline"))
export const Theme = lazy(() => import("./themes/Theme"));
export const Prizes = lazy(() => import("./prizes/Prizes"));
export const Sponsors = lazy(() => import("./sponsors/Sponsors"));
diff --git a/src/components/private/landing/Landing.jsx b/src/components/private/landing/Landing.jsx
index fe73335..f75ad07 100644
--- a/src/components/private/landing/Landing.jsx
+++ b/src/components/private/landing/Landing.jsx
@@ -24,14 +24,14 @@ const Landing = () => {
+
+ Join Discord
+
- Join Discord
-
-
- Pre-register
+ Register Now
diff --git a/src/components/private/landing/Landing.scss b/src/components/private/landing/Landing.scss
index 7662352..7c9d969 100644
--- a/src/components/private/landing/Landing.scss
+++ b/src/components/private/landing/Landing.scss
@@ -104,13 +104,18 @@
display: flex;
gap: 2rem;
+ @media screen and (max-width: 1120px) {
+ align-items: center;
+ gap: 1.2rem;
+ right: 50%;
+ }
+
@media screen and (max-width: 576px) {
position: relative;
bottom: 0;
flex-direction: column;
align-items: center;
gap: 1.2rem;
- right: 50%;
}
}
}
diff --git a/src/components/private/marquee/Marquee.jsx b/src/components/private/marquee/Marquee.jsx
index b1327d5..13fb5c0 100644
--- a/src/components/private/marquee/Marquee.jsx
+++ b/src/components/private/marquee/Marquee.jsx
@@ -6,7 +6,7 @@ function Marquee() {
const paragraphs = [];
for (let i = 0; i < numParagraphs; i++) {
- paragraphs.push(
3.0 Registrations Opening soon
);
+ paragraphs.push(
Hack4Bengal 3.0 Registrations are Live
);
}
return (
diff --git a/src/components/private/mentors/Mentors.jsx b/src/components/private/mentors/Mentors.jsx
index d4f80bd..8ee6fd0 100644
--- a/src/components/private/mentors/Mentors.jsx
+++ b/src/components/private/mentors/Mentors.jsx
@@ -2,7 +2,7 @@ import React from "react";
import Marquee from "react-fast-marquee";
import HeaderData from "../../../assets/data/HeaderContent";
import { mentorContent } from "../../../assets/data/MentorsContent";
-import { Header } from "../../shared";
+import { ComingSoon, Header } from "../../shared";
import "./Mentors.scss";
import SingleMentors from "./singleMentors/SingleMentors";
@@ -10,14 +10,14 @@ function Mentors() {
return (
-
-
+
+ {/*
{mentorContent.map((mentor, index) => {
return ;
})}
-
+
*/}
- {
return ;
})}
-
+ */}
);
}
diff --git a/src/components/private/mentors/Mentors.scss b/src/components/private/mentors/Mentors.scss
index 904b900..e241f81 100644
--- a/src/components/private/mentors/Mentors.scss
+++ b/src/components/private/mentors/Mentors.scss
@@ -1,5 +1,6 @@
.mentors__parent {
padding: 4rem 7rem;
+ padding-bottom: 0;
margin-top: 8rem;
position: relative;
overflow: hidden;
diff --git a/src/components/private/prizes/Prizes.jsx b/src/components/private/prizes/Prizes.jsx
index 976bd3e..c2915e9 100644
--- a/src/components/private/prizes/Prizes.jsx
+++ b/src/components/private/prizes/Prizes.jsx
@@ -2,13 +2,36 @@ import React from "react";
import HeaderData from "../../../assets/data/HeaderContent";
import { ComingSoon, Header } from "../../shared";
import "./Prizes.scss";
+import first from "../../../assets/images/PrizesImages/first.png";
+import second from "../../../assets/images/PrizesImages/second.png";
+import third from "../../../assets/images/PrizesImages/third.png";
+import agun from "../../../assets/images/PrizesImages/agun.png";
const Prizes = () => {
return (
<>
-
+ {/*
*/}
+
+
+
+
+
TBD
+
1st Runner Up
+
+
+
+ {/*
*/}
+
TBD
+
Winner
+
+
+
+
TBD
+
2nd Runner Up
+
+
>
);
diff --git a/src/components/private/prizes/Prizes.scss b/src/components/private/prizes/Prizes.scss
index e4904f3..cbc66c5 100644
--- a/src/components/private/prizes/Prizes.scss
+++ b/src/components/private/prizes/Prizes.scss
@@ -1,5 +1,6 @@
.prizes__parent {
padding: 4rem 7rem;
+ padding-bottom: 0;
margin-top: 8rem;
position: relative;
overflow: hidden;
@@ -9,276 +10,98 @@
margin-top: 2rem;
}
- .red__blob {
- position: absolute;
- top: -34rem;
- left: -17rem;
- border-radius: 50%;
- z-index: 1;
- }
-
- .white__blob {
- position: absolute;
- border-radius: 50%;
- z-index: 1;
- transform: translate(-50%, -50%);
- left: 90%;
- top: 49%;
- }
-
- .prizes__topcards {
+ .prizes_container {
display: flex;
- z-index: 4;
- position: relative;
- justify-content: center;
- gap: 5rem;
- align-items: baseline;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ width: 90%;
+ margin: 0 auto;
+ margin-top: 6rem;
@media screen and (max-width: 576px) {
+ margin-top: 4rem;
flex-direction: column;
- gap: 4rem;
- margin-top: 5rem;
+ gap: 3rem;
}
- .prize_card {
- margin-top: 6rem;
- border: 1px solid transparent;
- padding: 1rem;
- border-radius: 10px;
- cursor: pointer;
- transition: all 0.4s ease-in-out;
- height: fit-content;
+ .prize_box {
display: flex;
flex-direction: column;
- justify-content: space-between;
align-items: center;
- border: 1px solid rgba(255, 23, 23, 0.5);
+ justify-content: center;
+ width: 30%;
- img {
- width: 85%;
- }
h1,
- h2 {
- font-size: 2rem;
- font-weight: 700;
+ p {
font-family: var(--heading-font);
- letter-spacing: 0em;
- text-align: center;
- }
-
- h1 {
- color: var(--h4bred);
- font-size: 2.7rem;
- font-weight: 800;
- }
-
- &:hover {
- transform: scale(1.05);
- box-shadow: 0px 0px 20px 0px rgba(255, 23, 23, 0.5);
- }
-
- @media screen and (max-width: 576px) {
- margin-top: 0;
- box-shadow: 0px 0px 20px 0px rgba(255, 23, 23, 0.5);
- border: 1px solid var(--h4bred);
-
- img {
- width: 70%;
- }
- h1,
- h2 {
- font-size: clamp(1.5rem, 2vw, 4rem);
- }
-
- h1 {
- font-size: clamp(2.2rem, 2vw, 4rem);
- }
}
- }
- }
-
- .prize__bottomcards {
- display: flex;
- margin-top: 8rem;
- justify-content: center;
- gap: 5rem;
- flex-wrap: wrap;
- position: relative;
- z-index: 3;
-
- @media screen and (max-width: 576px) {
- justify-content: space-between;
- gap: 0;
- }
-
- .prize__card {
- position: relative;
- -webkit-backface-visibility: hidden;
- width: 320px;
- position: relative;
- margin-bottom: 3px;
- max-width: 100%;
- cursor: pointer;
@media screen and (max-width: 576px) {
- width: 163px;
+ width: 80%;
+ margin: 0 auto;
}
- .prize__card_flipbox {
- -ms-transform-style: preserve-3d;
- transform-style: preserve-3d;
- -webkit-transform-style: preserve-3d;
- perspective: 1000px;
- -webkit-perspective: 1000px;
- margin-bottom: 10px;
-
- .front,
- .back {
- border-radius: 5px;
- background-image: url("../../assets/images/PrizesImages/PrizesBox2.png");
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
- border-radius: 8px;
- min-height: 420px;
- -ms-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
- transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
- -webkit-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
-
- -webkit-transform-style: preserve-3d;
- -ms-transform-style: preserve-3d;
- transform-style: preserve-3d;
- }
-
- .front {
- -ms-transform: rotateY(0deg);
- -webkit-transform: rotateY(0deg);
- transform: rotateY(0deg);
- overflow: hidden;
-
- .prize__img_banner {
- transform: rotate(-45deg);
- position: absolute;
- background-color: #1b1b1b;
- padding: 12px;
- width: 300px;
- top: 18rem;
- right: -5rem;
- text-align: center;
-
- img {
- width: 43%;
- }
-
- @media screen and (max-width: 576px) {
- width: 190px;
- top: 21rem;
- right: -3rem;
- }
- }
- }
-
- .back {
- position: absolute;
- top: 0;
- left: 0;
+ img {
+ @media screen and (max-width: 576px) {
width: 100%;
- -ms-transform: rotateY(180deg);
- -webkit-transform: rotateY(180deg);
- transform: rotateY(180deg);
- }
-
- &:hover .front {
- -ms-transform: rotateY(-180deg);
- -webkit-transform: rotateY(-180deg);
- transform: rotateY(-180deg);
- -webkit-transform-style: preserve-3d;
- -ms-transform-style: preserve-3d;
- transform-style: preserve-3d;
- }
-
- &:hover .back {
- -ms-transform: rotateY(0deg);
- -webkit-transform: rotateY(0deg);
- transform: rotateY(0deg);
- -webkit-transform-style: preserve-3d;
- -ms-transform-style: preserve-3d;
- transform-style: preserve-3d;
+ margin: 0 auto;
}
}
}
- }
-}
-
-.prize__card_header {
- position: absolute;
- left: 0;
- width: 100%;
- padding: 1rem;
- outline: 1px solid transparent;
- -webkit-perspective: inherit;
- perspective: inherit;
- z-index: 2;
-
- transform: translateY(-50%) translateZ(60px) scale(0.94);
- -webkit-transform: translateY(-50%) translateZ(60px) scale(0.94);
- -ms-transform: translateY(-50%) translateZ(60px) scale(0.94);
- top: 50%;
-
- text-align: center;
- h3 {
- font-family: var(--heading-font);
- font-weight: 700;
- font-size: 1.875rem;
- letter-spacing: 1px;
- }
-
- p {
- color: white;
- font-family: var(--heading-font);
- font-style: normal;
- font-weight: 600;
- font-size: 24px;
- letter-spacing: 1px;
- }
+ .first_prize {
+ h1 {
+ font-size: 3.7rem;
+ background: #ffffff;
+ background: linear-gradient(to right, #ffffff 0%, #ffc700 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+
+ @media screen and (max-width: 576px) {
+ font-size: 2.5rem;
+ }
+ }
- a {
- button {
- background-color: #ff1717;
- color: white;
- font-size: 16px;
- font-weight: 600;
- font-family: var(--body-font);
- padding: 10px;
- letter-spacing: 1px;
- border-radius: 6px;
- cursor: pointer;
- margin: auto;
+ p {
+ font-size: 2rem;
+ font-weight: 700;
+ }
}
- }
- @media screen and (max-width: 576px) {
- padding: 0;
- h3 {
- font-size: 1.4rem;
- }
+ .second_prize {
+ h1 {
+ font-size: 2.5rem;
+
+ background: #ffffff;
+ background: linear-gradient(to right, #ffffff 0%, #554c4c 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ @media screen and (max-width: 576px) {
+ font-size: 2.5rem;
+ }
+ }
- p {
- font-size: 1rem;
+ p {
+ font-size: 1.4rem;
+ font-weight: 700;
+ }
}
+ .third_prize {
+ h1 {
+ font-size: 2.5rem;
+
+ background: #ffffff;
+ background: linear-gradient(to right, #ffffff 0%, #ec8423 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ @media screen and (max-width: 576px) {
+ font-size: 2.5rem;
+ }
+ }
- a {
- button {
- background-color: transparent;
- border: none;
- color: var(--h4bred);
- font-size: 1rem;
+ p {
+ font-size: 1.4rem;
font-weight: 700;
- font-family: var(--heading-font);
- text-decoration: underline;
}
}
}
diff --git a/src/components/private/speakerschedule/SpeakerSchedule.jsx b/src/components/private/speakerschedule/SpeakerSchedule.jsx
index 57a8d09..1a7ee80 100644
--- a/src/components/private/speakerschedule/SpeakerSchedule.jsx
+++ b/src/components/private/speakerschedule/SpeakerSchedule.jsx
@@ -2,16 +2,18 @@ import React from "react";
import "./SpeakerSchedule.scss";
import SingleSpeaker from "./singlespeaker/SingleSpeaker";
import speakers from "../../../assets/data/SpeakersContent";
+import { Header } from "../../shared";
+import HeaderData from "../../../assets/data/HeaderContent";
const SpeakerSchedule = () => {
return (
-
Online Speaker Schedule
+
{
speakers.map(
- (speaker) => (
-
+ (speaker, index) => (
+
)
)
}
diff --git a/src/components/private/speakerschedule/SpeakerSchedule.scss b/src/components/private/speakerschedule/SpeakerSchedule.scss
index d6395d2..ca40f4f 100644
--- a/src/components/private/speakerschedule/SpeakerSchedule.scss
+++ b/src/components/private/speakerschedule/SpeakerSchedule.scss
@@ -1,9 +1,11 @@
.speakerschedule {
width: 100%;
+ height: 100vh;
overflow-x: hidden;
display: flex;
flex-direction: column;
align-items: center;
+ justify-content: center;
padding-block: 7rem;
padding-inline: 8rem;
gap: 7rem;
@@ -16,13 +18,6 @@
padding-inline: 2rem;
}
- .speakerschedule__title {
- margin-top: 4rem;
- font-family: var(--heading-font);
- font-weight: 500;
- text-align: center;
- }
-
.speakerschedule__container {
display: flex;
flex-wrap: wrap;
diff --git a/src/components/private/speakerschedule/singlespeaker/SingleSpeaker.jsx b/src/components/private/speakerschedule/singlespeaker/SingleSpeaker.jsx
index 01f4fa4..667eb0c 100644
--- a/src/components/private/speakerschedule/singlespeaker/SingleSpeaker.jsx
+++ b/src/components/private/speakerschedule/singlespeaker/SingleSpeaker.jsx
@@ -2,13 +2,11 @@ import React from "react";
import "./SingleSpeaker.scss";
import propTypes from "prop-types";
import { Link } from "react-router-dom";
-import dot from "../../../../assets/images/EventsImages/Icons/dot.svg";
const SingleSpeaker = ({ speaker }) => {
SingleSpeaker.propTypes = {
speaker: propTypes.shape({
image: propTypes.string,
- name: propTypes.string,
topic: propTypes.string,
date: propTypes.string,
time: propTypes.string,
@@ -28,11 +26,7 @@ const SingleSpeaker = ({ speaker }) => {
style={{
backgroundImage: `url(${speaker.image})`
}}
- >
-
- {speaker.name}
-
-
+ />
{speaker.topic}
@@ -40,10 +34,6 @@ const SingleSpeaker = ({ speaker }) => {
{speaker.date}
-
-
- {speaker.time}
-
{
diff --git a/src/components/private/testimonials/Testimonials.scss b/src/components/private/testimonials/Testimonials.scss
index fbc512b..a695071 100644
--- a/src/components/private/testimonials/Testimonials.scss
+++ b/src/components/private/testimonials/Testimonials.scss
@@ -1,5 +1,6 @@
.testimonials__parent {
padding: 4rem 7rem;
+ padding-bottom: 0;
margin-top: 8rem;
position: relative;
overflow: hidden;
@@ -35,7 +36,7 @@
.testimonials__card_footer {
display: flex;
- align-items: start;
+ align-items: center;
gap: 1rem;
margin-top: 1.8rem;
@@ -50,11 +51,11 @@
font-size: 1.2rem;
font-weight: 700;
line-height: 1;
- color: #FF1F1F;
+ color: #ff1f1f;
@media screen and (max-width: 576px) {
font-size: 1rem;
- color: #FF6161;
+ color: #ff6161;
}
}
diff --git a/src/components/private/themes/Theme.scss b/src/components/private/themes/Theme.scss
index 8a683bd..1c57770 100644
--- a/src/components/private/themes/Theme.scss
+++ b/src/components/private/themes/Theme.scss
@@ -1,5 +1,6 @@
.theme__parent {
padding: 4rem 7rem;
+ padding-bottom: 0;
margin-top: 8rem;
position: relative;
overflow: hidden;
diff --git a/src/components/private/timeline/Modal.scss b/src/components/private/timeline/Modal.scss
new file mode 100644
index 0000000..585dc15
--- /dev/null
+++ b/src/components/private/timeline/Modal.scss
@@ -0,0 +1,90 @@
+
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1000;
+ animation: fadeIn 0.3s ease-in-out;
+
+ &__content {
+ background: #393939;
+ padding: 10px 10px 10px 30px;
+ border-radius: 10px;
+ position: relative;
+ height: 480px;
+ width: 480px;
+ transform: scale(0.7);
+ animation: scaleIn 0.3s ease-in-out forwards;
+ @media screen and (max-width: 549px) {
+ height: 400px;
+ width: 400px;
+ }
+ @media screen and (max-width: 400px) {
+ height: 400px;
+ width: 350px;
+ }
+ @media screen and (max-width: 370px) {
+ height: 400px;
+ width: 300px;
+ }
+ @media screen and (max-width: 300px) {
+ height: 400px;
+ width: 280px;
+ }
+
+ }
+
+ &__close {
+ display: flex;
+ justify-content: flex-end;
+ padding: 20px 20px 5px 20px;
+ button {
+ background: transparent;
+ border: none;
+ outline: none;
+ cursor: pointer;
+ }
+ }
+
+
+ ol {
+ :nth-child(1) {
+ margin-top: 10px;
+ }
+ li {
+ color: #fff;
+ font-family: var(--body-font);
+ padding: 10px 5px;
+ }
+ }
+}
+
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+
+@keyframes scaleIn {
+ from {
+ transform: scale(0.9);
+ }
+ to {
+ transform: scale(1);
+ }
+}
+
+
+
+
+
diff --git a/src/components/private/timeline/Modal.tsx b/src/components/private/timeline/Modal.tsx
new file mode 100644
index 0000000..7922c81
--- /dev/null
+++ b/src/components/private/timeline/Modal.tsx
@@ -0,0 +1,28 @@
+import React from "react";
+import "./Modal.scss";
+
+const Modal = ({ closeModal }) => {
+ return (
+
+
+
+
+ Registration opens on June 1, 2024, and closes on June 24, 2024.
+ The hackathon takes place from June 28, 2024, to June 30, 2024.
+ The judging round, winner announcement, and closing ceremony will all occur on June 30, 2024.
+
+
+
+ );
+};
+
+export default Modal;
diff --git a/src/components/private/timeline/Timeline.jsx b/src/components/private/timeline/Timeline.jsx
deleted file mode 100644
index dff572d..0000000
--- a/src/components/private/timeline/Timeline.jsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import React from "react";
-import ghori from "../../../assets/images/timer/ghori.png";
-import letters from "../../../assets/images/timer/letters.png";
-import mask from "../../../assets/images/timer/mask.png";
-import "./Timeline.scss";
-
-const Timeline = () => {
- return (
- <>
-
- {/*
*/}
- {/*
*/}
-
-
-
-
-
-
- Journey Begins In
-
-
-
-
-
-
:
-
-
-
-
:
-
-
- {/*
:
-
-
*/}
-
-
-
-
-
-
- >
- );
-};
-
-export default Timeline;
diff --git a/src/components/private/timeline/Timeline.scss b/src/components/private/timeline/Timeline.scss
index a595e8e..308e29d 100644
--- a/src/components/private/timeline/Timeline.scss
+++ b/src/components/private/timeline/Timeline.scss
@@ -1,140 +1,161 @@
-.timeline__parent {
- padding: 0rem 0rem;
- margin-top: 0rem;
- position: relative;
- overflow: hidden;
-
- @media screen and (max-width: 576px) {
- padding: 3rem 1.5rem;
- }
-
- .body {
- display: flex;
- align-items: center;
-
- @media screen and (max-width: 576px) {
- justify-content: center;
+.timeline {
+ margin-top: 2rem;
+ padding: 4rem 5rem 8rem 5rem;
+
+ @media screen and (max-width: 768px) {
+ padding: 1rem;
+ }
+ @media screen and (max-width: 344px) {
+ padding: 1rem;
+ }
+ .header__parent{
+ position: relative;
+ h1{
+ letter-spacing: 0.2rem !important;
+ }
+ h2{
+ position: absolute;
+ // top: 5px;
}
-
- .timer {
+ }
+ .timeline__content {
display: flex;
- flex-direction: column;
justify-content: center;
- align-items: center;
- gap: 4rem;
- margin-top: -4rem;
-
- @media screen and (max-width: 576px) {
- margin-top: 0rem;
- gap: 3rem;
+ align-items: flex-start;
+ flex-wrap: wrap;
+ gap: 8rem;
+ margin-top: 8rem;
+
+ @media screen and (max-width: 900px) {
+ padding: 2rem;
+ gap:4rem 9rem ;
}
-
- .header_1 {
- font-family: "Montserrat", sans-serif;
- letter-spacing: 2px;
- font-size: 100px;
- text-align: center;
- color: white;
- font-weight: 800;
- line-height: 1;
- z-index: 1;
-
- @media screen and (max-width: 576px) {
- font-size: 48px;
- }
+ @media screen and (max-width: 412px) {
+ padding: 2rem 1rem;
+ gap: 2rem 4rem ;
+ }
+ @media screen and (max-width: 540px) {
+ gap: 2rem 6rem;
+ }
+ @media screen and (max-width: 400px) {
+ gap: 2rem 4rem;
}
-
- .countdown {
+
+
+
+ .timeline__event {
display: flex;
- justify-content: center;
align-items: center;
- gap: 1rem;
- z-index: 1;
-
- @media screen and (max-width: 576px) {
- gap: 10px;
+ flex-direction: column;
+ justify-content: center;
+
+ .timeline__d-flex {
+ display: flex;
+ align-items: center;
+ position: relative;
+ justify-content: space-between;
+
+ .timeline__number {
+ font-size: clamp(5rem, 12vw, 12rem);
+ font-weight: bolder;
+ font-family: var(--body-font);
+ position: relative;
+ margin-right: 2rem;
+
+ &.active {
+ color: #ffffff;
+ }
+
+ &.inactive {
+ color: #646464;
+ }
+ }
+
+
+ .timeline__circle_details {
+ position: absolute;
+ border-radius: 50%;
+ width: 7rem;
+ height: 7rem;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ left: 96%;
+ transform: translateX(-50%);
+ overflow: hidden;
+
+ @media screen and (max-width: 1024px) {
+ left: 103%;
+ }
+ @media screen and (max-width: 860px) {
+ left: 109%;
+ }
+ @media screen and (max-width: 820px) {
+ width: 6rem;
+ height: 6rem;
+ left: 100%;
+ }
+
+ @media screen and (max-width: 540px) {
+ width: 5rem;
+ left: 108%;
+ height: 5rem;
+ left: 93%;
+ }
+ img {
+ height: 100%;
+ width: 100%;
+ display: block;
+ border-radius: 50%;
+ background-color: #1b1b1b;
+ }
+
+ p {
+ font-family: var(--body-font);
+ font-size: 1rem;
+ position: absolute;
+ color: white;
+ padding: 5px;
+
+ @media screen and (max-width: 853px) {
+ font-size: 0.7rem;
+ }
+ }
+ }
}
-
- .time {
- font-family: "Montserrat", sans-serif;
- font-size: 60px;
+
+ .timeline__date {
+ padding: 0.5rem;
text-align: center;
- color: white;
- font-weight: 800;
- line-height: 1;
- background-color: #2a2727;
- padding: 1rem;
- border-radius: 18px;
-
+ background-color: red;
+ width: 100%;
+ border-radius: 5px;
+ font-family: var(--body-font);
+ font-size: 12px;
+ font-weight: 600;
+ cursor: pointer;
+ color: #ffffff;
+ border: none;
+ width:120px;
+ outline:none;
+ @media screen and (max-width: 900px) {
+ width: 100px;
+ }
@media screen and (max-width: 576px) {
- font-size: 28px;
+ font-size: 0.75rem;
+ padding: 0.25rem;
}
-
- p:nth-child(2) {
- font-size: 18px;
- font-weight: 600;
-
- @media screen and (max-width: 576px) {
- font-size: 15px;
- }
+ @media screen and (max-width: 320px) {
+ width: 90px;
+ }
+ @media screen and (max-width: 250px) {
+ width: auto;
+ padding-left:7px ;
+ padding-right: 7px;
}
- }
-
- .colon {
- font-size: 60px;
}
}
}
}
-
- .mask {
- right: 0;
- top: 0;
- position: absolute;
- width: 40%;
-
- @media screen and (max-width: 576px) {
- width: 100%;
- }
- }
-
- .letters {
- width: 50%;
- opacity: 0.7;
- right: 9rem;
- top: 6rem;
- position: absolute;
-
- @media screen and (max-width: 576px) {
- display: none;
- }
- }
-
- .ghori {
- width: 55%;
-
- @media screen and (max-width: 576px) {
- display: none;
- }
- }
-
- .text {
- width: 35%;
- }
-}
-
-.colon {
- animation: blink 2s infinite; // Adjust the animation duration as needed
-}
-
-@keyframes blink {
- 0% {
- opacity: 1;
- }
- 50% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
-}
+
\ No newline at end of file
diff --git a/src/components/private/timeline/Timeline.tsx b/src/components/private/timeline/Timeline.tsx
new file mode 100644
index 0000000..a933592
--- /dev/null
+++ b/src/components/private/timeline/Timeline.tsx
@@ -0,0 +1,61 @@
+import React, { useState, useEffect } from "react";
+import "./Timeline.scss";
+import HeaderData from "../../../assets/data/HeaderContent";
+import { Header } from "../../shared";
+import { EventTimeline } from "../../../assets/data/Timeline";
+import Modal from "./Modal";
+
+const Timeline = () => {
+ const [currentDate, setCurrentDate] = useState(new Date());
+ const [isModalOpen, setIsModalOpen] = useState(false);
+
+ useEffect(() => {
+ const interval = setInterval(() => {
+ setCurrentDate(new Date());
+ }, 1000);
+ return () => {
+ clearInterval(interval);
+ };
+ }, []);
+
+ const closeModal = () => {
+ setIsModalOpen(false);
+ };
+
+ return (
+ <>
+ {isModalOpen &&
}
+
+
+
+ {EventTimeline.map((event, index) => (
+
+
+
event.date ? "active" : "inactive"
+ }`}
+ >
+ {event.number}
+
+
+
+
{event.circleText}
+
+
+
{setIsModalOpen(true)}}
+ >
+ {event.displayDate}
+
+
+ ))}
+
+
+ >
+ );
+};
+
+export default Timeline;
diff --git a/src/components/private/timer/Timer.jsx b/src/components/private/timer/Timer.jsx
new file mode 100644
index 0000000..e964f72
--- /dev/null
+++ b/src/components/private/timer/Timer.jsx
@@ -0,0 +1,105 @@
+import React, { useEffect, useState } from "react";
+import ghori from "../../../assets/images/timer/ghori.png";
+import letters from "../../../assets/images/timer/letters.png";
+import mask from "../../../assets/images/timer/mask.png";
+import "./Timer.scss";
+
+const Timer = () => {
+ const calculateTimeLeft = () => {
+ const targetDate = new Date("2024-06-28T18:00:00");
+ const now = new Date();
+ const difference = targetDate - now;
+
+ let timeLeft = {};
+
+ if (difference > 0) {
+ timeLeft = {
+ days: Math.floor(difference / (1000 * 60 * 60 * 24)),
+ hours: Math.floor((difference / (1000 * 60 * 60)) % 24),
+ minutes: Math.floor((difference / 1000 / 60) % 60),
+ seconds: Math.floor((difference / 1000) % 60),
+ };
+ } else {
+ timeLeft = {
+ days: 0,
+ hours: 0,
+ minutes: 0,
+ seconds: 0,
+ };
+ }
+
+ return timeLeft;
+ };
+
+ const [timeLeft, setTimeLeft] = useState(calculateTimeLeft());
+
+ useEffect(() => {
+ const timer = setInterval(() => {
+ setTimeLeft(calculateTimeLeft());
+ }, 1000);
+
+ return () => clearInterval(timer);
+ }, []);
+
+ return (
+ <>
+
+
+
+
+
+
+ Journey Begins In
+
+
+
+
+
+ {timeLeft?.days < 10 ? `0${timeLeft?.days}` : timeLeft?.days}
+
+
Days
+
+
+
:
+
+
+
+ {timeLeft?.hours < 10
+ ? `0${timeLeft?.hours}`
+ : timeLeft?.hours}
+
+
Hours
+
+
+
:
+
+
+
+ {timeLeft?.minutes < 10
+ ? `0${timeLeft?.minutes}`
+ : timeLeft?.minutes}
+
+
Mins
+
+
+
:
+
+
+
+ {timeLeft?.seconds < 10
+ ? `0${timeLeft?.seconds}`
+ : timeLeft?.seconds}
+
+
Secs
+
+
+
+
+
+
+
+ >
+ );
+};
+
+export default Timer;
diff --git a/src/components/private/timer/Timer.scss b/src/components/private/timer/Timer.scss
new file mode 100644
index 0000000..92c8b5c
--- /dev/null
+++ b/src/components/private/timer/Timer.scss
@@ -0,0 +1,193 @@
+.timeline__parent {
+ padding: 4rem 0rem;
+ padding-top: 0;
+ margin-top: 0rem;
+ position: relative;
+ overflow: hidden;
+
+ @media screen and (max-width: 576px) {
+ padding: 3rem 1.5rem;
+ }
+
+ .body {
+ display: flex;
+ align-items: center;
+
+ @media screen and (max-width: 850px) {
+ justify-content: center;
+ }
+
+ .timer {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 4rem;
+ margin-top: -4rem;
+
+ @media screen and (max-width: 1120px) {
+ margin-top: 0rem;
+ }
+
+ @media screen and (max-width: 850px) {
+ margin-top: 5rem;
+ }
+
+ @media screen and (max-width: 576px) {
+ margin-top: 0rem;
+ gap: 3rem;
+ }
+
+ .header_1 {
+ font-family: "Montserrat", sans-serif;
+ letter-spacing: 2px;
+ font-size: 77px;
+ text-align: center;
+ color: white;
+ font-weight: 800;
+
+ z-index: 1;
+
+ background: #ffffff;
+ background: linear-gradient(to right, #ffffff 0%, #ff0000 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+
+ @media screen and (max-width: 1120px) {
+ font-size: 60px;
+ }
+
+ @media screen and (max-width: 576px) {
+ font-size: 48px;
+ }
+ }
+
+ .countdown {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+ z-index: 1;
+
+ @media screen and (max-width: 1120px) {
+ gap: 5px;
+ }
+
+ @media screen and (max-width: 576px) {
+ gap: 10px;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ width: 90%;
+ row-gap: 20px;
+ justify-content: center;
+ .colon {
+ justify-content: center;
+ display: flex;
+ }
+ }
+
+ .time {
+ font-family: "Montserrat", sans-serif;
+ font-size: 60px;
+ text-align: center;
+ color: white;
+ font-weight: 800;
+ line-height: 1;
+ background-color: #2a2727;
+ padding: 1rem;
+ border-radius: 18px;
+ width: 115px;
+ height: 115px;
+
+ @media screen and (max-width: 1120px) {
+ font-size: 30px;
+ }
+
+ @media screen and (max-width: 576px) {
+ font-size: 35px;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ padding: 0.5rem;
+ }
+
+ p:nth-child(2) {
+ font-size: 18px;
+ font-weight: 600;
+
+ @media screen and (max-width: 576px) {
+ font-size: 15px;
+ }
+ }
+ }
+
+ .colon {
+ font-size: 60px;
+ }
+
+ .hidecolon {
+ @media screen and (max-width: 576px) {
+ display: none;
+ }
+ }
+ }
+ }
+ }
+
+ .mask {
+ right: 0;
+ top: 0;
+ position: absolute;
+ width: 45%;
+
+ @media screen and (max-width: 576px) {
+ width: 100%;
+ }
+ }
+
+ .letters {
+ width: 45%;
+ opacity: 0.7;
+ right: 9rem;
+ top: 10rem;
+ position: absolute;
+
+ @media screen and (max-width: 576px) {
+ display: none;
+ }
+ }
+
+ .ghori {
+ width: 55%;
+
+ @media screen and (max-width: 1200px) {
+ width: 45%;
+ }
+
+ @media screen and (max-width: 850px) {
+ display: none;
+ }
+ }
+
+ .text {
+ width: 35%;
+ }
+}
+
+.colon {
+ animation: blink 2s infinite; // Adjust the animation duration as needed
+}
+
+@keyframes blink {
+ 0% {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
\ No newline at end of file
diff --git a/src/components/shared/button/Button.jsx b/src/components/shared/button/Button.jsx
index 474aaaa..a3212f6 100644
--- a/src/components/shared/button/Button.jsx
+++ b/src/components/shared/button/Button.jsx
@@ -1,9 +1,9 @@
import PropTypes from "prop-types";
import React from "react";
-import { Link } from "react-router-dom";
+import {Link} from "react-router-dom";
import "./Button.scss";
-const Button = ({ type, isLoading, isDisabled, to, onClick, children }) => {
+const Button = ({type, isLoading, isDisabled, to, onClick, children}) => {
const buttonClass = `button ${type} ${isLoading ? "loading" : ""}`;
if (to) {
diff --git a/src/components/shared/footer/Footer.jsx b/src/components/shared/footer/Footer.jsx
index 80ddf2f..68f4dad 100644
--- a/src/components/shared/footer/Footer.jsx
+++ b/src/components/shared/footer/Footer.jsx
@@ -1,15 +1,53 @@
-import React from "react";
+import React, { useState } from "react";
import { Link } from "react-router-dom";
import footerContent from "../../../assets/data/FooterContent";
+import gradient from "../../../assets/images/FooterImages/gradient.png";
import h4b from "../../../assets/images/FooterImages/hack4bengalbrand.webp";
+import taxi from "../../../assets/images/FooterImages/taxi.png";
+import tram from "../../../assets/images/FooterImages/tram.png";
import "./Footer.scss";
const Footer = () => {
+ const [hover, setHover] = useState({
+ applyCss: false,
+ showText: false,
+ });
+
return (
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ Brand Assets
+
+
+ Code Of Conduct
+
+
+
+
+
+
+
{footerContent.socials.map((social, index) => (
{
))}
-
-
-
-
{
- window.scrollTo({
- top: 0,
- behavior: "smooth",
- });
- }}
- >
-
Back to top
-
-
-
-
-
-
-
- Visit Season 1
-
-
- {footerContent.prevSeason.text}
-
-
-
+
+
-
-
- {/*
*/}
-
-
+
+
+
Checkout our Previous Seasons
+
);
diff --git a/src/components/shared/footer/Footer.scss b/src/components/shared/footer/Footer.scss
index 91ee77a..a4a7d55 100644
--- a/src/components/shared/footer/Footer.scss
+++ b/src/components/shared/footer/Footer.scss
@@ -3,219 +3,293 @@
bottom: 0;
left: 0;
overflow: hidden;
- width: 100%;
- padding: 2.5rem 3rem;
+ margin: auto;
font-family: var(--heading-font);
+ height: 600px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ @media screen and (max-width: 850px) {
+ height: auto;
+ padding-bottom: 3rem;
+ }
- .footer__content {
+ .footer_flexdiv {
display: flex;
- flex-direction: column;
- gap: 0.5rem;
-
- .footer__content__top {
- display: inline-flex;
- justify-content: space-between;
- align-items: flex-start;
- flex-shrink: 0;
+ justify-content: space-between;
+ padding: 0 9rem;
+ margin-top: auto;
+ align-items: end;
- .footer__content__top__socials {
- display: flex;
- gap: 0.75rem;
- justify-content: center;
- align-items: center;
-
- img {
- $size: 2rem;
- width: 2rem;
- height: $size;
- flex-shrink: 0;
- transition: all 0.2s ease-in-out;
+ .h4b_logo {
+ width: 20rem;
+ margin-left: -5px;
- &:hover {
- opacity: 0.8;
- }
- }
+ @media screen and (max-width: 850px) {
+ width: 18rem;
}
+ }
- @media screen and (max-width: 768px) {
- flex-direction: column-reverse;
- align-items: center;
- gap: 1.5rem;
- }
+ .h4b_logo_2 {
+ display: none;
}
- .footer__content__bottom {
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
+ @media screen and (max-width: 850px) {
+ flex-direction: column;
+ gap: 1.5rem;
+ padding: 0rem 1.5rem;
+ justify-content: center;
+ align-items: center;
+ }
- .footer__content__bottom__links {
- display: inline-flex;
+ .footer_content {
+ @media screen and (max-width: 850px) {
flex-direction: column;
- align-items: flex-start;
- gap: 1.0625rem;
- text-align: center;
- font-size: 1rem;
- font-style: normal;
- font-weight: 500;
- line-height: normal;
-
- a {
- text-decoration: none;
- }
-
- .footer__content__bottom__general__links {
- display: flex;
- flex-direction: column;
- gap: 1.0625rem;
- align-items: flex-start;
+ gap: 1rem;
+ justify-content: center;
+ align-items: center;
+ }
- @media screen and (max-width: 576px) {
- flex-direction: row;
- align-items: center;
- }
- }
+ .footer_policy {
+ display: flex;
+ align-items: center;
+ gap: 1.1rem;
- .footer__content__bottom__link {
+ a {
+ font-size: 15px;
+ font-weight: 500;
color: var(--alt-color);
- text-transform: capitalize;
transition: all 0.2s ease-in-out;
+ font-family: var(--heading-font);
+ text-decoration: none;
&:hover {
- opacity: 0.8;
- }
-
- @media screen and (max-width: 576px) {
- text-align: center;
+ cursor: pointer;
+ color: var(--h4bred);
}
}
+ }
+ .footer_email {
+ margin-top: 1.2rem;
+ display: flex;
+ flex-direction: column;
+ gap: 1.2rem;
- .footer__content__bottom__mailhead {
- color: #969696;
+ @media screen and (max-width: 850px) {
+ align-items: center;
}
- .footer__content__bottom__mail {
- color: #FF6161;
- text-transform: lowercase;
+ p {
+ font-size: 15px;
+ font-weight: 500;
+ color: var(--alt-color);
transition: all 0.2s ease-in-out;
+ font-family: var(--heading-font);
+ opacity: 0.6;
+ }
+
+ a {
+ color: var(--h4bred);
+ text-decoration: none;
+ font-weight: 600;
+ font-size: 15px;
+ transition: all 0.2s ease-in-out;
&:hover {
- opacity: 0.8;
+ color: var(--h4bred);
}
}
+ }
+ }
+ }
+
+ .previous_season {
+ @media screen and (min-width: 851px) {
+ display: none;
+ }
- @media screen and (max-width: 576px) {
+ .footer_content {
+ .footer_policy {
+ a {
+ background-color: #131313;
+ width: 40px;
+ height: 40px;
+ display: flex;
+ justify-content: center;
align-items: center;
+ border-radius: 8px;
+ transition: all 0.2s ease-in-out;
+ border: 1px solid var(--h4bred);
}
}
+ }
+ }
- .foooter__backtotop {
- display: flex;
- align-items: center;
- justify-content: center;
- cursor: pointer;
- p {
- margin-bottom: 0;
- }
- }
+ .footer_flexdiv:nth-of-type(2) {
+ margin-top: 4rem;
- .footer__prev__season {
- display: flex;
- flex-direction: column;
- gap: 1rem;
+ @media screen and (max-width: 850px) {
+ margin-top: 0rem;
+ margin-bottom: 1.5rem;
+ }
+ }
- .footer__content__bottom__prevseason {
- color: var(--alt-color);
- font-size: 1rem;
- font-style: normal;
- font-weight: 500;
- line-height: normal;
- text-transform: capitalize;
- text-decoration: none;
- transition: opacity 0.2s ease-in-out;
- white-space: nowrap;
+ .footer_flexdiv_special {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: auto;
+ position: absolute;
+ bottom: 1rem;
+ cursor: pointer;
+ transition: all 2s ease-in-out;
+ left: 46%;
+ transform: translateX(-50%);
+
+ @media screen and (max-width: 850px) {
+ display: none;
+ }
- &:hover {
- opacity: 0.8;
- }
+ p {
+ padding-top: 20px;
+ font-size: 1rem;
+ font-weight: 600;
+ color: var(--h4bred);
+ transition: all 1.3s ease-in-out;
+ font-family: var(--heading-font);
+ text-decoration: none;
+ }
- @media screen and (max-width: 768px) {
- padding-right: unset;
- }
+ img {
+ width: 30%;
+ opacity: 0;
+ transition: all 2s ease-in-out;
+ }
- @media screen and (max-width: 576px) {
- text-align: center;
- }
+ .season_linkdiv {
+ position: absolute;
+ bottom: 15px;
+ left: 63%;
+ width: 100%;
+ transform: translateX(-50%);
+
+ display: flex;
+ gap: 1.2rem;
+ justify-content: center;
+ align-items: center;
+
+ a {
+ color: var(--h4bred);
+ text-decoration: none;
+ font-weight: 600;
+ font-size: 17px;
+ transition: all 1.5s ease-in-out;
+ opacity: 0;
+ &:hover {
+ color: var(--h4bred);
}
+ }
+ }
+
+ &:hover {
+ img {
+ animation: taxiAnimation 2s ease-in-out forwards;
+ }
- @media screen and (max-width: 576px){
- flex-direction: row;
+ p {
+ transition: all 1.3s ease-in-out;
+ opacity: 0;
+ }
+
+ .season_linkdiv {
+ a {
+ transition: all 1.5s ease-in-out;
+ opacity: 1;
+ z-index: 99;
}
}
+ }
- @media screen and (max-width: 576px) {
- flex-direction: column;
- align-items: center;
- gap: 1.5rem;
+ @keyframes taxiAnimation {
+ 0% {
+ opacity: 0;
+ transform: translateX(0);
+ }
+ 33.33% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+ 66.66% {
+ opacity: 1;
+ transform: translateX(calc(300% + 0.9rem));
+ }
+ 100% {
+ opacity: 0;
+ transform: translateX(calc(300% + 0.9rem));
}
}
+ }
- @media screen and (max-width: 768px) {
- gap: 1.5rem;
+ .footer_socials {
+ display: flex;
+ gap: 1.4rem;
+ justify-content: center;
+ align-items: center;
+ z-index: 3;
+
+ @media screen and (max-width: 850px) {
+ gap: 1rem;
+ margin-top: 1.5rem;
+ }
+
+ img {
+ width: 1.8rem;
+ height: 1.8rem;
+ transition: all 0.2s ease-in-out;
+
+ &:hover {
+ opacity: 0.8;
+ }
}
}
- .footer__bg_overlay {
+ .footer_gradient {
position: absolute;
- width: 100%;
- height: 100%;
bottom: 0;
- left: 0;
- z-index: -1;
- background-color: #00000010;
+ right: -2px;
+ width: 46%;
+ height: 111%;
+ z-index: 1;
+
+ @media screen and (max-width: 850px) {
+ width: 105%;
+ }
}
- .footer__bg {
+ .footer_tram {
position: absolute;
- width: 100%;
- height: 100%;
- bottom: 0;
- left: 0;
- z-index: -1;
- backdrop-filter: blur(10.5px);
- mix-blend-mode: overlay;
-
- .footer_bg__img {
- position: absolute;
- height: max-content;
- bottom: 0;
- left: 0;
- width: 100vw;
- height: 100%;
- z-index: -2;
- object-fit: cover;
+ top: 200px;
+ right: 0;
+ height: 334px;
+ width: 720px;
+ z-index: 2;
+
+ @media screen and (max-width: 1120px) {
+ top: 200px;
+ right: 0;
+ height: fit-content;
+ width: 720px;
}
- .footer__bg__left {
- position: absolute;
- width: 50.68788rem;
- height: 48.875rem;
- left: -25.38rem;
- bottom: -24.44rem;
- border-radius: 50.68788rem;
- background: #d5d5d51c;
- filter: blur(315.58453369140625px);
+ @media screen and (max-width: 1080px) {
+ top: 200px;
+ right: 0;
+ width: 500px;
}
- .footer__bg__right {
- position: absolute;
- width: 33.54256rem;
- height: 32.34294rem;
- right: -17.86rem;
- bottom: -17.2rem;
- border-radius: 33.54256rem;
- background: #ff1717;
- filter: blur(363.6622619628906px);
+ @media screen and (max-width: 850px) {
+ display: none;
}
}
}
diff --git a/src/components/shared/header/Header.jsx b/src/components/shared/header/Header.jsx
index 1f6a39e..9548158 100644
--- a/src/components/shared/header/Header.jsx
+++ b/src/components/shared/header/Header.jsx
@@ -19,9 +19,11 @@ const Header = ({ ...data }) => {
const backWordStyles = {
fontSize:
- windowWidth > 700
- ? data.backWordSize || "150px"
- : data.backWordSize_mobile,
+ windowWidth < 900
+ ? "100px"
+ : windowWidth > 700
+ ? data.backWordSize || "150px"
+ : data.backWordSize_mobile,
letterSpacing:
windowWidth > 700
? data.backWordSpacing || "0.8rem"
diff --git a/src/components/shared/loading/Loading.css b/src/components/shared/loading/Loading.css
new file mode 100644
index 0000000..31c636a
--- /dev/null
+++ b/src/components/shared/loading/Loading.css
@@ -0,0 +1,211 @@
+.loading_parent {
+ color: var(--bg);
+ background-color: var(--fg);
+ display: grid;
+ place-items: center;
+ align-content: center;
+ height: 100vh;
+ letter-spacing: 0.1em;
+}
+
+.loading_parent > p {
+ font-family: var(--body-font);
+ text-transform: capitalize;
+ text-align: center;
+ font-weight: bold;
+ font-size: 1.5em;
+}
+
+.hexagon {
+ margin-bottom: 1.5em;
+ overflow: hidden;
+ position: relative;
+ width: 15em;
+ height: 15em;
+}
+.hexagon__group,
+.hexagon__sector,
+.hexagon__sector:before,
+.hexagon__sector:after {
+ position: absolute;
+}
+.hexagon__group {
+ width: 100%;
+ height: 100%;
+}
+.hexagon__group:nth-child(2) .hexagon__sector,
+.hexagon__group:nth-child(2) .hexagon__sector:before,
+.hexagon__group:nth-child(2) .hexagon__sector:after {
+ animation-delay: calc(var(--dur) * -1 / 6);
+}
+.hexagon__group:nth-child(3) .hexagon__sector,
+.hexagon__group:nth-child(3) .hexagon__sector:before,
+.hexagon__group:nth-child(3) .hexagon__sector:after {
+ animation-delay: calc(var(--dur) * -2 / 6);
+}
+.hexagon__group:nth-child(4) .hexagon__sector,
+.hexagon__group:nth-child(4) .hexagon__sector:before,
+.hexagon__group:nth-child(4) .hexagon__sector:after {
+ animation-delay: calc(var(--dur) * -3 / 6);
+}
+.hexagon__group:nth-child(5) .hexagon__sector,
+.hexagon__group:nth-child(5) .hexagon__sector:before,
+.hexagon__group:nth-child(5) .hexagon__sector:after {
+ animation-delay: calc(var(--dur) * -4 / 6);
+}
+.hexagon__group:nth-child(6) .hexagon__sector,
+.hexagon__group:nth-child(6) .hexagon__sector:before,
+.hexagon__group:nth-child(6) .hexagon__sector:after {
+ animation-delay: calc(var(--dur) * -5 / 6);
+}
+.hexagon__group:nth-child(odd) {
+ transform: rotate(30deg);
+}
+.hexagon__sector,
+.hexagon__sector:before,
+.hexagon__sector:after {
+ animation-duration: var(--dur);
+ animation-iteration-count: infinite;
+ animation-timing-function: linear;
+ /*animation-play-state: paused;*/
+ width: 0.2em;
+ height: 0.2em;
+}
+.hexagon__sector {
+ animation-name: moveOut1;
+ top: calc(50% - 0.1em);
+ left: calc(50% - 0.1em);
+}
+.hexagon__sector:nth-child(2) {
+ animation-name: moveOut2;
+}
+.hexagon__sector:nth-child(3) {
+ animation-name: moveOut3;
+}
+.hexagon__sector:nth-child(4) {
+ animation-name: moveOut4;
+}
+.hexagon__sector:nth-child(5) {
+ animation-name: moveOut5;
+}
+.hexagon__sector:nth-child(6) {
+ animation-name: moveOut6;
+}
+.hexagon__sector:before,
+.hexagon__sector:after {
+ animation-name: ripple;
+ background-color: currentColor;
+ border-radius: 0.1em;
+ content: "";
+ display: block;
+ top: 0;
+ left: 0;
+ transform-origin: 0.1em 0.1em;
+}
+.hexagon__sector:before {
+ transform: rotate(-30deg);
+}
+.hexagon__sector:after {
+ transform: rotate(-150deg);
+}
+/* Dark theme */
+@media (prefers-color-scheme: dark) {
+ :root {
+ --bg: #17181c;
+ --fg: #e3e4e8;
+ }
+}
+/* Animations */
+@keyframes moveOut1 {
+ from {
+ transform: translateY(0) scale(0);
+ }
+ 3% {
+ transform: translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: translateY(7.3em) scale(1);
+ }
+ to {
+ transform: translateY(7.5em) scale(0);
+ }
+}
+@keyframes moveOut2 {
+ from {
+ transform: rotate(60deg) translateY(0) scale(0);
+ }
+ 3% {
+ transform: rotate(60deg) translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: rotate(60deg) translateY(7.3em) scale(1);
+ }
+ to {
+ transform: rotate(60deg) translateY(7.5em) scale(0);
+ }
+}
+@keyframes moveOut3 {
+ from {
+ transform: rotate(120deg) translateY(0) scale(0);
+ }
+ 3% {
+ transform: rotate(120deg) translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: rotate(120deg) translateY(7.3em) scale(1);
+ }
+ to {
+ transform: rotate(120deg) translateY(7.5em) scale(0);
+ }
+}
+@keyframes moveOut4 {
+ from {
+ transform: rotate(180deg) translateY(0) scale(0);
+ }
+ 3% {
+ transform: rotate(180deg) translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: rotate(180deg) translateY(7.3em) scale(1);
+ }
+ to {
+ transform: rotate(180deg) translateY(7.5em) scale(0);
+ }
+}
+@keyframes moveOut5 {
+ from {
+ transform: rotate(240deg) translateY(0) scale(0);
+ }
+ 3% {
+ transform: rotate(240deg) translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: rotate(240deg) translateY(7.3em) scale(1);
+ }
+ to {
+ transform: rotate(240deg) translateY(7.5em) scale(0);
+ }
+}
+@keyframes moveOut6 {
+ from {
+ transform: rotate(300deg) translateY(0) scale(0);
+ }
+ 3% {
+ transform: rotate(300deg) translateY(0.2em) scale(1);
+ }
+ 97% {
+ transform: rotate(300deg) translateY(7.3em) scale(1);
+ }
+ to {
+ transform: rotate(300deg) translateY(7.5em) scale(0);
+ }
+}
+@keyframes ripple {
+ from,
+ to {
+ width: 0.2em;
+ }
+ 33% {
+ width: 2.4em;
+ }
+}
diff --git a/src/components/shared/loading/Loading.jsx b/src/components/shared/loading/Loading.jsx
new file mode 100644
index 0000000..fc86186
--- /dev/null
+++ b/src/components/shared/loading/Loading.jsx
@@ -0,0 +1,64 @@
+import React from "react";
+import "./Loading.css";
+
+const Loading = () => {
+ return (
+
+
+
+ Loading the best hackathon experience
+
+
+ );
+};
+
+export default Loading;
diff --git a/src/components/shared/navbar/Navbar.jsx b/src/components/shared/navbar/Navbar.jsx
index 79a98cb..eb172a2 100644
--- a/src/components/shared/navbar/Navbar.jsx
+++ b/src/components/shared/navbar/Navbar.jsx
@@ -10,6 +10,17 @@ const Navbar = () => {
const handleClick = () => {
setIsActive((prevIsActive) => !prevIsActive);
+
+ // if (isActive) {
+ // document.getElementsByClassName("main_parent")[0].style.height = "auto";
+ // document.getElementsByClassName("main_parent")[0].style.overflow = "auto";
+ // document.getElementsByClassName("footer")[0].style.display = "block";
+ // } else {
+ // document.getElementsByClassName("main_parent")[0].style.height = "100vh";
+ // document.getElementsByClassName("main_parent")[0].style.overflow =
+ // "hidden";
+ // document.getElementsByClassName("footer")[0].style.display = "none";
+ // }
};
const navigate = useNavigate();
@@ -151,6 +162,7 @@ const Navbar = () => {
className={`navbar__mobile__sidebar ${
isActive ? "navbar__mobile__sidebar__active" : ""
}`}
+ // style={{ zIndex: 99999 }}
>
{
+ if (event.data && event.data.type === "SW_UPDATED") {
+ // Optionally, show a notification to the user before reloading
+ window.location.reload();
+ }
+ });
+}
ReactDOM.createRoot(document.getElementById("root")).render(
-
- Loading...
}>
+
+
-
-
+
+
);
diff --git a/src/pages/404/Notfound.jsx b/src/pages/404/Notfound.jsx
new file mode 100644
index 0000000..c0aa142
--- /dev/null
+++ b/src/pages/404/Notfound.jsx
@@ -0,0 +1,83 @@
+import React, {useState} from "react";
+import PropTypes from "prop-types";
+import {Link} from "react-router-dom";
+import DogeImage from "../../assets/images/404/doggo_img.webp";
+import ReversedDogeImage from "../../assets/images/404/reversed_doggo_img.webp";
+import petHimCircle from "../../assets/images/404/petHimCircle.svg";
+import "./Notfound.scss";
+import "../../components/shared/button/Button.scss";
+
+const Notfound = () => {
+ const [isReversed, setIsReversed] = useState(false);
+ const [circlePosition, setCirclePosition] = useState({x: 0, y: 0});
+ const [isHovering, setIsHovering] = useState(false);
+
+ const toggleImage = () => {
+ setIsReversed(!isReversed);
+ };
+
+ const handleMouseMove = (e) => {
+ if (isHovering) {
+ const rect = e.target.getBoundingClientRect();
+ setCirclePosition({
+ x: e.clientX - rect.left,
+ y: e.clientY - rect.top,
+ });
+ }
+ };
+
+ const handleMouseEnter = (e) => {
+ setIsHovering(true);
+ const rect = e.target.getBoundingClientRect();
+ setCirclePosition({
+ x: e.clientX - rect.left,
+ y: e.clientY - rect.top,
+ });
+ };
+
+ const handleMouseLeave = () => {
+ setIsHovering(false);
+ };
+
+ return (
+
+
+
+
404!
+
This page was not found, but you can stay here and pet our dogo
+
+
+ Back to Homepage
+
+
+
+
+
+
+ {isHovering && (
+
+
+
+ )}
+
+
+
+
+ );
+};
+
+export default Notfound;
diff --git a/src/pages/404/Notfound.scss b/src/pages/404/Notfound.scss
new file mode 100644
index 0000000..eb0407b
--- /dev/null
+++ b/src/pages/404/Notfound.scss
@@ -0,0 +1,162 @@
+html,
+body {
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+ height: 100%;
+}
+
+.pageNotFound__container {
+ padding: 4rem 7rem;
+ position: relative;
+ overflow: hidden;
+ height: 100%;
+ box-sizing: border-box;
+
+ @media screen and (max-width: 576px) {
+ padding: 2rem 1.5rem;
+ }
+
+ .pageNotFound__content {
+ display: flex;
+ flex-direction: row;
+ gap: 5rem;
+
+ @media screen and (max-width: 576px) {
+ flex-direction: column;
+ gap: 1rem;
+ }
+
+ @media screen and (min-width: 1800px) {
+ gap: 5rem;
+ }
+
+ .pageNotFound__desc {
+ width: 55%;
+ display: flex;
+ flex-direction: column;
+ text-align: left;
+ justify-content: center;
+ padding-top: 2rem;
+ padding-bottom: 2rem;
+
+ @media screen and (max-width: 576px) {
+ width: 100%;
+ text-align: center;
+ }
+ @media screen and (min-width: 1800px) {
+ width: 50%;
+ }
+
+ h2 {
+ font-size: 70px;
+ font-family: var(--heading-font);
+ font-weight: 800;
+ color: transparent;
+ -webkit-text-stroke: 1px white;
+ margin-bottom: 2rem;
+
+ @media screen and (max-width: 576px) {
+ font-size: 50px;
+ font-weight: 700;
+ margin-bottom: 2rem;
+ }
+
+ @media screen and (min-width: 1800px) {
+ font-size: 75px;
+ }
+ }
+
+ p {
+ font-size: 60px;
+ font-weight: 500;
+ font-family: var(--heading-font);
+ margin-bottom: 2rem;
+
+ @media screen and (max-width: 576px) {
+ font-size: 25px;
+ font-weight: 700;
+ margin-bottom: 2rem;
+ }
+
+ @media screen and (min-width: 1800px) {
+ font-size: 70px;
+ }
+ }
+
+ .back_to_home_page_btn {
+ display: inline-block;
+ }
+ }
+
+ .notfound__doge_container {
+ width: 40%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+
+ @media screen and (max-width: 576px) {
+ margin-top: 2rem;
+ width: 100%;
+ }
+
+ @media screen and (min-width: 1800px) {
+ width: 50%;
+ }
+
+ .doge__image {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: auto;
+ cursor: none;
+
+ @media screen and (max-width: 576px) {
+ width: 100%;
+ height: auto;
+ }
+
+ img {
+ width: 100%;
+ height: auto;
+ object-fit: cover;
+
+ @media screen and (max-width: 576px) {
+ width: 85%;
+ height: auto;
+ display: block;
+ }
+
+ @media screen and (min-width: 1800px) {
+ width: 80%;
+ }
+ }
+ }
+
+ .notfound__petDogeCircle {
+ margin-top: 0rem;
+ display: flex;
+ justify-content: flex-end;
+ z-index: 1;
+
+ img {
+ width: 100%;
+
+ @media screen and (max-width: 576px) {
+ width: 85%;
+ }
+
+ @media screen and (min-width: 1800px) {
+ width: 100%;
+ }
+ }
+
+ @media screen and (min-width: 1800px) {
+ margin-top: 5rem;
+ }
+ }
+ }
+ }
+}
diff --git a/src/pages/Forward.jsx b/src/pages/Forward.jsx
new file mode 100644
index 0000000..dde7a0c
--- /dev/null
+++ b/src/pages/Forward.jsx
@@ -0,0 +1,37 @@
+import React, { useEffect } from "react";
+
+const Forward = ({ title, pathname, url }) => {
+ document.title = "Hack4Bengal | " + title;
+ useEffect(() => {
+ if (window.location.pathname === pathname) {
+ setTimeout(() => {
+ window.location.href = url;
+ }, 800);
+ }
+ }, []);
+
+ return (
+ <>
+
+
Launching {title} π
+
+ >
+ );
+};
+
+export default Forward;
diff --git a/src/pages/cloud101/Cloud101.jsx b/src/pages/cloud101/Cloud101.jsx
new file mode 100644
index 0000000..9388f42
--- /dev/null
+++ b/src/pages/cloud101/Cloud101.jsx
@@ -0,0 +1,36 @@
+import React, { useEffect } from "react";
+
+const Cloud = () => {
+ document.title = "Hack4Bengal | Cloud101";
+ useEffect(() => {
+ if (window.location.pathname === "/cloud-101") {
+ setTimeout(() => {
+ window.location.href = "https://lu.ma/c8p4owm4";
+ }, 800);
+ }
+ }, []);
+ return (
+ <>
+
+
Launching Cloud 101 π
+
+ >
+ );
+};
+
+export default Cloud;
diff --git a/src/pages/discord/Discord.jsx b/src/pages/discord/Discord.jsx
index 45f48c6..a586edc 100644
--- a/src/pages/discord/Discord.jsx
+++ b/src/pages/discord/Discord.jsx
@@ -5,8 +5,7 @@ const Discord = () => {
useEffect(() => {
if (window.location.pathname === "/discord") {
setTimeout(() => {
- window.location.href =
- "https://discord.gg/hack4bengal-2-0-920970750154899476";
+ window.location.href = "https://discord.gg/hack4bengal";
}, 800);
}
}, []);
diff --git a/src/pages/evangelist/Evangelist.jsx b/src/pages/evangelist/Evangelist.jsx
index 44fc1d3..886c526 100644
--- a/src/pages/evangelist/Evangelist.jsx
+++ b/src/pages/evangelist/Evangelist.jsx
@@ -5,7 +5,8 @@ const Evangelist = () => {
useEffect(() => {
if (window.location.pathname === "/evangelist") {
setTimeout(() => {
- window.location.href = "https://lu.ma/evangelist";
+ window.location.href =
+ "https://www.notion.so/Hackathon-Evangelist-Program-Hack4Bengal-3-0-1cad5373b52640ed89e88e6d5ab3f34c";
}, 800);
}
}, []);
diff --git a/src/pages/events/Events.scss b/src/pages/events/Events.scss
index a05af5a..49abb7a 100644
--- a/src/pages/events/Events.scss
+++ b/src/pages/events/Events.scss
@@ -4,5 +4,5 @@
display: flex;
flex-direction: column;
overflow-x: hidden;
- background: radial-gradient(circle at 0% 0%, #ff171723 0%, #0a0a0a85 50%);
+ background: radial-gradient(circle at 0% 0%, #620c0c23 0%, #0a0a0a85 50%);
}
\ No newline at end of file
diff --git a/src/pages/home/Home.jsx b/src/pages/home/Home.jsx
index 5d25918..9d51a45 100644
--- a/src/pages/home/Home.jsx
+++ b/src/pages/home/Home.jsx
@@ -1,7 +1,6 @@
-import React, { Suspense } from "react";
+import React from "react";
import {
About,
- Collaborators,
FAQ,
Landing,
Marquee,
@@ -10,38 +9,24 @@ import {
Sponsors,
Testimonials,
} from "../../components/private";
+import Timer from "../../components/private/timer/Timer";
+import Timeline from "../../components/private/timeline/Timeline";
import "./Home.scss";
const Home = () => {
return (
- <>
+
{window.innerWidth < 600 && }
- {/* Loading...
}>
-
- */}
-
Loading... }>
-
-
-
Loading... }>
-
-
-
Loading... }>
-
-
-
Loading... }>
-
-
- Loading... }>
-
-
-
Loading...