/* 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 */
/* Remove Elementor default padding */
.e-con {   
    --container-default-padding-top: 0 !important;
    --container-default-padding-right: 0 !important;
    --container-default-padding-bottom: 0 !important;
    --container-default-padding-left: 0 !important;
}
/* Remove Elementor default padding */

/* 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);
    font-weight: var(--weight-normal);
}

::selection {
    background: var(--cta-light);
    color: var(--text);
}

:where(a) {
    color: var(--cta-dark);
    transition: color 150ms ease;
}

.elementor a {
	text-decoration: underline;
}

header.nav a,
footer a,
.elementor :is(header.nav a, footer a),
a[role="button"] {
	text-decoration: none;
}

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

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

/* 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-i-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--section-wrapper-gap);

    width: 100%;
    max-width: var(--max-width-section);
    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(--max-width-heading);
    padding: 0 var(--heading-wrapper-hp);

    text-wrap: pretty;
}

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

.heading-cta,
.margin-cta {
    margin-top: var(--margin-cta);
}
/* / Sections */

/* Headings */
.pre-heading {
    font-family: var(--font-body);
    color: var(--green);
    font-size: var(--font-size-md);
    line-height: var(--line-height-sm);
	font-weight: var(--weight-strong);
	font-style: italic;
}

:is(h1, h2, h3, h4, h5, h6),
:is(h1, h2, h3, h4, h5, h6).elementor-kit-5 {
    color: var(--color-heading);
    font-family: var(--font-heading);
    font-weight: var(--weight-heading);
    line-height: var(--line-height-heading);
}

h1,
.elementor-kit-5 h1 {
    font-size: var(--font-size-h1);
}

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

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

/* / Headings */

/* Paragraphs */
.heading-paragraph {
    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);

    &.hero {
        font-size: var(--font-size-xl);
    }
}

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


/* Text */
.pretty {
    text-wrap: pretty;
}

.wrap {
    text-wrap: wrap;
}

.balance {
    text-wrap: balance;
}

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

    @media (width >= 768px) {
        text-align: wrap;
    }
}

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

    @media (width >= 1025px) {
        text-align: wrap;
    }
}

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

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

    @media (width >= 768px) {
        text-align: left;
    }
}

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

    @media (width >= 1025px) {
        text-align: left;
    }
}
/* / Text */

/* Content and Blog Text */
figure {
	max-width: 100%;
}

.content-wrapper {
	table {
		border-collapse: collapse;
		border: 2px solid var(--outline);
		
		th, td {
			border: 1px solid var(--outline);
			padding: .75em 1em;
			text-align: left;
			line-height: var(--line-height-sm);
		}
		
		th {
			font-weight: var(--weight-strong);
			color: var(--color-strong);
		}
	}
}

.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, table) {
    font-size: var(--font-size-lg);
    line-height: 1.6;
    color: var(--color-body);
}

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

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

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

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

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

@media (width >= 768px) {
    .content-wrapper h2 {
        font-size: 38px;
    }
    .content-wrapper h3 {
        font-size: 28px;
    }
}


/* Misc */
ul.no-list {
	list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
}

.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-light);
}

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

.auto-width {
    width: auto;
}

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

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

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

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

    @media (width >= 1025px) {
        display: none !important;
    }
}

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

    @media (width >= 768px) {
       display: flex !important; 
    }
}

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

    @media (width >= 1025px) {
        display: flex !important;
    }
}

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

    @media (width >= 768px) {
        display: none !important;
    }
}

/* / Display */

/* Forms */
.elementor-form-fields-wrapper {
    row-gap: var(--form-row-gap);
    column-gap: var(--form-column-gap);
}

form.elementor-form .elementor-form-fields-wrapper .elementor-field-group {
    display: flex;
    flex-direction: row;
    gap: var(--form-label-gap);
}

@media only screen and (min-width: 768px) {
    .elementor-column.elementor-col-50, 
    .elementor-column[data-col="50"] {
        width: calc(50% - (var(--form-column-gap) / 2));
    }
}   

.elementor-element form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group,
div.elementor-element.elementor-widget-form form.elementor-form div.elementor-form-fields-wrapper {
    padding: 0;
    margin: 0;
}

form .elementor-field-group .elementor-field-textual {
    width: 100%;
    min-height: 0;
    padding: 12px 12px 10px 12px;
    border: none;
    border-radius: .5rem;

    color: var(--lowered-opacity-text);
    background: var(--background-light);

    font-family: 'Epilogue', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.3;
}

.elementor-field-group input[type=email]:focus,
.elementor-field-group input[type=input]:focus,
.elementor-field-group input[type=number]:focus,
.elementor-field-group input[type=tel]:focus,
.elementor-field-group input[type=text]:focus,
.elementor-field-group input[type=search]:focus,
.elementor-field-group input[type=url]:focus,
.elementor-field-group select:focus,
.elementor-field-group select:open,
.elementor-field-group textarea:focus,
.elementor-field-group .elementor-field-textual:focus,
.elementor-field-group .elementor-field-textual:focus-visible,
.elementor-field-group .elementor-field-textual:active,
.elementor-field-group .elementor-field-textual:open
{
    outline: none !important;
    box-shadow: inset 0 0 0 1.5px var(--cta-light) !important;
}

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

.elementor-select-wrapper .select-caret-down-wrapper svg {
    margin: 0 .25rem .25rem 0;
    width: .65rem;
}

/*@media only screen and (min-width: 768px) {*/
    form select,
    form ::picker(select) {
        appearance: base-select !important;
        position-area: block-end span-inline-end;

        border: none;
        border-radius: .5rem;
        background: var(--background-light);
    }

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

    .select-caret-down-wrapper {
        display: none;
    }

    form select:open::picker(select) {
        box-shadow: var(--background-md-box-shadow);
    }

    form select::picker-icon,
    form.elementor-form select::picker-icon {
        content: url("/wp-content/uploads/2025/08/nav-bar-caret.svg");
        color: var(--lowered-opacity-text);
        transition: rotate 150ms linear;
        
        width: 10px;
        height: 1rem;
        position: relative;
        top: 1px;
    }

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

    form select option {
        display: flex;
        justify-content: start;
        gap: 0;
        
        line-height: 1 !important;
        color: var(--lowered-opacity-text);
        padding: 12px;
        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(--text);
        background: var(--cta-light);
        outline: none;
    }

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

form select::placeholder,
form input::placeholder {
    color: var(--light-opacity-text) !important;
    opacity: 1 !important;
}

label {
    color: var(--text);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.3;
    
    margin-top: .25rem;
}

form.elementor-form .elementor-button {
    margin-top: 1rem;
}

form div.elementor-message {
    margin: 2rem 0;
    color: var(--text);
}

form div.elementor-message svg {
    color: var(--cta-dark);
}
/* / Forms */

/* Entrance Animations */
@keyframes fadeInUp {
    0% {
        translate: 0 12px;
        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 */

