:root { /* * This colour palette should not be accessed directly. Instead, use * * design system variables like --text-color, --background-color or * * --special-colour. * */ --color-primary-50: #eeecff; --color-primary-50: oklch(95% 0.02 290); --color-primary-100: #cec5ff; --color-primary-100: oklch(85% 0.07 290); --color-primary-200: #b19cff; --color-primary-200: oklch(75% 0.13 290); --color-primary-300: #937be3; --color-primary-300: oklch(65% 0.15 290); --color-primary-400: #765cc1; --color-primary-400: oklch(55% 0.15 290); --color-primary-500: #5a3ea1; --color-primary-500: oklch(45% 0.15 290); --color-primary-600: #401f81; --color-primary-600: oklch(35% 0.15 290); --color-primary-700: #28005c; --color-primary-700: oklch(25% 0.14 290); --color-primary-800: #0f002a; --color-primary-800: oklch(15% 0.08 290); --color-primary-900: #010003; --color-primary-900: oklch(5% 0.02 290); --color-secondary-50: #bcffee; --color-secondary-50: oklch(95% 0.07 178.02852951497042); --color-secondary-100: #2bedce; --color-secondary-100: oklch(85% 0.15 178.02852951497042); --color-secondary-200: #2ac8ae; --color-secondary-200: oklch(75% 0.13 178.02852951497042); --color-secondary-300: #28a58f; --color-secondary-300: oklch(65% 0.11 178.02852951497042); --color-secondary-400: #068472; --color-secondary-400: oklch(55% 0.1 178.02852951497042); --color-secondary-500: #0a6355; --color-secondary-500: oklch(45% 0.08 178.02852951497042); --color-secondary-600: #09453a; --color-secondary-600: oklch(35% 0.06 178.02852951497042); --color-secondary-700: #062822; --color-secondary-700: oklch(25% 0.04 178.02852951497042); --color-secondary-800: #030e0b; --color-secondary-800: oklch(15% 0.02 178.02852951497042); --color-secondary-900: #000101; --color-secondary-900: oklch(6% 0.01 178.02852951497042); --text-color: var(--color-primary-50); --text-highlight-color: var(--color-primary-100); --background-color: var(--color-primary-800); --background-highlight-color: var(--color-primary-700); --special-text-color: var(--color-secondary-200); --special-text-highlight-color: var(--color-secondary-300); --special-background-color: var(--color-secondary-900); --special-background-highlight-color: var(--color-secondary-800); --max-width-prose-content: 35rem; --max-width-all-content: 56.6rem; /* golden ratio * prose content width */ --breakpoint-sm: 640px; --breakpoint-lg: 1280px; --spacing-block-xl: 4rem; --spacing-block-lg: 2rem; --spacing-block-md: 1.25rem; --spacing-block-sm: 0.375rem; --spacing-inline-lg: 5rem; --spacing-inline-md: 3rem; --spacing-inline-sm: 1.5rem; --spacing-inline-xs: 0.5rem; --base-font-size-min: 16px; --base-font-size-max: 30px; --font-size-sm: 0.875rem; scroll-behavior: smooth; font-family: 'Alegreya Sans', Lato, Calibri, 'sans-serif'; font-size: var(--base-font-size-min); font-weight: 300; color: var(--text-color); background-color: var(--background-color); } @media (min-width: 40rem) { :root { --sm-to-lg: calc(var(--breakpoint-lg) - var(--breakpoint-sm)); --this-to-lg: calc(100vw - var(--base-font-size-min)); --base-font-size-range: calc(var(--base-font-size-max) - var(--base-font-size-min)); --font-size-to-add: calc(var(--base-font-size-range) * (var(--sm-to-lg) / var(--this-to-lg))); font-size: calc(var(--base-font-size-min) + var(--font-size-to-add)); } } :is(main, article) { container-name: main; container-type: inline-size; --text-color: var(--color-primary-900); --text-highlight-color: var(--color-primary-800); --background-color: var(--color-primary-50); --background-highlight-color: var(--color-primary-200); --special-text-color: var(--color-secondary-700); --special-text-highlight-color: var(--color-secondary-600); --special-background-color: var(--color-secondary-50); --special-background-highlight-color: var(--color-secondary-100); color: var(--text-color); background-color: var(--background-color); } :is(main, article) > :is(section, header):not(:is(section, header) :is(section, header)) { padding-inline: max(10%, calc((100% - var(--max-width-prose-content)) / 2)); padding-block: var(--spacing-block-lg) var(--spacing-block-xl); } :is(main, article) > :is(section, header):not(:is(section, header) :is(section, header)).section--full-width { padding-inline: max(10%, calc((100% - var(--max-width-all-content)) / 2)); } :is(main, article) > :is(section, header):not(.section--full-width):not(:is(section, header) :is(section, header)) > p { max-width: var(--max-width-prose-content); } :is(main, article) > section:nth-child(even):not(:is(section, header) :is(section, header)) { --background-color: var(--color-primary-100); background-color: var(--background-color); } .title, .title--small, h1, h2, h3, h4 { font-family: Alegreya, 'Goudy Old Style', Garamond, serif; } .title { font-size: 3.75rem; font-weight: 700; padding-block-start: var(--spacing-block-sm); } .title--small { font-size: 1.25rem; padding-block-start: 0; } h1, h2, h3, h4 { padding-block-start: var(--spacing-block-lg); } h1:first { padding-block-start: var(--spacing-block-sm); } h1 { font-size: 2.5rem; font-weight: 600; } h2 { font-size: 2rem; font-weight: 500; } h3 { font-size: 1.5rem; font-weight: 400; } h4 { font-size: 1.125rem; font-weight: 400; } p:not(:first) { padding-block-start: var(--spacing-block-md); } .link { color: var(--special-text-color); text-decoration: underline; text-decoration-color: var(--special-text-color); border: dotted transparent 2px; border-radius: 0.375rem; transition: text-decoration-color 300ms, color 300ms, border-color 300ms, font-weight 300ms; } .link:hover { text-decoration-color: transparent; } .link:focus { border-color: var(--special-text-color); } .link:active { font-weight: 700; color: var(--special-text-highlight-color); } .btn { color: var(--text-color); border: solid 2px var(--text-color); font-weight: 500; text-decoration: underline; padding-inline: 0.5rem; padding-block: 0.25rem; background-color: transparent; transition: background-color 300ms, text-decoration-color 300ms, transform 50ms; } .btn:hover { background-color: var(--background-highlight-color); text-decoration-color: transparent; } .btn:active { transform: scale(1.1, 1.1); } td { padding-block-start: var(--spacing-block-sm); } hr { width: 33%; margin-block: auto; margin-inline: --spacing-inline-sm; } ol li { list-style-type: decimal; margin-inline-start: --spacing-inline-md; } .schedule dt { font-weight: 500; margin-block-start: var(--spacing-block-md); text-align: center; } .schedule dd { text-align: center; } .schedule dd:last-child { margin-block-end: var(--spacing-block-md); } @container main (min-width: 20rem) { .schedule { display: grid; grid-template-columns: fit-content(5rem) 1fr; grid-column-gap: var(--spacing-inline-sm); grid-row-gap: var(--spacing-block-sm); } .schedule dt { grid-column-start: 1; margin: 0; text-align: end; } .schedule dd { grid-column-start: 2; text-align: start; } .schedule dd:last-child { margin-block-end: 0; } } .news-post { margin-block: 1.5rem; margin-inline: 0.5rem; width: 30%; border: solid 2px var(--text-color); color: var(--text-color); overflow: hidden; text-overflow: ellipsis; padding-inline: var(--spacing-inline-sm); padding-block: var(--spacing-block-sm); transition: background-color 300ms, color 300ms, transform 50ms; } .news-post:hover { background-color: var(--background-highlight-color); color: var(--text-highlight-color); } .news-post:active { transform: scale(1.1, 1.1); } .news-post__title { padding-block: 0; text-decoration: underline; transition: text-decoration 300ms; } .news-post:hover .news-post__title { text-decoration-color: transparent; } .news-post__summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; white-space: normal; font-size: var(--font-size-sm); } footer { padding-block-start: var(--spacing-block-md); padding-bottom: 8rem; padding-inline: max(10%, calc((100% - var(--max-width-all-content)) / 2));; } .back-to-top-link { width: fit-content; margin-inline: auto; } @media (min-width: 50rem) { .back-to-top-link { margin-inline-end: 0; } } .product__header-block { display: flex; flex-wrap: wrap; justify-content: space-evenly; gap: var(--spacing-inline-sm); padding-inline: var(--spacing-inline-md); padding-block: var(--spacing-block-lg) var(--spacing-block-xl); } .product__action-block { display: flex; flex-direction: column; margin-inline: auto; width: fit-content; gap: var(--spacing-block-sm); } .product__action-block img { max-width: 12rem; width: 100%; height: auto; } .link-gallery { display: flex; flex-wrap: wrap; gap: var(--spacing-inline-sm); padding-block: var(--spacing-block-md); } .link-gallery__container { display: flex; flex-direction: column; width: fit-content; height: 12rem; } .link-gallery--furthsettins { --gallery-item-width: 6rem; --gallery-item-height: 6rem; justify-content: space-evenly; } .link-gallery--lallans { --gallery-item-width: 6rem; --gallery-item-height: auto; } .link-gallery--scotsoun { --gallery-item-width: 8rem; --gallery-item-height: 8rem; } .link-gallery__image { align-self: start; max-width: var(--gallery-item-width); max-height: var(--gallery-item-height); } .link-gallery--furthsettins img { border-radius: 50%; } .link-gallery__image img { max-width: 100%; max-height: 100%; } .link-gallery__title { justify-self: end; max-width: var(--gallery-item-width); min-height: 4.7ex; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: center; } .italic { font-style: italic; } :is(.lallans-issue__contributions, .lallans-issue__contributors) ul { font-size: var(--font-size-sm); padding-block-end: var(--spacing-block-md); } nav { display: flex; flex-direction: column; align-items: center; padding-block-start: var(--spacing-block-sm); padding-block-end: var(--spacing-block-md); padding-inline: var(--spacing-inline-sm); } @media (min-width: 50rem) { nav { flex-direction: row; justify-content: space-between; align-items: baseline; padding-inline: max(10%, calc((100% - var(--max-width-all-content)) / 2)); gap: var(--spacing-inline-xs); } .breadcrumbs { order: 0; } .logo { order: 1; } .switch-language-link { order: 2; } } .logo { text-align: center; } .logo a { text-decoration: none; } .breadcrumbs li { list-style-type: none; min-width: max-content; } .breadcrumbs li::before { content: '/' } @media (min-width: 50rem) { .breadcrumbs { display: flex; } .breadcrumbs li { margin-inline: var(--spacing-inline-xs); } }