
:root, :host {
  --border-width-none: 0;
  --border-width-narrow: 0.1rem;
  --border-width-medium: 0.2rem;
  --border-width-wide: 0.3rem;
}

/**
 * Based on a scale with a base of 1rem and a ratio of 1.2
 * https://www.modularscale.com/?1&rem&1.2
 * Each step up:   (previous-step) * 1.2
 * Each step down: (previous-step) / 1.2
 */
:root, :host {
  --font-size-base: 1rem;
  --font-size-ratio: 1.2;
  --font-size-u-8: 4.29981696rem;
  --font-size-u-7: 3.5831808rem;
  --font-size-u-6: 2.985984rem;
  --font-size-u-5: 2.48832rem;
  --font-size-u-4: 2.0736rem;
  --font-size-u-3: 1.728rem;
  --font-size-u-2: 1.44rem;
  --font-size-u-1: 1.2rem;
  --font-size-d-1: 0.8333333333rem;
  --font-size-d-2: 0.6944444444rem;
  --font-size-d-3: 0.5787037037rem;
  --font-size-root-clamp-ideal: 3vmin;
  --font-size-root-clamp-min: 1em;
  --font-size-root-clamp-max: 1.25em;
  --font-size-root-clamp-fallback: 1em;
}

:root, :host {
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
}

:root, :host {
  --line-height-reset: 1;
  --line-height-tight: 1.1;
  --line-height-cosy: 1.2;
  --line-height-regular: 1.4;
  --line-height-loose: 1.6;
}

:root, :host {
  --spacing-multiplier: 0.625;
  --spacing-0: 0;
  --spacing-1: calc(1rem * var(--spacing-multiplier));
  --spacing-2: calc(2rem * var(--spacing-multiplier));
  --spacing-3: calc(3rem * var(--spacing-multiplier));
  --spacing-4: calc(4rem * var(--spacing-multiplier));
  --spacing-5: calc(5rem * var(--spacing-multiplier));
  --spacing-6: calc(6rem * var(--spacing-multiplier));
  --spacing-7: calc(7rem * var(--spacing-multiplier));
  --spacing-8: calc(8rem * var(--spacing-multiplier));
  --spacing-9: calc(9rem * var(--spacing-multiplier));
}

.cd-clubs_api-dojo-card {
  border-radius: var(--border-radius);
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
  margin: var(--spacing-2) 0;
  max-width: 26.875rem;
  overflow: hidden;
}
@media only all and (min-width: 50em) {
  .cd-clubs_api-dojo-card {
    max-width: 47rem;
  }
}
.cd-clubs_api-dojo-card:first-of-type {
  margin-block-start: 0;
}
.cd-clubs_api-dojo-card__banner {
  border: var(--border-width-narrow) solid var(--coderdojo-purple);
  border-radius: var(--border-radius-small);
  display: flex;
  padding: var(--spacing-1) var(--spacing-2);
}
@media only all and (min-width: 59.38rem) {
  .cd-clubs_api-dojo-card__banner {
    grid-column: span 2;
  }
}
.cd-clubs_api-dojo-card__heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--spacing-1) var(--spacing-2);
}
.cd-clubs_api-dojo-card__heading .cd-ui-button {
  flex: 0 0 35%;
}
@media only all and (min-width: 50em) {
  .cd-clubs_api-dojo-card__heading .cd-ui-button {
    flex: 0 0 30%;
  }
}
@media only all and (min-width: 31.9rem) {
  .cd-clubs_api-dojo-card__heading {
    flex-direction: row;
  }
  .cd-clubs_api-dojo-card__heading h3 {
    --font-family: var(--font-family-heading);
    margin-block-end: 0;
    padding-inline-end: var(--spacing-1);
  }
}
.cd-clubs_api-dojo-card__info {
  background: var(--white);
  display: grid;
  grid-gap: var(--spacing-1);
  grid-template-columns: 1fr;
  overflow-wrap: break-word;
  padding: var(--spacing-2);
}
.cd-clubs_api-dojo-card__info--distance {
  font-weight: var(--font-weight-bold);
  margin-block-end: var(--spacing-1);
}
.cd-clubs_api-dojo-card__info--icon {
  height: 100%;
  padding-inline-end: var(--spacing-1);
}
.cd-clubs_api-dojo-card__info--item {
  display: flex;
  margin-block: var(--spacing-1);
}
@media only all and (min-width: 59.38em) {
  .cd-clubs_api-dojo-card__info {
    grid-row-gap: var(--spacing-2);
    grid-template-columns: 50% 50%;
  }
  .cd-clubs_api-dojo-card__info--location {
    padding-inline-end: var(--spacing-3);
  }
}
.cd-clubs_api-dojo-card__action {
  background: var(--white);
  border-block-start: var(--border-width-narrow) solid var(--form-grey);
  padding: var(--spacing-1) var(--spacing-2);
}
.cd-clubs_api-dojo-card .cd-ui-button--link {
  color: black;
  text-decoration: underline;
}
.cd-clubs_api-dojo-card .cd-ui-button--link:hover {
  color: var(--coderdojo-purple);
}

.cd-clubs-api-dashboard-events__title {
  margin-block-end: var(--spacing-3);
}
.cd-clubs-api-dashboard-events__container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.cd-clubs-api-dashboard-events__filter {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  font-size: var(--font-size-base);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  gap: calc(var(--spacing-1) * 0.5);
  justify-content: center;
  line-height: var(--line-height-cosy);
}
.cd-clubs-api-dashboard-events__filter-buttons {
  align-content: center;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-1);
}
.cd-clubs-api-dashboard-events__no-events {
  border: 1px dashed var(--form-grey);
  border-radius: 0.625rem;
  padding: var(--spacing-2);
  text-align: center;
}
.cd-clubs-api-dashboard-events__no-events h4 {
  margin: var(--spacing-1) 0 0 0;
}

.cd-pages-dashboard .cd-clubs-api-dashboard-events .cd-clubs-api-dashboard-events__title {
  text-align: start;
}

.cd-clubs_api-jad .cd-ui-button-collection .button_to {
  width: 100%;
}

.cd-clubs_api-vad .cd-ui-button-collection .button_to {
  width: 100%;
}

.cd-ui-banner {
  align-content: center;
  background: var(--rpf-yellow-100);
  display: grid;
  grid-template-columns: 1fr min-content;
  width: 100%;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-banner {
    grid-template-columns: max-content 1fr min-content;
  }
}
.cd-ui-banner__label {
  background: var(--rpf-yellow-400);
  border-radius: 0.5rem;
  font-family: "Roboto", sans-serif;
  font-weight: var(--font-weight-bold);
  height: fit-content;
  margin: 1rem 0 1rem 1rem;
  padding: 0.25rem 0.5rem;
  width: fit-content;
}
.cd-ui-banner__text {
  grid-column: 1/3;
  grid-row: 2;
  margin: 0 1rem 1rem 1rem;
  word-break: break-word;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-banner__text {
    grid-column: 2;
    grid-row: 1;
    margin: var(--spacing-2) 0 1rem 1rem;
  }
}
.cd-ui-banner__text a {
  color: var(--coderdojo-black);
  padding-inline-start: 0.3rem;
}
.cd-ui-banner__text a:hover {
  color: var(--coderdojo-purple);
}
.cd-ui-banner__dismiss-button button {
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 1.2rem;
}
.cd-ui-banner__dismiss-button button img {
  height: 0.875rem;
}

.cd-ui-button {
  --primary-offset-width: 0px;
  outline-offset: -0.1rem;
  /* Provide a fallback style for browsers that don't support :focus-visible */
  --background-color: var(--color-background);
  --border-color: var(--color-border);
  --border-width: var(--border-width-button);
  --color: var(--color-text);
  --font-weight: var(--font-weight-medium);
  --line-height: var(--line-height-cosy);
  --padding-block: var(--spacing-1);
  --padding-inline: var(--spacing-4);
  --pointer-events: auto;
  --transition-duration: var(--transition-duration-promptly);
  --transition-timing-function: var(--transition-timing-eased),
    var(--transition-timing-eased), var(--transition-timing-elastic);
  --width: 100%;
  background-color: var(--background-color);
  border-color: var(--border-color);
  border-radius: 0.5rem;
  border-style: solid;
  border-width: var(--border-width);
  color: var(--color);
  display: inline-block;
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  padding-block: var(--padding-block);
  padding-inline: var(--padding-inline);
  pointer-events: var(--pointer-events);
  text-align: center;
  transition-duration: var(--transition-duration);
  transition-property: background-color, color, outline-offset;
  transition-timing-function: var(--transition-timing-function);
  width: var(--width);
  --color-background: var(--color-background-button-primary);
  --color-border: var(--color-border-button-primary);
  --color-text: var(--color-text-button-primary);
  --color-background-active: var(--color-background-button-primary-active);
  --color-border-active: var(--color-border-button-primary-active);
  --color-text-active: var(--color-text-button-primary-active);
}
.cd-ui-button:focus {
  outline-color: var(--color-outline-primary);
  outline-offset: 0;
  outline-style: solid;
  outline-width: var(--border-width-narrow);
  /* Remove the focus indicator on mouse-focus for browsers that do support :focus-visible */
  /* Draw a very noticeable focus style for keyboard-focus on browsers that do support :focus-visible */
}
.cd-ui-button:focus:not(:focus-visible) {
  outline-color: transparent;
}
.cd-ui-button:focus:focus-visible {
  outline-offset: var(--border-width-medium);
  outline-width: var(--border-width-medium);
}
.cd-ui-button:any-link {
  --background-color: var(--color-background);
  --border-color: var(--color-border);
  --color: var(--color-text);
  text-decoration: none;
}
.cd-ui-button:where(:focus, :hover, :active) {
  --background-color: var(--color-background-active);
  --border-color: var(--color-border-active);
  --color: var(--color-text-active);
}
@media only all and (min-width: 600px) {
  .cd-ui-button {
    --width: auto;
  }
}
.cd-ui-button:disabled, .cd-ui-button[disabled] {
  --color-background: var(--color-background-button-disabled);
  --color-border: var(--color-border-button-disabled);
  --color-text: var(--color-text-disabled);
  --color-background-active: var(--color-background-button-disabled);
  --color-border-active: var(--color-border-button-disabled-active);
  --color-text-active: var(--color-text-disabled-active);
  --pointer-events: none;
}
.cd-ui-button:disabled {
  opacity: 0.5;
}
.cd-ui-button--primary-inverted {
  --color-background-button-primary: var(--white);
  --color-background-button-primary-active: var(--white-darker);
  --color-background-button-primary-hover: var(--white-dark);
  --color-border-button-primary: var(--white);
  --color-border-button-primary-active: var(--white-darker);
  --color-border-button-primary-focus: var(--coderdojo-focus-green);
  --color-border-button-primary-hover: var(--white-dark);
  --primary-offset-width: var(--border-width-medium);
  background-clip: padding-box;
}
.cd-ui-button--secondary-inverted {
  --color-background-button-secondary: transparent;
  --color-background-button-secondary-active: transparent;
  --color-border-button-secondary: var(--white);
  --color-border-button-secondary-active: var(--white-dark);
  --color-border-button-secondary-focus: var(--coderdojo-focus-green);
  --color-text-button-secondary: var(--white);
  --color-text-button-secondary-active: var(--white-dark);
  --secondary-offset-width: var(--border-width-medium);
  background-clip: padding-box;
}
.cd-ui-button--secondary, .cd-ui-button--secondary-inverted {
  outline-offset: -0.1rem;
  /* Provide a fallback style for browsers that don't support :focus-visible */
  --background-color: var(--color-background);
  --border-color: var(--color-border);
  --border-width: var(--border-width-button);
  --color: var(--color-text);
  --font-weight: var(--font-weight-medium);
  --line-height: var(--line-height-cosy);
  --padding-block: var(--spacing-1);
  --padding-inline: var(--spacing-4);
  --pointer-events: auto;
  --transition-duration: var(--transition-duration-promptly);
  --transition-timing-function: var(--transition-timing-eased),
    var(--transition-timing-eased), var(--transition-timing-elastic);
  --width: 100%;
  background-color: var(--background-color);
  border-color: var(--border-color);
  border-radius: 0.5rem;
  border-style: solid;
  border-width: var(--border-width);
  color: var(--color);
  display: inline-block;
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  padding-block: var(--padding-block);
  padding-inline: var(--padding-inline);
  pointer-events: var(--pointer-events);
  text-align: center;
  transition-duration: var(--transition-duration);
  transition-property: background-color, color, outline-offset;
  transition-timing-function: var(--transition-timing-function);
  width: var(--width);
  --color-background: var(--color-background-button-secondary);
  --color-border: var(--color-border-button-secondary);
  --color-text: var(--color-text-button-secondary);
  --color-background-active: var(--color-background-button-secondary-active);
  --color-border-active: var(--color-border-button-secondary-active);
  --color-text-active: var(--color-text-button-secondary-active);
}
.cd-ui-button--secondary:focus, .cd-ui-button--secondary-inverted:focus {
  outline-color: var(--color-outline-primary);
  outline-offset: 0;
  outline-style: solid;
  outline-width: var(--border-width-narrow);
  /* Remove the focus indicator on mouse-focus for browsers that do support :focus-visible */
  /* Draw a very noticeable focus style for keyboard-focus on browsers that do support :focus-visible */
}
.cd-ui-button--secondary:focus:not(:focus-visible), .cd-ui-button--secondary-inverted:focus:not(:focus-visible) {
  outline-color: transparent;
}
.cd-ui-button--secondary:focus:focus-visible, .cd-ui-button--secondary-inverted:focus:focus-visible {
  outline-offset: var(--border-width-medium);
  outline-width: var(--border-width-medium);
}
.cd-ui-button--secondary:any-link, .cd-ui-button--secondary-inverted:any-link {
  --background-color: var(--color-background);
  --border-color: var(--color-border);
  --color: var(--color-text);
  text-decoration: none;
}
.cd-ui-button--secondary:where(:focus, :hover, :active), .cd-ui-button--secondary-inverted:where(:focus, :hover, :active) {
  --background-color: var(--color-background-active);
  --border-color: var(--color-border-active);
  --color: var(--color-text-active);
}
@media only all and (min-width: 600px) {
  .cd-ui-button--secondary, .cd-ui-button--secondary-inverted {
    --width: auto;
  }
}
.cd-ui-button--secondary:disabled, .cd-ui-button--secondary[disabled], .cd-ui-button--secondary-inverted:disabled, .cd-ui-button--secondary-inverted[disabled] {
  --color-background: var(--color-background-button-disabled);
  --color-border: var(--color-border-button-disabled);
  --color-text: var(--color-text-disabled);
  --color-background-active: var(--color-background-button-disabled);
  --color-border-active: var(--color-border-button-disabled-active);
  --color-text-active: var(--color-text-disabled-active);
  --pointer-events: none;
}
.cd-ui-button--small {
  --padding-inline: var(--spacing-2);
}
.cd-ui-button--link {
  background: transparent;
  border: none;
}

.button, .cd-ui-button {
  --padding-inline: var(--spacing-2);
  --line-height: var(--line-height-regular);
  box-sizing: border-box;
  cursor: pointer;
  font-family: var(--font-family-sans-serif);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  height: auto;
  min-height: 3rem;
}
@media only all and (min-width: 37.5em) {
  .button, .cd-ui-button {
    max-width: 50ch;
  }
}

.button-properties, .cd-ui-button, .cd-ui-button:any-link {
  --background-color: var(--color-background-button-primary);
  --border-color: var(--color-border-button-primary);
  --color: var(--color-text-button-primary);
}

.button-properties--active, .cd-ui-button:where(:active), .cd-ui-button:any-link:where(:active) {
  --background-color: var(--color-background-button-primary-active);
  --border-color: var(--color-border-button-primary-active);
}

.button-properties--focus, .cd-ui-button:where(:focus), .cd-ui-button:where(:focus-visible), .cd-ui-button:any-link:where(:focus), .cd-ui-button:any-link:where(:focus-visible) {
  --border-color: var(--color-border-button-primary-focus);
  outline: 5px solid var(--color-border-button-primary-focus);
  outline-offset: var(--primary-offset-width) !important;
}

.button-properties--hover, .cd-ui-button:where(:hover), .cd-ui-button:any-link:where(:hover) {
  --background-color: var(--color-background-button-primary-hover);
  --border-color: var(--color-border-button-primary-hover);
  --color: var(--color-text-button-primary-active);
}

.button-properties-secondary, .cd-ui-button--secondary, .cd-ui-button--secondary-inverted, .cd-ui-button--secondary:any-link, .cd-ui-button--secondary-inverted:any-link {
  --background-color: var(--color-background-button-secondary);
  --border-color: var(--color-border-button-secondary);
  --color: var(--color-text-button-secondary);
}

.button-properties-secondary--active, .cd-ui-button--secondary:where(:active), .cd-ui-button--secondary-inverted:where(:active), .cd-ui-button--secondary:any-link:where(:active), .cd-ui-button--secondary-inverted:any-link:where(:active) {
  --background-color: var(--color-background-button-secondary);
  --border-color: var(--color-border-button-secondary);
  opacity: 0.8;
}

.button-properties-secondary--focus, .cd-ui-button--secondary:where(:focus), .cd-ui-button--secondary:where(:focus-visible), .cd-ui-button--secondary-inverted:where(:focus), .cd-ui-button--secondary-inverted:where(:focus-visible), .cd-ui-button--secondary:any-link:where(:focus), .cd-ui-button--secondary:any-link:where(:focus-visible), .cd-ui-button--secondary-inverted:any-link:where(:focus), .cd-ui-button--secondary-inverted:any-link:where(:focus-visible) {
  --border-color: var(--color-border-button-secondary-focus);
  outline: 5px solid var(--color-border-button-secondary-focus);
  outline-offset: var(--secondary-offset-width) !important;
}

.button-properties-secondary--hover, .cd-ui-button--secondary:where(:focus), .cd-ui-button--secondary:where(:focus-visible), .cd-ui-button--secondary-inverted:where(:focus), .cd-ui-button--secondary-inverted:where(:focus-visible), .cd-ui-button--secondary:where(:hover), .cd-ui-button--secondary-inverted:where(:hover), .cd-ui-button--secondary:any-link:where(:focus), .cd-ui-button--secondary:any-link:where(:focus-visible), .cd-ui-button--secondary-inverted:any-link:where(:focus), .cd-ui-button--secondary-inverted:any-link:where(:focus-visible), .cd-ui-button--secondary:any-link:where(:hover), .cd-ui-button--secondary-inverted:any-link:where(:hover) {
  --background-color: var(--color-background-button-secondary-active);
  --border-color: var(--color-border-button-secondary-active);
  --color: var(--color-text-button-secondary-active);
}

.full-width-button {
  max-width: 100%;
  width: 100%;
}

.cd-ui-button-collection {
  display: flex;
  flex-direction: column;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-button-collection {
    flex-direction: row;
  }
}
.cd-ui-button-collection > :nth-of-type(1n+0) {
  margin-block-end: var(--spacing-1);
}
@media only all and (min-width: 37.5em) {
  .cd-ui-button-collection > :nth-of-type(1n+0) {
    margin-block-end: 0;
    margin-inline-end: var(--spacing-1);
  }
}
.cd-ui-button-collection > :nth-of-type(2) {
  align-items: center;
  display: flex;
  justify-content: center;
}
.cd-ui-button-collection > :only-child {
  margin-block-end: 0;
  margin-inline-end: 0;
}

.cd-ui-call-to-action {
  display: flex;
  flex-direction: column;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-call-to-action {
    flex-direction: row;
  }
}
.cd-ui-call-to-action__link {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-call-to-action__link {
    flex-direction: row;
  }
}
.cd-ui-call-to-action__link h2 {
  flex: 1;
  padding: var(--spacing-3) 0;
  text-align: center;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-call-to-action__link h2 {
    padding: 0 var(--spacing-6) 0 var(--spacing-3);
    text-align: start;
  }
}
.cd-ui-call-to-action__icon {
  height: 5rem;
  width: 4.2rem;
}
*[dir=rtl] .cd-ui-call-to-action__icon {
  transform: scalex(-1);
}
.cd-ui-call-to-action__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.cd-ui-call-to-action__shadow--true {
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
}
.cd-ui-call-to-action picture {
  border-radius: var(--border-radius);
  margin: 0 auto;
  max-width: 12.5rem;
  overflow: hidden;
  text-align: center;
}
.cd-ui-call-to-action--small {
  flex-direction: row;
  max-height: 3.125rem;
}
.cd-ui-call-to-action--small .cd-ui-call-to-action__link {
  flex-direction: row;
}
.cd-ui-call-to-action--small .cd-ui-call-to-action__link h2 {
  font-size: var(--font-size-u-1);
  padding: var(--spacing-1);
  text-align: start;
}
.cd-ui-call-to-action--small .cd-ui-call-to-action__link .cd-ui-call-to-action__icon {
  height: 1.2rem;
  width: 1.2rem;
}
.cd-ui-call-to-action--small picture {
  border-radius: 0.4rem;
  max-width: 3.9rem;
}

.cd-ui-card, .cd-ui-card--no-shadow, .cd-pages-dashboard__contentful-blocks .cd-ui-card, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow {
  background-color: var(--white);
  border-radius: var(--border-radius);
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
  overflow: hidden;
}
.cd-ui-card h2, .cd-ui-card--no-shadow h2, .cd-pages-dashboard__contentful-blocks .cd-ui-card h2, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow h2 {
  --font-size: var(--font-size-u-2);
}
@media only all and (min-width: 37.5em) {
  .cd-ui-card--horizontal, .cd-pages-dashboard__contentful-blocks .cd-ui-card, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow {
    align-content: start;
    display: grid;
    grid-template-columns: 3fr 4fr;
    grid-template-rows: min-content;
  }
  .cd-ui-card--horizontal h2, .cd-pages-dashboard__contentful-blocks .cd-ui-card h2, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow h2 {
    text-align: start;
  }
  .cd-ui-card--horizontal .cd-ui-card__figure, .cd-pages-dashboard__contentful-blocks .cd-ui-card .cd-ui-card__figure, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow .cd-ui-card__figure {
    height: 100%;
    min-height: 14.375rem;
  }
  .cd-ui-card--horizontal .cd-ui-card__image, .cd-pages-dashboard__contentful-blocks .cd-ui-card .cd-ui-card__image, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow .cd-ui-card__image {
    max-height: none;
  }
}
.cd-ui-card--no-shadow, .cd-pages-dashboard__contentful-blocks .cd-ui-card, .cd-pages-dashboard__contentful-blocks .cd-ui-card--no-shadow {
  box-shadow: none;
}
.cd-ui-card__figure {
  margin: 0;
  min-height: 11.9rem;
}
.cd-ui-card__image {
  height: 100%;
  max-height: 11.9rem;
  object-fit: cover;
  width: 100%;
}
.cd-ui-card__text-container {
  padding: var(--spacing-2);
}
.cd-ui-card__text p {
  margin: var(--spacing-2) 0;
}

h1, h2, h3, h4, h5, h6 {
  --color: var(--color-text-heading-base);
  --font-family: var(--font-family-heading);
  --font-size: var(--font-size-base);
  --font-weight: var(--font-weight-bold);
  --line-height: var(--line-height-regular);
  --margin-bottom: var(--spacing-1);
  --margin-top: var(--spacing-0);
  color: var(--color);
  font-family: var(--font-family);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  margin-block-end: var(--margin-bottom);
  margin-block-start: var(--margin-top);
  --font-weight: var(--font-weight-black);
}

h1 {
  --color: var(--color-text-heading-hero);
  --font-size: var(--font-size-u-6);
  --line-height: var(--line-height-cosy);
  --margin-bottom: var(--spacing-2);
  --font-size: var(--font-size-u-5);
  --line-height: var(--line-height-regular);
}

h2 {
  --font-size: var(--font-size-u-3);
  --line-height: var(--line-height-cosy);
  --font-size: var(--font-size-u-4);
}

h3 {
  --font-size: var(--font-size-u-2);
  --margin-bottom: var(--spacing-2);
  --font-size: var(--font-size-u-2);
}

h4 {
  --font-family: var(--font-family-sans-serif);
  --font-size: var(--font-size-u-1);
}

p {
  margin: var(--spacing-3) 0;
}

a {
  color: var(--white);
  cursor: pointer;
  font-weight: var(--font-weight-bold);
}
a.light-bg__link, .cd-background--green-20-white a:not(.cd-ui-button), .cd-background--green-60-white a:not(.cd-ui-button), .cd-background--green-90-white a:not(.cd-ui-button), .cd-background--green-95-white a:not(.cd-ui-button), .cd-background--orange-95-white a:not(.cd-ui-button), .cd-background--white a:not(.cd-ui-button), .cd-ui-heading a:not(.cd-ui-button) {
  color: var(--coderdojo-black);
}
a.light-bg__link:hover, .cd-background--green-20-white a:hover:not(.cd-ui-button), .cd-background--green-60-white a:hover:not(.cd-ui-button), .cd-background--green-90-white a:hover:not(.cd-ui-button), .cd-background--green-95-white a:hover:not(.cd-ui-button), .cd-background--orange-95-white a:hover:not(.cd-ui-button), .cd-background--white a:hover:not(.cd-ui-button), .cd-ui-heading a:hover:not(.cd-ui-button), a.light-bg__link:focus, .cd-background--green-20-white a:focus:not(.cd-ui-button), .cd-background--green-60-white a:focus:not(.cd-ui-button), .cd-background--green-90-white a:focus:not(.cd-ui-button), .cd-background--green-95-white a:focus:not(.cd-ui-button), .cd-background--orange-95-white a:focus:not(.cd-ui-button), .cd-background--white a:focus:not(.cd-ui-button), .cd-ui-heading a:focus:not(.cd-ui-button) {
  color: var(--coderdojo-purple);
}

.markdown blockquote, .cd-background--green-20-white blockquote, .cd-background--green-60-white blockquote, .cd-background--green-90-white blockquote, .cd-background--green-95-white blockquote, .cd-background--orange-95-white blockquote, .cd-background--white blockquote, .cd-ui-heading blockquote, .cd-ui-markdown blockquote, .markdown--inverse blockquote, .cd-background--coderdojo-green blockquote, .cd-background--coderdojo-orange blockquote, .cd-background--coderdojo-purple blockquote, .cd-background--green-40-black blockquote, .cd-ui-header blockquote {
  border-inline-start: 4px solid var(--coderdojo-purple);
  margin: 0;
  margin-block-end: var(--spacing-3);
  padding: var(--spacing-2);
}
.markdown blockquote > p, .cd-background--green-20-white blockquote > p, .cd-background--green-60-white blockquote > p, .cd-background--green-90-white blockquote > p, .cd-background--green-95-white blockquote > p, .cd-background--orange-95-white blockquote > p, .cd-background--white blockquote > p, .cd-ui-heading blockquote > p, .cd-ui-markdown blockquote > p, .markdown--inverse blockquote > p, .cd-background--coderdojo-green blockquote > p, .cd-background--coderdojo-orange blockquote > p, .cd-background--coderdojo-purple blockquote > p, .cd-background--green-40-black blockquote > p, .cd-ui-header blockquote > p {
  margin: 0;
}
.markdown code, .cd-background--green-20-white code, .cd-background--green-60-white code, .cd-background--green-90-white code, .cd-background--green-95-white code, .cd-background--orange-95-white code, .cd-background--white code, .cd-ui-heading code, .cd-ui-markdown code, .markdown--inverse code, .cd-background--coderdojo-green code, .cd-background--coderdojo-orange code, .cd-background--coderdojo-purple code, .cd-background--green-40-black code, .cd-ui-header code {
  background: var(--light-grey);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  display: block;
  margin: var(--spacing-2) 0;
  padding: var(--spacing-2);
  width: 100%;
}
.markdown hr, .cd-background--green-20-white hr, .cd-background--green-60-white hr, .cd-background--green-90-white hr, .cd-background--green-95-white hr, .cd-background--orange-95-white hr, .cd-background--white hr, .cd-ui-heading hr, .cd-ui-markdown hr, .markdown--inverse hr, .cd-background--coderdojo-green hr, .cd-background--coderdojo-orange hr, .cd-background--coderdojo-purple hr, .cd-background--green-40-black hr, .cd-ui-header hr {
  border: 0;
  border-block-start: 1px solid var(--form-grey);
  height: 0;
}
.markdown ol, .cd-background--green-20-white ol, .cd-background--green-60-white ol, .cd-background--green-90-white ol, .cd-background--green-95-white ol, .cd-background--orange-95-white ol, .cd-background--white ol, .cd-ui-heading ol, .cd-ui-markdown ol, .markdown--inverse ol, .cd-background--coderdojo-green ol, .cd-background--coderdojo-orange ol, .cd-background--coderdojo-purple ol, .cd-background--green-40-black ol, .cd-ui-header ol, .markdown ul, .cd-background--green-20-white ul, .cd-background--green-60-white ul, .cd-background--green-90-white ul, .cd-background--green-95-white ul, .cd-background--orange-95-white ul, .cd-background--white ul, .cd-ui-heading ul, .cd-ui-markdown ul, .markdown--inverse ul, .cd-background--coderdojo-green ul, .cd-background--coderdojo-orange ul, .cd-background--coderdojo-purple ul, .cd-background--green-40-black ul, .cd-ui-header ul {
  margin-block-end: var(--spacing-3);
}
.markdown ol, .cd-background--green-20-white ol, .cd-background--green-60-white ol, .cd-background--green-90-white ol, .cd-background--green-95-white ol, .cd-background--orange-95-white ol, .cd-background--white ol, .cd-ui-heading ol, .cd-ui-markdown ol, .markdown--inverse ol, .cd-background--coderdojo-green ol, .cd-background--coderdojo-orange ol, .cd-background--coderdojo-purple ol, .cd-background--green-40-black ol, .cd-ui-header ol {
  list-style: none;
  padding-inline-start: 1rem;
}
.markdown ol li::before, .cd-background--green-20-white ol li::before, .cd-background--green-60-white ol li::before, .cd-background--green-90-white ol li::before, .cd-background--green-95-white ol li::before, .cd-background--orange-95-white ol li::before, .cd-background--white ol li::before, .cd-ui-heading ol li::before, .cd-ui-markdown ol li::before, .markdown--inverse ol li::before, .cd-background--coderdojo-green ol li::before, .cd-background--coderdojo-orange ol li::before, .cd-background--coderdojo-purple ol li::before, .cd-background--green-40-black ol li::before, .cd-ui-header ol li::before {
  content: counter(list-item) ".";
  margin-inline-end: calc(var(--spacing-1) * 0.5);
  margin-inline-start: -1rem;
}
.markdown ul, .cd-background--green-20-white ul, .cd-background--green-60-white ul, .cd-background--green-90-white ul, .cd-background--green-95-white ul, .cd-background--orange-95-white ul, .cd-background--white ul, .cd-ui-heading ul, .cd-ui-markdown ul, .markdown--inverse ul, .cd-background--coderdojo-green ul, .cd-background--coderdojo-orange ul, .cd-background--coderdojo-purple ul, .cd-background--green-40-black ul, .cd-ui-header ul {
  list-style-position: outside;
  margin-inline-start: 1.1rem;
  padding-inline-start: 0;
}
.markdown p + ul, .cd-background--green-20-white p + ul, .cd-background--green-60-white p + ul, .cd-background--green-90-white p + ul, .cd-background--green-95-white p + ul, .cd-background--orange-95-white p + ul, .cd-background--white p + ul, .cd-ui-heading p + ul, .cd-ui-markdown p + ul, .markdown--inverse p + ul, .cd-background--coderdojo-green p + ul, .cd-background--coderdojo-orange p + ul, .cd-background--coderdojo-purple p + ul, .cd-background--green-40-black p + ul, .cd-ui-header p + ul, .markdown p + ol, .cd-background--green-20-white p + ol, .cd-background--green-60-white p + ol, .cd-background--green-90-white p + ol, .cd-background--green-95-white p + ol, .cd-background--orange-95-white p + ol, .cd-background--white p + ol, .cd-ui-heading p + ol, .cd-ui-markdown p + ol, .markdown--inverse p + ol, .cd-background--coderdojo-green p + ol, .cd-background--coderdojo-orange p + ol, .cd-background--coderdojo-purple p + ol, .cd-background--green-40-black p + ol, .cd-ui-header p + ol {
  margin-block-start: calc(var(--spacing-2) * -1);
}
.markdown--inverse blockquote, .cd-background--coderdojo-green blockquote, .cd-background--coderdojo-orange blockquote, .cd-background--coderdojo-purple blockquote, .cd-background--green-40-black blockquote, .cd-ui-header blockquote {
  border-inline-start: 4px solid var(--white);
}

.cd-ui-card-collection {
  padding-block: var(--spacing-5);
}
.cd-ui-card-collection__columns--1 {
  display: grid;
  grid-gap: var(--spacing-2);
  grid-template-columns: 1fr;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--1 {
    grid-gap: var(--spacing-2);
  }
}
@media only all and (min-width: calc(53rem + 50px)) {
  .cd-ui-card-collection__columns--1 {
    grid-template-columns: repeat(auto-fit, minmax(53rem, 1fr));
  }
}
.cd-ui-card-collection__columns--2 {
  display: grid;
  grid-gap: var(--spacing-2);
  grid-template-columns: 1fr;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--2 {
    grid-gap: var(--spacing-5);
  }
}
@media only all and (min-width: calc(20rem + 50px)) {
  .cd-ui-card-collection__columns--2 {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  }
}
@media only all and (min-width: 74em) {
  .cd-ui-card-collection__columns--2 {
    display: grid;
    grid-gap: var(--spacing-2);
    grid-template-columns: 1fr;
  }
}
@media only all and (min-width: 74em) and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--2 {
    grid-gap: var(--spacing-6);
  }
}
@media only all and (min-width: 74em) and (min-width: calc(31rem + 50px)) {
  .cd-ui-card-collection__columns--2 {
    grid-template-columns: repeat(auto-fit, minmax(31rem, 1fr));
  }
}
.cd-ui-card-collection__columns--3 {
  display: grid;
  grid-gap: var(--spacing-2);
  grid-template-columns: 1fr;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--3 {
    grid-gap: var(--spacing-2);
  }
}
@media only all and (min-width: calc(20rem + 50px)) {
  .cd-ui-card-collection__columns--3 {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  }
}
@media only all and (min-width: 75em) {
  .cd-ui-card-collection__columns--3 {
    display: grid;
    grid-gap: var(--spacing-2);
    grid-template-columns: 1fr;
  }
}
@media only all and (min-width: 75em) and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--3 {
    grid-gap: var(--spacing-3);
  }
}
@media only all and (min-width: 75em) and (min-width: calc(20.5rem + 50px)) {
  .cd-ui-card-collection__columns--3 {
    grid-template-columns: repeat(auto-fit, minmax(20.5rem, 1fr));
  }
}
.cd-ui-card-collection__columns--4 {
  display: grid;
  grid-gap: var(--spacing-2);
  grid-template-columns: 1fr;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-card-collection__columns--4 {
    grid-gap: var(--spacing-2);
  }
}
@media only all and (min-width: calc(15.6rem + 50px)) {
  .cd-ui-card-collection__columns--4 {
    grid-template-columns: repeat(auto-fit, minmax(15.6rem, 1fr));
  }
}
@media only all and (min-width: 37.2em) {
  .cd-ui-card-collection__columns--4 {
    grid-row-gap: var(--spacing-6);
  }
}

.cd-ui-collapsible-card {
  background-color: white;
  border-radius: 0.5rem;
  max-width: 43.75rem;
  padding: var(--spacing-2);
}
.cd-ui-collapsible-card h2 {
  --font-size: var(--font-size-u-2);
  --margin-bottom: var(--spacing-2);
}
@media only all and (max-width: 37.5em) {
  .cd-ui-collapsible-card--closed {
    display: none;
  }
}
@media only all and (min-width: 50em) {
  .cd-ui-collapsible-card {
    grid-column: 1/2;
  }
}
.cd-ui-collapsible-card__title-bar {
  align-content: center;
  display: flex;
  justify-content: space-between;
}
.cd-ui-collapsible-card__title-bar > * {
  margin-block: 0;
}
.cd-ui-collapsible-card__content > * {
  margin-block-start: var(--spacing-2);
}
.cd-ui-collapsible-card__content .cd-ui-markdown > * {
  margin-block: var(--spacing-2);
  -ms-word-break: break-word;
  word-break: break-word;
}

.cd-ui-confirmation-card, .cd-ui-confirmation-card--no-shadow {
  background-color: var(--white);
  border-radius: var(--border-radius);
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
  display: flex;
  height: 100%;
  padding: var(--spacing-2);
}
.cd-ui-confirmation-card--no-shadow {
  box-shadow: none;
}
.cd-ui-confirmation-card__container {
  flex-direction: column;
  overflow: hidden;
}
.cd-ui-confirmation-card__title-container {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  gap: var(--spacing-1);
  margin-block-end: var(--spacing-2);
  padding: 0;
}
.cd-ui-confirmation-card__title-container img {
  height: 1.8rem;
}
.cd-ui-confirmation-card__title-container h2 {
  --font-size: var(--font-size-u-2);
  --margin-bottom: var(--spacing-2);
  margin: 0;
}
.cd-ui-confirmation-card__text-container {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.cd-ui-confirmation-card__text {
  flex-grow: 1;
}
.cd-ui-confirmation-card__text p {
  margin: 0;
}

.cd-ui-contact-form {
  background-color: var(--white);
}
.cd-ui-contact-form__image {
  display: none;
}
@media only all and (min-width: 56.25em) {
  .cd-ui-contact-form__container {
    display: grid;
    grid-gap: 4rem;
    grid-template-columns: minmax(21.9rem, 33.25rem) minmax(15.63rem, 27.63rem);
  }
  .cd-ui-contact-form__image {
    border-radius: 1rem;
    display: block;
    max-width: 100%;
  }
}
.cd-ui-contact-form h2, .cd-ui-contact-form p, .cd-ui-contact-form label, .cd-ui-contact-form a {
  color: var(--coderdojo-black);
}
.cd-ui-contact-form__form-body {
  display: flex;
  flex-direction: column;
}
.cd-ui-contact-form__label {
  margin-block: var(--spacing-2) var(--spacing-1);
}
.cd-ui-contact-form__label--message {
  grid-column: 1/-1;
  margin-block: var(--spacing-2) 0;
}
.cd-ui-contact-form__label--nomargin {
  margin: 0;
}
.cd-ui-contact-form__turnstile {
  margin-block: var(--spacing-2) var(--spacing-1);
}
.cd-ui-contact-form__subject {
  appearance: none;
  background: var(--white) url(/assets/select-arrow-9d20b0220b0459ed82fdcba268d1995e3bffca6db01829d11be92fc84313e693.svg) no-repeat center right;
  background-size: 1.5rem;
  border: var(--border-width-narrow) solid var(--form-grey);
  border-radius: 0.1rem;
  color: var(--black);
  display: none;
  font-size: inherit;
  padding: var(--spacing-1);
}
*[dir=rtl] .cd-ui-contact-form__subject {
  background-position: center left;
}
.cd-ui-contact-form__info {
  display: none;
  grid-column: 1/-1;
  margin-block: 0;
}
.cd-ui-contact-form__info p {
  margin-block: 0;
}
.cd-ui-contact-form__info p:nth-child(2) {
  margin-block-start: var(--spacing-1);
}
.cd-ui-contact-form__button {
  margin-block-start: var(--spacing-2);
  max-width: fit-content;
}
.cd-ui-contact-form__subcontainer {
  align-items: center;
  display: grid;
  grid-column-gap: var(--spacing-2);
  grid-row-gap: var(--spacing-1);
  grid-template-columns: min-content 1fr;
}
.cd-ui-contact-form__radio {
  accent-color: var(--purple-20-white);
  height: var(--spacing-2);
  margin: 0;
  width: var(--spacing-2);
}
.cd-ui-contact-form__radio--fad:checked ~ .cd-ui-contact__form__info--fad {
  display: block;
}
.cd-ui-contact-form__radio--sad:checked ~ .cd-ui-contact__form__info--sad {
  display: block;
}
.cd-ui-contact-form__radio--volunteer:checked ~ .cd-ui-contact__form__info--volunteer {
  display: block;
}
.cd-ui-contact-form__radio--partnerships:checked ~ .cd-ui-contact__form__info--partnerships {
  display: block;
}
.cd-ui-contact-form__radio--growthpartner:checked ~ .cd-ui-contact__form__info--growthpartner {
  display: block;
}
.cd-ui-contact-form__radio--events:checked ~ .cd-ui-contact__form__info--events {
  display: block;
}
.cd-ui-contact-form__radio--press:checked ~ .cd-ui-contact__form__info--press {
  display: block;
}
.cd-ui-contact-form__remaining-characters {
  font-size: var(--font-size-d-1);
  margin: 0;
  text-align: end;
}

.cd-ui-container-card__heading {
  align-items: start;
  border-radius: 0.4rem 0.4rem 0 0;
  display: flex;
  flex-direction: column;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-container-card__heading {
    flex-direction: row;
  }
}
.cd-ui-container-card__heading h3 {
  font-size: var(--font-size-u-1);
  margin: 0 0 0 var(--spacing-2);
  padding-block: 0 var(--spacing-2);
}
@media only all and (min-width: 37.5em) {
  .cd-ui-container-card__heading h3 {
    margin: 0;
    padding-block: var(--spacing-2) var(--spacing-2);
  }
}
.cd-ui-container-card__heading h3:first-child {
  margin-inline-start: var(--spacing-2);
}
.cd-ui-container-card__back-button {
  align-content: center;
  display: flex;
  padding-block: calc(var(--spacing-2) + 0.16rem) 0;
  padding-inline: var(--spacing-2) var(--spacing-1);
  text-decoration: none;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-container-card__back-button {
    padding-block: calc(var(--spacing-2) + 0.16rem) var(--spacing-2);
  }
}
.cd-ui-container-card__back-button img {
  width: 1.5rem;
}
.cd-ui-container-card__back-button span {
  color: var(--coderdojo-purple);
  font-weight: 900;
  margin-inline-start: var(--spacing-1);
}
.cd-ui-container-card__content {
  background-color: white;
  border-radius: 0 0 0.4rem 0.4rem;
  padding: var(--spacing-2);
}
.cd-ui-container-card__content > * {
  margin: 0 auto;
  max-width: none;
  width: 100%;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-container-card__content {
    padding: var(--spacing-4);
  }
}

.cd-ui-details__content {
  background-color: var(--purple-95-white);
  padding: var(--spacing-1);
}
.cd-ui-details__content > *,
.cd-ui-details__content .cd-ui-markdown > * {
  margin-block: var(--spacing-1);
}
.cd-ui-details__title {
  align-items: center;
  background-color: var(--purple-90-white);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0.3rem var(--spacing-1);
}
.cd-ui-details__title h4 {
  font-size: 1rem;
  margin: 0;
}
.cd-ui-details__title::-webkit-details-marker {
  display: none;
}
.cd-ui-details__title::after {
  content: url(/assets/down-chevron-212a4aa4758febee547bc7ee89cdb3cd2fe53a900af768e25d59e394b55653e6.svg);
  margin-inline-end: -0.5rem;
  transform: scale(0.5);
  transition: all 0.4s;
}
.cd-ui-details[open] .cd-ui-details__title:after {
  transform: translateY(-0.25rem) rotate(180deg) scale(0.5);
}

.cd-ui-errors {
  align-items: center;
  background: var(--banner-red);
  border: var(--border-width-narrow) solid var(--error-red);
  border-radius: var(--border-radius-small);
  color: var(--error-red);
  display: flex;
  font-weight: var(--font-weight-bold);
  margin-block-end: var(--spacing-2);
  padding: var(--spacing-1);
}
.cd-ui-errors img {
  height: 100%;
  padding-inline-end: var(--spacing-1);
}

.cd-ui-event-card {
  align-items: start;
  background-color: white;
  /* stylelint-disable-next-line property-no-unknown */
  container-type: inline-size;
  display: grid;
  grid-column-gap: var(--spacing-1);
  grid-template-columns: 1fr max-content;
  justify-content: space-between;
  outline: solid 2px var(--purple-60-white);
  padding: var(--spacing-2);
}
.cd-ui-event-card:first-of-type {
  border-radius: 0.5rem 0.5rem 0 0;
}
.cd-ui-event-card:last-of-type {
  border-radius: 0 0 0.5rem 0.5rem;
}
.cd-ui-event-card:only-of-type {
  border-radius: 0.5rem;
}
.cd-ui-event-card .cd-ui-details {
  grid-column: 1/3;
  grid-row: 3/4;
}
.cd-ui-event-card .cd-ui-button {
  grid-column: 1/2;
  grid-row: 2/3;
  margin: var(--spacing-1) 0 var(--spacing-2) 0;
  width: max-content;
}

/* stylelint-disable scss/at-rule-no-unknown */
@container (width > 23.75rem) {
  .cd-ui-event-card .cd-ui-button {
    grid-column: 2/3;
    grid-row: 1/2;
    margin: 0;
  }
}
/* stylelint-enable scss/at-rule-no-unknown */
.cd-ui-fad {
  background: var(--white);
  border-radius: 0.5rem;
  box-sizing: border-box;
  max-width: 26.88rem;
  padding: var(--spacing-2);
  width: 100%;
}
.cd-ui-fad__form {
  display: flex;
  flex-direction: column;
  margin-block-start: 2rem;
}
.cd-ui-fad__form__detect, .cd-ui-fad__form__fieldset {
  margin-block-end: var(--spacing-2);
}
.cd-ui-fad__form__detect {
  visibility: hidden;
}
.cd-ui-fad__form__detect--supported {
  visibility: initial;
}
.cd-ui-fad__form__set-distance {
  display: grid;
  grid-column-gap: 0.5rem;
  grid-template-columns: 2fr 1fr;
  margin-block-end: var(--spacing-3);
}
@media only all and (max-width: 21.88em) {
  .cd-ui-fad__form__set-distance {
    display: block;
  }
  .cd-ui-fad__form__set-distance #distance {
    margin-block-end: var(--spacing-2);
  }
}
.cd-ui-fad__form__set-distance__label {
  grid-row: 1;
}

.cd-footer {
  background-color: var(--coderdojo-black);
}
.cd-footer__container {
  display: grid;
  grid-gap: 2rem;
}
@media only all and (min-width: 50em) {
  .cd-footer__container {
    grid-gap: 1rem;
    grid-template-rows: 2rem 5rem 5rem min-content;
  }
}
@media only all and (min-width: 62.5em) {
  .cd-footer__container {
    grid-template-columns: minmax(auto, 50rem);
    grid-template-rows: 2rem 5rem 5rem min-content;
  }
}
.cd-footer__links {
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}
@media only all and (min-width: 50em) {
  .cd-footer__links {
    grid-column: 1;
    grid-row: 1/2;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    max-width: 20rem;
  }
}
@media only all and (min-width: 62.5em) {
  .cd-footer__links {
    max-width: 37.5em;
  }
}
.cd-footer__links > * {
  font-weight: var(--font-weight-regular);
  padding: 0.5rem 0;
  text-decoration: none;
}
.cd-footer__link:hover {
  font-weight: var(--font-weight-bold);
  text-decoration: underline;
}
.cd-footer__foundation-details {
  color: var(--white);
  font-size: var(--font-size-d-1);
  margin: 0;
  opacity: 0.61;
  text-align: center;
}
@media only all and (min-width: 50em) {
  .cd-footer__foundation-details {
    align-self: end;
    grid-column: 1/3;
    grid-row: 4/5;
    padding: 0;
    text-align: start;
  }
}
@media only all and (min-width: 62.5em) {
  .cd-footer__foundation-details {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.cd-footer__logos {
  border: 1px solid var(--white);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  color: var(--white);
  height: auto;
  margin: 0 auto;
  max-width: 18.125rem;
  padding: var(--spacing-2);
}
@media only all and (min-width: 50em) {
  .cd-footer__logos {
    box-sizing: content-box;
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 2/4;
    justify-content: center;
  }
}
.cd-footer__logos__container {
  display: flex;
}
.cd-footer__logos img {
  flex: 1;
  max-height: 3.75rem;
}
.cd-footer__logos__find-out-more {
  font-size: var(--font-size-d-1);
  margin-block-end: 0;
  padding: 0;
  text-align: center;
}
.cd-footer__logos__find-out-more a {
  font-weight: var(--font-weight-regular);
}
.cd-footer__logos__find-out-more a:hover {
  font-weight: var(--font-weight-bold);
}
.cd-footer__social {
  display: flex;
  justify-content: space-evenly;
  margin: 0 auto;
  max-width: 18rem;
  width: 100%;
}
.cd-footer__social__link img {
  height: 100%;
}
.cd-footer__social__link img:hover {
  transform: scale(1.2);
}
@media only all and (min-width: 50em) {
  .cd-footer__social {
    grid-column: 2;
    grid-row: 1;
  }
}

.cd-ui-form-element {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  height: 4.8rem;
  padding: 0;
  width: 27.625rem;
}
.cd-ui-form-element__label {
  color: var(--coderdojo-black);
  font-weight: var(--font-weight-bold);
  margin-block-start: var(--spacing-1);
}
.cd-ui-form-element__label--disabled {
  color: var(--form-grey);
}
.cd-ui-form-element__label--error {
  color: var(--form-error-dark-red);
}
.cd-ui-form-element__text-input {
  background: var(--white);
  border: var(--border-width-regular) solid var(--form-grey);
  border-radius: 3px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  font-weight: var(--font-weight);
  height: 2.8rem;
  outline: none;
  padding: var(--spacing-1) var(--spacing-2);
  width: 27.625rem;
}
.cd-ui-form-element__text-input:focus {
  border-color: var(--coderdojo-purple);
}
.cd-ui-form-element__text-input:disabled {
  border: var(--border-width-regular) solid var(--light-grey);
  color: var(--form-grey);
}
.cd-ui-form-element__text-input[readonly] {
  background: var(--light-grey);
  border: var(--border-width-regular) solid var(--light-grey);
}
.cd-ui-form-element__text-input[error] {
  border: var(--border-width-regular) solid var(--form-error-red);
}
.cd-ui-form-element input:-webkit-autofill,
.cd-ui-form-element input:-webkit-autofill:hover,
.cd-ui-form-element input:-webkit-autofill:focus {
  border: none;
  -webkit-box-shadow: 0 0 0px 62.5rem var(--white) inset;
  box-shadow: 0 0 0px 62.5rem var(--white) inset;
  -webkit-text-fill-color: var(--coderdojo-black);
  transition: background-color 5000s ease-in-out 0s;
}

.cd-ui-header {
  background-color: var(--white);
  display: flex;
  position: relative;
  background-color: var(--purple-20-white);
}
.cd-ui-header h1, .cd-ui-header h2, .cd-ui-header h3, .cd-ui-header h4, .cd-ui-header h5, .cd-ui-header h6, .cd-ui-header li, .cd-ui-header p {
  color: var(--white);
}
.cd-ui-header .cd-ui-button--primary-inverted {
  --color-text-button-primary: var(--purple-20-white);
  --color-text-button-primary-active: var(--purple-20-white);
}
.cd-ui-header + .cd-background--purple-20-white .cd-l-container {
  padding-block-start: 0;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header {
    box-shadow: 0 0 0.5rem -4px #888;
  }
}
.cd-ui-header::before {
  background: var(--white);
  content: "";
  inset: 0;
  position: absolute;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header::before {
    inset-inline-end: 50%;
  }
}
.cd-ui-header__container {
  align-items: center;
  display: grid;
  grid-row: 2;
  grid-template-columns: 1fr min-content;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__container {
    display: flex;
    flex-direction: row;
  }
}
.cd-ui-header__logo {
  background-color: var(--white);
  display: flex;
  padding: var(--spacing-1) 0;
  position: relative;
}
.cd-ui-header__logo__main {
  height: 2.5rem;
  position: relative;
}
.cd-ui-header__nav {
  background-color: var(--purple-20-white);
  grid-column: 1/-1;
  grid-row: 2;
  margin-inline-end: calc(var(--center-gutter) * -1);
  margin-inline-start: calc(var(--center-gutter) * -1);
  padding: var(--center-gutter);
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__nav {
    align-items: center;
    display: flex;
    justify-content: start;
    margin-inline-end: 0;
    margin-inline-start: var(--spacing-2);
    padding: var(--spacing-2);
    padding-inline-end: 0;
    position: relative;
    width: 100%;
  }
  .cd-ui-header__nav::before {
    background-image: url(/assets/coderdojo-nav-light-bg-7b0520a0cd1e0076a3270b9a60b73402f32040a3b3dfd20ac68d0c375848773c.svg);
    background-repeat: no-repeat;
    content: "";
    inset-block: -1px 0;
    inset-inline-start: -1px;
    position: absolute;
    width: 3.625rem;
  }
  *[dir=rtl] .cd-ui-header__nav::before {
    transform: scalex(-1);
  }
}
.cd-ui-header__nav-button {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.625rem 0;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__nav-button {
    display: none;
  }
}
.cd-ui-header__nav-button span {
  background: var(--coderdojo-black);
  border-radius: var(--border-radius);
  display: block;
  height: 0.25rem;
  margin-block-start: 0.25rem;
  position: relative;
  width: 2.5rem;
}
.cd-ui-header__nav-button span::before, .cd-ui-header__nav-button span::after {
  background: var(--coderdojo-black);
  border-radius: var(--border-radius);
  content: "";
  height: 0.25rem;
  inset-inline-start: 0;
  position: absolute;
  transition: all 0.3s;
  width: 2.5rem;
}
.cd-ui-header__nav-button span::before {
  inset-block-start: -0.75rem;
}
.cd-ui-header__nav-button span::after {
  inset-block-start: 0.75rem;
}
.cd-ui-header__nav-button span.open {
  background: transparent;
}
.cd-ui-header__nav-button span.open::before, .cd-ui-header__nav-button span.open::after {
  inset-block-start: 0;
}
.cd-ui-header__nav-button span.open::before {
  transform: rotate(45deg);
}
.cd-ui-header__nav-button span.open::after {
  transform: rotate(-45deg);
}
@media only all and (prefers-reduced-motion: reduce) {
  .cd-ui-header__nav-button span {
    transition: none;
  }
  .cd-ui-header__nav-button span::before, .cd-ui-header__nav-button span::after {
    transition: none;
  }
}
.cd-ui-header__nav--closed {
  display: none;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__nav--closed {
    display: flex;
  }
}
.cd-ui-header__nav-language {
  align-items: center;
  background-color: var(--purple-95-white);
  background-image: url(/assets/globe-78dca4fdb683a92ef10f9943a3ef875c5537683a09512264fb676f2c704a5371.svg);
  background-position: var(--spacing-1) center;
  background-repeat: no-repeat;
  background-size: var(--spacing-2);
  border: var(--border-width-language-picker) solid var(--purple-95-white);
  border-radius: var(--border-radius-language-picker);
  color: var(--coderdojo-black);
  display: flex;
  max-width: calc(12rem - var(--spacing-1) - var(--spacing-4));
  padding: var(--spacing-1);
  padding-inline-start: var(--spacing-4);
  text-decoration: none;
}
*[dir=rtl] .cd-ui-header__nav-language {
  background-position: right var(--spacing-1) center;
}
.cd-ui-header__nav-language:hover, .cd-ui-header__nav-language:focus {
  text-decoration: underline;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__nav-language {
    margin-inline-start: auto;
    max-width: calc(7rem - var(--spacing-1) - var(--spacing-4));
  }
}
.cd-ui-header__nav-language-label {
  overflow: hidden;
  text-overflow: ellipsis;
}
.cd-ui-header__nav-link {
  display: block;
  padding: var(--spacing-2) var(--spacing-1);
  text-decoration: none;
  z-index: 1;
}
.cd-ui-header__nav-link:hover, .cd-ui-header__nav-link:focus {
  text-decoration: underline;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-header__nav-link {
    padding: 0 var(--spacing-1);
  }
}

.cd-ui-heading {
  background-color: var(--green-40-white);
}
.cd-ui-heading h1, .cd-ui-heading h2, .cd-ui-heading h3, .cd-ui-heading h4, .cd-ui-heading h5, .cd-ui-heading h6, .cd-ui-heading li, .cd-ui-heading p {
  color: var(--coderdojo-black);
}
.cd-ui-heading + .cd-background--green-40-white .cd-l-container {
  padding-block-start: 0;
}
.cd-ui-heading--green-inverted {
  background-color: var(--coderdojo-black);
}
.cd-ui-heading--green-inverted h1, .cd-ui-heading--green-inverted h2, .cd-ui-heading--green-inverted h3, .cd-ui-heading--green-inverted h4, .cd-ui-heading--green-inverted h5, .cd-ui-heading--green-inverted h6, .cd-ui-heading--green-inverted li, .cd-ui-heading--green-inverted p {
  color: var(--green-40-white);
}
.cd-ui-heading--green-inverted + .cd-background--coderdojo-black .cd-l-container {
  padding-block-start: 0;
}
@media only all and (min-width: 47.5em) {
  .cd-ui-heading {
    background-image: url(/assets/stars-and-lightning-reversed-b34c24842762253c91bf35b9005e79a7a44e88304c6f23d4e967b1ed33a578ea.svg), url(/assets/stars-and-lightning-b1bd36c27e887ad67cd57465493838cfa4c9b64981f431b7324641a1e426a468.svg);
    background-position: left center, right center;
    background-repeat: no-repeat, no-repeat;
  }
}
.cd-ui-heading__heading, .cd-ui-heading__subheading {
  max-width: 66.875rem;
  text-align: center;
}
.cd-ui-heading__heading {
  margin: 0 auto;
}
.cd-ui-heading__subheading {
  margin: var(--spacing-1) auto;
}
.cd-ui-heading--left-aligned {
  padding-block-start: var(--spacing-6);
}
.cd-ui-heading--left-aligned .cd-ui-heading__heading, .cd-ui-heading--left-aligned .cd-ui-heading__subheading {
  margin: 0 0 1rem 0;
  text-align: start;
}
.cd-ui-heading--left-aligned .cd-ui-heading__button {
  width: max-content;
}
@media only all and (min-width: 35em) {
  .cd-ui-heading--left-aligned {
    background-image: url(/assets/stars-and-lightning-b1bd36c27e887ad67cd57465493838cfa4c9b64981f431b7324641a1e426a468.svg);
    background-position: right -6.25rem center;
    background-repeat: no-repeat;
  }
}
@media only all and (min-width: 47.5em) {
  .cd-ui-heading--left-aligned {
    background-image: url(/assets/stars-and-lightning-b1bd36c27e887ad67cd57465493838cfa4c9b64981f431b7324641a1e426a468.svg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: 25rem;
  }
}
.cd-ui-heading__container {
  display: flex;
}
.cd-ui-heading__container > h1, .cd-ui-heading__container > p {
  flex: 1;
}

.cd-ui-icon-text {
  align-items: start;
  display: flex;
  gap: var(--spacing-1);
  margin-block: 1rem;
}
.cd-ui-icon-text__icon img {
  height: 1.8rem;
  width: 1.8rem;
}
.cd-ui-icon-text__text > * {
  margin: 0.1rem 0 0 0;
}
.cd-ui-icon-text--small-icon {
  align-items: center;
}
.cd-ui-icon-text--small-icon .cd-ui-icon-text__icon {
  align-content: center;
  display: flex;
}
.cd-ui-icon-text--small-icon .cd-ui-icon-text__icon img {
  height: 1.2rem;
  width: 1.2rem;
}
.cd-ui-icon-text--small-icon .cd-ui-icon-text____text > * {
  margin: 0;
}

.cd-ui-image-over-markdown {
  display: grid;
  max-width: 26.9rem;
}
@media only all and (min-width: 50em) {
  .cd-ui-image-over-markdown {
    max-width: 27.44rem;
  }
}
.cd-ui-image-over-markdown__graphic {
  display: none;
  justify-self: end;
  margin-block-end: -1rem;
}
@media only all and (max-width: 21.88em) {
  .cd-ui-image-over-markdown__graphic {
    justify-self: center;
    width: 100%;
  }
}
@media only all and (min-width: 50em) {
  .cd-ui-image-over-markdown__graphic {
    display: flex;
  }
}
.cd-ui-image-over-markdown__container {
  background-color: var(--white);
  max-width: 26.9rem;
  position: relative;
}
@media only all and (min-width: 50em) {
  .cd-ui-image-over-markdown__container {
    max-width: 27.44rem;
  }
}
.cd-ui-image-over-markdown__container a {
  color: var(--coderdojo-black);
}
.cd-ui-image-over-markdown__container ol {
  padding-inline-start: var(--spacing-2);
}
.cd-ui-image-over-markdown__container p {
  margin: var(--spacing-2) 0;
}

.cd-ui-language-picker {
  background-color: var(--white);
  columns: 2;
  list-style: none;
}
.cd-ui-language-picker li {
  padding-block: var(--spacing-1);
}
.cd-ui-language-picker a {
  color: var(--coderdojo-black);
  font-weight: var(--font-weight-regular);
  text-decoration: none;
}
.cd-ui-language-picker a:hover, .cd-ui-language-picker a:focus {
  text-decoration: underline;
}
.cd-ui-language-picker--floating {
  border: var(--border-width-language-picker) solid var(--white);
  border-radius: var(--border-radius-language-picker);
  margin-block-start: var(--spacing-1);
  max-width: 10rem;
  padding-inline-end: var(--spacing-2);
  padding-inline-start: var(--spacing-1);
  position: relative;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-language-picker--floating {
    border: 2px solid var(--form-grey);
    border-radius: var(--border-radius-small);
    box-shadow: 0 0 1rem var(--drop-shadow-grey);
    inset-block-start: calc(100% + var(--spacing-1));
    inset-inline-end: 0;
    margin-block-start: 0;
    padding-inline-end: var(--spacing-3);
    padding-inline-start: var(--spacing-2);
    position: absolute;
    z-index: 1024;
  }
}
.cd-ui-language-picker--floating[aria-expanded=false] {
  display: none;
}

.cd-ui-links-card {
  background-color: white;
  border-radius: 0.625rem;
  box-sizing: border-box;
  max-width: 47rem;
  padding: var(--spacing-2);
}
.cd-ui-links-card__heading {
  margin-block-end: var(--spacing-1);
}
.cd-ui-links-card .cd-ui-links-card__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cd-ui-links-card a.cd-ui-links-card__link {
  align-items: center;
  color: var(--coderdojo-purple);
  display: flex;
  padding-block: 0.5rem;
  text-decoration: none;
}
.cd-ui-links-card a.cd-ui-links-card__link:hover {
  color: var(--coderdojo-black);
}
.cd-ui-links-card a.cd-ui-links-card__link img {
  height: 1.4rem;
  margin-inline-start: 0.4rem;
}

.cd-ui-login-bar {
  position: relative;
  z-index: 1000;
}
.cd-ui-login-bar__container {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.cd-ui-login-bar__rpf-icon {
  line-height: 0;
  margin: 0.6rem 0.2rem;
}
.cd-ui-login-bar--main {
  background-color: var(--rpf-login-dark-blue);
}
@media only all and (max-width: 62.5em) {
  .cd-ui-login-bar--main {
    display: none;
  }
}
.cd-ui-login-bar__menu {
  display: flex;
  margin: 0;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-login-bar__menu {
    align-items: center;
  }
}
.cd-ui-login-bar__menu-item {
  list-style: none;
}
.cd-ui-login-bar__button, .cd-ui-login-bar__link {
  font-size: var(--font-size-d-1);
  height: auto;
  min-height: auto;
}
.cd-ui-login-bar__button {
  background-color: transparent;
  border: calc(var(--border-width-narrow) / 2) solid var(--white);
  border-radius: var(--border-radius-small);
  color: var(--white);
  cursor: pointer;
  font-family: var(--font-family-sans-serif);
  font-weight: 700;
  padding: 0.3rem 0.6rem;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-login-bar__button {
    margin-inline-start: var(--spacing-1);
  }
}
.cd-ui-login-bar__button:hover {
  text-decoration: underline;
}
.cd-ui-login-bar__link {
  padding: var(--spacing-1);
  text-decoration: none;
}
.cd-ui-login-bar__link:hover {
  text-decoration: underline;
}

.cd-ui-login-bar--mobile {
  border-block-start: 2px solid var(--white);
  margin-block-start: var(--spacing-3);
  padding-block-start: var(--spacing-1);
}
@media only all and (min-width: 62.5em) {
  .cd-ui-login-bar--mobile {
    display: none;
  }
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__container {
  padding-inline: 0;
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__rpf-icon {
  display: none;
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__menu {
  flex-direction: column;
  margin: 0;
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__button {
  margin-block-start: var(--spacing-1);
  padding: var(--spacing-1);
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__button, .cd-ui-login-bar--mobile .cd-ui-login-bar__link {
  display: block;
  font-size: var(--font-size-base);
  text-align: start;
}
.cd-ui-login-bar--mobile .cd-ui-login-bar__link {
  padding: var(--spacing-2) var(--spacing-1);
}

.cd-ui-manage-dojos .cd-ui-manage-dojos__link-list,
.cd-ui-manage-dojos .cd-ui-manage-dojos__header {
  margin-inline: auto;
  max-width: 30rem;
}
.cd-ui-manage-dojos .cd-ui-manage-dojos__link-list-item,
.cd-ui-manage-dojos .cd-ui-manage-dojos__header-item {
  border-block-end: solid 1px var(--form-grey);
  list-style: none;
}
.cd-ui-manage-dojos .cd-ui-manage-dojos__link-list .cd-l-container,
.cd-ui-manage-dojos .cd-ui-manage-dojos__header .cd-l-container {
  padding-block: var(--spacing-2);
  padding-inline: 0;
}

.cd-pages-dashboard .cd-ui-manage-dojos h2 {
  text-align: start;
}

.cd-ui-markdown img {
  object-fit: cover;
  width: 100%;
}
@media only all and (min-width: 40.625em) {
  .cd-ui-markdown img {
    width: auto;
  }
}
@media only all and (max-width: 40.625em) {
  .cd-ui-markdown img {
    height: 50%;
  }
}
.cd-ui-markdown iframe {
  aspect-ratio: 16/9;
  border: 0;
  height: auto;
  width: 100%;
}

.cd-ui-newsletter {
  background-color: var(--purple-40-black);
}
.cd-ui-newsletter__container {
  margin: 0;
  padding-block: var(--spacing-2) !important;
}
@media only all and (min-width: 40em) {
  .cd-ui-newsletter__container {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}
.cd-ui-newsletter__text {
  margin-inline-end: var(--spacing-1);
}
.cd-ui-newsletter__title {
  color: var(--white);
  font-size: var(--font-size-u-1);
  margin-block-end: var(--spacing-1);
}
@media only all and (min-width: 40rem) {
  .cd-ui-newsletter__title {
    margin: 0;
  }
}
.cd-ui-newsletter__info {
  color: var(--white);
  display: none;
  margin: 0;
}
@media only all and (min-width: 62.5em) {
  .cd-ui-newsletter__info {
    display: block;
    font-size: var(--font-size-d-1);
  }
}
.cd-ui-newsletter__form-body {
  display: flex;
}
.cd-ui-newsletter__form-body input[type=email] {
  border: none;
  margin-inline-end: var(--spacing-1);
  width: 100%;
}
@media only all and (min-width: 45.6em) {
  .cd-ui-newsletter__form-body input[type=email] {
    width: 18rem;
  }
}
.cd-ui-newsletter__button {
  max-width: fit-content;
}

@media only all and (min-width: 0px) {
  .force-mobile .cd-ui-newsletter__form-body {
    display: block;
  }
  .force-mobile .cd-ui-newsletter__form-body input[type=email] {
    margin-block-end: var(--spacing-1);
    width: 80vw;
  }
  .force-mobile .cd-ui-newsletter__container {
    display: block;
  }
}

.cd-ui-notification {
  align-items: flex-start;
  align-self: stretch;
  background: var(--white, white);
  border: var(--border-width-narrow) solid var(--coderdojo-purple);
  border-radius: var(--border-radius-very-small);
  display: flex;
  gap: 1rem;
  padding: 1rem;
}
.cd-ui-notification__text {
  color: var(--black, #000);
  font-size: var(--font-size-base);
  font-style: normal;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-cosy);
}
.cd-ui-notification__text a {
  color: var(--coderdojo-black);
  padding-inline-start: 0.3rem;
}
.cd-ui-notification__text a:hover {
  color: var(--coderdojo-purple);
}
.cd-ui-notification__icon {
  height: 1.5rem;
  width: 1.5rem;
}

.cd-ui-pagination, .cd-ui-pagination--dark {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-block-start: var(--spacing-7);
}
.cd-ui-pagination__pages, .cd-ui-pagination__pages--transparent {
  background-color: var(--white);
  border-radius: var(--border-radius);
  font-size: var(--font-size-u-1);
  margin: 0 var(--spacing-1);
  padding: calc(1.2rem * var(--spacing-multiplier));
}
.cd-ui-pagination__pages--transparent {
  background-color: transparent;
}
.cd-ui-pagination__prev-page, .cd-ui-pagination__next-page, .cd-ui-pagination__prev-page--disabled, .cd-ui-pagination__next-page--disabled {
  background-color: var(--coderdojo-purple);
  border-radius: var(--border-radius);
  padding: calc(1.7rem * var(--spacing-multiplier)) var(--spacing-2);
}
.cd-ui-pagination__prev-page:hover, .cd-ui-pagination__prev-page:focus, .cd-ui-pagination__prev-page:active, .cd-ui-pagination__next-page:hover, .cd-ui-pagination__prev-page--disabled:hover, .cd-ui-pagination__next-page--disabled:hover, .cd-ui-pagination__next-page:focus, .cd-ui-pagination__prev-page--disabled:focus, .cd-ui-pagination__next-page--disabled:focus, .cd-ui-pagination__next-page:active, .cd-ui-pagination__prev-page--disabled:active, .cd-ui-pagination__next-page--disabled:active {
  background-color: var(--purple-20-black);
}
.cd-ui-pagination__prev-page--disabled, .cd-ui-pagination__next-page--disabled {
  opacity: 0.5;
  pointer-events: none;
}
.cd-ui-pagination__prev-page img, .cd-ui-pagination__next-page img, .cd-ui-pagination__prev-page--disabled img, .cd-ui-pagination__next-page--disabled img {
  display: block;
}
*[dir=rtl] .cd-ui-pagination__prev-page img, *[dir=rtl] .cd-ui-pagination__next-page img, *[dir=rtl] .cd-ui-pagination__prev-page--disabled img, *[dir=rtl] .cd-ui-pagination__next-page--disabled img {
  transform: scalex(-1);
}
.cd-ui-pagination--dark a:first-child {
  margin-inline-end: var(--spacing-6);
}
.cd-ui-pagination--dark .cd-ui-pagination__prev-page, .cd-ui-pagination--dark .cd-ui-pagination__next-page, .cd-ui-pagination--dark .cd-ui-pagination__prev-page--disabled, .cd-ui-pagination--dark .cd-ui-pagination__next-page--disabled {
  background-color: var(--coderdojo-black);
}
.cd-ui-pagination--dark .cd-ui-pagination__prev-page:hover, .cd-ui-pagination--dark .cd-ui-pagination__prev-page:focus, .cd-ui-pagination--dark .cd-ui-pagination__prev-page:active, .cd-ui-pagination--dark .cd-ui-pagination__next-page:hover, .cd-ui-pagination--dark .cd-ui-pagination__prev-page--disabled:hover, .cd-ui-pagination--dark .cd-ui-pagination__next-page--disabled:hover, .cd-ui-pagination--dark .cd-ui-pagination__next-page:focus, .cd-ui-pagination--dark .cd-ui-pagination__prev-page--disabled:focus, .cd-ui-pagination--dark .cd-ui-pagination__next-page--disabled:focus, .cd-ui-pagination--dark .cd-ui-pagination__next-page:active, .cd-ui-pagination--dark .cd-ui-pagination__prev-page--disabled:active, .cd-ui-pagination--dark .cd-ui-pagination__next-page--disabled:active {
  background-color: var(--purple-40-black);
}

.cd-ui-select-button {
  align-items: center;
  background: white;
  background: var(--grey-rpf-white, white);
  border: var(--border-width-medium-button) var(--rpf-grey-150) solid;
  border-radius: 0.5rem;
  color: var(--rpf-text);
  display: flex;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  gap: var(--spacing-1);
  height: 100%;
  justify-content: flex-start;
  line-height: var(--line-height-cosy);
  min-height: 1.65rem;
  overflow: hidden;
  padding: var(--spacing-1);
  text-decoration: none;
  word-wrap: break-word;
}
.cd-ui-select-button:focus {
  box-shadow: 0 0 0 3px #CD2355;
}
.cd-ui-select-button--selected {
  border: var(--border-width-medium-button) var(--rpf-text) solid;
  color: var(--rpf-text);
}
.cd-ui-select-button__icon {
  display: flex;
  gap: var(--spacing-1);
}
.cd-ui-select-button__label {
  color: var(--rpf-text);
  flex: 1 1 0;
  word-wrap: break-word;
}

.cd-ui-sidebar-navigation {
  background-color: white;
  padding: var(--spacing-1) var(--spacing-2);
}
@media only all and (min-width: 50em) {
  .cd-ui-sidebar-navigation {
    height: 100%;
    padding: var(--spacing-4);
  }
}
@media only all and (max-width: 50em) {
  .cd-ui-sidebar-navigation__heading {
    font-size: 1.1rem;
    margin: 0;
  }
}
@media only all and (min-width: 50em) {
  .cd-ui-sidebar-navigation__heading {
    margin: 1rem 0 0 0;
  }
}
@media only all and (min-width: 37.5em) {
  .cd-ui-sidebar-navigation .menu-toggle__button--dropdown {
    display: block;
  }
}
@media only all and (min-width: 50em) {
  .cd-ui-sidebar-navigation .menu-toggle__button--dropdown {
    display: none;
  }
}
.cd-ui-sidebar-navigation .cd-l-container--no-padding {
  padding: 0;
}
.cd-ui-sidebar-navigation .cd-ui-sidebar-navigation--bottom-border {
  border-block-end: solid 1px var(--form-grey);
  margin: 0 var(--spacing-2) var(--spacing-2) 0;
  padding-block-end: var(--spacing-2);
}
.cd-ui-sidebar-navigation__top-bar-container {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: var(--spacing-1);
}
@media only all and (min-width: 50em) {
  .cd-ui-sidebar-navigation__top-bar-container {
    cursor: auto;
  }
}
.cd-ui-sidebar-navigation ul.cd-ui-sidebar-navigation__menu {
  list-style: none;
  margin-inline-start: 0;
  padding-inline-start: 0;
}
.cd-ui-sidebar-navigation ul.cd-ui-sidebar-navigation__menu .cd-ui-button {
  height: auto;
  width: auto;
}
@media only all and (max-width: 50em) {
  .cd-ui-sidebar-navigation ul.cd-ui-sidebar-navigation__menu--closed {
    display: none;
  }
}
.cd-ui-sidebar-navigation__link, .cd-ui-sidebar-navigation__icon-link {
  color: black;
  line-height: 2;
  padding: 0.5rem;
}
.cd-ui-sidebar-navigation__link:hover, .cd-ui-sidebar-navigation__icon-link:hover {
  background-color: var(--link-button-hover-light-grey);
}
.cd-ui-sidebar-navigation__link:active, .cd-ui-sidebar-navigation__icon-link:active {
  background-color: var(--link-button-hover-dark-grey);
}
.cd-ui-sidebar-navigation__icon-link {
  align-items: center;
  display: flex;
}
.cd-ui-sidebar-navigation__icon-link:before {
  content: "";
  height: 1.5rem;
  margin: 0 var(--spacing-1) 0 0;
  padding: 0;
  width: 1.5rem;
}
.cd-ui-sidebar-navigation__icon-link--your-dojos:before {
  background: url(/assets/home-bc22ed145fad2a576b75f9b50037569b0d5a03352c26b79a527fcf0ca2349a9c.svg) transparent no-repeat bottom center/cover;
}
.cd-ui-sidebar-navigation__icon-link--your-information:before {
  background: url(/assets/person-icon-white-6949b20f175e21d71d6a70b29a60dfabf8d822e570f86ac87d1e022d655231b9.svg) transparent no-repeat bottom center/cover;
}
.cd-ui-sidebar-navigation__icon-link--training:before {
  background: url(/assets/training-691c98b06c5a052082c44551a06030c034e5dd4eb74e9942efee84ac754f66aa.svg) transparent no-repeat bottom center/cover;
}
.cd-ui-sidebar-navigation__icon-link--support:before {
  background: url(/assets/question-mark-in-speech-bubble-32961594ba4165a1db65ebc691b4ee3fc3a70c6fe88a279126c5462d126bf24b.svg) transparent no-repeat bottom center/cover;
}

.cd-ui-tip-box {
  align-items: flex-start;
  background-color: white;
  border-radius: 0.625rem;
  box-shadow: 0 0 1rem var(--drop-shadow-grey);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr min-content;
  margin: 0 auto var(--spacing-1) auto;
  max-width: 47rem;
  padding-inline-start: var(--spacing-2);
}
@media only all and (min-width: 37.5em) {
  .cd-ui-tip-box {
    grid-template-columns: max-content 1fr min-content;
  }
  .cd-ui-tip-box--no-dismiss {
    padding-inline-end: var(--spacing-2);
  }
}
.cd-ui-tip-box__icon {
  height: 2.75rem;
  margin-inline-end: var(--spacing-2);
  padding-block: 1rem;
}
.cd-ui-tip-box__content {
  grid-column: 1/3;
  grid-row: 2;
  padding: 0 var(--spacing-2) var(--spacing-2) 0;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-tip-box__content {
    grid-column: 2;
    grid-row: 1;
    padding: 1.2rem 0 1.1rem 0;
  }
}
.cd-ui-tip-box__heading {
  font-size: 1.2rem;
  margin: 0;
  padding: 0;
}
.cd-ui-tip-box__text .cd-ui-markdown > * {
  margin: 0;
  padding: 0;
}
.cd-ui-tip-box__text .cd-ui-markdown > * a {
  color: var(--coderdojo-black);
}
.cd-ui-tip-box__text .cd-ui-markdown > * a:hover {
  color: var(--coderdojo-purple);
}
.cd-ui-tip-box__dismiss-button {
  line-height: 0;
  margin: 0;
}
.cd-ui-tip-box__dismiss-button button {
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 1.2rem;
}
.cd-ui-tip-box__dismiss-button button img {
  height: 0.875rem;
}

.cd-ui-toast {
  align-items: flex-start;
  background-color: white;
  border-radius: 0.5rem;
  display: flex;
  justify-content: space-between;
  margin: 0 auto var(--spacing-1) auto;
  max-width: 66.875rem;
  padding-inline-start: var(--spacing-2);
}
.cd-ui-toast--success {
  border: 2px solid var(--form-success-green);
}
.cd-ui-toast--error {
  border: 2px solid var(--form-error-dark-red);
}
.cd-ui-toast--warning {
  border: 2px solid var(--form-warning-yellow);
}
.cd-ui-toast__icon {
  height: 1.25rem;
  margin-inline-end: var(--spacing-2);
  padding-block: 1rem;
}
.cd-ui-toast__message {
  margin: 0;
  padding: 1rem 0 0.8rem 0;
}
.cd-ui-toast__dismiss-button {
  line-height: 0;
  margin: 0;
}
.cd-ui-toast__dismiss-button button {
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 1rem;
}

.cd-ui-upcoming-events .cd-ui-upcoming-events__title,
.cd-ui-upcoming-events .cd-ui-upcoming-events__text {
  margin: 0 0 var(--spacing-1) 0;
}
.cd-ui-upcoming-events__no-events {
  border: solid 1px black;
  border-radius: 3px;
  padding: var(--spacing-2);
  text-align: center;
}
.cd-ui-upcoming-events__no-events img {
  height: 2rem;
}
.cd-ui-upcoming-events__no-events-title {
  margin-block: var(--spacing-1);
}
.cd-ui-upcoming-events__no-events .cd-ui-markdown a {
  color: black;
  word-break: break-word;
}
.cd-ui-upcoming-events__no-events .cd-ui-markdown a:hover {
  color: var(--coderdojo-purple);
}

.cd-ui-youtube-video {
  border-radius: var(--border-radius);
  margin: 0;
  overflow: hidden;
  padding: 0;
  padding-block-start: 56.25%;
  position: relative;
}
.cd-ui-youtube-video__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.cd-ui-youtube-video__overlay {
  align-items: center;
  background-color: hsla(0deg, 0%, 48%, 0.6);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
  inset-block-start: 0;
  justify-content: space-evenly;
  position: absolute;
  width: 100%;
}
.cd-ui-youtube-video__overlay-play {
  width: 20%;
}
.cd-ui-youtube-video__video {
  border: none;
  height: 101%;
  inset-block-start: 0;
  inset-inline-start: 0;
  padding: 0;
  position: absolute;
  width: 101%;
}
.cd-ui-youtube-video__picture {
  inset-block: 0;
  inset-inline-start: 0;
  position: absolute;
  width: 100%;
}

.cd-ui-your-dojos h2 {
  margin-block-end: var(--spacing-3);
}
.cd-ui-your-dojos .cd-ui-tip-box {
  margin-block: var(--spacing-3);
  width: 100%;
}
.cd-ui-your-dojos__empty-page {
  display: grid;
  grid-gap: var(--spacing-2);
  max-width: 47rem;
}
@media only all and (min-width: 37.5em) {
  .cd-ui-your-dojos__empty-page {
    grid-template-columns: 1fr 1fr;
  }
}
.cd-ui-your-dojos__empty-page .cd-ui-tip-box {
  grid-column: 1/-1;
  margin-block-start: 0;
}
.cd-ui-your-dojos__subheading-container {
  align-content: flex-end;
  border-block-end: solid 1px var(--form-grey);
  display: flex;
  justify-content: space-between;
  margin-block-end: 0;
  padding-block-end: var(--spacing-1);
}
.cd-ui-your-dojos__subheading-container a.cd-ui-your-dojos__link {
  color: var(--coderdojo-purple);
  padding: 0.5rem 1rem 0 0.5rem;
}
.cd-ui-your-dojos__subheading-container a.cd-ui-your-dojos__link:hover {
  color: var(--purple-40-black);
}
.cd-ui-your-dojos__subheading-container h4 {
  margin: 0 0 -1rem 0;
}

.cd-c-blog-index {
  grid-column: 1/2;
}
.cd-c-blog-index__main {
  background-color: var(--green-95-white);
}
.cd-c-blog-index__main .cd-l-container {
  padding-block: var(--spacing-4);
}
@media only all and (min-width: 50em) {
  .cd-c-blog-index__main .cd-l-container {
    padding-block: var(--spacing-8);
  }
}
.cd-c-blog-index__page {
  display: grid;
  grid-gap: var(--spacing-4);
}
@media only all and (min-width: 50em) {
  .cd-c-blog-index__page {
    grid-template-columns: 3fr 1fr;
  }
}
.cd-c-blog-index .cd-ui-card-collection__columns--2 {
  display: grid;
  grid-gap: var(--spacing-2);
  grid-template-columns: 1fr;
}
@media only all and (min-width: 62.5em) {
  .cd-c-blog-index .cd-ui-card-collection__columns--2 {
    grid-gap: var(--spacing-2);
  }
}
@media only all and (min-width: calc(18.75rem + 50px)) {
  .cd-c-blog-index .cd-ui-card-collection__columns--2 {
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
  }
}
.cd-c-blog-index__link {
  color: var(--black);
  font-weight: 400;
  text-decoration: none;
}
.cd-c-blog-index__link .cd-ui-card {
  height: 100%;
  transition: all 0.15s;
}
.cd-c-blog-index__link:hover .cd-ui-card {
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey-hover);
  transform: scale(1.01);
}
.cd-c-blog-index__sidebar {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media only all and (min-width: 50em) {
  .cd-c-blog-index__sidebar {
    grid-column: 2/3;
  }
}
.cd-c-blog-index__search-field {
  background-color: var(--white);
  background-image: url(/assets/search-54e7ce5d3a23665f1ce28ccc53931ea7defdca41cc87006897f316fb1546039c.svg);
  background-position: 0.75rem 0.6875rem;
  background-repeat: no-repeat;
  background-size: 1.2rem;
  border: 2px solid var(--form-grey);
  border-radius: 50rem;
  font-size: var(--font-size-base);
  overflow: hidden;
  padding: var(--spacing-1);
  position: relative;
  text-indent: 1.5rem;
  width: 100%;
}
.cd-c-blog-index__categories {
  background-color: var(--white);
  border-radius: 0.7rem;
  display: none;
  grid-gap: var(--spacing-2);
  margin-block-start: var(--spacing-3);
  padding: var(--spacing-2);
}
@media only all and (min-width: 50em) {
  .cd-c-blog-index__categories {
    display: grid;
  }
}
.cd-c-blog-index__categories h3 {
  margin-block-end: 0;
}
.cd-c-blog-index__category-link {
  color: var(--black);
  font-size: var(--font-size-u-1);
  font-weight: 400;
  text-decoration: none;
}

.cd-c-blog-post {
  display: flex;
  flex-direction: column;
  grid-column: 2/3;
  justify-content: center;
  margin: 1rem;
}
@media only all and (min-width: 50em) {
  .cd-c-blog-post {
    margin-block: var(--spacing-6);
  }
}
.cd-c-blog-post__background {
  background-color: var(--green-95-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cd-c-blog-post__hero {
  margin: -1rem -1rem 0 -1rem;
}
@media only all and (min-width: 50em) {
  .cd-c-blog-post__hero {
    margin: 0 auto;
  }
}
.cd-c-blog-post__hero-image {
  max-width: 60.375rem;
  object-fit: cover;
  width: 100%;
  z-index: 1;
}
@media only all and (min-width: 50em) {
  .cd-c-blog-post__hero-image {
    border-radius: 1.5rem;
  }
}
@media only all and (min-width: 50em) {
  .cd-c-blog-post__hero-image {
    height: 37.1rem;
  }
}
.cd-c-blog-post__content {
  background-color: var(--white);
  border-radius: 0.6rem;
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
  box-sizing: border-box;
  margin: -5rem auto 0 auto;
  max-width: 50rem;
  padding: var(--spacing-4);
  width: 100%;
  z-index: 10;
}
.cd-c-blog-post__date {
  margin-block-start: var(--spacing-1);
}
.cd-c-blog-post .cd-ui-markdown a {
  color: black;
}
.cd-c-blog-post .cd-ui-markdown img {
  max-width: 35rem;
}

@media only all and (min-width: 50em) {
  .cd-pages-dashboard {
    display: grid;
    grid-template-columns: 1fr minmax(48.125rem, 73.75rem) 1fr;
  }
}
.cd-pages-dashboard__container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(2rem, min-content) 1fr;
}
@media only all and (min-width: 50em) {
  .cd-pages-dashboard__container {
    grid-column: 2;
    grid-template-columns: 18.75rem 1fr;
    grid-template-rows: 1fr;
  }
}
.cd-pages-dashboard__left-side-white-filler {
  display: none;
}
@media only all and (min-width: 50em) {
  .cd-pages-dashboard__left-side-white-filler {
    background-color: white;
    display: block;
  }
}
.cd-pages-dashboard--no-sidebar {
  grid-template-columns: 1fr minmax(4rem, 54rem) 1fr;
}
.cd-pages-dashboard--no-sidebar .cd-pages-dashboard__container {
  display: block;
}
.cd-pages-dashboard--no-sidebar .cd-pages-dashboard__left-side-white-filler {
  display: none;
}
.cd-pages-dashboard__content {
  display: grid;
  grid-template-columns: 1fr 18fr 1fr;
  padding: var(--spacing-2);
}
.cd-pages-dashboard__content > * {
  margin-block-end: var(--spacing-2);
}
.cd-pages-dashboard__component,
.cd-pages-dashboard .cd-pages-dashboard__contentful-blocks {
  grid-column: 2;
}
.cd-pages-dashboard__component > *,
.cd-pages-dashboard .cd-pages-dashboard__contentful-blocks > * {
  margin-block-end: var(--spacing-2);
}
.cd-pages-dashboard__component .cd-clubs_api-dojo-card,
.cd-pages-dashboard .cd-pages-dashboard__contentful-blocks .cd-clubs_api-dojo-card {
  max-width: 47rem;
}
.cd-pages-dashboard h2 {
  text-align: center;
}

@media only all and (min-width: 50em) {
  .cd-dojo-profile-page {
    display: grid;
    grid-column-gap: var(--spacing-5);
    grid-template-columns: minmax(18.75rem, 25rem) minmax(23.75rem, 1fr);
  }
}
.cd-dojo-profile-page__toast {
  grid-column: 1/-1;
  grid-row: 1;
}
.cd-dojo-profile-page__main {
  padding-block: var(--spacing-3);
}
@media only all and (min-width: 37.5em) {
  .cd-dojo-profile-page__cta-cards--mobile {
    display: grid;
    grid-column: 1/3;
    grid-gap: var(--spacing-2);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content;
    justify-content: space-between;
    margin-block-end: var(--spacing-2);
  }
}
@media only all and (min-width: 50em) {
  .cd-dojo-profile-page__cta-cards--mobile {
    display: none;
  }
}
.cd-dojo-profile-page__cta-cards--desktop {
  display: none;
}
@media only all and (min-width: 50em) {
  .cd-dojo-profile-page__cta-cards--desktop {
    display: block;
  }
}
.cd-dojo-profile-page__cta-cards--join, .cd-dojo-profile-page__cta-cards--volunteer {
  box-sizing: border-box;
  height: 100%;
  margin-block-end: var(--spacing-2);
}
.cd-dojo-profile-page .cd-ui-collapsible-card {
  margin-block-end: var(--spacing-2);
}
.cd-dojo-profile-page__key-details-icon-text--socials {
  margin-block-start: var(--spacing-3);
  -ms-word-break: break-all;
  word-break: break-all;
}
.cd-dojo-profile-page__private-dojo-note {
  background-color: var(--orange-95-white);
  display: grid;
  grid-column-gap: var(--spacing-1);
  grid-template-columns: min-content 1fr;
  padding: var(--spacing-1);
}
.cd-dojo-profile-page__private-dojo-note > * {
  margin: 0;
}
.cd-dojo-profile-page__private-dojo-note-icon {
  align-self: center;
  grid-column: 1/2;
  grid-row: 1/2;
}
.cd-dojo-profile-page__private-dojo-note-title {
  align-self: center;
  font-size: var(--font-size-base);
  grid-column: 2/3;
  grid-row: 1/2;
}
.cd-dojo-profile-page__private-dojo-note-text {
  grid-column: 2/3;
  grid-row: 2/3;
}
.cd-dojo-profile-page > * {
  margin-block-end: var(--spacing-2);
}
.cd-dojo-profile-page__map {
  height: 12.5rem;
  margin-block-start: var(--spacing-2);
  width: 100%;
}
.cd-dojo-profile-page__address {
  margin-block-end: 0.2rem;
}

@media only all and (min-width: 0px) {
  .force-mobile .cd-dojo-profile-page__header .cd-ui-heading__heading {
    word-break: break-all;
  }
}

.cd-c-find-a-dojo {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  justify-content: space-between;
}
@media only all and (min-width: 50em) {
  .cd-c-find-a-dojo {
    align-items: start;
    flex-direction: row;
  }
}
.cd-c-find-a-dojo__info {
  flex: 1;
  max-width: 26.875rem;
  width: 100%;
}
@media only all and (min-width: 50em) {
  .cd-c-find-a-dojo__info {
    max-width: none;
  }
}
.cd-c-find-a-dojo__info > * {
  margin-inline-start: auto;
}
.cd-c-find-a-dojo__text {
  margin-inline-start: auto;
  max-width: 36.69rem;
}
.cd-c-find-a-dojo__text p {
  margin-block-start: 0;
}

.cd-http-error-container {
  align-items: center;
  background-color: var(--purple-95-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--spacing-9) 0;
}
@media only all and (min-width: 50em) {
  .cd-http-error-container {
    flex-direction: row;
  }
}
.cd-http-error-container__graphic {
  margin: var(--spacing-4);
  max-width: 20rem;
  width: 100%;
}
.cd-http-error-container__title {
  color: var(--purple-40-black);
  font-family: "Roboto", sans-serif;
  font-size: var(--font-size-u-8);
  margin-block-end: 0;
}
.cd-http-error-container__markdown-and-buttons-container {
  display: flex;
  flex-direction: column;
  margin: var(--spacing-4);
}
.cd-http-error-container__markdown-and-buttons-container .cd-ui-markdown a {
  color: var(--coderdojo-black);
  font-weight: var(--font-weight-regular);
}
.cd-http-error-container__buttons-container {
  display: flex;
}

/**
 * https://every-layout.dev/layouts/box/
 *
 * <div class="layout-box">
 *   <-- the box's contents -->
 * </div>
 */
/**
 * https://every-layout.dev/layouts/center/
 *
 * <div class="layout-center">
 *   <!-- centered content -->
 * </div>
 */
/**
 * https://every-layout.dev/layouts/frame/
 *
 * <div class="layout-frame">
 *   <!-- the frame's child -->
 * </div>
 */
/**
 * https://every-layout.dev/layouts/grid/
 *
 * <div class="layout-grid">
 *   <div><!-- child element --></div>
 *   <div><!-- another child element --></div>
 *   <div><!-- etc --></div>
 * </div>
 */
/**
 * https://every-layout.dev/layouts/stack/
 *
 * <div class="layout-stack">
 *   <-- the stack's children -->
 * </div>
 */
/**
 * https://every-layout.dev/layouts/icon/
 *
 * <span class="with-icon">
 *   <!-- Icon MUST be first child -->
 *   <svg>
 *     <use href="/path/to/icons.svg#my-icon"></use>
 *   </svg>
 *   Close
 * </span>
 */
/**
 * https://every-layout.dev/layouts/sidebar/
 *
 * <div class="layout-with-sidebar">
 *   <div><!-- non-sidebar --></div>
 *   <div><!-- sidebar --></div>
 * </div>
 */
.layout-with-sidebar > :first-child {
  flex-basis: var(--sidebar-side-width);
  flex-grow: 1;
  min-width: 0;
}

.layout-with-sidebar > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(var(--sidebar-content-wrap-width) - var(--sidebar-column-gap));
}

.layout-with-sidebar--on-left > :first-child {
  flex-basis: var(--sidebar-side-width);
  flex-grow: 1;
  min-width: 0;
}

.layout-with-sidebar--on-left > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(var(--sidebar-content-wrap-width) - var(--sidebar-column-gap));
}

.layout-with-sidebar--on-right > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(var(--sidebar-content-wrap-width) - var(--sidebar-column-gap));
}

.layout-with-sidebar--on-right > :last-child {
  flex-basis: var(--sidebar-side-width);
  flex-grow: 1;
  min-width: 0;
}

main {
  flex: 1 1 0%;
}

.cd-l-container, .cd-l-container--no-padding, .cd-l-container--matchstick, .cd-l-container--thin {
  --center-gutter-preferred: 5vw;
  --center-gutter-max: var(--spacing-6);
  --center-gutter: min(
    var(--center-gutter-preferred),
    var(--center-gutter-max)
  );
  --center-measure: var(--center-measure-full);
  --center-measure-full: 1300px;
  --center-measure-mini: 500px;
  --center-measure-midi: 750px;
  --center-measure-maxi: 1000px;
  padding-inline: var(--center-gutter);
  margin-inline: auto;
  max-inline-size: var(--center-measure);
  --center-measure-full: 66.875rem;
  padding-block: var(--spacing-8);
}
.cd-l-container--mini {
  --center-measure: var(--center-measure-mini);
}
.cd-l-container--midi {
  --center-measure: var(--center-measure-midi);
}
.cd-l-container--maxi {
  --center-measure: var(--center-measure-maxi);
}
.cd-l-container--thin {
  padding-block: var(--spacing-3);
}
.cd-l-container--matchstick {
  padding-block: var(--spacing-1);
}
.cd-l-container--no-padding {
  padding-block: 0;
}

.cd-l-direction--right {
  flex-direction: column;
}
@media only all and (min-width: 59.375em) {
  .cd-l-direction--right {
    flex-direction: row;
  }
}
.cd-l-direction--left {
  flex-direction: column;
}
@media only all and (min-width: 59.375em) {
  .cd-l-direction--left {
    flex-direction: row-reverse;
  }
}

@media only all and (min-width: 0px) {
  .force-mobile .cd-l-direction--right > *, .force-mobile .cd-l-direction--left > * {
    min-height: 12.5rem;
    width: 100%;
  }
}

.dismissed {
  display: none;
}

.cd-l-media__container {
  display: flex;
}
.cd-l-media__container > div, .cd-l-media__container figure {
  flex: 1;
}
@media only all and (min-width: 59.375em) {
  .cd-l-media__container {
    align-items: center;
  }
}
@media only all and (min-width: 59.375em) {
  .cd-l-media__container.cd-l-direction--right .cd-l-media__text {
    padding-inline-end: var(--spacing-8);
  }
  .cd-l-media__container.cd-l-direction--left .cd-l-media__text {
    padding-inline-start: var(--spacing-8);
  }
}
.cd-l-media__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.cd-l-media__figure {
  border-radius: var(--border-radius);
  box-shadow: 0 0 1.25rem 0 var(--drop-shadow-grey);
  margin-block: var(--spacing-3) 0;
  margin-inline: 0;
  overflow: hidden;
  padding-block-start: 56.25%;
  position: relative;
}
@media only all and (min-width: 59.375em) {
  .cd-l-media__figure {
    margin: 0;
    padding-block-start: 37.5%;
  }
}
.cd-l-media__figure.cd-ui-transparent__image {
  box-shadow: none;
}
@media only all and (max-width: 59.375em) {
  .cd-l-media__figure.cd-ui-transparent__image .cd-l-media__image {
    transform: scale(1.1);
  }
}
.cd-l-media__image-container {
  inset-block: 0;
  inset-inline-start: 0;
  position: absolute;
  width: 100%;
}
.cd-l-media__video-container > iframe {
  border-width: 0;
  height: 101%;
  inset-block-start: 0;
  inset-inline-start: 0;
  position: absolute;
  width: 101%;
}
.cd-l-media .cd-ui-youtube-video {
  margin-block: var(--spacing-3) 0;
  margin-inline: 0;
}
@media only all and (min-width: 59.375em) {
  .cd-l-media .cd-ui-youtube-video {
    margin: 0;
    padding-block-start: 37.5%;
  }
}

@media only all and (min-width: 0px) {
  .force-mobile .cd-l-media__figure {
    padding-block-start: 0;
  }
  .force-mobile .cd-l-media .cd-ui-youtube-video {
    height: 100%;
    padding-block-start: 0;
  }
}

.cd-c-cards-block__text {
  text-align: center;
}
.cd-c-cards-block .cd-ui-button-collection {
  justify-content: center;
}

.cd-c-content-block {
  max-width: 53.375rem;
}
.cd-c-content-block__text {
  max-width: 80ch;
}
.cd-c-content-block--centre {
  text-align: center;
}
.cd-c-content-block--centre .cd-c-content-block__text {
  margin: 0 auto;
}
@media only all and (min-width: 37.5em) {
  .cd-c-content-block--centre .cd-c-content-block__links {
    display: flex;
    justify-content: center;
  }
}

.cd-c-page-hero__hero .cd-l-media__figure {
  box-shadow: none;
}

a#CybotCookiebotDialogPoweredbyCybot, #CybotCookiebotDialog #CybotCookiebotDialogPoweredByText {
  display: none;
}

.form__label {
  font-weight: var(--font-weight-bold);
}
.form__label--hidden {
  height: 1px;
  margin: -1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
.form__link {
  color: var(--coderdojo-black);
  font-weight: var(--font-weight-bold);
  margin-block-start: 0.3rem;
  padding: 0.1rem 0 0.5rem 0;
  text-decoration: underline;
}
.form__link:hover, .form__link:focus {
  color: var(--coderdojo-purple);
  outline: none;
}
.form__select {
  -webkit-appearance: none; /* safari and chrome */
  -moz-appearance: none; /* Mozilla */
  -ms-appearance: none; /* Ie */
  appearance: none;
  background: url(/assets/select-arrow-9d20b0220b0459ed82fdcba268d1995e3bffca6db01829d11be92fc84313e693.svg) no-repeat;
  background-position: center right;
  background-size: 2rem;
  border: var(--border-width-medium) solid var(--form-grey);
  border-radius: 3px;
  box-sizing: border-box;
  color: #595959;
  font-size: var(--font-size-base);
  padding: 1rem 0.5rem;
  text-overflow: ellipsis;
  width: 100%;
}
*[dir=rtl] .form__select {
  background-position: center left;
}
.form__select:focus {
  border: var(--border-width-medium) solid var(--focus-color);
  outline: none;
}
.form__text-input, .form__text-input--rounded, .form__textarea {
  border: var(--border-width-narrow) solid var(--form-grey);
  border-radius: 2px;
  font-family: inherit;
  font-size: inherit;
  padding: var(--spacing-1);
}
.form__text-input--rounded {
  border-radius: 0.4rem;
}
.form__textarea {
  height: 8.125rem;
  margin-block: var(--spacing-1);
}
.form__textarea::placeholder {
  color: #a6a6a6;
  font-family: var(--font-family-sans-serif);
  font-size: var(--font-size-base);
}
.form__fieldset {
  border: none;
  padding: 0;
}
.form__fieldset legend {
  font-weight: var(--font-weight-bold);
  margin-block-end: var(--spacing-1);
}
.form__search {
  border: var(--border-width-medium) solid var(--form-grey);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
.form__search img {
  inset-block-start: 1rem;
  padding-inline-start: var(--spacing-1);
  position: absolute;
}
.form__search:focus-within {
  border: var(--border-width-medium) solid var(--focus-color);
  outline: none;
}
.form__search__input {
  border: none;
  font-size: var(--font-size-base);
  padding: 1rem 1rem 1rem 0.5rem;
  text-indent: var(--spacing-3);
  width: 100%;
}
.form__search__input:focus, .form__search__input:active {
  outline: none;
}
.form__radio__text {
  font-weight: var(--font-weight-regular);
}
.form__radio__checkmark {
  align-items: center;
  background-color: transparent;
  border: var(--border-width-narrow) solid var(--form-grey);
  border-radius: 50%;
  content: "";
  display: grid;
  grid-column: 1/2;
  grid-row: 1/2;
  height: 0.9rem;
  justify-content: center;
  width: 0.9rem;
}
.form__radio__container {
  align-items: center;
  cursor: pointer;
  display: grid;
  font-weight: var(--font-weight-light);
  grid-column-gap: 1rem;
  grid-template-columns: min-content 1fr;
  margin-block-end: var(--spacing-1);
  position: relative;
}
@media only all and (max-width: 17.5rem) {
  .form__radio__container {
    grid-column-gap: var(--spacing-1);
  }
}
.form__radio__container input {
  cursor: pointer;
  grid-column: 1/2;
  grid-row: 1/2;
  opacity: 0.01;
}
.form__radio__container input:hover ~ .form__radio__checkmark {
  border-color: var(--coderdojo-purple);
}
.form__radio__container input:checked ~ .form__radio__text {
  font-weight: 700;
}
.form__radio__container input:checked ~ .form__radio__checkmark {
  border-color: var(--coderdojo-purple);
}
.form__radio__container input:checked ~ .form__radio__checkmark::before {
  background-color: var(--coderdojo-purple);
  border-radius: 50%;
  content: "";
  height: 0.72rem;
  width: 0.72rem;
}
.form__radio__container input:focus ~ .form__radio__checkmark::after {
  background-color: transparent;
  border: var(--border-width-medium) solid var(--coderdojo-purple);
  border-radius: 0.5rem;
  content: "";
  height: 1.3rem;
  inset-block-start: -0.15rem;
  inset-inline-start: -0.29rem;
  position: absolute;
  width: 1.3rem;
}

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 62.5rem var(--white) inset;
  box-shadow: 0 0 0px 62.5rem var(--white) inset;
  -webkit-text-fill-color: var(--coderdojo-black);
  transition: background-color 5000s ease-in-out 0s;
}

input[type=search] {
  -webkit-appearance: textfield;
}

@media only all and (min-width: 0px) {
  .force-mobile .form__search img {
    display: none;
  }
  .force-mobile .form__search__input {
    text-indent: 0px;
  }
}

html {
  --background-color: var(--color-background-html);
  --font-size-clamp-ideal: var(--font-size-root-clamp-ideal);
  --font-size-clamp-min: var(--font-size-root-clamp-min);
  --font-size-clamp-max: var(--font-size-root-clamp-max);
  --font-size-clamp-fallback: var(--font-size-root-clamp-fallback);
  background-color: var(--background-color);
  font-size: var(--font-size-clamp-fallback);
}
@supports (font-size: clamp(1em, 1em, 1em)) {
  html {
    font-size: clamp(var(--font-size-clamp-min), var(--font-size-clamp-ideal), var(--font-size-clamp-max));
  }
}

body {
  --background-color: var(--color-background-body);
  --color: var(--color-text-primary);
  --font-family: var(--font-family-sans-serif);
  --font-size: var(--font-size-base);
  --font-weight: var(--font-weight-regular);
  --line-height: var(--line-height-regular);
  background-color: var(--background-color);
  color: var(--color);
  font-display: swap;
  font-family: var(--font-family);
  font-optical-sizing: none;
  font-size: var(--font-size);
  font-variant-ligatures: none;
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  quotes: "“" "”";
  text-size-adjust: 100%;
}

[id] {
  scroll-margin-top: 2ex;
}

html, body {
  display: flex;
  flex-direction: column;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  min-height: 100vh;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

.menu-toggle__button {
  background-color: transparent;
  border: none;
}
.menu-toggle__button img {
  height: 1rem;
}
.menu-toggle__button .closed {
  transition: transform 0.4s;
}
.menu-toggle__button .open {
  transform: scaleY(-1);
  transition: transform 0.4s;
}
@media only all and (min-width: 37.5em) {
  .menu-toggle__button--dropdown {
    display: none;
  }
}

.cd-background--coderdojo-green {
  background-color: var(--coderdojo-green);
}
.cd-background--coderdojo-green h1, .cd-background--coderdojo-green h2, .cd-background--coderdojo-green h3, .cd-background--coderdojo-green h4, .cd-background--coderdojo-green h5, .cd-background--coderdojo-green h6, .cd-background--coderdojo-green li, .cd-background--coderdojo-green p {
  color: var(--white);
}
.cd-background--coderdojo-green .cd-ui-button--primary-inverted {
  --color-text-button-primary: var(--coderdojo-green);
  --color-text-button-primary-active: var(--coderdojo-green);
}
.cd-background--coderdojo-green + .cd-background--coderdojo-green .cd-l-container {
  padding-block-start: 0;
}
.cd-background--coderdojo-orange {
  background-color: var(--coderdojo-orange);
}
.cd-background--coderdojo-orange h1, .cd-background--coderdojo-orange h2, .cd-background--coderdojo-orange h3, .cd-background--coderdojo-orange h4, .cd-background--coderdojo-orange h5, .cd-background--coderdojo-orange h6, .cd-background--coderdojo-orange li, .cd-background--coderdojo-orange p {
  color: var(--white);
}
.cd-background--coderdojo-orange .cd-ui-button--primary-inverted {
  --color-text-button-primary: var(--coderdojo-orange);
  --color-text-button-primary-active: var(--coderdojo-orange);
}
.cd-background--coderdojo-orange + .cd-background--coderdojo-orange .cd-l-container {
  padding-block-start: 0;
}
.cd-background--coderdojo-purple {
  background-color: var(--coderdojo-purple);
}
.cd-background--coderdojo-purple h1, .cd-background--coderdojo-purple h2, .cd-background--coderdojo-purple h3, .cd-background--coderdojo-purple h4, .cd-background--coderdojo-purple h5, .cd-background--coderdojo-purple h6, .cd-background--coderdojo-purple li, .cd-background--coderdojo-purple p {
  color: var(--white);
}
.cd-background--coderdojo-purple .cd-ui-button--primary-inverted {
  --color-text-button-primary: var(--coderdojo-purple);
  --color-text-button-primary-active: var(--coderdojo-purple);
}
.cd-background--coderdojo-purple + .cd-background--coderdojo-purple .cd-l-container {
  padding-block-start: 0;
}
.cd-background--green-40-black {
  background-color: var(--green-40-black);
}
.cd-background--green-40-black h1, .cd-background--green-40-black h2, .cd-background--green-40-black h3, .cd-background--green-40-black h4, .cd-background--green-40-black h5, .cd-background--green-40-black h6, .cd-background--green-40-black li, .cd-background--green-40-black p {
  color: var(--white);
}
.cd-background--green-40-black .cd-ui-button--primary-inverted {
  --color-text-button-primary: var(--green-40-black);
  --color-text-button-primary-active: var(--green-40-black);
}
.cd-background--green-40-black + .cd-background--green-40-black .cd-l-container {
  padding-block-start: 0;
}
.cd-background--green-20-white {
  background-color: var(--green-20-white);
}
.cd-background--green-20-white h1, .cd-background--green-20-white h2, .cd-background--green-20-white h3, .cd-background--green-20-white h4, .cd-background--green-20-white h5, .cd-background--green-20-white h6, .cd-background--green-20-white li, .cd-background--green-20-white p {
  color: var(--coderdojo-black);
}
.cd-background--green-20-white + .cd-background--green-20-white .cd-l-container {
  padding-block-start: 0;
}
.cd-background--green-60-white {
  background-color: var(--green-60-white);
}
.cd-background--green-60-white h1, .cd-background--green-60-white h2, .cd-background--green-60-white h3, .cd-background--green-60-white h4, .cd-background--green-60-white h5, .cd-background--green-60-white h6, .cd-background--green-60-white li, .cd-background--green-60-white p {
  color: var(--coderdojo-black);
}
.cd-background--green-60-white + .cd-background--green-60-white .cd-l-container {
  padding-block-start: 0;
}
.cd-background--green-90-white {
  background-color: var(--green-90-white);
}
.cd-background--green-90-white h1, .cd-background--green-90-white h2, .cd-background--green-90-white h3, .cd-background--green-90-white h4, .cd-background--green-90-white h5, .cd-background--green-90-white h6, .cd-background--green-90-white li, .cd-background--green-90-white p {
  color: var(--coderdojo-black);
}
.cd-background--green-90-white + .cd-background--green-90-white .cd-l-container {
  padding-block-start: 0;
}
.cd-background--green-95-white {
  background-color: var(--green-95-white);
}
.cd-background--green-95-white h1, .cd-background--green-95-white h2, .cd-background--green-95-white h3, .cd-background--green-95-white h4, .cd-background--green-95-white h5, .cd-background--green-95-white h6, .cd-background--green-95-white li, .cd-background--green-95-white p {
  color: var(--coderdojo-black);
}
.cd-background--green-95-white + .cd-background--green-95-white .cd-l-container {
  padding-block-start: 0;
}
.cd-background--orange-95-white {
  background-color: var(--orange-95-white);
}
.cd-background--orange-95-white h1, .cd-background--orange-95-white h2, .cd-background--orange-95-white h3, .cd-background--orange-95-white h4, .cd-background--orange-95-white h5, .cd-background--orange-95-white h6, .cd-background--orange-95-white li, .cd-background--orange-95-white p {
  color: var(--coderdojo-black);
}
.cd-background--orange-95-white + .cd-background--orange-95-white .cd-l-container {
  padding-block-start: 0;
}
.cd-background--white {
  background-color: var(--white);
}
.cd-background--white h1, .cd-background--white h2, .cd-background--white h3, .cd-background--white h4, .cd-background--white h5, .cd-background--white h6, .cd-background--white li, .cd-background--white p {
  color: var(--coderdojo-black);
}
.cd-background--white + .cd-background--white .cd-l-container {
  padding-block-start: 0;
}

:root {
  --color-background-primary: var(--coderdojo-purple);
  --color-background-secondary: var(--coderdojo-orange);
  --color-background-inverted: var(--white);
  --color-background-button-primary: var(--coderdojo-purple);
  --color-background-button-primary-active: var(--purple-20-white);
  --color-background-button-primary-hover: var(--purple-20-black);
  --color-background-button-secondary: transparent;
  --color-background-button-secondary-active: var(--purple-90-white);
  --color-background-button-disabled: var(--coderdojo-purple);
  --color-background-button-disabled-active: var(--purple-20-black);
  --color-background-checkbox: var(--white);
  --color-background-checkbox-checked: var(--coderdojo-purple);
  --color-background-checkbox-disabled: var(--form-grey);
  --color-background-input: var(--white);
  --color-background-input-active: var(--white);
  --color-background-input-disabled: var(--form-grey);
  --color-background-link: transparent;
  --color-background-link-active: transparent;
  --color-background-link-visited: transparent;
  --color-border-button-primary: var(--coderdojo-purple);
  --color-border-button-primary-active: var(--purple-20-white);
  --color-border-button-primary-focus: var(--coderdojo-focus-green);
  --color-border-button-primary-hover: var(--purple-20-black);
  --color-border-button-secondary: var(--coderdojo-purple);
  --color-border-button-secondary-active: var(--coderdojo-purple);
  --color-border-button-secondary-focus: var(--coderdojo-focus-green);
  --color-border-button-disabled: var(--grey-60);
  --color-border-button-disabled-active: var(--grey-80);
}

:root {
  --border-radius: 0.625rem;
  --border-radius-small: calc(var(--border-radius) / 2);
  --border-radius-very-small: 3px;
  --border-width-button: 3px;
  --border-width-medium-button: 2px;
  --border-radius-language-picker: 0.25rem;
  --border-width-language-picker: 0.125rem;
  --border-width-regular: 0.15rem;
}

:root {
  --coderdojo-black: #1A1A1A;
  --coderdojo-green: var(--green-40-black);
  --coderdojo-focus-green: #219CA3;
  --coderdojo-orange: #E15038;
  --coderdojo-purple: #4E166F;
  --drop-shadow-grey: rgba(0, 0, 0, 0.15);
  --drop-shadow-grey-hover: rgba(0, 0, 0, 0.25);
  --focus-color: #4E166F;
  --form-grey: #CFCFCF;
  --green-20-black: #1A7D82;
  --green-20-white: #4DB0B5;
  --green-40-black: #145E62;
  --green-40-white: #7AC4C8;
  --green-60-white: #A6D7DA;
  --green-90-white: #E9F5F6;
  --green-95-white: #F4FAFA;
  --light-grey: #F4F4F4;
  --orange-20-black: #B4402D;
  --orange-20-white: #E77360;
  --orange-40-black: #873022;
  --orange-40-white: #ED9688;
  --orange-60-white: #F3B9AF;
  --orange-90-white: #FCEDEB;
  --orange-95-white: #FDF6F5;
  --purple-20-black: #3E1259;
  --purple-20-white: #71458C;
  --purple-40-black: #2F0D43;
  --purple-40-white: #9573A9;
  --purple-60-white: #B8A2C5;
  --purple-90-white: #EDE8F1;
  --purple-95-white: #F6F3F8;
  --red-alert: #FCEDEB;
  --rpf-grey-150: #D5D7DC;
  --rpf-login-dark-blue: #2A3E4F;
  --rpf-text: #212121;
  --rpf-yellow-100: #FFFBE6;
  --rpf-yellow-400: #FFEC80;
  --transparent: #FFFFFF00;
  --white: #FFFFFF;
  --yellow-alert: #FDF8EB;
  --white-dark: rgba(255, 255, 255, 0.9);
  --white-darker: rgba(255, 255, 255, 0.8);
  --error-red: #A70603;
  --banner-red: rgba(175, 57, 55, 0.02);
  --form-success-green: #05611E;
  --form-warning-yellow: #E39836;
  --form-error-red: #F3524F;
  --form-error-dark-red: #AA3937;
  --link-button-hover-light-grey: #F1F2F3;
  --link-button-hover-dark-grey: #E3E4E8;
}

:root {
  --font-family-heading: var(--font-family-sans-serif);
  --font-family-sans-serif: Lato, sans-serif;
  --font-size-root-clamp-ideal: 2vmin;
  --font-weight-extra-bold: 800;
  --font-weight-black: 900;
}

:root {
  --color-text-primary: var(--coderdojo-black);
  --color-text-inverted: var(--white);
  --color-text-button-disabled: var(--white);
  --color-text-button-disabled-active: var(--white);
  --color-text-button-primary: var(--white);
  --color-text-button-primary-active: var(--white);
  --color-text-button-secondary: var(--coderdojo-purple);
  --color-text-button-secondary-active: var(--coderdojo-purple);
  --color-text-heading-base: var(--coderdojo-black);
  --color-text-heading-hero: var(--coderdojo-black);
  --color-text-heading-signpost-hero: var(--coderdojo-black);
}
