60 | //
61 | // Filter
62 | //
63 | //
64 |
65 | // useEffect(() => {
66 | // dispatch(getPilot());
67 | // }, []);
68 |
69 | return (
70 |
71 |
72 |
78 | Pilot Programs
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 | Filter
87 |
88 |
89 |
90 |
91 |
99 | Hello Its Me!
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | {({ isExpanded }) => (
108 | <>
109 |
110 |
111 |
112 |
113 |
114 | Search
115 |
116 |
117 |
118 |
119 |
120 |
121 |
125 | }
128 | />
129 |
130 |
131 | >
132 | )}
133 |
134 |
135 |
136 |
137 |
138 |
139 |
151 | {pilots.pilot[0] &&
152 | pilots.pilot[0].map((pro) => (
153 |
154 |
155 |
162 |
163 |
164 | ))}
165 |
166 |
167 | );
168 | };
169 |
170 | export default Pilot;
171 |
--------------------------------------------------------------------------------
/src/pages/Workouts/Workout.css:
--------------------------------------------------------------------------------
1 | .effect:hover{
2 | box-shadow: #4296cb 0px 3px 8px;
3 | box-shadow: #4296cb 0px 1px 4px, #4296cb 0px 0px 0px 3px;
4 | box-shadow: rgba(3, 102, 214, 0.3) 0px 0px 0px 3px;
5 | box-shadow: #4296cb 6px 2px 16px 0px, #4296cb -6px -2px 16px 0px;
6 | }
7 | .effect1:hover{
8 | box-shadow: -6px -6px 11px 0px rgba(207, 52 , 118 ,0.34);
9 | }
10 | .WorkTop
11 | {
12 | width: 100%;
13 | height: 550px;
14 | margin: auto;
15 | background-image: url('https://d18zdz9g6n5za7.cloudfront.net/workouts_programs/masthead-workouts.jpg');
16 | background-repeat: no-repeat;
17 | background-size: cover;
18 | background-position: center center;
19 | font-family: "Maison Neue","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
20 | color: #fff;
21 | font-weight: 400;
22 | padding-top: 170px;
23 | }
24 | .WorkTopdiv{
25 | width: 75%;
26 | height: auto;
27 | margin: auto;
28 |
29 | text-align: left;
30 | }
31 | .WorkTopdiv>div{
32 | padding-bottom: 15px;
33 | padding-left: 0px;
34 | color: #4296cb;
35 | font-weight: 600;
36 | letter-spacing: 0.042em;
37 | font-size: 1rem;
38 | line-height: 26px;
39 | }
40 | .WorkTopdiv>h1{
41 | letter-spacing: -0.02em;
42 | font-size: 2.8rem;
43 | font-weight: 400;
44 | line-height: 1.2em;
45 | margin: 0 0 0.5em 0;
46 | }
47 | .WorkTopdiv>p{
48 | line-height: 1.625em;
49 | padding: 0px 30px 0px 0px;
50 | margin: -9px 0px 0px 0px;
51 | font-size: 1.2rem;
52 | }
53 | /* card sec start */
54 | .WorkCard{
55 | width: 100%;
56 | height: auto;
57 | background-color: #e3ebee;
58 | padding-top: 4rem;
59 | padding-bottom: 6rem;
60 | padding-right: 3rem;
61 | padding-left: 3rem;
62 | color: #212432;
63 | font-family: "Maison Neue","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
64 | }
65 | .WorkCard2{
66 | width: 100%;
67 | height: auto;
68 | background-color: #f0f4f6;
69 | padding-top: 4rem;
70 | padding-bottom: 6rem;
71 | padding-right: 3rem;
72 | padding-left: 3rem;
73 | color: #212432;
74 | font-family: "Maison Neue","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
75 | }
76 | .WorkCard1{
77 | width: 85%;
78 | height: auto;
79 | margin: auto;
80 | padding: 10px;
81 | }
82 | .Free{
83 | width: 100%;
84 | color: #fff;
85 | text-align: center;
86 | font-size: 1rem;
87 | font-weight: bold;
88 | display: flex;
89 | padding-bottom: -20px;
90 | justify-content: center
91 | }
92 | .Free>div{
93 | background-color: greenyellow;
94 | border: 2px solid #fff;
95 | width: 4rem;
96 | height: 20px;
97 | border-radius: 10px;
98 | text-align: center;
99 |
100 | }
101 | @media only screen and (min-width: 0px) and (max-width: 612px) {
102 | .WorkTop
103 | {
104 | width: 100%;
105 | height: 400px;
106 | margin: auto;
107 | background-image: url('https://d18zdz9g6n5za7.cloudfront.net/workouts_programs/masthead-workouts.jpg');
108 | background-repeat: no-repeat;
109 | background-size: cover;
110 | background-position: center center;
111 | font-family: "Maison Neue","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
112 | color: #fff;
113 | font-weight: 400;
114 | padding-top: 80px;
115 | }
116 | .WorkTopdiv{
117 | width: 80%;
118 |
119 | text-align: center;
120 | }
121 | .WorkTopdiv>div{
122 | padding-bottom: 12px;
123 |
124 | font-weight: 500;
125 |
126 | font-size: 0.8rem;
127 | line-height: 20px;
128 | }
129 | .WorkTopdiv>h1{
130 |
131 | font-size: 2rem;
132 | font-weight: 400;
133 |
134 | }
135 | .WorkCard{
136 | width: 100%;
137 | height: auto;
138 | padding-top: 0.7rem;
139 | padding-bottom: 2rem;
140 | padding-right: 1rem;
141 | padding-left: 1rem;
142 |
143 |
144 | }
145 | .WorkCard2{
146 | width: 100%;
147 | height: auto;
148 |
149 | padding-top: 0.7rem;
150 | padding-bottom: 2rem;
151 | padding-right: 1rem;
152 | padding-left: 1rem;
153 |
154 | }
155 | .workoutlink
156 | {
157 | display: none;
158 |
159 | }
160 | }
161 |
162 |
163 | @media only screen and (min-width: 613px) and (max-width: 1090px) {
164 | .WorkTop
165 | {
166 | width: 100%;
167 | height: 400px;
168 | margin: auto;
169 | background-image: url('https://d18zdz9g6n5za7.cloudfront.net/workouts_programs/masthead-workouts.jpg');
170 | background-repeat: no-repeat;
171 | background-size: cover;
172 | background-position: center center;
173 | font-family: "Maison Neue","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
174 | color: #fff;
175 | font-weight: 400;
176 | padding-top: 80px;
177 | }
178 | .WorkTopdiv{
179 | width: 80%;
180 |
181 | text-align: left;
182 | }
183 | .WorkTopdiv>div{
184 | padding-bottom: 12px;
185 |
186 | font-weight: 500;
187 |
188 | font-size: 0.8rem;
189 | line-height: 20px;
190 | }
191 | .WorkTopdiv>h1{
192 |
193 | font-size: 2rem;
194 | font-weight: 400;
195 |
196 | }
197 | .WorkCard{
198 | width: 100%;
199 | height: auto;
200 | padding-top: 1rem;
201 | padding-bottom: 2.5rem;
202 | padding-right: 1rem;
203 | padding-left: 1rem;
204 |
205 |
206 | }
207 | .WorkCard2{
208 | width: 100%;
209 | height: auto;
210 |
211 | padding-top: 0.7rem;
212 | padding-bottom: 2rem;
213 | padding-right: 1rem;
214 | padding-left: 1rem;
215 |
216 | }
217 | .WorkTopdiv>p{
218 | width: 62%;
219 | line-height: 1.625em;
220 | padding: 0px 30px 0px 0px;
221 | margin: -9px 0px 0px 0px;
222 | font-size: 1.2rem;
223 |
224 | }
225 | }
--------------------------------------------------------------------------------
/src/pages/about/Careers.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Careers.css"
3 |
4 | function Careers(){
5 | return (
6 | <>
7 |
10 |
11 |
Come Join the FB Family.
16 |
17 |
18 |
26 |
Our Story
27 |
28 | Fitness Blender was created by a husband and wife team of personal
29 | trainers who felt that there was a lack of reliable health and fitness
30 | information on the web. They were frustrated that too many people in
31 | the fitness industry were more focused on monetary gain or outward
32 | appearance than on good, achievable, long-term health. Now, more than
33 | 10 years later, Kelli and Daniel Segars, are still focused on their
34 | original goals and approach for the company:
35 |
36 |
37 | Make health and fitness attainable, affordable, and approachable—for
38 | as many people as possible.
39 |
40 |
41 | Endorse eating unprocessed, whole foods, and working out for a strong,
42 | healthy body.
43 |
44 |
Encourage a personal, mindful approach to eating and exercise.
45 |
46 | Promote the fact that overall wellness looks different for each
47 | individual.
48 |
49 |
50 |
61 |
68 |
Become a Fitness Blender
69 |
Content Creator
70 |
71 | We are working to expand the depth and diversity of the content we
72 | offer. From Workout Videos to Healthy Living articles and recipes,
73 | we want to be able to provide users with as much reliable health and
74 | fitness content as possible. If you're an experienced professional
75 | in the areas we have listed below, we'd like to hear from you.
76 |
77 |
78 |
79 |
85 |
86 |
87 |
94 |
Open Content Roles
95 |
103 |
104 |
105 |
110 |
111 |
112 |
Certified Personal Trainer
113 |
114 | Join our CPTs in creating workout videos to enhance our overall
115 | library, and diversity of workout options.
116 |
117 |
118 |
119 |
120 |
121 |
126 |
127 |
128 |
Yoga Instructor
129 |
130 | Are you a fitness professional? Join the content team to bring
131 | new types of fitness videos to our growing library and audience.
132 |
133 |
134 |
135 |
136 |
137 |
142 |
143 |
144 |
Professional Recipe Developer
145 |
146 | {" "}
147 | Join our content team, working closely with RDNs/LDNs to create
148 | easy-to-understand, easy-to-use healthy recipe content.
149 |
150 |
151 |
152 |
153 |
154 |
159 |
160 |
161 |
Registered Dietitian Nutritionist
162 |
163 | Join the content team to help create easy-to-understand
164 | nutrition and healthy eating content, including recipe-based
165 | meal plans.
166 |
167 |
168 |
169 |
170 |
171 |
172 | >
173 | );
174 | }
175 |
176 | export default Careers;
177 |
--------------------------------------------------------------------------------
/src/pages/Workouts/CustomWorkout/CustomWorkout.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import {
3 | AspectRatio,
4 | Box,
5 | Grid,
6 | GridItem,
7 | Heading,
8 | Image,
9 | Link,
10 | Text,
11 | } from "@chakra-ui/react";
12 | import "./CustomWorkout.css";
13 | import Slide from "./Slide"
14 | const CustomWorkout = () => {
15 | return (
16 |
20 | {/* */}
28 |
29 |
35 | Walkthrough
36 |
37 |
38 |
47 |
48 |
49 |
50 |
51 |
61 |
69 | Add Your Own Workouts to Fitness Blender
70 |
71 |
87 | Whether you want to track your evening walk or earn your workout
88 | complete with your favorite videos from outside Fitness Blender,
89 | you can now add custom workouts to your{" "}
90 | FB Plus account.
91 |
92 |
93 |
94 |
95 |
96 |
97 |
106 |
107 |
117 |
125 | Add, Schedule, and Track
126 |
127 |
143 | Create a custom workout with detailed information just like a
144 | Fitness Blender workout. You can then add it to your calendar,
145 | earn your workout complete, and track its stats on the FB
146 | dashboard.
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
166 |
176 | VIDEO
182 |
183 |
184 |
185 | );
186 | };
187 |
188 | export default CustomWorkout;
189 |
--------------------------------------------------------------------------------
/src/components/Membership/Features.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Box,
3 | Button,
4 | Table,
5 | TableContainer,
6 | Tbody,
7 | Td,
8 | Text,
9 | Tfoot,
10 | Th,
11 | Thead,
12 | Tr,
13 | } from "@chakra-ui/react";
14 | import React from "react";
15 | import { AiOutlineCheckCircle } from "react-icons/ai";
16 |
17 | const featuresArr = [
18 | {
19 | feature: "Hundreds of Professionally-Built Workout Videos",
20 | plus: true,
21 | free: true,
22 | },
23 | {
24 | feature: "Wide Selection of Healthy Living Articles",
25 | plus: true,
26 | free: true,
27 | },
28 | {
29 | feature: "Healthy and Convenient Recipes",
30 | plus: true,
31 | free: true,
32 | },
33 | {
34 | feature: "Interactive Workout Calendar",
35 | plus: true,
36 | free: true,
37 | },
38 | {
39 | feature: "Vlogs, Behind-the-Scenes Updates, Weekly Giveaways",
40 | plus: true,
41 | free: true,
42 | },
43 | {
44 | feature: "Search and Filter Videos to Find Exactly What You Need",
45 | plus: true,
46 | free: true,
47 | },
48 | {
49 | feature: "Save Your Favorite Videos",
50 | plus: true,
51 | free: true,
52 | },
53 | {
54 | feature: "Ads-Free Website and Videos",
55 | plus: true,
56 | free: false,
57 | },
58 | {
59 | feature: "Surprise Me Workout Selection Tool",
60 | plus: true,
61 | free: false,
62 | },
63 | {
64 | feature: "Statistics for Your Activities",
65 | plus: true,
66 | free: false,
67 | },
68 | {
69 | feature: "Enter and Track Custom Workouts",
70 | plus: true,
71 | free: false,
72 | },
73 | {
74 | feature: "Trackers to See Your Progress",
75 | plus: true,
76 | free: false,
77 | },
78 | {
79 | feature: "Exclusive Workouts",
80 | plus: true,
81 | free: false,
82 | },
83 | {
84 | feature: "Exclusive Workout Challenges",
85 | plus: true,
86 | free: false,
87 | },
88 | {
89 | feature: "See Workout History and Take Notes on Individual Workouts",
90 | plus: true,
91 | free: false,
92 | },
93 | {
94 | feature: "Additional Video Filters for More Refinement",
95 | plus: true,
96 | free: false,
97 | },
98 | {
99 | feature: "Tagging to Help Organize Videos",
100 | plus: true,
101 | free: false,
102 | },
103 | {
104 | feature: "Create, Save, and Repeat Personal Routines",
105 | plus: true,
106 | free: false,
107 | },
108 | {
109 | feature: "Ability to Mark Rest Day Complete",
110 | plus: true,
111 | free: false,
112 | },
113 | {
114 | feature: "One Click Access to Find Similar Workouts",
115 | plus: true,
116 | free: false,
117 | },
118 | {
119 | feature:
120 | "Custom Difficulty and Minute Tracking for more Accurate Workout Data",
121 | plus: true,
122 | free: false,
123 | },
124 | {
125 | feature: "Schedule Recipes on the Calendar",
126 | plus: true,
127 | free: false,
128 | },
129 | {
130 | feature: "Individual Recipe Dashboards with Tags and Notes",
131 | plus: true,
132 | free: false,
133 | },
134 | {
135 | feature: "Schedule Expert Articles on the Calendar",
136 | plus: true,
137 | free: false,
138 | },
139 | {
140 | feature: "Individual Expert Articles Dashboards with Tags and Notes",
141 | plus: true,
142 | free: false,
143 | },
144 | {
145 | feature: "Workout Program Shelf to help organization your active programs",
146 | plus: true,
147 | free: false,
148 | },
149 | {
150 | feature: "Interactive Meal Plans for Healthy Eating",
151 | plus: true,
152 | free: false,
153 | },
154 | ];
155 |
156 | const Features = () => {
157 | return (
158 |
159 |
160 | All Membership Features
161 |
162 |
163 |
164 |
165 |
166 | Features
167 | Plus
168 | Free
169 |
170 |
171 |
172 | {featuresArr.map((item) => (
173 |
174 | {item.feature}
175 |
176 | { }
177 |
178 |
179 | {item.free ? (
180 |
181 | ) : (
182 | ""
183 | )}
184 |
185 |
186 | ))}
187 |
188 |
189 |
190 |
191 |
192 | Starting at
193 | $6.67
194 | Per Month
195 | Paid Annually
196 |
209 | JOIN
210 |
211 |
212 |
213 | Free
214 | No Credit
215 | Card Required
216 |
217 |
218 |
219 |
220 |
221 |
222 | );
223 | };
224 |
225 | export default Features;
226 |
--------------------------------------------------------------------------------
/src/pages/Login/Login.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Alert,
3 | AlertDescription,
4 | AlertIcon,
5 | AlertTitle,
6 | border,
7 | Box,
8 | Button,
9 | Checkbox,
10 | Flex,
11 | Heading,
12 | Input,
13 | // Link,
14 | Stack,
15 | Text,
16 | } from "@chakra-ui/react";
17 | import React, { useState, useEffect } from "react";
18 | import { Link, useNavigate } from "react-router-dom";
19 | import { FaFacebookF, FaGoogle } from "react-icons/fa";
20 | import { useDispatch, useSelector } from "react-redux";
21 | // import { useHistory, Link } from "react-router-dom";
22 |
23 | import "./login.css";
24 | import { useUserAuth } from "../../context/UserAuthContext";
25 | import { async } from "@firebase/util";
26 | const Login = () => {
27 | const [userInput, setUserInput] = useState({
28 | email: "",
29 | password: "",
30 | });
31 | const [error, setError] = useState("");
32 | const { email, password } = userInput;
33 | const { logIn, signInWithGoogle, signInWithFacebook } = useUserAuth();
34 | const navigate = useNavigate();
35 |
36 | const handleChange = (e) => {
37 | let { name, value } = e.target;
38 | setUserInput({ ...userInput, [name]: value });
39 | };
40 | const handleSubmit = async () => {
41 | setError("");
42 | try {
43 | await logIn(email, password);
44 | navigate("/");
45 | } catch (error) {
46 | setError(error.message);
47 | }
48 | };
49 | // const handleSubmit = () => {};
50 | const handleGoogleSignIn = async () => {
51 | // e.preventDefault();
52 | try {
53 | await signInWithGoogle();
54 | navigate("/");
55 | } catch (error) {
56 | setError(error.message);
57 | }
58 | };
59 | // const handleFacebookSignIn = () => {
60 |
61 | // };
62 | const handleFacebookSignIn = async () => {
63 | try {
64 | await signInWithFacebook();
65 | navigate("/");
66 | } catch (error) {
67 | setError(error.message);
68 | }
69 | };
70 |
71 | return (
72 |
78 |
87 |
88 |
89 | Sign In
90 |
91 |
92 |
99 | }
102 | size="md"
103 | borderRadius="4px"
104 | w={{ base: "50%", md: "35%", lg: "35%" }}
105 | // display={{base: "block", md: "inline", lg: "35%"}}
106 | boxShadow="rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"
107 | onClick={handleFacebookSignIn}
108 | >
109 | Facebook
110 |
111 | }
114 | borderRadius="4px"
115 | size="md"
116 | w={{ base: "50%", md: "35%", lg: "35%" }}
117 | boxShadow="rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"
118 | onClick={handleGoogleSignIn}
119 | >
120 | Google
121 |
122 |
123 | {error && (
124 |
125 |
126 | Opps!
127 | {error}
128 |
129 | )}
130 |
135 | {/* */}
146 |
157 |
168 |
169 | Remember Me
170 |
171 |
184 | SIGN IN
185 |
186 |
187 | Forget Password?
188 |
189 |
190 | Not a member yet?{" "}
191 |
192 | Join now -- it's free!
193 |
194 |
195 |
196 |
197 |
198 | );
199 | };
200 |
201 | export default Login;
202 |
--------------------------------------------------------------------------------
/src/pages/Program/PilotSingle.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Box,
3 | chakra,
4 | Container,
5 | Stack,
6 | Text,
7 | Image,
8 | Flex,
9 | VStack,
10 | Button,
11 | Heading,
12 | SimpleGrid,
13 | StackDivider,
14 | useColorModeValue,
15 | VisuallyHidden,
16 | List,
17 | ListItem,
18 | useToast,
19 | } from "@chakra-ui/react";
20 | import { useEffect, useState } from "react";
21 | import { FaInstagram, FaTwitter, FaYoutube } from "react-icons/fa";
22 | import { MdLocalShipping } from "react-icons/md";
23 | import { useDispatch } from "react-redux";
24 | import { useParams } from "react-router-dom";
25 | import { getCart } from "../../store/Cart/CartAction";
26 |
27 | const getData = (url) => {
28 | return fetch(url).then((res) => res.json());
29 | };
30 |
31 | export default function PilotSingle() {
32 | const dispatch = useDispatch();
33 | const toast = useToast();
34 | const handleAddToCart = (el) => {
35 | //dispatch(cart_length_fn())
36 | dispatch(getCart(el));
37 | toast({
38 | title: `Added to Cart`,
39 | status: "success",
40 | isClosable: true,
41 | });
42 | };
43 | const { id } = useParams();
44 | const [state, setState] = useState({});
45 |
46 | useEffect(() => {
47 | getData(`https://fitness-handler.vercel.app/Pilot/${id}`).then(
48 | (res) => setState(res)
49 | //console.log(res)
50 | );
51 | }, [id]);
52 | // const {img} = state
53 | // console.log(state)
54 |
55 | return (
56 |
57 |
62 |
63 |
72 |
73 |
74 |
75 |
80 | {state.desc}
81 |
82 |
87 | $ {state.price}
88 |
89 |
90 |
91 |
98 | }
99 | >
100 |
107 | Pregnancy Series: Second Trimester
108 |
109 |
110 |
115 | {state.over}
116 |
117 |
118 |
119 |
126 | Approach and Difficulty Level
127 |
128 |
129 | {state.difficult}
130 |
131 |
132 |
133 |
140 | PROGRAM DETAILS
141 |
142 |
143 |
144 |
145 |
146 | Length:
147 | {" "}
148 | {state.week}
149 |
150 |
151 |
152 | Avg. Duration:
153 | {" "}
154 | {state.time}
155 |
156 |
157 |
158 | Equipment:
159 | {" "}
160 | {state.equipment}
161 |
162 |
163 |
164 |
165 | Training Type:
166 | {" "}
167 | Strength Training
168 |
169 |
170 |
171 |
172 |
173 | handleAddToCart(state)}
187 | >
188 | Add to cart
189 |
190 |
191 |
192 |
193 | 2-3 business days delivery
194 |
195 |
196 |
197 |
198 | );
199 | }
200 |
--------------------------------------------------------------------------------
/src/pages/Shop/Shop.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Box,
3 | Button,
4 | Center,
5 | Flex,
6 | Grid,
7 | GridItem,
8 | Heading,
9 | Image,
10 | Text,
11 | useToast,
12 | } from "@chakra-ui/react";
13 | import { getCart } from "../../store/Cart/CartAction";
14 | import React, { useEffect } from "react";
15 | import { useDispatch, useSelector } from "react-redux";
16 | import { getAllgift, getAllpassess } from "../../store/shop/action";
17 |
18 | const Shop = () => {
19 | const toast = useToast();
20 | const dispatch = useDispatch();
21 | const giftstore = useSelector((store) => store.gift);
22 | // console.log(giftstore.gift[0], "rtyukl");
23 | // console.log(giftstore.gift[1], "Alaha");
24 | useEffect(() => {
25 | dispatch(getAllpassess());
26 | dispatch(getAllgift());
27 | }, []);
28 | // const [data,setdata]=useState([])
29 | // const [isError,seterr]=useState("")
30 | // useEffect(()=>{
31 | // axios.get(" http://localhost:8080/gift")
32 | // .then((res)=>setdata(res.data))
33 |
34 | // },[])
35 |
36 | const handelCart = (el) => {
37 | //dispatch(cart_length_fn())
38 | dispatch(getCart(el));
39 | toast({
40 | title: `Added to Cart`,
41 | status: "success",
42 | isClosable: true,
43 | });
44 | };
45 | const cartdata = useSelector((store) => store.product);
46 |
47 | useEffect(() => {
48 | console.log(cartdata);
49 | }, [cartdata]);
50 |
51 | return (
52 |
53 |
54 |
FB Plus Passes
55 |
56 | Passes give you full access to everything FB Plus has to offer,
57 | without a long-term subscription. Choose a pass that fits your budget
58 | and your schedule, and extend your access with another pass at any
59 | time. Multiple passes can be purchased at once for longer access.
60 |
61 |
62 |
71 | {giftstore.gift[0] &&
72 | giftstore.gift[0].map((el) => (
73 |
74 |
75 |
76 | FB PLUS PASS
77 | {el.pass}
78 |
85 |
${el.price}
86 |
handelCart(el)}>
87 | ADD TO BAG
88 |
89 |
90 |
91 |
92 | ))}
93 |
94 |
95 |
96 | Passes cannot be used at the same time as a monthly or yearly FB Plus
97 | subscription.
98 |
99 |
100 |
101 |
102 |
Fitness Blender eGift Cards
103 |
104 |
105 |
106 |
107 | Give the gift of health and fitness with Fitness Blender eGift Cards.
108 | Send an electronic card via email and the recipient can log in, redeem
109 | your gift and buy any of our Workout Programs, calendar-based Meal
110 | Plans, or a membership to FB Plus!
111 |
112 |
113 |
114 |
123 | {giftstore.gift[1] &&
124 | giftstore.gift[1].map((el) => (
125 |
126 |
127 |
128 |
135 | ${el.price}
136 | handelCart(el)}
141 | >
142 | ADD TO BAG
143 |
144 |
145 |
146 |
147 | ))}
148 |
149 |
150 |
151 | Fitness Blender eGift Cards can only be used on fitnessblender.com.
152 |
153 | {/*
*/}
154 | {/* */}
155 |
162 |
163 |
167 |
168 |
169 | Fitness Blender Gear
170 | NEW STORE COMING SOON
171 |
172 |
173 |
174 | {/* */}
175 |
176 | {/* */}
177 |
178 |
179 | Other Shopping Options
180 |
181 |
182 |
183 | Explore Workout Programs, Meal Plans, and FB Plus memberships.
184 |
185 |
186 |
187 | PROGRAMS
188 | MEALS PLANS
189 | FB PLUS
190 |
191 |
192 |
193 | );
194 | };
195 |
196 | export default Shop;
197 |
--------------------------------------------------------------------------------
/src/pages/Program/SinglePage.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Box,
3 | chakra,
4 | Container,
5 | Stack,
6 | Text,
7 | Image,
8 | Flex,
9 | VStack,
10 | Button,
11 | Heading,
12 | SimpleGrid,
13 | StackDivider,
14 | useColorModeValue,
15 | VisuallyHidden,
16 | List,
17 | ListItem,
18 | useToast,
19 | } from "@chakra-ui/react";
20 | import { useEffect, useState } from "react";
21 | import { FaInstagram, FaTwitter, FaYoutube } from "react-icons/fa";
22 | import { MdLocalShipping } from "react-icons/md";
23 | import { useDispatch, useSelector } from "react-redux";
24 | import { useParams } from "react-router-dom";
25 | import { getCart } from "../../store/Cart/CartAction";
26 |
27 | const getData = (url) => {
28 | // const Productarray = useSelector((store) => store.Product);
29 |
30 | return fetch(url).then((res) => res.json());
31 | };
32 |
33 | export default function SinglePage() {
34 | const dispatch = useDispatch();
35 | const toast = useToast();
36 | const handleAddToCart = (el) => {
37 | //dispatch(cart_length_fn())
38 | dispatch(getCart(el));
39 | toast({
40 | title: `Added to Cart`,
41 | status: "success",
42 | isClosable: true,
43 | });
44 | };
45 |
46 | const { id } = useParams();
47 | const [state, setState] = useState({});
48 |
49 | useEffect(() => {
50 | getData(`https://fitness-handler.vercel.app/Products/${id}`).then(
51 | (res) => setState(res)
52 | //console.log(res)
53 | );
54 | }, [id]);
55 | // const {img} = state
56 | // console.log(state)
57 |
58 | return (
59 |
60 |
65 |
66 |
75 |
76 |
77 |
78 |
83 | {state.desc}
84 |
85 |
90 | $ {state.price}
91 |
92 |
93 |
94 |
101 | }
102 | >
103 |
110 | Overview
111 |
112 |
113 |
118 | {state.over}
119 |
120 | {/*
121 | {state.difficult}
122 | */}
123 |
124 |
125 |
132 | Methodology and difficulty
133 |
134 |
135 | {state.difficult}
136 |
137 |
138 |
139 |
146 | Product Details
147 |
148 |
149 |
150 |
151 |
152 | Length:
153 | {" "}
154 | {state.week}
155 |
156 |
157 |
158 | Avg. Duration:
159 | {" "}
160 | {state.time}
161 |
162 |
163 |
164 | Difficulty:
165 | {" "}
166 | 3-4
167 |
168 |
169 |
170 | Body Focus:
171 | {" "}
172 | Total Body
173 |
174 |
175 |
176 | Equipment:
177 | {" "}
178 | Dumbbell, Mat
179 |
180 |
181 |
182 | Training Type:
183 | {" "}
184 | Strength Training
185 |
186 |
187 |
188 |
189 |
190 | handleAddToCart(state)}
204 | >
205 | Add to cart
206 |
207 |
208 |
209 |
210 | 2-3 business days delivery
211 |
212 |
213 |
214 |
215 | );
216 | }
217 |
--------------------------------------------------------------------------------
/src/pages/Program/MealSingle.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | Box,
3 | chakra,
4 | Container,
5 | Stack,
6 | Text,
7 | Image,
8 | Flex,
9 | VStack,
10 | Button,
11 | Heading,
12 | SimpleGrid,
13 | StackDivider,
14 | useColorModeValue,
15 | VisuallyHidden,
16 | List,
17 | ListItem,
18 | useToast,
19 | } from "@chakra-ui/react";
20 | import { useEffect, useState } from "react";
21 | import { FaInstagram, FaTwitter, FaYoutube } from "react-icons/fa";
22 | import { MdLocalShipping } from "react-icons/md";
23 | import { useDispatch } from "react-redux";
24 | import { useParams } from "react-router-dom";
25 | import { getCart } from "../../store/Cart/CartAction";
26 |
27 | const getData = (url) => {
28 | return fetch(url).then((res) => res.json());
29 | };
30 |
31 | export default function MealSingle() {
32 | const dispatch = useDispatch();
33 | const toast = useToast();
34 | const handleAddToCart = (el) => {
35 | //dispatch(cart_length_fn())
36 | dispatch(getCart(el));
37 | toast({
38 | title: `Added to Cart`,
39 | status: "success",
40 | isClosable: true,
41 | });
42 | };
43 |
44 | const { id } = useParams();
45 | const [state, setState] = useState({});
46 |
47 | useEffect(() => {
48 | getData(`https://fitness-handler.vercel.app/Meal/${id}`).then(
49 | (res) => setState(res)
50 | //console.log(res)
51 | );
52 | }, [id]);
53 | // const {img} = state
54 | // console.log(state)
55 |
56 | return (
57 |
58 |
63 |
64 |
73 |
74 |
75 |
76 |
81 | {state.desc}
82 |
83 |
88 | $ {state.price}
89 |
90 |
91 |
92 |
99 | }
100 | >
101 |
108 | Overview
109 |
110 |
111 |
116 | {state.over}
117 |
118 |
119 |
120 |
127 | Our goal is to teach you how to craft meals in a healthy,
128 | enjoyable, and optimal way.
129 |
130 |
131 | {state.goal}
132 |
133 |
134 |
141 | Learning to Eat Well for the Rest of Your Life
142 |
143 |
144 | {state.learning}
145 |
146 |
147 |
154 | PROGRAM DETAILS
155 |
156 |
157 |
158 |
159 |
160 | Length:
161 | {" "}
162 | {state.week}
163 |
164 |
165 |
166 | Avg. Duration:
167 | {" "}
168 | {state.time}
169 |
170 |
171 |
172 | Dietary Type:
173 | {" "}
174 | {state.dietary}
175 |
176 |
177 |
178 | Meal Type:
179 | {" "}
180 | {state.type}
181 |
182 |
183 |
184 |
185 | Training Type:
186 | {" "}
187 | Strength Training
188 |
189 |
190 |
191 |
192 |
193 | handleAddToCart(state)}
207 | >
208 | Add to cart
209 |
210 |
211 |
212 |
213 | 2-3 business days delivery
214 |
215 |
216 |
217 |
218 | );
219 | }
220 |
--------------------------------------------------------------------------------
/src/pages/Workouts/WorkoutVideos.jsx:
--------------------------------------------------------------------------------
1 |
2 | import { useEffect ,useState} from "react"
3 | import React from 'react'
4 | import { Link } from "react-router-dom";
5 | import {useDispatch,useSelector} from "react-redux";
6 | import { Calender } from "./Calender";
7 | import "./Workout.css";
8 | import {fetchPosts,searchPosts,sortPostsAsc, sortPostsDesc} from "./REDUX/workout.action"
9 |
10 | import Paginate from "./Paginate";
11 | import {
12 | Grid,
13 | GridItem,
14 | Heading,
15 | Box,
16 | Flex,
17 | Button,
18 | Collapse,
19 | Select,
20 | Input,
21 | Accordion,
22 | AccordionItem,
23 | AccordionButton,
24 | AccordionPanel,
25 | Text,
26 | IconButton,
27 | Hide,
28 | Spacer,
29 | Image
30 | } from "@chakra-ui/react";
31 |
32 | // import { BiSearchAlt2 } from "react-icons/bi";
33 | import {
34 | MinusIcon,
35 | SearchIcon,
36 | TriangleDownIcon,
37 | InfoOutlineIcon
38 | } from "@chakra-ui/icons";
39 | import Hovering from "./Hovering";
40 | // import { Link } from "react-router-dom";
41 | const WorkoutVideos = () => {
42 | const [search, setSearch] = useState('');
43 | const [sort, setSort] = useState('');
44 | const dispatch = useDispatch();
45 | const { posts } = useSelector((state) => state.workout);
46 | const [currentPage, setCurrentPage] = useState(1);
47 | const handleChangeSearch = (e) => {
48 | if(e.target.value.length > 0) {
49 | setCurrentPage(1);
50 | }
51 | setSearch(e.target.value);
52 | }
53 | useEffect(() => {
54 | dispatch(fetchPosts());
55 |
56 | }, [dispatch]);
57 | useEffect(() => {
58 |
59 | dispatch(searchPosts(search));
60 | }, [search]);
61 | useEffect(() => {
62 |
63 | if (sort === 'desc') {
64 | dispatch(sortPostsDesc());
65 | }
66 | if (sort === 'asc') {
67 | dispatch(sortPostsAsc());
68 | }
69 | }, [ sort,dispatch]);
70 |
71 | const postPerPage = 28;
72 | const totalPosts = posts.length;
73 |
74 | const indexOfLastPost = currentPage * postPerPage;
75 | const indexOfFirstPost = indexOfLastPost - postPerPage;
76 | const filterPosts = posts.slice(indexOfFirstPost, indexOfLastPost);
77 | return (
78 |
79 |
80 |
86 | Workout Videos
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | Filter
95 |
96 |
97 |
98 |
99 |
107 | Hello Its Me!
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 | {({ isExpanded }) => (
116 | <>
117 |
118 |
119 |
120 |
121 |
122 | Search
123 |
124 |
125 |
126 |
127 |
128 |
129 |
135 | }
138 | />
139 |
140 |
141 |
142 | >
143 | )}
144 |
145 |
146 |
147 | setSort(e.target.value)} size="lg" border={'none'} w={{ base: "100px", md: "170px", lg: "170px" }}>
148 | ASC
149 | DESC
150 |
151 |
152 |
153 |
154 |
155 |
156 |
165 | {filterPosts.map((e) => (
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 | {e.name}
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 | {e.des}
183 |
184 |
185 | {/* */}
186 |
187 |
188 | {e.time}
189 |
190 |
191 |
192 | {/* */}
193 | {/* {isHovering && (
194 |
195 |
196 |
197 | )} */}
198 |
199 | ))}
200 |
201 |
202 |
203 | {/* {workout.map((e)=>(
204 |
205 | ))
206 | } */}
207 |
213 | {totalPosts > postPerPage && (
214 |
220 | )}
221 |
222 |
223 | )
224 | }
225 |
226 | export default WorkoutVideos;
--------------------------------------------------------------------------------
/src/pages/Workouts/WorkSingleVideo.jsx:
--------------------------------------------------------------------------------
1 | // import React from 'react'
2 |
3 | // const WorkSingleVideo = () => {
4 |
5 | // return (
6 | // WorkSingleVideo
7 | // )
8 | // }
9 |
10 | // export default WorkSingleVideo;
11 | import React from 'react'
12 | import {
13 | Box,
14 | Grid,
15 | Stack,
16 | Text,
17 | Image,
18 | Heading,
19 | GridItem,
20 | AspectRatio,
21 | Button,
22 | Divider,
23 | ButtonGroup
24 | } from '@chakra-ui/react';
25 | import { Card, CardHeader, CardBody, CardFooter } from '@chakra-ui/react'
26 | import {ViewIcon,CheckCircleIcon,ChatIcon,StarIcon,TriangleUpIcon} from '@chakra-ui/icons'
27 | import { useEffect, useState } from 'react';
28 |
29 | import { useParams } from 'react-router-dom';
30 | const getVideoView = (url) => {
31 | return fetch(url)
32 | .then((res) => res.json());
33 | }
34 | const WorkSingleVideo = () => {
35 | const {id} = useParams()
36 | const [viewVideo, setViewVideo] = useState({});
37 | useEffect(() => {
38 | getVideoView(`https://sparta-fitness-database.vercel.app/work/${id}`).then((res) =>
39 | setViewVideo(res)
40 |
41 | )
42 | },[id])
43 | return (
44 |
45 |
46 |
47 |
48 |
55 |
64 |
74 |
80 |
81 |
82 |
83 |
84 |
89 | {viewVideo.name}
90 |
91 |
96 | {viewVideo.des}
97 |
98 |
103 | {viewVideo.day}
104 |
105 |
112 |
114 |
119 |
120 | Training Type : Cardiovascular, Pilates
121 | Equipment : Mat
122 | Burn Estimate : 149-236 Calories
123 |
124 |
125 |
126 |
129 | Community
134 | 216
135 | 102
136 | 32
137 |
138 |
139 |
140 |
141 | {/* */}
142 |
148 | {/* */}
154 |
155 |
156 |
157 | Details
158 |
159 |
160 | This routine has a little bit of everything,which makes it very fun and goes by very quickly. In just over 30 minutes, you get a warm-up, cool-down, and 4 combo groups of sweaty, challenging goodness in between. So if you like kickboxing, you are going to like this routine;if you like kettlebells, you are going to like this routine; if you like core, then you will like this routine; and if you like all three, then, well, this may just be your dream workout. Haha.
161 |
162 | Each of the 4 workout groups are built in the same fashion, but each has unique exercises, meaning they feel like their own mini workouts. Each group includes two exercises each of cardio kickboxing, kettlebell, and core. This approach keeps the workout fast and fun while getting a little strength, cardio, and toning all in one routine.
163 | If this happens to be your first time doing kettlebell or kickboxing, be sure to really focus on that warm-up (and you may even want to do a bit of an extra warm-up). Both kickboxing and kettlebell are ballistic types of movement, which can increase your chances of injury (pulled muscles) if you are not properly warmed up. So, take your time with the warm-up and be sure to pay very close attention to your form. You can also lower your intensity or the amount of weight being used until you know how this type of training will affect you.
164 |
165 |
166 |
167 |
168 | Post A Comment
169 |
170 |
171 |
172 |
173 | {/* */}
174 |
175 |
176 |
181 |
182 | FB Reach - Stretching, Yoga, & Pilates Program for Flexibility & Total Body Toning
183 |
184 | Pilates, yoga & stretching come together to create an easy-on-the-body blend. Combine with any other Fitness Blender program to accelerate gains in flexibility, tone, and range of motion.
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 | {/* */}
193 |
194 |
195 |
196 |
197 |
198 | )
199 | }
200 |
201 | export default WorkSingleVideo;
--------------------------------------------------------------------------------
/src/pages/about/About.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./About.css";
3 |
4 | function About() {
5 | return (
6 |
7 |
10 |
11 |
ABOUT FITNESS BLENDER
12 |
13 | Our goal is to make health and fitness attainable, affordable and
14 | approachable.
15 |
16 |
17 |
18 | {/* //second _section */}
19 |
20 |
21 |
22 |
27 | Created to help you live a better, happier, healthier life.
28 |
29 |
30 | We believe fitness should be accessible to everyone, everywhere,
31 | regardless of income level or access to a gym. That's why we offer
32 | hundreds of free, full-length workout videos, the most affordable
33 | and effective workout programs on the web, meal plans, and helpful
34 | health, nutrition and fitness information.
35 |
36 |
37 |
38 |
39 | {/* third section */}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | {/* fourth section */}
52 |
53 |
54 |
60 | We believe in unbiased, gimmick-free, research-backed information{" "}
61 |
62 |
65 | The only thing we endorse is eating unprocessed, whole foods, and
66 | working out for a strong, healthy body. As a business, we believe
67 | good things happen when you put people before profit.
68 |
69 |
70 |
71 |
72 | {/*
*/}
73 |
POWERED BY YOU
74 |
75 | Fitness Blender has reached tens of millions around the globe, all
76 | from word of mouth; happy viewers sharing our content with friends
77 | and family.
78 |
79 |
80 |
81 | {/*
*/}
82 |
PROGRAMS THAT WORK
83 |
84 | Our workout plans use our online fitness calendar to provide
85 | detailed, day-by-day plans, creating incredible, sustainable
86 | results.
87 |
88 |
89 |
90 | {/*
*/}
91 |
500+ FREE WORKOUTS
92 |
93 | Over 500 free workouts range from 10-85 minutes long, from
94 | beginner level to elite athlete, from HIIT to Pilates, and
95 | strength training to bodyweight.
96 |
97 |
98 |
99 |
100 |
101 | {/* fifth section */}
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 | {/* sixth section */}
129 |
130 |
131 |
132 |
A little bit about who we are and how it all got started.
133 | {/*
*/}
134 |
135 | Fitness Blender was created by just two people; a husband and wife
136 | team of personal trainers who thought fitness should be accessible
137 | to everyone, regardless of their income. Both Kelli and Daniel
138 | felt like there was a lack of reliable health and fitness
139 | information on the web, and too many people in the industry were
140 | more focused on monetary gain or appearance than they were on good
141 | health.
142 |
143 | {/*
*/}
144 |
145 |
146 |
147 | {/* seventh section */}
148 |
149 | {/*
*/}
150 |
151 |
152 |
Daniel Segars
153 |
Daniel has worked in the fitness industry since 2000,
154 |
and has a degree in Food and Nutrition.
155 |
160 |
161 |
162 |
Daniel Segars
163 |
Daniel has worked in the fitness industry since 2000,
164 |
and has a degree in Food and Nutrition.
165 |
171 |
172 |
173 | {/*
*/}
174 |
175 |
176 | {/* eight section */}
177 |
178 |
179 |
AS FEATURED IN
180 |
197 |
198 |
199 | {/* ninth section */}
200 |
201 |
202 |
Ready to try a Fitness Blender workout?
203 |
GET STARTED TODAY
204 |
205 |
206 |
207 | {/* footer section */}
208 |
209 | );
210 | }
211 |
212 | export default About;
213 |
--------------------------------------------------------------------------------
/src/pages/Program/Routines.jsx:
--------------------------------------------------------------------------------
1 | import { CheckCircleIcon } from '@chakra-ui/icons';
2 | import {
3 | Box,
4 | Button,
5 | CheckboxIcon,
6 | Flex,
7 | Heading,
8 | Image,
9 | Stack,
10 | Text,
11 | useBreakpointValue,
12 | } from '@chakra-ui/react';
13 | import React from 'react'
14 | import SlideCard from './SlideCard'
15 |
16 |
17 | const Routines = () => {
18 | return (
19 |
20 |
21 |
22 |
23 |
24 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Create, Save, and Repeat Personal Routines
38 | {' '}
39 |
40 |
41 | Routines allow you to build your own workout plans that you can save and schedule on the calendar. With access to our entire workout library, you can create Routines personalized for your individual fitness level, exercise preferences, and personal goals.
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | Easy to Use for Beginners, Advanced Enough for Pros
59 | {' '}
60 |
61 |
62 | Whether you want to save time scheduling your favorite morning warm-up each week, or you want to create a comprehensive fitness plan, building Routines couldn’t be easier. Adding workouts from your favorites list is a great place to start, or you can leverage filters, tags, and the content-aware Routine details to build highly customized Routines with targeted criteria.
63 |
64 |
65 |
66 |
67 |
68 |
69 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
89 |
90 |
91 |
92 |
93 |
94 |
95 | Custom Workouts
96 | {' '}
97 |
98 |
99 | Routines wouldn't be complete without the ability to add your own workouts. If you take a daily walk, follow other workouts online, or want to include other types of activity in your schedule, simply create your custom workout and add it to your routine like any video from Fitness Blender.
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 | Routines Features
111 |
112 |
113 |
114 | Features
115 | Active
116 |
117 |
118 |
119 | Access to the entire library of free and Plus-only workouts for an almost endless variety of routine combinations.
120 |
121 |
122 |
123 | 1, 2, 4, and 8-week options for short, convenient routines, or robust, longer-term exercise plans.
124 |
125 |
126 |
127 | Live content-aware routine details that help you focus your routines on specific criteria as you build.
128 |
129 |
130 |
131 | Draft mode that allows you to edit all at once or build over time, and launch when you’re ready.
132 |
133 |
134 |
135 | Draft selector so you aren’t locked into building just one routine at a time.
136 |
137 |
138 |
139 | Multiple day selector so you don’t have to add workouts to only one day at a time.
140 |
141 |
142 |
143 | Visual styling options to customize the look of each routine in your list.
144 |
145 |
146 |
147 | Include your non-Fitness Blender activity by adding custom workouts to your routines. NEW
148 |
149 |
150 |
151 |
152 |
153 |
154 | Frequently Asked Questions
155 | Can I share my routine with other members?
156 | Not right now, this is a feature we are exploring. Let us know if this is something you’d like us to prioritize.
157 |
158 | How do I edit all the details of my routine?
159 | You can directly edit basic information like the title, description, and length of your Routine. Our content-aware algorithm automatically generates the rest of the details like daily duration, days per week, etc. to simplify the process of building a Routine. To change the details of your routine, you’ll need to edit or select workouts that match the criteria you’re trying to achieve.
160 |
161 | Can I edit my routine once it is live?
162 | You can edit basic information like the title, description, etc. by selecting the edit button in the top right of the title card. But you won’t be able to change the workouts or sequence of a routine after you’ve launched it, so be sure you’re happy with your Routine before you hit that Save and Launch button.
163 |
164 |
165 |
166 | )
167 | }
168 |
169 | export default Routines
--------------------------------------------------------------------------------
/src/pages/about/about.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0px;
3 | padding: 0px;
4 | box-sizing: border-box;
5 | }
6 |
7 | .background_image {
8 | /* border: 1px solid red; */
9 | height: 600px;
10 | width: 100%;
11 | background: url("https://d18zdz9g6n5za7.cloudfront.net/about/masthead-xs@2X.jpg") no-repeat center;
12 | background-size: 100% 100%;
13 | }
14 | .header_line h2 {
15 | font-size: 40px;
16 | margin-left: 15px;
17 | color: #ffffff;
18 | }
19 |
20 | .header_line p {
21 | margin-left: 18px;
22 | color: aquamarine;
23 | }
24 |
25 |
26 |
27 | .third_section {
28 | border: 1px solid;
29 | width: 100%;
30 | height: 100vh;
31 | background: url("https://d18zdz9g6n5za7.cloudfront.net/about/video.jpg") no-repeat center;
32 | background-size: 100% 100vh;
33 | }
34 |
35 | .third_section1 {
36 | /* border: 1px solid blue; */
37 | width: 100%;
38 | height: 100vh;
39 |
40 | }
41 |
42 | .third_section2 {
43 | /* border: 1px solid red; */
44 | width: 60%;
45 | height: 70vh;
46 | margin-left: 300px;
47 | margin-top: 100px
48 | }
49 |
50 | .second_section {
51 | /* border: 1px solid rgb(64, 215, 26); */
52 | width: 60%;
53 | margin: auto;
54 | text-align: center;
55 | margin-top: 100px;
56 | margin-bottom: 100px;
57 |
58 | }
59 |
60 | .second {
61 | /* border: 1px solid red; */
62 | width: 50vw;
63 | text-align: center;
64 | margin: auto;
65 | gap: 20px;
66 |
67 | }
68 |
69 | .second h2 {
70 | font-weight: 400;
71 | line-height: 1.208em;
72 | letter-spacing: -0.02em;
73 | font-size: 40px;
74 | }
75 |
76 |
77 |
78 | .fourth_div {
79 | border: 1px solid;
80 | /* height: 110vh; */
81 | width: 100%;
82 | background-color: #212432;
83 | }
84 |
85 | .first_fourth {
86 | margin-top: 100px;
87 | /* border: 1px solid red; */
88 | width: 800px;
89 | text-align: center;
90 | color: white;
91 | margin: auto;
92 | margin-top: 100px;
93 | }
94 |
95 | .first_fourth h1 {
96 | font-weight: 400;
97 | line-height: 1.208em;
98 | letter-spacing: -0.02em;
99 | font-size: 45px;
100 | color: #fff;
101 | }
102 |
103 | .paragraph_fourth {
104 | margin-top: 30px;
105 | }
106 |
107 | .paragraph_fourth p {
108 | font-size: 1rem;
109 | line-height: 2rem;
110 | color: #ffffff;
111 | }
112 |
113 | .division_box {
114 | /* border: 1px solid green; */
115 | width: 70%;
116 | margin: auto;
117 | text-align: center;
118 | display: flex;
119 | flex-wrap: wrap;
120 | justify-content: space-between;
121 | margin-bottom: 100px;
122 |
123 |
124 |
125 | }
126 |
127 | .small_division {
128 | /* border: 1px solid red; */
129 | width: 300px;
130 |
131 |
132 | }
133 |
134 | .small_division h4 {
135 | margin-top: 150px;
136 | text-transform: uppercase;
137 | letter-spacing: 0.05em;
138 | color: #ffffff;
139 |
140 | }
141 |
142 | .small_division p {
143 | color: #ced0db;
144 | margin: 0px auto;
145 |
146 | }
147 |
148 | .paragraph_div {
149 | margin-top: 15px;
150 | }
151 |
152 | .fifth_section {
153 | /* border: 1px solid red; */
154 | width: 100%;
155 |
156 |
157 | }
158 |
159 | .first_fifth_div {
160 | /* border: 1px solid blue; */
161 | width: 100%;
162 | display: flex;
163 | }
164 |
165 | .second_fifth_div {
166 | /* border: 1px solid green; */
167 | width: 100%;
168 | display: flex;
169 | }
170 |
171 | .first_first_div {
172 | /* border: 1px solid red; */
173 | width: 33.33%;
174 | }
175 |
176 | .second_first_div {
177 | /* border: 1px solid red; */
178 | width: 33.33%;
179 | }
180 |
181 | .first_fifth_div img {
182 | width: 100%;
183 | }
184 |
185 | .second_first_div img {
186 | width: 100%;
187 | }
188 |
189 | .sixth_section {
190 | /* border: 1px solid white; */
191 | width: 100%;
192 |
193 | }
194 |
195 | .sixth {
196 | margin-top: 150px;
197 | /* border: 1px solid yellow; */
198 | width: 45vw;
199 | height: 300px;
200 | text-align: center;
201 | margin: auto;
202 |
203 | }
204 |
205 | .sixth h2 {
206 | font-weight: 400;
207 | line-height: 1.208em;
208 | letter-spacing: -0.02em;
209 | font-size: 45px;
210 | }
211 |
212 | .sixth p{
213 | font-size: 18px;
214 | margin-top: 40px;
215 | }
216 |
217 | .seventh_section {
218 | border: 1px solid white;
219 | width: 100%;
220 | height: 100vh;
221 | background: url("https://d18zdz9g6n5za7.cloudfront.net/about/bio-daniel.jpg") no-repeat center;
222 | background-size: 100% 100%;
223 |
224 | }
225 |
226 | .seventh_headline {
227 | /* border: 1px solid green; */
228 | width: 100%;
229 | }
230 |
231 | .seventh_div {
232 | /* border: 1px solid red; */
233 | width: 70%;
234 | display: flex;
235 | justify-content: space-between;
236 | margin: auto;
237 | margin-top: 30%;
238 |
239 | }
240 |
241 | .seventh_div .seventh_small {
242 | /* border: 1px solid blue; */
243 | width: 440px;
244 | background-color: #ffffff;
245 | padding: 28px;
246 | box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
247 | }
248 |
249 | .seventh_div .seventh_small h4 {
250 | font-size: 1.2rem;
251 | line-height: 28px;
252 | font-weight: 600;
253 | text-align: center;
254 |
255 | }
256 |
257 | .seventh_div .seventh_small {
258 | text-align: center;
259 | }
260 |
261 | .anchor .anchor_tag {
262 | font-size: 16px;
263 |
264 | }
265 |
266 | .eight {
267 | /* border: 1px solid red; */
268 | width: 70%;
269 | height: 220px;
270 | margin: auto;
271 | }
272 |
273 | .eight p {
274 | text-align: center;
275 | margin: 40px;
276 | }
277 |
278 | .eight_anchor {
279 | /* border: 1px solid sienna; */
280 | width: 100%;
281 | margin: auto;
282 | margin-top: 50px;
283 | margin-bottom: 30px;
284 | text-decoration: none;
285 | display: flex;
286 | flex-wrap: wrap;
287 | justify-content: space-around;
288 | align-items: center;
289 | text-align: center;
290 | gap: 30px;
291 | }
292 |
293 | .eight_anchor a {
294 | text-decoration: none;
295 | }
296 |
297 | .eight_anchor .fitness {
298 | font-size: 30px;
299 | font-weight: 500;
300 | color: black;
301 | }
302 |
303 | .eight_anchor .street {
304 | font-size: 20px;
305 | font-weight: 500;
306 | color: black;
307 | }
308 |
309 | .eight_anchor .forbes {
310 | font-size: 30px;
311 | font-weight: 900;
312 | color: black;
313 |
314 | }
315 |
316 | .eight_anchor .post {
317 | font-size: 20px;
318 | font-weight: 400;
319 | color: black;
320 | }
321 |
322 | .eight_anchor .buzz {
323 | font-size: 30px;
324 | color: black;
325 | font-weight: 900;
326 | }
327 |
328 | .ninth {
329 | /* border: 1px solid red; */
330 | width: 100%;
331 | height: 200px;
332 | background-color: #82C3EC;
333 | margin-bottom: 50px;
334 | display: flex;
335 | align-items: center;
336 | text-align: center;
337 | }
338 |
339 | .nnth_first {
340 | /* border: 1px solid yellow; */
341 | width: 70%;
342 | display: flex;
343 | margin: auto;
344 | justify-content: space-between;
345 | flex-wrap: wrap;
346 |
347 | }
348 |
349 | .nnth_first p {
350 | /* margin-left: 250px; */
351 | margin-top: 10px;
352 | width: 280px;
353 | background-color: #212432;
354 | padding: 10px;
355 | font-size: 18px;
356 | color: #ffffff;
357 | text-align: center;
358 | }
359 |
360 | .pspan {
361 | /* border: 1px solid red; */
362 | color: white;
363 | font-size: 2rem;
364 | padding: 10px;
365 |
366 | }
367 |
368 |
369 |
370 |
371 | @media (min-width:700px) and (max-width:3200px) {
372 | .header_line {
373 | /* border: 1px solid red; */
374 | width: 45%;
375 | height: 40vh;
376 | position: absolute;
377 | top: 150px;
378 | left: 150px;
379 | color: white;
380 | }
381 | }
382 |
383 |
384 |
385 | @media (min-width:0px) and (max-width:700px) {
386 | .header_line {
387 | /* border: 1px solid red; */
388 | width: 100%;
389 | color: white;
390 | background-color: black;
391 | text-align: center;
392 | margin: auto;
393 | }
394 |
395 | .second_section {
396 | /* border: 1px solid rgb(64, 215, 26); */
397 | width: 95%;
398 | margin: auto;
399 | text-align: center;
400 | margin-top: 50px;
401 | margin-bottom: 50px;
402 |
403 | }
404 |
405 | .second {
406 | /* border: 1px solid red; */
407 | width: 100%;
408 | text-align: center;
409 | margin: auto;
410 |
411 | }
412 |
413 | .sixth {
414 | /* border: 1px solid yellow; */
415 | width: 100%;
416 | text-align: center;
417 | margin: auto;
418 |
419 | }
420 | }
--------------------------------------------------------------------------------