/*
 * Farnham Golf Club header and mobile menu.
 * Header: Avada Layout section 18 (.cjg-header). Mobile menu: off-canvas 159 (.cjg-oc).
 * States set by cjg-header.js on .fusion-tb-header: .cjg-header--solid, .cjg-header--hidden.
 */

:root {
	--cjg-green: #1B3022;
	--cjg-gold: #C5A059;
	--cjg-cream: #F4EFE6;
	--cjg-admin: 0px;
	--cjg-h: 96px;
	--cjg-h-solid: 64px;
	--cjg-crest-h: 48px;
	--cjg-gutter: 24px;
}

@media (max-width: 1023px) {
	:root {
		--cjg-h: 72px;
		--cjg-h-solid: 56px;
		--cjg-crest-h: 36px;
		--cjg-gutter: 16px;
	}
}

/* Before the script runs, sit below the admin bar. */
body.admin-bar { --cjg-admin: 32px; }
@media (max-width: 782px) {
	body.admin-bar { --cjg-admin: 46px; }
}

/* ---------- Header bar ---------- */

.fusion-tb-header {
	position: fixed;
	top: var(--cjg-admin);
	left: 0;
	right: 0;
	z-index: 10050;
	transform: translateY(0);
	transition: transform 250ms ease;
}

.fusion-tb-header.cjg-header--hidden {
	transform: translateY(calc(-100% - var(--cjg-admin)));
}

/* Close any open dropdown when the header slides away. */
.fusion-tb-header.cjg-header--hidden .awb-menu__sub-ul {
	visibility: hidden !important;
	opacity: 0 !important;
}

.fusion-tb-header .cjg-header.fusion-fullwidth {
	min-height: var(--cjg-h);
	padding: 0 var(--cjg-gutter) !important;
	/* Scrim keeps white text readable over any hero photo. */
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 70%, rgba(0, 0, 0, 0) 100%) !important;
	transition: min-height 200ms ease, background-color 200ms ease;
	display: flex;
	align-items: center;
}

.fusion-tb-header.cjg-header--solid .cjg-header.fusion-fullwidth {
	min-height: var(--cjg-h-solid);
	background: var(--cjg-green) !important;
}

.cjg-header > .fusion-builder-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	gap: 12px;
}

.cjg-header .fusion-layout-column {
	margin: 0 !important;
	width: auto !important;
}

.cjg-header .fusion-layout-column > .fusion-column-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
}

/* Crest: never wider than the space left after the actions (hamburger + gap). */
.cjg-header .cjg-header__brand {
	flex: 0 1 auto !important;
	min-width: 0;
	max-width: calc(100% - var(--cjg-actions-w, 0px) - 12px);
}

.cjg-header .cjg-header__crest,
.cjg-header .cjg-header__crest .fusion-image-element,
.cjg-header .cjg-header__crest a {
	display: block;
	max-width: 100% !important;
	margin: 0 !important;
}

.cjg-header .cjg-header__crest img {
	display: block;
	height: var(--cjg-crest-h);
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.cjg-header .cjg-header__crest a,
.cjg-oc .cjg-oc__crest a {
	min-height: 44px;
	display: flex !important;
	align-items: center;
}

/* Inline menu */
.cjg-header .cjg-header__nav {
	flex: 1 1 auto !important;
	min-width: 0;
	justify-content: flex-end;
	padding: 0 12px;
}

.cjg-header .cjg-header__nav > .fusion-column-wrapper {
	justify-content: flex-end;
	width: 100%;
}

.cjg-header .cjg-menu {
	--awb-color: #ffffff;
	--awb-icons-color: #ffffff;
	width: auto;
}

.cjg-header .cjg-menu .awb-menu__main-ul {
	flex-wrap: nowrap !important;
}

.cjg-header .cjg-menu .awb-menu__main-a {
	font-family: 'Cinzel', serif !important;
	font-size: 15px !important;
	font-weight: 400;
	color: #ffffff !important;
	white-space: nowrap;
	min-height: 44px;
	display: flex;
	align-items: center;
}

.cjg-header .cjg-menu .awb-menu__main-li:hover > .awb-menu__main-a,
.cjg-header .cjg-menu .awb-menu__main-a:focus-visible,
.cjg-header .cjg-menu .current-menu-item > .awb-menu__main-a,
.cjg-header .cjg-menu .current-menu-ancestor > .awb-menu__main-a {
	color: var(--cjg-gold) !important;
}

.cjg-header .cjg-menu .awb-menu__open-nav-submenu-hover,
.cjg-header .cjg-menu .awb-menu__open-nav-submenu_mobile,
.cjg-header .cjg-menu .awb-menu__main-li .awb-menu__open-nav-submenu-hover:before {
	color: #ffffff !important;
}

/* Dropdowns open on hover and on keyboard focus. */
.cjg-header .cjg-menu .awb-menu__sub-ul {
	background: var(--cjg-green) !important;
	border-radius: 0 !important;
	border-top: 2px solid var(--cjg-gold);
	min-width: 220px;
}

.cjg-header .cjg-menu .menu-item-has-children:focus-within > .awb-menu__sub-ul {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto;
	transition: opacity 150ms ease, visibility 0s !important;
}

.cjg-header .cjg-menu .awb-menu__sub-a {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500;
	color: var(--cjg-cream) !important;
	text-transform: none !important;
	min-height: 44px;
	display: flex;
	align-items: center;
}

.cjg-header .cjg-menu .awb-menu__sub-a:hover,
.cjg-header .cjg-menu .awb-menu__sub-a:focus-visible,
.cjg-header .cjg-menu .current-menu-item > .awb-menu__sub-a {
	color: var(--cjg-gold) !important;
	background: rgba(244, 239, 230, 0.06) !important;
}

/* Actions: hamburger */
.cjg-header .cjg-header__actions {
	flex: 0 0 auto !important;
}

.cjg-header .cjg-header__actions > .fusion-column-wrapper {
	gap: 12px;
}

.cjg-header .cjg-header__actions .fusion-button-wrapper {
	margin: 0 !important;
}

.cjg-menu-toggle.fusion-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.cjg-menu-toggle.fusion-button i,
.cjg-menu-toggle.fusion-button .button-icon-left {
	margin: 0 !important;
	font-size: 24px !important;
	color: #ffffff !important;
}

.cjg-menu-toggle.fusion-button:hover i,
.cjg-menu-toggle.fusion-button:focus-visible i {
	color: var(--cjg-gold) !important;
}

.cjg-menu-toggle.fusion-button .fusion-button-text:empty { display: none; }

.fusion-tb-header a:focus-visible,
.cjg-oc a:focus-visible,
.cjg-oc button:focus-visible,
#awb-oc-159 .off-canvas-close:focus-visible {
	outline: 2px solid var(--cjg-gold) !important;
	outline-offset: 2px;
}

/* Breakpoints: inline menu from 1024px (unless it would not fit), hamburger below. */
@media (min-width: 1024px) {
	html:not(.cjg-nav-collapsed) .cjg-header .cjg-header__actions .cjg-menu-toggle { display: none !important; }
	html.cjg-nav-collapsed .cjg-header .cjg-header__nav { display: none !important; }
}

@media (max-width: 1023px) {
	.cjg-header .cjg-header__nav { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.fusion-tb-header,
	.fusion-tb-header .cjg-header.fusion-fullwidth {
		transition: none;
	}
}

/* ---------- Mobile menu (off-canvas 159) ---------- */

#awb-oc-159 {
	--awb-background-color: var(--cjg-green);
	--awb-overlay-background-color: var(--cjg-green);
	z-index: 10100;
}

#awb-oc-159 .awb-off-canvas {
	background: var(--cjg-green) !important;
	width: 100% !important;
	height: 100dvh !important;
	max-height: 100dvh;
	overflow-y: auto;
	border-radius: 0 !important;
}

#awb-oc-159 .awb-off-canvas-inner {
	align-items: stretch !important;
	justify-content: flex-start !important;
	padding: 0 !important;
	min-height: 100%;
}

#awb-oc-159 .off-canvas-close {
	position: absolute;
	top: 14px;
	right: 12px;
	width: 44px;
	height: 44px;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px !important;
	color: #ffffff !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	z-index: 2;
	cursor: pointer;
}

#awb-oc-159 .off-canvas-close:hover { color: var(--cjg-gold) !important; }

/* The Animated Burger plugin hides Avada's close button; this menu needs its own X. */
#awb-oc-159.ab-managed .off-canvas-close,
#awb-oc-159 .off-canvas-close {
	display: flex !important;
}

.cjg-oc.fusion-fullwidth {
	padding: 0 !important;
	background: transparent !important;
	width: 100%;
}

.cjg-oc > .fusion-builder-row,
.cjg-oc .fusion-layout-column {
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

.cjg-oc .cjg-oc__inner > .fusion-column-wrapper {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	padding: 14px 0 32px !important;
	margin: 0 !important;
	min-height: 100dvh;
}

.cjg-oc .cjg-oc__crest {
	margin: 0 0 16px !important;
	padding: 0 72px 0 24px;
	max-width: none !important;
}

.cjg-oc .cjg-oc__crest img {
	height: 40px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.cjg-oc .cjg-oc-menu {
	margin: 0 !important;
	width: 100%;
}

.cjg-oc .cjg-oc-menu .awb-menu__main-ul {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	margin: 0;
	padding: 0;
}

.cjg-oc .cjg-oc-menu .awb-menu__main-li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid rgba(244, 239, 230, 0.12);
	justify-content: flex-start !important;
}

.cjg-oc .cjg-oc-menu .awb-menu__main-a {
	flex: 1 1 auto;
	min-height: 52px;
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	padding: 0 24px !important;
	font-family: 'Cinzel', serif !important;
	font-size: 20px !important;
	font-weight: 400;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #ffffff !important;
	text-align: left;
}

.cjg-oc .cjg-oc-menu .awb-menu__main-a:hover,
.cjg-oc .cjg-oc-menu .current-menu-item > .awb-menu__main-a {
	color: var(--cjg-gold) !important;
}

/* Sub-menu toggle (Visitors, The Club): 52px tap target with a rotating chevron. */
.cjg-oc .cjg-oc-menu .awb-menu__open-nav-submenu_click {
	position: static !important;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border: 0;
	color: #ffffff !important;
	cursor: pointer;
	transform: none !important;
}

.cjg-oc .cjg-oc-menu .awb-menu__open-nav-submenu_click:after {
	content: none !important;
}

.cjg-oc .cjg-oc-menu .awb-menu__open-nav-submenu_click:before {
	content: '' !important;
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-3px) rotate(45deg) !important;
	transition: transform 200ms ease;
}

.cjg-oc .cjg-oc-menu .awb-menu__open-nav-submenu_click[aria-expanded="true"]:before {
	transform: translateY(3px) rotate(-135deg) !important;
}

.cjg-oc .cjg-oc-menu .awb-menu__sub-ul {
	position: static !important;
	flex: 0 0 100%;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	transform: none !important;
}

.cjg-oc .cjg-oc-menu .awb-menu__sub-li {
	border: 0 !important;
	width: 100%;
}

.cjg-oc .cjg-oc-menu .awb-menu__sub-a {
	min-height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	padding: 0 24px 0 40px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--cjg-cream) !important;
	background: transparent !important;
	text-align: left;
}

.cjg-oc .cjg-oc-menu .awb-menu__sub-a:hover,
.cjg-oc .cjg-oc-menu .current-menu-item > .awb-menu__sub-a {
	color: var(--cjg-gold) !important;
}

.cjg-oc .cjg-oc-phone {
	margin: 28px 0 0 !important;
	padding: 0 24px;
}

.cjg-oc .cjg-oc-phone p { margin: 0; }

.cjg-oc .cjg-oc-phone a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #ffffff !important;
	text-decoration: none;
}

.cjg-oc .cjg-oc-phone a:hover { color: var(--cjg-gold) !important; }

/* ---------- Homepage ---------- */

@media (max-width: 1023px) {
	.fusion-scroll-section-nav { display: none !important; }
}
