/* Four Dimensions Elementor — original, dependency-free theme shell. */
:root {
	--fd-gold: #855909;
	--fd-footer-gold: #845807;
	--fd-orange: #c86805;
	--fd-button-orange: #f0a128;
	--fd-teal: #078586;
	--fd-charcoal: #282f3b;
	--fd-text: #4a4e56;
	--fd-muted: #888888;
	--fd-border: #e4e7ee;
	--fd-light: #f0f3f9;
	--fd-white: #ffffff;
	--fd-heading-font: "Spartan", "League Spartan", Arial, Helvetica, sans-serif;
	--fd-body-font: "Inter", Arial, Helvetica, sans-serif;
	--fd-shadow: 0 0 40px rgba(0, 0, 0, 0.09);
	--fd-transition: 0.5s ease-in-out;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body.fourdimensions-theme {
	margin: 0;
	background: var(--fd-white);
	color: var(--fd-text);
	font-family: var(--fd-body-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.fd-mobile-menu-open {
	overflow: hidden;
}

.fourdimensions-theme img {
	display: inline;
	max-width: 100%;
	height: auto;
}

.fourdimensions-theme a {
	color: inherit;
	text-decoration: none;
	transition: color var(--fd-transition), background-color var(--fd-transition), border-color var(--fd-transition), transform var(--fd-transition), opacity var(--fd-transition);
}

.fourdimensions-theme button,
.fourdimensions-theme input,
.fourdimensions-theme select,
.fourdimensions-theme textarea {
	font: inherit;
}

.fourdimensions-theme h1,
.fourdimensions-theme h2,
.fourdimensions-theme h3,
.fourdimensions-theme h4,
.fourdimensions-theme h5,
.fourdimensions-theme h6 {
	color: var(--fd-charcoal);
	font-family: var(--fd-heading-font);
	font-weight: 700;
}

.fd-site,
.fd-site-content,
.fd-site-main {
	position: relative;
	width: 100%;
}

.fd-content-container,
.fd-medium-container {
	position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}

.fd-content-container {
	max-width: 1200px;
}

.fd-medium-container {
	max-width: 1350px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.fd-skip-link:focus {
	top: 8px;
	left: 8px;
	z-index: 1000000;
	display: block;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto !important;
	background: var(--fd-white);
	box-shadow: var(--fd-shadow);
	color: var(--fd-charcoal);
	font-weight: 700;
	white-space: normal;
}

/* --------------------------------------------------------------------------
   Header: the public site's desktop style-three layout
   -------------------------------------------------------------------------- */
.fd-header-area {
	position: relative;
	z-index: 999;
	background: var(--fd-white);
}

.fd-desktop-header {
	display: block;
}

.fd-mobile-header {
	display: none;
}

.fd-info-strip {
	position: relative;
	padding: 27px 0;
	border-top: 4px solid var(--fd-gold);
	background: var(--fd-white);
}

.fd-info-grid {
	display: grid;
	grid-template-columns: 25% 75%;
	align-items: center;
}

.fd-site-logo {
	position: relative;
}

.fd-site-logo a {
	display: inline-block;
}

.fd-site-logo img,
.fd-site-logo .custom-logo {
	display: block;
	width: 160px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.fd-header-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
}

.fd-header-detail {
	display: flex;
	align-items: center;
	min-width: 0;
	padding: 0 15px;
}

.fd-header-detail__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-right: 14px;
	color: var(--fd-gold);
	flex: 0 0 48px;
}

.fd-header-detail__icon svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fd-header-detail__copy {
	display: block;
	min-width: 0;
}

.fd-header-detail__copy strong {
	display: block;
	margin: 0 0 3px;
	color: #000000;
	font-family: var(--fd-heading-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 25px;
}

.fd-header-detail__copy > span,
.fd-header-detail__copy > a {
	display: block;
	color: #1e1d1d;
	font-family: var(--fd-body-font);
	font-size: 15px;
	line-height: 26px;
	white-space: nowrap;
}

.fd-header-detail__copy > a:hover {
	color: var(--fd-teal);
}

.fd-navigation-bar {
	position: relative;
	padding: 7px 0;
	background: var(--fd-gold);
	transition: box-shadow 0.35s ease;
}

.fd-navigation-bar.is-scrolled {
	box-shadow: 0 7px 25px rgba(0, 0, 0, 0.16);
}

.fd-navigation-row {
	display: flex;
	align-items: center;
	min-height: 68px;
}

.fd-round-menu-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	margin: 0 40px 0 0;
	border: 1px solid var(--fd-white);
	border-radius: 50%;
	background: var(--fd-teal);
	color: var(--fd-white);
	cursor: pointer;
}

.fd-round-menu-button__bars,
.fd-mobile-menu-button > span:last-child {
	display: block;
	width: 19px;
	height: 18px;
}

.fd-round-menu-button__bars i,
.fd-mobile-menu-button i {
	display: block;
	width: 100%;
	height: 2px;
	margin: 4px 0;
	background: currentColor;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.fd-primary-navigation {
	min-width: 0;
	flex: 1 1 auto;
}

.fd-menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.fd-menu--desktop {
	display: flex;
	align-items: center;
}

.fd-menu--desktop > li {
	position: relative;
	display: inline-block;
	padding: 20px 0;
	margin: 0 30px 0 0;
}

.fd-menu--desktop > li.menu-item-has-children {
	margin-right: 40px;
}

.fd-menu--desktop > li:last-child {
	margin-right: 0;
}

.fd-menu--desktop > li > a {
	display: block;
	padding: 0;
	color: var(--fd-white);
	font-family: var(--fd-heading-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 26px;
	white-space: nowrap;
}

.fd-menu--desktop > li.menu-item-has-children > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -20px;
	width: 6px;
	height: 6px;
	margin-top: -5px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.25s ease;
}

.fd-menu--desktop > li.menu-item-has-children:hover > a::after,
.fd-menu--desktop > li.menu-item-has-children:focus-within > a::after {
	margin-top: -1px;
	transform: rotate(225deg);
}

.fd-menu--desktop .sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: 8px;
	z-index: 9999;
	display: block;
	width: 220px;
	padding: 13px 25px;
	margin: 0;
	border: 0;
	border-radius: 10px;
	background: var(--fd-white);
	box-shadow: var(--fd-shadow);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: scaleX(0);
	transform-origin: left top;
	transition: top 0.3s ease, opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.fd-menu--desktop .sub-menu::before {
	content: "";
	position: absolute;
	top: -25px;
	left: 0;
	width: 100%;
	height: 40px;
	background: transparent;
}

.fd-menu--desktop li:hover > .sub-menu,
.fd-menu--desktop li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: scaleX(1);
}

.fd-menu--desktop .sub-menu li {
	position: relative;
	display: block;
	padding: 5px 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(5px);
	transition: opacity 0.22s cubic-bezier(0.4, 0.28, 0.31, 1.28) 0.12s, transform 0.22s cubic-bezier(0.4, 0.28, 0.31, 1.28) 0.12s;
}

.fd-menu--desktop li:hover > .sub-menu > li,
.fd-menu--desktop li:focus-within > .sub-menu > li {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.fd-menu--desktop .sub-menu a {
	display: block;
	color: var(--fd-text);
	font-family: var(--fd-body-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 25px;
}

.fd-menu--desktop .sub-menu a:hover,
.fd-menu--desktop .sub-menu a:focus,
.fd-menu--desktop .sub-menu .current-menu-item > a {
	color: var(--fd-teal);
}

.fd-menu--desktop .sub-menu .sub-menu {
	top: -13px;
	left: calc(100% + 25px);
}

.fd-appointment-button {
	display: inline-block;
	width: 180px;
	height: 56px;
	min-width: 180px;
	padding: 0 18px;
	margin-left: 24px;
	border-radius: 5px;
	background: var(--fd-button-orange);
	color: var(--fd-white);
	font-family: var(--fd-heading-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 60px;
	text-align: center;
	text-transform: uppercase;
}

.fd-appointment-button:hover,
.fd-appointment-button:focus {
	background: #feecec;
	color: var(--fd-gold);
}

/* --------------------------------------------------------------------------
   Mobile header and slide-out navigation
   -------------------------------------------------------------------------- */
.fd-mobile-contact-bar {
	padding: 15px 0;
	background: var(--fd-charcoal);
	text-align: center;
}

.fd-mobile-contact-bar a {
	display: block;
	min-width: 100%;
	color: var(--fd-white);
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}

.fd-mobile-contact-bar a:first-child {
	margin-bottom: 8px;
}

.fd-mobile-contact-bar svg {
	position: relative;
	top: 3px;
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-right: 5px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fd-mobile-main-bar {
	position: relative;
	padding: 13px 0;
	background: var(--fd-white);
}

.fd-mobile-main-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.fd-site-logo--mobile img,
.fd-site-logo--mobile .custom-logo {
	width: 150px;
}

.fd-mobile-menu-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fd-charcoal);
	cursor: pointer;
}

.fd-mobile-menu-button > span:last-child {
	width: 25px;
}

.fd-drawer-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(40, 47, 59, 0.8);
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.fd-mobile-drawer {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 300px;
	max-width: calc(100% - 30px);
	height: 100%;
	padding: 20px;
	overflow-x: hidden;
	overflow-y: auto;
	background: var(--fd-white);
	opacity: 0;
	visibility: hidden;
	transform: translateX(-100%);
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease;
}

.fd-mobile-menu-open .fd-drawer-backdrop,
.fd-mobile-menu-open .fd-mobile-drawer {
	opacity: 1;
	visibility: visible;
}

.fd-mobile-menu-open .fd-mobile-drawer {
	transform: translateX(0);
}

.fd-drawer-close {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0 0 20px auto;
	border: 1px solid var(--fd-border);
	border-radius: 50%;
	background: var(--fd-white);
	color: var(--fd-charcoal);
	cursor: pointer;
}

.fd-drawer-close span::before,
.fd-drawer-close span::after {
	content: "";
	position: absolute;
	top: 19px;
	left: 11px;
	width: 17px;
	height: 1px;
	background: currentColor;
}

.fd-drawer-close span::before {
	transform: rotate(45deg);
}

.fd-drawer-close span::after {
	transform: rotate(-45deg);
}

.fd-drawer-logo {
	margin-bottom: 18px;
}

.fd-site-logo--drawer img,
.fd-site-logo--drawer .custom-logo {
	width: 150px;
}

.fd-menu--mobile li {
	position: relative;
	border-bottom: 1px solid var(--fd-border);
	list-style: none;
}

.fd-menu--mobile li a {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 0 40px 0 0;
	color: var(--fd-charcoal);
	font-family: var(--fd-heading-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 50px;
}

.fd-menu--mobile li.current-menu-item > a,
.fd-menu--mobile li.current-menu-ancestor > a,
.fd-menu--mobile li > a:hover {
	color: var(--fd-teal);
}

.fd-menu--mobile .sub-menu {
	display: none;
	padding: 0 0 0 8px;
	margin: 0;
	border-top: 1px solid var(--fd-border);
	list-style: none;
}

.fd-menu--mobile li.is-submenu-open > .sub-menu {
	display: block;
}

.fd-menu--mobile .sub-menu li:last-child {
	border-bottom: 0;
}

.fd-menu--mobile .sub-menu a {
	font-family: var(--fd-body-font);
	font-size: 14px;
	font-weight: 400;
}

.fd-submenu-toggle {
	position: absolute;
	top: 10px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 1px solid var(--fd-border);
	border-radius: 3px;
	background: var(--fd-white);
	color: var(--fd-charcoal);
	cursor: pointer;
}

.fd-submenu-toggle::before,
.fd-submenu-toggle::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 1px;
	background: currentColor;
	transition: transform 0.25s ease;
}

.fd-submenu-toggle::after {
	transform: rotate(90deg);
}

.is-submenu-open > .fd-submenu-toggle::after {
	transform: rotate(0);
}

.fd-drawer-contact {
	display: grid;
	gap: 5px;
	padding-top: 25px;
	font-size: 14px;
}

.fd-drawer-contact a:hover {
	color: var(--fd-teal);
}

/* --------------------------------------------------------------------------
   Footer: mailing strip, four columns, and black copyright bar
   -------------------------------------------------------------------------- */
.fd-site-footer {
	position: relative;
	color: var(--fd-white);
}

.fd-newsletter {
	padding: 30px 0;
	background: var(--fd-orange);
}

.fd-newsletter__content {
	position: relative;
	max-width: 570px;
	padding-left: 15px;
	border-left: 4px solid var(--fd-white);
}

.fd-newsletter__content h2 {
	padding: 0;
	margin: 0 0 8px;
	color: var(--fd-white);
	font-size: 30px;
	font-weight: 600;
	line-height: 40px;
}

.fd-newsletter__content p {
	padding: 0;
	margin: 0;
	color: var(--fd-white);
	font-size: 16px;
	line-height: 26px;
}

.fd-footer-main {
	padding: 32px 0 0;
	background: var(--fd-footer-gold);
}

.fd-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
}

.fd-footer-column {
	position: relative;
	min-width: 0;
	padding: 0 15px;
	margin-bottom: 30px;
}

.fd-footer-about {
	padding-right: 33px;
}

.fd-site-logo--footer {
	margin-bottom: 20px;
}

.fd-site-logo--footer img,
.fd-site-logo--footer .custom-logo {
	width: 250px;
	border-radius: 10px;
}

.fd-footer-about > p {
	padding: 0;
	margin: 0 0 30px;
	color: var(--fd-white);
	font-size: 16px;
	line-height: 26px;
}

.fd-footer-heading {
	position: relative;
	padding: 0;
	margin: 0 0 31px;
	color: var(--fd-white) !important;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}

.fd-footer-heading::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 70px;
	height: 3px;
	background: var(--fd-teal);
}

.fd-footer-menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.fd-footer-menu li {
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}

.fd-footer-menu a {
	display: block;
	margin-bottom: 9px;
	color: var(--fd-white);
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
}

.fd-footer-menu a:hover,
.fd-footer-menu a:focus {
	color: var(--fd-teal);
}

.fd-footer-contact__group {
	margin-bottom: 20px;
}

.fd-footer-contact__group:last-child {
	margin-bottom: 0;
}

.fd-footer-contact__group h3 {
	padding: 0;
	margin: 0 0 8px;
	color: var(--fd-white);
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
}

.fd-footer-contact__group p {
	padding: 0;
	margin: 0 0 5px;
	color: var(--fd-white);
	font-size: 16px;
	line-height: 26px;
}

.fd-footer-contact__group strong {
	color: var(--fd-white);
	font-family: var(--fd-body-font);
	font-size: 16px;
	font-weight: 400;
}

.fd-footer-contact__group a {
	color: var(--fd-white);
}

.fd-footer-contact__group a:hover {
	color: var(--fd-teal);
}

.fd-footer-bottom {
	background: #000000;
}

.fd-footer-bottom__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.fd-footer-bottom p {
	padding: 0;
	margin: 0;
	color: var(--fd-white);
	font-size: 15px;
	line-height: 26px;
}

.fd-social-links {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.fd-social-links li {
	position: relative;
	padding: 0;
	margin: 0;
	list-style: none;
}

.fd-social-links a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--fd-charcoal);
	color: var(--fd-white);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 40px;
	text-align: center;
}

.fd-social-links a small {
	position: absolute;
	top: -35px;
	left: -10px;
	min-width: 100px;
	padding: 5px 15px;
	border-radius: 5px;
	background: var(--fd-light);
	color: var(--fd-teal);
	font-family: var(--fd-heading-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 13px;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--fd-transition), transform var(--fd-transition);
	transform: translateY(4px);
}

.fd-social-links a small::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 20px;
	border-top: 8px solid var(--fd-light);
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
}

.fd-social-links a:hover,
.fd-social-links a:focus {
	background: var(--fd-teal);
	color: var(--fd-white);
}

.fd-social-links a:hover small,
.fd-social-links a:focus small {
	opacity: 1;
	transform: translateY(0);
}

/* --------------------------------------------------------------------------
   WordPress content and WooCommerce defaults (Elementor sections stay free)
   -------------------------------------------------------------------------- */
.fd-standard-content,
.fd-commerce-main > .fd-content-container {
	padding-top: 90px;
	padding-bottom: 90px;
}

.fd-entry-header,
.fd-archive-header {
	margin-bottom: 38px;
}

.fd-entry-header h1,
.fd-archive-header h1 {
	margin: 0;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.2;
}

.fd-entry-content > :first-child {
	margin-top: 0;
}

.fd-entry-content > :last-child {
	margin-bottom: 0;
}

.fd-entry-content a {
	color: var(--fd-teal);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fd-featured-image {
	margin: 0 0 40px;
}

.fd-featured-image img {
	width: 100%;
	border-radius: 10px;
}

.fd-post-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.fd-post-card {
	overflow: hidden;
	border-radius: 10px;
	background: var(--fd-white);
	box-shadow: var(--fd-shadow);
}

.fd-post-card__image {
	display: block;
	height: 220px;
	overflow: hidden;
}

.fd-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--fd-transition);
}

.fd-post-card:hover .fd-post-card__image img {
	transform: scale(1.04);
}

.fd-post-card__body {
	padding: 26px 28px 30px;
}

.fd-post-card h2 {
	margin: 0 0 12px;
	font-size: 21px;
	line-height: 1.35;
}

.fd-post-card h2 a:hover {
	color: var(--fd-teal);
}

.fd-post-meta {
	margin: 0 0 8px;
	color: var(--fd-gold);
	font-size: 13px;
}

.fd-post-excerpt p {
	margin: 0 0 18px;
}

.fd-text-link {
	color: var(--fd-teal) !important;
	font-family: var(--fd-heading-font);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.navigation.pagination,
.post-navigation {
	margin-top: 45px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers,
.post-navigation a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 7px 14px;
	border: 1px solid var(--fd-border);
	border-radius: 5px;
}

.page-numbers.current,
.page-numbers:hover,
.post-navigation a:hover {
	border-color: var(--fd-teal);
	background: var(--fd-teal);
	color: var(--fd-white);
}

.fd-not-found {
	max-width: 760px;
	text-align: center;
}

.fd-not-found__code {
	margin: 0;
	color: var(--fd-gold);
	font-family: var(--fd-heading-font);
	font-size: clamp(84px, 16vw, 180px);
	font-weight: 800;
	line-height: 1;
}

.fd-not-found h1 {
	margin: 0 0 12px;
	font-size: 38px;
}

.fd-not-found .search-form {
	display: flex;
	max-width: 580px;
	margin: 28px auto;
}

.fd-not-found .search-field {
	width: 100%;
	min-height: 52px;
	padding: 10px 15px;
	border: 1px solid var(--fd-border);
	border-radius: 5px 0 0 5px;
}

.fd-not-found .search-submit,
.fd-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	border: 1px solid var(--fd-teal);
	border-radius: 5px;
	background: var(--fd-teal);
	color: var(--fd-white);
	font-family: var(--fd-heading-font);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
}

.fd-not-found .search-submit {
	border-radius: 0 5px 5px 0;
}

.fd-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	border-color: var(--fd-gold);
	background: var(--fd-gold);
	color: var(--fd-white);
}

.alignwide {
	width: min(1380px, calc(100vw - 30px));
	max-width: none;
	margin-right: 50%;
	margin-left: 50%;
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-right: 50%;
	margin-left: 50%;
	transform: translateX(-50%);
}

.fd-elementor-content,
.fd-fullwidth-content,
.fd-canvas-content {
	padding: 0;
	margin: 0;
	overflow: hidden;
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce span.onsale {
	background: var(--fd-teal);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--fd-gold);
}

/* Focus treatment shared by all shell controls. */
.fd-round-menu-button:focus-visible,
.fd-mobile-menu-button:focus-visible,
.fd-drawer-close:focus-visible,
.fd-submenu-toggle:focus-visible,
.fd-menu a:focus-visible,
.fd-appointment-button:focus-visible,
.fd-footer-menu a:focus-visible,
.fd-social-links a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 1199px) {
	.fd-info-grid {
		grid-template-columns: 22% 78%;
	}

	.fd-header-detail {
		padding-right: 8px;
		padding-left: 8px;
	}

	.fd-header-detail__icon {
		width: 42px;
		height: 42px;
		margin-right: 10px;
		flex-basis: 42px;
	}

	.fd-header-detail__icon svg {
		width: 42px;
		height: 42px;
	}

	.fd-round-menu-button {
		margin-right: 24px;
	}

	.fd-menu--desktop > li,
	.fd-menu--desktop > li.menu-item-has-children {
		margin-right: 22px;
	}

	.fd-menu--desktop > li.menu-item-has-children > a::after {
		right: -14px;
	}

	.fd-appointment-button {
		margin-left: 16px;
	}
}

@media (max-width: 1024px) {
	.fd-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fd-post-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 992px) {
	.fd-desktop-header {
		display: none;
	}

	.fd-mobile-header {
		display: block;
	}

	.admin-bar .fd-mobile-drawer {
		top: 32px;
		height: calc(100% - 32px);
	}

	.fd-standard-content,
	.fd-commerce-main > .fd-content-container {
		padding-top: 70px;
		padding-bottom: 70px;
	}
}

@media (max-width: 782px) {
	.admin-bar .fd-mobile-drawer {
		top: 46px;
		height: calc(100% - 46px);
	}
}

@media (max-width: 767px) {
	.fd-footer-grid,
	.fd-post-list,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.fd-footer-column,
	.fd-footer-about {
		padding-right: 15px;
		padding-left: 15px;
	}

	.fd-footer-bottom__row {
		flex-direction: column;
		gap: 16px;
		padding-top: 18px;
		padding-bottom: 18px;
		text-align: center;
	}

	.fd-social-links a small {
		display: none;
	}

	.fd-standard-content,
	.fd-commerce-main > .fd-content-container {
		padding-top: 55px;
		padding-bottom: 55px;
	}

	.fd-entry-header h1,
	.fd-archive-header h1 {
		font-size: 34px;
	}
}

@media (max-width: 480px) {
	.fd-content-container,
	.fd-medium-container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.fd-site-logo--mobile img,
	.fd-site-logo--mobile .custom-logo {
		width: 135px;
	}

	.fd-mobile-main-bar {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.fd-mobile-menu-button {
		width: 48px;
		height: 48px;
	}

	.fd-newsletter__content h2 {
		font-size: 26px;
		line-height: 36px;
	}
}

/* Recovered site's internal title-band parallax and gallery overlay. */
.fd-page-banner .simpleParallax { position: absolute; inset: 0; overflow: hidden; }
.fd-page-banner .simpleParallax .cover-parallax { transform: scale(1.3); }
.fd-lightbox { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 40px; background: rgba(16, 20, 27, .94); }
.fd-lightbox img { max-width: min(1200px, 94vw); max-height: 88vh; box-shadow: 0 18px 70px rgba(0, 0, 0, .5); }
.fd-lightbox button { position: absolute; top: 18px; right: 24px; border: 0; background: transparent; color: #fff; font-size: 44px; cursor: pointer; }
[data-aos] { transition-duration: .75s; }

@media (max-width: 767px) {
	.fd-lightbox { padding: 20px; }
}

.fd-back-to-top { position: fixed; right: 28px; bottom: 28px; z-index: 999; width: 46px; height: 46px; border: 0; border-radius: 50%; background: #855909; color: #fff; font-size: 22px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: .3s ease; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.22); }
.fd-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.navbar_outer.is-sticky { position: fixed; z-index: 9999; top: 0; right: 0; left: 0; animation: fadeInDown .4s ease; box-shadow: 0 4px 24px rgba(0,0,0,.16); }

@media (max-width: 992px) {
	.header.header_default.style_three .header_mid { display: block; }
	.header.header_default.style_three .header_mid .same_column { display: none; }
	.header.header_default.style_three .header_mid .mid_logo_icon { text-align: left; }
	.header.header_default.style_three .header_mid .mid_logo_icon img { width: 128px; height: auto; }
	.header.header_default.style_three .navbar_outer .navbar_togglers { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 48px; height: 48px; cursor: pointer; }
	.header.header_default.style_three .navbar_outer .navbar_togglers .line { display: block; width: 25px; height: 2px; margin: 0 auto; background: #fff; transition: .25s ease; }
	.header.header_default.style_three .header_content_collapse { display: none; position: absolute; z-index: 10000; top: 100%; right: 15px; left: 15px; max-height: calc(100vh - 120px); overflow-y: auto; padding: 15px 22px 25px; background: #fff; box-shadow: 0 14px 45px rgba(0,0,0,.2); }
	.header.header_default.style_three .header_content_collapse.is-open { display: block; }
	.header.header_default.style_three .navigation_menu .navbar_nav { display: block; }
	.header.header_default.style_three .navigation_menu .navbar_nav > li { display: block; width: 100%; border-bottom: 1px solid #eee; }
	.header.header_default.style_three .navigation_menu .navbar_nav > li > a { display: block; padding: 13px 0; color: #282f3b; }
	.header.header_default.style_three .navigation_menu .dropdown-menu { position: static; display: none; float: none; width: 100%; border: 0; box-shadow: none; padding: 0 0 10px 15px; }
	.header.header_default.style_three .navigation_menu .fd-submenu-open > .dropdown-menu { display: block; }
	.header.header_default.style_three .header_right_content { display: none; }
	body.fd-code-menu-open { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/*
 * Original fourdimensions.ae Appearance > Custom CSS.
 * These rules are intentionally kept last: the source site used them to
 * override Creote's bundled defaults after all theme and Elementor styles.
 */
.fourdimensions-theme .default_sickty_heaad .header_logo_box img {
	width: 125px !important;
	margin-top: 7px;
}

.fourdimensions-theme .header.style_three .header_mid,
.fourdimensions-theme .default_sickty_heaad.style_three .header_mid {
	position: relative;
	background: #fff;
	padding: 10px 0;
	border-top: 4px solid var(--primary-color-one);
}

.fourdimensions-theme .contact_box_content.style_one .contact_box_inner.icon_yes .icon_bx {
	position: absolute;
	inset: 0 auto 0 24px;
	width: 40px;
	height: 40px;
	border-radius: 50px;
	background: #855909;
}

.fourdimensions-theme .icon_box_all.style_five .icon_content .hover_content {
	background: #845807;
}

.fourdimensions-theme .service_post.style_four p {
	display: none;
	margin-bottom: 15px;
}

.fourdimensions-theme .service_post.style_four h2 a {
	position: relative;
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 28px;
}

.fourdimensions-theme .service_post.style_four .content_in_box {
	position: relative;
	padding: 0 15px 13px;
}

/* The source site's Isotope layout removes inline-block whitespace. */
.fourdimensions-theme .service_section.grid_all .grid_show_case,
.fourdimensions-theme .section__counter .grid_show_case {
	display: flex;
	flex-wrap: wrap;
}

/* Keep Elementor overlays above section backgrounds and below their content. */
.fourdimensions-theme .elementor-section > .elementor-background-overlay {
	z-index: 1;
}

.fourdimensions-theme .elementor-section > .elementor-container {
	z-index: 2;
}

/* Contact Form 7 icons remain visible without the original Font Awesome plug-in. */
.fourdimensions-theme .contact_form_box_all.type_three .simple_form label > .fa {
	display: block;
	color: var(--primary-color-one);
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.fourdimensions-theme .fa-user::before { content: "\f007"; }
.fourdimensions-theme .fa-phone::before { content: "\f095"; }
.fourdimensions-theme .fa-folder::before,
.fourdimensions-theme .fa-subject::before { content: "\f07b"; }
.fourdimensions-theme .fa-envelope::before { content: "\f0e0"; }
.fourdimensions-theme .fa-comments::before { content: "\f075"; }
.fourdimensions-theme .fa-search::before { content: "\f002"; }

@media (max-width: 550px) {
	.fourdimensions-theme .theme-btn.one,
	.fourdimensions-theme .theme-btn.two,
	.fourdimensions-theme .theme-btn.three,
	.fourdimensions-theme .theme-btn.five {
		height: 40px;
		min-height: 38px;
		min-width: auto;
		padding: 12px 13px;
		font-size: 12px;
		line-height: 15px !important;
	}
}
