/**
Theme Name: OuterBox Web Presence Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Child Theme by OuterBox
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* TOC:
- Variables
- Utility
- Typography
- Slider
- Carousel
- Video
- Image
- Tabbed Content
- Tables
- Forms
- Footer
- Header Navigation
- Mobile Menu
- Breadcrumbs
- Jumplinks
- Posts
- Search Results
- Cards
- Map
*/

:root {
    /* Spacing */
    --space-base: 16px;
    --space-xxs: calc(var(--space-base)*0.25);
    --space-xs: calc(var(--space-base)*0.5);
    --space-sm: calc(var(--space-base)*0.75);
    --space-md: calc(var(--space-base)*1.5);
    --space-lg: calc(var(--space-base)*2);
    --space-xl: calc(var(--space-base)*2.5);
    --space-xxl: calc(var(--space-base)*4);
    --space-xxxl: calc(var(--space-base)*5);
    --section-space: var(--space-xxxl);
    --section-side-space: var(--space-xxl);
    --gutter: var(--space-xxl);
    --gutter-sm: var(--space-lg);
    --content-max: 768px;
    --content-padded-max: 920px;
    --container-max: 1320px;

	/* Padding Rules */
	--card-padding: var(--space-lg);
	--callout-padding: var(--space-xxl);
	--content-button-padding: var(--space-md);
	--eyebrow-padding: var(--space-lg);
	--list-padding: var(--space-sm);
	--text-padding: var(--space-base);


    /* Fonts */
    --text-base: 16px;
    --text-sm: calc(var(--text-base)*0.875);
    --text-lg: calc(var(--text-base)*1.125);
    --heading-xxs: calc(var(--text-base)*0.875);
    --heading-xs: calc(var(--text-base)*1);
    --heading-sm: calc(var(--text-base)*1.25);
    --heading-md: calc(var(--text-base)*1.5);
    --heading-lg: calc(var(--text-base)*2);
    --heading-xl: calc(var(--text-base)*2.5);
    --heading-xxl: calc(var(--text-base)*3);
    --heading-xxxl: calc(var(--text-base)*5);
	--font-weight-regular: 400;
	--font-weight-bold: 700;
	--line-height-body:1.5;
	--line-height-heading:1.25;
	--font-family-heading: Poppins, sans-serif;
	--font-family-body: Poppins, sans-serif;

    /* Border Radius */
    --border-radius-xs: 4px;
	--border-radius-sm: 8px;
    --border-radius-md: 16px;
    --border-radius-lg: 24px;
	--border-radius-xl: 32px;
	--border-radius-full: 100%;
    --border-radius-element: var(--border-radius-lg);
    --border-radius-button: var(--border-radius-xs);
    --border-radius-input: var(--border-radius-xs);
	--card-border-radius: var(--border-radius-sm);
	--media-border-radius: var(--border-radius-md);
	--button-border-radius: var(--border-radius-xs);
	--input-border-radius: var(--border-radius-xs);
	--element-border-radius: var(--border-radius-md);


	/* Colors */
	--color-primary: #0A2240;
	--color-secondary: #87B7E8;
	--color-tertiary: #00C08B;
	--color-accent-dark: var(--color-primary);
	--color-accent-light: var(--color-tertiary);
	--color-bg-dark: var(--color-primary);
	--color-bg-dark-a30: #0A22404D;
	--color-bg-light: var(--color-ui-01);
	--color-ui-01: #F8F8F9;
	--color-ui-02: #CED3D9;
	--color-ui-03: #9DA7B3;
	--color-ui-04: #6C7A8C;
	--color-ui-05: #3B4E66;
	--color-ui-white: #FFFFFF;
	--color-ui-white-a30: #FFFFFF4D;
	--color-ui-warning: #AA0000;
	--color-ui-warning-light: #FFE4E8;
	--color-ui-divider: var(--color-ui-02);
	--color-input-border-dark: var(--color-ui-05);
	--color-input-border-light: #FFFFFF;
	--color-btn-primary-default: var(--color-primary);
	--color-btn-primary-hover: var(--color-ui-05);
	--color-btn-secondary-default: #FFFFFF;
	--color-btn-secondary-hover: var(--color-secondary);
	--color-link-light-default: var(--color-primary);
	--color-link-light-hover: var(--color-ui-04);
	--color-link-dark-default: #87B7E8;
	--color-link-dark-hover: #FFFFFF;
	--color-headings-dark: var(--color-primary);
	--color-headings-light: #FFFFFF;
	--color-text-black: #40526A;
	--color-text-dark: #40526A;
	--color-text-light: var(--color-ui-01);
	--color-text-white: #FFFFFF;
	--color-site-bg: #FFFFFF;

	/* Legacy brand-name aliases kept so existing references keep resolving */
	--color-ultra-blue: var(--color-primary);
	--color-sky-blue: var(--color-secondary);
	--color-vital-green: var(--color-tertiary);
	--color-flow-service-gray: #D6DBE0;

}


@media only screen and (max-width : 991px) {
    :root {
    --heading-xxs: calc(var(--text-base)*0.875);
    --heading-xs: calc(var(--text-base)*1);
    --heading-sm: calc(var(--text-base)*1.125);
    --heading-md: calc(var(--text-base)*1.25);
    --heading-lg: calc(var(--text-base)*1.5);
    --heading-xl: calc(var(--text-base)*2);
    --heading-xxl: calc(var(--text-base)*2.5);
    --heading-xxxl: calc(var(--text-base)*3);
    --section-space: var(--space-xl);
    --section-side-space: var(--space-base);
    --gutter: var(--space-lg);
    --gutter-sm: var(--space-md);
	--card-padding: var(--space-base);
	--callout-padding: var(--space-base);
	--content-button-padding: var(--space-md);
	/*--eyebrow-padding: var(--space-xxs);*/
	--list-padding: var(--space-sm);
	--text-padding: var(--space-base);
	--card-border-radius: var(--border-radius-md);
	--media-border-radius: var(--border-radius-md);
	--button-border-radius: var(--border-radius-xs);
	--input-border-radius: var(--border-radius-xs);
	--element-border-radius: var(--border-radius-lg);

    }
}

/* Mobile-only overrides (Elementor mobile breakpoint) */
@media only screen and (max-width : 767px) {
    :root {
	--callout-padding: var(--space-md);
    }
}

/* Utility */
.border-radius-element {
    span, .elementor-slides .swiper-slide {
    	border-radius: var(--border-radius-element);
	}
}

.border-radius-element {
    img {
    	border-radius: var(--media-border-radius);
	}
}

.padding-full {
    padding: var(--section-space) var(--section-side-space);
}

.padding-top {
    padding: var(--section-space) var(--section-side-space) 0 var(--section-side-space);
}

.padding-bottom {
    padding: 0 var(--section-side-space) var(--section-space) var(--section-side-space);
}

.padding-none {
    padding: 0px var(--section-side-space);
}

.aspect-1-1 img {
	aspect-ratio: 1 / 1!important;
}

/* Portrait crop for headshots. Source photos are usually landscape, so cover and
   anchor to the top keeps faces in frame instead of squashing the image */
.aspect-9-10 img {
	aspect-ratio: 9 / 10 !important;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center top;
}

/* Drops a container border at Elementor's mobile breakpoint (767px) */
@media(max-width: 767px){
	.remove-border-mobile {
		border-width: 0!important;
	}
}

/* Drops the right border across Elementor's tablet range only (768px - 1024px) */
@media(min-width: 768px) and (max-width: 1024px){
	.remove-border-tablet {
		border-right-width: 0 !important;
	}
}

.dark-block {
	background: var(--color-bg-dark);
	p, span, h1, h2, h3, h4, h5, h6 {
		color: #fff!important;
	}
	/* Buttons inside a dark block follow the Dark-mode specs without needing the -light classes */
	.primary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: #FFFFFF!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}}
	.primary-btn:hover{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-text-light)!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}}
	.primary-btn:active{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: var(--color-text-light)!important;
		border: 2px solid var(--color-text-light)!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}}
	.secondary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-accent-light)!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}}
	.secondary-btn:hover{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: #FFFFFF!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}}
	.secondary-btn:active{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}}
	.tertiary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: #FFFFFF!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}}
	.tertiary-btn:hover{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: var(--color-text-light)!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: var(--color-text-light)!important;
	}}
	.tertiary-btn:active{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: transparent!important;
	}
	.elementor-button-text, i,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}}
}

.light-block {
	background: #fff;
}


/* Typography */

a.elementor-element{
    text-decoration: none !important;
}

/* Figma text style "Headings/Eyebrow" */
.eyebrow-heading {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: 1.5 !important;;
    font-size: var(--heading-xs);
    font-family: var(--font-family-body);
    text-transform: uppercase;
    font-weight:var(--font-weight-regular);
    letter-spacing: 2px;
	color: var(--color-text-dark);
}}

/* Figma text style "Headings/Eyebrow" in the pill container */
.eyebrow-heading-contained {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: 1.5 !important;;
    font-size: var(--heading-xs);
    font-family: var(--font-family-body);
    text-transform: uppercase;
    font-weight:var(--font-weight-regular);
    letter-spacing: 2px;
	color: var(--color-text-dark);
	background: #DBE9F8;
	padding: var(--space-xxs) var(--space-sm);
	border-radius: 999px;
}}

.e-con.eyebrow-heading-contained-container {
	--width: fit-content;
	--flex-direction: row;
	--align-items: center;
	/* Elementor applies gap:var(--row-gap) var(--column-gap); --gap alone is ignored. */
	--gap: var(--space-xs);
	--row-gap: var(--space-xs);
	--column-gap: var(--space-xs);
	--padding-top: var(--space-xxs);
	--padding-bottom: var(--space-xxs);
	--padding-left: var(--space-sm);
	--padding-right: var(--space-sm);
	background: #DBE9F8;
	border-radius: 999px;

	span, h1, h2, h3, h4, h5, h6 {
		line-height: 1.5 !important;;
		font-size: var(--heading-xs);
		font-family: var(--font-family-body);
		text-transform: uppercase;
		font-weight: var(--font-weight-regular);
		letter-spacing: 2px;
		color: var(--color-text-dark);
	}
}

.headline-heading {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-xxxl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading1 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-xxl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading2 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-xl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading3 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-lg);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading4 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-md);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}


.heading5 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-sm);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading6 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-body) !important;
    font-size: var(--heading-xs);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

/* Caps line length on text inside the element it is applied to */
.cap-width {
    span, h1, h2, h3, h4, h5, h6, p {
    max-width: var(--content-max) !important;
}}

p {
    margin-bottom: 0!important;
    font-size: var(--text-base);
    font-family: var(--font-family-body);
    line-height: var(--line-height-body) !important;
}

.p--small {
    font-size: var(--text-sm);
}

.p--large {
    font-size: var(--text-lg);
}

p + p {
    margin-top: var(--space-base)!important;
}

body, button, input, select, textarea {
    font-family: var(--font-family-body);
}


.elementor-button{
   border-radius:var(--border-radius-button);
   padding:var(--space-sm) var(--space-md) !important;
   font-family: var(--font-family-body);
   font-size: var(--text-base);
   font-weight: var(--font-weight-bold);
   text-transform: uppercase;
   line-height: var(--line-height-body) !important;
}


.fake-btn .elementor-heading-title {
	display: inline-block!important;
	border-radius: var(--border-radius-button)!important;
	padding: var(--space-sm) var(--space-md)!important;
	font-family: var(--font-family-body)!important;
	font-size: var(--text-base)!important;
	font-weight: var(--font-weight-bold)!important;
	text-transform: uppercase!important;
	line-height: var(--line-height-body)!important;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all .3s;

	/* Default state, matches Primary - Light. Any variant class overrides it. */
	background: var(--color-btn-primary-default)!important;
	border: 2px solid var(--color-btn-primary-default)!important;
	color: #FFFFFF!important;
}

.fake-btn:hover .elementor-heading-title {
	background: transparent!important;
	border: 2px solid var(--color-btn-primary-default)!important;
	color: var(--color-btn-primary-default)!important;
}

.fake-btn:active .elementor-heading-title {
	background: var(--color-btn-primary-hover)!important;
	border: 2px solid var(--color-btn-primary-hover)!important;
	color: #FFFFFF!important;
}


/* Primary - Light */
.primary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: var(--color-btn-primary-default)!important;
		border: 2px solid var(--color-btn-primary-default)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: var(--color-accent-light)!important;
	}
}

.primary-btn:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-btn-primary-default)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-default)!important;
	}
	i {
		color: var(--color-btn-primary-default)!important;
	}
}

.primary-btn:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: var(--color-btn-primary-hover)!important;
		border: 2px solid var(--color-btn-primary-hover)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}

/* Primary - Dark */
.primary-btn-light{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: #FFFFFF!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}
	i {
		color: var(--color-btn-primary-hover)!important;
	}
}

.primary-btn-light:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-text-light)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}

.primary-btn-light:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: var(--color-text-light)!important;
		border: 2px solid var(--color-text-light)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}
	i {
		color: var(--color-btn-primary-hover)!important;
	}
}

/* Secondary - Light */
.secondary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-btn-primary-default)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-default)!important;
	}
	i {
		color: var(--color-btn-primary-default)!important;
	}
}

.secondary-btn:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: var(--color-btn-primary-hover)!important;
		border: 2px solid var(--color-btn-primary-hover)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: var(--color-accent-light)!important;
	}
}

.secondary-btn:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-btn-primary-hover)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}
	i {
		color: var(--color-btn-primary-hover)!important;
	}
}

/* Secondary - Dark */
.secondary-btn-light {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid var(--color-accent-light)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}

.secondary-btn-light:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: #FFFFFF!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}
	i {
		color: var(--color-btn-primary-hover)!important;
	}
}

.secondary-btn-light:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border: 2px solid #FFFFFF!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}


/* Tertiary - Light */
.tertiary-btn{
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border-radius: 0px!important;
		padding:var(--space-sm) 0 !important;
		border-width: 0px 0px 2px 0px!important;
		border-style: solid!important;
		border-color: var(--color-btn-primary-default)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-default)!important;
	}
	i {
		color: var(--color-btn-primary-default)!important;
	}
}

.tertiary-btn:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: var(--color-btn-primary-hover)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-hover)!important;
	}
	i {
		color: var(--color-btn-primary-hover)!important;
	}
}

.tertiary-btn:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: transparent!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-btn-primary-default)!important;
	}
	i {
		color: var(--color-btn-primary-default)!important;
	}
}

/* Tertiary - Dark */
.tertiary-btn-light {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		background: transparent!important;
		border-radius: 0px!important;
		padding:var(--space-sm) 0 !important;
		border-width: 0px 0px 2px 0px!important;
		border-style: solid!important;
		border-color: #FFFFFF!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}

.tertiary-btn-light:hover {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: var(--color-text-light)!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: var(--color-text-light)!important;
	}
	i {
		color: var(--color-text-light)!important;
	}
}

.tertiary-btn-light:active {
	.elementor-button,
	&.fake-btn .elementor-heading-title {
		border-color: transparent!important;
	}
	.elementor-button-text,
	&.fake-btn .elementor-heading-title {
		color: #FFFFFF!important;
	}
	i {
		color: #FFFFFF!important;
	}
}

.elementor-widget-text-editor{
	ul{
		margin: 0 0 0 20px;
		padding: 0;
		li{
			padding-bottom: var(--list-padding);
			&:last-child{
				padding-bottom: 0;
			}
		}
	}
}

/* Slider */
.elementor-swiper{
    margin-bottom: 16px;
}

.elementor-element.elementor-arrows-position-outside .swiper{
    width: calc(100% - 80px);
	padding-bottom:50px !important;
}
.elementor-slides .swiper-slide{
    position: relative;
    overflow: hidden;
}

/* Carousel */
.swiper-pagination-bullet{
    opacity: 1;
    position: relative;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path fill="%23ffffff" d="M6,12c-3.31,0-6-2.69-6-6S2.69,0,6,0s6,2.69,6,6-2.69,6-6,6ZM6,1C3.24,1,1,3.24,1,6s2.24,5,5,5,5-2.24,5-5S8.76,1,6,1Z"/></svg>');
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
	background: var(--color-accent-dark);
}
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet-active{
    mask: none;
}

.remove-pagination .swiper-pagination{
    display: none;
}
.elementor-element.remove-pagination.elementor-arrows-position-outside .swiper{
    padding-bottom: 0 !important;
}
/* Pagination is hidden, so drop Elementor's 15px arrow lift that compensated for the dots row */
.elementor-element.remove-pagination.elementor-pagination-position-outside .swiper .elementor-swiper-button,
.elementor-element.remove-pagination.elementor-pagination-position-outside .swiper ~ .elementor-swiper-button{
    top: 50%;
}
.elementor-swiper-button .fa-arrow-left,
.elementor-swiper-button .fa-arrow-right,
.eicon-chevron-left,
.eicon-chevron-right{
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.38,11.06L10.66,1.34l1.34-1.34,12,12-12,12-1.34-1.34,9.72-9.72H0v-1.89h20.38Z" style="fill-rule:evenodd;"/></svg>');
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    display: block;
}
.elementor-swiper-button .fa-arrow-left:before,
.elementor-swiper-button .fa-arrow-right:before,
.eicon-chevron-left:before,
.eicon-chevron-right:before{
    background-color: currentColor;
}
.elementor-swiper-button .fa-arrow-left,
.eicon-chevron-left{
    transform: rotate(180deg);
}


/* Video */
.elementor-widget-video{
    border-radius: var(--border-radius-element);
    position: relative;
    overflow: hidden;
}
.elementor-custom-embed-image-overlay:after{
    content: '';
    background-color: var(--color-text-black);
    opacity: .3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.elementor-custom-embed-play{
    z-index: 2;
}
.elementor-custom-embed-image-overlay:hover .eicon-play{
    opacity: .8 !important;
}
.eicon-play{
    background-color: currentColor;
    border-radius: 100%;
    opacity: 1 !important;
}
.eicon-play:before{
    opacity: 0;
}
.eicon-play:after{
    content: '';
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path fill="%230E6E92" d="M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45.27C1.89-.53,0,.55,0,2.22Z"/></svg>') center center no-repeat transparent;
    background-size: 16px;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 2px;
    top: 1px;
}

/* Image */
.widget-image-caption{
	margin-bottom: 0 !important;
}

/* Tabbed Content */
.tabs-left .e-n-tabs-heading button{
    position: relative;
}
.tabs-left .e-n-tabs-heading button:after{
    content:'';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background-color: var(--color-ui-01);
}
@media only screen and (max-width: 767px) {
   .tabs-top .e-n-tabs-heading button{
       position: relative;
   }
   .tabs-top .e-n-tabs-heading button:after{
       content:'';
       width: 100%;
       height: 1px;
       position: absolute;
       bottom: 0;
       left: 0;
       display: block;
       background-color: var(--color-ui-01);
   }
}


/* Tables */

.html-table{
   table{
      border: 0;
   }
   thead{
      background-color: var(--color-bg-dark);
   }
   th{
      border-color: var(--color-ui-white);
      color: var(--color-headings-light);
      line-height: 1.5 !important;
      font-size: var(--text-base);
      font-family: var(--font-family-body);
      text-transform: uppercase;
      font-weight:var(--font-weight-regular);
      padding: var(--space-sm) var(--space-base);
   }
   tbody tr:nth-child(odd){
      background-color: var(--color-ui-white);
   }
   tbody tr:nth-child(even){
      background-color: var(--color-bg-light);
   }
   td{
      border: 0;
      border-bottom: 1px solid var(--color-ui-02);
      text-align: center;
      font-size: var(--text-base);
      padding: var(--space-sm) var(--space-base);
   }
}

.html-table::-webkit-scrollbar-track {
  background: var(--color-headings-light);
  border: 1px solid var(--color-tertiary);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar {
  width: 8px;
  background: var(--color-headings-light);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar-thumb {
  background: var(--color-tertiary);
  width: 40px;
  border-radius: 12px;
}

@media only screen and (max-width: 1024px) {
   .html-table{
      overflow: auto;
      table{
         width: 1024px;
      }
   }
}


/* Forms */
.gform_heading {
	display: none;
}
form{
   .gfield_label{
      color: var(--color-text-black)  !important;
      line-height: 1.5 !important;
      font-size: var(--text-base) !important;
      font-family: var(--font-family-body);
      font-weight:var(--font-weight-bold) !important;
      float: left;
   }
   .gfield_required{
      text-transform: lowercase;
      color: var(--color-accent-dark);
      font-size: var(--text-sm) !important;
   }
   .ginput_container input[type="text"],
   .ginput_container input[type="tel"],
   .ginput_container input[type="email"]{
      border: 1px solid var(--color-input-border-dark) !important;
      border-radius: var(--input-border-radius) !important;
      background-color: var(--color-ui-white) !important;
      color: var(--color-headings-dark) !important;
      font-size: var(--text-base) !important;
      padding: var(--space-sm) var(--space-base) !important;
      height: 48px !important;
      line-height: 48px !important;
   }
   .ginput_container textarea{
      border: 1px solid var(--color-input-border-dark) !important;
      border-radius: var(--input-border-radius) !important;
      background-color: var(--color-ui-white) !important;
      color: var(--color-headings-dark) !important;
      font-size: var(--text-base) !important;
      padding: var(--space-sm) var(--space-base) !important;
      height: 96px !important;
   }

   .ginput_container ::placeholder{
      color: var(--color-headings-dark);
      opacity: 0.7;
   }
   label + .gfield_description{
      text-transform: lowercase;
      color: var(--color-text-black);
      font-size: var(--text-sm) !important;
      left: 8px;
      top: 1px;
      position: relative;
   }
   .gfield_html{
      font-size: var(--text-sm) !important;
      line-height: var(--line-height-body) !important;
   }
   .gform_fields{
      row-gap: var(--space-md) !important;
      column-gap: var(--space-md) !important;
   }
   .gform_button{
      border-radius: var(--button-border-radius) !important;
      padding:var(--space-sm) var(--space-md) !important;
      font-family: var(--font-family-heading) !important;
      font-weight: var(--font-weight-bold) !important;
      text-transform: uppercase !important;
      line-height: 1.35 !important;
      color: var(--color-ui-white);
      border: 2px solid var(--color-btn-primary-default) !important;
      background-color: var(--color-btn-primary-default) !important;
      font-size: var(--text-base) !important;
   }
   .gform_button:hover{
      border: 2px solid var(--color-btn-primary-default) !important;
      background-color: var(--color-ui-white) !important;
      color: var(--color-btn-primary-default) !important;
   }
}

.form-wide form .gfield--width-half{
   grid-column: 1 / -1;
}

/* Form sitting on a dark background: light labels, outlined secondary button */
.form-light form{
   .gfield_label,
   .gfield_description,
   .gfield_html{
      color: var(--color-text-light) !important;
   }
   /* Checkbox/radio choice labels use GF's inline label class, not .gfield_label. */
   .gform-field-label--type-inline{
      color: var(--color-text-light) !important;
   }
   /* Links otherwise inherit the Elementor kit link color, which matches the dark background. */
   .gfield a{
      color: var(--color-link-dark-default) !important;
   }
   .gfield a:hover{
      color: var(--color-link-dark-hover) !important;
   }

   .gfield_required,
   .gfield_required_text{
      color: var(--color-accent-light) !important;
   }
   /* Gravity Forms' default red is hard to read on dark backgrounds. The
      per-field message also carries .gfield_description, so it must come
      after the light-text rule above to win. */
   .gfield_error .validation_message{
      color: var(--color-ui-warning-light) !important;
   }
   .gform_button{
      background-color: transparent !important;
      border-color: var(--color-accent-light) !important;
      color: var(--color-btn-secondary-default) !important;
   }
   .gform_button:hover{
      background-color: var(--color-accent-light) !important;
      border-color: var(--color-accent-light) !important;
      color: var(--color-headings-dark) !important;
   }
}
/* The error summary renders before <form>, outside the block above. */
.form-light .gform_validation_errors{
   .gform_submission_error,
   .gform-icon,
   ol,
   a{
      color: var(--color-ui-warning-light) !important;
   }
}

.sub-menu .menu-item {
    border-bottom: 1px solid var(--color-ui-01);
}

/* Search input text while typing */
.elementor-widget-search input.e-search-input:focus {
	color: var(--e-search-input-color, var(--color-text-white));
}

/* Footer */
/* Links are block-level, so authored <br> in the text editor widget doubles the gap */
.footer-menu br {
    display: none;
}

.footer-menu a {
    color: var(--color-text-dark);
    text-decoration: none!important;
    border-bottom: 1px solid var(--color-ui-divider);
    width: 100%;
    display: block;
    padding: var(--list-padding) 0;
}

.footer-menu a:last-of-type{
    border-bottom: none;
}

.footer-menu a::hover {
	color: var(--color-link-dark-hover);
}

/* Header Navigation */
.elementor-nav-menu .sub-arrow i,
.elementor-nav-menu .sub-arrow svg,
.elementor-item:hover > .sub-arrow i,
.elementor-item:focus > .sub-arrow i,
.elementor-item.highlighted > .sub-arrow i{
  color: var(--color-vital-green);
  fill: var(--color-vital-green);
}


@media(min-width: 1025px){
  .elementor-nav-menu--layout-horizontal .sub-arrow i{
    /*transition: transform 0.2s ease-in-out;*/
  }
  .elementor-nav-menu--layout-horizontal > ul > li:hover > a .sub-arrow i,
  .elementor-nav-menu--layout-horizontal > ul > li:focus-within > a .sub-arrow i,
  .elementor-nav-menu--layout-horizontal > ul > li > a.highlighted .sub-arrow i{
    transform: rotate(180deg);
  }
}

/* Header: use the tablet (hamburger) layout up to 1400px without moving Elementor's tablet breakpoint.
   Classes are set in the Header template (Advanced > CSS Classes): hdr-desktop, hdr-tablet,
   hdr-tablet-btn, hdr-tablet-toggle, and optionally
   hdr-tablet-search on the drawer's Search widget. The layout values below mirror the template's tablet settings,
   which Elementor only outputs inside its own tablet media query. */
@media (min-width: 1025px) and (max-width: 1400px) {
  .elementor-location-header .elementor-element.hdr-desktop { display: none; }
  .elementor-location-header .elementor-element.hdr-tablet { display: flex; }
  .elementor-location-header .elementor-element.hdr-tablet-btn,
  .elementor-location-header .elementor-element.hdr-tablet-toggle,
  .elementor-location-header .elementor-element.hdr-tablet-search { display: block; }

  /* Main header row */
  .elementor-location-header .elementor-element.e-con:has(> .e-con > .hdr-tablet) {
    --flex-direction: column-reverse;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
  }

  /* Logo + hamburger wrapper */
  .elementor-location-header .elementor-element.e-con:has(> .hdr-tablet) {
    --width: 100%;
    --flex-direction: row;
    --justify-content: flex-end;
    --align-items: center;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
  }
  .elementor-location-header .elementor-element.elementor-widget-theme-site-logo.elementor-widget img { max-width: 180px; }

  .elementor-location-header .elementor-element.hdr-tablet.e-con {
    --justify-content: flex-end;
    --gap: var(--gutter-sm) var(--gutter-sm);
    --row-gap: var(--gutter-sm);
    --column-gap: var(--gutter-sm);
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: 0;
    --padding-right: 0;
    --padding-bottom: 0;
    --padding-left: 0;
    --align-self: center;
  }
  .elementor-location-header .elementor-element.hdr-tablet-toggle .elementor-icon-wrapper { text-align: end; }
  .elementor-location-header .elementor-element.hdr-tablet-toggle .elementor-icon { font-size: 18px; }
  .elementor-location-header .elementor-element.hdr-tablet-toggle .elementor-icon svg { height: 18px; }

  /* Off-canvas drawer */
  .elementor-location-header .elementor-element.elementor-widget-off-canvas.elementor-widget {
    --e-off-canvas-justify-content: flex-end;
    --e-off-canvas-width: 100%;
  }
  .elementor-location-header .elementor-widget-off-canvas .elementor-element.e-con:has(> .elementor-widget-nav-menu) {
    --align-items: stretch;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --gap: var(--space-sm) 0;
    --row-gap: var(--space-sm);
    --column-gap: 0;
  }
  .elementor-location-header .elementor-widget-off-canvas .elementor-element.elementor-widget-nav-menu.elementor-element { --align-self: stretch; }
  .elementor-location-header .elementor-widget-off-canvas .elementor-nav-menu--main .elementor-item {
    padding-top: var(--space-base);
    padding-bottom: var(--space-base);
  }
}

/* Mobile Menu */
body:not(.logged-in).e-off-canvas__no-scroll{
	position: fixed;
	width: 100%;
}
.off-canvas-toggle a[aria-expanded="true"] i:before{
  content: '\f00d';
}

:root{
  --mobile-menu-offset: 143px;
}
.elementor-widget-off-canvas{
  .e-off-canvas__overlay{
    background-color: transparent !important;
  }
  .e-off-canvas__content{
    width: 100%;
    padding-bottom: var(--mobile-menu-offset);
    overflow-y: auto;
    height: 100%;
  }
  .e-off-canvas__main{
    height: calc(100% - var(--mobile-menu-offset));
    top: var(--mobile-menu-offset);
    overflow-y: auto;
  }
  .e-off-canvas__main::-webkit-scrollbar{
    display: none;
  }
}
.e-off-canvas .elementor-nav-menu--main{
  ul {
    position: relative;
    height: 100%;
    width: 100% !important;
    max-width: none !important;
  }
  ul li{
    position: relative;
  }
  ul li > .submenu-toggle {
    cursor: pointer;
    position: absolute;
    width: 40px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
  }
  ul li a{
    margin: 0;
    border: 0;
  }
  ul li a:after{
    display: none;
  }

  /* Elementor's hover/active fill on submenu links, disabled inside the panel. */
  .elementor-sub-item:hover,
  .elementor-sub-item:focus,
  .elementor-sub-item.highlighted,
  .elementor-sub-item.elementor-item-active{
    background-color: transparent;
  }

  ul li a:focus-visible{
    outline: 2px solid var(--color-accent-dark);
  }
  .sub-menu .menu-item{
    border-bottom: 0;
  }
  .sub-menu .menu-item > a{
    padding: var(--space-md) 0;
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-weight: var(--font-weight-bold);
    line-height: 1.5 !important;
    letter-spacing: 0;
    text-transform: none;
    color: var(--color-headings-dark);
  }
  ul li a > span{
    display: none !important;
  }

  ul ul {
    position: absolute;
    left: 100vw !important;
    transition: left 0.2s ease-in-out;
    z-index: 3;
    background-color: var(--color-bg-light);
    width: 100% !important;
    top: calc(var(--space-base) * -1) !important;
    transition: none;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  ul li.submenu-active {
    position: static;
  }
  ul li.submenu-active > ul {
    left: 0 !important;
    transition: left 0.2s ease-in-out;
    z-index: 9;
    display: block !important;
  }
  button.submenu-toggle{
    position: relative;
    width: 40px;
    height: 40px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5 !important;
    color: var(--color-text-black);
    font-weight: var(--font-weight-bold);
    background-color: transparent;
    padding: 0;
  }
  button.submenu-toggle:before{
    content:'';
    width: 20px;
    height: 20px;
    display: block;
    background-color: var(--color-accent-dark);
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg>');
    mask-repeat: no-repeat;
    mask-position: right center;
    mask-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .submenu-back{
    border-bottom: 0;
  }
  button.submenu-back-button{
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    border: 0;
    line-height: 1.5 !important;
    padding: var(--space-sm) 0;
    color: var(--color-text-dark);
    font-family: var(--font-family-body);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-regular);
    background-color: transparent;
  }
  .submenu-back-button:before{
    content:'';
    width: 9px;
    height: 10px;
    flex: none;
    display: block;
    background-color: var(--color-accent-dark);
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 105.3-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg>');
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size: contain;
  }
}

.e-off-canvas:has(.elementor-nav-menu--main .submenu-active) .elementor-widget-button,
.e-off-canvas:has(.elementor-nav-menu--main .submenu-active) .elementor-widget-search,
.e-off-canvas:has(.elementor-nav-menu--main .submenu-active) .elementor-widget-icon-list{
  display: none;
}

#mobile-nav .search-container{
  padding: var(--space-md) 0;
  .search-form input{
    width: 100%;
  }
}
.mobile-nav__utility{
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-md);
  i{
    width: 20px;
    color: var(--color-tertiary);
  }
  a{
    text-decoration: none;
    color: var(--color-text-black);
  }
}

/* Breadcrumbs*/
@media(max-width: 767px){
  .elementor-widget-hfe-breadcrumbs-widget{
    width: 100%;
    > div{
      width: 100%;
    }
    nav{
      position: relative;
      width: 100%;
    }
    nav:after{
      content: '';
      width: 100px;
      height: 100%;
      display: block;
      right: 0;
      top: 0;
      position: absolute;
      pointer-events: none;
      background: linear-gradient(270deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
    }
    ul{
      white-space: nowrap;
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
      padding-right: 100px;
    }
    ul::-webkit-scrollbar {
        display: none;
    }
  }

  /* On a dark-block the bar is --color-bg-dark, so the scroll fade has to match it.
     The transparent stop must be the same colour or the gradient hazes toward white. */
  .dark-block .elementor-widget-hfe-breadcrumbs-widget nav:after{
    background: linear-gradient(270deg, var(--color-bg-dark) 0%, rgba(10, 34, 64, 0.00) 100%);
  }
}


/* Jumplinks */
.jumplinks{
	.elementor-icon-list-icon{
		order: 2;
		margin-left: 4px;
	}
	.elementor-icon-list-text{
		padding-left: 0 !important;
	}
	a:hover,
	a:active,
	a:focus{
		outline: 0;
		.elementor-icon-list-text{
			text-decoration: underline;
		}
	}
}

/* Posts */

.elementor-loop-container .e-loop-item {
	padding: 0;
}


.elementor-widget-loop-grid .elementor-pagination {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
}
.elementor-widget-loop-grid .elementor-pagination .page-numbers {
	min-width: 24px;
	text-align: center;
}
.elementor-widget-loop-grid .elementor-pagination .page-numbers.current {
	font-weight: var(--font-weight-bold);
	padding-bottom: 6px;
	border-bottom: 4px solid var(--color-accent-light);
}

.elementor-widget-loop-grid .elementor-pagination .page-numbers.prev,
.elementor-widget-loop-grid .elementor-pagination .page-numbers.next {
	position: relative;
	width: 16px;
	min-width: 16px;
	height: 16px;
	overflow: hidden;
	text-indent: -999em;
	align-self: center;
}
.elementor-widget-loop-grid .elementor-pagination .page-numbers.prev::after,
.elementor-widget-loop-grid .elementor-pagination .page-numbers.next::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5897 7.37038L7.10964 0.890345L7.99999 0L16 8L7.99999 16L7.10964 15.1097L13.5898 8.62952H0V7.37038H13.5897Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5897 7.37038L7.10964 0.890345L7.99999 0L16 8L7.99999 16L7.10964 15.1097L13.5898 8.62952H0V7.37038H13.5897Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.elementor-widget-loop-grid .elementor-pagination .page-numbers.prev::after {
	transform: scaleX(-1);
}

/* Disabled arrow (first / last page) renders as a span with no href. */
.elementor-widget-loop-grid .elementor-pagination span.page-numbers.prev,
.elementor-widget-loop-grid .elementor-pagination span.page-numbers.next {
	opacity: 0.4;
}

/* Social share */
.elementor-widget-share-buttons .elementor-share-btn__icon {
	transition: color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.elementor-widget-share-buttons .elementor-share-btn:hover .elementor-share-btn__icon,
.elementor-widget-share-buttons .elementor-share-btn:focus-visible .elementor-share-btn__icon {
	background-color: var(--color-ui-white);
	color: var(--color-ultra-blue);
	box-shadow: inset 0 0 0 2px var(--color-vital-green);
}

.elementor-widget-share-buttons .elementor-share-btn:hover .elementor-share-btn__icon svg,
.elementor-widget-share-buttons .elementor-share-btn:focus-visible .elementor-share-btn__icon svg {
	fill: var(--color-ultra-blue);
}

/* Category filter  */
.elementor-widget-taxonomy-filter.tax-filter {
	--e-filter-normal-text-color: var(--color-ultra-blue);
	--e-filter-hover-text-color: var(--color-ui-04);
	--e-filter-active-text-color: var(--color-vital-green);
}

.elementor-widget-taxonomy-filter.tax-filter .e-filter-item {
	font-family: var(--font-family-heading);
	font-size: 16px;
	font-weight: var(--font-weight-bold);
	line-height: 24px;
	padding: 17px 0;
	border-style: solid;
	border-width: 0 0 1px 0;
	border-color: var(--color-ui-divider);
	border-radius: 0;
}

/* The widget hard-codes border-color #0c0d0e on hover and active. */
.elementor-widget-taxonomy-filter.tax-filter .e-filter-item:hover:not([aria-pressed="true"]),
.elementor-widget-taxonomy-filter.tax-filter .e-filter-item[aria-pressed="true"] {
	border-color: var(--color-ui-divider);
}

/* Search Results */
.search #primary {
	margin-block: var(--section-space);
	padding-inline: var(--space-xxl);
}

.search #primary > .ast-archive-description,
.search #primary > .site-main {
	max-width: var(--container-max);
	margin-inline: auto;
}

@media(max-width: 767px){
	.search #primary {
		padding-inline: var(--space-base);
	}
}

.search .ast-archive-description {
	padding: 0;
	margin-bottom: var(--space-lg);
	background: none;
}

.search .ast-archive-description .ast-archive-title {
	font-family: var(--font-family-heading);
	font-size: var(--heading-xxxl);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	color: var(--color-headings-dark);
	margin-bottom: 0;
}

/* Results match the .blog-card loop item on /news-press/ */
.search .ast-article-post {
	background: var(--color-site-bg);
	border: 1px solid var(--color-ui-01);
	border-radius: var(--card-border-radius);
	margin-bottom: var(--gutter-sm);
	overflow: hidden;
}

.search .ast-article-post .post-content {
	padding: var(--card-padding);
}

.search .ast-article-post .entry-title {
	font-family: var(--font-family-heading);
	font-size: var(--heading-md);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	margin-bottom: var(--space-xs);
}

.search .ast-article-post .entry-title a {
	font: inherit;
	color: var(--color-headings-dark);
}

.search .ast-article-post .entry-title a:hover {
	color: var(--color-link-light-hover);
}

.search .ast-article-post .ast-excerpt-container p {
	color: var(--color-text-dark);
}

.search .ast-article-post .ast-no-thumb .ast-blog-featured-section {
	display: none;
}

.search .ast-article-post .read-more {
	margin-top: var(--content-button-padding);
}

.search .ast-article-post .read-more a {
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	color: var(--color-link-light-default);
}

.search .ast-article-post .read-more a:hover {
	color: var(--color-link-light-hover);
}

.search-no-results .no-results {
	background: var(--color-site-bg);
	border: 1px solid var(--color-ui-01);
	border-radius: var(--card-border-radius);
	padding: var(--card-padding);
}

.search-no-results .no-results .page-content p {
	color: var(--color-text-dark);
	margin-bottom: var(--space-md) !important;
}

.search-no-results .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
}

.search-no-results .search-form input.search-field {
	flex: 1 1 320px;
	min-width: 0;
	height: 48px;
	padding: var(--space-sm) var(--space-base);
	border: 1px solid var(--color-input-border-dark);
	border-radius: var(--input-border-radius);
	background-color: var(--color-ui-white);
	color: var(--color-headings-dark);
	font-size: var(--text-base);
}

.search-no-results .search-form input.search-submit {
	padding: var(--space-sm) var(--space-md);
	border: 2px solid var(--color-btn-primary-default);
	border-radius: var(--button-border-radius);
	background-color: var(--color-btn-primary-default);
	color: var(--color-ui-white);
	font-family: var(--font-family-heading);
	font-size: var(--text-base);
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	text-transform: uppercase;
}

.search-no-results .search-form input.search-submit:hover {
	background-color: var(--color-ui-white);
	color: var(--color-btn-primary-default);
}

/* Cards */
.card-c {
	background-color: rgba(10, 34, 64, 0.7)!important;
	border: 1px solid var(--color-accent-light)!important;
	border-radius: var(--card-border-radius)!important;
	padding: var(--card-padding)!important;
	gap: var(--space-xs)!important;
	box-shadow: 0px 4px 8px 0px rgba(0, 192, 139, 0.5)!important;
	transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	.elementor-heading-title {
		color: var(--color-headings-light)!important;
	}
	.elementor-widget-text-editor,
	p {
		color: var(--color-text-light)!important;
	}
	.elementor-icon {
		color: var(--color-accent-light)!important;
	}
	.elementor-heading-title,
	.elementor-widget-text-editor,
	p,
	.elementor-icon {
		transition: color 0.3s ease-in-out;
	}
}

@media(min-width: 1200px){
  .card-c:hover {
	background-color: var(--color-site-bg)!important;
	box-shadow: none!important;
	.elementor-widget-heading .elementor-heading-title {
		color: var(--color-headings-dark)!important;
	}
	.elementor-widget-text-editor,
	.elementor-widget-text-editor p {
		color: var(--color-text-dark)!important;
	}
	.elementor-widget-icon .elementor-icon {
		color: var(--color-accent-light)!important;
	}
  }
  .hover-card-content{
      opacity: 0;
      transition: opacity 0.4s ease-in-out;
      transform: translateY(20px);
      transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  }
  .hover-container:hover .hover-card-content {
      opacity: 1;
      transform: translateY(0);
  }
}

.text-regular {
	/* Text/Regular */
	font-family: var(--font-family-body) !important;
	font-size: var(--text-base) !important;
	font-style: normal !important;
	font-weight: var(--font-weight-regular) !important;
	line-height: 150% !important; /* 24px */
}

.text-small {
	/* Text/Small */
	font-family: var(--font-family-body) !important;
	font-size: var(--text-sm) !important;
	font-style: normal !important;
	font-weight: var(--font-weight-regular) !important;
	line-height: 150% !important; /* 21px */
}

/* Map */
/* Leaflet Map writes height/width inline on the div, so these need !important */
.leaflet-map {
	height: 628px!important;
	width: 100%!important;
	/* .leaflet-container is already overflow:hidden, so this clips the tiles. */
	border-radius: var(--element-border-radius);
}

@media(max-width: 767px){
	.leaflet-map {
		height: 343px!important;
	}
}

.elementor-counter-number-suffix {
	color: var(--color-accent-light) !important;
}