stream/src/layouts/InfoLayout/styles.js

172 lines
3.4 KiB
JavaScript
Raw Normal View History

2021-10-15 13:37:54 +00:00
import { Link } from 'react-router-dom'
import styled from 'styled-components'
2021-10-20 14:32:27 +00:00
import { colours, screenSizes } from '../../assets/theme'
2021-10-15 13:37:54 +00:00
import { ImageLogo as Logo } from '../../components/Logo'
const heroWidth = 'calc(100vw - 600px - 4em)'
export const Wrapper = styled.div`
height: 100vh;
width: 100vw;
padding: 2em;
display: flex;
box-sizing: border-box;
position: fixed;
overflow-y: scroll;
2021-10-12 12:45:52 +00:00
2021-10-20 14:32:27 +00:00
@media screen and (max-width: ${screenSizes.lg}px) {
padding: 1.5em;
}
2021-11-01 22:34:29 +00:00
@media screen and (max-width: ${screenSizes.md}px) {
/* padding: 1.5em 1.5em 1.5em 10em; */
display: flex;
justify-content: center;
}
@media screen and (max-width: ${screenSizes.sm}px)
padding: 1em;
}
2021-10-12 12:45:52 +00:00
background-color: ${props => props.theme.background};
p,
h1,
h2,
h3 {
color: ${props => props.theme.foreground};
}
button {
color: ${props => props.theme.foreground};
border-color: ${props => props.theme.foreground};
&:hover {
border-color: ${props => props.theme.background};
color: ${props => props.theme.background};
background-color: ${props => props.theme.foreground};
}
}
`
export const Top = styled.div`
width: 50%;
`
2021-10-15 13:37:54 +00:00
const getGradient = (direction, colour) =>
`linear-gradient(to ${direction}, ${colour}ee 0%,${colour}00 100%);`
export const Hero = styled.div`
width: ${heroWidth};
height: 100vh;
2021-10-11 17:15:09 +00:00
background: url(${(props) => props.image});
background-size: cover;
2021-11-10 15:34:13 +00:00
background-position-x: center;
position: fixed;
padding: 0;
right: 0;
top: 0;
padding: 2em 2em 8px 2em;
box-sizing: border-box;
display: flex;
flex-direction: column;
2021-10-15 13:37:54 +00:00
justify-content: flex-end;
pointer-events: none;
h1,
h2 {
color: ${colours.offwhite};
}
2021-10-15 13:37:54 +00:00
h1{
margin-bottom: 0.2em;
&:not(:last-of-type) {
2021-11-01 22:34:29 +00:00
font-size: 12.5vw;
2021-11-01 22:34:29 +00:00
@media screen and (max-width: ${screenSizes.lg}px) {
font-size: 9vw;
}
@media screen and (min-width: ${screenSizes.lg}px) {
2021-11-10 15:34:13 +00:00
font-size: 12vw;
2021-11-01 22:34:29 +00:00
}
}}
2021-10-20 14:32:27 +00:00
@media screen and (max-width: ${screenSizes.md}px) {
display: none;
}
`
2021-03-24 15:24:34 +00:00
export const LoaderWrapper = styled.div`
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
position: fixed;
top: 0;
width: 600px;
`
2021-03-11 20:24:44 +00:00
export const Content = styled.div`
2021-10-15 13:37:54 +00:00
padding-top: 80px;
2021-10-20 14:33:06 +00:00
@media screen and (max-width: ${screenSizes.md}px) {
padding-top: 100px;
}
2021-10-15 13:37:54 +00:00
img.img-logo {
max-height: 80px;
mix-blend-mode: exclusion;
}
2021-03-11 20:24:44 +00:00
`
2021-10-15 13:37:54 +00:00
export const PositionedLink = styled(Link)`
position: absolute;
z-index: 2;
top: 0;
left: 0;
2021-11-01 22:34:29 +00:00
background-color: ${({ $theme }) => $theme.background};
2021-03-11 20:24:44 +00:00
2021-10-15 13:37:54 +00:00
&:hover img {
filter: invert(1);
mix-blend-mode: normal;
}
img {
max-height: 80px;
mix-blend-mode: exclusion;
padding: 0.5em 2em 0;
2021-10-20 14:33:06 +00:00
@media screen and (max-width: ${screenSizes.md}px) {
padding-left: 1em
}
2021-10-15 13:37:54 +00:00
}
`
export const FadeTop = styled.div`
background: ${({ colour }) => colour ? getGradient('bottom', colour) : colours.rose};
width: ${heroWidth};
position: fixed;
2021-10-15 13:37:54 +00:00
top: 0em;
2021-03-11 20:24:44 +00:00
padding-bottom: 0.5em;
right: 0;
2021-03-11 20:24:44 +00:00
pointer-events: none;
min-height: 75px;
`
export const TaglineContainer = styled.div`
width: 100%;
bottom: 0em;
padding-bottom: 0.5em;
right: 0;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
z-index: 2;
a {
pointer-events: all;
2021-03-11 20:24:44 +00:00
}
`