New heros etc
This commit is contained in:
parent
03d1d94131
commit
2abb05965e
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/videos/banner-contact-light.mp4
Normal file
BIN
public/videos/banner-contact-light.mp4
Normal file
Binary file not shown.
BIN
public/videos/banner-contact-light.webm
Normal file
BIN
public/videos/banner-contact-light.webm
Normal file
Binary file not shown.
BIN
public/videos/banner-contact.mp4
Normal file
BIN
public/videos/banner-contact.mp4
Normal file
Binary file not shown.
BIN
public/videos/banner-contact.webm
Normal file
BIN
public/videos/banner-contact.webm
Normal file
Binary file not shown.
BIN
public/videos/banner-partners-light.mp4
Normal file
BIN
public/videos/banner-partners-light.mp4
Normal file
Binary file not shown.
BIN
public/videos/banner-partners-light.webm
Normal file
BIN
public/videos/banner-partners-light.webm
Normal file
Binary file not shown.
BIN
public/videos/banner-partners.mp4
Normal file
BIN
public/videos/banner-partners.mp4
Normal file
Binary file not shown.
BIN
public/videos/banner-partners.webm
Normal file
BIN
public/videos/banner-partners.webm
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -43,11 +43,10 @@
|
||||
|
||||
position: relative;
|
||||
align-self: center;
|
||||
width: 101%;
|
||||
min-height: tovw(875px, 'default', 414px);
|
||||
margin-top: tovw(-180px, 'default');
|
||||
margin-bottom: tovw(-165px, 'default');
|
||||
width: 115%;
|
||||
max-height: tovw(380px, 'default', 180px);
|
||||
padding-top: tovw(30px, 'default', 20px);
|
||||
margin-bottom: 50px;
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@ -69,11 +68,11 @@
|
||||
background: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 0) 50%,
|
||||
rgb(3 3 3 / 1) 72%,
|
||||
rgb(3 3 3 / 1) 70%,
|
||||
rgb(3 3 3 / 1) 100%
|
||||
);
|
||||
width: 101%;
|
||||
height: 100%;
|
||||
height: tovw(390px, 'default', 200px);
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,10 +10,9 @@
|
||||
rgb(0 0 244 / 0.9) 1.63%,
|
||||
rgb(0 0 244 / 0) 65.89%
|
||||
);
|
||||
padding-top: tovw(185px, 'default', 104px);
|
||||
padding-bottom: tovw(92px, 'default', 40px);
|
||||
padding-top: tovw(220px, 'default', 160px);
|
||||
padding-bottom: tovw(40px, 'default', 20px);
|
||||
max-width: 100%;
|
||||
min-height: calc(var(--vh) * 100);
|
||||
text-align: center;
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: space-between;
|
||||
padding-top: tovw(108px, 'default', 64px);
|
||||
padding-top: tovw(70px, 'default', 30px);
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
flex-direction: column-reverse;
|
||||
|
||||
@ -28,11 +28,9 @@
|
||||
|
||||
position: relative;
|
||||
align-self: center;
|
||||
width: 75%;
|
||||
margin-left: tovw(165px, 'default', 125px);
|
||||
min-height: tovw(790px, 'default', 380px);
|
||||
margin-top: tovw(-45px, 'default');
|
||||
padding-top: tovw(30px, 'default', 20px);
|
||||
width: 105%;
|
||||
max-height: tovw(470px, 'default', 210px);
|
||||
margin-bottom: tovw(50px, 'default', 40px);
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@ -56,9 +54,9 @@
|
||||
rgb(3 3 3 / 1) 70%,
|
||||
rgb(3 3 3 / 1) 100%
|
||||
);
|
||||
transform: translateX(-20%) translateY(-3%);
|
||||
width: 400%;
|
||||
height: 102%;
|
||||
transform: translateX(-30%) translateY(-3%);
|
||||
width: 650%;
|
||||
height: tovw(495px, 'default', 200px);
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
gap: tovw(155px, 'default', 80px) tovw(130px, 'default', 30px);
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: repeat(2, 1fr);
|
||||
padding-bottom: tovw(115px, 'default', 55px);
|
||||
|
||||
.hero__container {
|
||||
@include respond-to('mobile') {
|
||||
@ -49,9 +50,9 @@
|
||||
}
|
||||
|
||||
position: absolute;
|
||||
right: tovw(630px, 'default', 80px);
|
||||
right: tovw(570px, 'default', 80px);
|
||||
z-index: -3;
|
||||
padding-top: tovw(250px, 'default', 90px);
|
||||
padding-top: tovw(150px, 'default', 90px);
|
||||
|
||||
video {
|
||||
@include respond-to('mobile') {
|
||||
@ -59,9 +60,15 @@
|
||||
}
|
||||
|
||||
z-index: -1;
|
||||
width: tovw(1750px, 'default', 800px);
|
||||
width: tovw(1900px, 'default', 800px);
|
||||
pointer-events: none;
|
||||
user-select: none;
|
||||
mask-image: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 1) 5%,
|
||||
rgb(3 3 3 / 1) 30%,
|
||||
rgb(3 3 3 / 0) 60%
|
||||
);
|
||||
}
|
||||
|
||||
&::after {
|
||||
@ -78,19 +85,19 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
background: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 0) 25%,
|
||||
rgb(3 3 3 / 0.9648) 60%,
|
||||
rgb(3 3 3 / 1) 95%
|
||||
);
|
||||
width: 100%;
|
||||
height: 80%;
|
||||
content: '';
|
||||
// position: absolute;
|
||||
// bottom: 0;
|
||||
// left: 0;
|
||||
// z-index: 1;
|
||||
// background: radial-gradient(
|
||||
// ellipse,
|
||||
// rgb(3 3 3 / 0) 25%,
|
||||
// rgb(3 3 3 / 0.9648) 60%,
|
||||
// rgb(3 3 3 / 1) 95%
|
||||
// );
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
// content: '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -24,16 +24,49 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.hero__container {
|
||||
.video_container {
|
||||
@include respond-to('mobile') {
|
||||
min-height: tovw(400px, 'mobile', 510px);
|
||||
min-height: unset;
|
||||
}
|
||||
|
||||
display: flex;
|
||||
place-content: center;
|
||||
margin-top: tovw(-210px, 'default', -220px);
|
||||
margin-bottom: tovw(-60px, 'default', -70px);
|
||||
min-height: tovw(925px, 'default', 485px);
|
||||
position: relative;
|
||||
align-self: center;
|
||||
width: 120%;
|
||||
max-height: tovw(650px, 'default', 320px);
|
||||
margin-bottom: tovw(240px, 'default', 180px);
|
||||
margin-top: tovw(-175px, 'default', -185px);
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@include respond-to('mobile') {
|
||||
display: none;
|
||||
}
|
||||
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
mask-size: 250% 100%;
|
||||
mask-position: center center;
|
||||
mask-repeat: no-repeat;
|
||||
mask-image: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 1) 40%,
|
||||
rgb(3 3 3 / 0) 85%,
|
||||
rgb(3 3 3 / 0) 100%
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.hero__container {
|
||||
@include respond-to('mobile') {
|
||||
display: flex;
|
||||
place-content: center;
|
||||
margin-top: tovw(-210px, 'default', -220px);
|
||||
margin-bottom: tovw(-60px, 'default', -70px);
|
||||
min-height: tovw(925px, 'default', 485px);
|
||||
}
|
||||
|
||||
display: none;
|
||||
|
||||
.hero {
|
||||
@include respond-to('mobile') {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { useTheme } from 'next-themes'
|
||||
import { useEffect, useRef } from 'react'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
|
||||
import { Arrow } from '~/components/icons/arrow'
|
||||
import Line from '~/components/icons/line'
|
||||
@ -24,17 +24,26 @@ interface Props {
|
||||
const Hero = ({ data }: Props) => {
|
||||
const { theme } = useTheme()
|
||||
|
||||
const contactHeroRef = useRef<HTMLImageElement>(null)
|
||||
const [webmSource, setWebmSource] = useState('')
|
||||
const [mp4Source, setMp4Source] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
if (theme === 'dark') {
|
||||
setWebmSource('/videos/banner-contact.webm')
|
||||
setMp4Source('/videos/banner-contact.mp4')
|
||||
}
|
||||
|
||||
if (theme === 'light') {
|
||||
setWebmSource('/videos/banner-contact-light.webm')
|
||||
setMp4Source('/videos/banner-contact-light.mp4')
|
||||
}
|
||||
}, [theme])
|
||||
|
||||
const contactHeroMobileRef = useRef<HTMLImageElement>(null)
|
||||
|
||||
useEffect(() => {
|
||||
if (!contactHeroRef.current) return
|
||||
if (!contactHeroMobileRef.current) return
|
||||
|
||||
contactHeroRef.current.src =
|
||||
theme === 'dark'
|
||||
? '/images/contact/banner-contact.png'
|
||||
: '/images/contact/banner-contact-light.png'
|
||||
contactHeroMobileRef.current.src =
|
||||
theme === 'dark'
|
||||
? '/images/contact/banner-contact.png'
|
||||
@ -44,13 +53,20 @@ const Hero = ({ data }: Props) => {
|
||||
return (
|
||||
<Section className={s['section']} disableFadeIn>
|
||||
<div className={s.gradient} />
|
||||
<div className={s['video_container']}>
|
||||
<video
|
||||
key={mp4Source}
|
||||
autoPlay
|
||||
controls={false}
|
||||
muted
|
||||
playsInline={true}
|
||||
preload="true"
|
||||
>
|
||||
<source src={webmSource} type="video/webm" />
|
||||
<source src={mp4Source} type="video/mp4" />
|
||||
</video>
|
||||
</div>
|
||||
<div className={s.hero__container}>
|
||||
<img
|
||||
ref={contactHeroRef}
|
||||
className={s.hero}
|
||||
loading="eager"
|
||||
alt="hero"
|
||||
/>
|
||||
<img
|
||||
ref={contactHeroMobileRef}
|
||||
className={s.hero__mobile}
|
||||
|
||||
@ -28,10 +28,9 @@
|
||||
|
||||
position: relative;
|
||||
align-self: center;
|
||||
width: 70%;
|
||||
min-height: tovw(770px, 'default', 370px);
|
||||
margin-top: tovw(-30px, 'default');
|
||||
padding-top: tovw(30px, 'default', 20px);
|
||||
width: 85%;
|
||||
max-height: tovw(450px, 'default', 210px);
|
||||
margin-bottom: tovw(120px, 'default', 80px);
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@ -42,23 +41,15 @@
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
top: tovw(10px, 'default', 10px);
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
mix-blend-mode: overlay;
|
||||
background: radial-gradient(
|
||||
mask-size: 250% 100%;
|
||||
mask-position: center center;
|
||||
mask-repeat: no-repeat;
|
||||
mask-image: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 0) 50%,
|
||||
rgb(3 3 3 / 1) 72%,
|
||||
rgb(3 3 3 / 1) 100%
|
||||
rgb(3 3 3 / 1) 40%,
|
||||
rgb(3 3 3 / 0) 85%,
|
||||
rgb(3 3 3 / 0) 100%
|
||||
);
|
||||
width: 101%;
|
||||
height: 90%;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -21,14 +21,46 @@
|
||||
}
|
||||
}
|
||||
|
||||
.video_container {
|
||||
@include respond-to('mobile') {
|
||||
min-height: unset;
|
||||
}
|
||||
|
||||
position: relative;
|
||||
align-self: center;
|
||||
width: 101%;
|
||||
max-height: tovw(450px, 'default', 200px);
|
||||
margin-bottom: tovw(65px, 'default', 60px);
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@include respond-to('mobile') {
|
||||
display: none;
|
||||
}
|
||||
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
mask-size: 250% 100%;
|
||||
mask-position: center center;
|
||||
mask-repeat: no-repeat;
|
||||
mask-image: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 1) 40%,
|
||||
rgb(3 3 3 / 0) 85%,
|
||||
rgb(3 3 3 / 0) 100%
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.hero__container {
|
||||
@include respond-to('mobile') {
|
||||
display: flex;
|
||||
place-content: center;
|
||||
min-height: tovw(400px, 'mobile', 480px);
|
||||
}
|
||||
|
||||
display: flex;
|
||||
place-content: center;
|
||||
min-height: tovw(650px, 'default', 320px);
|
||||
display: none;
|
||||
|
||||
.hero {
|
||||
@include respond-to('mobile') {
|
||||
@ -186,3 +218,21 @@
|
||||
height: tovw(740px, 'default', 740px);
|
||||
}
|
||||
}
|
||||
|
||||
[data-theme='light'] {
|
||||
.video_container {
|
||||
mix-blend-mode: darken;
|
||||
|
||||
&::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.hero__container {
|
||||
mix-blend-mode: darken;
|
||||
}
|
||||
|
||||
.gradient {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
import { useTheme } from 'next-themes'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
|
||||
import { Arrow } from '~/components/icons/arrow'
|
||||
import { Container } from '~/components/layout/container'
|
||||
import Section from '~/components/layout/section'
|
||||
@ -15,21 +18,57 @@ interface Props {
|
||||
}
|
||||
|
||||
const Hero = ({ data }: Props) => {
|
||||
const { theme } = useTheme()
|
||||
|
||||
const [webmSource, setWebmSource] = useState('')
|
||||
const [mp4Source, setMp4Source] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
if (theme === 'dark') {
|
||||
setWebmSource('/videos/banner-partners.webm')
|
||||
setMp4Source('/videos/banner-partners.mp4')
|
||||
}
|
||||
|
||||
if (theme === 'light') {
|
||||
setWebmSource('/videos/banner-partners-light.webm')
|
||||
setMp4Source('/videos/banner-partners-light.mp4')
|
||||
}
|
||||
}, [theme])
|
||||
|
||||
const partnersHeroMobileRef = useRef<HTMLImageElement>(null)
|
||||
|
||||
useEffect(() => {
|
||||
if (!partnersHeroMobileRef.current) return
|
||||
|
||||
partnersHeroMobileRef.current.src =
|
||||
theme === 'dark'
|
||||
? '/images/partners/partners.png'
|
||||
: '/images/partners/partners.png'
|
||||
}, [theme])
|
||||
|
||||
return (
|
||||
<Section className={s['section']} disableFadeIn>
|
||||
<div className={s.gradient} />
|
||||
<div className={s['video_container']}>
|
||||
<video
|
||||
key={mp4Source}
|
||||
autoPlay
|
||||
controls={false}
|
||||
loop
|
||||
muted
|
||||
playsInline={true}
|
||||
preload="true"
|
||||
>
|
||||
<source src={webmSource} type="video/webm" />
|
||||
<source src={mp4Source} type="video/mp4" />
|
||||
</video>
|
||||
</div>
|
||||
<div className={s.hero__container}>
|
||||
<img
|
||||
className={s.hero}
|
||||
loading="eager"
|
||||
alt="hero"
|
||||
src="/images/partners/partners.png"
|
||||
/>
|
||||
<img
|
||||
className={s.hero__mobile}
|
||||
loading="eager"
|
||||
alt="hero"
|
||||
src="/images/partners/partners.png"
|
||||
ref={partnersHeroMobileRef}
|
||||
/>
|
||||
</div>
|
||||
<Container className={s['container']}>
|
||||
|
||||
@ -28,11 +28,9 @@
|
||||
|
||||
align-self: center;
|
||||
position: relative;
|
||||
width: 82%;
|
||||
min-height: tovw(925px, 'default', 435px);
|
||||
margin-top: tovw(-175px, 'default');
|
||||
margin-bottom: tovw(-180px, 'default');
|
||||
padding-top: tovw(30px, 'default', 20px);
|
||||
width: 102%;
|
||||
max-height: tovw(380px, 'default', 210px);
|
||||
margin-bottom: tovw(110px, 'default', 20px);
|
||||
mix-blend-mode: lighten;
|
||||
|
||||
video {
|
||||
@ -42,22 +40,6 @@
|
||||
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
background: radial-gradient(
|
||||
ellipse,
|
||||
rgb(3 3 3 / 0) 60%,
|
||||
rgb(3 3 3 / 1) 75%,
|
||||
rgb(3 3 3 / 1) 100%
|
||||
);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
.hero__mobile {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user