diff --git a/.eleventy.js b/.eleventy.js index d22353a162..1c8c7775bc 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -106,7 +106,11 @@ module.exports = function (eleventyConfig) { }); eleventyConfig.addFilter("getMorePosts", function (array, post) { - return array.filter(element => element.inputPath !== post.inputPath); + return array + .filter(element => element.inputPath !== post.inputPath) + .map(el => { + return el.fileSlug; + }); }); eleventyConfig.addFilter("getCollectionKeys", function (collection) { diff --git a/src/_data/team.json b/src/_data/team.json new file mode 100644 index 0000000000..fa58c26679 --- /dev/null +++ b/src/_data/team.json @@ -0,0 +1,88 @@ +{ + "team": [ + { + "name": "Florian Pichler", + "imgPath": "/assets/images/team/florian.jpg" + }, + { + "name": "Veronica Schucan", + "imgPath": "/assets/images/team/veronica.jpg" + }, + { + "name": "Daniel Beer", + "imgPath": "/assets/images/team/dan.jpg" + }, + { + "name": "Gábor Babicz", + "imgPath": "/assets/images/team/gabor.jpg" + }, + { + "name": "Nina Arndt", + "imgPath": "/assets/images/team/nina.jpg" + }, + { + "name": "Sarah Lorenz", + "imgPath": "/assets/images/team/sarah.jpg" + }, + { + "name": "Bartłomiej Dudzik", + "imgPath": "/assets/images/team/bart.jpg" + }, + { + "name": "Kevin Bongart", + "imgPath": "/assets/images/team/kevin.jpg" + }, + { + "name": "Marine Dunstettter", + "imgPath": "/assets/images/team/marine.jpg" + }, + { + "name": "Nora Burkhardt", + "imgPath": "/assets/images/team/nora.jpg" + }, + { + "name": "Paolo Ricciuti", + "imgPath": "/assets/images/team/paolo.jpg" + }, + { + "name": "Nick Schot", + "imgPath": "/assets/images/team/nick.jpg" + }, + { + "name": "Idelia Risella", + "imgPath": "/assets/images/team/idelia.jpg" + }, + { + "name": "Majd Bayassi", + "imgPath": "/assets/images/team/majd.jpg" + }, + { + "name": "Emma Sofia Dell'Acqua", + "imgPath": "/assets/images/team/emma.jpg" + }, + { + "name": "Marco Otte-Witte", + "imgPath": "/assets/images/team/marco.jpg" + }, + { + "name": "Chris Manson", + "imgPath": "/assets/images/team/chris.jpg" + }, + { + "name": "Inês Silva", + "imgPath": "/assets/images/team/ines.jpg" + }, + { + "name": "Óscar Domínguez Celada", + "imgPath": "/assets/images/team/oscar.png" + }, + { + "name": "Luca Palmieri", + "imgPath": "/assets/images/team/luca.jpg" + }, + { + "name": "Oliver Azevedo Barnes", + "imgPath": "/assets/images/team/oliver.jpg" + } + ] +} diff --git a/src/assets/css/app.scss b/src/assets/css/app.scss index d668d67f8c..37488a34fc 100644 --- a/src/assets/css/app.scss +++ b/src/assets/css/app.scss @@ -13,7 +13,6 @@ @import "components/nav"; @import "components/nav-submenu"; @import "components/mobile-menu"; -@import "components/nav-aside"; @import "components/logo-list"; @import "components/color-hero"; @import "components/social"; @@ -21,42 +20,34 @@ @import "components/footer-menu"; @import "components/quote"; @import "components/client-card"; -@import "components/contact-info"; @import "components/contact-form"; @import "components/rte"; @import "components/author"; @import "components/author-header"; -@import "components/featured-post"; @import "components/post"; @import "components/collection-header"; @import "components/tag-filter"; @import "components/section"; @import "components/tags"; -@import "components/workshop-cards"; +@import "components/cards"; @import "components/post-cards"; @import "components/pagination"; @import "components/prev-next"; @import "components/event-cards"; @import "components/featured-case-studies"; @import "components/featured-case-study"; -@import "components/case-study-card"; @import "components/case-study"; @import "components/talks"; @import "components/text-section"; -@import "components/workshop-hero"; @import "components/workshop-authors"; @import "components/workshop-authors-big"; -@import "components/workshop-topics"; @import "components/secondary-feature"; -@import "components/split-quote"; @import "components/featured-services"; @import "components/image-banner-with-text"; @import "components/text-with-list"; @import "components/image-aspect-ratio"; @import "components/work"; -@import "components/expertise"; @import "components/recent-posts"; -@import "components/post-banner"; @import "components/split-content"; @import "components/twios-cards"; @import "components/loader"; @@ -67,8 +58,6 @@ @import "components/startups"; @import "components/scroll-slides"; @import "components/quotes-list"; -@import "components/blog-cta"; -@import "components/intro-text"; @import "components/tech-cards"; @import "components/case-cards"; @import "components/strategy-list"; @@ -76,9 +65,8 @@ @import "components/open-source-list"; @import "components/video"; @import "components/embroider-sponsors"; -@import "components/next-events"; -@import "components/next-events-cards"; @import "components/vite-upgrade-grid"; +@import "components/grid-event-card"; @import "animations/text-animation"; diff --git a/src/assets/css/base/_buttons-links.scss b/src/assets/css/base/_buttons-links.scss index b0b6127d37..f812f20af7 100644 --- a/src/assets/css/base/_buttons-links.scss +++ b/src/assets/css/base/_buttons-links.scss @@ -18,8 +18,8 @@ p a { transform: translate3d(0, 0, 0); --icon-arrow-margin: 0 0 0 0.5rem; - - &:hover, &:focus { + &:hover, + &:focus { --icon-arrow-transform: translate3d(0.5rem, 0, 0); } @@ -35,6 +35,10 @@ p a { background-color: var(--color-white); color: var(--color-link-primary); } + + .icon-arrow { + display: inline-block; + } } .btn-primary:hover { @@ -53,8 +57,9 @@ p a { text-decoration: none; } - &:hover, &:focus { - --icon-arrow-transform: translate3d(0.5rem,0,0); + &:hover, + &:focus { + --icon-arrow-transform: translate3d(0.5rem, 0, 0); text-decoration: none; color: var(--color-purple); } @@ -62,6 +67,10 @@ p a { &--reversed { --icon-arrow-margin: 0 0 0 1.5rem; } + + .icon-arrow { + display: inline-block; + } } .btn-secondary__text { diff --git a/src/assets/css/components/_blog-cta.scss b/src/assets/css/components/_blog-cta.scss deleted file mode 100644 index 0f33ce6eb4..0000000000 --- a/src/assets/css/components/_blog-cta.scss +++ /dev/null @@ -1,40 +0,0 @@ -.blog-cta { - background-color: var(--color-purple); - color: var(--color-white); - margin-bottom: 3.25rem; - padding: 3.25rem 1rem; - - @media (min-width: $breakpoint-s) { - & { - margin-bottom: 6.25rem; - padding: 3.5rem 5rem; - } - } - - p + & { - margin-top: 3.25rem; - - @media (min-width: $breakpoint-s) { - & { - margin-top: 6.25rem; - } - } - } - - a { - color: var(--color-aqua); - } - - .contact-us { - display: block; - color: var(--color-white); - } - - h4 { - margin-top: 0; - } - - .blog-cta_content { - margin-bottom: 1rem; - } -} diff --git a/src/assets/css/components/_cards.scss b/src/assets/css/components/_cards.scss new file mode 100644 index 0000000000..b52c5d1aae --- /dev/null +++ b/src/assets/css/components/_cards.scss @@ -0,0 +1,144 @@ +.cards__grid { + display: grid; + grid-template-columns: 1fr; + gap: 1.5rem; + margin-top: 2.5rem; + padding: 0; + list-style: none; +} + +@media (min-width: $breakpoint-s) { + .cards__grid { + grid-template-columns: 1fr 1fr; + } +} + +@media (min-width: $breakpoint-l) { + .cards__grid { + grid-template-columns: 1fr 1fr 1fr; + } +} + +.card__grid-element { + position: relative; + color: var(--color-white); + padding: 1.25rem 1.25rem 1.25rem 1.25rem; + min-height: 32rem; + background-repeat: no-repeat; + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: start; + text-decoration: none; + overflow: hidden; + cursor: pointer; + background-color: var(--background-color); + + &:hover, + &:focus { + --icon-arrow-transform: translate3d(0.5rem, 0, 0); + } + + a:hover { + text-decoration: underline; + } + + &:nth-child(2n + 1) { + --background-color: var(--color-purple); + } + + &:nth-child(2n) { + --background-color: var(--color-black); + } + + &:nth-child(5n + 1) { + --background-color: var(--color-aqua); + } +} + +.card__background-wrapper { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 0; + + &::after { + content: ""; + position: absolute; + inset: 0; + background-color: var(--background-color); + mix-blend-mode: multiply; + z-index: 1; + } +} + +.card__hover { + position: absolute; + inset: 0; + background-color: var(--background-color); + transform: translateX(-100%); + transition: transform 0.5s ease; +} + +.card__background-image { + width: 100%; + height: 100%; + object-fit: cover; + object-position: center; + opacity: 0.8; +} + +.card__logo-wrapper { + align-self: end; + position: relative; +} + +.card__logo svg { + fill: white; +} + +.card__link-wrapper { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + text-decoration: none; + transition: color 0.3s ease; +} + +.card__content { + position: relative; + width: 100%; +} + +.card__link { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 50; + outline-offset: -0.25rem; + + &:hover, + &:focus { + & ~ .card__hover { + transform: translateX(0); + } + } +} + +.card__link-arrow { + --icon-arrow-size: 1.5rem; + position: relative; + margin-left: 0.25rem; + z-index: 1; + display: flex; +} + +.card__grid-element a:not(.card__link) { + position: relative; + z-index: 100; +} diff --git a/src/assets/css/components/_case-cards.scss b/src/assets/css/components/_case-cards.scss index 21d7daed6a..e09660732e 100644 --- a/src/assets/css/components/_case-cards.scss +++ b/src/assets/css/components/_case-cards.scss @@ -1,70 +1,36 @@ -.case-cards__grid { - display: grid; - grid-template-columns: 1fr; - gap: 1.5rem; - margin-top: 2.5rem; -} - -@media (min-width: $breakpoint-s) { - .case-cards__grid { - grid-template-columns: 1fr 1fr; - } -} - -@media (min-width: $breakpoint-l) { - .case-cards__grid { - grid-template-columns: 1fr 1fr 1fr; - } -} - .case-cards__grid-element { - position: relative; - color: var(--color-white); - padding: 1.25rem 1.25rem 1.25rem 1.25rem; - min-height: 32rem; - background-repeat: no-repeat; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: stretch; - text-decoration: none; - overflow: hidden; - cursor: pointer; - - a:hover, - &:focus { - text-decoration: underline; + &:nth-child(n) { + --background-color: var(--color-purple); } - .case-cards_headline { - display: grid; - grid-template-columns: 1fr; - grid-template-rows: 1fr; - align-items: end; + &:nth-child(2n) { + --background-color: var(--color-aqua); } - .problem { - transform: translate(0px); - grid-row: 1; - grid-column: 1; - transition: transform 1s ease; + &:nth-child(2n + 3) { + --background-color: var(--color-black); } +} - .solution { - transform: translate(calc(100% + 10rem)); - grid-row: 1; - grid-column: 1; - transition: transform 1s ease; - } +.case-cards__headline { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: 1fr; + align-items: end; } -.case-cards--hover { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - overflow: hidden; +.case-cards__problem { + transform: translate(0px); + grid-row: 1; + grid-column: 1; + transition: transform 1s ease; +} + +.case-cards__solution { + transform: translate(calc(100% + 10rem)); + grid-row: 1; + grid-column: 1; + transition: transform 1s ease; } @media (hover: hover) { @@ -74,74 +40,12 @@ color: var(--color-white); cursor: pointer; - .problem { + .case-cards__problem { transform: translate(calc(-100% - 10rem)); } - .solution { + .case-cards__solution { transform: translate(0px); } } } - -.case-cards__content { - position: relative; - width: 100%; -} - -.case-cards__logo-wrapper { - align-self: end; - position: relative; -} - -.case-cards__logo svg { - fill: white; -} - -.case-cards__link { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - text-decoration: none; - background-repeat: no-repeat; - z-index: 50; - outline-offset: -0.5rem; -} - -.case-cards__link-wrapper { - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - text-decoration: none; - transition: color 0.1s ease; -} - -.case-cards__grid-element:nth-child(n) { - background-color: var(--color-purple); -} - -.case-cards__grid-element:nth-child(2n) { - background-color: var(--color-aqua); -} - -.case-cards__grid-element:nth-child(2n + 3) { - background-color: var(--color-black); -} - -.case-cards__link-arrow { - --icon-arrow-size: 1.5rem; - position: relative; - margin-left: 0.25rem; - z-index: 1; - display: flex; - justify-content: center; -} - -.case-cards__link-label a { - text-decoration: none; - position: relative; - z-index: 100; -} diff --git a/src/assets/css/components/_case-study-card.scss b/src/assets/css/components/_case-study-card.scss deleted file mode 100644 index 649b4ef40b..0000000000 --- a/src/assets/css/components/_case-study-card.scss +++ /dev/null @@ -1,56 +0,0 @@ -.case-study-card { - grid-column: span 1 / span 1; - position: relative; - margin-top: rem-calc(80); -} - -.case-study-card__image-overlay { - position: relative; - min-width: 100%; - color: var(--color-white); - aspect-ratio: 9/8; -} - -.case-study-card__content-wrapper { - padding: 1.25rem; -} - -.case-study-card__client { - margin: 1rem 0; - color: var(--color-purple); - text-underline-offset: 0.125rem; - text-decoration-thickness: 0.0625rem; - text-decoration-line: underline; - transition: color 0.3s ease; -} - -.case-study-card__tags { - align-self: flex-end; - text-align: right; -} - -.case-study-card__cta { - display: block; - visibility: visible; -} - -.case-study-card__link { - &:hover, - &:focus { - & ~ .case-study-card__description .case-study-card__client { - color: var(--color-aqua); - } - } -} - -@media (min-width: $breakpoint-s) { - .case-study-card { - grid-column: span 1 / span 1; - margin-top: 0; - } - - .case-study-card__cta { - display: none; - visibility: hidden; - } -} diff --git a/src/assets/css/components/_contact-info.scss b/src/assets/css/components/_contact-info.scss deleted file mode 100644 index bca30fcf08..0000000000 --- a/src/assets/css/components/_contact-info.scss +++ /dev/null @@ -1,40 +0,0 @@ -.contact-info { - padding: 5rem 0 3rem; -} - -.contact-info__methods { - margin-top: 3.25rem; -} - -.contact-info__text { - margin-top: 2rem; - max-width: 23.75rem; -} - -.contact-info__method-text { - display: block; - margin: 2.5rem 0; -} - -.contact-info__social-wrapper { - margin-top: 4.5rem; - color: var(--color-aqua); -} - -.contact-info__socials { - gap: 1rem; -} - -@media (min-width: $breakpoint-s) { - .contact-info { - padding: 6.25rem 0 1rem; - } - - .contact-info__method-text { - margin: 1rem 0; - } - - .contact-info__social-wrapper { - margin-top: 2rem; - } -} diff --git a/src/assets/css/components/_event-cards.scss b/src/assets/css/components/_event-cards.scss index 25737a5da8..9b7bb5b100 100644 --- a/src/assets/css/components/_event-cards.scss +++ b/src/assets/css/components/_event-cards.scss @@ -6,19 +6,21 @@ } .event-card { + --card-padding: 2.5rem; position: relative; display: flex; flex-direction: column; + background-color: var(--background-color); &--purple { - background-color: var(--color-purple); + --background-color: var(--color-purple); color: var(--color-white); --color-link-primary: var(--color-purple); --color-link-primary-hover: var(--color-aqua); } &--aqua { - background-color: var(--color-aqua); + --background-color: var(--color-aqua); color: var(--color-white); --color-link-primary: var(--color-aqua); --color-link-primary-hover: var(--color-purple); @@ -27,13 +29,31 @@ & + & { margin-top: 2.5rem; } + + .btn-primary { + width: fit-content; + } } .event-card__content-wrapper { - padding: 2.5rem; + position: relative; display: flex; flex-direction: column; align-items: start; + z-index: 1; +} + +.event-card__header { + display: flex; + justify-content: space-between; + width: 100%; + padding-left: var(--card-padding); + padding-bottom: 0; +} + +.event-card__body { + padding: var(--card-padding); + padding-top: 0; } .event-card__description { @@ -42,11 +62,26 @@ } } +.event-card__image-wrapper { + flex: 0 0 auto; + padding: 1.25rem; + max-width: 10rem; +} + .event-card__image { display: block; width: 100%; object-fit: contain; - margin-bottom: 2.5rem; + max-width: 10rem; +} + +.event-card__date { + margin-top: var(--card-padding); + text-transform: uppercase; +} + +.event-card__location { + margin-top: 0; } .event-card__title { @@ -66,18 +101,23 @@ } .event-card { + --card-padding: 5rem; & + & { margin-top: 0; } } + .event-card__image-wrapper { + display: flex; + aspect-ratio: 4/3; + margin-bottom: 1.5rem; + padding: 2.5rem; + max-width: none; + } + .event-cards__wrapper { width: 90%; max-width: 86rem; margin: 0 auto; } - - .event-card__content-wrapper { - padding: 5rem; - } } diff --git a/src/assets/css/components/_expertise.scss b/src/assets/css/components/_expertise.scss deleted file mode 100644 index 69047016f3..0000000000 --- a/src/assets/css/components/_expertise.scss +++ /dev/null @@ -1,25 +0,0 @@ -.expertise__logo { - max-width: 8rem; - margin-bottom: 0.25rem; -} - -.expertise__image-row { - margin: 1.5rem 0 3.25rem; - display: flex; - align-items: center; - gap: 2rem; -} - -.expertise__image-ember-1 { - width: 8.25rem; -} - -.expertise__image-ember-2 { - width: 19rem; -} - -@media (min-width: $breakpoint-l) { - .expertise__logo { - max-width: 18rem; - } -} diff --git a/src/assets/css/components/_featured-case-study.scss b/src/assets/css/components/_featured-case-study.scss index 13fb2ea1e0..fabb1bbd68 100644 --- a/src/assets/css/components/_featured-case-study.scss +++ b/src/assets/css/components/_featured-case-study.scss @@ -1,4 +1,5 @@ .featured-case-study { + --icon-arrow-size: 1.5rem; position: relative; display: flex; flex-direction: column; diff --git a/src/assets/css/components/_featured-post.scss b/src/assets/css/components/_featured-post.scss deleted file mode 100644 index be79578602..0000000000 --- a/src/assets/css/components/_featured-post.scss +++ /dev/null @@ -1,90 +0,0 @@ -.featured-post { - position: relative; - color: var(--color-white); - background-color: var(--color-purple); - padding: 3rem 0 0; -} - -.featured-post__title { - margin-bottom: 2rem; -} - -.featured-post__content { - margin-top: 1rem; - display: flex; - flex-direction: column; - align-items: start; - gap: 1.25rem; -} - -.featured-post__container { - padding: 4rem 0 3rem; -} - -.featured-post__meta-wrapper { - display: flex; - flex-direction: column; - align-items: start; - position: relative; - z-index: 100; -} - -.featured-post__post-title { - margin: 1rem 0 1.25rem; -} - -.featured-post__tagline { - margin-top: 2rem; -} - -.featured-post__author { - position: relative; - align-items: center; - z-index: 100; -} - -.featured-post__author-name { - color: var(--color-white); -} - -.featured-post__cta { - margin-top: 2rem; - color: currentColor; -} - -.featured-post__link { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - text-decoration: none; -} - -@media (min-width: $breakpoint-s) { - .featured-post { - padding: 10rem 0; - } - - .featured-post__title { - margin-bottom: 0; - } - - .featured-post__post-title { - margin: 1.5rem 0; - } - - .featured-post__cta { - margin-top: 1.25rem; - } - - .featured-post__meta-wrapper { - display: flex; - flex-direction: row; - align-items: center; - - span { - margin-right: 1.5rem; - } - } -} diff --git a/src/assets/css/components/_featured-services.scss b/src/assets/css/components/_featured-services.scss index e5f81e73db..a2da9e76de 100644 --- a/src/assets/css/components/_featured-services.scss +++ b/src/assets/css/components/_featured-services.scss @@ -1,7 +1,3 @@ -.featured-services { - padding: 2.5rem 0 5rem; -} - .featured-services__list-wrapper { margin: 3rem 0; } @@ -76,10 +72,6 @@ } @media (min-width: $breakpoint-s) { - .featured-services { - padding: 7rem 0; - } - .featured-services__list-wrapper { display: flex; align-items: center; diff --git a/src/assets/css/components/_grid-event-card.scss b/src/assets/css/components/_grid-event-card.scss new file mode 100644 index 0000000000..250594838b --- /dev/null +++ b/src/assets/css/components/_grid-event-card.scss @@ -0,0 +1,16 @@ +.grid-event-card__grid-element { + &:nth-child(odd) { + --background-color: var(--color-purple); + } + + &:nth-child(even) { + --background-color: var(--color-aqua); + } +} + +.grid-event-card__logo { + max-width: 8rem; + width: auto; + height: auto; + max-height: 6rem; +} diff --git a/src/assets/css/components/_icon-arrow.scss b/src/assets/css/components/_icon-arrow.scss index cbe4ca593e..be66aab043 100644 --- a/src/assets/css/components/_icon-arrow.scss +++ b/src/assets/css/components/_icon-arrow.scss @@ -1,10 +1,16 @@ .icon-arrow { + display: block; flex-shrink: 0; height: var(--icon-arrow-size); width: var(--icon-arrow-size); margin: var(--icon-arrow-margin); - transform: var(--icon-arrow-transform) rotate(var(--icon-arrow-rotate)); + transform: var(--icon-arrow-transform); transition: transform 0.5s ease; will-change: transform; color: var(--icon-arrow-color, inherit); + + path { + transform: rotate(var(--icon-arrow-rotate)); + transform-origin: center; + } } diff --git a/src/assets/css/components/_image-stacked.scss b/src/assets/css/components/_image-stacked.scss deleted file mode 100644 index d96db6c34d..0000000000 --- a/src/assets/css/components/_image-stacked.scss +++ /dev/null @@ -1,53 +0,0 @@ -.image-stacked { - margin: 3rem auto; - - [data-js-enabled="true"] & { - margin: -3rem auto; - } - - &--left { - .image-stacked__image-wrapper:nth-child(even) { - margin-left: auto; - } - } - - &--right { - .image-stacked__image-wrapper:nth-child(odd) { - margin-left: auto; - } - } -} - -.image-stacked__image-wrapper { - &:not(:first-child) { - margin-top: -2.5rem; - } -} - -.image-stacked__image-wrapper { - position: relative; - width: 80%; - z-index: 2; - - &--small { - width: 70%; - } -} - -.image-stacked__image { - display: block; -} - -@media (min-width: $breakpoint-s) { - .image-stacked__image-wrapper { - width: 40rem; - - &--small { - width: 24rem; - } - - &:not(:first-child) { - margin-top: -10rem; - } - } -} diff --git a/src/assets/css/components/_intro-text.scss b/src/assets/css/components/_intro-text.scss deleted file mode 100644 index 4ccfb577e8..0000000000 --- a/src/assets/css/components/_intro-text.scss +++ /dev/null @@ -1,8 +0,0 @@ -.intro-text { - max-width: 48rem; - - strong { - font-weight: 700; - color: var(--color-purple); - } -} diff --git a/src/assets/css/components/_mainmatter-team.scss b/src/assets/css/components/_mainmatter-team.scss index ff728455e2..134f98aef6 100644 --- a/src/assets/css/components/_mainmatter-team.scss +++ b/src/assets/css/components/_mainmatter-team.scss @@ -1,14 +1,13 @@ .mainmatter-team { - width: 100vw; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem; - @media (min-width: 48em) { - grid-template-columns: 1fr 1fr 1fr 1fr; + @media (min-width: $breakpoint-s) { + grid-template-columns: repeat(4, 1fr); } - - @media (min-width: 72em) { - grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; + + @media (min-width: $breakpoint-l) { + grid-template-columns: repeat(6, 1fr); } } diff --git a/src/assets/css/components/_nav-aside.scss b/src/assets/css/components/_nav-aside.scss deleted file mode 100644 index 7e4c5b7568..0000000000 --- a/src/assets/css/components/_nav-aside.scss +++ /dev/null @@ -1,71 +0,0 @@ -.nav-aside { - display: flex; - justify-content: space-between; - align-items: flex-end; - flex-wrap: wrap; - padding: 1rem 1rem 9rem; -} - -.nav-aside__brand { - max-width: rem-calc(320); - margin-bottom: 3.75rem; -} - -.nav-aside__brand svg { - color: var(--color-purple); -} - -.nav-aside__text { - margin: 1rem 0 2rem; -} - -.nav-aside__cta { - padding: 0.75rem 0.8rem; - line-height: 1; - background-color: var(--color-accent); - color: var(--color-white); - text-decoration: none; - font-weight: 700; - border-radius: 0.125rem; -} - -.nav-aside__socials { - height: 100%; - flex-basis: 100%; - gap: 1rem; -} - -@media (min-width: $breakpoint-m) { - .nav-aside { - padding-bottom: 2rem; - } - - .nav-aside__brand { - margin-bottom: 0.25rem; - } - - .nav-aside__socials { - flex-basis: auto; - gap: 0.75rem; - - svg { - width: 1.5rem; - height: 1.5rem; - } - - .social__item + .social__item { - margin-left: 0.75rem; - } - } -} - -@media (hover: hover) { - .nav-aside__cta { - transition: background-color ease 0.3s; - - &:hover, - &:focus { - background-color: var(--color-accent-hover); - } - } -} diff --git a/src/assets/css/components/_next-events-cards.scss b/src/assets/css/components/_next-events-cards.scss deleted file mode 100644 index 68e28ef57c..0000000000 --- a/src/assets/css/components/_next-events-cards.scss +++ /dev/null @@ -1,76 +0,0 @@ -.next-events-cards__grid-element { - position: relative; - color: var(--color-white); - padding: 1.25rem 1.25rem 1.25rem 1.25rem; - min-height: 32rem; - background-repeat: no-repeat; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: start; - text-decoration: none; - overflow: hidden; - cursor: pointer; - - a:hover, &:focus { - text-decoration: underline; - } -} - -.next-events-cards__grid-element:hover, .next-events-cards__grid-element:focus-within { - --icon-arrow-transform: translate3d(0.5rem, 0, 0); -} - -.next-events-cards__date-wrapper { - position: relative; -} - -.next-events-cards__link-wrapper { - display: flex; - flex-direction: row; - align-items: center; - justify-content: flex-end; - text-decoration: none; - transition: color 0.3s ease; -} - -.next-events-cards__grid-element:nth-child(2n + 1) { - background-color: var(--color-purple); -} - -.next-events-cards__grid-element:nth-child(2n) { - background-color: var(--color-black); -} - -.next-events-cards__grid-element:nth-child(5n + 1) { - background-color: var(--color-aqua); -} - -.next-events-cards__content { - position: relative; - width: 100%; -} - -.next-events-cards__date-wrapper { - align-self: end; -} - -.next-events-cards__link { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - text-decoration: none; - background-repeat: no-repeat; - z-index: 50; -} - -.next-events-cards__link-arrow { - --icon-arrow-size: 1.5rem; - position: relative; - margin-left: 0.25rem; - z-index: 1; - display: flex; - justify-content: center; -} diff --git a/src/assets/css/components/_next-events.scss b/src/assets/css/components/_next-events.scss deleted file mode 100644 index f5b9945edc..0000000000 --- a/src/assets/css/components/_next-events.scss +++ /dev/null @@ -1,26 +0,0 @@ -.next-events { - margin: 6.75rem 0; -} - -.next-events__list { - display: grid; - grid-template-columns: 1fr; - list-style: none; - margin: 0; - padding: 0; - gap: 1.5rem; -} - -@media (min-width: $breakpoint-s) { - .next-events__list { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 1.5rem; - } -} - -@media (min-width: $breakpoint-l) { - .next-events__list { - grid-template-columns: repeat(3, 1fr); - } -} diff --git a/src/assets/css/components/_post-banner.scss b/src/assets/css/components/_post-banner.scss deleted file mode 100644 index 224e30b538..0000000000 --- a/src/assets/css/components/_post-banner.scss +++ /dev/null @@ -1,189 +0,0 @@ -.post-banner { - position: relative; - display: flex; - flex-direction: column; - align-self: flex-start; - height: 100%; - background-color: var(--color-bg); - color: var(--color-body-text); - --color-tag: var(--color-purple); - --spacing: 1rem; - - & + & { - margin-top: rem-calc(80); - } -} - -.post-banner__text { - &--desktop { - display: none; - } - - &--mobile { - display: block; - } -} - -.post-banner__link { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 2; -} - -.post-banner__image-overlay { - position: relative; - min-width: 100%; - color: var(--color-white); - aspect-ratio: 9/8; -} - -.post-banner__overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - mix-blend-mode: multiply; - - &--purple { - background-color: var(--color-purple); - opacity: 0.9; - } - - &--black { - background-color: var(--color-black); - opacity: 0.6; - } -} - -.post-banner__image-wrapper { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.post-banner__image { - width: 100%; - height: 100%; - object-fit: cover; - object-position: center; -} - -.post-banner__content-wrapper, -.post-banner__content { - display: flex; - flex-direction: column; - height: 100%; -} - -.post-banner__content-wrapper { - position: relative; - padding: 1.25rem; - text-align: right; - align-items: flex-end; -} - -.post-banner__content { - width: 100%; - justify-content: center; - text-align: left; -} - -.post-banner__internal-link { - position: relative; - z-index: 3; - text-decoration-line: underline; -} - -.post-banner__title { - font-size: 1.5rem; - margin-bottom: 1.5rem; -} - -.post-banner__date { - width: 100%; - text-align: right; -} - -.post-banner__cta { - color: currentColor; -} - -.post-banner__tags { - margin: 1.25rem 0 var(--spacing); -} - -@media (min-width: $breakpoint-m) { - .post-banner { - grid-column: span 3 / span 3; - --color-tag: var(--color-white); - - & + & { - margin-top: 0; - } - } - - .post-banner__text { - &--desktop { - display: block; - } - - &--mobile { - display: none; - } - } - - .post-banner__image-overlay { - position: relative; - min-width: 100%; - color: var(--color-white); - aspect-ratio: 21/9; - } - - .post-banner__content-wrapper { - padding: 1.5rem; - justify-content: space-between; - align-items: flex-start; - text-align: left; - } - - .post-banner__content { - margin-left: 2rem; - max-width: initial; - justify-content: flex-end; - } - - .post-banner__internal-link { - text-decoration-line: none; - } - - .post-banner__title { - margin-top: 0.75rem; - margin-bottom: 0.75rem; - } - - .post-banner__tags { - margin: 0; - } -} - -@media (min-width: $breakpoint-l) { - .post-banner__title { - font-size: 3.5rem; - margin-bottom: 0.5rem; - } - - .post-banner__content-wrapper { - padding: 1.5rem; - } - - .post-banner__content { - max-width: 48.75rem; - margin-left: 5rem; - } -} diff --git a/src/assets/css/components/_post-cards.scss b/src/assets/css/components/_post-cards.scss index 1426a93fa1..55f118c39d 100644 --- a/src/assets/css/components/_post-cards.scss +++ b/src/assets/css/components/_post-cards.scss @@ -1,80 +1,3 @@ -.post-cards__grid { - display: grid; - grid-template-columns: 1fr; - gap: 1.5rem; - margin-top: 2.5rem; -} - -@media (min-width: $breakpoint-s) { - .post-cards__grid { - grid-template-columns: 1fr 1fr; - } -} - -@media (min-width: $breakpoint-l) { - .post-cards__grid { - grid-template-columns: 1fr 1fr 1fr; - } -} - -.post-cards__grid-element { - position: relative; - color: var(--color-white); - padding: 1.25rem 1.25rem 1.25rem 1.25rem; - min-height: 32rem; - background-repeat: no-repeat; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: start; - text-decoration: none; - overflow: hidden; - cursor: pointer; - - &:hover, - &:focus { - --icon-arrow-transform: translate3d(0.5rem, 0, 0); - } - - a:hover { - text-decoration: underline; - } -} - -.post-cards__logo svg { - fill: white; -} - -.post-cards__date-wrapper { - position: relative; -} - -.post-cards__link-wrapper { - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - text-decoration: none; - transition: color 0.3s ease; -} - -.post-cards__grid-element:nth-child(2n + 1) { - background-color: var(--color-purple); -} - -.post-cards__grid-element:nth-child(2n) { - background-color: var(--color-black); -} - -.post-cards__grid-element:nth-child(5n + 1) { - background-color: var(--color-aqua); -} - -.post-cards__content { - position: relative; - width: 100%; -} - .post-cards__author { margin-bottom: 2rem; display: flex; @@ -94,41 +17,3 @@ object-fit: cover; border-radius: 50%; } - -.post-cards__date-wrapper { - align-self: end; -} - -.post-cards--hover { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -.post-cards__link { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - text-decoration: none; - background-repeat: no-repeat; - z-index: 50; - outline-offset: -0.25rem; -} - -.post-cards__link-arrow { - --icon-arrow-size: 1.5rem; - position: relative; - margin-left: 0.25rem; - z-index: 1; - display: flex; -} - -.post-cards__link-label a, -.post-cards__author-name a { - position: relative; - z-index: 100; -} diff --git a/src/assets/css/components/_post.scss b/src/assets/css/components/_post.scss index 38e3e593d3..70bd816a7a 100644 --- a/src/assets/css/components/_post.scss +++ b/src/assets/css/components/_post.scss @@ -143,7 +143,7 @@ h2 { font-size: rem-calc(18); font-weight: 500; - margin: 6.25rem 0 3.25rem; + margin: 6.25rem 0 3rem; } } diff --git a/src/assets/css/components/_split-quote.scss b/src/assets/css/components/_split-quote.scss deleted file mode 100644 index aa575f696c..0000000000 --- a/src/assets/css/components/_split-quote.scss +++ /dev/null @@ -1,110 +0,0 @@ -.split-quote { - --spacing: 1.5rem; - display: flex; - flex-direction: column; - - &--purple { - --color-quote-icon: var(--color-blue); - background-color: var(--color-purple); - color: var(--color-white); - } - - &--blue { - --color-quote-icon: var(--color-yellow); - --color-source: var(--color-black); - background-color: var(--color-blue); - color: var(--color-white); - } - - &--aqua { - --color-quote-icon: var(--color-purple); - background-color: var(--color-aqua); - color: var(--color-black); - } - - &--yellow { - --color-quote-icon: var(--color-purple); - background-color: var(--color-yellow); - color: var(--color-black); - } -} - -.split-quote__image-wrapper { - position: relative; - order: -1; - aspect-ratio: 1; -} - -.split-quote__image { - position: absolute; - width: 100%; - height: 100%; - object-fit: cover; -} - -.split-quote__container { - display: flex; - flex-direction: column; - justify-content: center; - aspect-ratio: 100 / 85; - padding: rem-calc(60) 0; -} - -.split-quote__quote { - display: grid; - gap: 1.5rem; - margin: 0; -} - -.split-quote__text { - margin: 0; - font-size: 1.5rem; - line-height: 1.3; -} - -.split-quote__source { - color: var(--color-source); -} - -.split-quote__icon { - color: var(--color-quote-icon); -} - -@media (min-width: $breakpoint-s) { - .split-quote { - flex-direction: row; - } - - .split-quote__image-wrapper { - flex: 0 0 50%; - aspect-ratio: 1/1; - } - - .split-quote__main { - display: flex; - flex: 0 0 50%; - - &--left { - order: -2; - } - } - - .split-quote__container { - width: 80%; - max-width: rem-calc(500); - } -} - -@media (min-width: $breakpoint-m) { - .split-quote__quote { - grid-template-columns: 3rem auto; - } - - .split-quote__text { - margin: 0; - } - - .split-quote__source { - grid-column: 2; - } -} diff --git a/src/assets/css/components/_tech-cards.scss b/src/assets/css/components/_tech-cards.scss index 6d925244ab..15a3367ec8 100644 --- a/src/assets/css/components/_tech-cards.scss +++ b/src/assets/css/components/_tech-cards.scss @@ -1,74 +1,5 @@ -.tech-cards__grid { - display: grid; - grid-template-columns: 1fr; - gap: 1.5rem; - margin-top: 2.5rem; -} - -@media (min-width: $breakpoint-s) { - .tech-cards__grid { - grid-template-columns: 1fr 1fr; - } -} - -@media (min-width: $breakpoint-l) { - .tech-cards__grid { - grid-template-columns: 1fr 1fr 1fr; - } -} - -.tech-cards__grid-element { - color: var(--color-white); - padding: 1.25rem 1.25rem 1.25rem 1.25rem; - min-height: 32rem; - background-repeat: no-repeat; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: start; - text-decoration: none; - position: relative; - cursor: pointer; - overflow: hidden; - - &:hover, - &:focus { - .tech-cards__link-arrow { - .icon-arrow { - transform: translateX(0.5rem) rotate(-90deg); - transition: transform 0.5s ease; - } - } - } -} - -.tech-cards_link { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - text-decoration: none; - background-repeat: no-repeat; - cursor: pointer; - z-index: 50; -} - -.tech-cards__link-wrapper { - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - text-decoration: none; -} - -.tech-cards__content { - width: 100%; - position: relative; -} - .tech-cards__intro { - max-width: 64rem; + max-width: 64remp; } .tech-cards__logo { @@ -96,17 +27,8 @@ } } -.tech-cards--hover { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - overflow: hidden; -} - .tech-cards__grid-element:nth-child(2n + 1) { - background-color: var(--color-purple); + --background-color: var(--color-purple); svg g { fill: #5600d1; @@ -114,7 +36,7 @@ } .tech-cards__grid-element:nth-child(2n) { - background-color: var(--color-black); + --background-color: var(--color-black); svg g { fill: #2b2b2b; @@ -122,33 +44,9 @@ } .tech-cards__grid-element:nth-child(5n + 1) { - background-color: var(--color-aqua); + --background-color: var(--color-aqua); svg g { fill: #55e6d8; } } - -.tech-cards__link-arrow { - position: relative; - margin-left: 0.25rem; - z-index: 1; - display: flex; - justify-content: center; - - .icon-arrow { - transform: translateX(0px) rotate(-90deg); - transition: transform 0.5s ease; - width: 24px; - height: auto; - } - - &--rotate { - margin-left: 0; - margin-right: 0.5rem; - - .icon-arrow { - transform: rotate(90deg); - } - } -} diff --git a/src/assets/css/components/_workshop-cards.scss b/src/assets/css/components/_workshop-cards.scss deleted file mode 100644 index 264b1f834a..0000000000 --- a/src/assets/css/components/_workshop-cards.scss +++ /dev/null @@ -1,80 +0,0 @@ -.workshop-cards { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(14.25rem, 1fr)); - gap: rem-calc(26); - margin: 0; - padding: 0; - list-style: none; -} - -.workshop-card { - position: relative; - display: flex; - flex-direction: column; - padding: 1rem; - border: rem-calc(1) solid var(--color-light-gray); -} - -.workshop-card__link { - display: block; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - outline-offset: 0.25rem; - - &:hover, &:focus { - & ~ .workshop-card__cta:before { - transform: scaleX(1); - } - } -} - -.workshop-card__lead-image-wrapper { - display: inline-block; - margin-right: 0.5rem; - margin-bottom: 0.5rem; - font-size: 0; -} - -.workshop-card__lead-image { - display: inline-block; - margin-right: 0.5rem; - font-size: 0; - width: 5.438rem; - aspect-ratio: 1/1; - object-fit: cover; - border-radius: 50%; -} - -.workshop-card__title { - margin-top: 0.5rem; -} - -.workshop-card__lead-text { - margin-top: 0.5rem; - font-size: rem-calc(13); -} - -.workshop-card__meta { - display: flex; - margin: 0.5rem 0; - padding: 0.5rem 0; - gap: 2rem; - border-top: 0.125rem solid currentColor; - border-bottom: 0.125rem solid currentColor; - font-weight: 600; - font-size: rem-calc(13); -} - -.workshop-card__description { - margin: 0.5rem 0; - font-size: rem-calc(13); -} - -.workshop-card__cta { - align-self: flex-start; - margin-top: auto; -} diff --git a/src/assets/css/components/_workshop-hero.scss b/src/assets/css/components/_workshop-hero.scss deleted file mode 100644 index 313829f66f..0000000000 --- a/src/assets/css/components/_workshop-hero.scss +++ /dev/null @@ -1,7 +0,0 @@ -.workshop-hero__format { - font-weight: 500; -} - -.workshop-hero__title { - margin: 1.25rem 0 0; -} \ No newline at end of file diff --git a/src/assets/css/components/_workshop-topics.scss b/src/assets/css/components/_workshop-topics.scss deleted file mode 100644 index 9daa762952..0000000000 --- a/src/assets/css/components/_workshop-topics.scss +++ /dev/null @@ -1,66 +0,0 @@ -.workshop-topics__list { - margin-top: 3rem; - padding: 0; - list-style: none; - counter-reset: item; - max-width: rem-calc(520); -} - -.workshop-topics__item { - margin-top: 1.5rem; - counter-increment: item; - display: flex; - - & + & { - margin-top: 2rem; - } - - &::before { - height: 2rem; - min-width: 2.5rem; - content: counter(item) "."; - font-size: 1.5rem; - font-weight: 700; - color: var(--color-purple); - line-height: 1.5; - } - - &--optional::before { - content: "*"; - } -} - -.workshop-topics__icon-wrapper { - margin-bottom: 1rem; - margin-right: 1.5rem; - - img { - margin: 0; - width: 2rem; - height: 2rem; - } -} - -.workshop-topics__heading { - .rte & { - margin: 6.25rem 0 3rem; - } -} - -.workshop-topics__item-heading { - .rte & { - margin: 0 0 1rem; - } -} - -.workshop-topics__text { - margin-bottom: 1rem; -} - -@media (min-width: $breakpoint-m) { - .workshop-topics__item { - & + & { - margin-top: 2.75rem; - } - } -} diff --git a/src/author.njk b/src/author.njk index 7189164c45..f60e2a1435 100644 --- a/src/author.njk +++ b/src/author.njk @@ -34,7 +34,7 @@ permalink: "/blog/author/{{ paged.author.fileSlug }}/{% if paged.number > 1 %}/p