Files
housesof/src/style/pages/shop/_intro.scss
Félix Péault 120771efa1 Fix Shop issues
- Move ButtonCart from nav to position it on top right
- ButtonCart amount indicator position (center left => top left)
- Bring back updating label when changing cart (+ other transitions)
- Make ShopHeader picture gradient a bit bigger
2022-07-11 12:30:42 +02:00

228 lines
4.7 KiB
SCSS

/*
** Shop: Intro
*/
.shop-page__intro {
position: relative;
z-index: 30;
height: 30vw;
min-height: 430px;
overflow: hidden;
@include bp (lg) {
max-height: 400px;
min-height: 275px;
}
// Top Menu
.top {
position: absolute;
z-index: 1;
top: 20px;
left: 0;
padding: 0 20px;
display: flex;
justify-content: space-between;
width: 100%;
margin: 0 auto;
@include bp (sm) {
top: 32px;
padding: 0 32px;
}
// Back
.back {
display: flex;
align-items: center;
color: #fff;
font-size: rem(14px);
color: $color-cream;
text-decoration: none;
transition: color 0.4s var(--ease-quart);
@include bp (sm) {
max-width: none;
font-size: rem(18px);
}
svg {
margin-right: 8px;
transition: transform 0.4s var(--ease-quart);
}
// Hover
&:hover {
color: $color-tertiary;
svg {
transform: translate3d(-4px, 0, 0);
}
}
}
// Shop
:global(.shop-title) {
font-size: rem(14px);
color: $color-cream;
@include bp (sm) {
font-size: rem(18px);
}
}
}
// Site Title
.shop-page__title {
position: absolute;
z-index: 2;
top: 42%;
left: 50%;
width: 100%;
transform: translate3d(-50%, -50%, 0);
@include bp (sm) {
// top: clamp(#{rem(40px)}, 16vw, #{rem(144px)});
top: 40%;
left: 0;
transform: none;
}
:global(h1) {
font-size: clamp(#{rem(48px)}, 7vw, #{rem(56px)});
font-weight: 400;
text-shadow: 0px 8px 12px rgba(#000, 0.25);
text-align: center;
letter-spacing: -0.02em;
:global(span), :global(strong) {
color: #fff;
}
:global(span) {
font-weight: 300;
}
}
}
// Background Image
:global(picture) {
position: relative;
display: flex;
align-items: flex-end;
width: 100%;
height: 100%;
background-color: $color-primary-darker;
pointer-events: none;
user-select: none;
:global(img) {
opacity: 0.55;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
// Gradient
&:before {
content: "";
display: block;
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(180deg, rgba(45, 4, 88, 0) 72.5%, #1E0538 100%);
}
}
// Cart button
:global(.button-cart) {
position: absolute;
z-index: 2;
top: 16px;
right: 16px;
@include bp (sm) {
top: auto;
bottom: 32px;
right: 32px;
}
}
}
// Intro: Navigation
.shop-page__nav {
position: absolute;
z-index: 20;
bottom: 0;
left: 0;
width: 100%;
.container {
padding: 0 0 24px;
@include bp (md) {
display: grid;
grid-template-columns: 15% auto 15%;
align-items: flex-end;
gap: 16px;
height: 100%;
padding: 0 32px 32px;
}
}
// Shop
p {
text-align: center;
margin-bottom: 8px;
@include bp (md) {
margin-right: auto;
}
}
// Navigation
nav {
display: flex;
justify-content: center;
min-height: 50px;
ul {
display: flex;
align-items: center;
overflow: auto;
@include bp (sm) {
justify-content: center;
overflow: hidden;
}
}
li {
display: block;
}
a {
text-decoration: none;
font-size: rem(22px);
font-family: $font-serif;
color: $color-tertiary;
margin: 0 10px;
transition: color 0.3s;
&:hover {
color: $color-secondary;
}
@include bp (sm) {
font-size: rem(24px);
margin: 0 12px;
}
}
// Active
.is-active {
a {
color: $color-secondary;
}
}
}
}