foundry-component-library 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/svg/footer-logo.svg +1 -1
- package/lib/components/CaseStudyTeaser/index.tsx +48 -46
- package/lib/components/CaseStudyTeaser/styles.module.scss +7 -1
- package/lib/components/ContactTeaser/index.tsx +3 -0
- package/lib/components/Hero/index.tsx +9 -2
- package/lib/components/Hero/styles.module.scss +7 -4
- package/lib/components/LogoSection/Logos.tsx +6 -1
- package/lib/components/OfficesTeaser/index.tsx +1 -0
- package/lib/components/TextAnimations/WavyText/index.tsx +3 -1
- package/lib/components/VideoTeaser/index.tsx +80 -27
- package/lib/components/VideoTeaser/styles.module.scss +24 -1
- package/lib/components/VideoTeaser/video-poster.jpg +0 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg viewBox="0 0 415 110" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
2
|
<path d="M51.3664 80.0738C52.3787 80.0738 53.2626 80.4516 54.0181 81.2146C54.7735 81.9701 55.1588 82.8539 55.1588 83.8663C55.1588 84.8786 54.7735 85.7624 54.0181 86.5179C53.2551 87.2809 52.3787 87.6587 51.3664 87.6587H4.7924C3.7121 87.6587 2.80555 87.2809 2.08031 86.5179C1.35507 85.7624 1 84.8786 1 83.8663C1 82.8539 1.36262 81.9701 2.08031 81.2146C2.79799 80.4516 3.70454 80.0738 4.7924 80.0738H24.2908V30.2438H4.7924C3.7121 30.2438 2.80555 29.8812 2.08031 29.1635C1.35507 28.4458 1 27.5393 1 26.4514C1 25.4466 1.36262 24.5552 2.08031 23.7997C2.79799 23.0367 3.70454 22.659 4.7924 22.659H24.2908V4.78485C24.2908 3.78009 24.6534 2.88865 25.3711 2.13319C26.0888 1.37773 26.9953 1 28.0832 1H51.374C52.3863 1 53.2702 1.37773 54.0256 2.13319C54.7811 2.8962 55.1664 3.78009 55.1664 4.78485C55.1664 5.86516 54.7811 6.77171 54.0256 7.49695C53.2626 8.22219 52.3863 8.57726 51.374 8.57726H31.8756V22.659H51.374C52.3863 22.659 53.2702 23.0367 54.0256 23.7997C54.7811 24.5552 55.1664 25.4391 55.1664 26.4514C55.1664 27.5317 54.7811 28.4383 54.0256 29.1635C53.2626 29.8887 52.3863 30.2438 51.374 30.2438H31.8756V80.0738H51.374H51.3664Z" fill="white"/>
|
|
3
3
|
<path d="M66.5364 87.6601C65.4561 87.6601 64.5495 87.2823 63.8243 86.5193C63.099 85.7639 62.744 84.88 62.744 83.8677V26.4528C62.744 25.448 63.1066 24.5566 63.8243 23.8012C64.542 23.0381 65.4485 22.6604 66.5364 22.6604H113.11C114.123 22.6604 115.007 23.0381 115.762 23.8012C116.518 24.5566 116.903 25.4405 116.903 26.4528V83.8677C116.903 84.88 116.518 85.7639 115.762 86.5193C114.999 87.2823 114.123 87.6601 113.11 87.6601H66.5364ZM70.3288 60.5769C70.3288 64.12 71.1976 67.3684 72.9276 70.3298C74.6576 73.2912 77.007 75.6558 79.9684 77.4236C82.9298 79.1989 86.2161 80.0752 89.8272 80.0752C93.4383 80.0752 96.7094 79.1914 99.633 77.4236C102.557 75.6558 104.899 73.2912 106.674 70.3298C108.442 67.3684 109.326 64.12 109.326 60.5769V49.7436C109.326 46.1325 108.442 42.8614 106.674 39.9377C104.899 37.0141 102.557 34.6722 99.633 32.8969C96.7094 31.1291 93.4383 30.2452 89.8272 30.2452C86.2161 30.2452 82.9298 31.1291 79.9684 32.8969C77.007 34.6722 74.6576 37.0141 72.9276 39.9377C71.1976 42.8614 70.3288 46.1325 70.3288 49.7436V60.5769Z" fill="white"/>
|
|
4
4
|
<path d="M151.562 87.6601C146.576 87.6601 142.044 86.4362 137.964 83.981C133.885 81.5257 130.613 78.2546 128.158 74.1751C125.703 70.0956 124.479 65.5629 124.479 60.5769V26.4528C124.479 25.448 124.857 24.5566 125.62 23.8012C126.375 23.0381 127.259 22.6604 128.271 22.6604C129.352 22.6604 130.258 23.0381 130.976 23.8012C131.701 24.5566 132.056 25.4405 132.056 26.4528V60.5769C132.056 64.12 132.94 67.3684 134.708 70.3298C136.476 73.2912 138.84 75.6558 141.802 77.4236C144.763 79.1989 148.012 80.0752 151.555 80.0752C155.166 80.0752 158.445 79.1914 161.413 77.4236C164.375 75.6558 166.717 73.2912 168.454 70.3298C170.184 67.3684 171.053 64.12 171.053 60.5769V26.4528C171.053 25.448 171.438 24.5566 172.194 23.8012C172.957 23.0381 173.833 22.6604 174.846 22.6604C175.926 22.6604 176.832 23.0381 177.558 23.8012C178.275 24.5566 178.638 25.4405 178.638 26.4528V60.5769C178.638 65.5629 177.429 70.0956 175.004 74.1751C172.587 78.2546 169.316 81.5257 165.198 83.981C161.081 86.4362 156.533 87.6601 151.555 87.6601H151.562Z" fill="white"/>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { useRef } from "react";
|
|
3
3
|
import { translate } from "../../utils";
|
|
4
4
|
import styles from "./styles.module.scss";
|
|
5
5
|
import Container from "../Container";
|
|
6
6
|
import { Case, NextImage } from "../../types";
|
|
7
|
-
import
|
|
7
|
+
import { motion } from "framer-motion";
|
|
8
8
|
import WavyText from "../TextAnimations/WavyText";
|
|
9
9
|
|
|
10
10
|
const CaseStudyTeaser = ({
|
|
@@ -17,16 +17,8 @@ const CaseStudyTeaser = ({
|
|
|
17
17
|
Image: NextImage;
|
|
18
18
|
}) => {
|
|
19
19
|
const headingRef = useRef<HTMLDivElement>(null);
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const { handleMouseDown, handleMouseMove, handleMouseUp, dragStyle } =
|
|
23
|
-
useDrag(casesRef);
|
|
24
|
-
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
if (headingRef.current) {
|
|
27
|
-
setPadding(headingRef.current.offsetLeft);
|
|
28
|
-
}
|
|
29
|
-
}, [headingRef]);
|
|
20
|
+
const wrapperRef = useRef<HTMLDivElement>(null);
|
|
21
|
+
const dragStarted = useRef(false);
|
|
30
22
|
|
|
31
23
|
if (!cases) return;
|
|
32
24
|
|
|
@@ -39,40 +31,50 @@ const CaseStudyTeaser = ({
|
|
|
39
31
|
</WavyText>
|
|
40
32
|
</div>
|
|
41
33
|
</Container>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
34
|
+
<Container>
|
|
35
|
+
<div ref={wrapperRef} style={{ width: "100%" }}>
|
|
36
|
+
<motion.div
|
|
37
|
+
className={styles.cases}
|
|
38
|
+
drag="x"
|
|
39
|
+
dragConstraints={wrapperRef}
|
|
40
|
+
onDragStart={() => (dragStarted.current = true)}
|
|
41
|
+
onDragEnd={() => {
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
dragStarted.current = false;
|
|
44
|
+
}, 0);
|
|
45
|
+
}}
|
|
46
|
+
>
|
|
47
|
+
{cases.map((el) => {
|
|
48
|
+
return (
|
|
49
|
+
<div key={el.id} className={styles.case}>
|
|
50
|
+
<Image
|
|
51
|
+
className={styles.image}
|
|
52
|
+
src={el.case?.mainImage?.sourceUrl || ""}
|
|
53
|
+
alt={el.title}
|
|
54
|
+
fill
|
|
55
|
+
/>
|
|
56
|
+
<div className={styles.texts}>
|
|
57
|
+
<div className={styles.caption}>{el.case?.caption}</div>
|
|
58
|
+
<div className={styles.title}>{el.title}</div>
|
|
59
|
+
<a
|
|
60
|
+
href={el.uri}
|
|
61
|
+
className={styles.button}
|
|
62
|
+
onClick={(e) => {
|
|
63
|
+
if (dragStarted.current) {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
e.stopPropagation();
|
|
66
|
+
}
|
|
67
|
+
}}
|
|
68
|
+
>
|
|
69
|
+
{translate("See More")}
|
|
70
|
+
</a>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
})}
|
|
75
|
+
</motion.div>
|
|
76
|
+
</div>
|
|
77
|
+
</Container>
|
|
76
78
|
</div>
|
|
77
79
|
);
|
|
78
80
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.caseStudyTeaser {
|
|
4
4
|
padding: 64px 0;
|
|
5
|
+
overflow: hidden;
|
|
5
6
|
|
|
6
7
|
@media #{$QUERY-sm} {
|
|
7
8
|
padding: 32px 0 64px;
|
|
@@ -21,8 +22,13 @@
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
.cases {
|
|
24
|
-
display: flex;
|
|
25
|
+
display: inline-flex;
|
|
25
26
|
gap: 16px;
|
|
27
|
+
padding-right: 140px;
|
|
28
|
+
|
|
29
|
+
@media screen and (max-width: $screen-sm) {
|
|
30
|
+
padding-right: 0;
|
|
31
|
+
}
|
|
26
32
|
}
|
|
27
33
|
|
|
28
34
|
.case {
|
|
@@ -11,6 +11,7 @@ const ContactTeaser = ({
|
|
|
11
11
|
theme = "yellow",
|
|
12
12
|
buttonText = "Contact Us",
|
|
13
13
|
buttonHref = "/contact",
|
|
14
|
+
alternate,
|
|
14
15
|
Link,
|
|
15
16
|
}: {
|
|
16
17
|
heading: string;
|
|
@@ -18,6 +19,7 @@ const ContactTeaser = ({
|
|
|
18
19
|
theme?: "yellow" | "pink";
|
|
19
20
|
buttonText?: string;
|
|
20
21
|
buttonHref?: string;
|
|
22
|
+
alternate?: boolean;
|
|
21
23
|
Link: NextLink;
|
|
22
24
|
}) => {
|
|
23
25
|
return (
|
|
@@ -28,6 +30,7 @@ const ContactTeaser = ({
|
|
|
28
30
|
<WavyText
|
|
29
31
|
className={`${styles.heading} ${!text ? styles.margin : ""}`}
|
|
30
32
|
text={heading}
|
|
33
|
+
alternate={alternate}
|
|
31
34
|
/>
|
|
32
35
|
)}
|
|
33
36
|
{text && <FadeInText className={styles.text} text={text} />}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef } from "react";
|
|
1
3
|
import styles from "./styles.module.scss";
|
|
2
4
|
import Container from "../Container";
|
|
3
5
|
import { NextImage, NextLink } from "../../types";
|
|
6
|
+
import { useOnScreen } from "../../hooks/useOnScreen";
|
|
4
7
|
|
|
5
8
|
const Hero = ({
|
|
6
9
|
image,
|
|
@@ -24,17 +27,21 @@ const Hero = ({
|
|
|
24
27
|
Link: NextLink;
|
|
25
28
|
Image: NextImage;
|
|
26
29
|
}) => {
|
|
30
|
+
const sectionRef = useRef(null);
|
|
31
|
+
const onScreen = useOnScreen(sectionRef, "-50%");
|
|
32
|
+
|
|
27
33
|
if (!image) return;
|
|
28
34
|
|
|
29
35
|
if (isFullWidth) {
|
|
30
36
|
return (
|
|
31
37
|
<div
|
|
38
|
+
ref={sectionRef}
|
|
32
39
|
className={`${styles.hero} ${styles.isFullWidth} ${
|
|
33
40
|
noMarginBottom ? styles.noMarginBottom : ""
|
|
34
41
|
}`}
|
|
35
42
|
>
|
|
36
43
|
<Image
|
|
37
|
-
className={styles.background}
|
|
44
|
+
className={`${styles.background} ${onScreen ? styles.active : ""}`}
|
|
38
45
|
src={image}
|
|
39
46
|
width="1280"
|
|
40
47
|
height="600"
|
|
@@ -60,7 +67,7 @@ const Hero = ({
|
|
|
60
67
|
}`}
|
|
61
68
|
>
|
|
62
69
|
<Image
|
|
63
|
-
className={styles.background}
|
|
70
|
+
className={`${styles.background} ${onScreen ? styles.active : ""}`}
|
|
64
71
|
src={image}
|
|
65
72
|
width="1280"
|
|
66
73
|
height="600"
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
margin: 64px 0;
|
|
10
10
|
text-align: center;
|
|
11
11
|
line-height: 1.1;
|
|
12
|
+
overflow: hidden;
|
|
12
13
|
|
|
13
14
|
@media #{$QUERY-sm} {
|
|
14
15
|
min-height: 350px;
|
|
@@ -28,10 +29,6 @@
|
|
|
28
29
|
z-index: 1;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
img {
|
|
32
|
-
object-fit: cover;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
32
|
&.isFullWidth {
|
|
36
33
|
margin: 0;
|
|
37
34
|
min-height: 720px;
|
|
@@ -90,6 +87,12 @@
|
|
|
90
87
|
width: 100%;
|
|
91
88
|
height: 100%;
|
|
92
89
|
z-index: 0;
|
|
90
|
+
object-fit: cover;
|
|
91
|
+
transition: transform 0.3s;
|
|
92
|
+
|
|
93
|
+
&.active {
|
|
94
|
+
transform: scale(1.1);
|
|
95
|
+
}
|
|
93
96
|
}
|
|
94
97
|
|
|
95
98
|
.button {
|
|
@@ -41,6 +41,11 @@ const Logos = ({
|
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
useEffect(() => {
|
|
44
|
+
if (withoutFilters) {
|
|
45
|
+
setBrandsToShow(brands);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
44
49
|
setBrandsToShow([]);
|
|
45
50
|
|
|
46
51
|
setTimeout(() => {
|
|
@@ -114,7 +119,7 @@ const Logos = ({
|
|
|
114
119
|
initial={{ opacity: 0, y: -10 }}
|
|
115
120
|
animate={{ opacity: 1, y: 0 }}
|
|
116
121
|
exit={{ opacity: 0, y: 10 }}
|
|
117
|
-
transition={{ duration: 0.
|
|
122
|
+
transition={{ duration: 0.45 }}
|
|
118
123
|
layout
|
|
119
124
|
>
|
|
120
125
|
<Image
|
|
@@ -6,12 +6,14 @@ interface Props extends HTMLMotionProps<"div"> {
|
|
|
6
6
|
text: string;
|
|
7
7
|
delay?: number;
|
|
8
8
|
duration?: number;
|
|
9
|
+
alternate?: boolean;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
const WavyText: FC<Props> = ({
|
|
12
13
|
text,
|
|
13
14
|
delay = 0,
|
|
14
15
|
duration = 0.05,
|
|
16
|
+
alternate = false,
|
|
15
17
|
...props
|
|
16
18
|
}: Props) => {
|
|
17
19
|
const container: Variants = {
|
|
@@ -36,7 +38,7 @@ const WavyText: FC<Props> = ({
|
|
|
36
38
|
},
|
|
37
39
|
hidden: {
|
|
38
40
|
opacity: 0,
|
|
39
|
-
y:
|
|
41
|
+
y: alternate ? -15 : 15,
|
|
40
42
|
transition: {
|
|
41
43
|
type: "spring",
|
|
42
44
|
damping: 12,
|
|
@@ -5,13 +5,49 @@ import styles from "./styles.module.scss";
|
|
|
5
5
|
import Mute from "../../assets/svg/mute.svg";
|
|
6
6
|
import Muted from "../../assets/svg/muted.svg";
|
|
7
7
|
import PlayButton from "../../assets/svg/play-button.svg";
|
|
8
|
-
import
|
|
8
|
+
import {
|
|
9
|
+
motion,
|
|
10
|
+
useScroll,
|
|
11
|
+
useMotionValueEvent,
|
|
12
|
+
useTransform,
|
|
13
|
+
} from "motion/react";
|
|
14
|
+
import Logo from "../../assets/svg/footer-logo.svg";
|
|
9
15
|
|
|
10
16
|
function VideoTeaser({ url }: { url: string }) {
|
|
11
17
|
const [playing, setPlaying] = useState(false);
|
|
12
18
|
const [hasWindow, setHasWindow] = useState(false);
|
|
13
19
|
const [isMuted, setIsMuted] = useState(true);
|
|
14
20
|
const [isAnimated, setIsAnimated] = useState(false);
|
|
21
|
+
const { scrollY } = useScroll();
|
|
22
|
+
const [path, setPath] = useState(
|
|
23
|
+
`polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%)`
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
const progress = useTransform(scrollY, [100, 300], [0, 1]);
|
|
27
|
+
|
|
28
|
+
const lerp = (a: number, b: number, t: number) => {
|
|
29
|
+
return a + (b - a) * t;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
useMotionValueEvent(scrollY, "change", () => {
|
|
33
|
+
setPath(
|
|
34
|
+
`polygon(
|
|
35
|
+
${lerp(50, 0, progress.get())}%
|
|
36
|
+
${lerp(50, 0, progress.get())}%,
|
|
37
|
+
${lerp(50, 100, progress.get())}%
|
|
38
|
+
${lerp(50, 0, progress.get())}%,
|
|
39
|
+
${lerp(50, 100, progress.get())}%
|
|
40
|
+
${lerp(50, 100, progress.get())}%,
|
|
41
|
+
${lerp(50, 0, progress.get())}%
|
|
42
|
+
${lerp(50, 100, progress.get())}%)`
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
if (progress.get() >= 1) {
|
|
46
|
+
setIsAnimated(true);
|
|
47
|
+
} else {
|
|
48
|
+
setIsAnimated(false);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
15
51
|
|
|
16
52
|
useEffect(() => {
|
|
17
53
|
if (typeof window !== "undefined") {
|
|
@@ -26,35 +62,52 @@ function VideoTeaser({ url }: { url: string }) {
|
|
|
26
62
|
if (!url) return;
|
|
27
63
|
|
|
28
64
|
return (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</button>
|
|
39
|
-
<div className={styles.video} onClick={handleClick}>
|
|
40
|
-
<div
|
|
41
|
-
className={`${styles.playButton} ${playing ? styles.playing : ""} ${
|
|
42
|
-
isAnimated ? styles.isAnimated : ""
|
|
65
|
+
<>
|
|
66
|
+
<div style={{ height: "1000px" }}>
|
|
67
|
+
<div className={styles.logoWrapper}>
|
|
68
|
+
<Logo />
|
|
69
|
+
</div>
|
|
70
|
+
<motion.div
|
|
71
|
+
// eslint-disable-next-line no-extra-boolean-cast
|
|
72
|
+
className={`${styles.wrapper} ${!!url ? styles.playCursor : ""} ${
|
|
73
|
+
playing ? styles.playing : ""
|
|
43
74
|
}`}
|
|
75
|
+
style={{
|
|
76
|
+
clipPath: path,
|
|
77
|
+
}}
|
|
44
78
|
>
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
79
|
+
{/* <Mask isAnimated={isAnimated} setIsAnimated={setIsAnimated} /> */}
|
|
80
|
+
|
|
81
|
+
<button
|
|
82
|
+
className={styles.btnMute}
|
|
83
|
+
onClick={() => setIsMuted(!isMuted)}
|
|
84
|
+
>
|
|
85
|
+
{isMuted ? <Muted /> : <Mute />}
|
|
86
|
+
</button>
|
|
87
|
+
<div className={styles.video} onClick={handleClick}>
|
|
88
|
+
<div
|
|
89
|
+
className={`${styles.playButton} ${
|
|
90
|
+
playing ? styles.playing : ""
|
|
91
|
+
} ${isAnimated ? styles.isAnimated : ""}`}
|
|
92
|
+
>
|
|
93
|
+
<PlayButton />
|
|
94
|
+
</div>
|
|
95
|
+
{hasWindow && (
|
|
96
|
+
<ReactPlayer
|
|
97
|
+
playing={playing}
|
|
98
|
+
url={url}
|
|
99
|
+
width="100%"
|
|
100
|
+
height="100%"
|
|
101
|
+
muted={isMuted}
|
|
102
|
+
config={{
|
|
103
|
+
file: { attributes: { poster: "/video-poster.jpg" } },
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
106
|
+
)}
|
|
107
|
+
</div>
|
|
108
|
+
</motion.div>
|
|
56
109
|
</div>
|
|
57
|
-
|
|
110
|
+
</>
|
|
58
111
|
);
|
|
59
112
|
}
|
|
60
113
|
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
box-sizing: border-box;
|
|
12
12
|
display: flex;
|
|
13
13
|
align-items: center;
|
|
14
|
-
position:
|
|
14
|
+
position: sticky;
|
|
15
|
+
top: 79px;
|
|
15
16
|
overflow: hidden;
|
|
17
|
+
clip-path: polygon(10% 5%, 90% 5%, 90% 95%, 10% 95%);
|
|
16
18
|
|
|
17
19
|
@media #{$QUERY-md} {
|
|
18
20
|
padding: 100px 50px;
|
|
@@ -29,6 +31,27 @@
|
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
|
|
34
|
+
.logoWrapper {
|
|
35
|
+
width: 100%;
|
|
36
|
+
height: calc(100vh - 79px);
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: 0;
|
|
42
|
+
left: 0;
|
|
43
|
+
|
|
44
|
+
svg {
|
|
45
|
+
width: 830px;
|
|
46
|
+
// height: 220px;
|
|
47
|
+
max-width: 90%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
path {
|
|
51
|
+
fill: $color-blue;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
32
55
|
.video {
|
|
33
56
|
width: 100%;
|
|
34
57
|
height: 100%;
|
|
Binary file
|