.shop-page { // Intro &__intro { position: relative; height: 100vh; min-height: 800px; overflow: hidden; // Top Menu // Back .back { position: absolute; z-index: 2; left: 32px; top: 32px; color: #fff; text-decoration: none; font-size: rem(14px); color: $color-cream; max-width: 76px; @include bp (sm) { max-width: none; font-size: rem(18px); } } // Shop .shop-title { position: absolute; z-index: 2; top: 32px; left: 50%; transform: translateX(-50%); font-size: rem(14px); color: $color-cream; @include bp (sm) { font-size: rem(18px); } } // Site Title h1 { font-size: clamp(#{rem(88px)}, 10vw, #{rem(140px)}); position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; span, strong { color: #fff; } } // Background Image picture { position: relative; display: flex; align-items: flex-end; width: 100%; height: 100%; background-color: $color-primary-darker; pointer-events: none; user-select: none; img { opacity: 0.55; display: block; width: 100%; height: 100%; object-fit: cover; } // Gradient &:before { display: block; content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(45, 4, 88, 0) 84.2%, #1E0538 100%); } } // Navigation header { position: absolute; z-index: 20; bottom: 0; width: 100%; @include bp (md) { height: 80px; } .container { @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 { margin-right: auto; } // Navigation nav { ul { display: flex; align-items: center; justify-content: center; } li { display: block; } a { text-decoration: none; font-size: rem(22px); font-family: $font-serif; color: $color-tertiary; margin: 0 10px; &:hover { color: $color-secondary; } @include bp (sm) { font-size: rem(24px); margin: 0 12px; } } } } } // About &__about { display: flex; background-color: $color-cream; color: $color-text; padding: 100px 0 56px; @include bp (sm) { display: grid; padding: 120px 0; } .description { font-weight: 300; max-width: 450px; margin-left: 20px; padding-right: 20px; font-size: rem(18px); @include bp (sm) { grid-column: 3 / span 12; max-width: 560px; margin-left: 0; padding: 0; font-size: rem(22px); } } } // Posters &__posters { background-color: $color-primary-darker; padding: 56px 20px 72px; border-bottom: solid 1px $color-primary-tertiary20 ; @include bp (sm) { padding: 120px 0; } // Title h3 { grid-column: 2 / span 6; font-family: $font-serif; color: $color-cream; font-size: rem(32px); line-height: 1.1; text-align: center; margin-bottom: 24px; @include bp (sm) { grid-column: 3 / span 14; font-size: rem(48px); text-align: left; max-width: 360px; margin-bottom: 0; } } // Posters Set .set { --gap: 24px; grid-column: 1 / span 8; display: block; @include bp (sm) { grid-column: 2 / span 22; } @include bp (mob-lg) { --gap: 32px; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); } @include bp (md) { grid-template-columns: repeat(3, 1fr); } @include bp (sd) { --gap: 48px; grid-template-columns: repeat(4, 1fr); } // Poster .poster { margin: 0 auto auto; // 2 columns &:nth-child(2n + 1) { @include bp (sm, max) { margin-top: calc(var(--gap) * 2); } } // 3 columns &:nth-child(3n + 1) { @include bp (sd, max) { margin-top: calc(var(--gap) * 2); } } &:nth-child(3n + 2) { @include bp (sd, max) { margin-top: var(--gap); } } // 4 columns &:nth-child(4n + 1) { @include bp (sd) { margin-top: 64px * 3; } } &:nth-child(4n + 2) { @include bp (sd) { margin-top: 64px * 2; } } &:nth-child(4n + 3) { @include bp (sd) { margin-top: 64px; } } } } // Subscribe .subscribe { grid-column: 1 / span var(--columns); margin-top: 72px; text-align: center; @include bp (sm) { grid-column: 14 / span 8; margin-top: 0; text-align: left; } p { font-size: rem(18px); color: $color-cream; font-weight: 300; line-height: 1.5; margin-bottom: 24px; @include bp (sm) { font-size: rem(22px); margin-bottom: 30px; } } .newsletter-form { padding: 0; margin: 0 auto; @include bp (sm) { margin: 0; min-width: 368px; } } .newsletter-form__bottom { display: none; } } } }