/*
 Theme Name: Lab42 Child
 Theme URI: https://www.lab42.games/
 Author: EXPRE
 Author URI: https://expre.co.uk/
 Description: Divi child theme for Lab42 (replatformed from Orchard Core). Tokens lifted from the live site at capture date 2026-04-30. See clients/sumo-digital/projects/lab42-amends/artifacts/discovery/lab42-current/theme/tokens.json for the source.
 Template: Divi
 Version: 0.1.0
 Tags: divi-child
 Text Domain: lab42-child
*/

:root {
  /* color */
  --colorAlertBackground: #dadada;
  --colorAlertErrorBackground: #e49393;
  --colorAlertErrorText: #310606;
  --colorAlertSuccessBackground: #93e493;
  --colorAlertSuccessText: #093109;
  --colorBlack: #0b0b0b;
  --colorButtonLabel: var(--colorWhite);
  --colorButtonLabelInverted: var(--colorSecondary);
  --colorCarouselIndicator: #747474;
  --colorCarouselIndicatorActive: #ffffff;
  --colorCarouselIndicatorFocus: #c4c4c4;
  --colorError: #e20000;
  --colorGrey: #747474;
  --colorGreyDark: #292929;
  --colorGreyLight: #e1e1e1;
  --colorHr: #c4c4c4;
  --colorPrimary: #be1e2d;
  --colorPrimaryActive: darken(#be1e2d, 10%);
  --colorSecondary: #070f26;
  --colorSiteBackground: #ffffff;
  --colorTextDefault: #0b0b0b;
  --colorTextLight: #747474;
  --colorTextLighter: #c4c4c4;
  --colorTextInverted: #ffffff;
  --colorWhite: #ffffff;
  /* form */
  --formBorderRadius: 0.8rem;
  /* scrollbar */
  --scrollbarWidth: 1.5rem;
  /* font */
  --fontFamilyDefault: "D-DIN Expanded", sans-serif;
  --fontFamilyHeading: "D-DIN Condensed", sans-serif;
  --fontSizeBase: 1.8rem;
  --fontSizeH1: calc(var(--fontSizeBase) * 4);
  --fontSizeH1Mobile: calc(var(--fontSizeBase) * 2.25);
  --fontSizeH2: calc(var(--fontSizeBase) * 3);
  --fontSizeH2Mobile: calc(var(--fontSizeBase) * 2);
  --fontSizeH3: calc(var(--fontSizeBase) * 1.62);
  --fontSizeH3Mobile: calc(var(--fontSizeBase) * 1.5);
  --fontSizeH4: calc(var(--fontSizeBase) * 1.5);
  --fontSizeH4Mobile: calc(var(--fontSizeBase) * 1.125);
  --fontSizeLarge: calc(var(--fontSizeBase) * 1.125);
  --fontSizeSmall: calc(var(--fontSizeBase) * 0.888);
  --fontSizeExtraSmall: 1.4rem;
  --fontSizeBlockquote: calc(var(--fontSizeBase) * 1.3);
  --fontSizeBlockquoteMobile: calc(var(--fontSizeBase) * 1);
  --fontWeightBold: 700;
  --fontWeightDefault: 400;
  /* letter */
  --letterSpacingDefault: initial;
  --letterSpacingHeading: var(--letterSpacingDefault);
  --letterSpacingParagraph: var(--letterSpacingDefault);
  --letterSpacingBlockquote: var(--letterSpacingDefault);
  --letterSpacingButton: var(--letterSpacingDefault);
  --letterSpacingNavigation: var(--letterSpacingDefault);
  /* line */
  --lineHeightDefault: 2.2rem;
  --lineHeightHeading: 1;
  --lineHeightParagraph: 1.4;
  --lineHeightBlockquote: 1.5;
  /* blockquote */
  --blockquoteBorderWidth: 0.3rem;
  --blockquoteMarginLeftTablet: 9rem;
  --blockquotePaddingLeft: 2.4rem;
  --blockquoteParagraphMarginBottom: 1.2rem;
  /* input */
  --inputBackgroundColor: var(--colorGreyLight);
  --inputBorderColor: var(--colorGreyLight);
  --inputFontWeight: var(--fontWeightBold);
  --inputLetterSpacing: initial;
  /* label */
  --labelPadding: 0 2.4rem;
  /* ordered */
  --orderedListPaddingLeft: 4.8rem;
  /* heading */
  --headingMargin: 0 0 1.5rem;
  --headingMarginTablet: var(--headingMargin);
  --heading1Margin: var(--headingMargin);
  --heading1MarginTablet: var(--headingMarginTablet);
  --heading2Margin: var(--headingMargin);
  --heading2MarginTablet: var(--headingMarginTablet);
  --heading3Margin: var(--headingMargin);
  --heading3MarginTablet: var(--headingMarginTablet);
  --heading4Margin: var(--headingMargin);
  --heading4MarginTablet: var(--headingMarginTablet);
  --heading1TextTransform: uppercase;
  /* hr */
  --hrColor: #c4c4c4;
  --hrHeight: 0.3rem;
  --hrSpacing: 4rem;
  /* badge */
  --badgeBackgroundPattern: none;
  --badgeBackgroundColor: transparent;
  --badgeBorderRadius: 1rem;
  --badgeBackgroundScale: 1;
  --badgeBackgroundScaleHover: 1.2;
  --badgeBackgroundTransitionDuration: 1s;
  --badgeImageMaxHeight: 4rem;
  --badgeImageMaxWidth: 12.5rem;
  --badgeLogoZIndex: 3;
  --badgeMinHeight: 6rem;
  /* button */
  --buttonAfterHoverWipeAmount: 100%;
  --buttonAfterOpacity: 0.1;
  --buttonAfterTransformRotate: 100deg;
  --buttonBorderRadius: 7rem;
  --buttonBorderThickness: 0.3rem;
  --buttonFontSize: var(--fontSizeSmall);
  --buttonFontWeight: bold;
  --buttonHoverAfterAnimationDuration: 2s;
  --buttonHoverIconBounceAmount: 1rem;
  --buttonHoverSvgAnimationDuration: 1s;
  --buttonOutlineTransitionDuration: 0.5s;
  --buttonPaddingHorizontal: 2rem;
  --buttonPaddingVertical: 1rem;
  --buttonSvgMarginLeft: 1rem;
  --buttonSvgWidth: 0.9rem;
  --buttonTextTransform: uppercase;
  /* card */
  --cardBackground: transparent;
  --cardBackgroundPattern: none;
  --cardBodyZIndex: 3;
  --cardBorder: var(--colorGrey);
  --cardBorderRadius: 1rem;
  --cardBodyPadding: 2.4rem;
  --cardBoxShadow: none;
  --cardJobBodyPadding: var(--cardBodyPadding);
  --cardJobMetaFontSize: var(--cardMetaFontSize);
  --cardJobMetaFontWeight: var(--cardMetaWeight);
  --cardJobTitleFontSize: var(--cardTitleFontSize);
  --cardJobTitleFontWeight: var(--cardTitleFontWeight);
  --cardMediaBorder: none;
  --cardMediaImageScale: 1;
  --cardMediaImageScaleHover: 1.2;
  --cardMediaImageTransitionDuration: 1s;
  --cardMediaMarginBottom: 0;
  --cardMediaOverlayGradientColor: 255, 255, 255;
  --cardMediaOverlayGradientInvertedColor: 0, 0, 0;
  --cardMediaOverlayGradientOpacity: 0.8;
  --cardMetaFontSize: var(--fontSizeBase);
  --cardMetaWeight: 700;
  --cardMetaTextTransform: uppercase;
  --cardTextColor: #0b0b0b;
  --cardTextColorInverted: #ffffff;
  --cardTitleFontSize: var(--fontSizeH3);
  --cardPinnedTitleFontSize: calc(var(--fontSizeH3) + 2rem);
  --cardTitleFontWeight: var(--fontWeightBold);
  --cardTitleMarginBottom: 0.2rem;
  --cardTitleTextTransform: initial;
  --cardTransform: none;
  /* content */
  --contentFeedTitleTextTransform: uppercase;
  /* footer */
  --footerBackgroundColor: transparent;
  --footerBackgroundPattern: none;
  --footerColorInverted: var(--colorTextInverted);
  --footerColorInvertedActive: var(--colorPrimary);
  --footerFontSize: var(--fontSizeSmall);
  --footerHeadingFontSize: var(--fontSizeBase);
  --footerPaddingVertical: 8rem;
  /* gallery */
  --galleryBorderRadius: 1rem;
  --galleryGutter: 2rem;
  --galleryGutterSmall: 1.5rem;
  /* group */
  --groupBackgroundColor: transparent;
  --groupBackgroundPattern: none;
  /* header */
  --headerBackgroundColor: transparent;
  --headerBackgroundPattern: none;
  --headerBackgroundPosition: initial;
  --headerBackgroundRepeat: repeat;
  --headerBackgroundSize: initial;
  --headerBackgroundSizeTablet: var(--headerBackgroundSize);
  --headerContentAlignItems: center;
  --headerContentHeight: 8rem;
  --headerContentHeightTablet: 10rem;
  --headerContentPadding: 0;
  --headerContentPaddingTablet: var(--headerContentPadding);
  --headerGroupNavigationBackgroundColor: var(--headerBackgroundColor);
  --headerGroupNavigationBackgroundPattern: var(--headerBackgroundPattern);
  --headerGroupNavigationDistance: 0rem;
  --headerGroupNavigationLeftTablet: 0;
  --headerGroupNavigationSpacing: 2rem;
  --headerGroupNavigationOpacity: 0.5;
  --headerInvertedBackgroundPattern: none;
  --headerInvertedMobileBackgroundColor: var(--headerMobileBackgroundColor);
  --headerInvertedNavBackgroundColor: transparent;
  --headerInvertedNavBackgroundImage: var(--headerNavBackgroundImage);
  --headerLogoAlignSelfTablet: center;
  --headerLogoDisplay: block;
  --headerLogoDisplayTablet: var(--headerLogoDisplay);
  --headerLogoMargin: 0 auto 0 0;
  --headerLogoMarginTablet: var(--headerLogoMargin);
  --headerLogoMaxHeight: 5rem;
  --headerLogoMaxHeightTablet: 6rem;
  --headerLogoMaxWidth: 10rem;
  --headerLogoMaxWidthTablet: 15rem;
  --headerMobileBackgroundColor: var(--colorGreyLight);
  --headerMobileBackgroundPattern: none;
  --headerNavBackgroundColor: transparent;
  --headerNavBackgroundImage: none;
  --headerNavBackgroundPosition: initial;
  --headerNavBackgroundRepeat: initial;
  --headerNavBackgroundSize: initial;
  --headerNavBorderTopColor: var(--colorWhite);
  --headerNavBtnAfterOffset: -1rem;
  --headerNavBtnBeforeMarginRight: 0.6rem;
  --headerNavBtnHeight: 2.4rem;
  --headerNavBtnWidth: 2.4rem;
  --headerNavBtnMargin: 0;
  --headerNavBtnPadding: 0;
  --headerNavDisplayTablet: flex;
  --headerNavFlexFlowTablet: row-reverse;
  --headerNavJustifyContentTablet: initial;
  --headerNavPaddingTop: var(--headerContentHeight);
  --headerNavWidthTablet: auto;
  /* hero */
  --heroBackgroundColor: transparent;
  --heroBodyPadding: 4.7rem;
  --heroColor: var(--colorBlack);
  --heroColorInverted: var(--colorTextInverted);
  --heroGradientHeight: 13rem;
  --heroHeadingMarginBottom: 3.2rem;
  --heroHeadingTextTransform: uppercase;
  --heroMediaMinHeight: 50rem;
  --heroPullDistance: 8rem;
  --heroSpacingAfterLarge: 9rem;
  --heroSpacingAfterLargeMobile: 6rem;
  --heroZIndex: 1;
  /* information */
  --informationBackgroundColor: transparent;
  --informationBackgroundPattern: none;
  --informationBorderRadius: 1rem;
  /* light */
  --lightGalleryVideoMaxWidth: 70rem;
  /* modal */
  --modalAlignItems: center;
  --modalBackdropColor: var(--colorBlack);
  --modalBackdropOpacity: 0.5;
  --modalBorderRadius: 1rem;
  --modalContentBackgroundColor: var(--colorWhite);
  --modalContentBackgroundPattern: none;
  --modalContentBoxShadow: none;
  --modalContentPadding: 2.6rem 1rem 1rem 1rem;
  --modalContentZIndex: 1;
  --modalJustifyContent: center;
  --modalZIndex: 500;
  --modalContentPaddingTablet: 3.6rem 2rem 2rem 2rem;
  /* nav */
  --navAnchorPadding: 1.5rem;
  --navAnchorPaddingTablet: 0.5rem 1rem;
  --navBorderColor: #d7d7d7;
  --navBorderColorLight: #eaeaea;
  --navColor: var(--colorBlack);
  --navColorActive: var(--colorPrimary);
  --navColorInverted: var(--colorTextInverted);
  --navColorInvertedActive: var(--colorPrimary);
  --navFontSize: var(--fontSizeBase);
  --navFontWeight: bold;
  --navFontWeightCurrent: var(--navFontWeight);
  --navFooterFontWeight: normal;
  --navFooterTextTransform: initial;
  --navItemMargin: 0;
  --navItemMarginTablet: var(--navItemMargin);
  --navPrimaryAnchorPaddingDesktop: 1rem 2rem;
  --navSocialItemMargin: 0;
  --navSocialItemMarginTablet: 0;
  --navSocialAnchorPaddingDesktop: 0.25rem 0.75rem;
  --navSocialAnchorPaddingTablet: 0.25rem 0.75rem;
  --navSubAnchorPadding: 1.5rem 2rem;
  --navSubAnchorPaddingTablet: 0.5rem 1rem;
  --navSvgHeight: 2.5rem;
  --navTextAlign: initial;
  --navTextDecorationHover: none;
  --navTextTransform: uppercase;
  /* notification */
  --notificationBackgroundColor: var(--colorPrimary);
  --notificationColor: var(--colorWhite);
  --notificationDimension: 2.6rem;
  --notificationFontSize: 1.2rem;
  --notificationFontWeight: bold;
  --notificationOffsetRight: 2rem;
  --notificationOffsetTop: 50%;
  /* person */
  --personImageSize: 17.5rem;
  /* rich */
  --richNavigationBorderWidth: 0.4rem;
  --richNavigationColor: var(--navColor);
  --richNavigationColorActive: var(--navColorActive);
  --richNavigationColorInverted: var(--navColorInverted);
  --richNavigationColorInvertedActive: var(--navColorIntertedActive);
  --richNavigationItemImageMinWidth: 8rem;
  --richNavigationItemSpacing: 2rem;
  --richNavigationItemWidth: 58rem;
  /* section */
  --sectionBackgroundColor: transparent;
  --sectionBackgroundPattern: none;
  /* scroll */
  --scrollEncouragementDistance: -6.5rem;
  --scrollEncouragementFontSize: calc(var(--fontSizeBase) * 0.725);
  /* tags */
  --tagsFontSize: 1.6rem;
  --tagsMargin: 3.2rem 0 3.2rem;
  --tagsTopBorder: 0.1rem solid var(--colorGrey);
  /* tiles */
  --tilesBackgroundColor: transparent;
  --tilesBackgroundPattern: none;
  --tilesDimension: 24rem;
  --tilesGap: 0.75rem;
  --tilesPadding: 1.5rem;
}

/* Breakpoints (min-width unless noted)
 * min-width: 23.4375em  (~375px)
 * min-width: 26.5625em  (~425px)
 * min-width: 37.5em  (~600px)
 * min-width: 48em  (~768px)
 * max-width: 63.99em  (~1023.84px)
 * min-width: 64em  (~1024px)
 * min-width: 1025px  (~1025px)
 * min-width: 80em  (~1280px)
 * min-width: 88.25em  (~1412px)
 * max-width: 89.99em  (~1439.84px)
 * min-width: 90em  (~1440px)
 */

/* lab42-child overrides */
/* (component-level CSS lands here as theme + templates are built) */
