/* wth_cms_travelbjs.css -- Brand styles for CMS components */
/**
* [Table of Contents]
* Custom Properties (Variables)
* Global Styles
* Buttons
* Header
* Mega Menu
* Mobile Menu
* Footer
* Uncategorized
* Javascript Dependent Styles
* Brand-Specific Custom Styles
* Media Queries
*/

/**
* [Custom Properties (Variables)]
*/

/******************************************************************************/
/* https://www.color-hex.com/color-names.html */
:root {
	/* Brand Palette -- if updating, copy changes to desktop_{brand}.css */
	--brand-black: #000;
	--brand-dark-red: #a20b32;
	--brand-darkest-gray: #595959;
	--brand-light-gray: #d1d4d3;
	--brand-lightest-gray: #f1f1f1;
	--brand-red: #cc0033;
	--brand-white: #fff;

	/* Brand Fonts*/
	--brand-font-heading: "Roboto", sans-serif;
	--brand-font-heading-secondary: 'Helvetica Neue', Arial, sans-serif;
	--brand-font-body: "Roboto", sans-serif;
	--brand-font-weight-regular: 400;
	--brand-font-weight-medium: 500;
	--brand-font-weight-bold: 700;

	/* site setup  */
	--WTH-site-max-width: 1814px;
	--brand-content-max-width: 1280px;

	/* WTH-site-header padding set in wth_cms.css. added here for reference or to edit at the brand level */
	--WTH-site-header__content-container-padding-bottom: 0;
	--WTH-site-header__content-container-padding-left: 0;
	--WTH-site-header__content-container-padding-right: 0;
	--WTH-site-header__content-container-padding-top: 0;

	/* Brand Tokens */
	/* https://medium.com/eightshapes-llc/naming-tokens-in-design-systems-9e86c7444676 */
	/* naming convention: brand-element-variant-property-category-state */
	/* Button */
	--brand-button-background-color: var(--brand-red);
	--brand-button-border-color: var(--brand-red);
	--brand-button-border-radius: 5px;
	--brand-button-border-style: solid;
	--brand-button-border-width: 1px;
	--brand-button-box-shadow: none;
	--brand-button-text-color:var(--brand-white);
	--brand-button-font-family: var(--brand-font-body);
	--brand-button-font-size: 1rem;
	--brand-button-font-weight: var(--brand-font-weight-bold);
	--brand-button-padding-bottom: 0.55rem;
	--brand-button-padding-left: 2.5rem;
	--brand-button-padding-right: 2.5rem;
	--brand-button-padding-top: 0.55rem;
	--brand-button-text-transform: uppercase;
	--brand-button-animation-transition: none;

	/* Button: Hover/Focus */
	--brand-button-background-color-hover: var(--brand-dark-red);
	--brand-button-border-color-hover: var(--brand-dark-red);
	--brand-button-box-shadow-hover: none;
	--brand-button-text-color-hover: var(--brand-white);
	--brand-button-outline-hover: none;
	--brand-button-text-decoration-hover: none;

	/* Button: Active */
	--brand-button-background-color-active: var(--brand-red);
	--brand-button-text-color-active: var(--brand-white);
	--brand-button-text-decoration-active: none;
}

/******************************************************************************/

/**
* [Global Styles]
*/

/******************************************************************************/
header {}

header,
footer {}

header a.ui-link,
header a.ui-link:visited {}

/* reset link styles */
/******************************************************************************/

/**
* [Buttons]
*/

/******************************************************************************/
.wth4-mobile-menu-button {}

/*** Button attributes are located above in Brand Tokens section -- starting with line 41 ***/
.wth4-button,
.wth4-button:visited,
.ui-page-theme-a .wth4-button,
.ui-page-theme-a .wth4-button:visited,
a.wth4-button,
a.wth4-button:visited {}

/* button states */
.wth4-button:hover,
.wth4-button:focus,
.wth4-button:focus-visible,
.ui-page-theme-a .wth4-button:hover,
.ui-page-theme-a .wth4-button:focus,
.ui-page-theme-a .wth4-button:focus-visible,
a.wth4-button:hover,
a.wth4-button:focus,
a.wth4-button:focus-visible {}

.wth4-button:active,
.ui-page-theme-a .wth4-button:active,
a.wth4-button:active {}

/* button sizes */
.wth4-button--small,
.ui-page-theme-a .wth4-button--small,
a.wth4-button--small {}

/* transparent */
.wth4-button--transparent,
.wth4-button--transparent:active,
.wth4-button--transparent:focus,
.wth4-button--transparent:hover,
.wth4-button--transparent:visited,
.ui-page-theme-a .wth4-button--transparent,
.ui-page-theme-a .wth4-button--transparent:active,
.ui-page-theme-a .wth4-button--transparent:focus,
.ui-page-theme-a .wth4-button--transparent:hover,
.ui-page-theme-a .wth4-button--transparent:visited,
a.wth4-button--transparent,
a.wth4-button--transparent:active,
a.wth4-button--transparent:focus,
a.wth4-button--transparent:hover,
a.wth4-button--transparent:visited {
	/*
	this variable shouldn't be re-scoped and re-defined here, we have to address
	the scalability of brand styles for buttons. Also re-think if it makes sense for 
	generic buttons can/should be used in this context, or if it makes more sense to 
	have a specialized component for mobile menu buttons where this is mostly used.
	*/
	--brand-button-font-weight: var(--brand-font-weight-medium);
	--text-transform: capitalize;
	border-radius: 5px;
}

.wth4-mobile-menu__partner-insert .wth4-button--transparent,
.wth4-mobile-menu__partner-insert .wth4-button--transparent:active,
.wth4-mobile-menu__partner-insert .wth4-button--transparent:focus,
.wth4-mobile-menu__partner-insert .wth4-button--transparent:hover,
.wth4-mobile-menu__partner-insert .wth4-button--transparent:visited,
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent,
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:active,
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:focus,
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:hover,
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:visited,
.wth4-mobile-menu__partner-insert a.wth4-button--transparent,
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:active,
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:focus,
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:hover,
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:visited {
	box-sizing: content-box;
	font-size: 1.25rem;
	padding: 0.75rem 0.625rem;
	transform: translateX(-0.625rem);
	--brand-button-font-weight: var(--brand-font-weight-bold);
}

.wth4-mobile-menu__partner-insert .wth4-button--transparent[aria-current="page"],
.wth4-mobile-menu__partner-insert .wth4-button--transparent:active[aria-current="page"],
.wth4-mobile-menu__partner-insert .wth4-button--transparent:focus[aria-current="page"],
.wth4-mobile-menu__partner-insert .wth4-button--transparent:hover[aria-current="page"],
.wth4-mobile-menu__partner-insert .wth4-button--transparent:visited[aria-current="page"],
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent[aria-current="page"],
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:active[aria-current="page"],
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:focus[aria-current="page"],
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:hover[aria-current="page"],
.wth4-mobile-menu__partner-insert .ui-page-theme-a .wth4-button--transparent:visited[aria-current="page"],
.wth4-mobile-menu__partner-insert a.wth4-button--transparent[aria-current="page"],
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:active[aria-current="page"],
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:focus[aria-current="page"],
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:hover[aria-current="page"],
.wth4-mobile-menu__partner-insert a.wth4-button--transparent:visited[aria-current="page"] {
	background-color: var(--brand-red) !important;
	color: var(--brand-white);
}

.wth4-button--transparent:active,
.wth4-button--transparent:focus,
.wth4-button--transparent:hover,
.ui-page-theme-a .wth4-button--transparent:active,
.ui-page-theme-a .wth4-button--transparent:focus,
.ui-page-theme-a .wth4-button--transparent:hover,
a.wth4-button--transparent:active,
a.wth4-button--transparent:focus,
a.wth4-button--transparent:hover {}

/* icon button */
.wth4-button--icon,
.wth4-button--icon:visited,
.ui-page-theme-a .wth4-button--icon,
.ui-page-theme-a .wth4-button--icon:visited,
a.wth4-button--icon,
a.wth4-button--icon:visited {}

/* mini mobile icon button */
/* chained selectors are to beat styles set in wth_cms_{brand}.css */
.wth4-button.wth4-button--icon-mini,
.wth4-button.wth4-button--icon-mini:visited,
.ui-page-theme-a .wth4-button.wth4-button--icon-mini,
.ui-page-theme-a .wth4-button.wth4-button--icon-mini:visited,
a.wth4-button.wth4-button--icon-mini,
a.wth4-button.wth4-button--icon-mini:visited {}


/* header-nav */
.wth4-header-nav-button,
.wth4-header-nav-button:visited,
button.wth4-header-nav-button,
button.wth4-header-nav-button:visited {
	--border-color: transparent;
	--font-size: 1.25rem;
	--font-weight: var(--brand-font-weight-medium);
	--padding-bottom: calc(1.35rem - 4px);
	--padding-left: 0;
	--padding-right: 0;
	--padding-top: 1.35rem;
	--text-transform: capitalize;
	border-bottom-width: 4px;
	margin-left: 1.25rem;
	margin-right: 1.25rem;
	text-decoration: none;
}

.wth4-header-nav-button:hover,
button.wth4-header-nav-button:hover {
	--background: transparent;
	--border-color: transparent;
	border-bottom-color: var(--brand-red);
}

.wth4-header-nav-button:focus,
button.wth4-header-nav-button:focus {
	--background: transparent;
	--border-color: transparent;
	border-bottom-color: transparent;
}

.wth4-header-nav-button:focus-visible,
button.wth4-header-nav-button:focus-visible {
	--background: transparent;
	--border-color: transparent;
	/* important to override important set in wth_cms.css */
	outline: 2px dotted var(--brand-black) !important;
	/* important to override important set in wth_cms.css */
	outline-offset: 2px !important;
}

.js-button-top-nav--active,
.js-button-top-nav--active:focus,
.js-button-top-nav--active:hover,
button.js-button-top-nav--active,
button.js-button-top-nav--active:focus,
button.js-button-top-nav--active:hover,
.wth4-header-nav-button:active,
button.wth4-header-nav-button:active {
	--background: transparent;
	--border-color: transparent;
	border-bottom-color: var(--brand-red);
	outline: none !important;
}

/* full-width */
.wth4-button--full-width-flex,
.ui-page-theme-a .wth4-button--full-width-flex,
a.wth4-button--full-width-flex {}

/******************************************************************************/

/**
* [Header]
*/

/******************************************************************************/
/* IMPORTANT: position of the mobile menu is based on the size
and position of the header element. Any changes to margin, padding,
etc. of the header element will affect the position mobile menu.
Be sure to test the mobile menu on all screen sizes after making changes.
*/
.wth4-site-header {}

.wth4-site-banner {
	--background-color: var(--brand-red);
	--color: var(--brand-white);
	--fonr-weight: var(--brand-font-weight-bold);
	--font-size: 1.5rem;
	--margin-bottom: 0;
}

.wth4-site-banner__link-container {
	--padding-bottom: 0.55rem;
	--padding-top: 0.55rem;
	align-items: center;
	display: flex;
	justify-content: center;
}

.wth4-site-banner__link,
a.wth4-site-banner__link,
.ui-page-theme-a a.wth4-site-banner__link,
.wth4-site-banner__link:visited,
a.wth4-site-banner__link:visited,
.ui-page-theme-a a.wth4-site-banner__link:visited {
	--font-size: clamp(0.875rem, 0.641vi + 0.731rem, 1.5rem);
	display: inline-block;
}

.wth4-site-banner__countdown-container {}

.wth4-site-banner__countdown-text {}

.wth4-site-banner__countdown {}

/* .timer-unit-label doesn't fit naming convention because it targets an element in timer-promo.js */
.wth4-site-banner__countdown .timer-unit-label {}

.wth4-site-header__desktop-utility-links-container {}

/* used for mobile header */
.wth4-site-header__mobile-utility-links-container,
.wth4-utility-links-container {}

.wth4-utility-links-container__link,
a.wth4-utility-links-container__link,
.ui-page-theme-a .wth4-utility-links-container__link,
.wth4-utility-links-container__link:visited,
a.wth4-utility-links-container__link:visited,
.ui-page-theme-a .wth4-utility-links-container__link:visited {}

.wth4-utility-links-container__link:hover,
a.wth4-utility-links-container__link:hover,
.ui-page-theme-a .wth4-utility-links-container__link:hover {}

.wth4-utility-links-container__link:active,
a.wth4-utility-links-container__link:active,
.ui-page-theme-a .wth4-utility-links-container__link:active {}

.ui-page-theme-a .wth4-utility-links-container__link--partner-home,
.ui-page-theme-a .wth4-utility-links-container__link--partner-home:visited,
.wth4-utility-links-container__link--partner-home,
.wth4-utility-links-container__link--partner-home:visited,
a.wth4-utility-links-container__link--partner-home,
a.wth4-utility-links-container__link--partner-home:visited {
	--font-weight: bold;
}

.ui-page-theme-a .wth4-utility-links-container__link--partner-home:focus-visible,
.ui-page-theme-a .wth4-utility-links-container__link--partner-home:focus,
.ui-page-theme-a .wth4-utility-links-container__link--partner-home:hover,
.wth4-utility-links-container__link--partner-home:focus-visible,
.wth4-utility-links-container__link--partner-home:focus,
.wth4-utility-links-container__link--partner-home:hover,
a.wth4-utility-links-container__link--partner-home:focus-visible,
a.wth4-utility-links-container__link--partner-home:focus,
a.wth4-utility-links-container__link--partner-home:hover {
	--text-decoration: underline;
}

.ui-page-theme-a .wth4-utility-links-container__link--partner-home:active,
.wth4-utility-links-container__link--partner-home:active,
a.wth4-utility-links-container__link--partner-home:active {}

.wth4-utility-links-container__button-container {}

.wth4-site-header__partner-container {}

.wth4-site-header__partner-container-link-list {}

.wth4-site-header__partner-container-link,
.ui-page-theme-a .wth4-site-header__partner-container-link,
.wth4-site-header__partner-container-link:visited,
.ui-page-theme-a .wth4-site-header__partner-container-link:visited {}

.wth4-site-header__partner-container-link:hover,
.ui-page-theme-a .wth4-site-header__partner-container-link:hover {}

.wth4-site-header__partner-container-link:focus,
.ui-page-theme-a .wth4-site-header__partner-container-link:focus,
.wth4-site-header__partner-container-link:focus-visible,
.ui-page-theme-a .wth4-site-header__partner-container-link:focus-visible {}

.wth4-site-header__content-container {
	max-width: none;
}

#site-booking-header .wth4-site-header__content-container {
	max-width: var(--brand-content-max-width);
	position: relative;
}

.wth4-site-header__desktop-content-container {}

.wth4-site-header__desktop-nav-container {
	--background-color: var(--brand-lightest-gray);
}

.wth4-site-header__mobile-content-container {
	gap: 0.75rem;
	justify-content: start;
	padding: 0.75rem;
}

.wth4-site-header__mobile-partner-home-link-container {
	--border-color: var(--brand-lightest-gray);
	--padding-bottom: 0.3rem;
	--padding-top: 0.3rem;
	background-color: var(--brand-lightest-gray);
	font-size: 0.875rem;
	font-weight: var(--brand-font-weight-bold);
}

.wth4-site-header__mobile-partner-home-link,
a.wth4-site-header__mobile-partner-home-link,
.ui-page-theme-a a.wth4-site-header__mobile-partner-home-link,
.wth4-site-header__mobile-partner-home-link:visited,
a.wth4-site-header__mobile-partner-home-link:visited,
.ui-page-theme-a a.wth4-site-header__mobile-partner-home-link:visited {}

.wth4-site-header__booking-header-content-container {
	--padding-bottom: 1.875rem;
	--padding-top: 1.875rem;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--brand-content-max-width);
	padding-left: 1rem;
	padding-right: 1rem;
}

.wth4-site-header__booking-header-link-list-container {}

/* Where the site logo and booking engine header home link are siblings */
.wth4-site-header__logo+.wth4-site-header__booking-header-link-list-container {}

.wth4-site-header__booking-header-logo-container {}

.wth4-site-header__logo {}

.wth4-site-header__logo-link {}

.wth4-site-header__logo-image {
	--max-width: 220px;
	display: block;
	width: clamp(126px, calc(94.667px + 9.792vw), 220px);
}

/* nudge the logo up 10px when it's next to the global nav to align text baselines */
.wth4-site-header__logo:has(~ .BJWEB-custom-global-nav__list-container) {
	transform: translateY(-10px);
}

.wth4-site-header__phone-container {}

.wth4-site-header__phone-container--label-after {}

.wth4-site-header__phone-icon {}

.ui-page-theme-a .wth4-site-header__phone-link,
.wth4-site-header__phone-link,
a.wth4-site-header__phone-link {
	--font-weight: 800;
}

.wth4-site-header__phone-label {
	font-weight: 800;
}

.wth4-site-header__phone-link:hover,
.wth4-site-header__phone-link:focus,
.wth4-site-header__phone-link:focus-visible,
.ui-page-theme-a .wth4-site-header__phone-link:hover,
.ui-page-theme-a .wth4-site-header__phone-link:focus,
.ui-page-theme-a .wth4-site-header__phone-link:focus-visible,
a.wth4-site-header__phone-link:hover,
a.wth4-site-header__phone-link:focus,
a.wth4-site-header__phone-link:focus-visible {}

.wth4-site-header__phone-link:active,
.ui-page-theme-a .wth4-site-header__phone-link:active,
a.wth4-site-header__phone-link:active {}

.wth4-site-header__phone-label {}

.wth4-site-header__list,
.wth4-mobile-menu__list {}

.wth4-mobile-menu__partner-insert + .wth4-mobile-menu__list {
	margin-top: 2rem;
}

/******************************************************************************/

/**
* [Mega Menu]
*/

/******************************************************************************/
/* There's two nested elements with class .wth4-mega-menu. This is incorrect and needs to be fixed.
Until it's fixed, we'll differentiate with the element selector (div vs. nav) */
div.wth4-mega-menu {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--WTH-site-max-width);
	padding-left: 3.25rem;
	padding-right: 3.25rem;
	width: 100%;
}

nav.wth4-mega-menu {
	display:flex;
	margin-left: 30px;
}

/* This creates a pseudo-element that shrinks/grows identically to the site logo 
to allow the mega menu to be horizontally aligned with the global nav. */
.wth4-site-header__desktop-nav-container[style*="visibility: visible"] nav.wth4-mega-menu::before {
	background: transparent;
	content: "";
	display: block;
	display: block;
	height: 10px;
	max-width: 220px;
	width: clamp(126px, calc(94.667px + 9.792vw), 220px);
}

.wth4-mega-menu-list-container {
	padding-bottom: 1.75rem;
	padding-left: 1.25rem;
	padding-right: 2.5rem;
}

/*
This element houses the entire contents of the mega menu.
The direct children are the <li> elements that contain the top-level nav buttons.
Becareful when adding styles that may propage to other ancestor elements.
*/
.wth4-mega-menu__list {}

/* this element is the link list within the mega menu content panels */
.wth4-mega-menu__link-list {
	margin-top: 0.2rem;
}

.wth4-mega-menu-link,
a.wth4-mega-menu-link {
	--font-size: 0.875rem;
	--text-transform: capitalize;
	padding: 0.175rem 0;
}

.wth4-mega-menu-link:hover,
a.wth4-mega-menu-link:hover,
.wth4-mega-menu-link:focus,
a.wth4-mega-menu-link:focus {
	--opacity: 1;
	--text-decoration: underline;
}

.wth4-mega-menu__content-panel {
	--border-bottom-left-radius: 5px;
	--border-bottom-right-radius: 5px;
}

.wth4-mega-menu__marketing-placement {
	--background-color: var(--brand-lightest-gray);
	--border-radius: 5px;
	--color: var(--brand-black);
	--font-family: var(--brand-font-heading);
	--font-size: clamp(1rem, 2.5vw, 1.5rem);
	--font-weight: var(--brand-font-weight-medium);
	--padding-bottom: 1.4rem;
	--padding-left: 1rem;
	--padding-right: 1rem;
	--padding-top: 1.4rem;
}

:where(.wth4-mobile-menu__slider) .wth4-mega-menu__marketing-placement {}

.wth4-mega-menu__marketing-placement-button-container {}

.wth4-mega-menu__category-heading {
	--font-size: 1.125rem;
	--font-weight: var(--brand-font-weight-bold);
	--text-transform: capitalize;
	font-style: italic;
	margin-bottom: 0.125rem;
}

.wth4-mega-menu__button-container {}

.wth4-mega-menu-top-level-nav-button {}

/******************************************************************************/

/**
* [Mobile Menu]
*/

/******************************************************************************/
.wth4-mobile-menu {
	--border-top: 1px solid var(--brand-red);
}

.wth4-mobile-menu__content-container {}

.wth4-mobile-menu__category-heading {
	--font-size: 1.125rem;
	--font-weight: var(--brand-font-weight-bold);
	--text-transform: capitalize;
}

.wth4-mobile-menu__slider {}

.wth4-mobile-menu__back-button-panel {
	border-bottom: 1px solid var(--brand-red);
}

.wth4-mobile-menu__back-button-container {}

/******************************************************************************/

/**
* [Footer]
*/

/******************************************************************************/
/* Outer footer container */
.wth-footer-dotcms {}

/* Inner footer container */
.wth4-site-footer {
	--background-color: var(--brand-light-gray);
	--font-family: var(--brand-font-body);
	padding-bottom: 3rem;
}

.wth4-site-footer--booking-footer {}

.wth4-site-footer__partner-container {}

.wth4-site-footer__main-content-container {}

.wth4-site-footer__main-content {
	--max-width: var(--brand-content-max-width);
	--padding-bottom: 0;
	--padding-left: 4.5rem;
	--padding-right: 4.5rem;
	--padding-top: 1rem;
}

/* See stack layout pattern */
.wth4-site-footer__link-group>*+* {
	--margin-top: 1.25rem;
}

/* See stack layout pattern */
.wth4-site-footer__list>*+* {
	--margin-top: 1rem;
}

.wth4-site-footer__heading {}

.wth4-site-footer__partner-content {}

.wth4-site-footer__legal-copy {
	--WTH-reflex-grid-spacing: 0;
	color: var(--brand-black);
	font-size: 0.875rem;
}

.wth4-site-footer__list--inline {}

.wth4-site-footer__link-group-container,
.wth4-site-footer__link-groups-container {
	margin-top: 1.5rem;
}

.wth4-site-footer__link-groups-container--primary {}

.wth4-site-footer__link-groups-container--secondary {}

.wth4-site-footer__email-signup {}

.wth4-site-footer__list-heading {
	--font-family: var(--brand-font-heading);
	--font-size: 1.125rem;
	--font-weight: var(--brand-font-weight-bold);
	--text-transform: capitalize;
}

.wth4-site-footer__icon-group {}

.wth4-site-footer__email-signup {}

.wth4-site-footer__email-signup-heading {}

.wth4-site-footer__email-signup-copy {}

.wth4-site-footer__email-signup-link,
.wth4-site-footer__email-signup-link:visited,
a.wth4-site-footer__email-signup-link,
a.wth4-site-footer__email-signup-link:visited {}

.wth4-site-footer__email-signup-link:focus,
.wth4-site-footer__email-signup-link:hover,
a.wth4-site-footer__email-signup-link:focus,
a.wth4-site-footer__email-signup-link:hover {}

.wth4-site-footer__icon-group-link,
a.wth4-site-footer__icon-group-link,
.wth4-site-footer__icon-group-link:visited,
a.wth4-site-footer__icon-group-link:visited {}

.wth4-site-footer__icon-group-link:hover,
a.wth4-site-footer__icon-group-link:hover,
.wth4-site-footer__icon-group-link:focus,
a.wth4-site-footer__icon-group-link:focus {}

.wth4-site-footer__icon-group-link:active,
a.wth4-site-footer__icon-group-link:active {}

.wth4-site-footer__link,
a.wth4-site-footer__link,
.wth4-site-footer__link:visited,
a.wth4-site-footer__link:visited {}

.wth4-site-footer__link:hover,
a.wth4-site-footer__link:hover,
.wth4-site-footer__link:focus,
a.wth4-site-footer__link:focus {}

.wth4-site-footer__link:active,
a.wth4-site-footer__link:active {}

.wth4-site-footer__logo-container {
	justify-self: start;
	margin-bottom: 1.5rem;
	margin-right: 1.5rem;
}

.wth4-site-footer__logo-container-copy {}

.wth4-site-footer__logo-image {
	display: block;
	max-width: 221px;
}

.wth4-site-footer__feature-container {}

.wth4-site-footer__feature {}

.wth4-site-footer__feature-heading {}

.wth4-site-footer__feature-icon-list {}

.wth4-site-footer__feature-icon-list-item {}

.wth4-site-footer__feature-copy {}

.wth4-site-footer__feature-link,
a.wth4-site-footer__feature-link,
.ui-page-theme-a .wth4-site-footer__feature-link,
.wth4-site-footer__feature-link:visited,
a.wth4-site-footer__feature-link:visited,
.ui-page-theme-a .wth4-site-footer__feature-link:visited {}

.wth4-site-footer__feature-image {}

.wth4-site-footer__phone-container {}

.wth4-site-footer__phone-link,
.wth4-site-footer__phone-link:visited,
.ui-page-theme-a .wth4-site-footer__phone-link,
.ui-page-theme-a .wwth4-site-footer__phone-link:visited,
a.wth4-site-footer__phone-link,
a.wth4-site-footer__phone-link {}

.wth4-site-footer__phone-link:hover,
.wth4-site-footer__phone-link:focus,
.wth4-site-footer__phone-link:focus-visible,
.ui-page-theme-a .wth4-site-footer__phone-link:hover,
.ui-page-theme-a .wth4-site-footer__phone-link:focus,
.ui-page-theme-a .wth4-site-footer__phone-link:focus-visible,
a.wth4-site-footer__phone-link:hover,
a.wth4-site-footer__phone-link:focus,
a.wth4-site-footer__phone-link:focus-visible {}

.wth4-site-footer__phone-link:active,
.ui-page-theme-a .wth4-site-footer__phone-link:active,
a.wth4-site-footer__phone-link:active {}


/******************************************************************************/

/**
* [Uncategorized]
*/

/******************************************************************************/
.wth4-divider {
	--border-color: var(--brand-red);
}

.wth4-vertical-divider {}

.wth4-svg-icon {}

.wth4-img-icon {}

.wth4-icon-link-container {}

/* targets the icon link container that contains the partner home link
to place the icon after the link */
.wth4-icon-link-container:has(.wth4-utility-links-container__link--partner-home),
.wth4-icon-link-container:has(.wth4-site-header__mobile-partner-home-link) {
	flex-direction: row-reverse;
	gap: 2px
}

/******************************************************************************/

/**
* [Javascript Dependent Styles]
*/

/******************************************************************************/

.js-mobile-menu {}

.js-mobile-menu--open {}

.js-slider {}

.js-slider--open {}

.js-slider--closed {}

.js-mobile-menu__back-button-panel {}

.js-mobile-menu__back-button-panel--open {}

.js-mega-menu__content-panel {}

.js-mega-menu__content-panel--open {}

/******************************************************************************/
/* Brand-Specific Custom Styles */

/******************************************************************************/
#site-header__main {
	visibility: hidden;
}

.BJWEB-custom-global-nav {
	display: flex;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--WTH-site-max-width);
	padding-bottom: 1.875rem;
	padding-left: 3.25rem;
	padding-right: 3.25rem;
	padding-top: 1.875rem;
}

.BJWEB-custom-global-nav__list-container {
	align-self: end;
	margin-left: 50px;
}

.BJWEB-custom-global-nav li {
	display: inline;
}

a.BJWEB-custom-global-nav__link,
.BJWEB-custom-global-nav__link {
	border-radius: 2px;
	color: var(--brand-black);
	display: inline-block;
	font-size: 1.25rem;
	font-weight: var(--brand-font-weight-bold);
	outline: none !important;
	padding-bottom: 1rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1rem;
}

.BJWEB-custom-global-nav__link[aria-current="page"],
a.BJWEB-custom-global-nav__link:hover,
a.BJWEB-custom-global-nav__link[aria-current="page"] {
	background-color: var(--brand-red);
	color: var(--brand-white);
	text-decoration: none;
}

.BJWEB-custom-global-nav__link:focus-visible,
a.BJWEB-custom-global-nav__link:focus-visible {
	outline-offset: 2px;
	/* important to override important set in wth_c.css */
	outline: 2px dotted var(--brand-red) !important;
}

.BJWEB-custom-mobile-phone-container .wth4-button--transparent,
.BJWEB-custom-mobile-phone-container .wth4-button--transparent:active,
.BJWEB-custom-mobile-phone-container .wth4-button--transparent:focus,
.BJWEB-custom-mobile-phone-container .wth4-button--transparent:hover,
.BJWEB-custom-mobile-phone-container .wth4-button--transparent:visited,
.BJWEB-custom-mobile-phone-container .ui-page-theme-a .wth4-button--transparent,
.BJWEB-custom-mobile-phone-container .ui-page-theme-a .wth4-button--transparent:active,
.BJWEB-custom-mobile-phone-container .ui-page-theme-a .wth4-button--transparent:focus,
.BJWEB-custom-mobile-phone-container .ui-page-theme-a .wth4-button--transparent:hover,
.BJWEB-custom-mobile-phone-container .ui-page-theme-a .wth4-button--transparent:visited,
.BJWEB-custom-mobile-phone-container a.wth4-button--transparent, a.wth4-button--transparent:active,
.BJWEB-custom-mobile-phone-container a.wth4-button--transparent:focus, a.wth4-button--transparent:hover,
.BJWEB-custom-mobile-phone-container a.wth4-button--transparent:visited {
	--color: var(--brand-red);
}

.bjweb-booking-business-hours {
	padding-right: 1rem;
	position: absolute;
	right: 0;
	top: 62px;
}

/******************************************************************************/
/* Media Queries */

/******************************************************************************/
@media (min-width: 576px) {}

@media (min-width: 768px) {

	.wth4-site-footer {
		padding-bottom: 1rem;
	}
	
	.wth4-site-footer__main-content {
		--grid-template-columns: repeat(3, 1fr);
	}

	.wth4-site-footer__main-content .wth4-grid {
        --WTH-reflex-columns: 6;
	}

	.wth4-site-footer__link-group>*+* {
		--margin-top: 1.5rem;
	}

	.wth4-site-footer__legal-copy {
		margin-top: 1rem;
	}
	
	.wth4-site-footer__logo-container {
		margin-bottom: 5rem;
	}

	.wth4-site-footer__logo-image {
		transform: translate(0, -10px);
	}

	.bjweb-booking-business-hours {
		top: 67px;
	}

}

@media (min-width: 992px) {

	.wth4-site-footer__main-content .wth4-grid {
        --WTH-reflex-columns: 8;
	}

	.wth4-site-banner__link-container {
	--padding-bottom: 0.55rem;
	--padding-top: 0.9rem;
	}

	.bjweb-booking-business-hours {
		top: 70px;
	}

}

@media (min-width: 1200px) {

	.wth4-mega-menu__content-panel {
		--left: 50%;
		--transform: translateX(-50%);
	}

	.wth4-site-footer__main-content .wth4-grid {
        --WTH-reflex-columns: 10;
	}

	.bjweb-booking-business-hours {
		top: 75px;
	}

}

@media (min-width: 1600px) {
	.wth4-mega-menu__content-panel {
		--left: calc(var(--mega-menu-left-offset) + 320px);
		--transform: none;
	}
}