Files
housesof/src/style/pages/_location.scss

295 lines
7.1 KiB
SCSS

:global(.location-page) {
background: #fff;
}
// Location Page
.location-page {
// Intro
&__intro {
position: relative;
background: $color-primary;
@include bp (sm) {
padding-top: clamp(40px, 14vw, 320px);
}
@include bp (lg) {
padding-top: clamp(40px, 18vw, 272px);
}
// Houses Of Title
.title {
position: relative;
z-index: 2;
grid-column: 1 / -1;
margin: 0 auto;
padding: 0 32px;
font-family: $font-serif;
line-height: 1;
text-transform: uppercase;
color: $color-lightpurple;
font-size: clamp(48px, 12vw, 160px);
text-align: center;
margin: min(360px, 60vw) auto;
@include bp (sm) {
display: flex;
flex-flow: row wrap;
align-items: baseline;
justify-content: center;
max-width: clamp(300px, 80vw, 1120px);
margin: 0 auto;
padding: 0;
}
strong {
display: block;
color: $color-secondary;
font-weight: 300;
text-transform: none;
}
.housesof {
grid-column: 1 / -1;
@include bp (sm) {
display: flex;
align-items: baseline;
// margin-right: auto;
// margin-left: -15vw;
}
span {
display: block;
font-size: 0.35em;
margin-top: 8px;
@include bp (sm) {
display: inline;
margin: 0 24px;
}
}
}
.city {
text-align: center;
@include bp (sm) {
// margin-left: 15vw;
// width: 80%;
// padding-left: min(400px, 16vw);
}
}
}
}
// Description
&__description {
grid-column: 1 / -1;
position: relative;
z-index: 2;
margin-bottom: -8px;
background-color: $color-tertiary;
color: $color-text;
border-radius: 8px;
@include bp (sm) {
--columns: 19;
grid-column: 4 / span 21;
margin: clamp(40px, 16vw, 260px) 0 calc(-1 * clamp(60px, 6vw, 120px));
border-radius: 8px 0 0 8px;
}
@include bp (md) {
grid-column: 6 / span 19;
}
.wrap {
grid-column: 2 / span 6;
max-width: 800px;
padding: 50px 0;
@include bp (sm) {
grid-column: 3 / span 13;
padding: 72px 0;
}
@include bp (md) {
padding: 128px 0;
}
}
.info {
$text-color: rgba($color-text, 0.5);
margin: 32px 0 40px;
color: $text-color;
line-height: 0.8;
@include bp (sm) {
margin: 40px 0 64px;
line-height: 1.3;
}
a {
color: $text-color;
&:hover {
color: $color-secondary;
}
}
& > * {
display: inline-block;
vertical-align: middle;
}
}
:global(.ctas) {
display: flex;
flex-wrap: wrap;
:global(.button) {
margin-right: 16px;
margin-bottom: 16px;
@include bp (sm) {
margin-bottom: 0;
}
}
}
}
// Illustration
&__illustration {
pointer-events: none;
position: absolute;
z-index: 1;
top: 0;
left: 0;
right: 0;
width: clamp(320px, 100vw, 2560px);
height: 100%;
margin: 0 auto;
overflow: hidden;
transform-origin: top center;
/* Bottom fading gradient for illustration */
@include bp (sm) {
$mask: linear-gradient(180deg, #000 0%, #000 80%, rgba(0,0,0,0) 100%);
-webkit-mask-image: $mask;
mask-image: $mask;
}
img {
display: block;
width: 100%;
height: auto;
object-fit: contain;
pointer-events: none;
user-select: none;
transform: translate3d(0, var(--parallax-y), 0);
transition: transform 0.7s var(--ease-quart);
will-change: transform, opacity;
}
}
// Houses
&__houses {
background-color: #fff;
padding-top: 80px;
@include bp (sm) {
padding-top: 240px;
}
// House
:global(.house:not(:last-child)) {
margin-bottom: 72px;
@include bp (sm) {
margin-bottom: 88px;
}
@include bp (md) {
margin-bottom: 120px;
}
}
}
// Next photos section
&__next {
margin-top: 136px;
padding: 72px 0 40px;
background: $color-tertiary;
@include bp (sm) {
margin-top: calc(-1 * clamp(64px, 8vw, 120px));
padding-top: 240px;
padding-bottom: 72px;
}
// Pagination
:global(.pagination) {
margin-bottom: 72px;
text-align: center;
@include bp (sm) {
margin-bottom: 104px;
}
}
// Newsletter block
.grid-modules {
padding-bottom: 0;
& + .acknowledgement {
margin-top: 48px;
@include bp (sm) {
margin-top: 72px;
}
}
}
// Acknowledgement
.acknowledgement {
display: flex;
align-items: center;
max-width: 720px;
margin: 0 auto;
padding: 0 20px;
text-align: left;
color: $color-text;
font-size: rem(10px);
line-height: 1.4;
@include bp (sm) {
padding: 0 24px;
font-size: rem(12px);
}
:global(.flag) {
flex-shrink: 0;
width: 32px;
height: 32px;
margin: 0 16px 0 0;
border-radius: 100%;
overflow: hidden;
:global(img) {
display: block;
width: 100%;
height: auto;
}
}
}
}
// Message
&__message {
padding: clamp(96px, 24vw, 360px) 0 clamp(96px, 16vw, 280px);
text-align: center;
color: $color-text;
font-size: rem(24px);
font-weight: 200;
line-height: 1.4;
@include bp (sm) {
font-size: rem(28px);
}
}
}