:root {
    /* Primary Colors */
    --color-primary-1: #362F2E; /* Night */
    --color-primary-1-20: #D7D5D5; /* 20% */

    --color-primary-2: #F2F1ED; /* Bamboo */
    
    /* Accent Colors */
    --color-accent-1: #F28322; /* Koi */
    --color-accent-1-20: #FCE6D3; /* 20% */

    --color-accent-2: #B8D1CE; /* Water */
    --color-accent-2-20: #E4EDEC; /* 20% */
    
    --color-accent-3: #58694A; /* Ryuu */
    --color-accent-3-20: #DEE1DB; /* 20% */
    
    /* Edit Link Colors */
    --color-link: #F28322;
    --color-link-hover: #06BCC1;

    /* Edit Button Colors */
    --color-btn-light: #FFFFFF;
    --color-btn-dark: #090000;
    --color-btn-accent: #FA0000;

    /* Shadows */
    --shadow-1: 8px 8px 24px rgba(0,0,0,0.25);
    
    /* Edit Quote */
    --color-quote-border: #06BCC1;
	--width-quote-border: 3px;
    --bg-quote: #F4F8FC;
	
	/* Edit Code */
    --color-code-text: #89E3E4;
	--bg-code: #0B0515;

    /* Edit Spacing */
    --space-xxs: 0.25rem;
    --space-xs: 0.75rem;
    --space-s: 1.25rem;
    --space-m: 2.25rem;
    --space-l: 2.5rem;
    --space-xl: 3.5rem;
    --space-xxl: 5rem;

    /* Margins & Paddings */
    --margin-xs: 0.236em;
    --margin-s: 0.345em;
    --margin-m: 0.786096em;
    --margin-l: 1em;
    --margin-xl: 1.618em;
    --margin-xxl: 2.618em;

    --padding-xs: 0.236rem;
    --padding-s: 0.345rem;
    --padding-m: 0.786096rem;
    --padding-l: 1rem;
    --padding-xl: 1.618rem;
    --padding-xxl: 2.618rem;
    --padding-3xl: 3.5rem;
    --padding-4xl: 5rem;
    --padding-5xl: 8rem;

    /* Edit Borders */
    --border-xxs: 1px;
    --border-xs: 2px;
    --border-s: 3px;
    --border-m: 4px;
    --border-l: 5px;
    --border-xl: 6px;
    --border-xxl: 7px;
	
    /* Edit Image Border Radius */
    --radius-xxl: 3rem;
    --radius-xl: 1.5rem;
    --radius-l: 1rem;
    --radius-m: 0.75rem;
    --radius-s: 0.5rem;
    --radius-xs: 0.25rem;
    --radius-xxs: 0.15rem;
    
    /* Edit Link Transition */
    --transition-default: 0.2s ease-in-out;
    
    /* Edit Typography */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --font-size-xs: .85rem;
    --font-size-p: 1.15rem;
    --mobile-font-size-p: 1.15rem;
    --font-size-m: 1.5rem;
    --mobile-font-size-m: 1.5rem;
    --font-size-l: 2rem;
    --mobile-font-size-l: 2rem;
    --line-height-body: 1.75em;
    --line-height-heading: 1.25em;
    --line-height-list: 1.2em;

	/* Left and Right Padding All /Sections/Containers*/
	--fluid-side-padding-min: 1.25rem; /* 20px */
	--fluid-side-padding-max: 5rem;   /* 80px */

	/* Top and Bottom Padding All Containers*/
	--section-xxl-padding-min: 9.375rem; /* 150px */
	--section-xxl-padding-max: 10rem; /* 160px */ 

	--section-xl-padding-min: 6.875rem; /* 110px */
	--section-xl-padding-max: 7.5rem; /* 120px */

	--section-l-padding-min: 5.625rem; /* 90px */
	--section-l-padding-max: 6.25rem; /* 100px */

	--section-m-padding-min: 5rem; /* 80px */
	--section-m-padding-max: 5rem; /* 80px */

	--section-s-padding-min: 3.75rem; /* 60px */
	--section-s-padding-max: 3.75rem; /* 60px */

	--section-xs-padding-min: 2.5rem; /* 40px */
	--section-xs-padding-max: 2.5rem; /* 40px */

	--section-xxs-padding-min: 1.5rem; /* 24px */
	--section-xxs-padding-max: 1.5rem; /* 24px */

	--section-header-padding-min: 1.25rem; /* 20px */
	--section-header-padding-max: 1.25rem; /* 20px */

	/* Hero Sections Height Variable */
	--section-hero-height: 100vh; /* 100% the screen height */

	/* Offset Padding for Overlay Headers */
	--section-offset-header: 80px; /* Adjust to the overlay header's negative margin */

	/* Width For Narrow Sections*/
	--section-narrow: 62.5rem; /* 1000px */
	--section-narrow-xs: 45rem; /* 720px */
}



/* Section/Container Padding - Fluid Variants */
/* Backup: padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;*/
.section-xxl {
	padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
	padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-xxl {
	padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
	padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
} 

.section-xl {
	padding-top: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
	padding-bottom: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-l {
	padding-top: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
	padding-bottom: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-m {
	padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
	padding-bottom: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-s {
	padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
	padding-bottom: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-xs {
	padding-top: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
	padding-bottom: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-xxs {
	padding-top: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
	padding-bottom: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}

.section-header {
	padding-top: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
	padding-bottom: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
	padding-left: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
	padding-right: clamp(var(--fluid-side-padding-min), -1.119rem + 3.824vw, var(--fluid-side-padding-max))!important;
}
  
/* Hero Container/Sections Height */
.section-hero {
	min-height: var(--section-hero-height)!important;
}

.section-hero .e-con-inner {
	justify-content: center!important;
}

/* Full Width Sections - No Side Padding */
.section-full div {
	max-width: 100%!important;
}

/* Narrow Sections */
.section-narrow .e-con-inner {
	max-width: var(--section-narrow)!important;
}

.section-narrow-xs .e-con-inner {
	max-width: var(--section-narrow-xs)!important;
}

/* Offset Padding for Overlay Headers */
.section-offset {
	padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
}

/***
/* Spacings 
/* ***/

/* Gaps */
.gap-xxl .e-con-inner, .gap-xxl.e-con { gap: clamp(var(--space-s), 0.89rem + 2.569vw, var(--space-xxl)); }
.gap-xl .e-con-inner, .gap-xl.e-con { gap: var(--space-xl); }
.gap-l .e-con-inner, .gap-l.e-con { gap: var(--space-l); }
.gap-m .e-con-inner, .gap-m.e-con { gap: var(--space-m); }
.gap-s .e-con-inner, .gap-s.e-con { gap: var(--space-s); }
.gap-xs .e-con-inner, .gap-xs.e-con { gap: var(--space-xs); }
.gap-xxs .e-con-inner, .gap-xxs.e-con { gap: var(--space-xxs); }

/* Margins */
.margin-xs { margin: var(--margin-xs) }
.margin-s { margin: var(--margin-s) }
.margin-m { margin: var(--margin-m) }
.margin-l { margin: var(--margin-l) }
.margin-xl { margin: var(--margin-xl) }
.margin-xxl { margin: var(--margin-xxl) } 

.margin-top-xs { margin-top: var(--margin-xs) }
.margin-top-s { margin-top: var(--margin-s) }
.margin-top-m { margin-top: var(--margin-m) }
.margin-top-l { margin-top: var(--margin-l) }
.margin-top-xl { margin-top: var(--margin-xl) }
.margin-top-xxl { margin-top: var(--margin-xxl) }

.margin-right-xs { margin-right: var(--margin-xs) }
.margin-right-s { margin-right: var(--margin-s) }
.margin-right-m { margin-right: var(--margin-m) }
.margin-right-l { margin-right: var(--margin-l) }
.margin-right-xl { margin-right: var(--margin-xl) }
.margin-right-xxl { margin-right: var(--margin-xxl) }

.margin-bottom-xs { margin-bottom: var(--margin-xs) !important }
.margin-bottom-s { margin-bottom: var(--margin-s) !important }
.margin-bottom-m { margin-bottom: var(--margin-m) !important }
.margin-bottom-l { margin-bottom: var(--margin-l) !important }
.margin-bottom-xl { margin-bottom: var(--margin-xl) !important }
.margin-bottom-xxl { margin-bottom: var(--margin-xxl) !important }

.margin-left-xs { margin-left: var(--margin-xs) }
.margin-left-s { margin-left: var(--margin-s) }
.margin-left-m { margin-left: var(--margin-m) }
.margin-left-l { margin-left: var(--margin-l) }
.margin-left-xl { margin-left: var(--margin-xl) }
.margin-left-xxl { margin-left: var(--margin-xxl) }

/* Paddings */
.padding-xs { padding: var(--padding-xs) }
.padding-s { padding: var(--padding-s) }
.padding-m { padding: var(--padding-m) }
.padding-l { padding: var(--padding-l) }
.padding-xl { padding: var(--padding-xl) }
.padding-xxl { padding: var(--padding-xxl) }

.padding-top-xs { padding-top: var(--padding-xs) }
.padding-top-s { padding-top: var(--padding-s) }
.padding-top-m { padding-top: var(--padding-m) }
.padding-top-l { padding-top: var(--padding-l) }
.padding-top-l { padding-top: var(--padding-xl) }
.padding-top-xxl { padding-top: var(--padding-xxl) }

.padding-right-xs { padding-right: var(--padding-xs) }
.padding-right-s { padding-right: var(--padding-s) }
.padding-right-m { padding-right: var(--padding-m) }
.padding-right-l { padding-right: var(--padding-l) }
.padding-right-xl { padding-right: var(--padding-xl) }
.padding-right-xxl { padding-right: var(--padding-xxl) }

.padding-bottom-xs { padding-bottom: var(--padding-xs) }
.padding-bottom-s { padding-bottom: var(--padding-s) }
.padding-bottom-m { padding-bottom: var(--padding-m) }
.padding-bottom-l { padding-bottom: var(--padding-l) }
.padding-bottom-xl { padding-bottom: var(--padding-xl) }
.padding-bottom-xxl { padding-bottom: var(--padding-xxl) }

.padding-left-xs { padding-left: var(--padding-xs) }
.padding-left-s { padding-left: var(--padding-s) }
.padding-left-m { padding-left: var(--padding-m) }
.padding-left-l { padding-left: var(--padding-l) }
.padding-left-xl { padding-left: var(--padding-xl) }
.padding-left-xxl { padding-left: var(--padding-xxl) }

/* Backgrounds */
.bg-light { background-color: #FFFFFF }

/* Borders */
.border-dark {
    border: 2px solid #090000;
    border-radius: var(--radius-m);
}

/* Border Radius */
.radius-xxl, .radius-xxl img { border-radius: var(--radius-xxl); }
.radius-xl, .radius-xl img { border-radius: var(--radius-xl); }
.radius-l, .radius-l img { border-radius: var(--radius-l); }
.radius-m, .radius-m img { border-radius: var(--radius-m); }
.radius-s, .radius-s img { border-radius: var(--radius-s); }
.radius-xs, .radius-xs img { border-radius: var(--radius-xs); }
.radius-xxs, .radius-xxs img { border-radius: var(--radius-xxs); }

/* Buttons */
.btn-secondary a.elementor-button {
    color: var(--color-btn-light);
    background-color: var(--color-btn-dark);
    border-color: var(--color-btn-dark);
}

.btn-secondary:hover a.elementor-button {
    color: var(--color-btn-dark);
    background-color: var(--color-btn-accent-2);
    border-color: var(--color-btn-accent-2);
}

.btn-tertiary a.elementor-button {
    color: var(--color-link);
    background: transparent;
    border: 0;
    padding: 0;
} 

.btn-tertiary:hover a.elementor-button {
    color: var(--color-link-hover);
    background: : transparent;
    border: 0;
    padding: 0;
} 

    /* Cards */
    [class*='card-'] {
        align-self: stretch !important;
        background-color: #fff;
        border: var(--border-xxs) solid var(--color-primary-1-20);
        border-radius: var(--radius-s);
        box-shadow: 5px 5px 15px rgba(0,0,0,0.15);
        width: 100%;
    }

    .card-bg-1 { background-color: var(--color-accent-1) }
    .card-bg-2 { background-color: var(--color-accent-2) }
    .card-bg-3 { background-color: var(--color-accent-3) }
    .card-o90 { opacity: 0.9; }
    
    .card-s { padding: var(--padding-s) }
    .card-m { padding: var(--padding-m) }
    .card-l { padding: var(--padding-l) }
    .card-xl { padding: var(--padding-xl) }
    .card-xxl { padding: var(--padding-xxl) }

    .polareuth {
        background-color: #fff;
        border-radius: var(--radius-m);
        padding: var(--padding-l) var(--padding-l) var(--padding-4xl) var(--padding-l);
        box-shadow: var(--shadow-1);
    }

    /* Labels */
    [class*='label-'] {
        background-color: #fff;
        border: var(--border-xxs) solid var(--color-primary-1-20);
        border-radius: var(--radius-xxl);
    }
    
    .label-xs, .label-xs span { padding: var(--padding-xs) var(--padding-xs) var(--padding-xs) var(--padding-xs) }
    .label-s, .label-s span { padding: var(--padding-s) var(--padding-m) var(--padding-s) var(--padding-m) }
    .label-m, .label-m span { padding: var(--padding-m) }
    .label-l, .label-l span { padding: var(--padding-l) }
    .label-xl, .label-xl span { padding: var(--padding-xl) }
    .label-xxl, .label-xxl span { padding: var(--padding-xxl) }
    
    /* Code */
    .code {
        background-color: #fcfcfc;
        border-top: 1px solid #ededed;
        border-bottom: 1px solid #ededed;
        font-family: "Courier", serif;
        padding: var(--padding-m);
        font-size: 14px;
    }

    /* Shadows */
    .shadow-1 { box-shadow: var(--shadow-1); }