/* Default comment here */
jQuery(document).ready(function() {
var swiper = new Swiper(".hero-banner", {
autoplay: {
delay: 3000, // Set delay in milliseconds (adjust as needed)
disableOnInteraction: false, // Autoplay will continue after user interaction
},
loop: true,
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
jQuery('.toggle-category-button').click(function() {
jQuery('.food-category-con').slideToggle(); // Use slideToggle() for a sliding effect
});
});
jQuery(document).ready(function($) {
$('.food-category-item-box').each(function() {
if ($(this).find('.food-category-sub-items').children().length > 0) {
$(this).find('.category-dropdown-arrow').show();
} else {
$(this).find('.category-dropdown-arrow').hide();
}
});
$('.category-dropdown-arrow').on('click', function() {
var $currentSubItems = $(this).siblings('.food-category-sub-items');
$('.food-category-sub-items').not($currentSubItems).slideUp();
$currentSubItems.slideToggle();
});
});
jQuery(document).ready(function($) {
$('.copy_link_button').on('click', function(event) {
console.log('clicked');
event.preventDefault();
var linkToCopy = $(this).find('a').attr('href');
var jQuerytempInput = $('<input>');
$('body').append(jQuerytempInput);
jQuerytempInput.val(linkToCopy).select();
document.execCommand('copy');
jQuerytempInput.remove();
console.log('Link copied: ' + linkToCopy);
$(this).find('span').text('Copied');
setTimeout(() => {
$(this).find('span').text('Copy Link');
}, 2000);
});
});
jQuery(document).ready(function($) {
function applyBlendMode() {
if ($('.food-menu-products-main.loading').length) {
$('body').css({
'background-color': '#0000005e',
'mix-blend-mode': 'overlay'
});
} else {
$('body').css({
'background-color': '',
'mix-blend-mode': ''
});
}
}
const observer = new MutationObserver(function(mutationsList) {
applyBlendMode();
});
observer.observe(document.body, { attributes: true, childList: true, subtree: true });
applyBlendMode();
});
jQuery(document).ready(function ($) {
// Opening and closing indication JS code start
function isRestaurantOpen(restaurant) {
var timezone = restaurant.data('timezone');
if (!timezone) {
console.error("Invalid timezone: ", timezone);
timezone = 'UTC'; // Fallback to UTC if timezone is invalid
}
var hours = restaurant.data('hours');
var currentDate = new Date();
var options = { timeZone: timezone, hour: '2-digit', minute: '2-digit', hour12: true };
var currentTimeString = new Intl.DateTimeFormat('en-US', options).format(currentDate);
var currentTime = parseTime(currentTimeString);
var currentDayIndex = currentDate.toLocaleDateString('en-US', { timeZone: timezone, weekday: 'long' });
var dayHours = getDayHoursForToday(hours, currentDayIndex);
if (dayHours === "Closed") {
return { open: false, message: "Currently Closed", className: "closed" };
}
var timeRange = dayHours.split("–");
if (timeRange.length < 2) {
console.error(`Invalid time range format: ${dayHours}`);
return { open: false, message: "Invalid Time Format", className: "closed" };
}
var openTime = parseTime(timeRange[0].trim());
var closeTime = parseTime(timeRange[1].trim());
if (isTimeBetween(currentTime, openTime, closeTime)) {
return { open: true, message: "Currently Open", className: "open" };
} else {
return { open: false, message: "Currently Closed", className: "closed" };
}
}
function parseTime(timeString) {
var [hour, minutePart] = timeString.replace(/[^0-9:APM]/gi, '').split(":");
var minute = parseInt(minutePart.match(/\d+/) || "0");
var isPM = timeString.toUpperCase().includes("PM");
hour = parseInt(hour);
if (isPM && hour !== 12) hour += 12;
if (!isPM && hour === 12) hour = 0;
return { hour, minute };
}
function getCurrentTimeInMinutes(time) {
return time.hour * 60 + time.minute;
}
function isTimeBetween(current, open, close) {
var currentMinutes = getCurrentTimeInMinutes(current);
var openMinutes = getCurrentTimeInMinutes(open);
var closeMinutes = getCurrentTimeInMinutes(close);
if (openMinutes > closeMinutes) {
return currentMinutes >= openMinutes || currentMinutes < closeMinutes;
}
return currentMinutes >= openMinutes && currentMinutes < closeMinutes;
}
function getDayHoursForToday(hours, currentDayName) {
var lines = hours.replace(/<br\s*\/?>/g, '\n').split('\n');
for (var line of lines) {
var [day, time] = line.split(": ");
if (day.trim() === currentDayName) {
return time || "Closed";
}
}
return "Closed";
}
// Loop through each restaurant
$('.restaurant-time').each(function () {
var $this = $(this);
var status = isRestaurantOpen($this);
$this.html(status.message);
$this.closest('.restaurant-time').removeClass('open closed').addClass(status.className); // Update the container class
});
function updateRestaurantStatus(container) {
$(container).find('.restaurant-time').each(function () {
var $this = $(this);
var status = isRestaurantOpen($this);
$this.html(status.message);
$this.closest('.restaurant-time').removeClass('open closed').addClass(status.className);
});
}
// Opening and closing indication JS code end
$('#all-restaurants').prop('checked', true).prop('disabled', true);
var previousResponse = '';
var canLoadMore = false; // To track if more posts can be loaded
var paged = 2; // For pagination
var loading = false; // To track if a request is in progress
function getSearchTerm() {
return $('#food-menu-search').val();
}
function getSelectedTaxonomies() {
var selectedTaxonomies = [];
$('.restaurant-filter:checked').each(function () {
selectedTaxonomies.push($(this).data('termid'));
});
return selectedTaxonomies;
}
function filterPosts(searchTerm, selectedTaxonomies, isInitialLoad = false) {
$.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
data: {
action: 'filter_restaurants',
search_term: searchTerm,
taxonomies: selectedTaxonomies
},
beforeSend: function () {
if (!isInitialLoad) {
$('#food-menu-container').addClass('loading');
}
},
success: function (response) {
if (response.data && response.data.content !== previousResponse) {
$('#food-menu-container').html(response.data.content);
previousResponse = response.data.content;
canLoadMore = response.data.has_more_posts; // Update based on response
updateRestaurantStatus('#food-menu-container');
} else {
canLoadMore = false; // No posts available
}
},
complete: function () {
if (!isInitialLoad) {
$('#food-menu-container').removeClass('loading');
}
loading = false; // Allow new requests
}
});
}
// Initial load with "All Restaurants" selected
filterPosts(getSearchTerm(), getSelectedTaxonomies(), true);
// Handle filter change
$('.restaurant-filter').on('change', function () {
const allRestaurantsCheckbox = $('#all-restaurants');
const selectedCheckbox = $(this);
if (selectedCheckbox.is(allRestaurantsCheckbox)) {
// If "All Restaurants" is checked, uncheck all others and disable them
if (selectedCheckbox.is(':checked')) {
$('.restaurant-filter').not(allRestaurantsCheckbox).prop('checked', false).prop('disabled', true);
} else {
// If unchecked, enable all other filters
$('.restaurant-filter').not(allRestaurantsCheckbox).prop('disabled', false);
}
} else {
// If any other checkbox is checked
if (selectedCheckbox.is(':checked')) {
// Uncheck "All Restaurants" and disable it
allRestaurantsCheckbox.prop('checked', false).prop('disabled', true);
// Uncheck all other checkboxes except the current one
$('.restaurant-filter').not(selectedCheckbox).prop('checked', false);
} else {
// If no other checkboxes are selected, enable "All Restaurants"
if ($('.restaurant-filter:checked').length === 0) {
allRestaurantsCheckbox.prop('checked', true).prop('disabled', true);
}
}
}
paged = 2; // Reset pagination
filterPosts(getSearchTerm(), getSelectedTaxonomies());
});
// Handle search input
$('#food-menu-search').on('input', function () {
paged = 2; // Reset pagination
filterPosts(getSearchTerm(), getSelectedTaxonomies());
});
// Handle "Load More" functionality on scroll
$(window).scroll(function () {
if (canLoadMore && !loading && $(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loading = true;
const searchTerm = getSearchTerm();
const selectedTaxonomies = getSelectedTaxonomies();
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'load_more_restaurants',
paged: paged,
search_term: searchTerm,
taxonomies: selectedTaxonomies,
},
beforeSend: function () {
$('#food-menu-container').append('<div class="loading-text">Loading...</div>');
},
success: function (response) {
if (response.data && response.data.content) {
$('#food-menu-container').append(response.data.content);
paged++;
canLoadMore = response.data.has_more_posts;
updateRestaurantStatus('#food-menu-container');
} else {
canLoadMore = false;
}
},
complete: function () {
$('.loading-text').remove();
loading = false;
},
});
}
});
});
jQuery(document).ready(function($){
var content = $('.rest-list-wrapp .elementor-cta__description');
var maxLength = 150;
content.each(function() {
var fullText = $(this).text();
if(fullText.length > maxLength){
var shortText = fullText.substring(0, maxLength);
$(this).html(
shortText +
'<span class="dots">...</span>' +
'<span class="more-text" style="display:none;">' +
fullText.substring(maxLength) +
'</span>' +
' <a href="#" class="read-more">Read More</a>'
);
}
});
$(document).on('click', '.read-more', function(e){
e.preventDefault();
var parent = $(this).closest('.rest-list-wrapp .elementor-cta__description');
parent.find('.dots, .more-text').toggle();
if($(this).text() === 'Read More'){
$(this).text('Read Less');
} else {
$(this).text('Read More');
}
});
});
jQuery(window).on('load', function() {
if( jQuery('#all-restaurents').length > 0 ) {
jQuery('#all-restaurents').trigger('click');
}
});
jQuery(document).ready(function() {
// Attach a click event handler to the accordion title link
jQuery('.fw-bold.text-decoration-none').on('click', function() {
var accordionID = $(this).attr('href'); // Get the href value of the clicked accordion title
var radioButtons = $(accordionID + ' input[type=radio]'); // Get all radio buttons inside the accordion
if (radioButtons.length === 1) {
radioButtons.prop('checked', true).trigger('click'); // If only one radio button, check it
}
});
});
Dine and soak in some of the most beautiful views on earth! It’s a big reason why we live out here.
Terra at Four Seasons—The restaurant at the Four Seasons Resort, is the place to catch a stunning New Mexico sunset and enjoy a memorable meal.
Blue Heron at Ojo Santa Fe—This healthy dining option focuses on spa food that is packed with flavor.
Izanami—The restaurant at Ten Thousand Waves is one of our top spots for great Japanese food and views.
Rancho de Chimayo—This traditional New Mexican restaurant is steeped in history, has a James Beard award-winning cookbook and the drive out there is worth the trip.
Museum Hill Cafe—If you are here for the art, you’ll want to spend some time in the museums and the Museum Hill Cafe is where you can enjoy a break from the amazing art collections at four museums on Museum Hill.
NOSA-Is a destination. Chef Graham Dodds of Dallas, Texas manifests his dream in creating a unique fine dining and inn experience out in the middle of our magical high desert and we are all the better for it. Set in the scenic Ojo Caliente River Valley overlooking the majestic Jemez Mountains is the secluded and serene NOSA restaurant & inn. NOSA is an acronym for “NOrth of SAnta Fe” and also an old Spanish word for “ours” which speaks to the communal nature of a place to gather, dine and rest. A lunch or dinner at NOSA is not just a meal. It’s an experience.
The Mineshaft Tavern—South of Santa Fe in Madrid, a sleepy mining village, is a vibrant art community where you will find The Mine Shaft along with great food, fun, music and views.
Beer Creek Brewing—The folks at Beer Creek have quickly earned a loyal following. Is it because they brew some really kick butt beer? Is it the pizzas, which are consistently ranked among the best in the area? Is it the scenic mountain views from their massive patio just off of the Turquoise Trail (Highway 14)? Or maybe it’s the laid-back desert vibe, owners, staff that makes you feel like you are just hanging with the gang? Whatever it is, they have quickly become a locals favorite.
Sky Fire at Bishop’s Lodge—One of the city’s newest high-end additions, this restaurant boasts beautiful views.
Join our Newsletter
Be the first to know about local culinary news, events, and more! Stay in the loop with email updates about foodie happenings, restaurant news, and upcoming events. You can unsubscribe anytime. Just enter your email below to sign up.
Become a Patron
Support Santa Fe Foodies and dive into the food scene!
$
19
99 Billed yearly
Full Unlocked Features
Benefits and discounts include-25% off HORNO appetizers, 20% off The Artisan’s Bottega, 10% off Dinner For Two, 10% off Mille crepes, 10% all Fusion Tacos orders, 10% off all Jesushi orders, 10% off all MacSanta Fe orders, and many more!
jQuery(document).ready(function() {
// Show or hide the back-to-top button based on scroll position
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > 500) {
jQuery('#backToTop').fadeIn();
} else {
jQuery('#backToTop').fadeOut();
}
});
// Smooth scroll to top when the back-to-top button is clicked
jQuery('#backToTop').click(function(event) {
event.preventDefault();
jQuery('html, body').animate({ scrollTop: 0 }, 300);
});
});
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnX":"Share on X","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":true},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":true},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":true},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":true}},"hasCustomBreakpoints":true},"version":"4.2.2","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_panel_promotions":true,"theme_builder_v2":true,"landing-pages":true,"nested-elements":true,"e_atomic_elements":true,"atomic_widgets_should_enforce_capabilities":true,"editor_mcp":true,"e_bc_migrations":true,"e_classes":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_variables_manager":true,"e_opt_in_v4_page":true,"e_opt_in_v4":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true,"e_pro_atomic_form":true,"e_pro_collection_loop":true,"mega-menu":true,"e_pro_variables":true,"e_pro_interactions":true},"urls":{"assets":"https:\/\/santafefoodiesnm.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/santafefoodiesnm.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/santafefoodiesnm.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"6c6332074c","atomicFormsSendForm":"ce20f4d876"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_mobile_extra","viewport_tablet","viewport_tablet_extra","viewport_laptop","viewport_widescreen"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":13699,"title":"Scenic%20Views-Where%20The%20Locals%20Go-Free%20-%20Santa%20Fe%20Foodies","excerpt":"","featuredImage":"https:\/\/santafefoodiesnm.com\/wp-content\/uploads\/2022\/02\/Santa-Fe-Foodies-Youtube-title-page-2560x1440-1-1024x576.jpg"}};
//# sourceURL=elementor-frontend-js-before