You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

673 lines
12 KiB

@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: italic;
font-weight: 400;
src: url(noto-ikea-400i.latin-ext.5f8f91ea.woff2) format("woff2");
unicode-range:u + 0100-024f, u + 0259, u + 1e??, u + 2020, u + 20a0-20ab, u + 20ad-20cf, u + 2113, u + 2c60-2c7f, u + a720-a7ff
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: italic;
font-weight: 400;
src: url(noto-ikea-400i.latin.10395910.woff2) format("woff2");
unicode-range:u + 00??, u + 0131, u + 0152-0153, u + 02bb-02bc, u + 02c6, u + 02da, u + 02dc, u + 2000-206f, u + 2074, u + 20ac, u + 2122, u + 2191, u + 2193, u + 2212, u + 2215, u + feff, u + fffd
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: italic;
font-weight: 700;
src: url(noto-ikea-700i.latin-ext.3637155a.woff2) format("woff2");
unicode-range:u + 0100-024f, u + 0259, u + 1e??, u + 2020, u + 20a0-20ab, u + 20ad-20cf, u + 2113, u + 2c60-2c7f, u + a720-a7ff
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: italic;
font-weight: 700;
src: url(noto-ikea-700i.latin.29eb18bb.woff2) format("woff2");
unicode-range:u + 00??, u + 0131, u + 0152-0153, u + 02bb-02bc, u + 02c6, u + 02da, u + 02dc, u + 2000-206f, u + 2074, u + 20ac, u + 2122, u + 2191, u + 2193, u + 2212, u + 2215, u + feff, u + fffd
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: normal;
font-weight: 400;
src: url(noto-ikea-400.latin-ext.edd421f4.woff2) format("woff2");
unicode-range:u + 0100-024f, u + 0259, u + 1e??, u + 2020, u + 20a0-20ab, u + 20ad-20cf, u + 2113, u + 2c60-2c7f, u + a720-a7ff
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: normal;
font-weight: 400;
src: url(noto-ikea-400.latin.647e877d.woff2) format("woff2");
unicode-range:u + 00??, u + 0131, u + 0152-0153, u + 02bb-02bc, u + 02c6, u + 02da, u + 02dc, u + 2000-206f, u + 2074, u + 20ac, u + 2122, u + 2191, u + 2193, u + 2212, u + 2215, u + feff, u + fffd
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: normal;
font-weight: 700;
src: url(noto-ikea-700.latin-ext.97f0d455.woff2) format("woff2");
unicode-range:u + 0100-024f, u + 0259, u + 1e??, u + 2020, u + 20a0-20ab, u + 20ad-20cf, u + 2113, u + 2c60-2c7f, u + a720-a7ff
}
@font-face {
font-display: swap;
font-family: 'Noto IKEA';
font-style: normal;
font-weight: 700;
src: url(noto-ikea-700.latin.d7277c39.woff2) format("woff2");
unicode-range:u + 00??, u + 0131, u + 0152-0153, u + 02bb-02bc, u + 02c6, u + 02da, u + 02dc, u + 2000-206f, u + 2074, u + 20ac, u + 2122, u + 2191, u + 2193, u + 2212, u + 2215, u + feff, u + fffd
}
:root {
--clr-white: #fff;
--clr-black: #000;
--clr-bumblebee: #F0B902;
--ff-ikea: "Noto IKEA", "Noto Sans", "Roboto", "Open Sans", system-ui, sans-serif;
--shadow: 0px 0px 10px 2px rgba(0,0,0,0.1);
--fs-base: 1.6rem;
--fs-lg: 1.8rem;
--fs-xl: 2.8rem;
--fs-2xl: 3.1rem;
--fs-3xl: 5.6rem;
--flip-deg: 0deg;
--flip-scale: 1;
--flip-rotate: 0deg;
font: 10px/1.3 var(--ff-ikea);
}
body {
background-color: var(--clr-bumblebee);
color: var(--clr-black);
margin: 0;
display: flex;
flex-direction: column;
gap: 0;
min-height: 100svh;
position: relative;
-webkit-font-smoothing: antialiased;
touch-action: manipulation;
}
ul[class] {
margin: 0 auto;
padding: 0;
list-style: none;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
margin: 1rem;
& svg {
width: 70px;
height: auto;
}
& div {
line-height: 1.3;
font-size: 1.6rem;
text-align: right;
}
& span {
font-weight: 700;
font-style: italic;
&::before { content: ' '; display: block; }
}
}
main {
margin: 0 1rem;
flex-grow: 1;
}
footer {
font-size: 1.2rem;
line-height: 1.2;
margin: 1rem;
font-family: var(--ff-ikea);
}
.msg__container {
& h1 {
margin: 0 0 0.4375em 0;
line-height: 1.1;
font-size: var(--fs-3xl);
font-weight: 700;
overflow-wrap: break-word;
word-wrap: break-word;
hyphens: auto;
&:has(em) {
font-weight: 400;
& em {
font-weight: 700;
}
}
}
& > div:not([class]) {
margin: 0;
line-height: 1.2;
font-size: var(--fs-lg);
font-weight: 400;
& + div:not([class]) {
margin-top: 1.2em;
}
}
}
.form__container {
margin: 40px auto;
}
.msg__container {
max-width: 440px;
margin: 40px auto 40px auto;
container-type: inline-size;
container-name: startbar;
}
@container startbar (min-width: 400px) {
h1, p, div {
text-align: center;
}
}
.language__selector-select {
position: relative;
margin-bottom: 16px;
&::after {
content: '';
position: absolute;
width: 13.59px;
height: 18.27px;
right: 33px;
height: 100%;
pointer-events: none;
background-image: url('ico-arrow-down.svg');
background-repeat: no-repeat;
background-position: center center;
}
& select {
width: 100%;
appearance: none;
box-sizing: border-box;
background-color: transparent;
border: 2px solid var(--clr-black);
font-size: var(--fs-lg);
font-weight: 700;
font-family: var(--ff-ikea);
line-height: 1.2;
height: 60px;
color: var(--clr-black);
padding: 0.888888888888889em 1.333333333333333em;
border-radius: 400px;
}
}
.button__base {
appearance: none;
background-color: var(--clr-black);
border: 2px solid var(--clr-black);
color: var(--clr-white);
font-size: var(--fs-lg);
font-family: var(--ff-ikea);
font-weight: 700;
line-height: 1.2;
height: 60px;
border-radius: 400px;
width: 100%;
cursor: pointer;
text-decoration: none;
display: inline-block;
text-align: center;
box-sizing: border-box;
padding: 0.888888888888889em 1.333333333333333em;
}
.button__base-light {
background-color: transparent;
color: var(--clr-black);
}
.reveal__container {
background-color: var(--clr-black);
border-radius: 400px;
position: relative;
height: 62px;
--opacity: 1.0;
&::before {
content: attr(data-label);
color: var(--clr-white);
position: absolute;
font-size: var(--fs-lg);
font-weight: 700;
top: 50%;
left: 50%;
z-index: inherit;
transform: translate(-50%, -50%);
opacity: var(--opacity);
}
& input {
position: absolute;
inset: 0 0 0 0;
margin: 0;
}
}
input[type=range] {
appearance: none;
width: 100%;
background-color: transparent;
height: 62px;
box-sizing: border-box;
border: 8px solid transparent;
}
::-webkit-slider-thumb {
appearance: none;
width: 46px;
height: 46px;
border-radius: 50%;
background-color: var(--clr-white);
cursor: pointer;
background-image: url('ico-arrow-right.svg');
background-repeat: no-repeat;
background-position: center center;
background-size: 42px 42px;
border: none;
}
::-moz-range-thumb {
width: 46px;
height: 46px;
border-radius: 50%;
background-color: var(--clr-white);
cursor: pointer;
background-image: url('ico-arrow-right.svg');
background-repeat: no-repeat;
background-position: center center;
background-size: 42px 42px;
border: none;
}
.icon__container {
position: absolute;
z-index: -1;
inset: 0 0 0 0;
overflow: hidden;
& img {
position: absolute;
z-index: -1;
pointer-events: none;
display: block;
width: 20%;
min-width: 160px;
max-width: 200px;
height: auto;
}
& img:nth-child(1) {
rotate: -20deg;
right: 10vw;
top: 10px;
}
& img:nth-child(2) {
rotate: 10deg;
left: 10vw;
bottom: 0;
transform: translateY(10%);
}
& img:nth-child(3) {
rotate: 10deg;
right: -3vw;
bottom: 10svh;
}
& img:nth-child(4) {
left: 4vw;
top: 18svh;
display: none;
}
}
.cards__container, .link__container {
margin-top: 2em;
margin-bottom: 2.4em;
}
.link__container {
max-width: 800px;
margin-left: auto;
margin-right: auto;
container-type: inline-size;
container-name: link;
}
.link__branding {
& svg {
width: 70px;
height: auto;
}
}
ul.card__stack {
max-width: 270px;
aspect-ratio: 0.72972972972973;
position: relative;
width: 100%;
margin-bottom: 60px;
& a {
text-decoration: none;
color: var(--clr-black);
cursor: default;
}
}
.card-front, .card-back, .link {
background-color: var(--clr-white);
border-radius: 12px;
box-sizing: border-box;
}
.card-front, .card-back, .link {
box-shadow: var(--shadow);
}
.card__container {
position: absolute;
inset: 0 0 0 0;
transition: transform 0.3s ease-in-out 0s;
perspective: 500px;
}
.card {
position: absolute;
inset: 0 0 0 0;
transform-style: preserve-3d;
}
.card__container.active .card {
transform: rotateY(var(--flip-deg)) rotateX(var(--flip-rotate)) scale(var(--flip-scale));
}
.card-front {
font-size: var(--fs-xl);
font-weight: 700;
display: grid;
padding: 1.142857142857143em 1em;
grid-template-rows: 1fr 4fr 1fr;
justify-items: center;
& div {
text-align: center;
}
svg {
width: 80%;
max-width: 82px;
}
& > *:nth-child(1) {
align-self: start;
}
& > *:nth-child(2) {
align-self: center;
}
& > *:nth-child(3) {
align-self: end;
}
}
.card-back {
background-color: var(--clr-white);
transform: rotateY(180deg);
display: flex;
justify-content: center;
align-items: center;
& svg {
width: 60%;
}
}
.card-back, .card-front {
position: absolute;
inset: 0 0 0 0;
backface-visibility: hidden;
}
.link {
padding: 18px;
display: flex;
gap: 20px;
flex-direction: column;
position: relative;
margin-bottom: 24px;
& img {
display: block;
width: 100%;
aspect-ratio: 0.731818181818182;
height: auto;
border-radius: 8px;
}
& figure {
margin: 0;
}
& h1 {
font-size: var(--fs-2xl);
margin: 0 0 0.7em 0;
font-weight: 400;
line-height: 1.2;
& strong {
font-weight: 700;
}
}
}
.link__body, .link__learn-more {
font-size: var(--fs-base);
line-height: 1.4;
}
.link__learn-more {
font-weight: 700;
margin-top: 20px;
border-top: 1px solid var(--clr-black);
border-bottom: 1px solid var(--clr-black);
& a {
padding: 1.25em 0;
display: block;
color: var(--clr-black);
text-decoration: none;
background-image: url('ico-arrow-right.svg');
background-repeat: no-repeat;
background-position: right center;
background-size: 32px 32px;
}
}
.link__close {
position: absolute;
width: 46px;
aspect-ratio: 1;
background-color: var(--clr-black);
border-radius: 50%;
text-decoration: none;
right: 0;
top: -23px;
display: flex;
align-items: center;
justify-content: center;
& svg {
width: 18px;
aspect-ratio: 1;
}
}
.link__ctas, .cards__ctas {
display: flex;
flex-direction: column;
gap: 16px;
}
.cards__ctas {
max-width: 440px;
width: 100%;
}
@media (orientation: portrait) {
body {
min-height: calc(100svh + 35px);
}
main:has(.cards__container) {
display: flex;
flex-direction: column;
flex-grow: 1;
}
.cards__container {
display: flex;
flex-direction: column;
justify-content: space-between;
flex-grow: 1;
margin-top: 0;
}
.card__stack-container {
flex-grow: 1;
display: flex;
align-items: center;
justify-content: center;
}
ul.card__stack {
margin-top: 0;
margin-bottom: 0;
}
}
@media (min-width: 480px) {
.link {
& img {
aspect-ratio: 1.536363636363636;
object-fit: cover;
}
}
}
@container link (min-width: 735px) {
.link {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr fit-content(84px);
gap: 32px;
margin-bottom: 40px;
& img {
/*aspect-ratio: 0.615101289134438; */
aspect-ratio: 0.731818181818182;
}
}
.link__ctas {
flex-direction: row;
& li {
flex-grow: 1;
}
}
.link__image {
grid-column: 2;
grid-row: 1 / span 2;
}
.link__body-container {
grid-column: 1;
grid-row: 1;
}
.link__branding {
grid-column: 1;
grid-row: 2;
}
}
@media (min-width: 815px) {
header {
margin: 2rem;
& svg {
width: 80px;
}
}
footer {
margin: 2rem;
}
.icon__container img:nth-child(4) {
display: block;
}
}