@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: 4.0rem; --fs-3xl: 6.4rem; 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; } ul[class] { margin: 0 auto; padding: 0; list-style: none; } header { display: flex; justify-content: space-between; align-items: center; margin: 1rem; & svg { width: 59px; 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; } .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: 60px auto; } .msg__container { max-width: 440px; margin: 60px 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; background-color: transparent; border: 2px solid var(--clr-black); font-size: var(--fs-lg); font-weight: 700; line-height: 1; 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-weight: 700; line-height: 1; 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); } .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; } } #windmill { width: 33%; min-width: 60px; max-width: 163px; height: auto; rotate: -20deg; right: 8vw; top: 10px; } #wase { width: 15%; min-width: 126px; max-width: 218px; height: auto; rotate: 10deg; left: 10vw; bottom: -40px; } #arrows { width: 20%; min-width: 92px; max-width: 161px; height: auto; rotate: 10deg; right: -3vw; bottom: 10svh; } .cards__container, .link__container { margin-top: 2.4em; margin-bottom: 2.4em; } .link__container { max-width: 735; margin-left: auto; margin-right: auto; container-type: inline-size; container-name: link; } ul.card__stack { max-width: 270px; margin-bottom: 24px; & a { text-decoration: none; color: var(--clr-black); } } .card, .link { background-color: var(--clr-white); box-shadow: var(--shadow); border-radius: 12px; box-sizing: border-box; } .card { max-width: 270px; aspect-ratio: 0.72972972972973; 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%; } & > *:nth-child(1) { align-self: start; } & > *:nth-child(2) { align-self: center; } & > *:nth-child(3) { align-self: end; } } .link { padding: 18px; display: flex; gap: 20px; flex-direction: column; position: relative; margin-bottom: 24px; & img { display: block; width: 100%; aspect-ratio: 0.754545454545455; 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; padding: 1em 0; margin-bottom: 1em; border-top: 1px solid var(--clr-black); border-bottom: 1px solid var(--clr-black); & a { 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; } @media (min-width: 480px) { ul.card__stack { margin-bottom: 60px; } .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: auto; gap: 32px; margin-bottom: 40px; & img { aspect-ratio: 0.754545454545455; } } .link__ctas { flex-direction: row; & li { flex-grow: 1; } } .link__image { grid-column: 2; grid-row: 1 / span 2; } .link__body { grid-column: 1; grid-row: 1; } .link__learn-more { grid-column: 1; grid-row: 2; } }