/*
Theme Name: Alder Child
Template: hello-elementor
*/



/* Resets
--------------------------------------------- */

body,
.elementor {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--white);
	font-family: "Schibsted Grotesk", sans-serif;
}

.site-header {
	display: none;
}

h1, h2, .elementor .text-display {
	font-family: var(--titleFont);
}

a:hover,
a:active {
    color: inherit;
}

button:focus,
input:focus {
    outline: none !important;
}

.acf-map {
    width: 100%;
    height: 400px;
    border: #ccc solid 1px;
    margin: 20px 0;
}

.elementor-element p:last-child {
    margin-bottom: 0px;
}

body table tbody>tr:nth-child(odd)>td,
body table tbody>tr:nth-child(odd)>th,
body table tbody tr:hover>td,
body table tbody tr:hover>th {
    background-color: initial;
}

body table td,
body table th {
    border: 0;
    padding: 0;
    text-align: left;
}

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;
}

/* Fixes potential theme css conflict. */
.acf-map img {
    max-width: inherit !important;
}

a {
    cursor: pointer;
    color: inherit;
}


select {
    appearance: none;
    -webkit-appearance: none;
}

::placeholder,
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
body .elementor-field-group .elementor-field-textual::placeholder {
    opacity: 1;
}

body .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0;
}

.elementor .elementor-heading-title {
    line-height: inherit;
}

.animate-words .word {
	opacity: 0;
}

@supports (-webkit-hyphens:none) {
    .hero-banner .col-right {
        padding-bottom: 46px;
    }
}



/* Global Font Styles
--------------------------------------------- */

/* Desktop font sizes */
:root { 
    --heading-eyebrow: 1.25rem;
    --heading-display: 6rem;
    --heading-h1: 3.75rem;
    --heading-h2: 2.5rem;
    --heading-h3: 2rem;
    --heading-h4: 1.5rem;
    --heading-h5: 1.625rem;
    --body-body-lg: 1.25rem;
    --body-body-md: 1rem;
    --body-body-sm: 1rem;
    --body-body-xsm: 0.75rem;
    --component-testimonial: 0;
    --component-blockquote: 0;
    --component-button-buttonlg: 1rem;
    --component-button-buttondefault: 1.13rem;
    --component-button-buttonsm: 0.875rem;
    --component-nav: 0;
    --component-submenu: 0;
    --component-tag: 0;
}

/* Tablet font sizes */
@media all and (max-width:1440px) {
    :root {
        --heading-eyebrow: 1.125rem;
        --blogheadings-h1: 0;
        --blogheadings-h2: 0;
        --blogheadings-h3: 0;
        --blogheadings-h4: 0;
        --heading-display: 3rem;
        --heading-h1: 2.6rem;
        --heading-h2: 2.3rem;
        --heading-h3: 1.5rem;
        --heading-h4: 1.25rem;
        --heading-h5: 1.25rem;
        --body-body-lg: 1.125rem;
        --body-body-md: 1rem;
        --body-body-sm: 1rem;
        --body-body-xsm: 0.75rem;
        --component-testimonial: 0;
        --component-blockquote: 0;
        --component-button-buttonlg: 0.875rem;
        --component-button-buttondefault: 0.875rem;
        --component-button-buttonsm: 0.75rem;
        --component-nav: 0;
        --component-submenu: 0;
        --component-tag: 0;
    }
}

/* Tablet Portrait font sizes - Keeping this breakpoint as it was in the original CSS */
@media all and (max-width:900px) {
    :root {
        --heading-display: 3rem;
    }
}

/* Mobile font sizes */
@media all and (max-width:767px) {
    :root {
		--heading-display: 2.8rem;
        --heading-h1: 2.2rem;
        --heading-h2: 1.8rem;
        --heading-h3: 1.5rem;
        --heading-h4: 1.25rem;
        --heading-h5: 1.25rem;
        --body-body-lg: 1.125rem;
        --body-body-md: 1rem;
        --body-body-sm: 1rem;
    }
}

.elementor .text-display {
  font-family: var(--e-global-typography-93094fa-font-family), Sans-serif;
  font-size: var(--e-global-typography-93094fa-font-size);
  font-weight: var(--e-global-typography-93094fa-font-weight);
  text-transform: var(--e-global-typography-93094fa-text-transform);
  line-height: var(--e-global-typography-93094fa-line-height);
}

.text-h1,
h1,
.elementor h1.elementor-heading-title,
.elementor .text-h1 {
  	font-family: var(--e-global-typography-783926d-font-family), Sans-serif;
    font-size: var(--e-global-typography-783926d-font-size);
    font-weight: var(--e-global-typography-783926d-font-weight);
    text-transform: var(--e-global-typography-783926d-text-transform);
    line-height: var(--e-global-typography-783926d-line-height);
}

.text-h2,
h2,
.elementor h2.elementor-heading-title,
.elementor .text-h2 {
  	font-family: var(--e-global-typography-228cad3-font-family), Sans-serif;
    font-size: var(--e-global-typography-228cad3-font-size);
    font-weight: var(--e-global-typography-228cad3-font-weight);
    text-transform: var(--e-global-typography-228cad3-text-transform);
    line-height: var(--e-global-typography-228cad3-line-height);
}

.text-h3,
h3,
.elementor h3.elementor-heading-title,
.elementor .text-h3 {
  	font-size: var(--e-global-typography-5a53420-font-size);
    line-height: var(--e-global-typography-5a53420-line-height);
    letter-spacing: var(--e-global-typography-5a53420-letter-spacing);
}

.text-h4,
h4,
.elementor h4.elementor-heading-title,
.elementor .text-h4 {
  	font-size: var(--e-global-typography-73edf61-font-size);
    line-height: var(--e-global-typography-73edf61-line-height);
}

.text-h5,
h5,
.elementor h5.elementor-heading-title,
.elementor .text-h5 {
  	font-size: var(--e-global-typography-20c80dd-font-size);
    font-weight: var(--e-global-typography-20c80dd-font-weight);
    line-height: var(--e-global-typography-20c80dd-line-height);
}


h6,.text-body-large,
.elementor h6.elementor-heading-title,
.elementor .text-body-large,
.text-blog-styles > .elementor-widget-container > p:first-child,
.elementor .elementor-widget-n-accordion .e-n-accordion-item-title-text,
.e-n-tabs .e-n-tab-title-text {
  	font-size: var(--e-global-typography-959fe0d-font-size);
    line-height: var(--e-global-typography-959fe0d-line-height);
}

.text-body-medium,
body,
.elementor .text-body-medium,
.elementor .elementor-widget-woocommerce-cart .woocommerce .product-name a {
  	font-size: var(--e-global-typography-52fc6af-font-size);
    line-height: var(--e-global-typography-52fc6af-line-height);
    letter-spacing: var(--e-global-typography-52fc6af-letter-spacing);
}

.text-body-small,
.elementor .text-body-small,
.elementor-widget-woocommerce-cart .woocommerce table.cart td span {
    font-size: var(--e-global-typography-5e045e6-font-size);
    font-weight: var(--e-global-typography-5e045e6-font-weight);
    line-height: var(--e-global-typography-5e045e6-line-height);
}


.text-button, .elementor-button,
.elementor .text-button,
.elementor [type=submit],
.elementor [type=button]{
    font-size: var(--e-global-typography-efe00e9-font-size);
    font-weight: var(--e-global-typography-efe00e9-font-weight);
    text-transform: var(--e-global-typography-efe00e9-text-transform);
    line-height: var(--e-global-typography-efe00e9-line-height);
    letter-spacing: var(--e-global-typography-efe00e9-letter-spacing);
}

.text-caption,
.elementor .text-caption,
.text-eyebrow,
.elementor .text-eyebrow,
.text-tag,
.elementor .text-tag {
    font-size: var(--e-global-typography-818411f-font-size);
    font-weight: var(--e-global-typography-818411f-font-weight);
    text-transform: var(--e-global-typography-818411f-text-transform);
    line-height: var(--e-global-typography-818411f-line-height);
    letter-spacing: var(--e-global-typography-818411f-letter-spacing);
}


/* Color Variables
--------------------------------------------- */
:root {
    --black: #000;
    --white: #fff;
	--text-heading: #fff;
	--text-body: #fff;
	--text: #fff;
	
	/* Brand */
	--blue-g400: #00232E;
	--blue-g300: #0B2C36;
	--blue-g200: #2B5561;
	--blue-l300: #59AEC8;

	
	/* Global Fonts */
    --bodyFont: "Schibsted Grotesk", sans-serif;
    --titleFont: "F37 Zagma", sans-serif;
}

/* Gradient Variables
--------------------------------------------- */




/* Primary Spacing Variables
--------------------------------------------- */
:root {
    --spacing-4px-2: 2px;
    --spacing-4px-4: 4px;
    --spacing-4px-8: 8px;
    --spacing-4px-12: 12px;
    --spacing-4px-16: 16px;
    --spacing-4px-20: 20px;
    --spacing-4px-24: 24px;
    --spacing-4px-32: 32px;
    --spacing-4px-40: 40px;
    --spacing-4px-48: 48px;
    --spacing-4px-56: 56px;
    --spacing-4px-64: 64px;
    --spacing-4px-80: 80px;
    --spacing-4px-96: 96px;
    --spacing-4px-128: 128px;
    --spacing-4px-160: 160px;
    --spacing-4px-192: 192px;
    --spacing-4px-224: 224px;
    --spacing-4px-256: 256px;
    --spacing-4px-320: 320px;
    --spacing-4px-384: 384px;
    --spacing-4px-512: 512px;
    --spacing-4px-full: 999px;
}


/* Global Sizing Variables
--------------------------------------------- */
:root {
    /* The BASE size */
    --base-size: 4px;
    /* The size steps */
    --size-0: calc(var(--base-size) * 0);
    /* 0px */
    --size-1: calc(var(--base-size) * 1);
    /* 4px */
    --size-2: calc(var(--base-size) * 2);
    /* 8px */
    --size-3: calc(var(--base-size) * 3);
    /* 12px */
    --size-4: calc(var(--base-size) * 4);
    /* 16px */
    --size-5: calc(var(--base-size) * 5);
    /* 20px */
    --size-6: calc(var(--base-size) * 6);
    /* 24px */
    --size-7: calc(var(--base-size) * 7);
    /* 28px */
    --size-8: calc(var(--base-size) * 8);
    /* 32px */
    --size-9: calc(var(--base-size) * 9);
    /* 36px */
    --size-10: calc(var(--base-size) * 10);
    /* 40px */
    --size-11: calc(var(--base-size) * 11);
    /* 44px */
    --size-12: calc(var(--base-size) * 12);
    /* 48px */
    --size-14: calc(var(--base-size) * 14);
    /* 56px */
    --size-16: calc(var(--base-size) * 16);
    /* 64px */
    --size-20: calc(var(--base-size) * 20);
    /* 80px */
    --size-24: calc(var(--base-size) * 24);
    /* 96px */
    --size-28: calc(var(--base-size) * 28);
    /* 112px */
    --size-32: calc(var(--base-size) * 32);
    /* 128px */
    --size-36: calc(var(--base-size) * 36);
    /* 144px */
    --size-40: calc(var(--base-size) * 40);
    /* 160px */
    --size-44: calc(var(--base-size) * 44);
    /* 176px */
    --size-48: calc(var(--base-size) * 48);
    /* 192px */
    --size-52: calc(var(--base-size) * 52);
    /* 208px */
    --size-56: calc(var(--base-size) * 56);
    /* 224px */
    --size-60: calc(var(--base-size) * 60);
    /* 240px */
    --size-64: calc(var(--base-size) * 64);
    /* 256px */
    --size-72: calc(var(--base-size) * 72);
    /* 288px */
    --size-80: calc(var(--base-size) * 80);
    /* 320px */
    --size-96: calc(var(--base-size) * 96);
    /* 384px */
}


/* Global Configuration
--------------------------------------------- */

/* Extra size helper for fractional sizes */
:root {
    --size-0\.5: calc(var(--base-size) * 0.5); /* 2px */
}

/* Global Configuration - DESKTOP */
:root {
    /* From mockup */
    --page-width: 1536px;
    --hero-height: 900px;
    
    /* Section Padding */
    --section-padding-smaller: var(--size-16);
    --section-padding: var(--size-32);
    --section-padding-larger: var(--size-48);
    --section-padding-sides: 0;
    
    /* Component Padding */
    --cp-3xs: var(--size-1);
    --cp-2xs: var(--size-2);
    --cp-xs: var(--size-3);
    --cp-s: var(--size-4);
    --cp-m: var(--size-5);
    --cp-l: var(--size-8);
    --cp-xl: var(--size-12);
    --cp-2xl: var(--size-16);
    --cp-3xl: var(--size-24);
    --cp-4xl: var(--size-32);
    
    /* Component Vertical Padding */
    --cp-v-none: 0;
    --cp-v-xsm: var(--size-1);
    --cp-v-sm: var(--size-2);
    --cp-v-md: var(--size-3);
    --cp-v-lg: var(--size-6);
    --cp-v-xlg: var(--size-8);
    --cp-v-heading-padding: var(--size-16);
    
    /* Column Spacing */
    --column-sm: var(--size-16);
    --column-md: var(--size-24);
    --column-lg: var(--size-32);
    
    /* Radius */
    --radius-xs: var(--size-0.5);
    --radius-s: var(--size-1);
    --radius-m: var(--size-2);
    --radius-l: var(--size-3);
    --radius-xl: var(--size-4);
    --radius-full: 999px;
    
    /* Button Elements */
    --button-height-default: 50px;
    --button-padding-default: var(--cp-m);
    --button-radius: 4px;
    
    /* Other Elements */
    --menu-padding-v: var(--size-8);
}

@media all and (max-width:1750px){
	:root {
		--section-padding-sides: var(--size-24);
	}
}

/* TABLET */
@media all and (max-width: 1440px) {
    :root {
        /* From mockup - changed values */
        --page-width: 1024px;
        --hero-height: 700px;
        
        /* Section Padding - changed values */
        --section-padding-smaller: var(--size-12);
        --section-padding: var(--size-24);
        --section-padding-larger: var(--size-40);
        --section-padding-sides: var(--size-24);
        
        /* Component Padding - changed values */
        --cp-3xs: var(--size-0.5);
        --cp-2xs: var(--size-1);
        --cp-xs: var(--size-2);
        --cp-s: var(--size-3);
        --cp-m: var(--size-4);
        --cp-l: var(--size-5);
        --cp-xl: var(--size-8);
        --cp-2xl: var(--size-12);
        --cp-3xl: var(--size-16);
        --cp-4xl: var(--size-24);
        
        /* Component Vertical Padding - changed values */
        --cp-v-sm: var(--size-1);
        --cp-v-md: var(--size-2);
        --cp-v-lg: var(--size-4);
        --cp-v-xlg: var(--size-6);
        --cp-v-heading-padding: var(--size-12);
        
        /* Column Spacing - changed values */
        --column-sm: var(--size-12);
        --column-md: var(--size-16);
        --column-lg: var(--size-24);
        
        
        /* Other Elements - changed values */
        --menu-height: var(--size-20);
    }
}
@media (max-width:1200px) {
    :root {
        --section-padding-sides:var(--size-16);
        --section-padding:var(--size-16);
    }
}

@media (max-width:900px) {
    :root {
        --section-padding-sides:var(--size-12);
    }
}

/* MOBILE */
@media all and (max-width: 767px) {
    :root {
        /* From mockup - changed values */
        --page-width: 375px;
        
        /* Section Padding - changed values */
        --section-padding-smaller: var(--size-16);
        --section-padding: var(--size-24);
        --section-padding-larger: var(--size-24);
        --section-padding-sides: var(--size-4);
        
        /* Component Padding - changed values */
        --cp-4xl: var(--size-20);
        
        /* Component Vertical Padding - changed values */
        --cp-v-xsm: var(--size-0.5);
        --cp-v-lg: var(--size-3);
        --cp-v-xlg: var(--size-4);
        --cp-v-heading-padding: var(--size-8);
        
        /* Column Spacing - changed values */
        --column-sm: var(--size-10);
        --column-md: var(--size-12);
        --column-lg: var(--size-20);
        
        
        /* Other Elements - changed values */
        --menu-height: var(--size-14);
		--button-padding-default: 12px;

		
    }
}

/* Section Padding
--------------------------------------------- */

.section-padding-small {
    padding: var(--section-padding-smaller) var(--section-padding-sides);
}

.section-padding {
    padding: var(--section-padding) var(--section-padding-sides);
}

.section-padding-large {
    padding: var(--section-padding-larger) var(--section-padding-sides);
}

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

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

.section-padding.sides-only {
    padding-top: 0;
    padding-bottom: 0;
}

.header-offset {
    margin-top: -144px;
}


/* Drop Shadows
--------------------------------------------- */
.drop-shadow-xs {
    box-shadow: 0px 2px 4px 0px rgba(0, 65, 87, 0.16);
}

.drop-shadow-s {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 16px 32px -4px rgba(0, 43, 62, 0.10);
}

.drop-shadow-m {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 24px 48px -8px rgba(0, 43, 62, 0.12);
}

.drop-shadow-l {
    box-shadow: 0px 2px 4px 0px #002b3e0a, 0px 40px 80px -16px rgba(0, 43, 62, 0.16);
}

.drop-shadow-xl {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 56px 112px -20px rgba(0, 43, 62, 0.18);
}



/* Button Styles
--------------------------------------------- */
.text-button, .elementor-button,
.elementor .text-button,
.elementor [type=submit],
.elementor [type=button]{
    color: var(--blue-white);
    background: var(--blue-l300);
    border-radius: 4px;
    padding: var(--cp-m) 20px;
    border: 1px solid var(--blue-l300);
	transition: 0.2s ease;
}
.text-button, .elementor-button:hover,
.elementor .text-button:hover,
.elementor [type=submit]:hover,
.elementor [type=button]:hover {
    background: var(--blue-g200);
	border-radius: 4px;
    padding: var(--cp-m) 20px;
	transition: 0.2s ease;
}	
.elementor-button-content-wrapper {
    align-items: center;
}


.button-outline .elementor-button {
	background: transparent;
	border: 1px solid var(--blue-l300);
	color: var(--blue-l300);
}
.button-outline .elementor-button:hover {
	background: var(--blue-g200);
	transition: 0.2s ease;
}
.elementor-swiper-button {
    height: 36px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
}
@media all and (min-width:1200px){
	.elementor-swiper-button.swiper-button-disabled {
		opacity: 0 !important;
	}
}

@media all and (max-width:767px){
	.text-button, .elementor-button,
	.elementor .text-button,
	.elementor [type=submit],
	.elementor [type=button]{
		padding: 12px;
	}
}



/* Hero Banner
--------------------------------------------- */
:root {
    --hero-padding: var(--cp-2xl);
}
.hero-banner {
	padding:  var(--cp-2xl);
}
@media all and (max-width:1440px){
	.hero-banner {
		padding:  var(--cp-xl);
	}
}
@media all and (max-width:767px){
	.hero-banner {
		padding:  var(--cp-l);
	}
}

/* Card / Post Loop Card Styles
--------------------------------------------- */
.card {
    border-radius: 4px;
    border: 1px solid var(--blue-g200);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.post-card-tags .elementor-heading-title {
    display: inline-flex;
    gap: 4px;
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: auto;
    max-width: 100%;
}
.post-card-tags .elementor-heading-title span {
    background: var(--blue-g200);
    padding: var(--cp-xs) var(--cp-s);
    border-radius: var(--radius-full);
}
.post-card-tags .elementor-heading-title {
    font-size: 0;
}
.post-card-tags .elementor-heading-title > span {
    font-size: 10px;
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    white-space: nowrap;
}

/* Accordion with Image Widget
--------------------------------------------- */
.alder-accordion-widget {
    min-height: 447px;
    width: 100%;
}

.alder-accordion-container {
    display: flex;
    gap: 16px;
    align-items: stretch;
    min-height: 447px;
}

.alder-accordion-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.alder-accordion-item {
    background: transparent;
    transition: background-color 300ms ease;
}

.alder-accordion-item.active .alder-accordion-header {
    background-color: var(--blue-g300, #0B2C36);
}

.alder-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    cursor: pointer;
    color: white;
    transition: background-color 300ms ease;
}

.alder-accordion-header h4 {
    margin: 0;
    flex: 1;
}

.alder-accordion-icon {
    font-family: 'F37 Zagma', sans-serif;
    font-weight: bold;
    font-size: 16px;
    line-height: 28px;
    text-transform: uppercase;
}

.alder-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 300ms cubic-bezier(0.4, 0, 0.2, 1), padding 300ms ease;
    padding: 0 20px;
    padding-right: 128px;
    color: white;
    opacity: 0;
    transition: max-height 300ms cubic-bezier(0.4, 0, 0.2, 1), padding 300ms ease, opacity 300ms ease;
}

.alder-accordion-item.active .alder-accordion-content {
    padding: 20px;
    padding-right: 128px;
    opacity: 1;
    box-sizing: content-box;
}
.alder-accordion-content p {
    line-height: 1.375;
}
.alder-accordion-content p:last-child {
    margin: 0;
}

.alder-accordion-right {
    flex: 1;
    display: flex;
    position: relative;
}

.alder-accordion-image-container {
    position: relative;
    width: 100%;
    flex: 1;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 5px 0px 10px 0px rgba(0,0,0,0.1);
    display: flex;
}

.alder-accordion-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 300ms ease;
}

.alder-accordion-image.active {
    opacity: 1;
}

@media all and (max-width:767px){
	.alder-accordion-item.active .alder-accordion-content {
		padding-right: 20px;
	}
}

/* Floating Menu
--------------------------------------------- */

.alder-floating-menu-wrapper {
    z-index: 9999;
    width: 100%;
    max-width: 337px;
    transition: max-width 400ms cubic-bezier(0.4, 0, 0.2, 1),
                opacity 400ms ease-in-out;
}

.alder-floating-menu-wrapper.is-open {
    max-width: 1536px;
}

/* Floating state - menu appears fixed at bottom of screen */
.alder-floating-menu-wrapper.floating-visible,
.alder-floating-menu-wrapper.floating-hidden {
    position: fixed;
    bottom: var(--cp-2xl);
    left: 50%;
    transform: translateX(-50%);
}

.alder-floating-menu-wrapper.floating-visible {
    opacity: 1;
}

.alder-floating-menu-wrapper.floating-hidden {
    opacity: 0;
}

/* Footer state - menu positioned in footer */
.alder-floating-menu-wrapper.footer-visible,
.alder-floating-menu-wrapper.footer-hidden,
.alder-floating-menu-wrapper.in-footer {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
}

.alder-floating-menu-wrapper.footer-visible {
    opacity: 1;
}

.alder-floating-menu-wrapper.footer-hidden {
    opacity: 0;
}

#footer-menu-holder {
    position: relative;
    width: 100%;
}

.alder-floating-menu-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    overflow: hidden;
    transition: background 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.is-open .alder-floating-menu-container {
    background: rgb(11 39 48 / 77%);
}

/* Persistent bottom bar */
.alder-floating-menu-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    position: relative;
    z-index: 2;
    border-radius: 16px;
    transition: border-radius 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.is-open .alder-floating-menu-bar {
    border-radius: 0 0 16px 16px;
}

.alder-floating-menu-logomark {
    width: 35px;
    height: auto;
    flex-shrink: 0;
    border-radius: 0 !important;
}

.alder-floating-menu-trigger {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: white;
    display: flex;
    align-items: center;
}

button.alder-floating-menu-trigger:hover, button.alder-floating-menu-trigger:focus {
    background: transparent;
}

.alder-floating-menu-icon {
    font-size: 24px;
}

/* Mega menu content container */
.alder-floating-menu-content {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 400ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
                opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 400ms;
}


.is-open .alder-floating-menu-content {
    max-height: 650px;
    opacity: 1;
}

.alder-floating-menu-inner {
    padding: var(--cp-2xl);
    color: white;
}

/* Top section with 4 columns */
.alder-floating-menu-top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 64px;
    margin-bottom: 64px;
}

/* Navigation column */
.alder-floating-menu-nav {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.alder-floating-nav-links,
.alder-floating-submenu {
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.alder-floating-submenu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: translateX(100%);
    opacity: 0;
}

.alder-floating-submenu.active {
    transform: translateX(0);
    opacity: 1;
}

.alder-floating-nav-links.hidden {
    transform: translateX(-100%);
    opacity: 0;
}

.alder-floating-nav-item-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.alder-floating-nav-link {
    color: white;
    text-decoration: none;
    font-size: 20px;
    line-height: 26px;
    font-family: "Schibsted Grotesk", sans-serif;
    transition: opacity 200ms ease;
    flex: 1;
}

.alder-floating-nav-link:hover {
    opacity: 0.8;
	background: transparent;
}
button.alder-floating-back-button:hover {
	background: transparent !important;
}

.alder-floating-submenu-trigger {
    background: none;
    border: none;
    color: white;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 200ms ease;
}

.alder-floating-submenu-trigger:hover {
    opacity: 0.8;
	background: transparent;
}

.alder-floating-submenu-trigger:focus {
    background: transparent;
}

.alder-floating-submenu-trigger i {
    font-size: 16px;
}

.alder-floating-back-button {
    background: none;
    border: none;
    color: white;
    padding: 8px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-family: "Schibsted Grotesk", sans-serif;
    transition: opacity 200ms ease;
    margin-bottom: 8px;
}

.alder-floating-back-button:hover {
    opacity: 0.8;
}

.alder-floating-back-button:focus {
    background: transparent;
}

.alder-floating-back-button i {
    font-size: 14px;
}

.alder-floating-cta-button {
    margin-top: auto;
    align-self: flex-start;
}

/* Featured image and carousel */
.alder-floating-menu-featured {
    display: flex;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.alder-floating-carousel {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.alder-floating-carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    pointer-events: none;
}

.alder-floating-carousel-item.active {
    opacity: 1;
    pointer-events: auto;
}

.alder-floating-carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alder-floating-carousel-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.alder-floating-carousel-item.active:hover .alder-floating-carousel-overlay {
    opacity: 1;
}

.alder-floating-carousel-title {
    color: white;
    margin: 0;
    font-size: 18px;
    line-height: 24px;
    font-family: "F37 Zagma", serif;
}

.alder-floating-featured-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

/* Links column */
.alder-floating-menu-links {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.alder-floating-social-links,
.alder-floating-legal-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.alder-floating-link {
    color: white;
    text-decoration: none;
    font-size: 16px;
    line-height: 22px;
    font-family: "Schibsted Grotesk", sans-serif;
    transition: opacity 200ms ease;
}

.alder-floating-link:hover {
    opacity: 0.8;
}

.alder-floating-legal-links {
    margin-top: auto;
}

/* Logo area */
.alder-floating-menu-logo-area {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.alder-floating-menu-logo-area > div {
    display: flex;
    gap: 12px;
    font-size: 22px;
}

@media all and (max-width:900px){
	.alder-floating-menu-logo-area {
		flex-direction: column-reverse;
		gap: 48px;
	}
}

.alder-floating-logo-full {
    width: auto;
    height: 60px;
}

/* Bottom section with offices */
.alder-floating-menu-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 64px;
    padding-top: 64px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.alder-floating-office h4,
.alder-floating-contact p strong {
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    margin: 0 0 8px 0;
    font-family: "Schibsted Grotesk", sans-serif;
}

.alder-floating-office p,
.alder-floating-contact p {
    font-size: 16px;
    line-height: 22px;
    margin: 0;
    font-family: "Schibsted Grotesk", sans-serif;
}

.alder-floating-contact p {
    margin-bottom: 8px;
}

.alder-floating-contact p:last-child {
    margin-bottom: 0;
}

.alder-floating-menu-logo-area img {
	border-radius: 0;
}

/* Responsive adjustments - below 900px */
@media (max-width: 900px) {
    .alder-floating-menu-wrapper {
        max-width: calc(100% - (var(--section-padding-sides) * 2));
        padding: 0;
    }
	#footer-menu-holder .alder-floating-menu-wrapper.is-open {
		max-width: 100%;
	}
    
    .alder-floating-menu-wrapper.is-open {
        max-width: calc(100% - (var(--section-padding-sides) * 2));
    }
    
    .alder-floating-menu-inner {
        padding: 40px 24px;
    }
    
    .alder-floating-menu-top,
    .alder-floating-menu-bottom {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .alder-floating-menu-logo-area {
        justify-content: center;
    }
    
    .is-open .alder-floating-menu-content {
        max-height: 80vh;
        overflow-y: auto;
    }
	.alder-floating-menu-featured {
		display: none;
	}
	.alder-floating-menu-bottom,
	.alder-floating-menu-logo-area {
		display: none;
	}
	

	#footer-menu-holder .alder-floating-menu-bottom {
		display: flex;
		flex-direction: column;
		gap: var(--cp-l);
	}

}

/* Mobile/Tablet styles - below 900px */
@media (max-width: 900px) {
    .alder-accordion-container {
        flex-direction: column;
        min-height: auto;
    }
    
    .alder-accordion-right {
        order: -1;
        min-height: 300px;
        height: 300px;
    }
    
    .alder-accordion-image-container {
        min-height: 300px;
        height: 300px;
    }
    
    .alder-accordion-left {
        order: 1;
    }
    
    .alder-accordion-content {
        padding-right: 20px;
    }
	.alder-floating-menu-top {
		gap: 32px;
		margin-bottom: 32px;
	}
	.alder-floating-menu-bottom {
		gap: 32px;
		padding-top: 32px;
	}
}


@media all and (max-width:767px){
	.alder-floating-menu-wrapper {
		bottom: var(--cp-l);
	}
}



/* Testimonial Carousel Shortcode
--------------------------------------------- */
.testimonial-card-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: var(--cp-2xl);
    align-items: center;
    padding: var(--cp-2xl);
    background: var(--blue-g300);
    border-radius: 4px;
}
.testimonial-card-wrapper .col-1,
.testimonial-card-wrapper .col-2 {
    height: 100%;
}
.testimonial-card-wrapper .top > *,
.testimonial-card-wrapper .bottom > *{
    margin: 0;
}
.testimonial-card-wrapper .col-1,
.testimonial-card-wrapper .top,
.testimonial-card-wrapper .bottom {
	display: flex;
	flex-direction: column;
	gap: var(--cp-l);
}
.testimonial-card-wrapper .col-1 {
    justify-content: space-between;
}
.testimonial-card-wrapper .image-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    aspect-ratio: 84 / 59;
}
.testimonial-card-wrapper .image-wrapper img {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.testimonial-card-wrapper .logo-wrapper {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	background: rgba(250, 250, 250, 0.30);
	backdrop-filter: blur(5px);
	border-radius: 4px;
	width: 80px;
	height: 80px;
}
.testimonial-card-wrapper .logo-wrapper img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    left: 0;
    top: 0;
    padding: 11px;
	aspect-ratio: 1;
}

@media all and (max-width:900px){
	.testimonial-card-wrapper {
		grid-template-columns: 1fr;
		padding: var(--cp-xl);
	}
}

/* Global Swiper Arrow Styles (applies to all Swiper instances)
--------------------------------------------- */
.swiper-button-prev,
.swiper-button-next {
    width: 36px;
    height: 36px;
    background: white;
    border-radius: 50%;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    position: absolute;
    bottom: 32px;
    z-index: 10;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    content: '';
    font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 14px;
    color: var(--blue-g300);
}

.swiper-button-prev::after {
    content: '\f053'; /* chevron-left */
}

.swiper-button-next::after {
    content: '\f054'; /* chevron-right */
}

.swiper-button-prev {
    left: auto;
    right: 88px;
}

.swiper-button-next {
    left: auto;
    right: 40px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: var(--blue-l300);
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
}

.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
    color: white;
}

.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.swiper-button-disabled:hover {
    background: white;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
}

.swiper-button-disabled:hover::after {
    color: var(--blue-g300);
}

/* Testimonial Carousel Specific Styles
--------------------------------------------- */
.testimonial-carousel-container {
    position: relative;
}

.testimonial-carousel-wrapper {
    position: relative;
    overflow: hidden;
}

/* Timeline Navigation
--------------------------------------------- */
.testimonial-timeline {
    position: relative;
    margin-top: 48px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.timeline-bar {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 1px;
}

.timeline-dots-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}

.timeline-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--blue-g400);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 3;
    border: 3px solid var(--blue-l300);
}

.timeline-dot:hover {
    background: var(--blue-l300);
    transform: scale(1.1);
}

.timeline-dot.active {
    background: transparent;
}

.timeline-active-bullet {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--blue-l300);
    top: 50%;
    transform: translateY(-50%) scale(1);
    left: 0;
    transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 4;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(89, 174, 200, 0.5);
}

.timeline-active-bullet.transitioning {
    transform: translateY(-50%) scale(0.3);
}

.alder-timeline-center:before {
    content: '';
    width: 1px;
    height: 100%;
    border-left: 1px solid #fff;
    position: absolute;
}

@media all and (max-width:767px){
	.alder-timeline-row:before {
		transform: translateY(15px);
	}
}

/* Custom Swiper Arrow Navigation (Universal) */
.swiper-nav-arrows {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    z-index: 10;
}

/* Position arrows for testimonial carousel specifically */
.testimonial-carousel-container .swiper-nav-arrows {
    position: relative;
    margin-top: var(--cp-l);
}

.swiper-arrow {
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid var(--blue-l300);
	padding: 4px;
}

.swiper-arrow i {
    font-size: 26px;
	font-weight: 400;
    color: var(--blue-l300);
    transition: color 0.3s ease;
}

.swiper-arrow:hover {
    background: var(--blue-l300) !important;
}

.swiper-arrow:hover i {
    color: white;
}

.swiper-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.swiper-arrow:disabled:hover i {
    color: var(--blue-g300);
}
.swiper-arrow:focus {
	background: transparent;
}
.elementor-swiper-button {
    border-width: 2px !important;
}

/* Mobile Timeline Styles
--------------------------------------------- */
@media (max-width: 767px) {
    .testimonial-timeline {
        display: none;
    }
    
    .timeline-bar {
        max-width: 180px;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    
    .timeline-dots-container {
        max-width: 180px;
        margin: 0 auto;
        transition: transform 0.3s ease;
        justify-content: center;
        gap: 16px;
    }
    
    .timeline-dot {
        width: 10px;
        height: 10px;
        flex-shrink: 0;
    }
    
    .timeline-dot.edge-fade {
        opacity: 0.3;
    }
    
    .timeline-active-bullet {
        width: 10px;
        height: 10px;
    }
    
    /* Mobile arrow positioning */
    .testimonial-carousel-container .swiper-nav-arrows {
        gap: 8px;
    }
    
    /* Mobile card adjustments */
    .testimonial-card-wrapper {
        grid-template-columns: 1fr;
        gap: var(--cp-xl);
    }
    
    .testimonial-card-wrapper .col-2 {
        order: -1;
    }
}

/* Line Divided List Formatting
--------------------------------------------- */
.line-divided-list ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}
.line-divided-list ul li {
	padding: var(--cp-m) 0;
	border-bottom: 1px solid var(--blue-g200);
}
.line-divided-list ul li:first-child {
	border-top: 1px solid var(--blue-g200);
}




/* Developments Feed
--------------------------------------------- */

.developments-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--cp-2xl) var(--cp-m);
}
.development-image {
    position: relative;
    height: 0;
    padding-top: 62.67%;
    overflow: hidden;
}
.development-image .wp-post-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}
.development-image .logo-wrapper {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    max-width: 200px;
    padding: 12px 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    background: rgba(250, 250, 250, 0.30);
    backdrop-filter: blur(5px);
    border-radius: 4px;
    box-sizing: content-box;
}
.development-image .logo-wrapper img {
    max-width: 200px;
    max-height: 58px;
    object-fit: contain;
}
.development-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.development-location {
    display: flex;
    gap: 20px;
    align-content: center;
    align-items: center;
}
.development-title {
    margin: 0;
}
.development-card {
    display: flex;
    flex-direction: column;
    gap: var(--cp-l);
    padding: 20px;
    border: 1px solid var(--blue-g200);
    border-radius: 4px;
}
.development-status span {
    padding: var(--cp-xs) var(--cp-s);
    background: var(--blue-g200);
    border-radius: var(--radius-full);
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.development-location i {
    margin-right: 0.5em;
}
.development-summary {
    margin-bottom: 32px;
}
.development-content {
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media all and (max-width:1440px) and (min-width:1200px){
	.development-location {
		width: 100%;
		justify-content: space-between;
	}
	.development-location {
		display: flex;
		gap: 20px;
		align-content: center;
		align-items: center;
		width: 100%;
		justify-content: space-between;
	}
	.development-meta {
		align-items: flex-start;
		justify-content: space-between;
		flex-direction: column;
	}
	.development-status span {
		min-width: 100px;
		text-align: center;
		justify-content: center;
	}

}
@media all and (max-width:1200px){
	.developments-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
@media all and (max-width:767px){
	.development-meta {
		flex-wrap: wrap;
	}
	.development-title-wrapper {
		width: 100%;
	}
}



/* Alder Timeline Widget
--------------------------------------------- */
.alder-timeline-widget {
    display: grid;
    grid-template-columns: 1fr;
    gap: 73px;
}
.alder-timeline-row {
    display: grid;
    grid-template-columns: 1fr 100px 1fr;
}
.alder-timeline-left,
.alder-timeline-right {
    display: flex;
    flex-direction: column;
    gap: var(--cp-m);
    max-width: 350px;
}
.alder-timeline-left {
    margin-left: auto;
	text-align: right;
	align-items: flex-end;
}
.alder-timeline-bullet {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: white;
    border-radius: var(--radius-full);
}
.alder-timeline-center {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    align-content: center;
    padding-top: 21px;
}

/* Vertical line */
.alder-timeline-center:before {
    content: '';
    width: 1px;
    height: 100%;
    border-left: 1px solid #fff;
    position: absolute;
}

/* Timeline media wrapper (image + awards) */
.alder-timeline-media-wrapper {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* Awards column */
.alder-timeline-awards {
    display: flex;
    flex-direction: column;
	align-items: flex-start;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.alder-timeline-awards img {
    max-width: 160px;
    width: auto;
    height: auto;
    max-height: 70px;
    object-fit: contain;
    display: block;
}

/* Right column media wrapper (first item, etc.): image | awards */
.alder-timeline-right .alder-timeline-media-wrapper {
    flex-direction: row;
}

/* Left column media wrapper (second item, etc.): awards | image */
.alder-timeline-left .alder-timeline-media-wrapper {
    flex-direction: row;
}

/* Timeline images */
.alder-timeline-image {
    min-width: 360px;
    max-width: 360px;
    max-height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.alder-timeline-image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

/* Show image and awards on hover */
.alder-timeline-row:hover .alder-timeline-image,
.alder-timeline-row:hover .alder-timeline-awards {
    opacity: 1;
}

@media all and (max-width:900px){
	/* Stack all items vertically with timeline on left */
	.alder-timeline-widget {
		gap: 64px;
	}

	.alder-timeline-row {
		display: flex;
		position: relative;
		padding-left: 32px;
		flex-direction: column;
		gap: 28px;
	}

	.alder-timeline-row:nth-child(odd) {
		flex-direction: column-reverse;
	}

	/* Hide the desktop center column */
	.alder-timeline-center {
		display: none;
	}

	/* Show all content left-aligned, reset desktop styles */
	.alder-timeline-left,
	.alder-timeline-right {
		display: flex;
		flex-direction: column;
		gap: var(--cp-m);
		max-width: 100%;
		margin: 0;
		text-align: left;
		align-items: flex-start;
	}

	/* Timeline line positioned on left edge */
	.alder-timeline-row:before {
		content: '';
		position: absolute;
		left: 7.5px;
		top: 0;
		bottom: -20px;
		width: 1px;
		background: #fff;
		transform: translateY(15px);
		min-height: calc(100% + 60px);
	}

	/* Hide line on last item */
	.alder-timeline-row:last-child:before {
		display: none;
	}

	/* Timeline bullet on left */
	.alder-timeline-row:after {
		content: '';
		position: absolute;
		left: 0;
		top: 8px;
		width: 15px;
		height: 15px;
		background: white;
		border-radius: 50%;
	}

	/* Media wrapper: image + awards in a row */
	.alder-timeline-media-wrapper {
		flex-direction: row !important;
		align-items: flex-start;
		width: 100%;
		gap: 12px;
	}

	/* Right column: DOM is image→awards, use row to keep that order */
	.alder-timeline-right .alder-timeline-media-wrapper {
		flex-direction: row !important;
	}

	/* Left column: DOM is awards→image, use row-reverse to flip to image→awards */
	.alder-timeline-left .alder-timeline-media-wrapper {
		flex-direction: row-reverse !important;
	}

	/* Make images responsive and visible by default on mobile */
	.alder-timeline-image {
		min-width: auto;
		max-width: 254px;
		margin-right: auto;
		flex: 1;
		opacity: 1 !important;
		transition: none;
	}

	/* Make awards visible and aligned top, constrained width */
	.alder-timeline-awards {
		opacity: 1 !important;
		transition: none;
		align-items: flex-start;
		max-width: 100px;
		flex-shrink: 0;
	}

	.alder-timeline-awards img {
		max-width: 100px;
	}

	/* Ensure media wrapper appears before content */
	.alder-timeline-media-wrapper {
		order: 1;
	}
	.alder-timeline-content {
		order: 2;
	}
}

/* Project Single - Overview Media Shortcode
--------------------------------------------- */
.project-overview-media img {
    aspect-ratio: 700/550;
    object-fit: cover;
}
.project-overview-media {
    position: relative;
    overflow: hidden;
}
.project-overview-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    aspect-ratio: 1;
    padding: var(--cp-xs);
    border-radius: var(--radius-full);
    background: rgba(11, 44, 54, 0.25);
    backdrop-filter: blur(10px);
    transform: translate(-50%, -50%) scale(1);
    transition: all 0.3s ease;
}
.project-overview-play:hover {
	transform: translate(-50%, -50%) scale(1.2);
	transition: all 0.3s ease;
	cursor: pointer;
}
.project-overview-play i {
	font-size: 40px;
	line-height: 1;
	transform: scale(1);
    transition: all 0.3s ease;
}
.project-overview-play:hover i {
	transform: scale(1.4);
    transition: all 0.3s ease;
}




/* Project Single - Project Meta
--------------------------------------------- */

.project-value {
    font-family: var(--titleFont);
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    font-size: clamp(50px, 10vw, 70px);
}
.project-meta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--cp-m);
    align-items: flex-start;
}
.project-meta > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--cp-2xs);
}
.project-meta i {
	margin-right: var(--cp-xs);
	font-size: 20px;
}
.project-meta-inline {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}
.inline-meta-item.meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--cp-xs);
    flex-wrap: wrap;
}
.inline-meta-item.meta-item.meta-tags span {
    border-radius: 99px;
    background: rgba(43, 85, 97, 0.50);
    backdrop-filter: blur(10px);
    padding: var(--cp-xs) var(--cp-s );
}
@media all and (max-width:1366px){
	.project-meta {
		flex-direction: column;
	}
}
@media all and (max-width:900px){
	.project-meta {
		flex-direction: row;
	}
}
@media all and (max-width:767px){
	.project-meta {
		flex-direction: column;
		align-items: flex-start;
	}
}


/* Stat Cards - Mobile Carousel
--------------------------------------------- */
@media (max-width: 767px) {
    .stat-cards.swiper {
        padding-bottom: 100px;
    }
	.stat-cards .elementor-swiper-button.elementor-swiper-button-prev, .stat-cards .elementor-swiper-button.elementor-swiper-button-next {
		border: 2px solid var(--blue-l300);
		border-radius: 99px;
		color: var(--blue-l300);
		bottom: 0;
		top: unset;
		background: transparent !important;
	}
	.stat-cards .elementor-swiper-button.elementor-swiper-button-next {
		left: calc(0% + 60px);
	}
	.stat-card i {
		font-size: 50px !important;
	}
}





/* Hubspot Styles
--------------------------------------------- */
.hsfc-Step__Content {
    background: #fff;
}

.elementor [data-hsfc-id=Renderer] .hsfc-Button {
    background: var(--blue-l300);
    border-radius: 4px;
    padding: var(--cp-m) 20px;
    border: 1px solid var(--blue-l300);
    transition: 0.2s ease;
    font-size: var(--e-global-typography-efe00e9-font-size);
    font-weight: var(--e-global-typography-efe00e9-font-weight);
    text-transform: var(--e-global-typography-efe00e9-text-transform);
    line-height: var(--e-global-typography-efe00e9-line-height);
    letter-spacing: var(--e-global-typography-efe00e9-letter-spacing);
}

.elementor [data-hsfc-id=Renderer] .hsfc-Button:hover {
	background: var(--blue-g200) !important;
	border: 1px solid var(--blue-l300) !important;
}
