/* Removing auto transitions */
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container, .elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)), .e-con:where(:not(.e-div-block-base)) {
    transition: none;
}
/* /Removing auto transitions */

/* Defaults */
* {
    box-sizing: border-box;
    margin: 0;
    
    -webkit-tap-highlight-color: transparent;
}

:where(.e-con) {
	width: 100%;
}

:where(img) {
	max-width: 100%;
	height: auto;
}

body {
    font-family: var(--font-body);
    line-height: var(--line-height-md);
    color: var(--color-body);
}

::selection {
		background: var(--brand-color);
		color: var(--background);
}

:where(a) {
	color: var(--brand-color);
    text-decoration: none;
}

:where(:not(h1, h2, h3, h4, h5, h6, .white, .brand-color)) >:where(strong, b) {
    color: var(--color-strong);
}

b, strong {
    font-weight: var(--weight-strong);
}

/* / Defaults */


/* Icons */

.icon--color-outline-dark {
    color: var(--outline-dark);
}

.icon--color-brand-color {
    color: var(--brand-color);
}

/* /Icons */


/* Sections */
.section-wrapper {
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 100%;
    padding: var(--section-wrapper-vp) var(--section-wrapper-hp);
}

.section-inner-wrapper,
.section-i-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--section-gap);

    width: 100%;
    max-width: var(--section-max-width);
    padding: 0;
}

.heading-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--heading-wrapper-gap);

    width: 100%;
    max-width: var(--heading-max-width);
    padding: 0 var(--heading-wrapper-hp);

    text-wrap: pretty;
}

.heading-inner-wrapper,
.heading-i-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--heading-i-wrapper-gap);
}

.heading-cta {
    margin-top: var(--heading-cta-margin);
}

/* /Sections */

/* Headings */
:is(h1, h2, h3, h4, h5, h6),
:is(h1, h2, h3, h4, h5, h6).elementor-kit-7130,
.faux-heading-h1, 
.faux-heading-h2 {
    color: var(--color-heading);
    font-family: var(--font-heading);
    font-weight: var(--weight-heading);
    line-height: var(--line-height-heading);
    letter-spacing: -1%;
}


.pre-heading {
    font-family: var(--font-heading);
    color: var(--brand-color);
    font-size: var(--font-size-md);
    line-height: var(--line-height-xs);
}

h1,
.elementor-kit-7130 h1, 
.faux-heading-h1 {
    font-size: var(--font-size-h1);
}

h2,
h1.small,
.elementor-kit-7130 h2, 
.elementor-kit-7130 h1.small,
.faux-heading-h2 {
    font-size: var(--font-size-h2);
}

h3,
h2.small,
.elementor-kit-7130 h3,
.elementor-kit-7130 h2.small {
    font-size: var(--font-size-h3);
}

h3.small,
.elementor-kit-7130 h3.small {
    font-size: var(--font-size-lg);
}

/* /Headings */

/* Paragraphs */
.heading-paragraph,
:is(div, p).heading-paragraph,
.heading-paragraph p,
:is(h1, h2).inline-heading {
    color: var(--color-body);
    font-family: var(--font-body);
    font-size: var(--font-size-lg);
    font-weight: var(--weight-normal);
    line-height: var(--line-height-md);
}

:where(
    .heading-paragraph strong,
    .heading-paragraph b,
    h1.inline-heading b,
    h1.inline-heading strong
    ) {
    color: var(--color-strong);
}

div.heading-paragraph * {
    display: inline;
}

/* /Paragraphs */

/* Text */

.balance {
    text-wrap: balance;
}

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

.balance-on-tablet-mobile {
    text-wrap: balance;
}

.pretty {
    text-wrap: pretty;
}

.center-text {
    text-align: center;
}

.center-text-on-mobile {
    text-align: center;
}

.center-text-on-tablet { 
    text-align: center;
}

@media (width >= 768px) {
    .balance-on-mobile {
        text-wrap: wrap;
    }
    .center-text-on-mobile {
        text-align: left;
    }
}

@media (width >= 1025px) {
    .balance-on-tablet-mobile {
        text-wrap: wrap;
    }
    .center-text-on-tablet {
        text-align: left;
    }
}
/* /Text */


/* Content and Blog Text */
.content-wrapper :is(h1, h2, h3, h4, h5, h6) {
    margin: 1.2em 0 .6em 0;
}

.content-wrapper h2 {
    font-size: 2rem;
}

.content-wrapper h3 {
    font-size: 1.5rem;
    line-height: 1.2;
}

.content-wrapper :is(p, ul, ol, li, span) {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-body);
}

.content-wrapper strong {
    color: var(--color-strong);
}

.content-wrapper :is(p, span) {
    margin: 0 0 1em 0;
}

.content-wrapper :is(ul, ol) {
    margin: 1.1em 0 1.1em 1.5em;
    padding-inline-start: 0;
	padding: 0 0 0 .5em;
}

.content-wrapper ul {
    list-style: disc outside;
}

.content-wrapper li {
    margin: 0 0 .5em 0;
}

@media (width >= 768px) {
    .content-wrapper h2 {
        font-size: 38px;
    }
    .content-wrapper h3 {
        font-size: 28px;
    }
    .content-wrapper, .content-wrapper :is(p, ul, ol, li, span) {
        font-size: 1.125rem;
    }
}
/* /Content and Blog Text */

/* Misc */

.h-scroll-no-bar {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}

.h-scroll-no-bar::-webkit-scrollbar {
        display: none;
}

.white,
:is(h1, h2, h3, h4, h5, h6, span, p).white {
    color: var(--background);
}

.brand-color, 
:is(h1, h2, h3, h4, h5, h6, span, p).brand-color {
    color: var(--brand-color);
}

.auto-width {
    width: auto;
}

.align-left {
    align-items: start;
}

@media (width >= 1025px) {
    .align-left-on-desktop {
        align-items: start;
    }
}

.elementor-menu-anchor, 
.menu-anchor,
div[id] {
    scroll-margin-top: calc(var(--nav-bar-height) + 2rem);
}
/* /Misc */

/* Display */
.hide-on-desktop {
    display: flex !important;
}

.hide-on-mobile {
    display: none !important;
}

.hide-on-tablet-mobile {
    display: none !important;
}

.hide-on-tablet-desktop {
    display: flex !important;
}

@media (width >= 768px) {
    .hide-on-tablet-desktop {
        display: none !important;
    }

    .hide-on-mobile {
        display: flex !important;
    }
}

@media (width >= 1025px) {
    .hide-on-desktop {
        display: none !important;
    }
    .hide-on-tablet-mobile {
        display: flex !important;
    }
}
/* /Display */

/* Forms */
input[type]:not(input[type="submit"], input[type="checkbox"]),
.input-text,
select,
textarea {
    flex-shrink: 0;
    
    width: 100%;
    min-height: 0;
    padding: var(--padding-form-input);
    border: 1.5px solid var(--outline);
    border-radius: var(--radius-form-input);

    color: var(--color-body);
    background-color: var(--background);

    font-family: var(--font-body);
    font-size: 1rem;
    line-height: var(--line-height-sm);
}

form textarea,
textarea {
    min-height: 125px;
}

form input[type="checkbox"], 
form input[type="radio"], 
form select {
    cursor: pointer;
}

form button:hover {
    background-color: var(--brand-color-hover);
}

label {
    color: var(--color-strong);
    font-size: .875rem;
    font-weight: 500;
	line-height: var(--line-height-form-label);
}

/* HubSpot Legacy Form Styling */

div.hbspt-form form.hs-form fieldset {
    max-width: 100%;
}

div.hbspt-form form.hs-form label {
    margin-bottom: var(--form-label-gap);
}

div.hbspt-form form.hs-form label:has(span:empty) {
    margin-bottom: 0;
}

span.hs-form-required {
    display: none;
}

div.hbspt-form form.hs-form div.input {
    margin-right: 0;
}

div.hbspt-form form.hs-form {
    display: flex;
    flex-direction: column;
    row-gap: var(--form-row-gap);
    column-gap: var(--form-column-gap);
}

form.hs-form fieldset {
    display: flex;
    flex-direction: column;
    row-gap: var(--form-row-gap);
    column-gap: var(--form-column-gap);
}

form fieldset.form-columns-1:has(input[type="hidden"]) {
    display: none;
}

form.hs-form div.field.hs-form-field {
    display: flex;
    flex-direction: column;
    gap: 0;
}

form.hs-form .hs-form-field, div.hbspt-form form.hs-form fieldset .hs-input {
    width: 100% !important;
}

form.hs-form div.actions {
    display: flex;
}

form.hs-form input.hs-button {
    flex-basis: 100%;
    cursor: pointer;
}

form.hs-form div.legal-consent-container {
    font-size: .75rem;
    line-height: var(--line-height-md);
    color: var(--color-body);
}

div.hs-form-field ul.hs-error-msgs {
    display: none;
}

form.hs-form input[type=email]:focus, 
form.hs-form input[type=input]:focus, 
form.hs-form input[type=number]:focus, 
form.hs-form input[type=password]:focus, 
form.hs-form input[type=search]:focus, 
form.hs-form input[type=tel]:focus, 
form.hs-form input[type=text]:focus, 
form.hs-form input[type=url]:focus, 
form.hs-form select:focus, 
form.hs-form textarea:focus,
form.hs-form input[type=email]:focus-visible, 
form.hs-form input[type=input]:focus-visible, 
form.hs-form input[type=number]:focus-visible, 
form.hs-form input[type=password]:focus-visible, 
form.hs-form input[type=search]:focus-visible, 
form.hs-form input[type=tel]:focus-visible, 
form.hs-form input[type=text]:focus-visible, 
form.hs-form input[type=url]:focus-visible, 
form.hs-form select:focus-visible, 
form.hs-form textarea:focus-visible,
form.hs-form select:open {
    outline: 1px solid var(--medium-grey);
    box-shadow: none;
}

@media (width >= 768px) {
   form.hs-form fieldset {
       flex-direction: row;
   } 
}

form select,
form ::picker(select) {
   appearance: base-select;
    border: 1.5px solid var(--outline);
    border-radius: var(--radius-form-input);
    background: var(--background);
    padding: var(--padding-form-input);
}

form ::picker(select) {
    top: anchor(bottom);
}

form select:open::picker(select) {
    box-shadow: 
        0 2px 15px rgb(214, 204, 194, .4),
        0 20px 50px rgb(214, 204, 194, .2);
}

form select::picker-icon {
    content: url("../icons/nav-bar-caret.svg");
    color: var(--color-body);
    transition: rotate 150ms linear;
    
    height: 1rem;
    position: relative;
    top: 2.4px;
    right: 2px;
}

form select:open::picker-icon {
    rotate: 180deg;
}

form select option {
    display: flex;
    justify-content: flex-start;
    gap: 0;
    
    line-height: var(--line-height-sm);
    color: var(--color-body);
    padding: .5rem 10px;
    transition:
        color 150ms ease, background 150ms ease;
}

form select option:first-of-type {
    padding-top: 1rem;
}

form select option:last-of-type {
    padding-bottom: 1rem;
}

form select option:hover,
form select option:focus,
form select option:focus-visible {
    color: var(--brand-color);
    background: var(--background);
    outline: none;
}

form select option::checkmark {
    display: none;
}

form select::placeholder,
form input::placeholder,
form select option[disabled],
form select.is-placeholder {
    color: #888785;
}

/* div.hbspt-form form.hs-form select {
    height: 40.8px;
} */

div.hbspt-form.popup form.hs-form div.legal-consent-container {
    font-size: .6rem;
}

div.hbspt-form.popup form.hs-form {
    row-gap: .75rem;
    column-gap: .75rem;
}

div.hbspt-form.popup form.hs-form label {
    margin-bottom: .25rem;
}

div.hbspt-form div.input ul[role=checkbox] {
    list-style: none;
    padding-inline-start: .5rem;
    margin-block-start: .5rem;
    margin-block-end: .5rem;
}

div.hbspt-form li.hs-form-checkbox label {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: .5rem;
}
div.hbspt-form li.hs-form-checkbox label.hs-form-checkbox-display input {
    width: 1rem !important;
    height: 1rem;
    margin: 0;
    
    outline: none;
}

div.submitted-message {
    font-size: 1.125rem;
    color: var(--color-body);
}
/* /HubSpot Legacy Form Styling */

/* HubSpot New Form Styling */

	/* Rows */
.form-wrapper  div.hs-form-html .hsfc-NavigationRow {
    margin-top: calc(var(--form-row-gap) * 1.25);
}

.form-wrapper div.hsfc-Row:empty {
	margin: 0;
}

.form-wrapper div.hsfc-Row div.hsfc-DataPrivacyField div {
	display: block;
	margin: 0;
}

.form-wrapper div.hsfc-Row:has(div.hsfc-DataPrivacyField) {
    margin-bottom: calc(var(--hsf-row__vertical-spacing) * -.25);
}
	/* / Rows */

	/* Checkboxes */
.form-wrapper .hsfc-CheckboxFieldGroup__Options label span {
    font-weight: 400;
	font-size: 14px;
}
	/* / Checkboxes */


.form-wrapper div.hs-form-html {
    width: 100%;
}

.form-wrapper .hsfc-RichText p {
    margin-top: 0;
}

.form-wrapper div.hs-form-html input.hsfc-TextInput:focus, .form-wrapper div.hs-form-html input.hsfc-TextInput:focus-visible {
    box-shadow: none;
    outline: 1px solid var(--medium-grey);
}

.form-wrapper div.hs-form-html button {
    min-width: 125px;
    width: 100%;
}

	/* Input */
div.hs-form-html {
   .input-text, 
    input[type=email], 
    input[type=input], 
    input[type=number], 
    input[type=password], 
    input[type=search], 
    input[type=tel], 
    input[type=text], 
    input[type=url], 
    select, textarea,
    div.hsfc-PhoneInput__FlagAndCaret {
        height: 3rem;
    } 
}

.form-wrapper div.hs-form-html input[type=tel] {
    flex-shrink: 1;
}
	/* / Input */

	/* Drop Down */
.form-wrapper div.hs-form-html button.hsfc-Button:not([disabled]):hover {
    transform: none;
}

.form-wrapper div.hs-form-html .hsfc-DropdownOptions__Search {
    display: none;
}

.form-wrapper div.hs-form-html div.hsfc-DropdownOptions {
    padding: 10px;
    box-shadow: 
        0 2px 15px rgb(214, 204, 194, .4),
        0 20px 50px rgb(214, 204, 194, .2);
}

.form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem {
    padding: .5rem 10px;
    line-height: var(--line-height-sm);
    color: var(--color-body);
    transition: color 150ms ease, background 150ms ease;
}

.form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem--selected {
	filter: none;
	color: var(--brand-color) !important;
}

.form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem:first-of-type {
    padding-top: 1rem;
}

.form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem:last-of-type {
    padding-bottom: 1rem;
}

.form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem:hover, .form-wrapper div.hs-form-html ul.hsfc-DropdownOptions__List li.hsfc-DropdownOptions__List__ListItem:focus {
    filter: none;
    color: var(--brand-color);
}
	/* / Drop Down */

.form-wrapper div.hs-form-html label.hsfc-FieldLabel {
    margin-bottom: var(--form-label-gap);
} 

.form-wrapper div.hs-form-html label.hsfc-FieldLabel:has(input[type="checkbox"]),
.form-wrapper div.hs-form-html label.hsfc-FieldLabel:has(input[type="radio"]) {
	cursor: pointer;
}

.form-wrapper div.hs-form-html div.hsfc-RadioFieldGroup__Options,
.form-wrapper div.hs-form-html div.hsfc-CheckboxFieldGroup__Options {
    padding-top: var(--form-label-gap);
	padding-bottom: var(--form-label-gap);
}

.form-wrapper div.hs-form-html div.hsfc-FieldDescription {
    margin-bottom: .5rem;
}

.form-wrapper span.hsfc-FieldLabel__RequiredIndicator {
    padding-left: .25rem;
}

	/* Errors */
.form-wrapper div.hs-form-html div.hsfc-ErrorAlert {
	display: none;
    margin-top: 6px;
	
	line-height: var(--line-height-sm);
    font-style: italic;
}

.form-wrapper div.hs-form-html .hsfc-NavigationRow__Alerts div.hsfc-ErrorAlert {
	display: block;
}
	/* / Errors */


:root {
    /* Global */
    --hsf-global__font-family: var(--font-body);
	--hsf-global__error-color: var(--brand-color);
	--hsf-global__font-size: 14px;
    
    /* Row */
    --hsf-row__horizontal-spacing: var(--form-column-gap);
    --hsf-row__vertical-spacing: var(--form-row-gap);
    --hsf-module__vertical-spacing: 0;
    
    /* Button */
    --hsf-button__font-family: var(--font-body);
    --hsf-button__font-size: 1rem;
    --hsf-button__color: var(--white);
    --hsf-button__background-color: var(--brand-color);
    --hsf-button__border-radius: 999px;
    --hsf-button__padding: .9em 1.55em;
    --hsf-button__font-weight: var(--weight-strong);
    --hsf-button--hover__color: var(--white);
    --hsf-button--hover__background-color: var(--brand-color-hover);
    
    /* Background */
    --hsf-background__background-color: transparent;
    --hsf-background__border-style: none;
    --hsf-background__padding: 0;
    
    /* Field Input */
	--hsf-field-input__font-family: var(--font-body);
    --hsf-field-input__color: var(--color-body);
    --hsf-field-input__background-color: var(--background);
    --hsf-field-input__placeholder-color: rgb(48, 48, 42, .4);
    --hsf-field-input__border-color: var(--outline);
    --hsf-field-input__border-width: 1.5px;
    --hsf-field-input__border-style: solid;
    --hsf-field-input__border-radius: var(--radius-form-input);
    --hsf-field-input__padding: var(--padding-form-input);
    --hsf-field-input__font-size: 1rem;
	
	/* Field Labels */
    --hsf-field-label__font-size: .875rem;
    --hsf-field-label__color: var(--color-strong);
    --hsf-field-label-requiredindicator__color: var(--brand-color);
	
	/* Field Text Area */
	--hsf-field-textarea__font-size: 1rem;
	
    /* Drop Down */
    --hsf-field-dropdown-options__border-radius: var(--radius-form-input);
	
	/* Field Description */
	--hsf-field-description__color: var(--color-body);
    --hsf-field-description__font-size: .75rem;
    
    /* Error Alert */
	--hsf-erroralert__font-family: var(--font-body);
    --hsf-erroralert__font-size: .75rem;
    --hsf-erroralert__color: var(--brand-color);
    
    /* Info Alert */
    --hsf-infoalert__font-size: .75rem;
    --hsf-infoalert__color: var(--color-body);
    
    /* Rich Text */
	--hsf-richtext__font-family: var(--font-body);
    --hsf-richtext__font-size: .75rem;
    --hsf-richtext__color: var(--color-body);
	
	/* Heading */
	--hsf-heading__font-family: var(--font-heading);
    --hsf-heading__color: var(--color-heading);
    
    /* Field Radio */
    --hsf-field-radio__padding: 10px;
    --hsf-field-radio__background-color: var(--background);
    --hsf-field-radio__color: var(--brand-color);
    
    /* Field Checkbox */
    --hsf-field-checkbox__padding: 10px;
    --hsf-field-checkbox__background-color: var(--background);
    --hsf-field-checkbox__color: var(--brand-color);
}
/* /HubSpot New Form Styling */
/* /Forms */

/* Entrance Animations */
@keyframes fadeInUp {
    0% {
        translate: 0 16px;
        opacity: 0;
    }
	75% {
		opacity: 1;
	}
	100% {
        translate: 0 0;
    	opacity: 1;
	}
}

@keyframes fadeInLeft {
	0% {
        translate: -16px 0;
		opacity: 0;
	}
	75% {
		opacity: 1;
	}
	100% {
        translate: 0 0;
        opacity: 1;
	}
}

@keyframes fadeInRight {
	0% {
        translate: 16px 0;
		opacity: 0;
	}
	75% {
		opacity: 1;
	}
	100% {
		translate: 0 0;
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}


.entrance-animation {
	visibility: hidden;
}

.elementor-editor-active .entrance-animation {
	visibility: visible;
}

.entrance-animation.animate {
	visibility: visible;
	animation-duration: 500ms;
	animation-fill-mode: backwards;
	animation-timing-function: var(--timing-function-entrance-animation);
}

.delay {
	animation-delay: 100ms;
}

.delay-2 {
	animation-delay: 200ms;
}

.delay-3 {
	animation-delay: 300ms;
}	

.delay-4 {
	animation-delay: 400ms;
}
	
.delay-5 {
	animation-delay: 500ms;
}

.fade-in-up.animate {
	animation-name: fadeInUp;
}

.fade-in-left.animate {
	animation-name: fadeInLeft;
}

.fade-in-right.animate {
	animation-name: fadeInRight;
}

.fade-in.animate {
	animation-name: fadeIn;
}

/* /Entrance Animations */

/* Cookie Banner */
div#cookie-notice {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	padding: .5rem;

    font-size: var(--font-size-md);
    font-family: inherit;
    line-height: var(--line-height-sm);
    text-wrap: pretty;

    background-color: transparent !important;
} 

#cookie-notice #cn-close-notice {
    display: none !important;
}

#cookie-notice div.cookie-notice-container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    
    padding: 1.5rem 2rem;
    border-radius: var(--radius-xs);

    background: var(--brand-color);
}

#cookie-notice a#cn-more-info.cn-privacy-policy-link {
    color: var(--background);
    text-decoration: none;
}

#cookie-notice #cn-notice-text.cn-text-container,
div#cookie-notice .cn-button {
    margin: 0;
}

#cookie-notice #cn-notice-buttons.cn-buttons-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    
    width: 100%;
}

#cookie-notice #cn-notice-buttons.cn-buttons-container button#cn-accept-cookie {
    width: 100%;
    background: var(--background);
    color: var(--brand-color);
}

#cookie-notice #cn-notice-buttons.cn-buttons-container button#cn-refuse-cookie {
    padding: 0;
    background: transparent;
    color: var(--background);
    font-weight: 400;
    font-size: var(--font-size-button-primary);
}

@media (width >=768px) {
    div#cookie-notice {
        padding: 1rem var(--section-wrapper-hp);
    }

    #cookie-notice div.cookie-notice-container {
        flex-direction: row;
        justify-content: space-between;
        gap: 3rem;
        
        max-width: var(--section-max-width);
        padding: .875rem 1.5rem;

        text-align: left;
    }

    #cookie-notice #cn-notice-buttons.cn-buttons-container {
        flex-direction: row-reverse;

        width: fit-content;
    }

    #cookie-notice #cn-notice-buttons.cn-buttons-container button#cn-accept-cookie {
        width: fit-content;
    }
}
/* /Cookie Banner */