/*
Theme Name: TAPP - Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: TAPP Network
Author URI: https://tappnetwork.com
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
	/* Colors */
	--color-white: #fff;
	--color-white-transparent-32: rgba(255, 255, 255, 0.32);
	--color-shadow: #e3e3e3;
	--color-shadow-faint: rgba(168, 168, 168, 0.10);
	--color-gray-border: #d3d3d3;
	--color-gray-border-light: #e8e5e3;
	--color-gray-dots: #ebebeb;
	--color-gray-medium: #8b8b8b;
	--color-gray-skip-link-bg: #f1f1f1;
	--color-green-event: #19aa02;
	--color-blue-wordpress: #21759b;
	--color-blue-focus: #0056b3;
	--color-transparent: rgba(0, 0, 0, 0);

	/* Elementor Global Colors (Already variables, listed for context) */
	/* --e-global-color-primary: ... */
	/* --e-global-color-secondary: ... */
	/* --e-global-color-text: ... */
	/* --e-global-color-accent: ... */
	/* --e-global-color-ffc979: ... */

	/* Shadows */
	--tapp-shadow: 10px 10px 40px var(--color-shadow);
	--tapp-shadow-small: 3px 3px 9px var(--color-shadow);

	/* Transitions */
	--tapp-transition: all .4s ease-in-out;
}

/* ====================
    2. Reset & Defaults
    ==================== */
/* Removed: `input, a, button, * { outline: none !important; }`
    This is a major accessibility violation.
    Focus styles are correctly added back in Section 10.
*/
a,
a svg {
	transition: var(--tapp-transition);
}

input[type=submit] {
	border: none;
}

img {
	vertical-align: top;
}

.bg-set {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

ol,
ul {
	padding-left: 24px;
}

ol {
	padding-left: 17px;
}

ol li {
	padding: 5px 0;
}

code,
kbd,
pre,
samp {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
	font-feature-settings: normal;
	font-variation-settings: normal;
	font-size: 1em;
}

ul.elementor-nav-menu--dropdown a,
ul.elementor-nav-menu--dropdown a:focus,
ul.elementor-nav-menu--dropdown a:hover {
	border-left: none;
}

/* ====================
    3. Form Elements
    ==================== */
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url(assets/images/down-arrow.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 36px auto;
	height: 45px;
	line-height: 42px;
	width: 100%;
	padding: 0 50px 0 20px !important;
	border: 1px solid var(--color-gray-border);
	border-radius: 8px 8px 8px 8px;
}

select:focus {
	border-color: var(--e-global-color-secondary);
}

.elementor-button-link .elementor-button-content-wrapper span,
.elementor-button-link .elementor-button-content-wrapper svg {
	display: inline-block;
	vertical-align: middle;
}

/* ====================
    4. Utility Classes
    ==================== */
.text-center {
	text-align: center;
}

.bg-img {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.facetwp-facet {
	margin: 0;
}

.float-left {
	float: left;
}

.w-100 {
	width: 100%;
}

.gallery-slider img {
	height: 200px;
	object-fit: cover;
}

.no-result {
	padding: 40px 0 0;
}

/* ====================
    5. Gravity Forms
    ==================== */
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
input:not([type="button"]):not([type="submit"]) {
	padding: 0 20px !important;
	height: 45px;
	line-height: 45px;
}

.gform_wrapper input[type=submit] {
	height: auto !important;
}

.gform_wrapper input[type=checkbox],
.gform_wrapper input[type=radio] {
	height: auto !important;
}

.gform_wrapper textarea,
textarea {
	padding: 20px !important;
	height: 100px !important;
}

.ginput_container_consent {
	position: relative;
	padding-left: 25px;
	font-size: 16px;
	line-height: 24px;
}

.ginput_container_consent label:before {
	content: '';
	border: 1px solid var(--color-gray-border-light);
	background: var(--color-white);
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 2px;
}

.form-white .ginput_container_consent label:before {
	border-color: var(--color-white);
	background-color: var(--color-white-transparent-32);
}

.ginput_container_consent input[type=checkbox]:checked+label:before {
	border-color: var(--e-global-color-primary);
	background: url(assets/images/check-icon.svg) no-repeat center center var(--e-global-color-primary);
}

.form-white .ginput_container_consent input[type=checkbox]:checked+label:before {
	border-color: var(--e-global-color-secondary);
	background-color: var(--e-global-color-secondary);
}

.form-white .ginput_container_consent label {
	color: var(--color-white) !important;
}

.ginput_container_consent input {
	display: none;
}

.ginput_container_consent .gfield_required_text {
	display: none;
}

/* ====================
    6. Slick Slider
    ==================== */
.slick-slider {
	position: relative;
	width: 100%;
}

.slick-slider.slick-dotted {
	margin-bottom: 60px;
}

.slick-list {
	outline: none;
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
	outline: none;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* Slick Navigation */
.slick-slider .slick-arrow,
.slick-arrow {
	z-index: 5;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 0;
	cursor: pointer;
	padding: 0;
	outline: none !important;
	border: 1px solid #E2E5EC !important;
	background: none !important;
	border-radius: 100%;
	left: 0;
	text-align: center;
	box-shadow: none !important;
}

.slick-slider .slick-arrow svg path {
	fill: var(--e-global-color-primary) !important;
}

.slick-slider .slick-arrow.slick-next {
	left: auto;
	right: 0;
}

.slick-slider .slick-arrow:hover {
	background: var(--e-global-color-primary) !important;
	color: var(--color-white) !important;
	border-color: var(--e-global-color-primary) !important;
}

.slick-slider .slick-arrow.slick-disabled,
.slick-arrow.slick-disabled {
	display: none;
}

.slick-slider .slick-arrow:hover svg path {
	fill: var(--color-white) !important;
}

.slick-slider .slick-arrow svg {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.post-slider .slick-arrow,
.event-slider .slick-arrow {
	top: -80px;
	transform: none;
	left: auto;
	right: 0;
}

.post-slider .slick-arrow.slick-prev {
	left: auto;
	right: 85px;
}

.post-slider .slick-list,
.post-slider .slick-track,
.post-slider .slick-slide,
.post-slider .post-b {
	display: flex;
}

.post-slider .post-b {
	flex-wrap: wrap;
}

/* Slick Dots */
ul.slick-dots {
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute;
	bottom: -60px;
	left: 50%;
	width: auto;
	transform: translateX(-50%);
	line-height: 0;
}

ul.slick-dots li {
	padding: 0 2px;
	display: inline-block;
}

ul.slick-dots li button {
	font-size: 0;
	width: 12px;
	height: 12px;
	padding: 0;
	border: none;
	background: var(--color-gray-dots);
	vertical-align: top;
	border-radius: 30px;
}

ul.slick-dots li button:hover,
ul.slick-dots li.slick-active button {
	background: var(--e-global-color-primary);
}

/* ====================
    7. FacetWP Styling
    ==================== */
.facetwp-pager {
	text-align: center;
}

.facetwp-facet-pagination .facetwp-page {
	display: inline-block;
	width: 62px;
	height: 62px;
	line-height: 62px;
	font-size: 16px;
	font-weight: 800;
	color: var(--e-global-color-primary) !important;
	border: 1px solid var(--e-global-color-primary);
	margin: 10px;
	vertical-align: middle;
	border-radius: 100%;
}

.facetwp-facet-pagination .facetwp-page:hover,
.facetwp-facet-pagination .facetwp-page.active {
	background: var(--e-global-color-secondary);
	color: var(--color-white) !important;
	border-color: var(--e-global-color-secondary);
}

.facetwp-facet-pagination .facetwp-page.next,
.facetwp-facet-pagination .facetwp-page.prev {
	display: inline-block;
	width: 62px;
	height: 62px;
	line-height: 60px;
	font-weight: 600;
	font-size: 0;
	border: 1px solid var(--color-gray-medium);
	color: var(--e-global-color-primary);
	text-align: center;
}

.facetwp-facet-pagination .facetwp-page.next:before,
.facetwp-facet-pagination .facetwp-page.prev:before {
	font-family: 'FontAwesome';
	font-size: 20px;
}

.facetwp-facet-pagination .facetwp-page.prev:before {
	content: "\f104";
}

.facetwp-facet-pagination .facetwp-page.next:before {
	content: "\f105";
}

.facetwp-facet-pagination .facetwp-page.next:hover,
.facetwp-facet-pagination .facetwp-page.prev:hover {
	color: var(--color-white);
	background: var(--e-global-color-secondary);
	border-color: var(--e-global-color-secondary);
}

/* FacetWP Select */
.fs-wrap {
	width: 100%;
	vertical-align: top;
}

.fs-label-wrap {
	background-color: var(--color-white);
	border: 1px solid var(--color-gray-border);
	font-size: 16px;
	border-radius: 12px;
}

.fs-label-wrap .fs-label {
	padding: 0 60px 0 20px;
	height: 45px;
	line-height: 45px;
}

.facetwp-type-fselect {
	display: flex;
}

.fs-search {
	display: none;
}

.fs-dropdown {
	padding: 15px 0;
	border: none;
	margin-top: 10px;
	box-shadow: 0px 3px 10px var(--color-shadow-faint);
}

.fs-option:first-child {
	display: none;
}

.fs-option {
	padding: 15px 20px;
	font-size: 14px;
}

.fs-option:hover,
.fs-wrap.single .fs-option.selected {
	background: var(--e-global-color-primary);
	color: var(--color-white);
}

.fs-arrow {
	border: none;
	background: url(assets/images/down-arrow.svg) no-repeat right center/35px auto;
	width: 35px;
	height: 10px;
	transform: none !important;
}

.fs-dropdown .fs-options {
	max-height: none;
}

/* FacetWP Search */
.facetwp-icon {
	display: none;
}

.facetwp-input-wrap {
	display: block;
}

input.facetwp-search:not([type="button"]):not([type="submit"]) {
	padding-left: 50px !important;
	background-image: url(assets/images/search2.svg);
	background-repeat: no-repeat;
	background-position: 15px center;
}

.facetwp-facet select {
	background-color: transparent;
}

/* FacetWP Team Filter */
.team-filter .facetwp-radio {
	display: inline-block;
	padding-left: 0;
	margin: 0 10px;
	color: var(--e-global-color-primary);
	position: relative;
	background: none;
}

.team-filter .facetwp-radio:before {
	display: none;
}

.team-filter .facetwp-radio.checked {
	padding-left: 30px;
	color: var(--e-global-color-secondary);
}

.team-filter .facetwp-radio.checked:after {
	content: '';
	position: absolute;
	left: 0;
	top: 13px;
	width: 24px !important;
	height: 1px !important;
	background: var(--e-global-color-secondary);
	border-radius: 0;
}

.team-filter .facetwp-counter {
	display: none;
}

/* ====================
    8. Post & Content Styling
    ==================== */
.post-box {
	padding: 20px 0;
}

.post-box .post-img {
	position: relative;
	height: 310px;
	background: var(--e-global-color-primary);
	margin-bottom: 10px;
}

.post-img img {
	vertical-align: top;
	height: 310px;
	object-fit: cover;
	width: 100%;
}

/* Post Tags */
.post-box .post-date,
.post-cat {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 14px;
	font-weight: 500;
	padding: 4px 12px;
	border-radius: 0 10px 0 0;
	border-top: 5px solid var(--color-white);
	border-right: 5px solid var(--color-white);
	background: var(--e-global-color-secondary);
	color: var(--color-white);
}

.post-year,
.event-cat {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 14px;
	font-weight: 500;
	padding: 4px 12px;
	border-radius: 0 0 10px 0;
	border-bottom: 5px solid var(--color-white);
	border-right: 5px solid var(--color-white);
	background: var(--e-global-color-text);
	color: var(--color-white);
}

.post-year a:hover,
.event-cat.archived-webcast:hover {
	color: var(--e-global-color-ffc979);
}

/* Post Time */
.post-time svg path {
	fill: var(--e-global-color-secondary);
}

.post-time svg {
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -3px;
}

.post-time {
	padding: 0 0 5px;
}

/* Post Box */
.post-box .post-b {
	background: var(--color-white);
	box-shadow: var(--tapp-shadow);
	padding: 16px;
	width: 100%;
}

.post-slider .post-b {
	box-shadow: none;
}

.post-slider .slick-active .post-b,
.event-slider .post-b {
	box-shadow: var(--tapp-shadow-small);
}

.post-box .post-content {
	padding: 10px 0 0;
}

.post-content h4 {
	font-size: var(--e-global-typography-5b0687a-font-size);
	line-height: var(--e-global-typography-5b0687a-line-height);
	font-weight: var(--e-global-typography-5b0687a-font-weight);
	margin: 0;
	padding: 0 0 10px;
}

.post-content h4 a {
	color: var(--e-global-color-secondary);
}

.post-content h4 a:hover {
	color: var(--e-global-color-accent);
}

.post-box .post-text {
	padding: 0 0 15px;
	color: var(--e-global-color-text);
}

.post-slider .post-box {
	padding: 15px;
}

.post-cat a:hover {
	color: var(--e-global-color-primary);
}

/* Event Styling */
.event-cat {
	background: var(--color-green-event);
}

.event-cat.archived-webcast {
	background: var(--e-global-color-text);
}

.event-cat a:hover {
	color: var(--e-global-color-accent);
}

.event-slider .post-box {
	padding: 10px;
}

.post-cat a,
.post-year a,
.event-cat a {
	color: var(--color-white);
}

.event-slider .event-cat,
.event-slider .post-time {
	display: none;
}

/* Team Styling */
.team-type {
	font-weight: 600;
	color: var(--e-global-color-primary);
	padding: 0 0 7px;
	line-height: 24px;
}

/* Button Styling */
.elementor-button.button-small {
	font-size: 16px;
	line-height: 28px;
	font-weight: 600;
	padding: 10px 30px;
}

/* Events Calendar Styling */
.events-main {
	padding: 80px 0 140px;
}

.events-main .elementor-container {
	display: block;
	padding: 0 10px;
}

#tribe-events-pg-template {
	max-width: none;
	padding: 0;
	margin: 0;
}

.event-dta svg {
	margin: 0 5px 3px 0;
	vertical-align: middle;
}

.event-dta svg path {
	fill: var(--e-global-color-secondary);
}

.alignwide.tribe-events-view {
	margin: 0;
}

.tribe-events-c-events-bar__views,
.tribe-events .tribe-events-c-search__input-control-icon-svg {
	display: none !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input-control {
	margin: 0;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn.tribe-events-c-search__button,
.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
	font-size: 0 !important;
	background: url(assets/images/search2.svg) no-repeat center;
	border: none;
	padding: 0;
	width: auto;
	width: 60px;
	height: 50px;
	position: absolute;
	left: 0;
	top: 0;
	background-size: 24px auto;
}

.tribe-events-c-search__input-control input[type=text].tribe-events-c-search__input {
	background: none;
	border-radius: 0;
	height: 50px;
	padding: 0 20px 0 60px !important;
	margin: 0;
	box-shadow: 0px 8px 15px var(--color-shadow-faint) !important;
	border: none !important;
	background-color: var(--color-white) !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__events-bar {
	max-width: 250px;
	position: relative;
	margin: 0;
}

.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__prev {
	color: var(--e-global-color-primary);
}

.tribe-events .tribe-events-c-nav__next:hover,
.tribe-events .tribe-events-c-nav__prev:hover {
	color: var(--e-global-color-text);
}

.tribe-events .tribe-events-c-events-bar__search-button {
	padding: 8px 10px 0;
}

.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
	margin: 0;
}

.tribe-events .tribe-events-c-events-bar__search-form {
	position: relative;
}

/* Category List */
.cat-list {
	font-size: 0;
}

.cat-list a {
	border: 1px solid var(--e-global-color-accent);
	line-height: 20px;
	padding: 3px 12px;
	border-radius: 8px;
	font-size: 14px !important;
	margin: 2px 5px;
	display: inline-block !important;
}

.cat-list a:hover {
	background: var(--e-global-color-accent);
	color: var(--color-white);
}

/* Content Layout */
body:not(.elementor-page) .content-space {
	padding: 0 10px;
}

body:not(.elementor-page) .content-main {
	padding: 50px 0;
}

body:not(.elementor-page) .content-main>.elementor-container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 10px;
}

/* ====================
    9. Media Queries
    ==================== */
@media (min-width: 768px) {

	/* Event Slider */
	.event-slider .slick-arrow {
		top: auto;
		bottom: 30px;
		left: 0;
		right: auto;
	}

	.event-slider .slick-arrow.slick-next {
		left: 80px;
		right: auto;
	}

	.event-slider,
	.event-slider-main,
	.event-slider-main .elementor-column-wrap,
	.event-slider-main .elementor-widget,
	.event-slider-main .elementor-widget-wrap {
		position: inherit !important;
	}

	.event-slider .slick-list {
		overflow: visible;
	}

	.event-slider .slick-list:before {
		content: '';
		position: absolute;
		top: 0;
		right: 100%;
		width: 4000px;
		height: 100%;
	}

	/* Post Boxes */
	.post-boxes {
		margin: 0 -15px;
		display: flex;
		flex-wrap: wrap;
	}

	.post-boxes .post-box {
		padding: 15px;
		width: 33.33%;
		display: flex;
	}

	.post-content a.read-link {
		min-width: 180px;
	}

	/* Team Filter */
	.team-filter .facetwp-facet {
		text-align: right;
	}

	/* Event Title Search */
	.event-title-search {
		display: flex;
		align-items: center;
		width: 100%;
		padding-bottom: 40px;
	}

	.event-title {
		width: 60%;
		padding-right: 30px;
	}

	.event-search {
		width: 40%;
		display: flex;
		justify-content: flex-end;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {

	.post-img img,
	.post-box .post-img {
		height: 240px;
	}
}

@media (max-width: 767px) {

	/* Text Alignment */
	.text-m-center {
		text-align: center;
	}

	/* Gravity Forms */
	.gform_footer {
		display: block !important;
	}

	/* FacetWP Pagination */
	.facetwp-facet-pagination .facetwp-page,
	.facetwp-facet-pagination .facetwp-page.next,
	.facetwp-facet-pagination .facetwp-page.prev {
		width: 42px;
		height: 42px;
		line-height: 42px;
	}

	.facetwp-facet-pagination .facetwp-page.next,
	.facetwp-facet-pagination .facetwp-page.prev {
		line-height: 40px;
	}

	/* Post Images */
	.post-img img,
	.post-box .post-img {
		height: 200px;
	}

	/* Sliders */
	.slick-slider .slick-arrow,
	.slick-arrow {
		width: 50px;
		height: 50px;
		line-height: 50px;
	}

	.post-slider,
	.event-slider {
		padding-top: 50px;
	}

	.post-slider .slick-arrow.slick-next,
	.event-slider .slick-arrow.slick-next {
		top: 0;
		right: auto;
		left: 50%;
		margin-left: 20px;
	}

	.post-slider .slick-arrow.slick-prev,
	.event-slider .slick-arrow.slick-prev {
		top: 0;
		left: auto;
		right: 50%;
		margin-right: 20px;
	}

	/* Team Filter */
	.team-filter .facetwp-facet {
		text-align: center;
	}

	/* Events */
	.events-main {
		padding: 40px 0 80px;
	}

	.event-title-search {
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding-bottom: 20px;
		align-items: center;
	}

	/* Footer */
	.footer-links ul li,
	.footer-links ul li a {
		display: block;
		text-align: center;
	}
}

/* ====================
    10. Accessibility Improvements
    ==================== */
/* Ensure touch targets are large enough */
@media (max-width: 767px) {

	/* Increase button size for mobile */
	.elementor-button:not(.elementor-button-link),
	input[type="button"],
	input[type="submit"],
	button {
		min-height: 44px;
		min-width: 44px;
		padding: 12px 16px;
	}

	/* Ensure adequate spacing between touch targets */
	.elementor-menu-toggle,
	.elementor-widget-icon a {
		padding: 12px;
		display: inline-block;
	}

	/* Prevent text from becoming too small */
	body,
	p,
	.elementor-widget-text-editor {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}
}


.skip-link {
	position: absolute;
	top: -100px;
	left: 10px;
	background: var(--color-gray-skip-link-bg);
	color: var(--color-blue-wordpress);
	padding: 8px 15px;
	z-index: 9999;
	transition: top 0.3s ease;
}

.skip-link:focus {
	top: 10px;
	outline: 2px solid var(--color-blue-focus);
}

/* Ensure there's a valid target for the skip link */
#content:focus {
	outline: none;
}

/* Enhance focus visibility */
.elementor-nav-menu a:focus,
.elementor-menu-toggle:focus,
.menu-item a:focus {
	outline: 2px solid var(--color-blue-focus) !important;
	outline-offset: 2px !important;
	text-decoration: underline !important;
}

/* Prevent focus outline from being hidden */
.elementor-nav-menu--main .elementor-nav-menu a:focus,
.elementor-nav-menu--main .elementor-nav-menu a:hover,
.elementor-nav-menu--main .elementor-nav-menu a.highlighted {
	text-decoration: underline !important;
}

/* Make sure menu toggles are clearly visible when focused */
.elementor-menu-toggle:focus {
	box-shadow: 0 0 0 2px var(--color-blue-focus) !important;
}

body .top-info-close { 
	cursor: pointer;
}

body .mainmenu ul.elementor-nav-menu {
    gap: 6px;
}

body .mainmenu ul.elementor-nav-menu > li a {  
    text-decoration: none;
    padding: 9px 14px !important;
    border-radius: 4px; 
}

body .mainmenu ul.elementor-nav-menu > li a:hover, body .mainmenu ul.elementor-nav-menu > li a:focus {
	background: var(--e-global-color-a594bf4);
}


body .mainmenu ul.elementor-nav-menu > li.contact-link a {
	background: var(--e-global-color-primary);
    color: #fff !important;
    padding: 10px 18px !important; 
}

body .mainmenu ul.elementor-nav-menu > li.contact-link a:hover, body .mainmenu ul.elementor-nav-menu > li.contact-link a:focus {
	background: var(--e-global-color-secondary); 
}

body .hero-img > .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(11, 18, 32, 0.55) 0%, rgba(11, 18, 32, 0.42) 50%, rgba(33, 62, 117, 0.78) 100%), radial-gradient(ellipse 70% 60% at 50% 50%, rgba(11, 18, 32, 0.35) 0%, transparent 75%);
}

body .hero-bg > .elementor-background-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(17, 30, 58, 0.92) 0%, rgba(17, 30, 58, 0.78) 50%, rgba(17, 30, 58, 0.55) 100%);
}

body .elementor-button .elementor-button-icon { 
    display: flex;
}

body .elementor-button .elementor-button-icon svg { 
	width: 12px; 
}

body .elementor-menu-toggle {
	border: 1px solid #E2E5EC;
}

body .quote-text .elementor-widget-container::before {
	content: "\201C";
    font-family: var(--e-global-typography-primary-font-family);
    font-size: 1em;
    color: #F0E4D2;
    margin-right: 4px;
    line-height: 0;
}

body .quote-text p { 
	display: inline;
}

body .quote-text .elementor-widget-container::after {
	content: "\201D";
    font-family: var(--e-global-typography-primary-font-family);
    font-size: 1em;
    color: #F0E4D2;
    margin-left: 4px;
    line-height: 0;
}

body .title-style em { 
	color: var(--e-global-color-91647ed);
}

body .box-info > div, body .box-info > a, body .box-info2:hover   {
    border-top-color: var(--e-global-color-91647ed) !important;
}

body .box-info > div:hover, body .box-info > a:hover, body .box-info2:hover {
	box-shadow: 1px 3px rgba(10, 42, 74, 0.08), 0 1px 2px rgba(10, 42, 74, 0.04);
}

.count-style .elementor-counter-number-suffix { 
	font-size: 0.5em;
	color: #6B7383;
}

body .content-box-main > .elementor-container, body .content-box2-main > .elementor-container { 
	gap: 20px;
}

body .content-box-inner, body .content-box2-inner { 
	display: flex;
}

body .content-box > .elementor-widget-wrap, body .content-box2 > .elementor-widget-wrap {
    align-content: normal;
}

body .link-style {
    font-weight: 600;
	font-size: 13px; 
	color: var(--e-global-color-secondary); 
	fill: var(--e-global-color-secondary); 
}

body .link-style .elementor-button-content-wrapper {
    justify-content: flex-end;  
}

body .link-style .elementor-button-icon { 
	width: 9px;  
	margin-left: 6px;
}

body .content-box-inner:hover .elementor-button-icon svg, body .content-box2-inner .link-style:hover .elementor-button-icon svg, .box-info2:hover .link-style .elementor-button-icon svg {
    transform: translate(2px, -2px);
}

body .content-box-inner:hover .link-style, body .box-info2:hover .link-style {
	color: var(--e-global-color-91647ed); 
	fill: var(--e-global-color-91647ed); 
}
 
body .content-box-inner:hover, body .content-box2-inner:hover { 
	box-shadow: 0 4px 12px rgba(10, 42, 74, 0.08), 0 2px 4px rgba(10, 42, 74, 0.04);
    border-color: rgba(33, 62, 117, 0.35) !important;
	overflow: hidden;
}

body .content-box-inner::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: var(--e-global-color-91647ed);
    display: none;
	width: 100%;
}

body .content-box-inner:hover::before { 
	display: block;
}

body .gallery-img > div a::after { 
	content: "";
    position: absolute; 
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
    background: linear-gradient(180deg, rgba(17, 30, 58, 0) 50%, rgba(17, 30, 58, 0.7) 100%);
}

.gallery-box > div {  
	overflow: hidden;
	transition: transform 200ms cubic-bezier(0.2, 0.0, 0.0, 1.0), box-shadow 200ms;
}

.gallery-box > div:hover { 
    transform: translateY(-2px);  
}

.gallery-box > div .gallery-img img {
    transition: transform 320ms cubic-bezier(0.2, 0.0, 0.0, 1.0);
}

.gallery-box > div:hover .gallery-img img {
	transform: scale(1.04);
}

.gallery-slider .slick-list {
	overflow: visible;
}

body .gallery-slider .slick-track { 
	display: flex;
    gap: 20px;
}

body .gallery-slider .slick-arrow {
	top: -100px; 
	left: auto; 
	right: 0;
	transform: none;
}

body .gallery-slider .slick-arrow.slick-prev { 
	left: auto; 
	right: 60px; 
} 

@media (max-width: 767px) {

	body .gallery-slider { 
		padding-top: 70px; 
	}

	body .gallery-slider .slick-arrow, body .gallery-slider .slick-arrow.slick-next {
		top: 10px; 
		left: 50%; 
		right: auto;
	}

	body .gallery-slider .slick-arrow.slick-prev { 
		left: 50%; 
		right: auto; 
		margin-left: -60px;
	} 

}

.title-w-border::before { 
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--e-global-color-91647ed);
	height: 1px;
	width: 80px;
}

body .contact-link a {
	color: var(--e-global-color-secondary);
	text-decoration: underline;
}

body .contact-link a:hover {
	color: var(--e-global-color-91647ed);
	text-decoration: none;
}


body .elementor-accordion .elementor-accordion-item { 
	border: 1px solid #E2E5EC !important;
    border-radius: 6px;
	width: 100%;
}

body .elementor-accordion {
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

body .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
	width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F4F6F9;
	display: flex;
	align-items: center;
    justify-content: center;
	order: 2;
}

body .elementor-accordion-icon-closed { 
	display: block !important;
}

body .elementor-accordion .elementor-tab-title {
	display: flex;
    align-items: center;
	justify-content: space-between;
}

body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
	background: var(--e-global-color-secondary); 
}

body .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg {
    vertical-align: top;
	transition: transform 200ms cubic-bezier(0.2, 0.0, 0.0, 1.0), background 120ms;
}

body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
	background: var(--e-global-color-secondary);
	transform: rotate(45deg);
	fill: #fff !important;
}

body .elementor-tab-content { 
	border-top: 1px solid #E2E5EC !important;
}

body .elementor-accordion-item:has(.elementor-active) {
    border-color: #0A2A4A !important;
    box-shadow: 0 1px 3px rgba(10, 42, 74, 0.08), 0 1px 2px rgba(10, 42, 74, 0.04);
}

.team-inner { 
	cursor: pointer;
}

body .team-front {  
	opacity: 1;  
	will-change: transform, opacity;  
}

body .is-flipped .team-front { 
	animation: flipOut 280ms cubic-bezier(0.2, 0.0, 0.0, 1.0) forwards; 
}

body:not(.elementor-editor-active) .team-back { 
	position: absolute; 
	top: 0; 
	width: 100%; 
	height: 100%; 
	left: 0; 
	opacity: 0;
    transform: scaleX(0); 
	will-change: transform, opacity; 
	transform-origin: center; 
	display: flex;
}

body .is-flipped .team-back { 
	animation: flipIn 280ms cubic-bezier(0.2, 0.0, 0.0, 1.0) 280ms forwards; 
	pointer-events: auto; 
}

body:not(.elementor-editor-active) .team-inner:not(.is-flipped) .team-front {
    animation: flipIn 280ms cubic-bezier(0.2, 0, 0, 1) forwards;
}

body:not(.elementor-editor-active) .team-inner:not(.is-flipped) .team-back {
    animation: flipOut 280ms cubic-bezier(0.2, 0, 0, 1) forwards;
}

body .flip-icon { 
	opacity: 0; 
}

body .team-inner:hover .flip-icon { 
	opacity: 0; 
}

@keyframes flipOut {
	0% {
		transform: scaleX(1);
		opacity: 1;
	}
	100% {
		transform: scaleX(0);
		opacity: 0;
	}
}


@keyframes flipIn {
	0% {
		transform: scaleX(0);
		opacity: 0;
	}
	100% {
		transform: scaleX(1);
		opacity: 1;
	}
}


body .uc_container .uc-heading span.ue_accordion_icon { 
	margin-right: 23px;
}

body .uc_active.bbb.ue_accordion_icon {
	display: none !important;
}

body .uc_dactive.bbb.ue_accordion_icon { 
	align-items: center;
    justify-content: center; 
} 
 
body .uc-item-active .uc_dactive.bbb.ue_accordion_icon {
	display: flex !important;
	background-color: var(--e-global-color-secondary) !important;
    fill: #FFFFFF !important; 
}

body .uc_dactive.bbb.ue_accordion_icon svg { 
	transition: transform 200ms cubic-bezier(0.2, 0.0, 0.0, 1.0), background 120ms;
} 

body .uc-item-active .uc_dactive.bbb.ue_accordion_icon svg {
	transform: rotate(45deg);
	fill: #FFFFFF !important;
} 
 

.elementor-element .swiper .elementor-swiper-button, .elementor-element .swiper~.elementor-swiper-button, .elementor-lightbox .swiper .elementor-swiper-button, .elementor-lightbox .swiper~.elementor-swiper-button {
    color: hsla(0, 0%, 93%, .9);
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}