/*
Theme Name: TheGem Child
Description: Multi-Purpose Wordpress Theme
Author: Codex Themes.
Theme URI: http://codex-themes.com/thegem/
Author URI: http://codex-themes.com/thegem/
Template: thegem
Version: 1.0
Tags: one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, flexible-header, full-width-template, theme-options, translation-ready, dark, light
License: GNU General Public License
License URI: license.txt
*/

/**
 * CONTENTS
 *
 * SETTINGS
 * Global.............. Globally-available variables and config.
 * Headings............ H1–H6 styles.
 * Links............... Link option throughout the site
 * Buttons............. Button settings of the website
 *
 * HEADER SETTINGS
 * Top bar........ Top bar section.
 * Navigation..... Better navigation of the website.
 *
 * CONTENT SETTINGS
 * Form............................... Web forms of the website.
 * Specific features and objects...... object and features of elements
 * Specific pages..................... Elements for specific pages and objects
 *
 * FOOTER SETTINGS
 * Footer links........... The main page footer.
 * Footer-text............ The main page footer texts.
 * 
 * MEDIA QUERIES
 * Media queries........... The Media Query
 */

/*------------------------------------*\
  #GLOBAL SETTINGS
\*------------------------------------*/
html {
    font-size: 16px !important; 
}
body {
	--brand-gold: rgb(201, 171, 129);
}
body .container {width: 95vw;}
	/*------------------------------------*\
	 #TEXT
	\*------------------------------------*/
body,
body p,
body .text-body {
	color: #5f5f5f;
}

body .subtitle-custom {
	color: var(--brand-gold);
	font-size: clamp(1.25rem, calc(1rem + 1vw), 21px);
	font-style: italic;
	font-family: 'EB Garamond', serif;
	line-height: 1.25;
	margin-bottom: 0;
}

body p.sm-layout {
	width:40%;
	margin-left: auto;
	margin-right: auto;
}
body .md-layout p {
	width: 65%;
	margin-left: auto;
	margin-right: auto;
}

body .mock-h5 {
	text-align: center;
    font-family: EB Garamond, serif;
    font-size: clamp(1rem, calc(1rem + .5vw), 24px);
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 5px;
	color: rgb(82 82 82);
}
body .mock-h5 a {
	color: inherit;
}
body .mock-h5 a:hover {
	color: var(--brand-gold);
}

	/*------------------------------------*\
	 #HEADING TAGS
	\*------------------------------------*/
body h1 {
	font-family: EB Garamond, serif;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .05em;
	font-size: clamp(1rem, calc(2rem + 1.75vw), 72px);
	margin: 0;
	font-weight: 400;
}

body h2 {
	font-size: clamp(1.25rem, calc(1.75rem + 1.5vw), 62px);
	font-family: 'EB Garamond', serif;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .05em;
	margin: 0;
	margin-bottom: 10px;
	color: #383838;
	font-weight: 400;
}
body h2.separator-heading {
    display: flex;
    align-items: center;
    text-align: center;
    width: 100%; 
}
h2.separator-heading::before,
h2.separator-heading::after {
    content: ""; 
    flex-grow: 1; 
    border-top: 3px double #d2d2d2;
}
h2.separator-heading::before {
    margin-right: 50px;
}

h2.separator-heading::after {
    margin-left: 50px;
}

body h3 {
	font-size: clamp(1.25rem, calc(1rem + 1vw), 40px);
    line-height: 1.25;
	font-family: 'EB Garamond', serif;
	margin-bottom: 1rem;
	margin-top: 0;
	letter-spacing: .1em;
	text-transform: uppercase;
}


	/*------------------------------------*\
	 #LINKS
	\*------------------------------------*/
	/*------------------------------------*\
	 #BUTTONS
	\*------------------------------------*/


/*------------------------------------*\
  #HEADER SETTINGS
\*------------------------------------*/

header .container {width: 95%;}

	/*------------------------------------*\
	 #TOP BAR
	\*------------------------------------*/
	/*------------------------------------*\
	 #NAVIGATION
	\*------------------------------------*/

header .header-style-3 #primary-menu.no-responsive > li.menu-item-active {
	padding: 0px 15px;
	width: auto;
}
header .header-style-3 #primary-menu.no-responsive > li.menu-item-active > a {
	padding: 5px 0px;
	border-bottom: solid 2px var(--brand-gold);
}

header .header-style-3 #primary-menu li.megamenu-style-default {
	color: var(--brand-gold);
	border: solid 1px var(--brand-gold);
	font-size: 15px;
	letter-spacing: .025em;
    padding: 15px 25px;
	margin-left: 4em;
	transition: none;
	border-radius: 3px;
}
header .header-style-3 #primary-menu li.megamenu-style-default a {
	color: var(--brand-gold);
	font-size: 15px;
	text-transform: capitalize;
	    letter-spacing: .025em;
	font-weight: 400;
	transition: none;
}

header .header-style-3 #primary-menu li.megamenu-style-default:hover {
	background-color: var(--brand-gold);
	transition: none;
}
header .header-style-3 #primary-menu li.megamenu-style-default:hover a,
header .header-style-3 #primary-menu li.megamenu-style-default a:hover {
	color: white;
	background-color: var(--brand-gold);
	transition: none;
}

/*------------------------------------*\
  #CONTENT SETTINGS
\*------------------------------------*/

body .wpb_row {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}

	/*------------------------------------*\
	  #FORM
	\*------------------------------------*/
	/*------------------------------------*\
	 #SPECIFIC FEATURE AND OBJECTS
	\*------------------------------------*/
body .scroll-top-button.visible {opacity: 1;}
body .scroll-top-button:before {
	background-color: transparent;
	color: var(--brand-gold);
	border: 1px solid var(--brand-gold);
	border-radius: 3px;
}
body .scroll-top-button:hover:before {
	background-color: var(--brand-gold);
	color: #1C1C1C;
}

body #custom-pgtitle {
	padding-top: 5em;
	padding-bottom: 5em;
}
body #custom-pgtitle .vc_column-inner {
	padding-top: 0px;
}
body #custom-pgtitle h1 {
	color: white;
}
body #custom-pgtitle p {
	color: white;
	font-size: clamp(1rem, calc(1rem + .75vw), 24px);
    line-height: 1.375;
    font-weight: 500;
	font-family: EB Garamond, serif;
	margin-top: 10px;
	font-weight: 400;
}

body .vc_row.cta {
	padding-top: 8em;
	padding-bottom: 8em; 
}
body .vc_row.cta h3,
body .vc_row.cta p:not(.subtitle-custom) {
	color: white;
}

body .strong-view .strong-content {
	height: 100%;
	position: relative !important;
	padding-top: 50px;
}
body .strong-view .strong-content::before {
    content: ""; 
    display: block; 
    width: 24px; 
    height: 18px; 
    margin: -40px auto 20px auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.299' height='18' viewBox='0 0 24.299 18'%3E%3Cpath d='M19.542.007c-1.33.163-1.92.858-3,3.109v.74s3.9,1.583,4.283,4.418-.953,6.483-7.658,8.39V18s7.4-1.392,10.342-7.331C27.035,3.55,21.148-.19,19.542.007Z' transform='translate(-0.317 0)' fill='%23525252'/%3E%3Cpath d='M6.375.007c-1.33.163-1.92.858-3,3.109v.74s3.9,1.583,4.283,4.418S6.7,14.758,0,16.665V18s7.4-1.392,10.342-7.331C13.868,3.55,7.981-.19,6.375.007Z' transform='translate(0 0)' fill='%23525252'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
body .strong-view.wpmtst-default .wpmtst-testimonial {
	border: none;
	top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}
body .strong-view.wpmtst-default.controls-type-sides .wpmtst-testimonial-inner {
	padding-left: 25%;
	padding-right: 25%;
	width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center;
	align-items: center;
    text-align: center;
	border: none;
}
body .strong-view.wpmtst-default .strong-content .wpmtst-testimonial-content {
	margin-bottom: 25px !important;
}
body .strong-view.wpmtst-default .wpmtst-testimonial-content p {
	text-align: center;
    font-family: 'EB Garamond', serif;
    font-size: clamp(1rem, calc(1rem + .25vw), 21px);
    line-height: 1.5;
	font-style: italic;
	color: var(--brand-gold);
}
body .strong-view.wpmtst-default .wpmtst-testimonial-field {
	color: rgb(39 39 39);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-family: 'EB Garamond', serif;
}

	
/*------------------------------------*\
#SPECIFIC PAGES 
\*------------------------------------*/
	/*------------------------------------*\
	#HOME
	\*------------------------------------*/

.home .image-banner {
	padding: 20vh;
	z-index: 1;
}

.home .row-w-floatbox {
	z-index: 5;
	overflow: visible !important;
}
.home .row-w-floatbox .gem-infotext-wrap:hover .gem-icon-half-1,
.home .row-w-floatbox .gem-infotext-wrap:hover .gem-icon-half-2 {
	color: var(--brand-gold);
}
.home .row-w-floatbox .floatbox {
	position: absolute;
	width: 25%;
	right: 0;
	bottom: 0;
	z-index: 10;
}
.home .row-w-floatbox .floatbox .vc_column-inner {
	border: 1px solid var(--brand-gold);
	padding: 5px !important;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.home .row-w-floatbox .floatbox .vc_column-inner .wpb_wrapper {
	background-color: var(--brand-gold);
	padding: 0.8em;
	color: white;
}
.home .row-w-floatbox .floatbox p {
	color: white;
}
.home .row-w-floatbox .floatbox p.mock-h6 {
	letter-spacing: .05em;
	    text-transform: uppercase;
	    font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
	font-family: 'EB Garamond', serif;
}
.home .row-w-floatbox .floatbox .gem-button.gem-button-style-outline {
	border-color: white;
	background-color: var(--brand-gold);
	color: white;
	padding: 10px;
	height: auto;
	margin: 0;
}
.home .row-w-floatbox .floatbox .gem-button.gem-button-style-outline:hover {
	color: var(--brand-gold);
	background-color: white;
}

.home-menu .wpb_column .vc_column-inner {
	padding-left: 10px !important;
	padding-right: 10px !important;
}
.home-menu .custom-btn-on-hover img {
    min-height: 80vh;
    width: 100%;
    object-fit: cover;
    object-position: center center; 
}
.home-menu .custom-btn-on-hover {
    min-height: 600px;
    display: block;
    overflow: hidden;
}
.home-menu .custom-btn-on-hover::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    border: 1px solid #ffffff;
    color: #ffffff;
    padding: 12px 24px;
    font-size: 14px;
    font-family: inherit;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
	pointer-events: none; 
}
.home-menu .custom-btn-on-hover:hover::after {
    opacity: 1;
}
.brunch-btn::after {
    content: "View Brunch Menu";
}
.lunch-btn::after {
    content: "View Lunch Menu";
}
.dinner-btn::after {
    content: "View Dinner Menu";
}

.home-menu.reserve .custom-btn-on-hover img {
	min-height: 60vh;
}
.home-menu.reserve .custom-btn-on-hover {
	min-height: 500px;
}
.reserve-btn::after {content:"View Room";}

body .custom-media-row {
    --main-gap: 25px;    
    --gallery-gap: 25px; 
    display: flex;
    gap: var(--main-gap);
    align-items: stretch; 
	padding-top: 5px;
	padding-bottom: 5px;
}
body .custom-media-row > .wpb_column {
    padding-left: 0;
    padding-right: 0;
    width: calc(50% - (var(--main-gap) / 2)); 
}
body .custom-media-row .wpb_column .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body .custom-media-row .vc_column-inner,
body .custom-media-row .wpb_wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}
body .tall-image,
body .tall-image .wpb_single_image,
body .tall-image figure,
body .tall-image .vc_single_image-wrapper {
    height: 100%;
    width: 100%;
    margin: 0;
}
body .tall-image img {
    height: 100%;
    width: 100%;
    object-fit: cover; 
    object-position: center;
}
body .grid-gallery .wpb_wrapper {
    display: block; 
}
body .grid-gallery .wpb_image_grid_ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: var(--gallery-gap); 
    height: 100%;
    margin: 0;
}
body .grid-gallery .isotope-item, 
body .grid-gallery .wpb_image_grid_ul li {
    position: static !important; /* CRITICAL: Overrides Isotope's inline absolute positioning */
    height: 100% !important;     /* CRITICAL: Overrides Isotope's inline calculated heights */
    width: 100%;
    margin: 0;
    padding: 0;
}
body .grid-gallery .wpb_image_grid_ul li img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}


	/*------------------------------------*\
	#reserve rooms
	\*------------------------------------*/

body .vc_row .room-details {
	border: 1px solid var(--brand-gold);
    padding: 5px !important;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

body .vc_row .room-details .vc_column-inner {
	background-color: var(--brand-gold);
    padding: 0.8em;
    color: white;
}
body .vc_row .room-details h2.detail-head {
	letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: clamp(1rem, calc(1rem + .25vw), 21px);
    line-height: 1.25;
    text-align: center;
    color: white;
    margin-top: 15px;
}
body .vc_row .room-details h2::after {
    content: "";
    border-top: 3px double white;
    display: block;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
}
body .vc_row .room-details ul li:before {
	background-color: white;
}
body .vc_row .room-details .gem-button.gem-button-style-outline {
	border-color: white;
	background-color: var(--brand-gold);
	color: white;
	padding: 10px;
	height: auto;
	margin: 0;
	font-size: 18px;
}
body .vc_row .room-details .gem-button.gem-button-style-outline:hover {
	color: var(--brand-gold);
	background-color: white;
}


	/*------------------------------------*\
	#(PAGE)
	\*------------------------------------*/

/*------------------------------------*\
  #FOOTER SETTINGS
\*------------------------------------*/

body div.footer-main {
	background-color: #272727;
	padding-top: 5rem;
    padding-bottom: 5rem;
	padding-left: 8vw !important;
	padding-right: 8vw !important;
	margin-bottom: 0;
}
.footer-main .footer-logo-link {
    display: inline-block; 
    width: 300px; 
    max-width: 100%;
    color: #ffffff !important;
    transition: opacity 0.3s ease;
}
.footer-main .footer-logo-link .opacity-20 {
    opacity: .2;
}
.footer-main .footer-logo-link svg {
    width: 100%;
    height: auto;
    display: block;
}
.footer-main .footer-logo-svg img {
    width: 220px !important;
    height: auto !important;
    display: block;
}
.footer-main .footer-logo-svg .vc_single_image-wrapper {
    display: block;
    width: 100%;
}
.footer-main .wpb_column .vc_column-inner .wpb_wrapper {
	display: flex;
	flex-direction: column;
    align-items: center;
    align-content: center;
}
.footer-main .wpb_text_column {width: 100%;}
.footer-main p.footer_icons {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 0;
}
.footer-main p.footer_icons a {
	height: 25px;
    width: 25px;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-size: 25px;
	margin-left: 10px;
	margin-right: 10px;
	color: #858585;
}
.footer-main p.footer_icons a:hover {
	color: var(--brand-gold);
}
.footer-main p.footer_icons a i,
.footer-main p.footer_icons a i:before {
	width: 100%;
	height: auto;
}

.footer-bottom {
	padding: 1em;
	background-color: #1C1C1C;
	color: #858585;
	font-size: 14px;
}
.footer-bottom p, .footer-bottom .wpb_content_element {margin-bottom: 0;}
/*------------------------------------*\
  #MEDIA QUERIES
\*------------------------------------*/
       