/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================
   WP — Admin-bar
========================================= */

body.admin-bar .dbl-header{
	top: 32px;
}

@media (max-width: 782px){

	body.admin-bar .dbl-header{
		top: 46px;
	}

}


/* =========================================
   BEBAS NEUE
========================================= */

@font-face {
    font-family: "Bebas Neue";
    src:
        url("/wp-content/themes/hello-theme-child-master/assets/fonts/bebas-neue/BebasNeueRegular.woff2") format("woff2"),
        url("/wp-content/themes/hello-theme-child-master/assets/fonts/bebas-neue/BebasNeueRegular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    font-synthesis: none;
}

@font-face {
    font-family: "Bebas Neue";
    src:
        url("/wp-content/themes/hello-theme-child-master/assets/fonts/bebas-neue/BebasNeueBold.woff2") format("woff2"),
        url("/wp-content/themes/hello-theme-child-master/assets/fonts/bebas-neue/BebasNeueBold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    font-synthesis: none;
}

/* =========================================
   INTER
========================================= */

@font-face {
    font-family: 'Inter';
    src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Medium.woff2') format('woff2'),
        url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Bold.woff2') format('woff2'),
        url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Regular.woff2') format('woff2'),
        url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-SemiBold.woff2') format('woff2'),
        url('/wp-content/themes/hello-theme-child-master/assets/fonts/inter/Inter-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


/* =========================================
   USM — ROOT TOKENS
========================================= */

:root {

  /* Fonts */
  --font-display: "Bebas Neue", sans-serif;
  --font-heading: "Bebas Neue", sans-serif;
  --font-ui: "Inter", sans-serif;
  --font-body: "Inter", sans-serif;

  /* Font weights */
  --w-400: 400;
  --w-500: 500;
  --w-600: 600;
  --w-700: 700;

  /* Letter spacing */
  --ls-tight: -0.025em;
  --ls-heading: 0.015em;
  --ls-body: -0.01em;
  --ls-loose: 0.02em;
  --ls-ui: -0.02em;

  /* Line heights */
  --lh-display: .88;
  --lh-heading: .95;
  --lh-intro: 1.2;
  --lh-body-lg: 1.35;
  --lh-body: 1.45;

  /* Type Scale */
	--text-body: clamp(18px, calc(16px + 0.25vw), 22px);
	--text-nav: 16px;
	--text-intro:   clamp(22px, 2.5vw, 32px);
	--text-body-lg: clamp(20px, 1.35vw, 26px);
	--text-label: clamp(18px, 1.6vw, 28px);

	--heading-md:   clamp(32px, 4vw, 56px);
	--heading-lg: clamp(56px, 7vw, 104px);
	--heading-xl:   clamp(80px, 10vw, 200px);
	
  /* Spacing System */

  --space-1: clamp(16px, 1.2vw, 24px);
  --space-2: clamp(24px, 2vw, 48px);
  --space-3: clamp(40px, 3vw, 72px);
  --space-4: clamp(56px, 4vw, 96px);
  --space-5: clamp(72px, 6vw, 144px);
  --space-6: clamp(96px, 8vw, 192px);
	
  --space-section: var(--space-4);
	
  /* Section Rhythm */

  --section-padding-sm: var(--space-3);
  --section-padding: var(--space-4);
  --section-padding-lg: var(--space-5);
  --section-padding-xl: var(--space-6);

  /* Container Widths */

  --container-sm: 720px;
  --container-md: 960px;
  --container-lg: 1440px;
  --container-xl: 1680px;
	
  /* Content Width */

  --gutter: clamp(24px, 4vw, 80px);
  --grid-gap: clamp(16px, 1.5vw, 32px);
  --section-gap: clamp(48px, 4vw, 72px);

  --site-width: calc(100vw - (var(--gutter) * 2));


  /* Border Radius */

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 999px;


  /* Transitions */

  --ease-standard: cubic-bezier(.4,0,.2,1);

  --transition-fast: 180ms var(--ease-standard);
  --transition-base: 280ms var(--ease-standard);
  --transition-slow: 500ms var(--ease-standard);
	

  --content-width:
  calc(100vw - (var(--gutter) * 2));
	
  /* Header */
  --header-height: 72px;
  --header-height-mobile: 64px;

  --header-bg: rgba(255,255,255,.96);
  --header-border: var(--border-light);
  --hero-strip-height: clamp(240px, 38vw, 460px);
  --hero-strip-title: clamp(38px, 8vw, 88px);

  --z-header: 1000;
	
  /* Nav */	
  --bottom-nav: 0;
  --overlay-bg: rgba(0,0,0,.75);
  --overlay-blur: 24px;

  /* Divide */

  --divide-line-light: 1px solid var(--border-dark);
  --divide-line-dark: 1px solid var(--border-light);

  /* Brand */
  --text: #111;
  --text-muted: #666666;
  --text-on-dark: #FFFFFF;
  --text-on-dark-muted: rgba(255,255,255,.7);
	
  --surface: #FFFFFF;
  --surface-alt: #F4F4F2;
  --surface-dark: #111111;
	
  --accent: #39FF14;
  --accent-dark: #21C700;
  --accent-light: #7AFF63;
  --accent-50: #DFFFD7;
	
  --black-600: #111111;
  --black-500: #1A1A1A;
  --black-400: #2C2C2C;
  --black-300: #555555;
  --black-200: #888888;
	
  --border-light: rgba(17,17,17,.08);
  --border-dark: rgba(255,255,255,.12);

  /* Anchor Link */
  --anchor-offset: 90px;

}

/* =========================================
   USM — TYPOGRAPHY
========================================= */

/* Base Typography  */

body {
  font-family: var(--font-body);
  font-weight: var(--w-400);
  line-height: var(--lh-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background: var(--surface);
  color: var(--text);
}


/* Display System */

.font-display .elementor-heading-title {
  font-family: var(--font-display);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);
}

.font-heading .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
}


/* Body System */

.font-body  {
  font-family: var(--font-body);
  font-weight: var(--w-400);
}

.font-ui  {
  font-family: var(--font-ui);
  font-weight: var(--w-500);
  letter-spacing: var(--ls-body);
}

.text-display .elementor-heading-title {
  font-family: var(--font-display);
  font-size: var(--heading-xl);
  font-weight: var(--w-700);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);
  text-transform: uppercase;
}

/* Large Body */

.text-body--large {
  font-family: var(--font-body);
  font-size: var(--text-body-lg);
  font-weight: var(--w-400);
  line-height: var(--lh-body-lg);
  letter-spacing: var(--ls-body);

  max-width: 48ch !important;
}

.text-body--large {
  display: block;
  width: 100%;
  color: var(--text-muted, #666);
}

.text-body--large p {
  margin: 0 0 1.25em;
}

.text-body--large p:first-child {
  color: var(--text, #111);
}

/* Hero Display */

.hero-title .elementor-heading-title {
  font-family: var(--font-display);
  font-size: var(--heading-xl);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
  font-weight: var(--w-700);
}

/* Section Titles */

.section-title .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: var(--heading-lg);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
  font-weight: var(--w-700);
}

.text-title,
.text-title .elementor-heading-title {

  font-family: var(--font-heading);
  font-size: var(--heading-md);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
}

/* Supporting Variant */

.text-title--supporting,
.text-title--supporting .elementor-heading-title {

  font-size: var(--heading-md);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: -0.02em;

  max-width: 18ch !important;
}

.text-intro {
  font-size: var(--text-intro);
  font-weight: var(--w-500);
  line-height: var(--lh-intro);
  letter-spacing: var(--ls-body);
  margin-bottom: var(--space-2);
	
  max-width: 46ch !important;
}

.text-body {
  font-size: var(--text-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
	
  max-width: 52ch !important;
}

.usm-opportunity__body {
  display: block;
  width: 100%;
  max-width: 52ch !important;
  color: var(--text-muted, #666);
}

.usm-opportunity__body p {
  margin: 0 0 1.25em;
}

.usm-opportunity__body p:first-child {
  color: var(--text, #111);
}

.usm-opportunity__body p:last-child,
.usm-opportunity__body strong {
  color: var(--text, #111);
}


/* Eyebrow / Label */
.eyebrow,
.eyebrow .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
}

/* Mission Statement */

.usm-mission__statement,
.usm-mission__statement .elementor-heading-title {
  font-family: var(--font-display);
  font-size: clamp(48px, 6.5vw, 132px);
  font-weight: var(--w-700);
  line-height: .92;
  letter-spacing: var(--ls-tight);
  text-transform: uppercase;
  text-wrap: balance;
}

.usm-mission__statement {
  width: 100%;
  max-width: 26ch;
  margin-top: clamp(48px, 7vw, 120px);
}
	
@media (max-width: 1024px) {
  .usm-mission__statement {
    max-width: 16ch;
    margin-top: 40px;
  }

  .usm-mission__statement,
  .usm-mission__statement .elementor-heading-title {
    font-size: clamp(3.5rem, 9vw, 5.5rem);
  }
}

@media (max-width: 767px) {
  .usm-mission__statement {
    max-width: 15ch;
  }

  .usm-mission__statement,
  .usm-mission__statement .elementor-heading-title {
    font-size: clamp(3.25rem, 13vw, 4.75rem);
  }
}

.usm-opportunity__lead.elementor-widget {
  font-family: var(--font-heading);
  font-size: clamp(32px, 3.2vw, 56px);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
  width: 100%;
  max-width: 36ch;
  text-wrap: balance;
}

/* Typography Utilities */

.w-400 { font-weight: 400; }
.w-500 { font-weight: 500; }
.w-600 { font-weight: 600; }
.w-700 { font-weight: 700; }

.text-uppercase { text-transform: uppercase; }

.ls-tight {
    letter-spacing: var(--ls-tight);
}

.ls-heading {
    letter-spacing: var(--ls-heading);
}

.text-balance {
  text-wrap: balance;
}

p {
  margin: 0 0 1em;
	
}

/* =========================================
   LAYOUT
========================================= */

.theme-light{
  --surface: #FFFFFF;
  --text: #111111;
}

.theme-dark{
  --surface: var(--surface-dark);
  --text: var(--surface-alt) !important;
}



.site-shell{
  width: var(--site-width);
  margin-inline: auto;
}

.dbl-container {
  width: var(--site-width);
  margin-inline: auto;
}

.container-text {
  width: min(100% - 48px, 720px);
  margin-inline: auto;
}

.section{
 padding-block: calc(var(--section-padding) * .5);

 color: var(--text);
}

.section-first{
 padding-top: var(--section-padding);
}

.section-last{
 padding-bottom: var(--section-padding);
}

.section--flush{
padding-bottom: 0;
}

.section-double{
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}

img,
video {
  max-width: 100%;
  display: block;
}

::selection{
    background: var(--accent);
    color: #111;
}

html {
  scroll-behavior: smooth;
}

/* DBL Reveal */

.reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);

  transition:
	opacity .9s cubic-bezier(.22,.61,.36,1),
	transform .9s cubic-bezier(.22,.61,.36,1);

  will-change: opacity, transform;
}

.reveal.is-inview {
  opacity: 1;
  transform: translate3d(0,0,0);
}

/* Mission reveal sequence */

.usm-mission__statement.reveal {
  opacity: 0;
  transform: translate3d(0, 60px, 0);

  transition:
    opacity 1.05s cubic-bezier(.22, .61, .36, 1) 360ms,
    transform 1.05s cubic-bezier(.22, .61, .36, 1) 360ms;
}

.usm-mission__statement.reveal.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Elementor editor fix */
.elementor-editor-active .reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Anchor offset */

#mission,
#what-we-do,
#about,
#pillars,
#partners,
#contact {
  scroll-margin-top: var(--anchor-offset);
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media (max-width: 767px) {
  :root {
    --anchor-offset: 72px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* =========================================
   Display Headings
========================================= */

/* H1 - H3*/

h1,
h2,
h3 {
  font-family: var(--font-heading);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  margin: 0;
}

/* Scale */

h1 {
  font-size: var(--heading-xl);
}

h2 {
  font-size: var(--heading-lg);
}

h3 {
  font-size: var(--heading-md);
}


/* Editorial/Ui Headings H4 - H6 */

h4,
h5,
h6 {
  font-family: var(--font-body);
  font-weight: var(--w-600);
  line-height: var(--lh-intro);
  letter-spacing: -0.01em;
  text-transform: none;
  margin: 0;
}

/* =========================================
  TEXT LINKS
========================================= */

a {
  color: inherit;
  text-decoration: none;
}

p a,
li a,
.text-link {

  text-decoration: none;

  background-image:
    linear-gradient(currentColor, currentColor);

  background-repeat: no-repeat;
  background-position: 0 95%;
  background-size: 0% 2px;

  transition:
    background-size .28s cubic-bezier(.4,0,.2,1),
    background-image .28s cubic-bezier(.4,0,.2,1);
}

p a:hover,
li a:hover,
.text-link:hover {

  background-image:
    linear-gradient(currentColor, currentColor);

  background-size: 100% 2px;
}


/* =========================================
   SITE TITLE
========================================= */

.site-title {
  font-family: var(--font-body);
  font-size: var(--text-nav);
  font-weight: var(--w-500);
  line-height: 1;
  letter-spacing: -0.01em;
}

.site-title a,
.site-title a:visited {
  color: inherit;
  text-decoration: none;
}

/* Kill Elementor menu underline/border */

.usm-nav .elementor-item,
.usm-nav .elementor-item:hover,
.usm-nav .elementor-item:focus,
.usm-nav .elementor-item-active,
.usm-nav .elementor-item.elementor-item-active{

  border:none !important;
  box-shadow:none !important;
}

/* Kill Elementor pseudo underline */

.usm-nav .elementor-item:after,
.usm-nav .elementor-item:before{
  display:none !important;
}


/* Hover underline */

.site-title a {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 95%;
  background-size: 0% 2px;

  transition:
    background-size .25s ease;
}

.site-title a:hover {
  background-size: 100% 2px;
}

/* Layout engine */

.site-frame,
.section-frame,
.editorial-frame {

  width: var(--content-width);
  margin-inline: auto;

}

/* =========================================
   Title Plusses .title-plusses
========================================= */

.title-plusses .elementor-heading-title::after,
.dbl-card-slider__heading::after {
  content: "+ + + + + + + + + + + +";

  display: block;
  width: max-content;
  margin-top: clamp(16px, 1.5vw, 24px);

  color: currentColor;
  opacity: .45;

  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 8px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .18em;
  white-space: nowrap;
}

/* =========================================
   Footer Legal Menu
========================================= */

/* active */

.dbl-footer .elementor-widget-n-menu .e-n-menu-title.e-current a{
    color:#fff;
}

.dbl-footer-legal-menu .e-current .e-n-menu-title-text{
    background-image:none;
    border:none;
    box-shadow:none;
    padding-bottom:0;
}

/* =========================================
   Base Button
========================================= */

/* ==== GLOBAL — Remove Default Button Hover Fill ==== */

button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
  background-color: transparent;
}

/* ==== END ==== */

.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 10px 20px;

  border-radius: var(--radius-lg);

  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  border: none;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);
}

.elementor-button:hover {
  transform: translateY(-1px);
}

/* PRIMARY */


.elementor-widget-button.btn-primary .elementor-button {
  background: var(--black-600);
  color: var(--surface);
  border: 1px solid currentColor !important;
}

.elementor-widget-button.btn-primary .elementor-button:hover {
  background: var(--surface);
  color: var(--black-600);
  border: 1px solid currentColor !important;
}

/* SECONDARY */

.btn-secondary .elementor-button {
  background: var(--black-300) !important;
  color: #fff;
  border: 1px solid var(--black-300) !important;
}

.btn-secondary .elementor-button:hover {
  background: #fff !important;
  color: #111 !important;
}

/* OUTLINE */

.btn-outline .elementor-button,
.btn-outline button.elementor-button {

  background: transparent !important;
  color: #111 !important;
  border: 1px solid currentColor !important;
}

.btn-outline .elementor-button:hover,
.btn-outline button.elementor-button:hover{

  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  transform:translateY(-1px);
}

/* OUTLINE REVERSE */

.elementor-widget-button.btn-outline-rev .elementor-button {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: none !important;
}

.elementor-widget-button.btn-outline-rev .elementor-button:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.4) !important;
  transform: translateY(-1px);
}

/* EXPERIENCE — Dark Section Button Override */

.experience-section.is-dark .btn-outline .elementor-button {

  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  background:transparent !important;
}

.experience-section.is-dark .btn-outline .elementor-button:hover {

  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.4) !important;
}

.btn-group{
  display:flex;
  flex-wrap:wrap;
  gap: var(--space-1);
}


/* =========================================
   Global Header
========================================= */

.dbl-header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;

	z-index: var(--z-header);

	background: var(--surface);

	border-bottom: 1px solid var(--header-border);
}

.dbl-hero{
	padding-top: var(--header-height);
}

/* SHELL */

.dbl-header-shell{
	width: var(--site-width);
	margin-inline:auto;
	min-height:var(--header-height);
}

/* GRID */

.dbl-header-grid{
  width:100% !important;
  max-width:none !important;

  display:grid !important;

  grid-template-columns:
    auto
    1fr
    auto;

  align-items:center;

  gap:32px;

  min-height:var(--header-height);
}

.dbl-header-actions{

    display:flex !important;
    flex-direction:row !important;
    justify-content:flex-end !important;
    align-items:center !important;

    gap:var(--space-1);

    width:auto !important;

    flex:0 0 auto !important;

}

/* LOGO */

.usm-logo {
  display: flex;
  flex: 0 0 auto;
  align-items: center;

  width: auto !important;
  height: calc(var(--header-height) - 16px);
}

.usm-logo .elementor-widget-container,
.usm-logo a {
  display: flex;
  align-items: center;
  width: auto;
  height: 100%;
}

.usm-logo img {
  display: block;
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  max-height: 100%;
  object-fit: contain;
}

@media (max-width: 767px) {
  .usm-logo {
    height: calc(var(--header-height-mobile) - 18px);
  }
}


/* NAV */

.usm-nav{
  justify-self:center;
  line-height: 1;
  align-items: center;
}

.usm-nav .elementor-nav-menu{
  display:flex;
  gap:36px;
}

.usm-nav .elementor-item:hover::after,
.usm-nav .current-menu-item .elementor-item::after{
  transform:scaleX(1);
}

.usm-nav .elementor-item,
.usm-nav .elementor-nav-menu a{
  font-family: var(--font-heading);
  font-weight: var(--w-700);
  font-size:var(--text-nav);
  letter-spacing: var(--ls-loose);
  padding:4px 0 !important;
  text-decoration:none;
}

/* =========================================
   MOBILE NAV
========================================= */

.usm-nav .elementor-menu-toggle {
  display: none;
}

.dbl-header .usm-nav{
    display:block;
}




/* =========================================
   USM MOBILE OVERLAY
========================================= */

/* DESKTOP */

.usm-overlay,
.usm-menu-toggle{
    display:none;
}

@media (max-width:1024px){
	
/* MOBILE / TABLET */
	
.dbl-header .usm-nav{
	display:none;
}

.usm-menu-toggle{

    display:flex;

    align-items:center;
    justify-content:center;

    cursor:pointer;

}
	
.dbl-header-grid{

    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    flex-wrap:nowrap !important;

}

/* =========================================
   Overlay
========================================= */

.usm-overlay{

    position:fixed;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    width:100vw;
    height:100dvh;

	padding-top: clamp(36px, 6vw, 56px);
	padding-inline: clamp(24px, 5vw, 48px);
	padding-bottom: clamp(32px, 6vw, 48px);

    background:rgba(0,0,0,.75);

	backdrop-filter:blur(var(--overlay-blur));
	-webkit-backdrop-filter:blur(var(--overlay-blur));

    z-index:9998;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .35s ease,
        visibility .35s ease;

}

.usm-overlay.is-open{

    opacity:1;
    visibility:visible;
    pointer-events:auto;

}

/* =========================================
   Top
========================================= */

.overlay-top{

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

}

.overlay-top img[src$=".svg"]{
    width:340px !important;
    max-width:65vw;
    height:auto;
}

.usm-menu-close{

    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin-top:4px;

    cursor:pointer;

}

.usm-menu-close svg{

    width:22px;
    height:22px;

    fill:#fff;

    transition:
        transform var(--transition-base),
        opacity var(--transition-base);

}

.usm-menu-close:hover svg{

    transform:rotate(90deg);
    opacity:.7;

}

/* =========================================
   Middle
========================================= */

.overlay-middle{

    flex:1;

    display:flex;
    align-items:flex-start;
    justify-content:flex-start;

}

/* Kill ALL link effects */

.overlay-middle .elementor-item{

    background:none !important;
    background-image:none !important;
    background-repeat:no-repeat !important;
    background-size:0 0 !important;

    text-decoration:none !important;
    box-shadow:none !important;
    border:none !important;

}
	
/* =========================================
   Overlay Main Menu
========================================= */

.overlay-middle .elementor-item{

    position: relative;
    display: inline-block;

    font-family: var(--font-ui);
    font-size: var(--heading-md);
    font-weight: var(--w-400);

    line-height: 20px;
    margin-bottom: var(--space-3);
    letter-spacing: var(--ls-tight);

    color: var(--text-on-dark);
    opacity: .82;

    transition: opacity .25s ease;

}

.overlay-middle .elementor-item::after{

    content: "";

    position: absolute;
    left: 0;
    bottom: -8px;

    width: 100%;
    height: 2px;

    background: currentColor;

    transform: scaleX(0);
    transform-origin: left center;

    transition: transform .3s cubic-bezier(.25,.46,.45,.94);

}

.overlay-middle .elementor-item:hover,
.overlay-middle .elementor-item:focus-visible,
.overlay-middle .elementor-item.elementor-item-active{

    opacity: 1;

}

.overlay-middle .elementor-item:hover::after,
.overlay-middle .elementor-item:focus-visible::after,
.overlay-middle .elementor-item.elementor-item-active::after{

    transform: scaleX(1);

}

/* =========================================
   Overlay Footer
========================================= */

.overlay-bottom{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 24px;
}

/* Remove container/widget height */

.footer-links,
.footer-social{
    flex: 0 0 auto;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
}

.footer-links .elementor-widget-nav-menu,
.footer-social .elementor-widget-nav-menu,
.footer-links .elementor-widget-container,
.footer-social .elementor-widget-container{
    margin: 0;
    padding: 0;
}

/* Horizontal menu spacing */

.footer-links .elementor-nav-menu,
.footer-social .elementor-nav-menu{
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
}

/* Override Elementor's default link padding */

.footer-links .elementor-nav-menu--main .elementor-item,
.footer-social .elementor-nav-menu--main .elementor-item{
    display: block;

    padding: 0 !important;
    margin: 0 !important;

    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: var(--ls-ui);

    color: var(--text-on-dark-muted);
    opacity: .65;

    background: none !important;
    text-decoration: none;

    transition: opacity var(--transition-base);
}

.footer-links .elementor-item:hover,
.footer-links .elementor-item:focus-visible,
.footer-social .elementor-item:hover,
.footer-social .elementor-item:focus-visible{
    opacity: 1;
}

}



/* =========================================
   DBL Footer
========================================= */


.dbl-footer {
  --surface: #000;
  --text: #fff;
	
  background: var(--surface);
  color: var(--text);
	
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.18);
}

.dbl-footer a {
  color: inherit;
  text-decoration: none;
}

/* === Top Section === */

.dbl-footer-top {
	display: grid;

	grid-template-columns:
		220px
		1fr
		auto;

	align-items: start;

	column-gap: clamp(40px, 6vw, 120px);

	border-bottom: var(--divide-line-light);

	padding-bottom: var(--section-padding);
}


.dbl-footer-about-content {
	display: contents;
}

/* Text */

.dbl-footer-about {
	max-width: 52ch !important;
}

/* Social */

.dbl-footer-social {
	justify-self: end;
	align-self: start;
}

/* Icons */

.dbl-footer-socials {
	display: flex;
	align-items: center;
	gap: 18px;
}

.dbl-footer-socials a {
	display: inline-flex;
	color: #fff;

	transition: color .3s ease;
}

.dbl-footer-socials a:hover {
	color: #777;
}

.dbl-footer-socials svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Links */

.dbl-footer-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: #fff;

	transition:
		color .3s ease,
		opacity .3s ease,
		transform .3s ease;
}

/* SVG */

.dbl-footer-socials svg {
	width: 20px;
	height: 20px;

	fill: currentColor !important;
}

/* Hover */

.dbl-footer-socials a:hover {
	color: #777;
}

/* Hover */

.dbl-footer-social:hover {
	color: rgba(255,255,255,.55);
}

@media (max-width: 1024px) {

	.dbl-footer-social {
		justify-self: start;
	}

	.dbl-footer-socials {
		justify-content: flex-start;
	}
}

/* === About Section === */

.dbl-footer-newsletter {
  padding-block: var(--section-padding);
}

.dbl-footer-newsletter-text {
	justify-self: start;
	max-width: 46ch !important;
}

/* Newsletter Section */

.dbl-footer-hero {
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);

  text-align: center;
  overflow: hidden;
}

/* === Hero Section === */

.dbl-footer-hero {
  padding-top: var(--space-3);
  border-top: var(--divide-line-light);
  text-align: center;

  overflow: hidden;
}


/* Main Logo */

.dbl-footer-lockup-desktop {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
}

.dbl-footer-lockup-desktop .e-svg-base {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Desktop */
.dbl-footer-lockup-mobile,
.dbl-footer-date,
.dbl_footer_venue {
  display: none;
}

/* Date + Venue Hero Line */

.dbl-footer-meta {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: clamp(18px, 2vw, 36px) !important;

  margin-top: clamp(20px, 2vw, 32px);
  margin-bottom: clamp(42px, 4vw, 64px);
}

.dbl-footer-date {
  font-size: clamp(46px, 4vw, 84px);
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  line-height: .9;
}

.dbl-footer-venue {
  font-size: clamp(18px, 1.1vw, 28px);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;

  opacity: .9;
}

/* Sponsor Logos */

.dbl-footer-logo {
  width: 100%;
  margin-inline: auto;
  line-height: 0;
}

.dbl-footer-logo .e-svg-base,
.dbl-footer-logo svg {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.dbl-footer-sponsor:hover svg {
  opacity: 1;
}

/* Sponsors */

.dbl-footer-sponsor {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: clamp(20px, 4vw, 56px);

  flex-wrap: nowrap;

  width: fit-content;
  margin-inline: auto;

  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
}

/* Sponsor SVG sizing */

.see-tickets-logo,
.ax-arenacross-logo,
.bp-pulse-live-logo {
  flex: 0 0 auto !important;
  width: auto !important;
  line-height: 0;
}

.dbl-footer-sponsor {
  width: fit-content;
  margin-inline: auto;
}

.see-tickets-logo .e-svg-base,
.see-tickets-logo svg {
  height: clamp(34px, 3vw, 52px) !important;
  width: auto !important;
}

.ax-arenacross-logo .e-svg-base,
.ax-arenacross-logo svg {
  height: clamp(40px, 4vw, 68px) !important;
  width: auto !important;
}

.bp-pulse-live-logo .e-svg-base,
.bp-pulse-live-logo svg {
  height: clamp(36px, 3vw, 56px) !important;
  width: auto !important;
}

/* SVGs */

.dbl-footer-sponsor .e-svg-base,
.dbl-footer-sponsor svg {
  display: block;
} 

/* === Bottom Footer === */

.dbl-footer-bottom {

  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;

  flex-wrap: wrap;
}

/* Footer Menu Hover Underline */

.dbl-footer-bottom-menu .e-n-menu-title-text,
.dbl-footer-legal-menu .e-n-menu-title-text {
	
  color: rgba(255,255,255,.56) !important;

  background-image:
    linear-gradient(currentColor, currentColor);

  background-repeat: no-repeat;

  background-size: 0% 1px;

  background-position: 0 100%;

  transition:
    background-size .28s cubic-bezier(.4,0,.2,1),
    color .2s ease;
}

/* Hover */

.dbl-footer-bottom-menu .e-n-menu-title-container:hover .e-n-menu-title-text,
.dbl-footer-legal-menu .e-n-menu-title-container:hover .e-n-menu-title-text {

  background-size: 100% 1px;

  color: #fff !important;
}

/* Footer menus */

.dbl-footer-bottom-menu,
.dbl-footer-legal-menu {
  width: fit-content !important;
}

/* Remove hidden Elementor gutter */

.dbl-footer-bottom-menu .e-n-menu-heading,
.dbl-footer-legal-menu .e-n-menu-heading {
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}

.dbl-footer-bottom-menu .e-n-menu-item:first-child .e-n-menu-title {
  padding-left: 0 !important;
}

.dbl-footer-bottom-menu .e-n-menu-item:last-child .e-n-menu-title {
  padding-right: 0 !important;
}

.dbl-footer-legal-menu .e-n-menu-item:first-child .e-n-menu-title {
  padding-left: 0 !important;
}

.dbl-footer-legal-menu .e-n-menu-item:last-child .e-n-menu-title {
  padding-right: 0 !important;
}

    /* ASL mark */
	.asl-logo-mono-white {
		justify-content: flex-end;
		align-items: flex-end;
	}

	.asl-logo-mono-white .e-svg-base {
		width: clamp(28px, 2.8vw, 40px) !important;
		height: auto !important;
		margin-top: 12px;
		display: block;
	}

/* Mobile / Tablet Transition */

@media (max-width: 1024px) {
	
  /* .dbl-footer-lockup-desktop {
    display: none;
  }*/
	
	
  .dbl-footer-hero,
  .dbl-footer-sponsors,
  .dbl-footer-bottom,
  .dbl-footer-meta {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .dbl-footer-sponsors {
    width: 100%;
  }

  .dbl-footer-sponsors .e-con-inner,
  .dbl-footer-sponsors .e-con {
    justify-content: flex-start !important;
  }

  .dbl-footer-lockup-mobile,
  .dbl-footer-date,
  .dbl_footer_venue {
	width: 100%;
    display: block;
  }
	
  .dbl-footer-sponsors {
    justify-content: flex-start !important;
  }
	
  .dbl-footer-lockup-mobile .e-svg-base {
	  width: 100% !important;
	  height: auto !important;
	  display: block !important;
  }

  .dbl-footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .dbl-footer-top,
  .dbl-footer-newsletter {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .dbl-footer-about-content {
    flex-direction: column;
    gap: 24px;
  }

  .dbl-footer-newsletter-form {
    width: 100%;
  }

  .dbl-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
	
    /* ASL mark */
	.asl-logo-mono-white {
		justify-content: flex-start;
		align-items: flex-start;
	}

}

/* MOBILE FOOTER REFINEMENTS */

@media (max-width: 767px) {

  /* Date */
  .dbl-footer-date {
    font-size: clamp(28px, 7vw, 40px);
    line-height: .92;
    letter-spacing: -.03em;
    font-weight: 500;
  }

  /* Venue */
  .dbl_footer_venue {
    font-size: clamp(16px, 3.2vw, 20px);
    line-height: 1.2;
    letter-spacing: .08em;
  }

  /* Sponsors */
  .dbl-footer-sponsors {
    justify-content: flex-start !important;
    gap: 24px !important;
  }

  .dbl-footer-sponsors img,
  .dbl-footer-sponsors svg {
    max-height: 40px;
    width: auto;

  }
	
  .dbl-footer-legal-menu {
	margin-top: 18px;
  }


  /* Bottom footer stack */
  .dbl-footer-bottom {
    align-items: flex-start;
    gap: 24px;
  }

  /* Menus */
  .dbl-footer-bottom-menu,
  .dbl-footer-legal-menu {
    width: 100%;
  }

  .dbl-footer-bottom-menu .e-n-menu-heading,
  .dbl-footer-legal-menu .e-n-menu-heading {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0;
  }

  /* Only RIGHT spacing on mobile */
  .dbl-footer-bottom-menu .e-n-menu-title,
  .dbl-footer-legal-menu .e-n-menu-title {
    padding-left: 0 !important;
    margin-left: 0 !important;

    padding-right: 24px !important;
    margin-right: 0 !important;
  }

  /* Remove final item spacing */
  .dbl-footer-bottom-menu .e-n-menu-item:last-child .e-n-menu-title,
  .dbl-footer-legal-menu .e-n-menu-item:last-child .e-n-menu-title {
    padding-right: 0 !important;
  }

}

/* FOOTER NEWSLETTER FORM */

.dbl-footer-newsletter {
	display: grid;
	grid-template-columns: 1.1fr 1.9fr;
	align-items: center;

	column-gap: clamp(48px, 6vw, 120px);
}

/* Keep form from becoming ultra-wide */

.dbl-footer-newsletter-form {
	max-width: 980px;
	width: 100%;
	margin-left: auto;
}

/* Actual Elementor fields wrapper */

.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns:
		minmax(160px, 1fr)
		minmax(160px, 1fr)
		minmax(160px, 1fr)
		auto;

	align-items: end;

	column-gap: clamp(18px, 2vw, 28px);
	row-gap: 20px;

	width: 100%;
}

/* Field groups */

.dbl-footer-newsletter-form
.elementor-field-type-submit {
	width: auto !important;
}

/* DBL Footer Newsletter Form button  */

.dbl-footer-newsletter-form .elementor-button {

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 10px 20px;

  border-radius: var(--radius-lg);

  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  border: none;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);

	background: #fff !important;
	color: #111 !important;
}

.dbl-footer-newsletter-form .elementor-button:hover {
	background: #777 !important;
	border-color: #777 !important;
	color: #fff !important;
}

/* Inputs */

.dbl-footer-newsletter-form .elementor-field {
	width: 100% !important;
	max-width: none !important;

	background: transparent !important;

	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,.18) !important;
	border-radius: 0 !important;

	padding: 0 0 14px 0 !important;

	min-height: auto !important;

	color: #fff;

	font-size: 18px;
	font-weight: 400;

	box-shadow: none !important;
}

/* Labels */

.dbl-footer-newsletter-form label {
	display: block;
	margin-bottom: 14px;

	font-size: 15px;
	font-weight: 500;
	line-height: 1;

	color: rgba(255,255,255,.92);
}

/* Placeholder */

.dbl-footer-newsletter-form .elementor-field::placeholder {
	color: rgba(255,255,255,.85);
}

/* Submit wrapper */

.dbl-footer-newsletter-form .elementor-field-type-submit {
	flex: 0 0 auto !important;
	width: auto !important;
}

/* Button */

.dbl-footer-newsletter-form .elementor-button {
	white-space: nowrap;
}

/* MOBILE newsletter form */

@media (max-width: 1024px) {

	.dbl-footer-newsletter {
		grid-template-columns: 1fr;
		row-gap: clamp(32px, 4vw, 56px);
	}

	.dbl-footer-newsletter-text {
		max-width: 720px;
	}

	.dbl-footer-newsletter-form {
		max-width: 100%;
		margin-left: 0;
	}

	.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Mobile stacked newsletter form */

@media (max-width: 767px) {

	.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
		display: grid;
		grid-template-columns: 1fr !important;
		gap: 28px;
	}

	.dbl-footer-newsletter-form
	.elementor-field-group {
		width: 100% !important;
		max-width: 100% !important;
	}

	.dbl-footer-newsletter-form
	.elementor-field-type-submit {
		margin-top: 8px;
	}
	
		.dbl-footer-newsletter-form
	.elementor-field-type-submit {
		justify-content: flex-start;
	}

	.dbl-footer-newsletter-form
	.elementor-button {
		width: auto !important;
		min-width: 140px;
	}
}

/* =========================================
   ASL Hero [hero]
========================================= */

.dbl-hero {
	position: relative;
	min-height: 100dvh;
	overflow: hidden;
	background: #000;
}

/* === Media Stack === */

.dbl-hero-media,
.media-image,
.media-video,
.media-tint {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
}

/* ---------------------------------
   Poster Image
--------------------------------- */

.media-image {
	z-index: 1;

	transition:
		opacity .7s ease,
		visibility .7s ease;
}

.hero-poster,
.media-image img {
	width: 100%;
	height: 100%;

	object-fit: cover;
	display: block;
}

/* ---------------------------------
   Video
--------------------------------- */

.media-video {
	z-index: 2;
}

.media-video video {
	width: 100%;
	height: 100%;

	object-fit: cover;
	display: block;
}

/* ---------------------------------
   Hide poster when playing
--------------------------------- */

.hero--playing .media-image {
	opacity: 0;
	visibility: hidden;
}

/* ---------------------------------
   Tint Overlay
--------------------------------- */

.media-tint{
    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            to bottom,
            transparent 10%,
            var(--hero-tint) 100%
        );
}

.media-accreditation .media-tint{
    background:
      linear-gradient(
        to bottom,
        transparent 20%,
        var(--hero-tint) 100%
    );
}

/* === Overlay Content === */

.dbl-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 10;

	display: flex;
	align-items: flex-end;
	justify-content: center;

	padding-bottom: clamp(72px, 8vh, 120px);
}

.dbl-hero-inner{
    width:var(--site-width);
    margin-inline:auto;
    /* padding:var(--space-4);*/
}

.dbl-hero-content{
    width:min(760px,100%);

    display:flex;
    flex-direction:column;

    align-items:var(--hero-align);
    text-align:var(--hero-text);

    color:var(--surface);
}

.hero-align-left .dbl-hero-content{
    margin-right:auto;
}

.hero-align-center .dbl-hero-content{
    margin-inline:auto;
}

.hero-align-right .dbl-hero-content{
    margin-left:auto;
}

.dbl-hero-logo{
	width:min(42vw,520px);
	max-width:100%;
	margin-bottom:32px;
}

.dbl-hero-logo img{
    display:block;
    width:100%;
    height:auto;
}

.dbl-hero-title {
	margin: 0;

	font-size:var(--heading-xl);
	line-height: .9;
	font-weight:var(--w-700);
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.dbl-hero-title span {
	color: #04D9FF;
}

.dbl-hero-intro{
    margin-top:24px;

    font-size:var(--text-intro);
    font-weight:var(--w-500);

    line-height:var(--lh-intro);

    max-width:28ch;
}

.hero-align-center .dbl-hero-intro{
	margin-inline:auto;
}

.hero-align-right .dbl-hero-intro{
	margin-left:auto;
}

.dbl-hero-intro strong{
    font-weight:700;
}

.media-accreditation .dbl-hero-meta {
	max-width: 52ch;
	margin-inline: auto;
}

.dbl-hero-actions{
	margin-top:40px;

	display:flex;
	gap:16px;
	flex-wrap:wrap;

	justify-content:var(--hero-align);
}

.dbl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 0 24px;

	border-radius: 999px;

	background:var(--surface);
	color:var(--black-600);

	text-decoration: none;
	font-weight: 600;

	transition: .2s ease;
}

.dbl-btn:hover {
	transform: translateY(-2px);
    color: rgba(0,0,0,.65);
}

.dbl-btn--ghost {
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(10px);

	color: #fff;
	border: 1px solid rgba(255,255,255,.2);
}

.dbl-btn--ghost:hover {
	color: rgba(255,255,255,.65);
}


@media (max-width: 767px) {

	.dbl-hero {
		height: 90svh;
	}

	/* ---------------------------------
	   Media fills hero
	--------------------------------- */

	.dbl-hero-media {
		position: absolute;
		inset: 0;
		height: 100%;
	}

	/* ---------------------------------
	   Overlay sits INSIDE image
	--------------------------------- */

	.dbl-hero-overlay {
		position: absolute;
		inset: 0;

		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
		
		padding-bottom:24px;
	}
	

	.dbl-hero-inner {
		width: 100%;

		padding:
			32px
			28px
			24px;
	}

	/* ---------------------------------
	   Content
	--------------------------------- */

	.dbl-hero-content {
		text-align: left;
		max-width: 100%;
	}
	
	.dbl-hero-logo{
		width:min(42vw,520px);
		max-width:100%;
		margin-bottom:18px;
	}

	/* ---------------------------------
	   Title
	--------------------------------- */

	.dbl-hero-title {
		font-size: clamp(58px, 16vw, 110px);
		line-height: .82;
		letter-spacing: -0.05em;
		
		max-width: 5ch !important;

		margin: 0;
	}
	
	.dbl-hero-meta span::before{
		display:none;
	}

	/* ---------------------------------
	   Meta
	--------------------------------- */

	.dbl-hero-meta {
		margin-top: 20px;

		font-size: 28px;
		line-height: 1.2;
		font-weight: 500;
	}

	.dbl-hero-meta span {
		display: block;
		margin-top: 2px;
		font-size: 24px;
	}

	/* ---------------------------------
	   Buttons
	--------------------------------- */

	.dbl-hero-actions {
		margin-top: 28px;

		justify-content: flex-start;
		gap: 12px;
	}

	.dbl-btn {
		min-height: 44px;
		padding: 0 20px;

		font-size: 15px;
	}

}

/* =========================================
   USM Mission Section .usm-mission
========================================= */

.usm-mission {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.usm-mission::before {
  content: "";
  position: absolute;
  z-index: 0;

  /* Reset Elementor’s container overlay */
  inset: auto;
  left: auto;
  bottom: auto;

  top: 50%;
  right: -8%;

  width: auto;
  height: 125%;
  aspect-ratio: 1182.39 / 1216.85;

  background-color: #111111;
  opacity: .08;

  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;

  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;

  transform: translateY(-50%);
  pointer-events: none;
}

.usm-mission > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .usm-mission::before {
    top: 55%;
    right: -25vw;
    width: 125vw;
    transform: translateY(-50%);
    opacity: .12;
  }
}

/* =========================================
   USM Quote Media .usm-quote-media
========================================= */

.usm-quote-media {
  position: relative;
  isolation: isolate;

  width: 100%;
  min-height: clamp(560px, 62vw, 920px);
  margin: 0;
  overflow: hidden;

  background-color: #111;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.usm-quote-media__gradient {
  position: absolute;
  z-index: 0;
  inset: 25% 0 0;
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 0, 0, .82)
  );
}


.usm-quote-media__quote {
  position: absolute !important;
  z-index: 2;

  left: var(--page-gutter, clamp(24px, 4vw, 80px));
  right: var(--page-gutter, clamp(24px, 4vw, 80px));
  bottom: clamp(36px, 5vw, 72px);

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;

  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #fff;
}

.usm-quote-media__text {
  width: 100% !important;
  margin: 0 !important;
}

.usm-quote-media__text .elementor-heading-title {
  width: 100%;
  max-width: 38ch;
  margin: 0;

  color: #fff !important;
  font-family: var(--font-heading, "Bebas Neue", sans-serif);
  font-size: clamp(38px, 3.5vw, 64px);
  font-weight: var(--w-700, 700);
  line-height: var(--lh-heading, .95);
  letter-spacing: var(--ls-heading, .015em);
  text-transform: uppercase;
}

.usm-quote-media__mark {
  width: auto !important;
  margin-bottom: -12px !important;
}

.usm-quote-media__mark .elementor-heading-title {
  margin: 0;
  color: #fff !important;

  font-family: var(--font-heading, "Bebas Neue", sans-serif);
  font-size: clamp(114px, 10.5vw, 192px);
  font-weight: var(--w-700, 700);
  line-height: .38;
}


@media (max-width: 767px) {
  .usm-quote-media {
    min-height: 125vw;
    background-position: 35% center;
  }

  .usm-quote-media__quote {
    left: 24px;
    right: 24px;
    bottom: 32px;
  }

  .usm-quote-media__mark .elementor-heading-title {
    font-size: clamp(90px, 27vw, 132px);
  }

  .usm-quote-media__text .elementor-heading-title {
    max-width: none;
    font-size: clamp(30px, 9vw, 44px);
  }
}


/* =========================================
   DBL — 50 / 50 Editorial Split
========================================= */

.dbl-split{
  display:grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);

  column-gap: var(--space-4);

  align-items:start;
}

.dbl-split__left,
.dbl-split__right{
  display:flex;
  flex-direction:column;
  gap: var(--space-1);
}


.dbl-split__left h2{
  max-width: 20ch;
}

.dbl-split__left p{
  max-width: 52ch;
}

/* Mobile */

@media (max-width: 1024px){

 .dbl-split{
 grid-template-columns: 1fr;

 row-gap: var(--space-3);
 }

}


/* ----------------------------------------- 
	   DBL — Welcome Section
----------------------------------------- */

	.welcome .dbl-split__left h2{
	  max-width: 20ch;
	}

	.welcome .btn-group{
	  display:flex;
	  flex-wrap:wrap;

	  gap: var(--space-1);
	}

/* ----------------------------------------- 
	   DBL — See It Section
----------------------------------------- */

	.seeit .dbl-split__left h2{
	  max-width: 20ch;
	}

	.seeit .dbl-split__right .text-intro {
		max-width: 28ch !important;
	}

/* ----------------------------------------- 
	  DBL — Opening Times
----------------------------------------- */

	.opening-times .dbl-container--opening{
	  padding-left: var(--gutter);
	}
	
	.opening-times .dbl-split{
	  align-items:stretch;
	}

	.opening-times{
	  overflow:hidden;
	}

	.opening-times .dbl-split__right{
	  display:flex;
	  max-width: unset;
	}

	.opening-times .dbl-split__left{
	 margin-bottom: var( --space-5);
	}

	.opening-times .dbl-split__right .elementor-widget-image,
	.opening-times .dbl-split__right .elementor-widget-container{
	  height:100%;
	}

	.opening-times .dbl-split__right .text-intro {
	padding-bottom: var(--space-1);
	max-width: 28ch !important; 
	}

	.opening-times .dbl-split__right img{
	  width:100%;
	  height:100%;
	  object-fit:cover;
	  display:block;
	}

	/* Buttons */

	.opening-times .btn-group{
	  display:flex;
	  flex-wrap:wrap;

	  gap: var(--space-1);

	  margin-top: var(--space-2);
	}
	/* Tabs */

	.dbl-opening-tabs {
	  display: flex;
	  gap: 0;
	  margin: var(--space-2) 0;
	  border-bottom: 1px solid rgba(255, 255, 255, .15);
	}

	.dbl-opening-tab {
	  appearance: none;
	  border: 0;
	  background: none;
	  padding: 0 0 18px;
	  margin-right: 48px;
	  position: relative;
	  font: inherit;
	  font-weight: 600;
	  font-size: .95rem;
	  letter-spacing: .02em;
	  color: rgba(255, 255, 255, .45);
	  cursor: pointer;
	  transition: color .25s ease;
	}

	.dbl-opening-tab:hover {
	  color: #fff;
	}

	.dbl-opening-tab::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  bottom: -1px;
	  width: 0%;
	  height: 2px;
	  background: var(--default-color);
	  transition: width .3s ease;
	}

	.dbl-opening-tab.is-active {
	  color: #fff;
	}

	.dbl-opening-tab.is-active::after {
	  width: 100%;
	} 

	.opening-times .dbl-split__left .elementor-element,
	.opening-times .dbl-split__left .elementor-widget-container{
	  border-bottom: 0 !important;
	}

	/* Panels */ 

	.dbl-opening-panel {
	  display: none;
	}

	.dbl-opening-panel.is-active {
	  display: block;
	} 

	/* Schedule */ 

	.dbl-schedule {
	  display: flex;
	  flex-direction: column;
	  gap: 8px;
	}

	.dbl-schedule__row {
	  display: grid;
	  grid-template-columns: 80px 1fr;
	  align-items: start;
	}

	.dbl-schedule__time {
	  font-weight: 700;
	  color: #fff;
	}

	.dbl-schedule__text, 
	.opening-times .dbl-split__right .eyebrow {
	  color: rgba(255, 255, 255, .78);
	}

	/* === DBL — Opening Image Mark === */

	.opening-times .dbl-split__right .elementor-widget-image{
	  position: relative;
	  overflow: visible;
	}

	.opening-times .dbl-split__right .elementor-widget-image::before{
	  content: "";

	  position: absolute;

	  top: -18px;
	  left: -18px;

	  width: 36px;
	  aspect-ratio: 1;

	  background:
		url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
		no-repeat center;

	  background-size: contain;

	  z-index: 3;
	  pointer-events: none;
	}

	/* === DBL — Opening Times Mobile === */

	@media (max-width: 1024px){

	  .opening-times .dbl-split{
		grid-template-columns: 1fr;
		row-gap: 0;
		width: var(--site-width);
	  }

	  /* LEFT COLUMN */
	  .opening-times .dbl-split__left{
		padding: var(--space-4) 0;
		border-bottom: 1px solid rgba(255, 255, 255, .18);
	  }

	  /* RIGHT COLUMN */
	  .opening-times .dbl-split__right{
		display:block;
		max-width: 100%;
	  }

	  /* TEXT AREA */
	  .opening-times .dbl-split__right .intro{
		max-width: 32ch;
	  }
		
	  .opening-times .dbl-split__right .eyebrow{
		padding-bottom: var(--space-2)
	  }
	  

	  /* IMAGE FULL BLEED */
	  .opening-times .dbl-split__right img{
		width:100vw;
		max-width:none;
		margin-left:calc(var(--gutter) * -1);
		display:block;
		margin-top: var(--space-3)
	  }
	
	  .opening-times .dbl-split__right .elementor-widget-image::before{
		 display:none;
	  }

	}

/* ----------------------------------------- 
	  DBL — Exhibitor Intro
----------------------------------------- */

	.exhibitor-intro .dbl-split__left h2 {
		margin-bottom: var(--space-2);
	}

/* ----------------------------------------- 
	  DBL — Exhibitor Media
----------------------------------------- */

	.exhibitor-media .dbl-container__closing{
		border: 0 !important;
	    border-bottom: 1px solid rgba(0,0,0,.12) !important;
	}

	.exhibitor-media .dbl-container__closing{
	  padding-right: var(--gutter);
	}

	.exhibitor-media  .dbl-split{
	  align-items: stretch;
	}

	.exhibitor-media {
	  overflow: hidden;
	}

	.exhibitor-media .dbl-split__left{
	  display: flex;
	  max-width: unset;
	}

	.exhibitor-media .dbl-split__right{
		margin-bottom: var(--space-5);
		padding-right: var(--gutter);
	}

	.exhibitor-media .dbl-split__left .elementor-widget-image,
	.exhibitor-media .dbl-split__left .elementor-widget-container{
	  height:100%;
	}

	.exhibitor-media .dbl-split__left img{
	  width:100%;
	  height:100%;
	  object-fit:cover;
	  display:block;
	}

	.dbl-daily-schedule .dbl-split__right{
		display:flex;
		flex-direction:column;
	}

	.dbl-daily-schedule .elementor-widget-image{
		flex:1;
		display:flex;
	}

	.dbl-daily-schedule .elementor-widget-image .elementor-widget-container{
		flex:1;
	}

	.dbl-daily-schedule .elementor-widget-image img{
		width:100%;
		height:100%;
		object-fit:cover;
		display:block;
	}

	/* === DBL — Exhibitor Info Mobile === */ 

	@media (max-width: 1024px){

	  .exhibitor-media .dbl-split{
		grid-template-columns: 1fr;
		row-gap: var(--space-4);
	  }

	  /* IMAGE */
	  .exhibitor-media .dbl-split__left{
		order: 2;

		display:block;
		max-width:100%;
	  }

	  /* FORM SIDE */
	  .exhibitor-media .dbl-split__right{
		order:1;

		width:100%;
		max-width:100%;

		padding-inline: var(--gutter);
	  }

	  /* FULL BLEED IMAGE */
	  .exhibitor-media .dbl-split__left img{
		width: calc(100vw + (var(--gutter) * 2));

		max-width: none;

		margin-left: calc(var(--gutter) * -1);

		display:block;
	  }

	}

/* =========================================
	   DBL — FORM
========================================= */

	.dbl-form{
	  --field-gap: clamp(22px, 2vw, 32px);
	}

	/* FORM ROW SPACING */
	.dbl-form .elementor-form-fields-wrapper{
	  row-gap: var(--field-gap);
	}

	/* FIELD GROUP */
	.dbl-form .elementor-field-group{
	  margin-bottom: 0 !important;
	}

	/* LABELS */
	.dbl-form label{
	  display:block;

	  margin-bottom: 10px;

	  font-size: 1rem;
	  line-height: 1.2;
	  font-weight: 400;

	  color: rgba(0,0,0,.58);
	}

	/* INPUTS */
	.dbl-form input,
	.dbl-form textarea{
	  width:100%;

	  background: transparent !important;

	  border: 0 !important;
	  border-bottom: 1px solid rgba(0,0,0,.28) !important;

	  border-radius: 0 !important;

	  padding:
		0
		0
		14px
		0 !important;

	  min-height: unset !important;

	  font-size: 1rem;
	  line-height: 1.4;

	  color: #000;

	  box-shadow: none !important;

	  transition:
		border-color .2s ease,
		opacity .2s ease;
	}

	/* PLACEHOLDER */
	.dbl-form input::placeholder,
	.dbl-form textarea::placeholder{
	  color: rgba(0,0,0,.38);
	}

	/* TEXTAREA */
	.dbl-form textarea{
	  min-height: 120px !important;

	  resize: vertical;

	  padding-top: 4px !important;
	}

	/* FOCUS */
	.dbl-form input:focus,
	.dbl-form textarea:focus{
	  border-color: #000 !important;
	}

	/* FORM BUTTON FIX */
	.dbl-form .e-form__buttons{
	  justify-content:flex-start;
	}

	.dbl-form .elementor-button{
	  width:auto !important;
	  flex:0 0 auto !important;
	}

	/* MOBILE */
	@media (max-width:1024px){

	  .dbl-form{
		margin-top: var(--space-2);
	  }

	  .dbl-form textarea{
		min-height: 100px !important;
	  }

	}


	/* =========================================
	   Email 2
	========================================= */

	.elementor-message-success{
		margin-top:24px;
	}

/* =========================================
   DBL — EXHIBITOR FORM
========================================= */

.elementor-popup-modal .dbl-exhibitor-form input,
.elementor-popup-modal .dbl-exhibitor-form textarea{
    width:100%;

    background:transparent !important;

    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.28) !important;

    border-radius:0 !important;

    padding:0 0 14px 0 !important;

    min-height:unset !important;

    font-size:1rem;
    line-height:1.4;

    color:#000;

    box-shadow:none !important;
}

.elementor-popup-modal .dbl-exhibitor-form input::placeholder,
.elementor-popup-modal .dbl-exhibitor-form textarea::placeholder{
    color:rgba(0,0,0,.38);
}

.elementor-popup-modal .dbl-exhibitor-form input:focus,
.elementor-popup-modal .dbl-exhibitor-form textarea:focus{
    border-color:#000 !important;
}

/* =========================================
	   DBL — JOIN US AT
========================================= */

	.join-us-at {
	  border-top: 1px solid rgba(0,0,0,.12);
	}

	.join-us-at .hero-lockup{
	  display:flex;
	  flex-direction:column;

	  gap:0;

	  align-self:flex-start;
	  flex:0 0 auto;
	}

	.join-us-at .hero-kicker .elementor-heading-title{
	  margin:0;

	  font-size: clamp(2rem, 3vw, 3.75rem);

	  line-height:.9;
	  letter-spacing:-0.05em;

	  text-transform:uppercase;
	}

	.join-us-at .hero-main .elementor-heading-title{
	  margin:0;

	  font-size: clamp(3.5rem, 6vw, 6rem);

	  line-height:.84;
	  letter-spacing:-0.06em;

	  text-transform:uppercase;
	}

	.join-us-at .hero-main .text-accent{
	  color:var(--accent);
	}

	/* RIGHT COLUMN */
	.join-us-at .text-intro{
	  max-width:22ch;
	}

	.join-us-at .text-body{
	  max-width:52ch;
	}

	/* BUTTON GROUP */
	.join-us-at .btn-group{
	  flex-direction:row;
	  flex-wrap:wrap;

	  gap:12px;

	}

	/* MOBILE */
	@media (max-width:1024px){

	  .join-us-at .dbl-split{
		gap:var(--space-3);
	  }

	  .join-us-at .hero-lockup{
		max-width:none;
	  }

	  .join-us-at .hero-kicker .elementor-heading-title{
		font-size:clamp(1.8rem, 6vw, 3rem);
	  }

	  .join-us-at .hero-main .elementor-heading-title{
		font-size:clamp(3rem, 11vw, 5rem);
	  }

	}

/* =========================================
   DBL Vimeo Hero Shortcode
   Usage: [dbl_vimeo label="Watch Experience"]
========================================= */

.dbl-vimeo-wrapper{
    display:block;
    position:relative;
    width:100%;
    aspect-ratio:16/9;
	height: 0;
    padding-top: 56.25%; /* 16:9 */
}

.dbl-vimeo{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    overflow:hidden;

    background:#000;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.dbl-vimeo iframe{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;
    border:0;

    background:#000;

    pointer-events:none;
}


/* ==== DBL — Vimeo Overlay Button ==== */

.dbl-vimeo-start {
  position: absolute;
  inset: 0;
  z-index: 20;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border: 0;
  background: none;
  cursor: pointer;

  color: #fff;

  transition:
    opacity .3s ease,
    visibility .3s ease;
}

/* Hidden state */
.dbl-vimeo-start.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Play icon */
.dbl-vimeo-start__icon {
  width: 41px;
  height: 41px;

  display: flex;
  align-items: center;
  justify-content: center;
	
  filter:
     drop-shadow(0 2px 8px rgba(0,0,0,.28))
     drop-shadow(0 0 18px rgba(255,255,255,.08));
}

/* SVG */
.dbl-vimeo-start__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Label */
.dbl-vimeo-start__label {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* DBL Vimeo Overlay Button */

.dbl-vimeo-start,
.dbl-vimeo-start:hover,
.dbl-vimeo-start:focus,
.dbl-vimeo-start:active {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.dbl-vimeo-start.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.dbl-opening-tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;

  width: 0%;
  height: 4px;

  background: var(--accent, #04D9FF);

  transition: width .3s ease;
}

/* =========================================
   dbl Scroll Gallery — FINAL
========================================= */

.dbl-scroll-gallery {
  position: relative;
  padding-top: 60px;

  width:100%;

  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;

  --slider-muted: var(--black-200);
  --slider-accent: var(--accent);
}

.dbl-scroll-gallery__viewport {

  width:100%;
  padding-top:60px;

  overflow-x:auto;
  overflow-y:hidden;

  overscroll-behavior-inline:contain;

  scrollbar-width:none;

  -webkit-overflow-scrolling:touch;

}


.dbl-scroll-gallery__viewport::-webkit-scrollbar {
  display:none;
}

.dbl-scroll-gallery__track {
  display: flex;
  align-items: flex-end;
  gap: clamp(16px, 2vw, 48px);

  width: max-content;
  min-width: 100%;

  /* Horizontal movement now comes from the gallery's scrollLeft, not a track transform.*/
  transform: none !important;
}

.dbl-scroll-gallery__item {
  flex: 0 0 auto;
  width: clamp(280px, 28vw, 520px);

  display: flex;
  align-items: flex-end;
}

/* Sizes */
.dbl-scroll-gallery__item.is-tall {
  aspect-ratio: 4 / 5;
}

.dbl-scroll-gallery__item.is-short {
  aspect-ratio: 1 / 1;
}

/* scale slightly on large screens */
@media (min-width: 1400px) {
  .dbl-scroll-gallery__item.is-tall {
    width: clamp(340px, 26vw, 600px);
  }
}

.dbl-scroll-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  filter: saturate(.85) contrast(1.04);
  transition: filter var(--transition-base);
}

/* Selected B&W images */
.dbl-scroll-gallery__item.is-bw .dbl-scroll-gallery__img {
  filter: grayscale(1) contrast(1.08) brightness(.95);
}

/* Reveal full colour on devices with genuine hover */
@media (hover: hover) {
  .dbl-scroll-gallery__item:hover .dbl-scroll-gallery__img {
    filter: saturate(1) contrast(1.02);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dbl-scroll-gallery__img {
    transition: none;
  }
}

@media (max-width: 767px) {
  .dbl-scroll-gallery {
    scroll-snap-type: x mandatory;
	padding-top: none;
  }

  .dbl-scroll-gallery__track {
    gap: 16px;
    padding-inline: 20px;
  }

  .dbl-scroll-gallery__item {
    flex: 0 0 auto;
    width: 75vw;
    max-width: 220px;
    scroll-snap-align: start;
  }
}

.dbl-media {
  width: 100%;
  aspect-ratio: var(--media-ratio-landscape);
  background-size: cover;
  background-position: center;
}

/* =========================================
   Scroll Gallery Controls
   Match DBL Horizontal Card Slider
========================================= */

/* Controls */

.dbl-scroll-gallery__controls {

  position:absolute;

  top:0;
  right:var(--gutter);

  display:flex;
  align-items:center;
  gap:8px;

  z-index:20;

}


/* Buttons */

.dbl-card-slider__button {
  appearance:none;

  display:grid;
  place-items:center;

  width:44px;
  height:44px;

  border:0;
  background:transparent;

  color:var(--slider-muted);

  font-size:24px;
  cursor:pointer;

  transition:
    color .2s ease,
    transform .2s ease;
}


.dbl-card-slider__button.is-previous:hover {
  transform:translateX(-3px);
  color:var(--slider-accent);
}


.dbl-card-slider__button.is-next:hover {
  transform:translateX(3px);
  color:var(--slider-accent);
}


/* Keyboard focus */

.dbl-scroll-gallery .dbl-card-slider__button:focus {
  background: transparent !important;
  box-shadow: none !important;
}


.dbl-scroll-gallery
.dbl-card-slider__button:focus:not(:focus-visible) {
  outline: none;
}


.dbl-scroll-gallery
.dbl-card-slider__button:focus-visible {
  color: var(--slider-accent) !important;
  outline: 2px solid currentColor;
  outline-offset: 4px;
}


/* Disabled */

.dbl-card-slider__button:disabled,
.dbl-card-slider__button:disabled:hover {
  background:transparent !important;
  border:0 !important;
  color:var(--slider-muted);
  opacity:.3;
  cursor:default;
  transform:none;
}


/* Mobile — gallery remains swipe/drag controlled */

@media (max-width: 767px) {
  .dbl-scroll-gallery__controls {
    display: none;
  }
}

/* =========================================
   dbl Hero Strip [dbl_hero_strip]
========================================= */

.dbl-hero-strip{
  position: relative;

  min-height: var(--hero-strip-height);

  padding-top:
    calc(var(--header-height) + var(--space-2));

  padding-bottom: clamp(16px, 1.5vw, 32px);

  overflow: hidden;

  display:flex;
  flex-direction:column;

  justify-content:flex-end;
}

.dbl-hero-strip{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.dbl-hero-strip__bg{

  position:absolute;
  inset:0;

  background-size:cover;
  background-position:center;

  filter:blur(var(--hero-blur));
  transform:scale(1.08);

  z-index:0;
}

.dbl-hero-strip::after{

  content:"";
  position:absolute;
  inset:0;

  background:rgba(0,0,0,var(--hero-overlay));

  z-index:1;
}

.dbl-hero-strip__content{
  position:relative;
  z-index:2;
}

/* =========================================
   DBL — Hero Strip Typography
========================================= */

.dbl-hero-strip__content h1{

  font-family: var(--font-display);
  font-size: var( --hero-strip-title);
  font-weight: var(--w-700);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);

  text-transform: uppercase;

  color:#fff;

  margin:0;
  max-width: 10ch;

}

.dbl-hero-strip__content .hero-title{
  color:#fff;
  margin:0;
  max-width:10ch;
}

/* =========================================
   DBL — Hero Strip Minimal Modifier
========================================= */

.dbl-hero-strip.is-minimal{
  min-height:auto !important;
  height:auto !important;

  min-height: var(--hero-strip-height);

  padding-top:
    calc(var(--header-height) + clamp(20px, 3vw, 40px));

  padding-bottom:
    clamp(18px, 2vw, 28px);


  background:var(--surface);

  border-bottom:1px solid rgba(0,0,0,.08);
}

.dbl-hero-strip.is-minimal::after{
  display:none;
}

.dbl-hero-strip.is-minimal .dbl-hero-strip__bg{
  display:none;
}

.dbl-hero-strip.is-minimal h1{
  color:var(--black-500);
  max-width:12ch;
}

/* =========================================
   DBL — Experience Section Repeater
========================================= */

.experience-section{

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  column-gap:var(--gutter);

  align-items:start;

  padding-top: var( --section-padding-lg);
  padding-bottom:0;
	
}

.experience-section.is-grey{
  background:#f3f3f2;
  color:#111;
}

.experience-section.is-white{
  background:#fff;
  color:#111;
}

.experience-section.is-dark{
  background:#111;
  color:#fff;
}

.experience-copy{
  padding-left: var(--gutter);
}


.experience-copy{
  display:flex;
  flex-direction:column;
  gap:24px;
	
  padding-bottom: var(--space-1);
}

.experience-copy .btn-outline{
  padding-bottom: var(--space-2);
}

.experience-copy .text-title {
max-width:20ch;	
}

.experience-copy .text-body {
max-width:48ch;	
}

.experience-media-wrap{
  display:flex;
  width:100%;
  flex-direction:column;
  gap:24px;
}

.experience-supporting {
	padding-right: var(--gutter);
}

.text-supporting .elementor-heading-title{
  font-size: clamp(28px, 2.1vw, 40px);
  font-weight: var(--w-500);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: rgba(17,17,17,.92);
}

/* .text-supporting{
  font-size: clamp(28px, 2.1vw, 40px);
  font-weight: var(--w-500);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: rgba(17,17,17,.92)
} */

/* DARK SECTIONS */
.experience-section.is-dark .text-supporting{
  color: rgba(255,255,255,.92);
}

.experience-media{
  position:relative;
  height:100%;
}

.experience-media::before{
  content:"";

  position:absolute;

  top:-18px;
  left:-18px;

  width:36px;
  aspect-ratio:1;

  background-color: var(--accent);

  -webkit-mask:
    url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
    center / contain no-repeat;

  mask:
    url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
    center / contain no-repeat;

  z-index:3;
  pointer-events:none;
}

.experience-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.experience-media-wrap{
  position:relative;

  display:flex;
  flex-direction:column;
  height:100%;
}

.experience-supporting{
  max-width:42ch;
  font-size: var(--text-intro);
  font-weight: var(--w-500);
  line-height: var(--lh-intro);
}

.experience-index{
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width: 1024px){

  .experience-section{
    grid-template-columns:1fr;
    gap:40px;
  }
	
  .experience-copy .text-body {
    padding-right: var(--gutter);
  }
	
  .experience-copy .text-title--supporting {
    padding-right: var(--gutter);
  }

  .experience-media::before{
    display:none;
  }
	
  .experience-copy{
  padding-bottom: var(--space-1);
  }
	
  .experience-supporting{
    border-top: 1px solid rgba(0,0,0,.12);
	  
    padding-top: var(--space-3);
	  
	margin-inline: var(--gutter);
  }
	
  .experience-section.is-dark .experience-supporting{
	  border-top: 1px solid rgba(255,255,255,.12);
  }
	

  .experience-media img{
    aspect-ratio:16/9;
  }
}

/* =========================================
   DBL — Info Page
========================================= */

.one-weekend .text-title .elementor-heading-title{
  max-width: 24ch;
} 

/* =========================================
   DBL — Media Split
========================================= */

.dbl-media-split .dbl-split{
  align-items:start;
}

.dbl-media-split .dbl-container-bottom{
	padding-bottom: var(--section-padding);
    border-bottom:1px solid rgba(0,0,0,.08);
}



.dbl-media-split .dbl-split > *{
  align-self:start;
}

/* Important for Elementor + Grid */
.dbl-media-split .dbl-split > .e-con{
  min-width:0;
  align-self:flex-start !important;
  height:auto !important;
}

.dbl-media-split .dbl-split__left,
.dbl-media-split .dbl-split__right{
  gap:24px;
}

.dbl-media-split .dbl-split__right{
  display:flex;
  flex-direction:column;

  align-self:flex-start !important;
  justify-content:flex-start !important;

  height:auto !important;
  min-height:0 !important;
}

.dbl-media-split .dbl-split__right > * + *{
  margin-top:24px;
}

.dbl-media-split .dbl-split__left > * + *{
  margin-top:24px;
}

/* Left column typography */

.dbl-media-split .section-title .elementor-heading-title{
  max-width:10ch !important;
}

.dbl-media-split .text-intro{
  max-width:30ch !important;
}

.dbl-media-split .text-body{
  max-width:52ch !important;
}

/* Supporting heading */

.dbl-media-split .text-title--supporting .elementor-heading-title{
  max-width:12ch !important;
}

/* Benefits */

.benefit-list ul{
  display:flex;
  flex-direction:column;
  gap:10px;

  margin:0;
  padding:0;

  list-style:none;
}

.benefit-list li{
  position:relative;
  padding-left:20px;
}

.benefit-list li::before{
  content:"";

  position:absolute;

  top:.55em;
  left:0;

  width:6px;
  height:6px;

  border-radius:999px;

  background:currentColor;
}

/* =========================================
   DBL — Slider
========================================= */

.dbl-slider{
  width:100%;
  display:flex;
  flex-direction:column;

  overflow:hidden;
}

.dbl-slider{
  flex:none !important;
  height:auto !important;
  min-height:0 !important;
  align-self:flex-start !important;
}

.dbl-slider .swiper{
  height:auto !important;
}

.dbl-slide{
  margin:0;
}

.dbl-slide__media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}

.dbl-slide__media img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;
}

.dbl-slide__caption{
  margin-top:12px;

  font-size:14px;
  line-height:1.4;

  opacity:.7;
}

/*  DBL — Swiper Base */

.dbl-slider .swiper-wrapper{
  display:flex;
}

.dbl-slider .swiper-slide{
  width:100%;
  flex-shrink:0;
}

.dbl-slide{
  margin:0;
}

.dbl-slide__media{
  position:relative;

  overflow:hidden;

  aspect-ratio:16 / 9;
}

.dbl-slide__media img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
}

.dbl-slide__caption{
  margin-top:12px;

  font-size:14px;
  line-height:1.4;

  opacity:.7;
}


/* === DBL — Slider Footer === */

.dbl-slider__meta{
  margin-top:24px;
}

.dbl-slider__footer{
  display:flex;

  justify-content:space-between;
  align-items:center;

  gap:24px;
}

.dbl-slider__count{
  font-family: var(--font-body);
  font-weight: var(--w-400);
  font-size: 12px;
  font-weight:700;
  line-height:1;

  color:var(--black-500);
}

.dbl-slider__nav{
  display:flex;
  align-items:center;
  color:var(--black-400);

  gap:40px;
}

.dbl-slider .dbl-slider__prev,
.dbl-slider .dbl-slider__next{
  appearance:none;

  padding:0;
  border:0;
  background:none;

  font-family:var(--font-body) !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1;

  letter-spacing:.08em;
  text-transform:uppercase;

  color:var(--black-500) !important;

  cursor:pointer;

  transition:
    opacity .25s ease,
    color .25s ease;
}

.dbl-slider .dbl-slider__prev:hover,
.dbl-slider .dbl-slider__next:hover{
  color:var(--black-500) !important;
  opacity:.45;
}


/* DBL — Mobile */

@media (max-width:767px){

  .dbl-slider__footer{
    align-items:flex-start;
    flex-direction:column;

    gap:20px;
  }
	
  .dbl-slider__nav{
    gap:28px;
  }

  .dbl-slider__prev,
  .dbl-slider__next{
    font-size:16px;
  }

}

@media (max-width:767px){

  .dbl-slider__footer{
    align-items:flex-start;
    flex-direction:column;

    gap:20px;
  }

  .dbl-slider__nav{
    display:none;
  }
}

/* =========================================
   DBL — FAQ + POLICY Intro SHARED STYLES
========================================= */

.faq-intro, 
.policy-intro {
	background-color: #f2f2f3;
}

/* =========================================
   DBL — FAQ + POLICY SHARED STYLES
========================================= */

/* GRID ROW */

.dbl-faq-split,
.dbl-policy-split{

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  column-gap:clamp(48px,7vw,140px);

  align-items:start;

  padding-bottom:40px;
}


/* Border except last item */

.dbl-faq-item:not(:last-child) .dbl-faq-split,
.dbl-policy-item:not(:last-child) .dbl-policy-split{
  border-bottom:1px solid rgba(0,0,0,.08);
}


/* LEFT / RIGHT */

.dbl-faq-split__left,
.dbl-faq-split__right,
.dbl-policy-split__left,
.dbl-policy-split__right{
  min-width:0;
}

/* FAQ category spacing */

.dbl-faq-item .dbl-faq-split, 
.dbl-policy-item .dbl-policy-split{
  margin-top:20px;
}


/* NUMBER + HEADING */

.dbl-faq-heading-row,
.dbl-policy-heading-row{

  display:grid;

  grid-template-columns:
    48px
    minmax(0,1fr);

  column-gap:20px;

  align-items:start;
}


/* NUMBER */

.dbl-faq-number,
.dbl-policy-number{
  opacity:.42;
  line-height: var(--lh-intro);
}


/* TITLE */

.dbl-faq-question,
.dbl-policy-heading{

  max-width:14ch;
  text-wrap:balance;
}


/* BODY */

.dbl-faq-answer,
.dbl-policy-body{

  max-width:46ch;

  line-height:1.45;
}


.dbl-faq-answer p:first-child,
.dbl-policy-body p:first-child{
  margin-top:0;
}


.dbl-faq-answer p:last-child,
.dbl-policy-body p:last-child{
  margin-bottom:0;
}

address {
  font-style: normal;
}

/* LINK */

.dbl-faq-link,
.dbl-policy-link {
  margin-top: 24px;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;
  padding: 10px 20px;
  border: 1px solid currentColor;
  border-radius: var(--radius-lg);

  background: transparent;
  color: #111;
  text-decoration: none;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);
}

.dbl-faq-link:hover,
.dbl-policy-link:hover{
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px);
}

/*  DBL — FAQ NAV */

.dbl-faq-nav,
.dbl-policy-nav{

  display:flex;
  flex-wrap:wrap;
  gap:32px;

  padding-bottom:24px;

  border-bottom:1px solid rgba(0,0,0,.08);

  margin-bottom: var(--space-2);
}

.dbl-faq-nav a,
.dbl-policy-nav a{

  display:inline-flex;
  align-items:center;
  gap:10px;

  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;

  color:var(--black-500);

  text-decoration:none;

  transition:opacity .2s ease;
}

.dbl-faq-nav a:hover,
.dbl-policy-nav a:hover{
  opacity:.6;
}


/* Arrow */

.dbl-faq-nav a::after,
.dbl-policy-nav a::after{

  content:"";

  width:10px;
  height:10px;

  background:currentColor;

  -webkit-mask:
    url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg')
    center / contain no-repeat;

  mask:
    url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg')
    center / contain no-repeat;

  transform:rotate(90deg);

  opacity:.7;
}

/* DBL — Policy Lists */

.dbl-policy-body ul, 
.db-faq-body ul{
  list-style:none;
  margin:24px 0;
  padding:0;

  display:flex;
  flex-direction:column;
  gap:12px;
}

.dbl-policy-body li,
.dbl-faq-body li{
  position:relative;
  padding-left:20px;

  line-height:1.45;
}

.dbl-policy-body li::before,
.dbl-faq-body li::before{
  content:"";

  position:absolute;

  left:0;
  top:.55em;

  width:6px;
  height:6px;

  border-radius:50%;

  background:rgba(0,0,0,.38);
}

/* MOBILE */

@media (max-width:1024px){

  .dbl-faq-item,
  .dbl-policy-item{
    padding-top:40px;
  }

  .dbl-faq-split,
  .dbl-policy-split{

    grid-template-columns:1fr;

    row-gap:28px;

    padding-bottom:32px;
  }

  .dbl-faq-heading-row,
  .dbl-policy-heading-row{

    grid-template-columns:
      36px
      minmax(0,1fr);

    column-gap:16px;
  }

  .dbl-faq-question,
  .dbl-policy-heading{
    max-width:100%;
  }

}

/* ================================================
   DBL — 404 Hero
================================================ */

/* Hero Section
---------------------------------- */

.dbl-404-hero{

  min-height:calc(92vh - var(--header-height));

  display:flex;
  justify-content:center;

  padding-top:var(--section-padding);
  padding-bottom:var(--section-padding);

  overflow:hidden;
}


/* Lockup
---------------------------------- */

.dbl-404-lockup{

  display:flex;
  flex-direction:column;

  gap:32px;

  width:100%;
}


/* Work Palette
---------------------------------- */

body.error404{

  --section-500:var(--active-work-500);
  --section-50:var(--active-work-50);
}

body.error404 header.elementor-location-header .pp-menu-toggle-label{

  color:var(--section-500)!important;

  -webkit-text-fill-color:currentColor;
}


/* HTML Widget Width Fix
---------------------------------- */

body.error404 .elementor-widget-html{

  width:100%;
}


/* 404 Layout
---------------------------------- */

body.error404 .dbl-404-justified{

  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  width:100%;
  margin:0;
	
  padding-top: clamp(24px, 2vw, 40px);

  font-size:clamp(160px, 18vw, 420px);
  line-height:.78;
  font-weight:900;
  letter-spacing:-0.06em;

  color:#111;

  overflow:visible;
	
  pointer-events:none;
}


/* Animated Characters
---------------------------------- */

body.error404 .dbl-404-justified .char{

  display:block;
  position:relative;
  backface-visibility:hidden;
	
  will-change:transform, opacity;
  transform:translate3d(0, calc(-1.5em + var(--offset,0)), 0) translateZ(0);
	
  animation:dbl-dropDamp 3.1s linear var(--fall-delay,0s) both 1;

}

/* Contents – Copy
---------------------------------- */

.dbl-404-copy{
  padding-top:clamp(24px, 3vw, 64px);
  display:flex;
  flex-direction:column;

  gap:24px;
}

.dbl-404-copy .text-intro{
  font-size:clamp(42px, 4vw, 72px);
  line-height:.88;
  letter-spacing:-0.04em;
  font-weight:700;
  max-width:12ch;
}

.dbl-404-copy .elementor-widget-text-editor:last-child{
  max-width:42ch;
  opacity:.78;
}

.dbl-404-links{
  margin-top:8px;
}

/* Arrows */

body.error404 .e-n-menu-title-container{
  width:auto !important;
}

body.error404 .e-n-menu-heading{
  gap:28px;
}

body.error404 .e-n-menu-title-text{
  display:inline-flex;
  align-items:center;
  gap:8px;
	
  transition:opacity .2s ease;
}

.dbl-404-links a{
  display:inline-flex;
  align-items:center;
  gap:12px;

  text-transform:uppercase;
  letter-spacing:.04em;

  font-size:14px;
}

body.error404 .e-n-menu-title-text::after{
  content:"";

  width:14px;
  height:14px;

  flex-shrink:0;

  background:currentColor;

  mask:url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg') no-repeat center;
  -webkit-mask:url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg') no-repeat center;

  transition:transform .2s ease;
  transform:translateY(-1px) translateX(4px);
}

body.error404 .e-n-menu-title-text:hover{
  opacity:.7;
}

body.error404 .e-n-menu-title-text:hover::after{
  transform:translateY(-1px) translateX(4px);
}


/* Character Timing
---------------------------------- */

body.error404 .dbl-404-justified .char:nth-child(1){
  --fall-delay:.00s;
  --offset:0.08em;
  --amp:.10em;
}

body.error404 .dbl-404-justified .char:nth-child(2){
  --fall-delay:.12s;
  --offset:-0.24em;
  --amp:.08em;
}

body.error404 .dbl-404-justified .char:nth-child(3){
  --fall-delay:.24s;
  --offset:0.44em;
  --amp:.16em;
}


/* Animation
---------------------------------- */

@keyframes dbl-dropDamp{

  0%{
    transform:translate3d(0, calc(-1.5em + var(--offset)), 0);
    opacity:0;
    filter:blur(4px);

    animation-timing-function:cubic-bezier(.18,.85,.25,1);
  }

  3%{
    transform:translate3d(0, var(--offset), 0);
    opacity:1;
    filter:none;

    animation-timing-function:cubic-bezier(.22,1,.36,1);
  }

  12%{
    transform:translate3d(0, calc(var(--offset) - 1.20 * var(--amp,.12em)), 0);
  }

  22%{
    transform:translate3d(0, calc(var(--offset) + 0.78 * var(--amp,.12em)), 0);
  }

  34%{
    transform:translate3d(0, calc(var(--offset) - 0.50 * var(--amp,.12em)), 0);
  }

  46%{
    transform:translate3d(0, calc(var(--offset) + 0.32 * var(--amp,.12em)), 0);
  }

  60%{
    transform:translate3d(0, calc(var(--offset) - 0.20 * var(--amp,.12em)), 0);
  }

  74%{
    transform:translate3d(0, calc(var(--offset) + 0.11 * var(--amp,.12em)), 0);
  }

  88%{
    transform:translate3d(0, calc(var(--offset) - 0.05 * var(--amp,.12em)), 0);
  }

  100%{
    transform:translate3d(0, var(--offset), 0);
  }
}


/* Reduced Motion
---------------------------------- */

@media (prefers-reduced-motion:reduce){

  body.error404 .dbl-404-justified .char{

    animation:none!important;
    opacity:1!important;

    transform:translate3d(0, var(--offset,0), 0)!important;
    filter:none!important;
  }
}

/* =========================================
   DBL — Sign Up Popup
========================================= */

.dbl-signup-inner{ 
	text-align:center;
    gap:20px;
}

/* Logo
----------------------------------------- */

.dbl-signup-logo{

  width:clamp(100px,18vw,140px);

  margin:0 auto;
}


/* Heading
----------------------------------------- */

.dbl-signup-heading{
  align-items:center;
}

.dbl-signup-heading .elementor-heading-title{
  margin:0;
  font-size:clamp(22px, 6vw, 42px) !important;
  line-height:.9;
  letter-spacing:-0.05em;
  text-transform:uppercase;
  word-break:normal;
}



/* Intro Copy
----------------------------------------- */

.dbl-signup-intro{
  margin-top: 12px !important;
  font-size: clamp(14px,7vw,18px) !important;
  line-height:1.4;
  color:#111;
	
  max-width: 28ch;
  margin-inline:auto;
}


/* Form
----------------------------------------- */

.dbl-signup-form .elementor-button{
    width: 100% !important;
}


/* Small Print
----------------------------------------- */

.dbl-signup-small { 

	font-size:12px; 
	line-height:1.45; 
	color:rgba(0,0,0,.5);
	
	max-width: 32ch !important;
	text-align:center;
    margin:0 auto; 
}


/* Close Button
----------------------------------------- */

.dialog-close-button {

  top:20px !important;
  right:20px !important;
  color:#111 !important;
  opacity:.5;
}

.dialog-close-button:hover{
  opacity:1;
}

@media (max-width:1024px){

  .dbl-signup-form {
    margin-top: 0 !important;
  }

}

/* =========================================
   USM — Transition Image
========================================= */

.usm-section-image {
  width: 100%;
  overflow: hidden;
  background: var(--surface);
}

.usm-section-image .elementor-widget-image,
.usm-section-image .elementor-widget-container {
  width: 100%;
}

.usm-section-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: clamp(420px, 52vw, 860px);
  object-fit: cover;
  object-position: center;
}

@media (max-width: 767px) {
  .usm-section-image img {
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}