p.gform_description {
	margin:30px 0;
}
.location-card {
	box-shadow: 0 4px 14px rgba(0,0,0,0.05);
    }

.location-image {
    height: 250px!important;
    object-fit: cover;
    object-position: center;}

.location-content h3 {
	margin: 0 0 8px;
    color: #292923;
    font-size: 23px!important;
    font-weight: 400;
    line-height: 1.2;}

.location-content p {
	color: #68685f;
    font-size: 16px;
    line-height: 1.5;
            }
hr {
  border: none;
  height: 1px;
  background-color: #ccc;
}


h4 {font-family: "schoolbook-web", sans-serif;
font-weight: 700;
	font-style: italic;}


h6 {font-family: p22-typewriter, sans-serif;
font-weight: 400;
	font-style: normal;}

.iwt-icon img {
	width:28px !important;

}

.q-testimonial h3 {
    margin: 0 0 42px 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: none !important;

    font-family: Cormorant Garamond, "Times New Roman", serif;
    font-size: 22px !important;
    font-weight: 400;
    font-style: italic;
    line-height: 1.5;
}
.q-testimonial p {
    color: #292923;
    font-weight: 600;
    line-height: 1;
	padding-bottom:10px!important;
	text-transform:none
}
.q-testimonial h5 {
    margin: 0 !important;
    color: #6d6a60;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    text-transform: uppercase;
}
.footer-links,
.footer-links a {
	color: #faf6f1
}

/**FOOTER MENUS**/
ul#menu-locations,
ul#menu-family,
ul#menu-visit {
	margin-left:0px !important;
	margin-top:15px
}
#menu-locations li,
#menu-family li,
#menu-visit li {
 list-style: none;
 padding-bottom: 10px;
 font-size: 15px;
 line-height: 18px;
    }

.iwithtext {
	margin-bottom:0!important
}
.iwithtext .iwt-icon img {
	width:22px!important;
	height:22px;
}
.iwithtext .iwt-text {
    padding-left: 36px;
	font-size:17px
}
/* ========================================
   QUEENSTOWN SIGNUP
   ======================================== */

.queenstown-signup {
    display: block !important;

    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 8px 10px !important;

    background: #fff !important;
    border-radius: 18px !important;
}


/* ========================================
   GRAVITY FORMS BODY
   ======================================== */

.queenstown-signup .gform-body {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}


/* ========================================
   FIELDS ROW
   ======================================== */

.queenstown-signup .gform_fields {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}


/* ========================================
   EMAIL FIELD
   ======================================== */

.queenstown-signup .gfield:has(input[type="email"]) {
    flex: 1 1 0 !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Hide label */
.queenstown-signup .gfield_label {
    display: none !important;
}


/* Email input */
.queenstown-signup input[type="email"] {
    display: block !important;

    width: 100% !important;
    height: 50px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    background: #fff !important;

    border: 2px solid #e3ddcf !important;
    border-radius: 10px !important;

    color: #333 !important;

    font-size: 17px !important;
    font-weight: 400 !important;

    box-shadow: none !important;
    outline: none !important;
}


/* Placeholder */
.queenstown-signup input[type="email"]::placeholder {
    color: #7d7d7d !important;
    opacity: 1 !important;
}


/* Email focus */
.queenstown-signup input[type="email"]:focus {
    border-color: #cdb582 !important;
}


/* ========================================
   SUBMIT FIELD
   ======================================== */

.queenstown-signup .gfield--type-submit {
    flex: 0 0 155px !important;

    width: 155px !important;
    max-width: 155px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ========================================
   SUBMIT BUTTON
   ======================================== */

.queenstown-signup .gfield--type-submit input,
.queenstown-signup .gfield--type-submit button,
.queenstown-signup input.gform_button,
.queenstown-signup button.gform_button {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: block !important;

    width: 155px !important;
    min-width: 155px !important;
    height: 58px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    background: #cdb582 !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 30px !important;

    color: #242424 !important;

    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;

    box-shadow: none !important;
    text-shadow: none !important;

    cursor: pointer !important;
}


/* Button hover */
.queenstown-signup .gfield--type-submit input:hover,
.queenstown-signup .gfield--type-submit button:hover,
.queenstown-signup input.gform_button:hover,
.queenstown-signup button.gform_button:hover {
    background: #bea46f !important;
    color: #242424 !important;
}


/* Remove any theme-generated button effects */
.queenstown-signup .gfield--type-submit::before,
.queenstown-signup .gfield--type-submit::after {
    display: none !important;
    content: none !important;
}

.queenstown-signup .gform-footer.gform_footer.top_label {
	display:none
}
/* ========================================
   MOBILE
   ======================================== */

@media (max-width: 767px) {

    .queenstown-signup {
        width: 100% !important;
        max-width: none !important;

        padding: 10px !important;
        border-radius: 16px !important;
    }

    .queenstown-signup .gform_fields {
        display: block !important;
    }

    .queenstown-signup input[type="email"] {
        height: 52px !important;
        padding: 0 18px !important;

        font-size: 17px !important;
    }

    .queenstown-signup .gfield--type-submit {
        width: 100% !important;
        max-width: none !important;

        margin-top: 10px !important;
    }

    .queenstown-signup .gfield--type-submit input,
    .queenstown-signup .gfield--type-submit button,
    .queenstown-signup input.gform_button,
    .queenstown-signup button.gform_button {
        width: 100% !important;
        min-width: 0 !important;
        height: 56px !important;

        border-radius: 28px !important;

        font-size: 18px !important;
    }
}
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {border:1px solid #ccc}

/* ========================================
   QUEENSTOWN LOCATIONS
   ======================================== */

.qt-locations-section {
    width: 100%;
    padding: 42px 36px 52px;
    background: transparent;
}


/* ========================================
   MAIN LAYOUT
   ======================================== */

.qt-locations {
    width: 100%;
    max-width: 1760px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(380px, 680px) minmax(560px, 1fr);
    gap: 56px;

    align-items: stretch;
}


/* ========================================
   LEFT LOCATION TABS
   ======================================== */

.qt-location-tabs {
    display: flex;
    flex-direction: column;
    gap: 16px;
}


.qt-location-tab {
    appearance: none;
    -webkit-appearance: none;

    width: 100%;
    min-height: 102px;

    margin: 0;
    padding: 20px 28px;

    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 25px;
    gap: 18px;

    align-items: center;

    background: transparent;

    border: 2px solid rgba(220, 218, 198, 0.22);
    border-radius: 12px;

    color: #f4f0e7;
    text-align: left;

    cursor: pointer;

    transition:
        border-color 0.25s ease,
        background-color 0.25s ease;
}


/* Active tab */
.qt-location-tab.active {
    background: rgba(217, 197, 130, 0.07);
    border-color: #d9c582;
}


/* Active hover */
.qt-location-tab.active:hover {
    background: rgba(217, 197, 130, 0.10);
    border-color: #d9c582;
}


/* Inactive hover */
.qt-location-tab:not(.active):hover {
    background: rgba(255, 255, 255, 0.025);
    border-color: rgba(226, 205, 141, 0.7);
}


/* ========================================
   TAB PIN ICON
   ======================================== */

.qt-location-pin {
    width: 22px;
    height: 22px;

    color: rgba(240, 238, 226, 0.64);
}


.qt-location-pin svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.qt-location-tab.active .qt-location-pin {
    color: #d9c582;
}


/* ========================================
   TAB TEXT
   ======================================== */

.qt-location-info {
    display: flex;
    flex-direction: column;
    gap: 3px;

    min-width: 0;
}


.qt-location-info strong {
    color: #f7f3eb;

    font-size: 21px;
    line-height: 1.25;
    font-weight: 600;
}


.qt-location-info > span {
    color: rgba(240, 240, 232, 0.68);

    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;
}


/* ========================================
   TAB ARROW
   ======================================== */

.qt-location-arrow {
    width: 21px;
    height: 21px;

    justify-self: end;

    color: #d9c582;

    opacity: 0;
    transform: translateX(-5px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


.qt-location-arrow svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.qt-location-tab.active .qt-location-arrow {
    opacity: 1;
    transform: translateX(0);
}


/* ========================================
   RIGHT MAP PANEL
   ======================================== */

.qt-location-display {
    position: relative;

    min-height: 470px;

    overflow: hidden;

    background: #7b8545;

    border-radius: 20px;

    box-shadow:
        0 18px 36px rgba(17, 35, 36, 0.14);
}


.qt-location-panel {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}


.qt-location-panel.active {
    opacity: 1;
    visibility: visible;
}


/* ========================================
   FAUX MAP GRID
   ======================================== */

.qt-map-grid {
    position: absolute;
    inset: 0;

    opacity: 0.15;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.22) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.22) 1px,
            transparent 1px
        );

    background-size: 58px 58px;
}


/* ========================================
   CENTER CONTENT
   ======================================== */

.qt-location-content {
    position: relative;
    z-index: 2;

    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 32px;

    text-align: center;
}


/* Large map pin */
.qt-map-pin {
    width: 70px;
    height: 70px;

    margin-bottom: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #dfcd96;

    border-radius: 50%;

    color: #30464b;
}


.qt-map-pin svg {
    width: 32px;
    height: 32px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Location title */
.qt-location-content h2 {
    margin: 0 0 6px !important;

    color: #f8f2e8;

    font-size: clamp(31px, 2vw, 39px);
    line-height: 1.1;
    font-weight: 400;
}


/* Address */
.qt-location-address {
    margin-top: 4px;

    color: rgba(249, 242, 220, 0.9);

    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;

    letter-spacing: 4px;
}


/* ========================================
   ACTIONS
   ======================================== */

.qt-location-actions {
    margin-top: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 32px;
}


/* Get Directions */
.qt-direction-button {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 0 23px;

    background: #cfb674;

    border-radius: 26px;

    color: #292b27 !important;

    font-size: 16px;
    font-weight: 600;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}


.qt-direction-button:hover {
    background: #ddc88d;
    transform: translateY(-1px);
}


.qt-direction-button svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* View Location */
.qt-location-link {
    min-height: 37px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    background: transparent;

    border: 0 !important;
    border-radius: 22px;

    color: #292b27 !important;

    font-size: 16px;
    font-weight: 600;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.qt-location-link:hover {
    background: #f4f0e7;

    color: #292b27 !important;

    border: 0 !important;

    transform: translateY(-1px);
}


/* ========================================
   MAP LABEL
   ======================================== */

.qt-map-label {
    position: absolute;

    right: 26px;
    bottom: 18px;

    z-index: 4;

    color: rgba(248, 239, 210, 0.66);

    font-family: monospace;

    font-size: 14px;
    line-height: 1;

    letter-spacing: 3px;

    pointer-events: none;
}


/* ========================================
   DESKTOP REFINEMENTS
   ======================================== */

@media only screen and (min-width: 1000px) {

    .qt-locations-section {
        padding: 38px 20px 48px;
    }


    .qt-locations {
        max-width: 1500px;

        grid-template-columns:
            minmax(330px, 38%)
            minmax(500px, 62%);

        gap: 24px;
    }


    /* Tabs */
    .qt-location-tabs {
        gap: 10px;
    }


    .qt-location-tab {
        min-height: 76px;

        padding: 13px 18px;

        grid-template-columns:
            18px
            minmax(0, 1fr)
            18px;

        gap: 12px;

        border-radius: 10px;
    }


    .qt-location-pin {
        width: 17px;
        height: 17px;
    }


    .qt-location-info {
        gap: 1px;
    }


    .qt-location-info strong {
        font-size: 16px;
        line-height: 1.25;

        white-space: nowrap;
    }


    .qt-location-info > span {
        font-size: 13px;
        line-height: 1.35;

        white-space: nowrap;
    }


    .qt-location-arrow {
        width: 17px;
        height: 17px;
    }


    /* Map */
    .qt-location-display {
        min-height: 350px;
        border-radius: 17px;
    }


    .qt-location-content {
        padding: 24px;
    }


    .qt-map-pin {
        width: 52px;
        height: 52px;

        margin-bottom: 13px;
    }


    .qt-map-pin svg {
        width: 24px;
        height: 24px;
    }


    .qt-location-content h2 {
        margin-bottom: 4px !important;

        font-size: 27px;
        line-height: 1.05;
    }


    .qt-location-address {
        margin-top: 2px;

        font-size: 11px;

        letter-spacing: 3.5px;
    }


    /* Buttons */
    .qt-location-actions {
        margin-top: 22px;

        gap: 28px;
    }


    .qt-direction-button {
        min-height: 37px;

        padding: 0 18px;

        gap: 8px;

        border-radius: 22px;

        font-size: 13px;
    }


    .qt-direction-button svg {
        width: 16px;
        height: 16px;
    }


    .qt-location-link {
        min-height: 37px;

        padding: 0 18px;

        font-size: 13px;
    }


    /* Map label */
    .qt-map-label {
        right: 18px;
        bottom: 13px;

        font-size: 10px;

        letter-spacing: 2px;
    }


    .qt-map-grid {
        background-size: 48px 48px;
    }

}


/* ========================================
   TABLET
   ======================================== */

@media only screen and (min-width: 768px) and (max-width: 999px) {

    .qt-locations-section {
        padding: 38px 28px 46px;
    }


    .qt-locations {
        grid-template-columns: minmax(320px, 0.85fr) 1.15fr;
        gap: 32px;
    }


    .qt-location-tab {
        min-height: 92px;

        padding: 17px 21px;

        grid-template-columns: 22px minmax(0, 1fr) 22px;

        gap: 13px;
    }


    .qt-location-info strong {
        font-size: 18px;
    }


    .qt-location-info > span {
        font-size: 15px;
    }


    .qt-location-display {
        min-height: 430px;
    }

}


/* ========================================
   MOBILE
   ======================================== */

@media only screen and (max-width: 767px) {

    .qt-locations-section {
        padding: 26px 18px 34px;
    }


    .qt-locations {
        display: flex;
        flex-direction: column;

        gap: 22px;
    }


    /* Horizontally scrollable location tabs */
    .qt-location-tabs {
        width: calc(100vw - 36px);

        flex-direction: row;

        gap: 10px;

        overflow-x: auto;
        overflow-y: hidden;

        padding-bottom: 4px;

        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }


    .qt-location-tabs::-webkit-scrollbar {
        display: none;
    }


    .qt-location-tab {
        flex: 0 0 85%;

        min-height: 86px;

        padding: 15px 16px;

        grid-template-columns:
            21px
            minmax(0, 1fr)
            20px;

        gap: 11px;

        border-radius: 10px;

        scroll-snap-align: start;
    }


    .qt-location-info strong {
        font-size: 17px;
    }


    .qt-location-info > span {
        font-size: 14px;
    }


    /* Map */
    .qt-location-display {
        min-height: 405px;

        border-radius: 16px;
    }


    .qt-location-content {
        padding: 30px 18px 55px;
    }


    .qt-map-pin {
        width: 62px;
        height: 62px;

        margin-bottom: 18px;
    }


    .qt-map-pin svg {
        width: 28px;
        height: 28px;
    }


    .qt-location-content h2 {
        font-size: 28px;
    }


    .qt-location-address {
        font-size: 12px;

        letter-spacing: 3px;
    }


    /* Actions */
    .qt-location-actions {
        margin-top: 26px;

        flex-direction: column;

        gap: 16px;
    }


    .qt-direction-button {
        min-height: 48px;

        padding: 0 21px;

        font-size: 15px;
    }


    .qt-location-link {
        min-height: 48px;

        padding: 0 21px;

        font-size: 15px;
    }


    /* Map label */
    .qt-map-label {
        right: 16px;
        bottom: 15px;

        font-size: 10px;

        letter-spacing: 2px;
    }


    .qt-map-grid {
        background-size: 48px 48px;
    }

}

/* =========================================================
   QUEENSTOWN SPECIALS — SALIENT VERTICAL MATERIAL TABS

   Main element class: hg-tabs
   Individual tab class: hg-tab
   ========================================================= */

.hg-tabs {
	--hg-olive: #879149;
	--hg-gold: #e4cc78;
	--hg-white: #ffffff;
	--hg-muted-border: rgba(255, 255, 255, 0.16);

	width: 100%;
}


/* =========================================================
   BASE TAB STYLING
   ========================================================= */

.hg-tabs .wpb_tabs_nav {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.hg-tabs .wpb_tabs_nav li {
	display: block;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}


/* Tab pills */

.hg-tabs .wpb_tabs_nav li a {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100% !important;
	height: 64px !important;
	min-height: 0 !important;
	padding: 10px 22px !important;
	box-sizing: border-box;

	background: transparent !important;
	border: 2px solid var(--hg-muted-border) !important;
	border-radius: 999px !important;

	color: var(--hg-white) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	text-align: center;
text-transform:uppercase;
	opacity: 0.72;

	transition:
		border-color 0.25s ease,
		color 0.25s ease,
		opacity 0.25s ease,
		background-color 0.25s ease;
}


/* Tab hover */

.hg-tabs .wpb_tabs_nav li a:hover {
	border-color: rgba(228, 204, 120, 0.65) !important;
	color: var(--hg-white) !important;
	opacity: 1;
}


/* Active tab */

.hg-tabs .wpb_tabs_nav li.active-tab a,
.hg-tabs .wpb_tabs_nav li.ui-tabs-active a,
.hg-tabs .wpb_tabs_nav li.active a,
.hg-tabs .wpb_tabs_nav li a.active-tab {
	background: transparent !important;
	border-color: var(--hg-gold) !important;
	color: var(--hg-white) !important;
	opacity: 1;
}


/* Remove Salient active-tab decorations */

.hg-tabs .wpb_tabs_nav li a::before,
.hg-tabs .wpb_tabs_nav li a::after {
	display: none !important;
}


/* =========================================================
   CONTENT PANEL
   ========================================================= */

.hg-tabs .wpb_tab,
.hg-tabs .hg-tab {
	box-sizing: border-box;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 28px 30px !important;

	background: var(--hg-olive) !important;
	border: 0 !important;
	border-radius: 15px !important;
	color: var(--hg-white) !important;
}


/* Remove unnecessary content spacing */

.hg-tabs .wpb_tab > :first-child,
.hg-tabs .hg-tab > :first-child {
	margin-top: 0 !important;
}

.hg-tabs .wpb_tab > :last-child,
.hg-tabs .hg-tab > :last-child {
	margin-bottom: 0 !important;
}


/* Special heading */

.hg-tabs .wpb_tab h3,
.hg-tabs .wpb_tab h4,
.hg-tabs .hg-tab h3,
.hg-tabs .hg-tab h4 {
	margin: 0 0 8px !important;

	color: var(--hg-white) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
}


/* Special description */

.hg-tabs .wpb_tab p,
.hg-tabs .hg-tab p {
	color: var(--hg-white) !important;
	font-size: 18px;
	line-height: 1.55;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media only screen and (min-width: 1201px) {

	/*
	 * Salient places the navigation and tab panels inside
	 * an inner .tabbed container.
	 */

	.hg-tabs .tabbed {
		display: grid !important;
		grid-template-columns: minmax(360px, 38%) minmax(0, 1fr);
		grid-template-rows: auto;
		align-items: stretch;

		width: 100%;
		column-gap: 38px;
	}


	/* Left tab column */

	.hg-tabs .tabbed > .wpb_tabs_nav {
		display: flex !important;
		flex-direction: column;
		gap: 10px;

		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: start;

		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		float: none !important;
	}


	/* Right content panel */

	.hg-tabs .tabbed > .wpb_tab {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: stretch;

		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		float: none !important;
	}

}


/* =========================================================
   TABLET
   Two-column tab grid above the content panel
   ========================================================= */

@media only screen and (min-width: 691px) and (max-width: 1200px) {

	.hg-tabs .tabbed {
		display: block !important;
		width: 100%;
	}

	.hg-tabs .wpb_tabs_nav {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;

		width: 100% !important;
		margin: 0 0 18px !important;
	}

	.hg-tabs .wpb_tabs_nav li a {
		height: 58px !important;
		padding: 10px 18px !important;
		font-size: 15px !important;
	}

	.hg-tabs .wpb_tab,
	.hg-tabs .hg-tab {
		width: 100% !important;
		height: auto !important;
		min-height: 230px !important;
		padding: 25px !important;
	}

}


/* =========================================================
   MOBILE
   One tab per row above the content panel
   ========================================================= */

@media only screen and (max-width: 690px) {

	.hg-tabs .tabbed {
		display: block !important;
		width: 100%;
	}

	.hg-tabs .wpb_tabs_nav {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 8px;

		width: 100% !important;
		margin: 0 0 18px !important;
	}

	.hg-tabs .wpb_tabs_nav li a {
		height: auto !important;
		min-height: 52px !important;
		padding: 10px 18px !important;
		font-size: 14px !important;
	}

	.hg-tabs .wpb_tab,
	.hg-tabs .hg-tab {
		width: 100% !important;
		height: auto !important;
		min-height: 190px !important;
		padding: 22px !important;
		border-radius: 12px !important;
	}

	.hg-tabs .wpb_tab h3,
	.hg-tabs .wpb_tab h4,
	.hg-tabs .hg-tab h3,
	.hg-tabs .hg-tab h4 {
		font-size: 16px !important;
	}

	.hg-tabs .wpb_tab p,
	.hg-tabs .hg-tab p {
		font-size: 16px;
		line-height: 1.5;
	}

}
/* =========================================================
   CONTENT PANEL ENHANCEMENT
   Subtle grid, centered content, and gold divider
   ========================================================= */

.hg-tabs .wpb_tab,
.hg-tabs .hg-tab {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}


/* Subtle background grid */

.hg-tabs .wpb_tab::before,
.hg-tabs .hg-tab::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.045) 1px,
			transparent 1px
		);

	background-size: 80px 80px;
}


/* Vertically center the editable tab content */

@media only screen and (min-width: 1201px) {

	.hg-tabs .wpb_tab > .wpb_wrapper,
	.hg-tabs .hg-tab > .wpb_wrapper {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 100%;
	}

}


/* Small gold divider beneath the heading */

.hg-tabs .wpb_tab h3::after,
.hg-tabs .wpb_tab h5::after,
.hg-tabs .hg-tab h3::after,
.hg-tabs .hg-tab h5::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 14px;

	background: var(--hg-gold);
	border-radius: 999px;
}
/* =========================================================
   RELIABLE TABLET/MOBILE TAB LAYOUT
   Uses grid so Salient does not need to calculate the height.
   ========================================================= */

@media only screen and (max-width: 1200px) {

	.hg-tabs .tabbed {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: start;
		row-gap: 24px;

		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
	}


	/* Tab navigation */

	.hg-tabs .tabbed[data-style*="vertical"] > .wpb_tabs_nav {
		display: grid !important;
		grid-column: 1 !important;
		grid-row: 1 !important;

		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}


	/* All panels occupy the same second grid row */

	.hg-tabs .tabbed[data-style*="vertical"] > .wpb_tab {
		grid-column: 1 !important;
		grid-row: 2 !important;

		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding-left: 25px !important;
		float: none !important;
		clear: none !important;
	}


	/* Initial panel */

	.hg-tabs .tabbed > .wpb_tab:first-of-type {
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
	}


	/* Panel activated by Salient */

	.hg-tabs .tabbed > .wpb_tab[style*="visibility: visible"] {
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
	}

}


/* Two-column tablet buttons */

@media only screen and (min-width: 691px) and (max-width: 1200px) {

	.hg-tabs .tabbed > .wpb_tabs_nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

}


/* Single-column phone buttons */

@media only screen and (max-width: 690px) {

	.hg-tabs .tabbed {
		row-gap: 24px;
	}

	.hg-tabs .tabbed > .wpb_tabs_nav {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.hg-tabs .tabbed[data-style*="vertical"] > .wpb_tab {
		padding: 22px !important;
	}

}
