/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template: neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you!
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
Tags: blog, custom-logo, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles
*/
body:not(.home) h1, 
.home h2.wp-block-heading {
  text-align:left;
  font-size: 1.75rem;
  font-weight:500;
  color: #2d3e50;
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, #8ab85d, #5db1b8, #2a8bc8) 1;
  padding-bottom: 0.25em;
  margin-bottom: 1.5em;
}

h2.wp-block-heading {
  text-align:left;
  font-size: 1.5rem;
  font-weight:500;
  color: #2d3e50;
}

body:not(.home) .entry-content {
  margin:3rem 0;
}

.addtoany_content::before {
    content:'Share on: '
}

/* Issue to resolve when Restaurants
Beachfront Dining are active at the same time*/
.nav-ul li.nv-active>.wrap>a {
    color: var(--hovercolor, var(--nv-primary-accent));
}

/* *** START HEADER *** */

.hfg_header.site-header {
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.2);
  box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.2); 
}

.hfg_header.site-header:not(.is-stuck) {
  background-color: rgba(255, 255, 255, 0.5); 
}

.hfg_header .hide-on-mobile  .hfg-slot:not(.left) {
  padding-top:1.6rem;
}

.hfg_header.site-header {
  padding-bottom:1.6rem;
}

.hfg_header.site-header.is-stuck {
  background-color: #fff;
}

/* *** END HEADER *** */


/* START HOMEPAGE NEWS SECTION */
/* .home .section_news .hfeed {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  padding:0 15px 40px 15px;
}

.home .section_news .hfeed .restaurantNewsItem {
  display:inline-block;
  width:23%;
  flex-basis:23%;
}

.home .section_news .hfeed .restaurantNewsItem .image-wrap {
  height:0;
  padding:0 0 56.25% 0;
  overflow:hidden;
  position: relative;
  margin:0 0 1em 0;
}

.home .section_news .hfeed .restaurantNewsItem .image-wrap img {
  position:absolute;
  top:-100%;
  left:-100%;
  right:-100%;
  bottom:-100%;
  margin:auto;
  max-width:100%;
  max-height:none;
  width:auto;
  height:auto;
} */



/* Style for each individual news item card */
.processed-news-card {
  display: grid;
  /* Define grid areas and columns:
     The first row is for the title, spanning both columns.
     The second row has two columns: details on the left, image on the right.
     Adjust column widths as needed. Example: 1fr for details, 400px for image.
     Use 'auto auto' for rows to fit content.
  */
  grid-template-columns: 1fr 400px; /* Example: Flexible left column, fixed 400px right column */
  grid-template-rows: auto auto;     /* Two rows: one for title, one for details/image */
  gap: 20px; /* Space between grid items */
  border: 1px solid #eee; /* Optional: Add a subtle border */
  padding: 20px; /* Optional: Add some internal spacing */
  margin-bottom: 20px; /* Space below each card */
  background-color: #fff; /* Optional: White background for cards */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Optional: Subtle shadow */
  align-items: start; /* Align content to the top within grid cells */

  /* Add responsive break point - stack content vertically on smaller screens */
  @media (max-width: 768px) { /* Adjust max-width as needed */
       grid-template-columns: 1fr; /* Single column layout */
       grid-template-rows: auto auto auto; /* Title, Details, Image stack */
       gap: 15px; /* Adjust gap for stacking */
  }
}

/* Style for the title (h3.entry-title) - spans both columns in the first row */
.processed-news-card h3.entry-title {
  grid-column: 1 / span 2; /* Start at column 1, span 2 columns */
  grid-row: 1; /* Place in the first row */
  margin: 0 0 10px 0; /* Remove default margins, add bottom margin */
  font-size: 1.4em; /* Adjust font size */
  line-height: 1.3;
  text-align:center;

   /* Responsive adjustment for title */
   @media (max-width: 768px) {
        grid-column: 1; /* Span only 1 column */
        grid-row: 1; /* Stay in the first row */
   }
}

.processed-news-card h3.entry-title a {
  text-decoration: none;
}

/* Style for the image wrap - placed in the second column, second row */
.processed-news-card .image-wrap {
  grid-column: 2; /* Place in the second column (right side) */
  grid-row: 2; /* Place in the second row */
  overflow: hidden; /* Hide anything outside the image container */
   /* Ensure image fills its container */
  width: 100%;
  height: auto; /* Maintain aspect ratio */

   /* Responsive adjustment for image */
   @media (max-width: 768px) {
        grid-column: 1; /* Place in the first column */
        grid-row: 3; /* Place in the third row (below details) */
   }
}
/* Style the image itself */
.processed-news-card .image-wrap img {
   display: block; /* Remove extra space below image */
   max-width: 100%; /* Ensure image is responsive */
   height: auto; /* Maintain aspect ratio */
   object-fit: cover; /* Crop image if necessary to cover area */
   /* Optional: Set min-height or max-height for consistency if needed */
   /* min-height: 150px; */
}


/* Style for the details wrap - placed in the first column, second row */
.processed-news-card .details-wrap {
  grid-column: 1; /* Place in the first column (left side) */
  grid-row: 2; /* Place in the second row */
  /* Add any other styling for the details content */
  font-size: 0.95em;
  line-height: 1.6;
  color:var(--nv-text-color);
  display: grid;
  justify-items: stretch;
  height:100%;

   /* Responsive adjustment for details */
   @media (max-width: 768px) {
        grid-column: 1; /* Place in the first column */
        grid-row: 2; /* Place in the second row (below title) */
   }
}

.processed-news-card .details-wrap .publishDate {
  font-size: smaller;
  font-style: italic;
}

.processed-news-card .details-wrap .publishDate::before {
  content: 'Published: ';
}

/* Optional: Style for the description text */
.processed-news-card .details-wrap .description {
  margin: 0 0 10px 0; /* Add some space below description */
}

/* Optional: Style for the read more link */
.processed-news-card .details-wrap .read_more {
  display: inline-block; /* Or block */
  margin-top: 5px; /* Add space above link */
  align-self: end;
}


/* Optional: If the original .hfeed container had display:flex or display:grid
 that's interfering, you might need to override it. */
/* .hfeed { display: block !important; } */


/* END HOMEPAGE NEWS SECTION */

/*! SPECIALS LIST  */
.specials-list .card {
  display:grid;
  grid-template-columns: 400px 1fr;
  gap:1rem;
  margin-bottom:2rem;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  -ms-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  -o-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  position: relative;
  border-radius: 5px;
}

.specials-list .card .image {
  order:-1;
  border-radius: 5px 0 0 5px;
}

.specials-list .card img {
  width:400px;
  height:266px;
  object-fit:cover;
  object-position:center;
  display:block;   
  border-radius: 5px 0 0 5px; 
}

.specials-list .card .content {
  padding:1rem;
  display: flex;
  flex-direction: column; 
}

.specials-list .card .content h3 {
  flex-shrink: 0; 
  margin-bottom:1rem;
  font-weight:500;
}

.specials-list .card .content .description {
  flex-grow: 1;
}

.specials-list .card .content p {
  margin:0;
  max-height: 7rem; 
  overflow: hidden;
  text-overflow: ellipsis;
}

.specials-list .card .content .link {
  margin-top: auto;
  flex-shrink: 0; 
  text-align: right; 
}

.specials-list .card .content .link a {
  display: inline-block;
  padding: 8px 15px;
  background-color: #8ab85d;
  color: white;
  text-decoration: none;
  border-radius: 30px;
  font-size: 0.9em;
}

.specials-list .card .content .link a:hover {
  background-color: #698c47;
}

/*! END SPECIALS LIST */

/* Container for the entire filter form */
.restaurant-filter-list-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  padding: 10px 15px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

/* Each filter block */
.filter-bar {
  position: relative;
}

/* Filter button styling */
.restaurant-filter-list-container button.facetwp-reset,
.restaurant-filter-button {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 8px 15px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s;
}

/* Button hover state */
.restaurant-filter-button:hover {
  background-color: #ebebeb;
  border-color: #bbb;
  color:#000;
}

/* Count styling (if shown) */
.restaurant-filter-count {
  opacity:0.9;
}

.restaurant-filter-count::before {
  content: "| ";
}

/* Dropdown menu container */
.dropdown-filter {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  z-index: 999;
  width: 250px;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  display: none;
}

/* When .dropdown-filter has the 'show' class, display it */
.dropdown-filter.show {
  display: block;
}

.filter-bar button.active {
  background-color: #8ab85d;
}

.dropdown-filter.active {
  background-color: #f52e2e; /* your desired active background color */
}

.restaurant-filter-list-container .facetwp-facet {
  margin-bottom: 0;
}

/* Optional: you might want to ensure that the .filter-bar container (or button) 
   is also above other content when open */
   .filter-bar.show {
    position: relative;
    z-index: 1000;
  }

/* Dropdown content scroll, if needed */
.dropdown-filter-content {
  max-height: 400px;
  overflow-y: auto;
}

/* Dropdown header */
.content-head {
  border-bottom: 1px solid #eee;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

/* Dropdown header title */
.content-head-title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
}

/* Body of the dropdown (where facet options go) */
.content-body {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}

.restaurant-list {
  margin-top: 2rem;
}

.restaurant-list .facetwp-template {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(315px, 1fr));
  grid-gap: 2rem;
  position: relative;
}

.restaurant-list .restaurant-card h3,
.restaurant-list .restaurant-card p {
  margin:0;
  padding:0;
}

.restaurant-list .restaurant-card {
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  position: relative;
  border-radius: 5px;
}

.restaurant-list .restaurant-card .card-content {
  padding:1rem;
}


.restaurant-list .restaurant-card .card-title,
.restaurant-list .restaurant-card .card-location,
.restaurant-list .restaurant-card .card-details {
  text-decoration: none;
  font-size:0.8rem;
  color:black;
}

.restaurant-list .restaurant-card .card-title {
  font-size:1rem;
  max-width: 30ch;   /* Approximate width for 30 characters */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.restaurant-list .restaurant-card .card-details {
  display: flex;
}

.restaurant-list .restaurant-card .card-category::before {
  content: '-';
  padding:0 0.5rem;
}

.restaurant-list .card-image-container {
  aspect-ratio: 1 / 1; 
  overflow:hidden;
  border-radius:5px;
}

.restaurant-list .card-image-container img {
  display: block;       
  width: 100%;        
  height: 100%;       
  object-fit: cover;  
  object-position: center center; 
  border-radius:5px;
}

.restaurant-list .card-image-container img:hover {
  transform: scale(1.05); 
  transition: transform 0.3s ease-in-out; 
}


/* Base styles for the card */
.restaurants-grid .restaurant {
  border: 1px solid #ccc;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 20px;
}

.restaurants-grid .restaurant .container.image {
  width: 100%;
}

.restaurants-grid .restaurant .container.image img {
  display: block;
  width: 100%;
  height: auto;
}

.restaurants-grid .restaurant .container.text {
  padding: 20px;
}

@media (min-width: 960px) {
  .neve-main > .single-post-container .nv-single-post-wrap.col,
  .neve-main > .container .col {
    max-width: 100%;
  }
}

@media all and (max-width: 960px) {
  
  .home h2.wp-block-heading {
    margin-top:2rem;
  }
  
  .specials-list .card {
    min-width:200px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
  }     

  .specials-list .card img {
    width: auto;
    height: auto;
  }

  .nav-ul li a {
    justify-content: center;
  }

  .builder-item--social_icons_2 .component-wrap {
    justify-content:center;
    margin:1rem;
  }

  footer .has-text-align-right {
    text-align: center;
    margin:0.5rem 0;
  }

  footer .builder-item--footer-one-widgets {
    text-align:center;
  }

  footer .builder-item--footer-three-widgets p {
    margin-top:0.5rem;
    text-align:center;
  }

}

/* Styles for smaller screens (below 769px) - Single column */
@media (max-width: 768px) {
  .restaurants-grid {
    display: block; /* Revert to block layout for single column */
    margin-left: 0;
    margin-right: 0;
  }

  .restaurants-grid .restaurant {
    width: 100%; /* Take full width in single column */
    margin-left: 0;
    margin-right: 0;
    display: flex;
    flex-direction: column; /* Ensure image is above text */
  }

  .restaurants-grid .restaurant .container.image {
    width: 100%;
  }

  .restaurants-grid .restaurant .container.text {
    width: 100%;
    padding: 15px;
  }
}

/* Styles for medium screens (between 769px and 1023px) - Two columns */
@media (min-width: 769px) and (max-width: 1023px) {
  .restaurants-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
  }

  .restaurants-grid .restaurant {
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
  }

  .restaurants-grid .restaurant .container.image {
    width: 100%;
  }

  .restaurants-grid .restaurant .container.text {
    width: 100%;
    padding: 15px;
  }
}

/* Styles for larger screens (1024px and above) - Horizontal cards */
@media (min-width: 1024px) {
  .restaurants-grid .restaurant {
    display: flex;
    flex-direction: row;
  }

  .restaurants-grid .restaurant .container.image {
    width: 40%;
  }

  .restaurants-grid .restaurant .container.text {
    width: 60%;
    padding-left: 30px;
  }
}

/* Optional: Style the card header, description, address, and footer as needed */
.restaurant .card-header {
  margin-bottom: 15px;
  border-bottom:1px solid silver;
}

.restaurant .card-header h2.name {
  margin-top: 0;
  margin-bottom: 5px;
}

.restaurant .card-header .cuisine {
  text-align: right;
}

.restaurant .card-description {
  margin-bottom: 15px;
}

.restaurant .card-address {
  margin-bottom: 15px;
}

.restaurant .card-footer {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.restaurant .card-footer a {
  text-decoration: none;
  padding: 8px 15px;
  border-radius: 5px;
}

.restaurant .card-footer a.see-details {
  border: 1px solid #007bff;
  color: #007bff;
}

.restaurant .card-footer a.book-now {
  background-color: #28a745;
  color: white;
}


/* --- Search Container and Wrapper --- */
.facetwp-facet-search_restaurants {
  /* Optional: Add margin if needed */
  margin-bottom: 20px;
  /* Optional: Set a max-width if you want to limit its size */
  max-width: 650px;
}

.facetwp-input-wrap {
  position: relative; /* Needed for absolute positioning of the icon */
  display: block; /* Ensures the span behaves like a block */
}

/* --- Input Field Styling --- */
.facetwp-search {
  /* Box Model */
  display: block; /* Take full width of its container */
  width: 100%;
  height: 50px; /* Adjust height as needed */
  padding: 10px 20px 10px 45px; /* Top/Bottom, Right, Left (make space for icon) */
  box-sizing: border-box; /* Include padding and border in width/height */

  /* Appearance */
  border: 1px solid #ccc; /* Light grey border */
  border-radius: 25px; /* Adjust for desired roundness */
  background-color: #fff; /* White background */
  font-size: 16px; /* Adjust font size */
  color: #333; /* Text color */
  font-family: Arial, sans-serif; /* Choose a suitable font */

  /* Remove default browser styling */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none; /* Remove default focus outline */
}

/* --- Placeholder Styling --- */
.facetwp-search::placeholder {
  color: #aaa; /* Lighter grey for placeholder text */
  opacity: 1; /* Ensure placeholder is visible */
}

/* --- Icon Styling & Positioning --- */
.facetwp-icon {
  position: absolute;
  left: 15px; /* Distance from the left edge */
  top: 50%; /* Position vertically in the middle */
  transform: translateY(-50%); /* Fine-tune vertical centering */
  pointer-events: none; /* Allow clicks to pass through to the input */
  color: #555; /* Icon color */
  font-size: 18px; /* Adjust icon size */
  z-index: 1; /* Ensure icon is above input background */

  /* --- IMPORTANT: How to display the icon --- */
  /* You need ONE of the following methods depending on how FacetWP or your theme handles icons */

  /* Method 1: If using a Font Icon Library (like Font Awesome) */
  /* Make sure the library is loaded on your page */
  /* You might need to adjust font-family and content code */
  /* display: inline-block; */ /* Usually needed for font icons */
  /* font-family: "Font Awesome 5 Free"; */ /* Example */
  /* font-weight: 900; */ /* Example */
  /* content: "\f002"; */ /* Example: Unicode for search icon */

  /* Method 2: If using a background image */
  /* display: inline-block; */
  /* width: 18px; */ /* Match font-size or desired size */
  /* height: 18px; */ /* Match font-size or desired size */
  /* background-image: url('path/to/your/search-icon.svg'); */ /* Replace with your icon path */
  /* background-repeat: no-repeat; */
  /* background-position: center center; */
  /* background-size: contain; */
  /* content: ''; */ /* Hide any text content of the <i> tag */

   /* Add this line if you don't have an icon method above and want a simple text '🔍' */
   /* content: '🔍'; */
}

/* --- Optional: Focus Styling --- */
.facetwp-search:focus {
  border-color: #999; /* Slightly darker border on focus */
  /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); */ /* Optional subtle glow */
}

.search-results .content .specials.card {
    display:flex;
    flex-direction: column-reverse ;   
}

.search-results article.special .content h2.entry-title,
.search-results article.special .content .nv-meta-list,
.search-results article.special .content .nv-post-thumbnail-wrap {
  display:none;
}
    

.single-restaurant article.restaurant-detail {
    display: grid;
    gap: 8px;
    grid-template-areas:
        'name name name name' 
        'category category category category'
        'description description branding branding';
}

.single-restaurant article.restaurant-detail .organization {
  grid-area: name;
  margin-bottom:0.5rem;
}

.single-restaurant article.restaurant-detail .category {
    grid-area: category;
    font-size: 0.9em;
    color: #555;
}

.single-restaurant article.restaurant-detail .category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom:0.5rem;
}

.single-restaurant article.restaurant-detail .category .value {
  margin: 0;
  font-weight: bold;
}

/* .single-restaurant article.restaurant-detail .category .value + .value {
  margin-right: 0;
}

.single-restaurant article.restaurant-detail .category .value {
  font-weight: bold;
  margin-right:1rem;
} */

.single-restaurant article.restaurant-detail .category .label:not(:first-child)::before {  
  content: ' | ';
  padding:0 1rem;
}

.single-restaurant article.restaurant-detail .sidebar-description {
    grid-area: description;
}

.single-restaurant article.restaurant-detail .sidebar-branding {
    grid-area: branding;
}

.single-restaurant .restaurant-detail .booking {
    display:flex;
    justify-content:space-between;
}

.single-restaurant .restaurant-detail .booking p {
    margin-bottom:0;
}


.single-restaurant article a.cta {
  display: inline-block;
  padding: 8px 15px;
  background-color: #8ab85d;
  color: white;
  text-decoration: none;
  border-radius: 30px;
  font-size: 0.9em;
}

.single-restaurant article a.cta:hover {
  background-color: #698c47;
}


/* Container for the main slider */
#gallery-container {
  overflow: hidden;
}

.gallery-top {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  overflow: hidden; /* Hide any overflowing slides */
}

/* Ensure slides are centered */
.gallery-top .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Main slider images */
.gallery-top .swiper-slide img {
  width: 100%;
  height: 500px; /* Set a fixed height or use a responsive method */
  object-fit: cover;  /* This crops and centers the image */
}

/* Navigation buttons styling */
.swiper-button-prev,
.swiper-button-next {
  color: #fff;
  background: rgba(0, 0, 0, 0.4);
  padding: 0.5rem;
  border-radius: 50%;
}

/* Fullscreen mode for main slider */
.gallery-top.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.9);
}
.gallery-top.fullscreen .swiper-slide img {
  max-height: 90vh;
  object-fit: contain;
}

/* Thumbnail slider container */
.gallery-thumbs {
  width: 100%;
  max-width: 800px;
  margin: 1rem auto;
}

/* Thumbnail images */
.gallery-thumbs .swiper-slide img {
  width: 100%;
  height: 100px; /* Adjust as needed for a filmstrip look */
  object-fit: cover;
  cursor: pointer;
}

.gallery-wrap {
  margin-bottom:10px;
  position:relative;
  background-color:#000
}
.gallery-wrap .single+.img-wrap {
  display:block;
  text-align:center
}
.gallery-wrap .cxl-gallery {
  padding:5px 5px;
  margin:0;
  list-style:none;
  white-space:nowrap;
  position:relative;
  width:100%;
  overflow:hidden;
  background-color:#000;
  -webkit-box-sizing:border-box;
  box-sizing:border-box
}
.gallery-wrap .thumb-wrapper {
  position:relative;
  line-height:1;
  overflow:hidden;
  display:grid
}
.gallery-wrap .cxl-gallery .thumb-wrapper ul {
  padding:0;
  margin:0
}
.gallery-wrap .cxl-gallery li {
  display:inline-block;
  overflow:hidden;
  position:relative;
  width:150px;
  background-color:#000;
  margin:0
}
.gallery-wrap .cxl-gallery li a {
  display:block;
  width:100%;
  height:0;
  padding:0 0 67% 0;
  margin:0;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  position:relative;
  border:none;
  overflow:hidden;
  border:2px solid rgba(0,0,0,0);
  opacity:.5
}
.gallery-wrap .cxl-gallery li a img {
  position:absolute;
  width:auto;
  max-width:125%;
  min-width:100%;
  height:auto;
  max-height:none;
  min-height:100%;
  top:-100%;
  left:-100%;
  right:-100%;
  bottom:-100%;
  margin:auto
}
.gallery-wrap .cxl-gallery li.active-img {
  z-index:2;
  background-color:rgba(0,0,0,0)
}
.gallery-wrap .cxl-gallery li.active-img a {
  border:2px solid #fff;
  display:block;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  opacity:1
}
.gallery-wrap .cxl-gallery li.active-img img {
  opacity:1
}
.gallery-wrap .img-preview {
  position:relative
}
.gallery-wrap .img-preview .img-nav {
  font-size:1.5em;
  font-weight:600;
  padding:1% 0;
  display:inline-block;
  margin:0;
  background-color:#000;
  background-color:rgba(0,0,0,.6);
  cursor:pointer;
  width:49.9%;
  color:#fff;
  text-align:center;
  position:absolute;
  bottom:0;
  z-index:1;
  -webkit-transition:background-color .25s ease;
  -o-transition:background-color .25s ease;
  transition:background-color .25s ease
}
.gallery-wrap .img-preview .img-nav .text {
  font-size:75%;
  vertical-align:middle;
  text-transform:uppercase
}
.gallery-wrap .img-preview .img-nav i {
  vertical-align:middle;
  font-size:95%
}
.gallery-wrap .img-preview .img-nav:hover {
  background-color:rgba(0,0,0,.8)
}
.gallery-wrap .img-preview .img-nav.left {
  left:0
}
.gallery-wrap .img-preview .img-nav.right {
  right:0
}
.gallery-wrap .img-preview .img-wrap {
  background:url("images/spinner_dark.gif") no-repeat center rgba(0,0,0,0);
  height:0;
  padding-bottom:60%;
  position:relative;
  overflow:hidden;
  margin-bottom:10px
}
.gallery-wrap .img-preview .img-wrap img {
  position:absolute;
  top:-100%;
  left:-100%;
  right:-100%;
  bottom:-100%;
  margin:auto;
  height:auto;
  width:auto
}
.gallery-wrap .maximize-layer {
  color:#fff;
  position:absolute;
  top:1px;
  right:0;
  z-index:1;
  cursor:pointer;
  font-size:1.3em
}
.gallery-wrap .maximize-layer span {
  padding:7px 15px;
  display:block;
  background-color:#000;
  background-color:rgba(0,0,0,.5)
}
.gallery-wrap.fullscreen {
  position:fixed;
  width:95%;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color:#000;
  z-index:15;
  height:95%;
  margin:auto;
  -webkit-box-shadow:0 0 0 100px rgba(0,0,0,.65);
  box-shadow:0 0 0 100px rgba(0,0,0,.65)
}
.gallery-wrap.fullscreen .img-wrap {
  border:none;
  padding:0;
  background:url("/styles/member/images/spinner_dark.gif") no-repeat center rgba(0,0,0,0)
}
.gallery-wrap.fullscreen .img-preview {
  position:relative;
  max-width:1200px;
  margin:auto;
  overflow:hidden;
  padding:30px
}
.gallery-wrap.fullscreen .img-wrap img {
  max-width:100%;
  max-height:100%
}
.gallery-wrap.fullscreen .img-nav {
  width:50px;
  color:#000;
  background-color:rgba(255,255,255,.2);
  padding:9px 0;
  top:50%;
  bottom:auto;
  position:fixed
}
.gallery-wrap.fullscreen .img-nav.right {
  right:5%
}
.gallery-wrap.fullscreen .img-nav.left {
  left:5%
}
.gallery-wrap.fullscreen .cxl-gallery {
  overflow:hidden;
  padding:0;
  width:96%;
  margin:0 2%
}
.cm-lightbox {
  position:fixed;
  width:100%;
  height:100%;
  background-color:#000;
  z-index:99999;
  top:0;
  left:0;
  right:0;
  bottom:0
}
.cm-lightbox .close-arrow {
  position:absolute;
  right:0;
  top:0;
  cursor:pointer;
  line-height:1;
  color:#000;
  background-color:#fff;
  z-index:1;
  -webkit-border-radius:0 0 0 100px;
  border-radius:0 0 0 100px;
  padding:0 0 10px 10px
}
.cm-lightbox .close-arrow i {
  padding:15px
}
.cm-lightbox .lightbox-nav .lb-nav {
  bottom:0;
  margin:auto;
  position:absolute;
  color:#fff;
  background-color:rgba(255,255,255,.15);
  font-size:2em;
  cursor:pointer;
  display:table;
  vertical-align:middle;
  width:50%;
  text-align:center
}
.cm-lightbox .lightbox-nav .lb-nav i {
  display:table-cell;
  vertical-align:middle;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  height:80px;
  padding:0
}
.cm-lightbox .lightbox-nav .lb-nav span.text {
  display:table-cell;
  vertical-align:middle;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  height:80px;
  padding:0;
  width:50%;
  font-size:75%;
  text-transform:uppercase;
  padding:0 20px;
  box-sizing:border-box
}
.cm-lightbox .lightbox-nav .prev.lb-nav i,
.cm-lightbox .lightbox-nav .next.lb-nav span.text {
  text-align:right
}
.cm-lightbox .lightbox-nav .next.lb-nav i,
.cm-lightbox .lightbox-nav .prev.lb-nav span.text {
  text-align:left
}
.cm-lightbox .lightbox-nav .lb-nav.prev {
  left:0;
  right:49.75%
}
.cm-lightbox .lightbox-nav .lb-nav.next {
  right:0;
  left:50.25%
}
.cm-lightbox .lightbox-wrapper {
  height:100%;
  height:-webkit-calc(100% - 80px);
  height:calc(100% - 80px);
  width:100%;
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:auto
}
.cm-lightbox .lightbox-wrapper .image-wrapper {
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:url("/styles/member/images/spinner_dark.gif") no-repeat center rgba(0,0,0,0)
}
.cm-lightbox .lightbox-wrapper .image-wrapper img {
  max-height:100%;
  max-width:100%;
  margin:auto;
  position:absolute;
  top:-100%;
  left:-100%;
  right:-100%;
  bottom:-100%;
}

/* START FOOTER */
.site-footer .widget {
  margin-bottom: 0;
}

.site-footer .hfg-grid-bottom .builder-item {
  margin:0;
}

.site-footer p {
  font-size:0.8rem;
}

.site-footer a {
text-decoration:none;
}

.site-footer .hfg-grid-top a,
.site-footer .hfg-grid-top ul li a {
  color:#2a8bc8;  
}
.site-footer .hfg-grid-top ul li a {
  font-size:0.9rem;
  font-weight:500;
}

.site-footer .hfg-grid-top a:hover,
.site-footer .hfg-grid-top ul li a:hover {
  color:#8ab85d;
}

.site-footer ul li {
  width:100%;
}
/* END FOOTER */

@media (max-width:960px) {
  .single-restaurant article.restaurant-detail {
      grid-template-areas:
          'name'
          'category'
          'branding'
          'description';
  }    
}

/* TEMP FIX */
body.search-results .nv-post-thumbnail-wrap.img-wrap {
    display:none;
}
