.about { overflow: hidden; :global(.picture) { overflow: hidden; background: $color-primary-tertiary20; border-radius: 8px; transform: translateZ(0); @include bp (md) { border-radius: 16px; } } /* ** Introduction */ &__introduction { padding: clamp(48px, 10vw, 80px) 0 136px; @include bp (sm) { padding: clamp(64px, 7vw, 128px) 0 clamp(200px, 20vw, 360px); } // Section title h2 { grid-column: 1 / -1; margin-bottom: 16px; @include bp (sm) { grid-column: 3 / span 12; grid-row: 1; margin-bottom: 24px; } } // Heading text .heading { grid-column: 1 / -1; margin-bottom: 48px; @include bp (sm) { grid-column: 3 / -3; } @include bp (md) { grid-column: 3 / span 12; grid-row: 2; align-self: baseline; max-width: 788px; margin-bottom: 0; } :global(strong) { color: $color-secondary-light; font-weight: inherit; } } // Right text .text { grid-column: 1 / -2; color: $color-tertiary; @include bp (sm) { grid-column: 3 / span 14; } @include bp (md) { grid-column: 17 / span 6; grid-row: 2; align-self: baseline; } :global(a) { display: inline-block; color: currentColor; text-decoration: none; border-bottom: 1px solid rgba($color-tertiary, 0.3); transition: color 0.3s; &:hover { color: $color-secondary-light; } } } } /* ** Creation */ &__creation { background: #fff; padding-bottom: clamp(120px, 10vw, 160px); @include bp (sm) { padding-bottom: clamp(160px, 20vw, 240px); } // Figures :global(picture) { width: 100%; :global(img) { display: block; width: 100%; height: auto; } } figcaption { margin-left: auto; margin-top: 16px; color: $color-gray; text-align: right; line-height: 1.55; @include bp (sm) { margin-top: 24px; } } // First photo .first-photo { grid-column: 1 / -1; display: flex; flex-direction: column; margin: -74px 0 96px; @include bp (sm) { grid-column: 8 / -2; margin: -10vw 0 clamp(48px, 7vw, 88px); } figcaption { br { @include bp (sm, max) { display: none; } } a { color: inherit; text-decoration: none; transition: color 0.3s; &:hover { color: $color-secondary; span { border-color: currentColor; } } } img { display: inline-block; width: 16px; height: 16px; margin: -2px 2px 0 0.25em; border-radius: 100%; } span { display: inline-block; border-bottom: 1px solid rgba($color-gray, 0.25); transition: border-color 0.3s; } } } // Text content h2 { grid-column: 1 / -2; max-width: 240px; margin-bottom: 16px; line-height: 1.2; @include bp (sm) { grid-column: 3 / span 10; margin-bottom: 48px; } } // Large text .heading { grid-column: 1 / -1; margin-bottom: 72px; color: $color-primary-tertiary20; :global(strong) { color: $color-lilas-bright; font-weight: inherit; } @include bp (sm) { grid-column: 3 / -3; margin-bottom: 112px; } } // Small paragraph .text { color: $color-text; grid-column: 1 / -3; align-self: center; @include bp (sm) { grid-column: 4 / span 8; } @include bp (md) { grid-column: 9 / span 6; } } // Portrait :global(.portrait-photo) { grid-column: 3 / -1; align-self: center; grid-row: 4; @include bp (sm) { grid-column: 13 / -3; } @include bp (md) { grid-column: 16 / span 7; } } .portrait-photo__caption { grid-column: 3 / -1; grid-row: 5; margin-top: 16px; margin-bottom: 40px; text-align: right; color: $color-gray; line-height: 1.55; @include bp (sm) { grid-column: 16 / span 7; margin: 24px 0 0; } } } /* ** Present */ &__present { background-color: $color-cream; // Poster image figure { grid-column: 1 / -1; height: 100vw; max-height: 486px; margin-top: -64px; margin-bottom: 72px; @include bp (sm) { grid-column: 3 / -6; height: auto; max-height: none; margin-top: -96px; margin-bottom: clamp(56px, 7vw, 88px); } @include bp (md) { border-radius: 12px; } :global(picture) { height: 100%; } :global(img) { display: block; width: 100%; height: 100%; object-fit: cover; } } h2 { grid-column: 1 / -1; line-height: 1; @include bp (sm) { grid-column: 3 / 7; } } :global(p) { color: $color-text; } .text { grid-column: 1 / -2; margin-top: 16px; @include bp (sm) { grid-column: 3 / span 6; align-self: baseline; margin-top: 24px; } } .conclusion { grid-column: 1 / -2; margin-bottom: 72px; @include bp (sm) { grid-column: 11 / span 8; margin: 96px 0 144px; } } .heading { grid-column: 1 / -1; align-self: baseline; margin: 64px 0 48px; @include bp (sm) { grid-column: 11 / -2; margin: 0; } :global(p) { max-width: 800px; color: $color-primary-tertiary20; } } } // Showcase image &__showcase { padding: 0; @include bp (sm) { overflow: hidden; height: 0; padding-bottom: 120%; } :global(picture) { grid-column: 1 / -1; @include bp (sm) { display: flex; justify-content: center; } } :global(img) { display: block; width: 100%; height: auto; @include bp (sm) { width: 130%; } } } /* ** Process */ &__process { position: relative; z-index: 2; margin-top: 48px; @include bp (sm) { margin-top: clamp(48px, 7vw, 96px); } & > .container { align-items: center; } aside { grid-column: 1 / -1; @include bp (sm) { grid-column: 3 / span 9; } // Heading text .heading { max-width: 280px; margin-bottom: 40px; @include bp (sm) { margin-bottom: 80px; } h2 { margin-bottom: 12px; color: $color-secondary; @include bp (sm) { margin-bottom: 16px; margin-bottom: .5em; } } p { max-width: 320px; color: $color-tertiary; font-weight: 300; @include bp (sm) { max-width: none; } } } // List of steps ol { li { display: block; margin: 4px 0; overflow: hidden; @include bp (sm) { margin: 6px 0; } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } a { display: block; text-decoration: none; color: $color-lilas-bright; transition: color 0.3s; &:hover { color: $color-secondary-light; } } .is-active { a { color: #fff; } } } } // Steps grid .steps { position: relative; grid-column: 1 / -1; margin-top: 32px; @include bp (sm) { display: grid; grid-template-rows: auto; grid-column: 13 / span 11; margin-top: 0; } & > :global(*) { @include bp (sm) { grid-row: 1; grid-column: 1 / -1; transform-origin: left center; } } } } /* ** Photos grid */ &__photos { position: relative; z-index: 1; margin-top: clamp(32px, 9vw, 80px); @include bp (sm) { margin-bottom: clamp(80px, 10vw, 128px); } .container-wide { overflow: hidden; @include bp (sm, max) { width: 100%; } } .photos-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.75vw; margin: -5% -5% 0; transform: rotate(-6deg) translateY(var(--parallax)) translateZ(0); transition: transform 0.8s var(--ease-quart); @include bp (sm) { grid-template-columns: repeat(7, 1fr); gap: 12px; margin: -5% -5% 0; } } :global(picture) { width: 100%; height: auto; border-radius: 6px; overflow: hidden; cursor: pointer; transition: opacity 1s var(--ease-quart); @include bp (md) { border-radius: 8px; } :global(img) { display: block; width: 100%; height: auto; user-select: none; pointer-events: none; } } $opacity-off: 0.2; // States :global(.is-disabled picture) { opacity: $opacity-off; } :global(.is-hovered picture) { opacity: 1; } :global(.is-hovered:not(.is-disabled) picture) { opacity: $opacity-off; } // Mask &:before { content: ""; display: block; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba($color-primary, 1) 0%, rgba($color-primary, 0) 25%, rgba($color-primary, 0) 75%, rgba($color-primary, 1) 100%); pointer-events: none; } } // Interest &__interest { margin-top: calc(-1 * clamp(160px, 14vw, 256px)); & > .container { grid-column: 1 / -1; position: relative; z-index: 2; display: block; margin-bottom: 36px; padding: 72px 32px; background: $color-primary-tertiary20; border-radius: 8px; box-shadow: 0px -24px 120px rgba($color-primary-darker, 0.8); @include bp (sm) { --columns: 22; display: grid; grid-column: 2 / -2; margin-bottom: 64px; padding: clamp(72px, 8vw, 160px) 0; } @include bp (md) { border-radius: 12px; } } h2 { grid-column: 1 / -1; margin-bottom: 64px; color: #fff; text-align: center; @include bp (sm) { margin-bottom: 104px; } } .blocks { @include bp (sm) { grid-column: 4 / -4; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 11.5%; } } .block { text-align: center; &:not(:last-child) { margin-bottom: 64px; @include bp (sm) { margin-bottom: 0; } } h3 { margin-bottom: 12px; color: $color-secondary-light; font-weight: 600; } :global(.text) { margin-bottom: 24px; font-weight: 300; @include bp (sm) { margin-bottom: 32px; } :global(a) { color: currentColor; text-decoration: none; border-bottom: 1px solid rgba($color-tertiary, 0.3); transition: color 0.3s; &:hover { color: $color-secondary-light; } } } // Button :global(.button-container) { position: relative; height: 40px; } :global(.clipboard) { position: absolute; top: 0; left: 50%; transform: translateX(-50%) translateZ(0); display: inline-flex; align-items: center; height: 40px; padding: 0 20px; font-size: rem(14px); font-weight: 400; background: rgba($color-secondary, 0.5); border-radius: 100vh; } } } }