PageSourceSearch

https://sophiashobesound.com/

html sophiashobesound.com collected 2026-09-30 13:53:42 UTC 161,702 bytes, 3,381 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><!-- Google tag (gtag.js) -->
vendor: 71 bytes, line 2
2<script async="async" src="https://www.googletagmanager.com/gtag/js?id=
2G-VG24VK2VKT
vendor: 11 bytes, line 2
2"></script>
2<script>
3    window.dataLayer = window.dataLayer || [];
4    function gtag(){dataLayer.push(arguments);}
5    gtag('set', 'linker', {'domains': ['tmt.spotapps.co','spothopperapp.com']});
6    gtag('js', new Date());
7    gtag('config', 'G-0R5269WT5Y');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-09-30 11:05:19.739887Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://sophiashobesound.com/" rel="canonical"/><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Our passion for creating exceptional dining experiences drives everything we do. From the moment you step in, we strive to make you feel at home. Our team is dedicated to serving you with the finest dishes, carefully prepared with the freshest ingredients." name="description"/><meta content="" name="author"/><meta content="Sophia's - Hobe Sound, FL" property="og:title"/><meta content="website" property="og:type"/><meta content="http://sophiashobesound.com/" property="og:url"/><meta content="Our passion for creating exceptional dining experiences drives everything we do. From the moment you step in, we strive to make you feel at home. Our team is dedicated to serving you with th..." property="og:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/social.jpg" property="og:image"/><meta content="Sophia's image" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="393461760517412" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="Sophia's - Hobe Sound, FL" name="twitter:title"/><meta content="Our passion for creating exceptional dining experiences drives everything we do. From the moment you step in, we strive to make you feel at home. Our team is dedicated to serving you with th..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/social.jpg" name="twitter:image"/><title>Sophia&apos;s - Hobe Sound, FL</title>
13<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+("devicePixelRatio" in window ? ","+devicePixelRatio : ",1")+'; path=/';</script>
13<script type="application/ld+json">
14{"@context":"https://schema.org","@type":"Restaurant","image":"https://static.spotapps.co/website_images/ab_websites/737352_website_v1/social.jpg","name":"Sophia&#039;s","address":{"@type":"PostalAddress","streetAddress":"11970 SE Dixie Hwy","addressLocality":"Hobe Sound","addressRegion":"FL","postalCode":"33455","addressCountry":"US"},"geo":{"@type":"GeoCoordinates","latitude":27.057879,"longitude":-80.127585},"url":"sophiashobesound.com","telephone":"7722458182","servesCuisine":"American Restaurant / Bar","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"15:00","closes":"21:00"}]}</script>
14<link href="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/favicons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/favicons/favicon.svg" rel="icon" type="image/svg+xml"/><link href="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/favicons/favicon.ico" rel="shortcut icon"/><link href="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><meta content="Sophia's" name="apple-mobile-web-app-title"/><link href="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/favicons/site.webmanifest" rel="manifest"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/gallery/gallery.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/jquery.fancybox.css" media="screen" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.css" rel="stylesheet" type="text/css"/><link href="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet-gesture-handling.min.css" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/uikit/css/uikit.docs.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/uikit/css/slidenav.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/owlcarousel/owl.theme.default.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/css/bottom_navigation_v1.css?v1779447505" rel="stylesheet"/><link href="css/custom.css?v1779447505&domain=sophiashobesound.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/icons_font/css/social_icons.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/icons_font/css/social_icons-ie7.css"><![endif]--><link href="https://static.spotapps.co/web/sophiashobesound--com/lib/twitter_x_font_icon/css/twitter_x.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/twitter_x_font_icon/css/twitter_x-ie7.css"><![endif]--><!--[if lt IE 9]>
15    
15<script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
15
16    
16<script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
16
17    <![endif]--><style>
18
19#accessibility-footer {
20  padding: 20px 5px;
21  background-color: #353638;
22  color: #fff;
23  text-align: center;
24}
25#accessibility-footer p {
26  margin: 0;
27  padding: 0;
28  font-family: inherit;
29  font-size: initial;
30  color: #fff;
31}
32#accessibility-footer .accessibility-link {
33  display: inline-block;
34  color: inherit;
35  text-decoration: underline;
36  font-weight: 600;
37}
38
39@media (max-width: 767px) {
40  #accessibility-footer .accessibility-link {
41    display: block;
42  }
43
44  /* additionl css in case that there is a CTA mobile bar (id="bottom-navbar") on the website */
45  #accessibility-footer {
46    position: relative;
47    top: -60px;
48    padding-bottom: 70px;
49  }
50}
51
52</style>
52<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
52<script>
53function ga_check(){
54  return true;
55}
56</script>
56<script>
57function universal_ga(action, type, category, ev_action, label){
58  if(typeof ga === 'function')
59  {
60    if(!(action && label))
61      ga(action, type, category)
62    else
63      ga(action, type, category, ev_action, label)
64  }
65
66  if(typeof gtag === 'function')
67  {
68    if(!(action && label))
69    {
70      hash = category
71      ev_label = hash["eventLabel"]
72      var splits = ev_label.match(/.{1,100}/g) ?? [];
73      delete(hash["eventLabel"])
74
75      if(splits.length <= 1)
76        hash["eventLabel"] = ev_label
77      else
78      {
79        for (let i = 0; i < splits.length; i++) {
80          var key = "eventLabel_"+i
81          hash[key] = splits[i]
82        }
83      }
84      console.log(hash)
85      gtag("event", hash["eventCategory"], hash);
86    }
87    else
88    {
89      var hash = {
90        eventCategory: category,
91        eventAction: ev_action
92      }
93
94      var splits = label.match(/.{1,100}/g) ?? [];
95      if(splits.length <= 1)
96        hash["eventLabel"] = label
97      else
98      {
99        for (let i = 0; i < splits.length; i++) {
100          var key = "eventLabel_"+i
101          hash[key] = splits[i]
102        }
103      }
104      gtag("event", hash["eventCategory"], hash);
105    }
106  }
107}
108</script>
108<script>    function getPromotionUrlParams(){
109      var params_str = sessionStorage.getItem('shUrlParams');
110      if (params_str != null){
111        return JSON.parse(params_str);
112      }else{
113        return {};
114      }
115    }
116
117    function getPromotionSourceDetails(){
118        var params_str = localStorage.getItem('promotionSourceDetails');
119        if (params_str != null){
120          return JSON.parse(params_str);
121        }else{
122          return {};
123        }
124    }
125
126    function getLastEmailVisitInDays(){
127      var promotionSourceDetails = getPromotionSourceDetails();
128      if (!promotionSourceDetails['last_visit_email'] ){
129        return null;
130      }
131      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
132    }
133
134    function getLastSocialVisitInDays(){
135      var promotionSourceDetails = getPromotionSourceDetails();
136      if (!promotionSourceDetails['last_visit_social'] ){
137        return null;
138      }
139      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
140    }
141
142    var shUrlParams = getPromotionUrlParams();
143    var promotionSourceDetails = getPromotionSourceDetails();
144
145    new URL(document.location).searchParams.forEach(function(value, paramName){
146
147     shUrlParams[paramName] = value;
148
149     if (paramName == 'source' && value =='social' ){
150       promotionSourceDetails['last_visit_social'] = new Date();
151       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
152     }
153
154     if (paramName == 'source' && value =='email' ){
155       promotionSourceDetails['last_visit_email'] = new Date();
156       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
157     }
158
159    });
160
161    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
162</script>
162<style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
163a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
164a.get-directions-footer-link:hover{transform:scale(1.08);}
165@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
166a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="home-page" data-spot-id="737352"><style>.promotion-pop-up .modal-dialog {
167  margin: 0 auto;
168  top: 0;
169  transition: none;
170}
171.promotion-pop-up.fade .modal-dialog {
172  transform: none !important;
173}
174
175.promotion-pop-up .modal-content {
176  display: none;
177  border-radius: 6px;
178  background-color: #fff;
179  background-image: none;
180}
181.promotion-pop-up .modal-header {
182  border: none;
183  margin-bottom: 8px;
184}
185.promotion-pop-up .close {
186  position: absolute;
187  top: 15px;
188  right: 15px;
189  font-size: 3em;
190  font-weight: normal;
191  line-height: 0.8em;
192  color: #000;
193  opacity: 0.8;
194}
195.promotion-pop-up .modal-body {
196  margin: 20px 20px 10px 20px;
197  padding-top: 5px;
198  text-align: center;
199  color: initial;
200}
201.promotion-pop-up .modal-footer {
202  padding-bottom: 40px;
203  border-top: none;
204  text-align: center;
205}
206
207.promotion-pop-up .btn {
208  display: inline-block;
209  max-width: 90%;
210  padding: 10px 50px;
211  font-size: 1.2em;
212  background-color: #000000;
213  color: #fff;
214  transform: scale(1);
215  -webkit-transition: all 0.3s ease;
216  -moz-transition: all 0.3s ease;
217  -o-transition: all 0.3s ease;
218  transition: all 0.3s ease;
219}
220.promotion-pop-up .btn:hover {
221  background-color: #1a1a1a;
222  color: #e0e0e0;
223  box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.3);
224  transform: scale(0.98);
225}
226
227.promotion-pop-up .btn:active {
228  background-color: #0f0f0f;
229  color: #cccccc;
230  box-shadow:
231    inset 0 2px 4px rgba(255, 255, 255, 0.08),
232    inset 0 -2px 2px rgba(0, 0, 0, 0.4);
233  transform: scale(0.94);
234}
235
236.promotion-pop-up h2 {
237  margin: 5px 5px 10px 5px;
238  font-size: 2.1em;
239  line-height: 1.3;
240  color: inherit;
241  /*font-family: unset;*/
242}
243.promotion-pop-up h3 {
244  font-size: 1.5em;
245  margin: 5px 5px 15px 5px;
246  font-family: unset;
247  text-transform: inherit;
248}
249.promotion-pop-up p {
250  margin-top: 30px;
251}
252.promotion-pop-up .modal-body a {
253  color: initial;
254}
255
256.promotion-pop-up .modal-plain-text h3 {
257  padding-top: 10px;
258}
259
260.promotion-pop-up .modal-body.modal-image-and-button {
261  overflow: auto;
262  margin: 20px;
263  padding-top: 0;
264  padding-bottom: 0;
265}
266.promotion-pop-up .modal-body.modal-image-and-button img {
267  max-height: 60vh;
268  max-width: 100%;
269}
270.promotion-pop-up .modal-body.modal-image-and-button p {
271  margin-top: 15px;
272  margin-bottom: 10px;
273}
274
275@media only screen and (max-width: 1024px) {
276  .promotion-pop-up .modal-body.modal-image-and-button {
277    margin-bottom: 10px;
278  }
279  .promotion-pop-up h2 {
280    font-size: 1.9em;
281  }
282  .promotion-pop-up h3 {
283    font-size: 1.4em;
284  }
285  .promotion-pop-up .modal-body.modal-image-and-button img {
286    max-height: 65vh;
287  }
288}
289
290@media only screen and (max-width: 767px) {
291  .promotion-pop-up .modal-dialog {
292    margin: 0 10px;
293  }
294  .promotion-pop-up .modal-body {
295    margin-top: 18px;
296  }
297  .promotion-pop-up .modal-body.modal-image-and-button img {
298    max-height: 55vh;
299  }
300  .promotion-pop-up h2 {
301    font-size: 1.8em;
302  }
303  .promotion-pop-up h3 {
304    font-size: 1.3em;
305  }
306  .promotion-pop-up .modal-body.modal-image-and-button p {
307    font-size: 1.1em;
308  }
309}
310@media only screen and (max-width: 500px) {
311  .promotion-pop-up .modal-footer {
312    padding-top: 10px;
313    padding-bottom: 35px;
314  }
315  .promotion-pop-up .modal-body {
316    margin: 17px 15px 5px 15px;
317  }
318  .promotion-pop-up .btn {
319    padding: 9px 40px;
320    font-size: 1.1em;
321  }
322  .promotion-pop-up .modal-body.modal-image-and-button img {
323    max-height: 50vh;
324  }
325}
326@media only screen and (max-width: 400px) {
327  .promotion-pop-up h2 {
328    font-size: 1.7em;
329  }
330  .promotion-pop-up h3 {
331    font-size: 1.2em;
332  }
333  .promotion-pop-up .btn {
334    padding: 8px 35px;
335    font-size: 1.1em;
336  }
337}</style><div aria-label="Promotion" class="modal fade promotion-pop-up" id="promotion-pop-up" role="dialog" tabindex="-1"><div class="modal-dialog" role="document"><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="private_parties" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://sophiashobesound.com/-party?source=pop_up&spot_id=737352&destination=private_parties&promotion=private_parties" id="7043728"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body -->
337<div class="modal-body modal-plain-text"><h2 class="section-header">Turn moments into memories!</h2><h3>Choose us for your next special occasion or get-together.</h3><p>Got a birthday party, rehearsal dinner, corporate or other event coming up? We&apos;re a great option for your gathering! Inquire today and let us know how we can make your special occasion perfect!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://sophiashobesound.com/-party?source=pop_up&spot_id=737352&destination=private_parties&promotion=private_parties" href="https://sophiashobesound.com/-party?source=pop_up&spot_id=737352&destination=private_parties&promotion=private_parties">Book your party</a></div></div><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="reservations" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant+website&source=pop_up&spot_id=737352&destination=reservations&promotion=reservations" id="7043740"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body --><div class="modal-body modal-plain-text"><h2 class="section-header">We are taking online reservations!</h2><h3>Let’s ensure you get a great table: Book today!</h3><p>We recommend making a reservation ahead of time. Book your table today!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant+website&source=pop_up&spot_id=737352&destination=reservations&promotion=reservations" href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant+website&source=pop_up&spot_id=737352&destination=reservations&promotion=reservations">Book Table</a></div></div><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="job_listings" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://tmt.spotapps.co/job-listings?spot_id=737352&source=pop_up&destination=job_listing&promotion=job_listings" id="7043750"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body --><div class="modal-body modal-plain-text"><p>We&apos;re hiring! Call, email, or submit an inquiry today to learn more!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://tmt.spotapps.co/job-listings?spot_id=737352&source=pop_up&destination=job_listing&promotion=job_listings" href="https://tmt.spotapps.co/job-listings?spot_id=737352&source=pop_up&destination=job_listing&promotion=job_listings">Job Listings</a></div></div></div></div><style>
338
339
340.navbar.nav-v6 .container {
341  padding-top: 10px;
342  padding-bottom: 10px;
343}
344.navbar.nav-v6.nav-scroll .container {
345  padding-top: 0px;
346  padding-bottom: 0px;
347}
348.navbar.nav-v6 .header-logo img {
349  max-width: 100%;
350}
351.navbar.nav-v6.nav-scroll .header-logo img {
352  max-width: 80%;
353}
354
355@media (max-width: 767px) {
356  /* DO NOT change mobile nav height on page scroll */
357  .navbar.nav-v6 .navbar-header,
358  .navbar.nav-v6.nav-scroll .navbar-header {
359    padding-top: 10px;
360    padding-bottom: 10px;
361  }
362  .navbar.nav-v6 .socialnav,
363  .navbar.nav-v6.nav-scroll .socialnav {
364    margin-top: 10px;
365  }
366  .navbar.nav-v6 .container,
367  .navbar.nav-v6.nav-scroll .container {
368    padding-top: 0;
369    padding-bottom: 0;
370  }
371  .navbar.nav-v6 .header-logo,
372  .navbar.nav-v6.nav-scroll .header-logo {
373    height: 70px;
374  }
375  .navbar.nav-v6 .header-logo img {
376    max-height: 100%;
377  }
378  .navbar.nav-v6.nav-scroll .header-logo img {
379    max-width: 100%;
380  }
381  /* HOME page CHANGE mobile nav height on page scroll */
382  /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */
383  body.home-page .navbar.nav-v6 .navbar-header {
384    padding-top: 10px;
385    padding-bottom: 10px;
386  }
387  body.home-page .navbar.nav-v6.nav-scroll .navbar-header{
388    padding-top: 0px;
389    padding-bottom: 0px;
390  }
391  body.home-page .navbar.nav-v6 .socialnav {
392    margin-top: 10px;
393  }
394  body.home-page .navbar.nav-v6.nav-scroll .socialnav {
395    margin-top: 0px;
396  }
397  body.home-page .navbar.nav-v6 .container{
398    padding-top: 0;
399    padding-bottom: 0;
400  }
401  body.home-page .navbar.nav-v6.nav-scroll .container {
402    padding-top: 0;
403    padding-bottom: 0;
404  }
405  body.home-page .navbar.nav-v6 .header-logo {
406    height: 70px;
407  }
408  body.home-page .navbar.nav-v6.nav-scroll .header-logo {
409    height: 50px;
410  }
411  body.home-page .navbar.nav-v6 .header-logo img {
412    max-height: 100%;
413    max-width: 100%;
414  }
415  body.home-page .navbar.nav-v6.nav-scroll .header-logo img {
416    max-width: 80%;
417  }
418}
419
420
421.navbar-regular .navbar-collapse.collapse.in {
422  background-color: transparent;
423  width: 100%;
424}
425.navbar.nav-v6{
426    background-color: transparent;
427    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
428    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
429    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
430    -moz-transition: all 0.3s ease-in-out;
431    -webkit-transition: all 0.3s ease-in-out;
432    -o-transition: all 0.3s ease-in-out;
433    transition: all 0.3s ease-in-out;
434}
435.navbar.nav-v6.nav-scroll{
436    background-color: #fff;
437    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
438    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
439    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
440}
441.drink-menu .navbar.nav-v6{
442  background-color: #fff;
443  -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
444  -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
445  box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
446  -moz-transition: all 0.3s ease-in-out;
447  -webkit-transition: all 0.3s ease-in-out;
448  -o-transition: all 0.3s ease-in-out;
449  transition: all 0.3s ease-in-out;
450}
451.drink-menu .navbar.nav-v6.nav-scroll{
452  background-color: #fff;
453  -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
454  -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
455  box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
456}
457.navbar-regular.nav-v6 .navbar-nav>li>a,
458.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
459.navbar-regular.nav-v6 .navbar-nav>.active>a,
460.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
461.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
462  border: none;
463  border-right: 1px solid #fff;
464  background-color: transparent;
465  color: #000;
466  -moz-transition: all 0.3s ease-in-out;
467  -webkit-transition: all 0.3s ease-in-out;
468  -o-transition: all 0.3s ease-in-out;
469  transition: all 0.3s ease-in-out;
470}
471.navbar-regular.nav-v6 .navbar-nav>li>a {
472  color: #fff;
473}
474.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
475  color: #000;
476  border-right: 1px solid #000;
477}
478.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
479.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
480.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
481.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
482  color: #000;
483}
484li.drop-down-link .sub-menu {
485  background-color: transparent;
486  color: #fff;
487      background-color: rgba(0, 0, 0, 0.6);
488    color: #fff;
489  }
490.nav-scroll li.drop-down-link .sub-menu {
491  background-color: #fff;
492  color: #000;
493}
494.drink-menu li.drop-down-link .sub-menu {
495  background-color: #fff;
496  color: #000;
497  }
498.drink-menu .nav-scroll li.drop-down-link .sub-menu {
499  background-color: #fff;
500  color: #000;
501}
502li.drop-down-link .sub-menu a,
503li.drop-down-link div.drop-down {
504  color: #fff;
505}
506.nav-scroll li.drop-down-link .sub-menu a,
507.nav-scroll li.drop-down-link li.drop-down-link div.drop-down {
508  color: #000;
509}
510.drink-menu li.drop-down-link .sub-menu a,
511.drink-menu li.drop-down-link div.drop-down {
512  color: #000;
513}
514.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
515.drink-menu .nav-scroll li.drop-down-link div.drop-down {
516  color: #000;
517}
518
519li.drop-down-link .sub-menu a:hover,
520li.drop-down-link .sub-menu a:focus {
521  color: #000;
522}
523.drink-menu li.drop-down-link .sub-menu a:hover,
524.drink-menu li.drop-down-link .sub-menu a:focus {
525  color: #000;
526}
527
528.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
529  background-color: #fff;
530  -moz-transition: all 0.3s ease-in-out;
531  -webkit-transition: all 0.3s ease-in-out;
532  -o-transition: all 0.3s ease-in-out;
533  transition: all 0.3s ease-in-out;
534}
535.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
536  background-color: #000;
537}
538.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
539  background-color: #000;
540}
541.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar{
542  background-color: #000;
543}
544.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
545.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
546.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
547.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
548.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
549  border: none;
550  border-right: 1px solid #000;
551  color: #000;
552}
553.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
554  color: #000;
555}
556.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
557  color: #000;
558  border-right: 1px solid #000;
559}
560.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
561.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
562.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
563.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
564  color: #000;
565}
566
567.nav-scroll li.drop-down-link .sub-menu a:hover,
568.nav-scroll li.drop-down-link .sub-menu a:focus {
569  color: #000;
570}
571.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
572.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus {
573  color: #000;
574}
575
576.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
577  background-color: #000;
578}
579.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
580  background-color: #000;
581}
582.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
583  background-color: #000;
584}
585.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
586  background-color: #000;
587}
588.navbar.nav-v6 .header-logo-text{
589  color: #fff;
590  -moz-transition: all 0.3s ease-in-out;
591  -webkit-transition: all 0.3s ease-in-out;
592  -o-transition: all 0.3s ease-in-out;
593  transition: all 0.3s ease-in-out;
594}
595.navbar.nav-v6.nav-scroll .header-logo-text{
596  color: #000;
597}
598.navbar.nav-v6 .social-icon{
599  color: #fff;
600  -moz-transition: all 0.3s ease-in-out;
601  -webkit-transition: all 0.3s ease-in-out;
602  -o-transition: all 0.3s ease-in-out;
603  transition: all 0.3s ease-in-out;
604}
605.navbar.nav-v6.nav-scroll .social-icon{
606  color: #000;
607}
608.navbar.nav-v6 .social-square .contact-icon:hover {
609  color: #fff;
610  background-color: #000;
611}
612.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
613  color: #000;
614  background-color: #000;
615}
616
617.drink-menu .navbar.nav-v6 .header-logo-text{
618  color: #000;
619}
620.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
621  color: #000;
622}
623.drink-menu .navbar.nav-v6 .social-icon{
624  color: #000;
625}
626.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
627  color: #000;
628}
629.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
630  color: #000;
631  background-color: #000;
632}
633.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
634  color: #000;
635  background-color: #000;
636}
637.navbar.nav-v6 .container {
638  border-bottom: 1px solid transparent;
639  -moz-transition: all 0.3s ease-in-out;
640  -webkit-transition: all 0.3s ease-in-out;
641  -o-transition: all 0.3s ease-in-out;
642  transition: all 0.3s ease-in-out;
643}
644.navbar.nav-v6.nav-scroll .container {
645  border-bottom: 1px solid transparent;
646}
647.drink-menu .navbar.nav-v6 .container {
648  border-bottom: 1px solid transparent;
649}
650.drink-menu .navbar.nav-v6.nav-scroll .container {
651  border-bottom: 1px solid transparent;
652}
653@media(min-width: 768px) {
654  .nav-v6 .navbar-collapse {
655    display: flex !important;
656    justify-content: end;
657  }
658  .nav-v6 .navbar-nav,
659  .nav-v6 .socialnav.hidden-xs {
660    float: none !important;
661  }
662}
663@media (max-width: 767px) {
664  .navbar.nav-v6 .container,
665  .navbar.nav-v6.nav-scroll .container,
666  .drink-menu .navbar.nav-v6 .container,
667  .drink-menu .navbar.nav-v6.nav-scroll .container {
668    border-bottom: none;
669  }
670  .navbar.nav-v6 .navbar-header {
671    border-bottom: 2px solid transparent;
672  }
673  .navbar.nav-v6.nav-scroll .navbar-header {
674    border-bottom: 2px solid transparent;
675  }
676  .drink-menu .navbar.nav-v6 .navbar-header {
677    border-bottom: 2px solid transparent;
678  }
679  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
680    border-bottom: 2px solid transparent;
681  }
682  li.drop-down-link .sub-menu,
683  .drink-menu li.drop-down-link .sub-menu {
684    width: 100% !important;
685    background-color: transparent;
686  }
687  .nav-scroll li.drop-down-link .sub-menu,
688  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
689    background-color: transparent;
690  }
691      .navbar-regular.nav-v6 .navbar-nav>li>a {
692      background-color: rgba(0, 0, 0, 0.6);
693    }
694    .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
695      background-color: transparent;
696    }
697
698    li.drop-down-link .sub-menu,
699    .navbar-regular.nav-v6 li.drop-down-link div.drop-down,
700    .drink-menu li.drop-down-link .sub-menu {
701      background-color: rgba(0, 0, 0, 0.6);
702    }
703    .nav-scroll li.drop-down-link .sub-menu,
704    .navbar-regular.nav-v6.nav-scroll li.drop-down-link div.drop-down,
705    .drink-menu .nav-scroll li.drop-down-link .sub-menu {
706      background-color: transparent;
707    }
708        .navbar-regular.nav-v6.mobile-full-height .navbar-nav>li:not(.active)>a,
709    .mobile-full-height li.drop-down-link .sub-menu,
710    .navbar-regular.nav-v6.mobile-full-height li.drop-down-link div.drop-down,
711    .drink-menu .mobile-full-height li.drop-down-link .sub-menu,
712    .navbar-regular.nav-v6.nav-scroll.mobile-full-height .navbar-nav>li:not(.active)>a,
713    .nav-scroll.mobile-full-height li.drop-down-link .sub-menu,
714    .navbar-regular.nav-v6.nav-scroll.mobile-full-height li.drop-down-link div.drop-down,
715    .drink-menu .nav-scroll.mobile-full-height li.drop-down-link .sub-menu {
716      background-color: transparent;
717    }
718    /* Mobile home background */
719  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
720  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
721  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
722          background-color: #000;
723      }
724  /* Mobile home background scroll */
725  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
726  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
727  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
728          background-color: #ffffff;
729      }
730  /* Mobile pages background */
731  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
732  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
733  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
734          background-color: #ffffff;
735      }
736  /* Mobile pages background scroll */
737  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
738  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
739  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
740          background-color: #ffffff;
741      }
742  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
743  .navbar-regular.nav-v6 .navbar-nav>.active>a,
744  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
745  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
746    background-color: #000;
747    color: #fff;
748  }
749  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
750  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
751  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
752  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
753    background-color: #000;
754    color: #000;
755  }
756  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
757  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
758  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
759  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
760    background-color: #000;
761    color: #000;
762  }
763  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
764  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
765  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
766  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
767    background-color: #000;
768    color: #000;
769  }
770
771  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
772    color: #fff;
773  }
774  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
775    color: #000;
776  }
777
778  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
779    color: #000;
780  }
781  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
782    color: #000;
783  }
784
785}
786</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v6-drop navbar-regular navbar-fixed-top mobile-full-height" id="navbar" role="navigation"><div id="skip"><a class="visuallyhidden skip-content" href="#content">Skip to main content</a></div><div class="container"><a class="header-logo logo-top" href="/#"><img alt="Sophia's logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Sophia's logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/logo.png"/></a><ul class="socialnav visible-xs">
786<li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/393461760517412" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.instagram.com/sophiashobesound" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=b462a25ec03f4d73&rlz=1C5CHFA_enRS1159RS1159&sxsrf=ANbL-n4MR25COj10PaxKp3hPSfUZab3VMQ:1776769442265&q=Sophia%27s,+11970+SE+Dixie+Hwy&si=AL3DRZEsmMGCryMMFSHJ3StBhOdZ2-6yYkXd_doETEE1OR-qOeco_J5lWjYjwIivGwqfnep53OMFGcDOKyUANj90rqYElcWwlwoZ38WQ1jX_pmRsjKYlDKIfhMNWKeAvV4vSLJ4Mc7n7&sa=X&ved=2ahUKEwiVydD75f6TAxVBSPEDHUg_NcMQrrQLegQIGhAB&biw=1512&bih=755&dpr=2&zx=1776769445704#lrd=0x88ded954a63770ef:0x1d924d0026f9366e,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></li></ul><div class="navbar-header"><button aria-expanded="false" class="navbar-toggle" data-target="#navbar-collapse-1" data-toggle="collapse" type="button"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class=" nav-menu-page"><a class="" href="/food-menu" id="nav_tab_1_link" target="_self">
787
788                    Menu
789                    
790                </a></li><li class=" "><a class="" href="/drink-menu" id="nav_tab_2_link" target="_self">
791
792                    Drinks
793                    
794                </a></li><li class=" "><a class="" href="/specials" id="nav_tab_3_link" target="_self">
795
796                    Specials
797                    
798                </a></li><li class=" "><a class="" href="/events" id="nav_tab_4_link" target="_self">
799
800                    Events
801                    
802                </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="/party#" id="nav_tab_6_link" target="_self">
803
804                    Parties
805                    
806                </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=737352&callback_url=http://sophiashobesound.com/#" id="nav_tab_8_link" target="_self">
807
808                    Jobs
809                    
810                </a></li><li class=" "><a class="" href="/about" id="nav_tab_9_link" target="_self">
811
812                    About
813                    
814                </a></li><li class=" gift-cards-nav"><a class="gift-cards-link" href="https://order.toasttab.com/egiftcards/sophias-11970-se-dixie-hwy" id="nav_tab_10_link" target="_blank">
815
816                    Gift Cards
817                    
818                </a></li><li class=" "><a class="" href="/music-submission" id="nav_tab_11_link" target="_self">
819
820                    Music Submission
821                    
822                </a></li><li class=" nav-reservations-link cta-nav-tab"><a class="link-reservations-sh" href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant%20website#" id="nav_tab_12_link" target="_self">
823
824                    Reserve
825                    
826                </a></li></ul><ul class="socialnav hidden-xs"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/393461760517412" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.instagram.com/sophiashobesound" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=b462a25ec03f4d73&rlz=1C5CHFA_enRS1159RS1159&sxsrf=ANbL-n4MR25COj10PaxKp3hPSfUZab3VMQ:1776769442265&q=Sophia%27s,+11970+SE+Dixie+Hwy&si=AL3DRZEsmMGCryMMFSHJ3StBhOdZ2-6yYkXd_doETEE1OR-qOeco_J5lWjYjwIivGwqf
826nep53OMFGcDOKyUANj90rqYElcWwlwoZ38WQ1jX_pmRsjKYlDKIfhMNWKeAvV4vSLJ4Mc7n7&sa=X&ved=2ahUKEwiVydD75f6TAxVBSPEDHUg_NcMQrrQLegQIGhAB&biw=1512&bih=755&dpr=2&zx=1776769445704#lrd=0x88ded954a63770ef:0x1d924d0026f9366e,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></li></ul></div></div></nav><header class="header cover-type-video" style="
827    background-image: url(https://static.spotapps.co/website_images/ab_websites/737352_website_v1/video_poster.jpeg);
828        background-repeat: no-repeat;
829    background-position: center center fixed;
830    -webkit-background-size: cover;
831    -moz-background-size: cover;
832    -o-background-size: cover;
833    background-size: cover;
834        z-index: 98; position: relative; overflow: hidden;
835        "><div id="home_page_cover" style="height:100%;"><style>
836
837video#coverVideo {
838  z-index: 99;
839  background: url(https://static.spotapps.co/website_images/ab_websites/737352_website_v1/video_poster.jpeg) no-repeat;
840  background-size: cover;
841}
842
843@media (min-width: 768px) {
844
845  
846    @media (min-width: 1025px) {
847
848      video#coverVideo {
849  position: absolute;
850  top: 50%;
851  left: 50%;
852  min-width: 100%;
853  min-height: 100%;
854  width: auto;
855  height: auto;
856  -ms-transform: translateX(-50%) translateY(-50%);
857  -moz-transform: translateX(-50%) translateY(-50%);
858  -webkit-transform: translateX(-50%) translateY(-50%);
859  transform: translateX(-50%) translateY(-50%);
860  max-width: none;
861  vertical-align: baseline;
862}
863    }
864
865    @media (max-width: 1024px) {
866
867      video#coverVideo {
868  width: 100%;
869}
870.header {
871  max-height: 100vh;
872  background-image: none !important;
873  width: initial;
874  height: initial;
875}
876body.home-page {
877  background-color: transparent;
878}
879    }
880
881  
882}
883
884@media (max-width: 767px) {
885  video#coverVideo {
886  width: 100%;
887}
888.header {
889  max-height: 100vh;
890  background-image: none !important;
891  width: initial;
892  height: initial;
893}
894body.home-page {
895  background-color: transparent;
896}  }
897
898  .video-volume-btn, .video-controls-btn {
899    color: rgba(255, 255, 255, 0.9);
900  }
901
902</style><video autoplay="autoplay" data-video="dual" id="coverVideo" loop="loop" muted="muted" playsinline="playsinline"><source src="https://static.spotapps.co/web/sophiashobesound--com/" type="video/mp4"/></video><button aria-label="The decorative video is currently playing, pause the video" class="video-controls-btn " id="cover_video_controls_btn" type="button"><span class="off-screen">The decorative video is currently playing</span><i aria-hidden="true" class="fa fa-play"></i><i aria-hidden="true" class="fa fa-pause"></i></button><button aria-label="The decorative video sound is off, turn it on" class="video-volume-btn " type="button"><span class="off-screen">The decorative video sound is off</span><i aria-hidden="true" class="fa fa-volume-off"></i><i aria-hidden="true" class="fa fa-volume-up"></i></button>
902<script>
903(function () {
904  const video = document.getElementById("coverVideo");
905  if (!video) return;
906
907  const variants = {
908    desktop: {
909      src:    "https:\/\/static.spotapps.co\/new_website_videos\/737352_videos\/737352_video_desktop_v1.mp4",
910      poster: "https:\/\/static.spotapps.co\/website_images\/ab_websites\/737352_website_v1\/video_poster.jpeg",
911      vtt:    ""    },
912    mobile: {
913      src:    "",
914      poster: "",
915      vtt:    ""    }
916  };
917  const isMobile = window.matchMedia("(max-width: 767px)").matches;
918  const preferred = isMobile ? variants.mobile : variants.desktop;
919  const srcVariant = (preferred.src && preferred.src.trim()) ? preferred : variants.desktop;
920  const chosen = {
921    src:    srcVariant.src,
922    poster: srcVariant.poster,
923    vtt:    preferred.vtt
924  };
925
926  if (!chosen.src || !chosen.src.trim()) return;
927  if (chosen.poster && chosen.poster.trim()) {
928    video.poster = chosen.poster;
929  }
930
931  video.querySelectorAll("track").forEach(t => t.remove());
932
933  const hasCaptions = !!(chosen.vtt && chosen.vtt.trim());
934  if (hasCaptions) {
935    video.setAttribute("controls", "");
936    video.setAttribute("crossorigin", "anonymous");
937    const track = document.createElement("track");
938    track.label = "English";
939    track.kind = "subtitles";
940    track.srclang = "en";
941    track.src = chosen.vtt;
942    video.appendChild(track);
943    document.querySelector(".video-controls-btn")?.remove();
944    document.querySelector(".video-volume-btn")?.remove();
945  } else {
946    video.removeAttribute("controls");
947    video.removeAttribute("crossorigin");
948  }
949  
950  video.src = chosen.src;
951  video.addEventListener("canplay", function handler() {
952    video.removeEventListener("canplay", handler);
953    video.play().catch(() => {});
954  });
955  video.load();
956})();
957</script>
957</div></header><main id="content" role="main"><h1 class="visuallyhidden">Sophia&apos;s - Hobe Sound, FL</h1><article class="hide-show-section" data-hidden="no"><style></style><div class="custom_html_1-section section-wrapper" id="custom_html_1"><div class="container"><h2>Your new favorite neighborhood restaurant</h2></div></div></article><article class="hide-show-section" data-hidden="no"><style>
958.about-us-v8-wrapper {
959  padding: 0;
960}
961.about-us-v8-wrapper:before {
962  background-color: #000;
963      background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/v8_bg.jpg');
964    }
965
966
967.about-us-v8-wrapper .container {
968  padding: 0;
969  width: 100%;
970}
971
972
973  
974  
975  
976  #aboutus_v8 .about-us-v8-item-0 .text-wrapper {
977    padding: 70px 23%;
978  }
979
980      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::after,
981    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
982      background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/title_decoration1.png');
983      height: 150px;
984    }
985    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
986      display: block;
987    }
988  
989  
990      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content h3,
991    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content h2:not(.about-title) {
992      color: #fff;
993    }
994  
995  
996  @media (max-width: 1024px) {
997    #aboutus_v8 .about-us-v8-item-0 .text-wrapper {
998      padding: 70px 10%;
999    } 
1000  }
1001
1002  @media (max-width: 767px) {
1003      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-image {
1004        margin: 0;
1005                  height: 300px;
1006              } 
1007  }
1008
1009      #aboutus_v8 .about-us-v8-item-1 {
1010      background-color: #fff;
1011    }
1012  
1013  
1014  
1015  #aboutus_v8 .about-us-v8-item-1 .text-wrapper {
1016    padding: 70px 10%;
1017  }
1018
1019  
1020  
1021      #aboutus_v8 .about-us-v8-item-1 .about-us-v8-content .text-content h3,
1022    #aboutus_v8 .about-us-v8-item-1 .about-us-v8-content .text-content h2:not(.about-title) {
1023      color: #000;
1024    }
1025  
1026  
1027  @media (max-width: 1024px) {
1028    #aboutus_v8 .about-us-v8-item-1 .text-wrapper {
1029      padding: 70px 10%;
1030    } 
1031  }
1032
1033  @media (max-width: 767px) {
1034      #aboutus_v8 .about-us-v8-item-1 .about-us-v8-image {
1035        margin: 6px;
1036                  height: 300px;
1037              } 
1038  }
1039
1040@-webkit-keyframes grow {
1041  from {
1042    opacity: 0;
1043    width: 0px;
1044  }
1045  to {
1046    opacity: 1;
1047    width: 80%;
1048  }
1049}
1050@-moz-keyframes grow {
1051  from {
1052    opacity: 0;
1053    width: 0px;
1054  }
1055  to {
1056    opacity: 1;
1057    width: 80%;
1058  }
1059}
1060@keyframes grow {
1061  from {
1062    opacity: 0;
1063    width: 0px;
1064  }
1065  to {
1066    opacity: 1;
1067    width: 80%;
1068  }
1069}
1070
1071.safari-mac .about-us-v8-item .about-us-v8-image-bar {
1072  width: 80%;
1073}
1074
1075
1076@media (max-width: 767px) {
1077  .about-us-v8-wrapper {
1078    padding: 0;
1079  }
1080  .about-us-v8-wrapper .container {
1081    padding: 0;
1082    width: 100%;
1083  }
1084  .about-us-v8-item {
1085    padding: 0 !important;
1086  }
1087}
1088
1089</style><div class="about-us-v8-wrapper section-wrapper" id="aboutus_v8"><div class="container about-us-v8"><section><div class="about-us-v8-item about-us-v8-item-0 about-us-v8-item-left" style="padding: 1% 0 3%; "><!-- start About us item --><div class="about-us-v8-image about-no-image image-size-cover image-size-mobile-cover" style="width: 0;"><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 100%; 
1090            color: #fff;
1091            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #fff;"><span>Welcome to Diner’s Choice <br/>Award-winning, Sophia’s</span></h2><div class="text-holder"><h3>a neighborhood favorite</h3><p style="text-align:center">Our passion for creating exceptional dining experiences drives everything we do. From the moment you step in, we strive to make you feel at home. Our team is dedicated to serving you with the finest dishes, carefully prepared with the freshest ingredients. </p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/about" target="_self">
1092                          our story                                                      <sp
1092an class="visuallyhidden"> about us</span></a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section><section><div class="about-us-v8-item about-us-v8-item-1 about-us-v8-item-spec-color about-us-v8-item-left" style="padding: 0.7%; "><!-- start About us item --><div class="about-us-v8-image image-size-cover image-size-mobile-cover" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/catering_left.jpg'); width: 50%;
1093                              "><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  content-left" style="width: 50%; 
1094            color: #000;
1095            background: rgba(250, 250, 250, 0);                        text-align: left;"><div class="text-wrapper"><div class="text-content "><h2 class="about-title bar-left" style="color: #000;"><span>Catering for <br/>every occasion</span></h2><div class="text-holder"><h3>tailored catering options</h3><p>Sophia&apos;s offers catering tailored to your event, with fresh dishes and flexible menu options. Whether it&apos;s a small gathering or a larger celebration, the team creates a setup that feels effortless. Sophia&apos;s focuses on quality food and attentive service so you can enjoy your guests.</p></div><div class="buttons-holder buttons-row-parent buttons-left"><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="tel:+17722458182" target="_self">
1096                          catering                                                  </a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section></div></div><!-- For mobile devices animate the about_v8 section on page load if the video is on the cover and this section is 1st or 2nd below the cover. --></article><article class="hide-show-section" data-hidden="no"><div class="reservations-tmt-section tmt-section section-wrapper" id="reservations_tmt"><div class="container"><h2 class="section-header">plan the perfect night</h2><h3>reserve your table</h3><p>Reservations at Sophia&apos;s are recommended to ensure your table is ready when you arrive. Whether you&apos;re planning a quiet dinner or meeting with friends, the team makes the process simple and accommodating. Sophia&apos;s focuses on a smooth, welcoming experience from the moment you book to the moment you&apos;re seated.</p><a class="custom-temp-btn hvr-fade" href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant%20website" target="_self">book a table</a></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1097.slideshow-v2-wrapper .slideshow-controls-btn {
1098  color: rgba(255, 255, 255, 0.8);
1099}
1100
1101</style><div class="slideshow-v2-wrapper" id="slideshow_v2"><div aria-label="slideshow carousel" class="uk-slidenav-position" data-uk-slideshow="data-uk-slideshow" role="region" style="height:650px"><button aria-label="The slideshow is currently playing, pause the slideshow" class="slideshow-controls-btn playing" type="button"><span class="off-screen">slideshow start stop playing</span><i aria-hidden="true" class="fa fa-play"></i><i aria-hidden="true" class="fa fa-pause"></i></button><ul class="uk-dotnav uk-dotnav-contrast uk-position-bottom uk-flex-center"><li data-uk-slideshow-item="0"><a href="" role="button"><span class="off-screen">Slide 1 content</span></a></li><li data-uk-slideshow-item="1"><a href="" role="button"><span class="off-screen">Slide 2 content</span></a></li><li data-uk-slideshow-item="2"><a href="" role="button"><span class="off-screen">Slide 3 content</span></a></li></ul><a class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous" data-uk-slideshow-item="previous" href=""><span class="off-screen">previous slide</span></a><a class="uk-slidenav uk-slidenav-contrast uk-slidenav-next" data-uk-slideshow-item="next" href=""><span class="off-screen">next slide</span></a><ul class="uk-slideshow "><li><img alt="slideshow photo number 1" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/d3/5388d0fef94089b7a1e42b89144474/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>where guests feel at home</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="/about" target="_self">About us</a></div></div></div></li><li><img alt="slideshow photo number 2" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/16/e3cd6abab7428790a4b4a07c6c282d/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>your private dining experience</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2
1101-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant%20website" target="_self">Reservations</a></div></div></div></li><li><img alt="slideshow photo number 3" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>catering for every occasion</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="tel:+17722458182" target="_self">catering</a></div></div></div></li></ul></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1102.about-us-v8-wrapper.custom-about-us-v8-wrapper {
1103  padding: ;
1104}
1105.about-us-v8-wrapper.custom-about-us-v8-wrapper:before {
1106  background-color: #fff;
1107      background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/v8custom_bg.jpg');
1108  
1109      -webkit-filter: none;
1110    -moz-filter: none;
1111    -o-filter: none;
1112    -ms-filter: none;
1113    filter: none;
1114  }
1115
1116
1117.about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
1118  padding: 0;
1119  width: 100%;
1120}
1121
1122
1123  
1124  
1125  
1126  #aboutus_v8_custom .about-us-v8-item-0 .text-wrapper {
1127    padding: 70px 22% 90px;
1128  }
1129
1130      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::after,
1131    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
1132      background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/title_decoration3.png');
1133      height: 130px;
1134    }
1135    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
1136      display: block;
1137    }
1138  
1139  
1140      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content h3, 
1141    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content h2:not(.about-title) {
1142      color: #000;
1143    }
1144  
1145  
1146  @media (max-width: 1024px) {
1147    #aboutus_v8_custom .about-us-v8-item-0 .text-wrapper {
1148      padding: 70px 10% 90px;
1149    } 
1150  }
1151
1152  @media (max-width: 767px) {
1153      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-image {
1154        margin: 0;
1155                  height: 300px;
1156              } 
1157  }
1158
1159
1160      #aboutus_v8_custom .about-us-v8-item-1 {
1161      background-color: #fff;
1162    }
1163  
1164  
1165  
1166  #aboutus_v8_custom .about-us-v8-item-1 .text-wrapper {
1167    padding: 70px 10%;
1168  }
1169
1170  
1171  
1172      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content h3, 
1173    #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content h2:not(.about-title) {
1174      color: #000;
1175    }
1176  
1177  
1178  @media (max-width: 1024px) {
1179    #aboutus_v8_custom .about-us-v8-item-1 .text-wrapper {
1180      padding: 70px 10%;
1181    } 
1182  }
1183
1184  @media (max-width: 767px) {
1185      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-image {
1186        margin: 6px;
1187                  height: 300px;
1188              } 
1189  }
1190
1191
1192@-webkit-keyframes grow {
1193  from {
1194    opacity: 0;
1195    width: 0px;
1196  }
1197  to {
1198    opacity: 1;
1199    width: 80%;
1200  }
1201}
1202@-moz-keyframes grow {
1203  from {
1204    opacity: 0;
1205    width: 0px;
1206  }
1207  to {
1208    opacity: 1;
1209    width: 80%;
1210  }
1211}
1212@keyframes grow {
1213  from {
1214    opacity: 0;
1215    width: 0px;
1216  }
1217  to {
1218    opacity: 1;
1219    width: 80%;
1220  }
1221}
1222
1223.safari-mac .custom-about-us-v8-wrapper .about-us-v8-item .about-us-v8-image-bar {
1224  width: 80%;
1225}
1226
1227
1228@media (max-width: 767px) {
1229  .about-us-v8-wrapper.custom-about-us-v8-wrapper {
1230    padding: 0;
1231  }
1232  .about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
1233    padding: 0;
1234    width: 100%;
1235  }
1236  .custom-about-us-v8-wrapper .about-us-v8-item {
1237    padding: 0 !important;
1238  }
1239}
1240
1241</style><div class="about-us-v8-wrapper custom-about-us-v8-wrapper section-wrapper" id="aboutus_v8_custom"><div class="container about-us-v8"><section><div class="about-us-v8-item about-us-v8-item-0 about-us-v8-item-left" style="padding: 0; "><!-- start About us item --><div class="about-us-v8-image about-no-image image-size-cover image-size-mobile-cover" style="width: 0;"><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 100%; 
1242            color: #000;
1243            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #000;"><span>where music meets dining</span></h2><div class="text-holder"><h3>the sound of a good time</h3><p>Sophia&apos;s hosts events that bring people together with great food, a relaxed setting, and live music that sets the tone for the night. Whether you&apos;re stopping in for an evening out or planning something special, each event is designed to feel easy and enjoyable. From the music to the service, Sophia&apos;s creates an atmosphere where guests can settle in and stay awhile.</p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/events" target="_self">
1244                            events                                                      </a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section><section><div class="about-us-v8-item about-us-v8-item-1 about-us-v8-item-spec-color about-us-v8-item-right" style="padding: 0.7%; "><!-- start About us item --><div class="about-us-v8-image visible-xs image-size-cover image-size-mobile-cover" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/parties_right.jpg'); width: 50%;
1245                              "><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  content-left" style="width: 50%; 
1246            color: #000;
1247            background: rgba(250, 250, 250, 0);                        text-align: left;"><div class="text-wrapper"><div class="text-content "><h2 class="about-title bar-left" style="color: #000;"><span>Groups &amp; Parties Reservations</span></h2><div class="text-holder"><h3>celebrate with us today</h3><p>Sophia&apos;s offers a welcoming setting for private parties, with flexible options to match your occasion. Whether it&apos;s a birthday, celebration, or gathering with friends, the team helps create an experience that feels smooth and well organized. Sophia&apos;s focuses on good food and attentive service so you can enjoy every moment with your guests.</p></div><div class="buttons-holder buttons-row-parent buttons-left"><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/party" target="_self">
1248                            book a party                                                      </a></div></div></div></div></div><!-- start Right About us image --><div class="about-us-v8-image hidden-xs image-size-cover image-size-mobile-cover" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/parties_right.jpg'); width: 50%;
1249                                  "></div><!-- end Right About us image --></div><!-- end About us item --></section></div></div><!-- For mobile devices animate the about_v8 section on page load if the video is on the cover and this section is 1st or 2nd below the cover. --></article><article class="hide-show-section" data-hidden="no"><style>
1250
1251
1252.reviews-v2-wrapper .carousel-controls .carousel-control-btn {
1253  color: #fff;
1254}
1255</style><div class="carousel-wrapper reviews-v2-wrapper section-wrapper" id="reviews_v2"><h2 class="section-header">What our Clients Say</h2><div class="container"><div aria-label="reviews carousel" class="row" role="region"><div class="carousel-controls" id="ReviewesCarouselControls"><button aria-label="The Reviews carousel is currently playing, pause the Reviews carousel" class="carousel-control-btn stop-carousel" type="button"><i aria-hidden="true" class="fa fa-pause"></i><i aria-hidden="true" class="fa fa-play"></i><span class="visuallyhidden"> Start stop reviews carousel</span></button></div><ul class="owl-dots"><li class="owl-dot"></li><li class="owl-dot"></li><li class="owl-dot"></li></ul><div class="col-md-12 col-xs-12"><div class="owl-carousel owl-theme"><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1256                  John k:
1257                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>I recently had the pleasure of dining at Sophia&apos;s in Hobe Sound. The crab cakes were great. The beef tenderloin sliders are must. The lobster and crab bisque was one of the best I&apos;ve had. The outdoor seating area is spacious and there was live music. Definitely will be back.</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1258                  Lori C:
1259                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>This place is wonderful. Great service, smiling welcoming faces, and great food. They are very generous here. My Thai roasted duck was a half duck! I ate it all because it was so good! And live music on a Tuesday? Bonus!!</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1260                  Joe C:
1261                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>Went to Sophia&apos;s to celebrate a birthday. Sat out by the bar for drinks and appetizers during Happy Hour. This was one of the best Happy Hours we&apos;ve ever experienced. Discounted wine and specialty drinks. Coconut shrimp, flat bread, beef sliders and more. All excellent. 5 stars all around.</p></blockquote></div></div></section></div></div></div></div></div></article><article class="hide-show-section" data-hidden="no"><style></style><div class="gallery-v4-wrapper section-wrapper" id="gallery_v4"><button class="visuallyhidden skip-content gallery-toggle gt-off">Skip Photo Gallery</button><div class="container"><div class="gallery-v4-grid"><div class="gallery-v4-grid-sizer"></div><div class="gallery-v4-grid-item gallery-v4-grid-item--width2 gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/full"><div class="img"><img alt="Ceviche served with chips avocado and citrus garnish." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/full" data-sizes="auto" data-src="//static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/full" data-srcset="//static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/small 200w, //static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/medium 400w, //static.spotapps.co/spots/95/658dc89c5f4fc8b18a96da25613078/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/full"><div class="img"><img alt="Fried calamari served with dipping sauce and lemon, accompanied by a cocktail." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/full" data-sizes="auto" data-src="//static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/full" data-srcset="//static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/small 200w, //static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/medium 400w, //static.spotapps.co/spots/d1/506e18d0e24148a6f3b7771a6de1e0/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/full"><div class="img"><img alt="Grilled mahi salad with mixed greens, fried plantains, and sliced avocado." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/full" data-sizes="auto" data-src="//static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/full" data-srcset="//static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/small 200w, //static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/medium 400w, //static.spotapps.co/spots/0d/4787c84065413eb87fec2589a264e7/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/full"><div class="img"><img alt="Tenderloin sliders served with a glass of beer." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/full" data-sizes="auto" data-src="//static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/full" data-srcset="//static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/small 200w, //static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/medium 400w, //static.spotapps.co/spots/79/235351749b4ef4ad5183ae9f7e8452/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/full"><div class="img"><img alt="Shrimp pesto flatbread with tomatoes and melted cheese." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/full" data-sizes="auto" data-src="//static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/full" data-srcset="//static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/small 200w, //static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/medium 400w, //static.spotapps.co/spots/ce/80b7ae5ec1492caaa52a319971b79b/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/full"><div class="img"><img alt="Raspberry cheesecake on a white plate with red fruit drizzle and whipped cream." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/full" data-sizes="auto" data-src="//static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/full" data-srcset="//static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/small 200w, //static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/medium 400w, //static.spotapps.co/spots/a5/f215e8025a4f1f8214ed80ddced247/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/full"><div class="img"><img alt="Cajun shrimp sausage pasta served with toasted bread." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/full" data-sizes="auto" data-src="//static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/full" data-srcset="//static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/small 200w, //static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/medium 400w, //static.spotapps.co/spots/01/15ebbe0f0b4574ba745a8d870bbfc6/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-v4-grid-item--width2 gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/full"><div class="img"><img alt="Blue martini cocktail in a stem glass." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/full" data-sizes="auto" data-src="//static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/full" data-srcset="//static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/small 200w, //static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/medium 400w, //static.spotapps.co/spots/4f/8921671cad449cb35ac88512a83fe2/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/full"><div class="img"><img alt="Two cocktails on bar counter with neon restaurant sign on the wall in the background." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/full" data-sizes="auto" data-src="//static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/full" data-srcset="//static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/small 200w, //static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/medium 400w, //static.spotapps.co/spots/3e/65b15328714792ab98270d63089148/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/full"><div class="img"><img alt="Steak and lobster served with asparagus and mashed potatoes." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/full" data-sizes="auto" data-src="//static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/full" data-srcset="//static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/small 200w, //static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/medium 400w, //static.spotapps.co/spots/c0/34cf47bb7849a79cdb4f36ac2c54f9/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/full"><div class="img"><img alt="Cheesecake served with Raspberry-Sorbet, paired with a chocolate martini." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/full" data-sizes="auto" data-src="//static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/full" data-srcset="//static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/small 200w, //static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/medium 400w, //static.spotapps.co/spots/72/bff2e85d0f4059afe0692bf201e8bc/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/full"><div class="img"><img alt="Grilled pork chop served with salad and roasted plantains." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/full" data-sizes="auto" data-src="//static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/full" data-srcset="//static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/small 200w, //static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/medium 400w, //static.spotapps.co/spots/64/96392bdea243a29f909d6b97437bc0/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/51/d0cfef0ad64291
1261a081b75bdf9d1fd6/full"><div class="img"><img alt="Creamy seafood bisque served with crackers." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/51/d0cfef0ad64291a081b75bdf9d1fd6/full" data-sizes="auto" data-src="//static.spotapps.co/spots/51/d0cfef0ad64291a081b75bdf9d1fd6/full" data-srcset="//static.spotapps.co/spots/51/d0cfef0ad64291a081b75bdf9d1fd6/small 200w, //static.spotapps.co/spots/51/d0cfef0ad64291a081b75bdf9d1fd6/medium 400w, //static.spotapps.co/spots/51/d0cfef0ad64291a081b75bdf9d1fd6/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/full"><div class="img"><img alt="Steak and lobster served with mashed potatoes and asparagus." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/full" data-sizes="auto" data-src="//static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/full" data-srcset="//static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/small 200w, //static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/medium 400w, //static.spotapps.co/spots/6c/01fd03629f456598b69f59ad4cae09/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div></div></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1262.map-newsletter .text-wrapper:before {
1263      background-image: url('https://static.spotapps.co/website_images/ab_websites/737352_website_v1/nl_bg.jpg');
1264    }
1265
1266</style><div class="googlemap-v3-wrapper openstreetmap-v3-wrapper maps-wrapper section-wrapper" id="openstreetmap_v3"><div class="row map-holder"><section><div class="col-md-6 col-sm-12 col-xs-12 map-item map-newsletter"><div class="text-wrapper"><div class="text-content"><h2 class="section-header">Stay with us!</h2>
1266<script id="sph-widget-737352" type="text/javascript">
1267                  (function() {
1268                      function async_load(){
1269                          var s = document.createElement('script');
1270                          s.type = 'text/javascript';
1271                          s.async = true;
1272                          s.src = 'https://www.spothopperapp.com/spots/737352/widgets/newsletter.js?template=newsletter_widget1';
1273                          var embedder = document.getElementById('sph-widget-737352');
1274                          embedder.parentNode.insertBefore(s, embedder);
1275
1276                          // Modify widget's html
1277                          setTimeout(function(){
1278                            $( '<span class="bar"></span>' ).insertAfter( '.sph-email-input' );
1279                            $('.sph-submit-button').addClass('custom-temp-btn hvr-fade');
1280
1281                            // Replace <h2> with <p>
1282                            document.querySelectorAll('.section-wrapper .sph-email-subscription h2').forEach(h2 => {
1283                              const p = document.createElement('p');
1284
1285                              // Copy all attributes from h2 to p
1286                              [...h2.attributes].forEach(attr => {
1287                                  p.setAttribute(attr.name, attr.value);
1288                              });
1289
1290                              // Copy inner HTML content
1291                              p.innerHTML = h2.innerHTML;
1292
1293                              // Replace h2 with p
1294                              h2.parentNode.replaceChild(p, h2);
1295                            });
1296                          }, 2000);
1297
1298                      }
1299                      if (window.attachEvent)
1300                          window.attachEvent('onload', async_load);
1301                      else
1302                          window.addEventListener('load', async_load, false);
1303                  })();
1304                  </script>
1304</div></div></div></section><section><div class="col-md-6 col-sm-12 col-xs-12 map-item"><div aria-label="OpenStreet map" id="map-v3-container" role="region"></div></div></section></div><div class="map-footer text-center"><div class="triangle"></div></div></div></article><article class="hide-show-section" data-hidden="no"><footer class="contact-holder"><div class="contact-v4 section-wrapper" id="contact_v4"><div class="container"><div class="contact-items-holder"><div class="contact-item-pair contact-item-pair-0"><div class="image-holder"><img alt="" class="contact-decoration-img" src="https://static.spotapps.co/website_images/ab_websites/737352_website_v1/logo_contact.png"/></div><div class="contact-item contact-item-left"><div class="contact-location content-container left-content"><div class="hours-title"><h2>Location</h2></div><div class="address" data-gbp-injected="business-name">Sophia&apos;s</div><div class="address">11970 SE Dixie Hwy</div><div class="city-state">Hobe Sound, FL <div class="zip">33455</div></div><div class="address" data-gbp-injected="get-directions"><a aria-label="Get directions to Sophia's, opens in a new tab" class="get-directions-footer-link" href="https://www.google.com/maps/dir/?api=1&destination=Sophia%27s&destination_place_id=ChIJ73A3plTZ3ogRbjb5JgBNkh0" rel="noopener" style="text-decoration: underline; display: inline-block; padding: 5px 0;" target="_blank"><i aria-hidden="true" class="fa fa-map-marker"></i> Get Directions</a></div></div></div><div class="contact-item contact-item-right"><div class="find-us content-container right-content"><div class="social"><div class="social-title"><h2>Find us on</h2></div><div class="social-links social-icons-holder social-square"><a class="contact-icon" href="https://www.facebook.com/393461760517412" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="contact-icon" href="https://www.instagram.com/sophiashobesound" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="contact-icon google-icon" href="https://www.google.com/search?sca_esv=b462a25ec03f4d73&rlz=1C5CHFA_enRS1159RS1159&sxsrf=ANbL-n4MR25COj10PaxKp3hPSfUZab3VMQ:1776769442265&q=Sophia%27s,+11970+SE+Dixie+Hwy&si=AL3DRZEsmMGCryMMFSHJ3StBhOdZ2-6yYkXd_doETEE1OR-qOeco_J5lWjYjwIivGwqfnep53OMFGcDOKyUANj90rqYElcWwlwoZ38WQ1jX_pmRsjKYlDKIfhMNWKeAvV4vSLJ4Mc7n7&sa=X&ved=2ahUKEwiVydD75f6TAxVBSPEDHUg_NcMQrrQLegQIGhAB&biw=1512&bih=755&dpr=2&zx=1776769445704#lrd=0x88ded954a63770ef:0x1d924d0026f9366e,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></div></div></div></div></div><div class="contact-item-pair contact-item-pair-1"><div class="contact-item contact-item-left"><div class="hours content-container left-content"><div class="hours-title"><h2>Hours</h2></div><div class="days-group"><div class="days">
1305											Sun, Mon, Tue, Wed, Thur, Fri, Sat<span class="hidden-xs">:</span></div><div class="from-to">
1306											3:00 PM - 9:00 PM										</div></div></div></div><div class="contact-item contact-item-right"><div class="find-us content-container right-content"><div class="contact-us"><div class="contact-us-title"><h2>Contact us</h2></div><p><a href="tel:+17722458182" id="contact_us_v4_section_phone_link"><span class="visuallyhidden">Call us at </span>(772)-245-8182</a></p><p><a href="mailto:[email protected]"><span class="visuallyhidden">Write us at </span>[email protected]</a></p></div></div></div></div></div></div></div></footer></article><article class="hide-show-section" data-hidden="no"><div class="footer-v2-wrapper" id="footer_v2"><div class="container"><div class="row"><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"><p>Powered by: <a aria-label="SpotHopper homepage" class="applicationsLink" href="https://www.spothopperapp.com/" target="_blank"><img alt="SpotHopper logo" class="logoimg" src="https://static.spotapps.co/website_images/default_template_images/spothopper_logo.png"/></a></p></div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"><a aria-label="Website design, Social Media marketing, and Email marketing provided by SpotHopper. Contact Us form" class="applicationsLink" href="https://www.spothopperapp.com/contact-us?contact_reason=demo" target="_blank">Website design, Social Media marketing and Email marketing provided by SpotHopper.</a></div></div></div></div></article></main><style type="text/css">
1307    .navbar-fixed-bottom.nav-v1 {
1308        bottom: -100px;
1309    }
1310    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
1311        background-color: #000;
1312    }
1313    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
1314    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
1315      fill: #000;
1316    }
1317    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
1318        color: #fff;
1319    }
1320    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
1321    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
1322        color: #DA353C;
1323    }
1324</style><nav aria-label="mobile footer" class="navbar-fixed-bottom nav-v1" id="bottom-navbar"><div><ul class="nav navbar-nav navbar-right"><li class="bottom-list-item "><a class="bottom-link " href="https://www.opentable.com/booking/restref/availability?lang=en-US&correlationId=f1f0ccfb-cabb-47f2
1324-8722-fe95c1f3a02b&restRef=1378678&otSource=Restaurant%20website" id="bottom_link_3" target="_self">
1325                        Reserve                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/party" id="bottom_link_5" target="_self">
1326                        Parties                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=737352&callback_url=http://sophiashobesound.com/" id="bottom_link_7" target="_self">
1327                        Jobs                    </a></li></ul></div></nav><div aria-hidden="true" aria-label="newsletter dialog" class="modal fade custom-modal" id="CustomModal" role="dialog" tabindex="-1"><div class="modal-dialog modal-md" role="document"><div class="modal-content"><div class="custom-modal-close"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><div class="modal-body"><div class="row"><div class="col-md-12"><div class="newsletter-popup"><h2 class="section-header">Stay with us!</h2>
1327<script id="sph-widget-2ce08bd156a46491d83342eb4a039092" type="text/javascript">
1328    (function() {
1329        function async_load(){
1330            var s = document.createElement('script');
1331            s.type = 'text/javascript';
1332            s.async = true;
1333            s.src = 'https://www.spothopperapp.com/spots/737352/widgets/newsletter.js?template=newsletter_widget2';
1334            var embedder = document.getElementById('sph-widget-2ce08bd156a46491d83342eb4a039092');
1335            embedder.parentNode.insertBefore(s, embedder);
1336
1337            // Modify widget's html
1338            setTimeout(function(){
1339                document.querySelectorAll('.custom-modal .sph-email-subscription h2').forEach(h2_p => {
1340                    const p_p = document.createElement('p');
1341
1342                    // Copy all attributes from h2 to p
1343                    [...h2_p.attributes].forEach(attr => {
1344                        p_p.setAttribute(attr.name, attr.value);
1345                    });
1346
1347                    // Copy inner HTML content
1348                    p_p.innerHTML = h2_p.innerHTML;
1349
1350                    // Replace h2 with p
1351                    h2_p.parentNode.replaceChild(p_p, h2_p);
1352                });
1353            }, 2000);
1354        }
1355        if (window.attachEvent)
1356            window.attachEvent('onload', async_load);
1357        else
1358            window.addEventListener('load', async_load, false);
1359    })();
1360    </script>
1360</div></div></div></div></div></div></div>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/jquery/jquery.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/jquery/jquery.browser.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/bootstrap/js/bootstrap.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/owlcarousel/owl.carousel.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/masonry/masonry.pkgd.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/uikit/js/uikit.min.js" type="text/javascript"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/uikit/js/slideshow.min.js" type="text/javascript"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/uikit/js/slideshow-fx.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/imagesloaded/imagesloaded.pkgd.min.js"></script>
1360<script src="https://static.spotapps.co/iframeResizer.js" type="text/javascript"></script>
1360<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.js"></script>
1360<script src="//static.spotapps.co/web-lib/leaflet/leaflet-providers.js"></script>
1360<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet-gesture-handling.min.js"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/jquery.fancybox.js" type="text/javascript"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/jquery.fancybox.pack.js" type="text/javascript"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7" type="text/javascript"></script>
1360<script src="https://static.spotapps.co/web/sophiashobesound--com/lib/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6" type="text/javascript"></script>
1360<script type="text/javascript">
1361
1362
1363
1364	$("#bottom_link_3").on("click", function(){
1365		if (ga_check())
1366			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
1367	});
1368	$("#bottom_link_5").on("click", function(){
1369		if (ga_check())
1370			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
1371	});
1372	$("#bottom_link_7").on("click", function(){
1373		if (ga_check())
1374			universal_ga('send', 'event', 'Button', 'Click', 'Jobs');
1375	});
1376  $('.header-logo, .nav-v2-home-btn').click(function(event) {
1377    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
1378      event.preventDefault();
1379      var windowScrollTop = $(window).scrollTop();
1380      if(windowScrollTop > 150) {
1381        $('html, body').animate({scrollTop: 0}, 750);
1382      }
1383    }
1384  });
1385
1386$(".banner-section a.banner-pin").click(function(e) {
1387    // target element id
1388    var id = $(this).attr('href');
1389
1390    // target element
1391    var section = $(id);
1392    if (section.length === 0) {
1393        return;
1394    }
1395
1396    // prevent standard hash navigation (avoid blinking in IE)
1397    e.preventDefault();
1398
1399    // top position relative to the document
1400    var pos = section.offset().top - 100 + 10;
1401
1402    // animated top scrolling
1403    $('body, html').animate({scrollTop: pos}, 750);
1404});
1405
1406$(document).ready(function() {
1407  var navHeight = $('nav.navbar').height();
1408  $('html').css("scroll-padding-top", navHeight);
1409});
1410$(document).on('scroll', function (e) {
1411    if($(document).scrollTop() > 0) {
1412      $('.navbar.nav-v6').addClass('nav-scroll');
1413    }else {
1414      $('.navbar.nav-v6').removeClass('nav-scroll');
1415    }
1416});
1417
1418function scrollStop (callback, refresh = 66) {
1419
1420	// Make sure a valid callback was provided
1421	if (!callback || typeof callback !== 'function') return;
1422
1423	// Setup scrolling variable
1424	let isScrolling;
1425
1426	// Listen for scroll events
1427	window.addEventListener('scroll', function (event) {
1428
1429		// Clear our timeout throughout the scroll
1430		window.clearTimeout(isScrolling);
1431
1432		// Set a timeout to run after scrolling ends
1433		isScrolling = setTimeout(callback, refresh);
1434
1435	}, false);
1436
1437}
1438
1439$(function() {
1440  setDropDownMenuWidth();
1441
1442  // Function to set drop-down menu position (css top property)
1443  setDropDownMenuTop();
1444
1445  function setDropDownMenuWidth() {
1446    var tabs_list = $('.navbar-collapse .navbar-nav');
1447    $(tabs_list).find('li.drop-down-link').each(function() {
1448      var sub_menu_width = $(this).outerWidth(true);
1449      if (sub_menu_width < 100) {
1450        sub_menu_width = 100;
1451      }
1452      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
1453
1454    });
1455  };
1456
1457  function setDropDownMenuTop() {
1458    var sub_menu_top = ($('.navbar.nav-v6 .container').outerHeight() + $('.drop-down-link').outerHeight())/2;
1459    $('li.drop-down-link .sub-menu').css('top', sub_menu_top-2 +'px');
1460  };
1461
1462  $( window ).resize(function() {
1463    setDropDownMenuWidth();
1464    setDropDownMenuTop();
1465  });
1466
1467  $(window).on('scroll', function (e) {
1468    setDropDownMenuTop();
1469  });
1470
1471  scrollStop(function () {
1472    setDropDownMenuTop();
1473    if($(document).scrollTop() == 0) {
1474      setTimeout(setDropDownMenuTop, 200);
1475    }
1476  });
1477
1478  $('.nav a:not(.drop-down)').on('click', function () {
1479    $('.navbar-collapse').collapse('hide');
1480  });
1481
1482});
1483
1484$( '.drop-down-link .drop-down' ).click(function(event) {
1485  event.preventDefault();
1486  event.stopPropagation();
1487  var drop_down = $(this).closest('.drop-down-link');
1488  var drop_down_a = $(this);
1489
1490  if($(drop_down_a).attr("aria-expanded") == "true") { 
1491    $(drop_down_a).attr("aria-expanded",false)
1492  } else { 
1493    $(drop_down_a).attr("aria-expanded",true)
1494  }
1495
1496  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
1497  if ( $(sub_menu).is( ':hidden' ) ) {
1498    $(sub_menu).slideDown();
1499    $(drop_down).addClass('active');
1500  } else {
1501    $(sub_menu).slideUp();
1502    $(drop_down).removeClass('active');
1503  }
1504});
1505$('#navbar-collapse-1').on('hide.bs.collapse', function (e) {
1506  var clickedElement = $(event.target);
1507  if (clickedElement.hasClass('drop-down')) {
1508    return false;
1509  }
1510});
1511$('#navbar-collapse-1').on('hidden.bs.collapse', function () {
1512  closeOpenedDropDownMenus();
1513  function closeOpenedDropDownMenus() {
1514    var tabs_list = $('.navbar-collapse .navbar-nav');
1515    $(tabs_list).find('li.drop-down-link').each(function() {
1516      if( $(this).hasClass('active') ) {
1517        var sub_menu = $(this).find('.sub-menu');
1518        $(sub_menu).slideUp();
1519        $(this).removeClass('active');
1520      }
1521    });
1522  };
1523});
1524
1525const mobileDrop = document.querySelector('.mobile-full-height #navbar-collapse-1 .navbar-nav');
1526const mobileDropButton = document.querySelector('.mobile-full-height .navbar-toggle');
1527const mobileHeader = document.querySelector('.mobile-full-height .navbar-header');
1528
1529mobileDropButton?.addEventListener('click', () => {
1530  mobileHeaderBottomPos = mobileHeader.getBoundingClientRect().bottom;
1531  mobileDrop.style.paddingTop = mobileHeaderBottomPos + 'px';
1532});
1533
1534(function () {
1535  const isSafari = (() => {
1536    const ua = navigator.userAgent;
1537    return ua.includes('Safari') && // Safari must be present
1538            !ua.includes('Chrome') && // Exclude Chrome (has 'Safari' in UA)
1539            !ua.includes('Edg'); // Exclude Edge
1540  })();
1541
1542  if (!isSafari) return;
1543  const menu = document.getElementById('navbar-collapse-1');
1544
1545  // When coming back from a _blank tab or bfcache restore, force a repaint.
1546  function nudgeRepaint() {
1547    if (!menu || !menu.classList.contains('in')) return;
1548    // toggle display to flush rendering, then poke will-change for one frame
1549    const prev = menu.style.display;
1550    menu.style.display = 'none';
1551    // force reflow
1552    void menu.offsetHeight;
1553    menu.style.display = prev || '';
1554    menu.style.willChange = 'opacity';
1555    requestAnimationFrame(() => { menu.style.willChange = 'auto'; });
1556  }
1557
1558  document.addEventListener('visibilitychange', () => {
1559    if (document.visibilityState === 'visible') nudgeRepaint();
1560  });
1561
1562  // iOS/macOS Safari often restores pages from bfcache
1563  window.addEventListener('pageshow', (e) => {
1564    if (e.persisted) nudgeRepaint();
1565    else nudgeRepaint();
1566  }, { passive: true });
1567
1568  // Keep menu open when clicking links that open in a new tab
1569  menu?.addEventListener('click', (e) => {
1570    const a = e.target.closest('a');
1571    if (!a) return;
1572    if (a.target === '_blank') {
1573      // avoid any delegated "close on link click" handlers firing first
1574      e.stopPropagation();
1575      // allow navigation; after we return, repaint nudge will run
1576    }
1577  }, true);
1578})();
1579
1580document.querySelectorAll('.navbar .navbar-nav > li.cta-nav-tab').forEach((li) => {
1581  li.addEventListener('click', (e) => {
1582    if (e.defaultPrevented) return;
1583    
1584    if (e.target.closest('a')) return;
1585
1586    const link = li.querySelector('a[href]');
1587    if (!link) return;
1588
1589    if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1 || link.target === '_blank') {
1590      window.open(link.href, link.target || '_blank');
1591      return;
1592    }
1593
1594    link.click();
1595  });
1596
1597  li.addEventListener('keydown', (e) => {
1598    if ((e.key === 'Enter' || e.key === ' ') && !e.target.closest('a')) {
1599      const link = li.querySelector('a[href]');
1600      if (!link) return;
1601      e.preventDefault();
1602      link.click();
1603    }
1604  });
1605});
1606  $(document).ready(function() {
1607    var video = $("#coverVideo")[0];
1608
1609    // Cover video Play/pause
1610    $(".video-controls-btn").click(function () {
1611      if (video.paused) {
1612        video.play();
1613        $(".video-controls-btn").focus();
1614        $(".video-controls-btn i.fa-play").hide();
1615        $(".video-controls-btn i.fa-pause").show();
1616        $(".video-controls-btn").attr("aria-label", "The decorative video is currently playing, pause the video");
1617        $(".video-controls-btn .off-screen").text("The decorative video is currently playing");
1618      } else {
1619        video.pause();
1620        $(".video-controls-btn").focus();
1621        $(".video-controls-btn i.fa-play").show();
1622        $(".video-controls-btn i.fa-pause").hide();
1623        $(".video-controls-btn").attr("aria-label", "The decorative video is currently paused, play the video");
1624        $(".video-controls-btn .off-screen").text("The decorative video is currently paused");
1625      }
1626    });
1627    // Cover video sound on/off
1628    if (video.muted) {
1629        $(".video-volume-btn").addClass('off');
1630    }
1631
1632    $(".video-volume-btn").click(function () {
1633      if (video.muted) {
1634        video.muted = false;
1635        $(".video-volume-btn").removeClass('off');
1636        $(".video-volume-btn").addClass('on');
1637        $(".video-volume-btn").attr("aria-label", "The decorative video sound is on, turn it off");
1638        $(".video-volume-btn .off-screen").text("The decorative video sound is on");
1639      } else {
1640        video.muted = true;
1641        $(".video-volume-btn").removeClass('on');
1642        $(".video-volume-btn").addClass('off');
1643        $(".video-volume-btn").attr("aria-label", "The decorative video sound is off, turn it on");
1644        $(".video-volume-btn .off-screen").text("The decorative video sound is off");
1645      }
1646    });
1647  });
1648$(document).ready(function() {
1649
1650  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && $(window).width() > 767) {
1651
1652    // Turn Off animations on Safari browser for Mac desktop
1653    $('html').addClass('safari-mac');
1654
1655  }
1656  else {
1657
1658    var animation_item_elements = $('.about-us-v8-item');
1659    var window_var = $(window);
1660
1661    function check_if_item_in_view() {
1662    var window_var_height = window_var.height();
1663    var window_var_top_position = window_var.scrollTop();
1664    var window_var_bottom_position = (window_var_top_position + window_var_height/2 + 100);
1665
1666    $.each(animation_item_elements, function() {
1667      var element_var = $(this);
1668      var element_var_height = element_var.outerHeight();
1669      var element_var_top_position = element_var.offset().top;
1670      var element_var_bottom_position = (element_var_top_position + element_var_height/2 + 100);
1671
1672      //check to see if this current container is within viewport
1673      if ((element_var_bottom_position >= window_var_top_position) &&
1674          (element_var_top_position <= window_var_bottom_position)) {
1675        element_var.addClass('animate');
1676      } else {
1677        // element_var.removeClass('in-view');
1678      }
1679    });
1680    }
1681
1682    window_var.on('scroll resize', check_if_item_in_view);
1683    window_var.trigger('scroll');
1684
1685  }
1686
1687
1688});
1689  $(document).ready(function() {
1690
1691    if ( $(window).width() < 768 ) {
1692
1693      var home_sections = $('article');
1694      var home_section_id;
1695      var about_v8_section_position;
1696
1697      for (var i = 0; i < home_sections.length; i++) {
1698        home_section_id = $(home_sections[i]).find(".section-wrapper").attr("id");
1699        if (home_section_id == "aboutus_v8") {
1700          about_v8_section_position = i;
1701        }
1702      }
1703
1704      if ( (about_v8_section_position == 0) || (about_v8_section_position == 1) ) {
1705        // Turn Off animations
1706        $('html').addClass('safari-mac');
1707      }
1708    }
1709
1710  });
1711  $(document).ready(function() {
1712    
1713    var slideshow = UIkit.slideshow('[data-uk-slideshow]', {
1714      autoplay: true,
1715      height:	'100%',
1716      animation: 'scale',
1717      duration:	500,
1718      autoplayInterval:	4000,
1719      pauseOnHover: false
1720    });
1721
1722    //play or pause slideshow functions
1723    $('.slideshow-v2-wrapper .slideshow-controls-btn').click(function () {
1724      if($(this).hasClass('playing')){
1725        slideshow.stop();
1726        $(this).removeClass('playing');
1727        $(this).addClass('paused');
1728        $(this).attr( "aria-label", "The slideshow is currently paused, play the slideshow");
1729      }else {
1730        slideshow.start();
1731        $(this).removeClass('paused');
1732        $(this).addClass('playing');
1733        $(this).attr( "aria-label", "The slideshow is currently playing, pause the slideshow");
1734      }
1735    });
1736
1737    $('.slideshow-v2-wrapper .uk-dotnav a, .slideshow-v2-wrapper a.uk-slidenav').click(function () {
1738      $('.slideshow-v2-wrapper .slideshow-controls-btn').removeClass('playing');
1739      $('.slideshow-v2-wrapper .slideshow-controls-btn').addClass('paused');
1740      $('.slideshow-v2-wrapper .slideshow-controls-btn').attr( "aria-label", "The slideshow is currently paused, play the slideshow");
1741    });
1742
1743    (function( func ) {
1744      $.fn.addClass = function() { // replace the existing function on $.fn
1745          func.apply( this, arguments ); // invoke the original function
1746          this.trigger('classChanged'); // trigger the custom event
1747          return this; // retain jQuery chainability
1748      }
1749    })($.fn.addClass); // pass the original function as an argument
1750    
1751    (function( func ) {
1752        $.fn.removeClass = function() {
1753            func.apply( this, arguments );
1754            this.trigger('classChanged');
1755            return this;
1756        }
1757    })($.fn.removeClass);
1758    $('.uk-slideshow li').each(function(index) {
1759      $(this).find('.custom-temp-btn').attr("tabindex", -1);
1760      $(this).on('classChanged', function(){
1761        if($(this).hasClass('uk-active')){
1762          $(this).find('.custom-temp-btn').attr("tabindex", 0);
1763          $(slideDot[index]).attr('aria-current', 'true');
1764        } else {
1765          $(this).find('.custom-temp-btn').attr("tabindex", -1);
1766          $(slideDot[index]).attr('aria-current', 'false');
1767        }
1768      });
1769    });
1770
1771    var slideDot = $('.slideshow-v2-wrapper .uk-dotnav li a');
1772
1773    slideDot.attr('aria-current', 'false');
1774    $(slideDot[0]).attr('aria-current', 'true');
1775
1776  });
1777
1778$(document).ready(function() {
1779
1780  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && $(window).width() > 767) {
1781
1782    // Turn Off animations on Safari browser for Mac desktop
1783    $('html').addClass('safari-mac');
1784
1785  }
1786  else {
1787
1788    var animation_item_elements_c = $('.custom-about-us-v8-wrapper .about-us-v8-item');
1789    var window_var_c = $(window);
1790
1791    function check_if_item_in_view_c() {
1792    var window_var_c_height = window_var_c.height();
1793    var window_var_c_top_position = window_var_c.scrollTop();
1794    var window_var_c_bottom_position = (window_var_c_top_position + window_var_c_height/2 + 100);
1795
1796    $.each(animation_item_elements_c, function() {
1797      var element_var_c = $(this);
1798      var element_var_c_height = element_var_c.outerHeight();
1799      var element_var_c_top_position = element_var_c.offset().top;
1800      var element_var_c_bottom_position = (element_var_c_top_position + element_var_c_height/2 + 100);
1801
1802      //check to see if this current container is within viewport
1803      if ((element_var_c_bottom_position >= window_var_c_top_position) &&
1804          (element_var_c_top_position <= window_var_c_bottom_position)) {
1805        element_var_c.addClass('animate');
1806      } else {
1807        // element_var_c.removeClass('in-view');
1808      }
1809    });
1810    }
1811
1812    window_var_c.on('scroll resize', check_if_item_in_view_c);
1813    window_var_c.trigger('scroll');
1814
1815  }
1816
1817
1818});
1819  $(document).ready(function() {
1820
1821    if ( $(window).width() < 768 ) {
1822
1823      var home_sections_c = $('article');
1824      var home_section_c_id;
1825      var about_v8_section_c_position;
1826
1827      for (var i = 0; i < home_sections_c.length; i++) {
1828        home_section_c_id = $(home_sections_c[i]).find(".section-wrapper").attr("id");
1829        if (home_section_c_id == "aboutus_v8_custom") {
1830          about_v8_section_c_position = i;
1831        }
1832      }
1833
1834      if ( (about_v8_section_c_position == 0) || (about_v8_section_c_position == 1) ) {
1835        // Turn Off animations
1836        $('html').addClass('safari-mac');
1837      }
1838    }
1839
1840  });    $(document).ready(function() {
1841
1842      var owlReviews = $('#reviews_v2 .owl-carousel');
1843      owlReviews.owlCarousel({
1844        onInitialized: function (property) {
1845          //check if show dots is true in config
1846          if(true){
1847            $('.reviews-v2-wrapper .owl-dot').each(function( index ) {
1848              var i = index + 1;
1849              $(this).html('<button aria-label="Review '+i+'"><span class="visuallyhidden">Review '+i+'</span></button>');
1850            });
1851          }
1852          //check if show arrows is true in config
1853          if(true && !true){
1854            reviewsHandleArrowTabbing(owlReviews);
1855          }
1856          //prevent voiceover from reading hidden content
1857          $('.reviews-v2-wrapper').find('.owl-item').attr('aria-hidden','true');
1858          $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1859        },
1860        margin: 0,
1861        nav: true,
1862        dots: true,
1863        dotsContainer: '#reviews_v2 .owl-dots',
1864        autoplay: true,
1865        autoplayTimeout: 6000,
1866        autoplayHoverPause: false,
1867        loop: true,
1868        navText: [ '<button aria-label="previous review">&#8249</button>', '<button aria-label="next review">&#8250</button>' ],
1869        responsive: {
1870          0: {
1871            items: 1
1872          },
1873          600: {
1874            items: 1
1875          },
1876          1000: {
1877            items: 1
1878          }
1879        }
1880      });
1881
1882      function discontinuousReviews(func){
1883        var timer;
1884        return function(event){
1885          if(timer) clearTimeout(timer);
1886          timer = setTimeout(func,200,event);
1887        };
1888      }
1889
1890      $('#reviews_v2 .owl-dot button').attr('aria-current', 'false');
1891      $('#reviews_v2 .owl-dot:first button').attr('aria-current', 'true');
1892
1893      function reviewsCarouselStop() {
1894        owlReviews.trigger('stop.owl.autoplay');
1895        owlReviews.data('owl.carousel').settings.autoplay = false;
1896        $('#reviews_v2 .carousel-control-btn').removeClass('stop-carousel');
1897        $('#reviews_v2 .carousel-control-btn').addClass('play-carousel');
1898        $('#reviews_v2 .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently paused, play the Reviews carousel');
1899      }
1900
1901      function reviewsCarouselPlay() {
1902        owlReviews.trigger('play.owl.autoplay',[1000]);
1903        owlReviews.data('owl.carousel').settings.autoplay = true;
1904        $('#reviews_v2 .carousel-control-btn').removeClass('play-carousel');
1905        $('#reviews_v2 .carousel-control-btn').addClass('stop-carousel');
1906        $('#reviews_v2 .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently playing, pause the Reviews carousel');
1907      }
1908
1909      $('#reviews_v2 .carousel-control-btn').on('click',function(){
1910        if ($(this).hasClass('stop-carousel')) {
1911          reviewsCarouselStop();
1912        } else if ($(this).hasClass('play-carousel')) {
1913          reviewsCarouselPlay();
1914        }
1915      });
1916
1917      $('#reviews_v2 .owl-dot').click(function () {
1918        owlReviews.trigger('to.owl.carousel', [$(this).index(), 300]);
1919        reviewsCarouselStop();
1920      });
1921
1922      $('#reviews_v2 .owl-nav').click(function () {
1923        reviewsCarouselStop();
1924      });
1925
1926      $(window).on("resize", discontinuousReviews(function() {
1927        if ($('#reviews_v2 .carousel-control-btn').hasClass('play-carousel')) {
1928          setTimeout(() => reviewsCarouselStop(), 500);
1929        }
1930      }));
1931
1932      $(window).on('focus', function() {
1933        if ($('#reviews_v2 .carousel-control-btn').hasClass('stop-carousel')) {
1934          owlReviews.trigger('next.owl.carousel');
1935        }
1936      });
1937
1938      //prevent voiceover from reading hidden content
1939      owlReviews.on('changed.owl.carousel',function(property){
1940        $('.reviews-v2-wrapper').find('.owl-item').attr('aria-hidden','true');
1941        $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1942        $(property.target).find(".owl-dot").find('button').attr('aria-current', 'false');
1943        $(property.target).find(".owl-dot").filter('.active').find('button').attr('aria-current', 'true');
1944      });
1945
1946      //check if show arrows is true in config
1947      if(true && !true){
1948        reviewsHandleArrowTabbing(owlReviews);
1949      }
1950
1951      function reviewsHandleArrowTabbing(widget){
1952        widget.on('changed.owl.carousel',function(property){
1953          //handle tabbing when previous slider button is hidden
1954          if($(property.target).find(".owl-prev").hasClass('disabled')){
1955              $(property.target).find(".owl-prev").children().attr('tabindex', -1);
1956              $(property.target).find(".owl-prev").attr('aria-hidden','true');
1957          }
1958          else {
1959              $(property.target).find(".owl-prev").children().attr('tabindex', 0);
1960              $(property.target).find(".owl-prev").attr('aria-hidden','false');
1961          }
1962          //handle tabbing when next slider button is hidden
1963          if($(property.target).find(".owl-next").hasClass('disabled')){
1964              $(property.target).find(".owl-next").children().attr('tabindex', -1);
1965              $(property.target).find(".owl-next").attr('aria-hidden','true');
1966          }
1967          else {
1968              $(property.target).find(".owl-next").children().attr('tabindex', 0);
1969              $(property.target).find(".owl-next").attr('aria-hidden','false');
1970          }
1971        });
1972      }
1973
1974      $('.reviews-v2-wrapper .owl-nav').insertBefore($('.reviews-v2-wrapper .owl-stage-outer'));
1975      $('.reviews-v2-wrapper .owl-dots').insertBefore($('.reviews-v2-wrapper .owl-nav'));
1976
1977    });
1978  // init Masonry
1979   var gridGallery = $('#gallery_v4 .gallery-v4-grid').masonry({
1980     columnWidth: '.gallery-v4-grid-sizer',
1981     // do not use .grid-sizer in layout
1982     itemSelector: '.gallery-v4-grid-item',
1983     percentPosition: true,
1984     fitWidth: true
1985   });
1986
1987    gridGallery.imagesLoaded(function() {
1988      gridGallery.masonry('layout');
1989    });
1990
1991    // layout Masonry after each image loads
1992    gridGallery.imagesLoaded().progress( function() {
1993      gridGallery.masonry('layout');
1994    });
1995
1996  // Re-set gallery layout
1997    $(window).load(function() {
1998      // trigger Masonry layout
1999      gridGallery.masonry('layout');
2000    });
2001    function discontinuousGG(func){
2002      var timer;
2003      return function(event){
2004        if(timer) clearTimeout(timer);
2005        timer = setTimeout(func,200,event);
2006      };
2007    }
2008    $(window).on("resize", discontinuousGG(function() {
2009      setTimeout(() => gridGallery.masonry('layout'), 300);
2010    }));
2011
2012  $(document).ready(function() {
2013
2014    var fancyboxSlider = $('#gallery_v4 .fancybox');
2015
2016    fancyboxSlider.attr('rel', 'gallery').fancybox({
2017      beforeShow : function() {
2018      var alt = this.element.find('img').attr('alt');
2019      this.inner.find('img').attr('alt', alt);
2020      },
2021      padding : 15,
2022      margin: 20,
2023      arrows    : true,
2024      closeBtn: true,
2025      autoPlay : false,
2026      playSpeed : 3000,
2027      loop : true,
2028      openEffect :  'fade',
2029      closeEffect :  'fade',
2030      nextEffect  : 'elastic',
2031      prevEffect  : 'elastic',
2032      helpers : {
2033        overlay : {
2034          css : {
2035              'background' : 'rgba(0, 0, 0, 0.5)'
2036          },
2037          locked: false
2038        }
2039      }
2040    });
2041
2042    var galleryToggleBtn = $('.gallery-v4-wrapper .gallery-toggle');
2043    var galleryImages = $('.gallery-v4-grid-item a');
2044    var galleryToggleTextOff = 'The Photo Gallery of ' + galleryImages.length + ' images can be accessed, hide the Photo Gallery from the Screen Reader';
2045    var galleryToggleTextOn = 'The Photo Gallery of ' + galleryImages.length + ' images is hidden from the Screen Reader, access the Photo Gallery';
2046    galleryToggleBtn.attr('aria-label', galleryToggleTextOff);
2047
2048    galleryToggleBtn.on('click',function(){
2049      $(this).toggleClass('gt-off');
2050
2051      const parentElement = $(this).closest('article');
2052      const nextElement = $(parentElement).next();
2053
2054      if ($(this).hasClass('gt-off')) {
2055        $(this).attr('aria-label', galleryToggleTextOff);
2056        galleryImages.each(function() {
2057          $(this).attr('aria-hidden', 'false').attr('tabindex', '0');
2058        });
2059      } else {
2060        $(this).attr('aria-label', galleryToggleTextOn);
2061        galleryImages.each(function() {
2062          $(this).attr('aria-hidden', 'true').attr('tabindex', '-1');
2063        });
2064
2065        if (nextElement.length !== 0) {
2066          const scrollTo = $(nextElement).offset().top - 100;
2067          $('html, body').animate({ scrollTop: scrollTo }, 1000);
2068        }
2069      }
2070    });
2071
2072  });
2073iFrameResize({
2074  enablePublicMethods: true,
2075  enableInPageLinks: true
2076});
2077
2078var marker_icon = "";
2079var additionalPins = '';
2080if (additionalPins) {
2081  var locationsArray = JSON.parse('');
2082}
2083
2084var google_map_url = 'https://www.google.com/maps/place/' + ",11970 SE Dixie Hwy,Hobe Sound,FL,33455".split(' ').join('+');
2085function open_google_map() {
2086  window.open(google_map_url, '_blank')
2087}
2088
2089function discontinuous(func){
2090  var timer;
2091  return function(event){
2092    if(timer) clearTimeout(timer);
2093    timer = setTimeout(func,200,event);
2094  };
2095}
2096
2097function init_open_street_map() {
2098  if (additionalPins) {
2099    var map = L.map('map-v3-container', {
2100      minZoom: 3,
2101      zoomControl: false,
2102      zoomSnap: 1,
2103      gestureHandling: true
2104    });
2105    
2106    var allMarkers = [];
2107    
2108    var marker = L.marker([27.057879, -80.127585], {title: '11970 SE Dixie Hwy, Hobe Sound', alt: 'View 11970 SE Dixie Hwy, Hobe Sound on Google maps - opens in a new tab'}).addTo(map);
2109    allMarkers.push(marker);
2110
2111    marker.on('click keypress', open_google_map);
2112
2113    locationsArray.forEach(function(element, index) {
2114      var additionalMarker = L.marker([element.lat_coords, element.lng_coords], {title: element.pin_title, alt: 'View ' + element.pin_title + ' on Google maps - opens in a new tab'}).addTo(map);
2115  
2116      additionalMarker.on('click keypress', function() {
2117        window.open(element.pin_link, '_blank');
2118      });
2119  
2120      allMarkers.push(additionalMarker);
2121  
2122    });
2123    
2124    function fitBoundsToMarkers(osmap, markers) {
2125      osmap.invalidateSize();
2126      var group = new L.featureGroup(markers);
2127      osmap.fitBounds(group.getBounds(), {padding: [50, 50]});
2128    }
2129  
2130    fitBoundsToMarkers(map, allMarkers);
2131  
2132    document.querySelector('.reset-zoom-btn').addEventListener('click', function () {
2133      fitBoundsToMarkers(map, allMarkers);
2134    });
2135
2136    window.addEventListener("resize", discontinuous(function(e) {
2137      fitBoundsToMarkers(map, allMarkers);
2138    }));
2139  } else {
2140    var map = L.map('map-v3-container', {
2141      center: [ 27.057879, -80.127585],
2142      zoom: 16,
2143      dragging: false,
2144      minZoom: 3,
2145      zoomControl: false,
2146    });
2147
2148    var marker = L.marker([27.057879, -80.127585], {title: '11970 SE Dixie Hwy, Hobe Sound', alt: 'View 11970 SE Dixie Hwy, Hobe Sound on Google maps - opens in a new tab'}).addTo(map);
2149
2150    marker.on('click keypress', open_google_map);
2151
2152    map.scrollWheelZoom.disable();
2153  }
2154
2155  if (marker_icon.length>0){
2156    var myIcon = L.icon({
2157      iconUrl: marker_icon,
2158      iconSize: [35,35]
2159    });
2160
2161    if(allMarkers) {
2162      allMarkers.forEach(marker => {
2163        marker.setIcon(myIcon);
2164        marker.update();
2165      });
2166    } else {
2167      marker.setIcon(myIcon);
2168      marker.update();
2169    }
2170  }
2171
2172  L.tileLayer.provider('OpenStreetMap.Mapnik').addTo(map);
2173  L.control.zoom({
2174    position:'bottomleft'
2175  }).addTo(map);
2176
2177  $('.openstreetmap-v3-wrapper #map-v3-container').removeAttr('tabindex');
2178  $('.leaflet-touch .leaflet-bar a').attr('tabindex', '-1');
2179  $('.leaflet-container .leaflet-marker-pane img').attr('role', 'link');
2180}
2181
2182$(document).ready(function() {
2183  init_open_street_map();
2184});
2185$("#contact_us_v4_section_phone_link").on("click", function(){
2186    if (ga_check())
2187        universal_ga('send', 'event', 'Button', 'Click', 'Phone');
2188});
2189$(document).ready(function() {
2190	const hours = document.querySelector(".contact-v4 .hours");
2191	if (!hours) return;
2192	const daysGroup = hours.querySelectorAll(":scope > div:not(.hours-title)");
2193	
2194	if (!hours.classList.contains("content-container") && !hours.classList.contains("left-content")) {
2195		hours.classList.add("content-container", "left-content");
2196	};
2197
2198	if (!hours.querySelector(":scope > div.days-group")) {
2199		daysGroup.forEach(element => {
2200			element.classList.add("days-group");
2201			element.style.padding = "0";
2202		});
2203	};
2204});    setTimeout(function(){
2205        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
2206    }, 4000);
2207
2208    var navigation_alpha_starts_from = 0;
2209    var navigation_background_color = "rgba(0, 0, 0,";
2210    var navigation_darkens_on_scroll = "1";
2211    var top_nav_new_style = !navigation_darkens_on_scroll && ($(window).width() > 767);
2212    var custom_nav_style = "1";
2213    if(!custom_nav_style){
2214      $('.navbar-regular').css('background-color', 'rgba(255, 255, 255,' + navigation_alpha_starts_from + ')');
2215      $('.navbar-inverse').css('background-color', navigation_background_color + (top_nav_new_style ? 0 : navigation_alpha_starts_from) + ')');
2216    }
2217
2218    if (navigation_darkens_on_scroll && !custom_nav_style) {
2219        $(document).on('scroll', function (e) {
2220            var alpha = navigation_alpha_starts_from + $(document).scrollTop() / 1950;
2221            $('.navbar-inverse').css('background-color', navigation_background_color + alpha + ')');
2222            $('.navbar-regular').css('background-color', 'rgba(255, 255, 255,' + alpha + ')');
2223        });
2224    }
2225
2226    if (!navigation_darkens_on_scroll && !custom_nav_style) {
2227        $(window).resize(function() {
2228            if ($(window).width() > 767)
2229                $('.navbar-inverse').css('background-color', navigation_background_color + 0 + ')');
2230            else
2231                $('.navbar-inverse').css('background-color', navigation_background_color + navigation_alpha_starts_from + ')');
2232        });
2233    }
2234
2235</script>
2235<script type="text/javascript">
2236    function openPopUp() {
2237
2238      document.touchmove = function (e) {
2239        e.preventDefault();
2240      };
2241      $(function () {
2242        $('body').css('overflow', 'hidden');
2243
2244        $('#CustomModal').modal({
2245          show: true
2246        });
2247        
2248        $(document).on('shown.bs.modal', '.modal', function () {
2249          //handle reader focus
2250          focusModal();
2251        });
2252        $(document).on("hidden.bs.modal", ".modal", function (event, ui) {
2253          //handle reader focus
2254          focusNavbar();
2255          $('body').css('overflow', '');
2256          document.touchmove = function () {};
2257        });
2258      });
2259    }
2260
2261    function focusModal() {
2262      $('.modal-dialog')
2263        .css('outline', 'none')
2264        .attr('tabindex', '-1')
2265        .focus();
2266    }
2267
2268    function focusNavbar(){
2269      //handle which header exists
2270      if($(".navbar")){
2271        var element = $(".navbar");
2272      }else{
2273        var element = $(".navbar-normal");
2274      }
2275      element.css('outline', 'none')
2276              .attr('tabindex', '-1')
2277              .focus();
2278    }
2279
2280    var showPopupPerSession = false;
2281    // Check if popup is set to show once per session
2282    if (!showPopupPerSession || (showPopupPerSession && !sessionStorage.getItem("newsletter_popup_shown"))) {
2283      var t = setTimeout(openPopUp, 10000);
2284      sessionStorage.setItem("newsletter_popup_shown", "yes");
2285    }
2286
2287  </script>
2287<script>
2288    var animate_sections = ["banner","aboutus_v2","gallery_v3","aboutus_v7"];
2289
2290    for (var i = 0; i < animate_sections.length; i++) {
2291      $('#'+animate_sections[i]).addClass('animation-element');
2292    }
2293
2294    var $animation_elements = $('.animation-element');
2295    var $window = $(window);
2296
2297    function check_if_in_view() {
2298    var window_height = $window.height();
2299    var window_top_position = $window.scrollTop();
2300    var window_bottom_position = (window_top_position + window_height/2);
2301
2302    $.each($animation_elements, function() {
2303      var $element = $(this);
2304      var element_height = $element.outerHeight();
2305      var element_top_position = $element.offset().top;
2306      var element_bottom_position = (element_top_position + element_height/2);
2307
2308      //check to see if this current container is within viewport
2309      if ((element_bottom_position >= window_top_position) &&
2310          (element_top_position <= window_bottom_position)) {
2311        $element.addClass('animate');
2312      } else {
2313        // $element.removeClass('in-view');
2314      }
2315    });
2316    }
2317
2318    $window.on('scroll resize', check_if_in_view);
2319    $window.trigger('scroll');
2320  </script>
2320<script>
2321$(function () {
2322  //If Newsletter widget (popup or section) is on
2323  if ($('.newsletter-popup').length || $('.map-newsletter').length || $('.newsletter-section').length) {
2324    //Inject html needed for ADA
2325    var waitSPHWidget = setInterval(function(){
2326      if ($('.sph-email-input').length) {
2327        //
2328        $('.sph-loading-img img').attr('alt', 'Newsletter Loader icon');
2329        clearInterval(waitSPHWidget)
2330      }
2331    }, 300);
2332  }
2333});
2334</script>
2334<script>
2335// Functions needed for Newsletter (sh widget) subscription submit (case when texting is Off in SH)
2336function isEmail(email) {
2337  var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
2338  return regex.test(email);
2339}
2340function submitEmail(input_id) {
2341  var shp_email_to_subscribe = $("#sph-newsletter-input-" + input_id);
2342  if (!isEmail(shp_email_to_subscribe.val())) {
2343    alert('Please enter valid email address');
2344    return;
2345  }
2346  var sph_email_form_div = $(".sph-email-form");
2347  var sph_loading_img = $(".sph-loading-img");
2348  var sph_response_message_div = $(".sph-response-message");
2349  var sph_submit_label = $(".sph-submit-label");
2350  sph_submit_label.hide();
2351  sph_loading_img.show();
2352  var request = $.ajax({
2353    method: "POST",
2354    url: "https://www.spothopperapp.com/api/spots/737352/contacts/add",
2355    crossDomain: true,
2356    dataType: 'json',
2357    data: { email: shp_email_to_subscribe.val() },
2358    success: function (data) {
2359      sph_response_message_div.html(data);
2360      sph_email_form_div.hide();
2361      sph_response_message_div.show();
2362    },
2363    error: function (data) {
2364      sph_response_message_div.html("Something went wrong. Please try again later.");
2365      sph_email_form_div.hide();
2366      sph_response_message_div.show();
2367    }
2368  });
2369}
2370</script>
2370<script>(function() {
2371    const MODAL_ID = 'promotion-pop-up';
2372    const SESSION_KEY = 'promotion-pop-up-container-ids';
2373    const PADDING = 70;
2374    const RESIZE_DEBOUNCE_MS = 150;
2375    const INITIAL_DELAY = typeof promotion_pop_up_initial_delay === 'undefined' ?
2376        2000 :
2377        promotion_pop_up_initial_delay;
2378
2379    const POP_UP_PRIORITY = ["holiday_party"];
2380    const _norm = s => (s || "").toString().trim().toLowerCase();
2381    const PRIORITY_RANK = new Map(POP_UP_PRIORITY.map((n, i) => [_norm(n), i]));
2382
2383    function displayPromotionPopUp() {
2384        const items = document.getElementsByClassName('promotion_pop_up_content');
2385
2386        // Track shown IDs as a Set (no dups, fast lookups)
2387        const shownIds = new Set(
2388        (sessionStorage.getItem(SESSION_KEY) || '')
2389            .split(',')
2390            .map(s => s.trim())
2391            .filter(Boolean)
2392        );
2393
2394        // Hide all; collect items not shown this session
2395        const availableItems = [];
2396        Array.prototype.forEach.call(items, item => {
2397            item.style.display = 'none';
2398
2399            // --- Exclusion logic ---
2400            // Block popups whose non-custom CTA link is a phone number (tel:)
2401            const isCustomLink = item.getAttribute("data-is-custom-link") ?? "false";
2402            const linkUrl = item.getAttribute("data-link-url") || "";
2403
2404            const excludeItem =
2405                isCustomLink === "false" &&
2406                linkUrl.trim().toLowerCase().startsWith("tel");
2407
2408            if (excludeItem) {
2409                return; // Skip this popup entirely
2410            }
2411
2412            if (!shownIds.has(item.id)) {
2413                availableItems.push(item);
2414            }
2415        });
2416
2417        if (availableItems.length === 0) return false;
2418
2419        // --- Priority logic ---
2420        const norm = s => (s || '').toString().trim().toLowerCase();
2421        const prioritySource = Array.isArray(POP_UP_PRIORITY)
2422            ? POP_UP_PRIORITY
2423            : Array.isArray(window.pop_up_priority)
2424                ? window.pop_up_priority
2425                : [];
2426        const rank = new Map(prioritySource.map((name, i) => [norm(name), i]));
2427
2428        const records = availableItems.map(el => {
2429            const internal = norm(el.getAttribute('data-internalname'));
2430            const priority = rank.has(internal) ? rank.get(internal) : Infinity;
2431            return { el, priority };
2432        });
2433
2434        let selectedItem;
2435        const minPriority = Math.min(...records.map(r => r.priority));
2436
2437        if (isFinite(minPriority)) {
2438            // Randomize within the highest-priority bucket only
2439            const topBucket = records.filter(r => r.priority === minPriority);
2440            const pick = topBucket[Math.floor(Math.random() * topBucket.length)];
2441            selectedItem = pick.el;
2442        } else {
2443            // Pure random among all available when no priorities match
2444            selectedItem = availableItems[Math.floor(Math.random() * availableItems.length)];
2445        }
2446
2447        // Show popup
2448        selectedItem.style.display = 'block';
2449
2450        // Analytics + persist shown id (unless preview param present)
2451        if (window.location.search.indexOf('spot_promotion_channel_id=') === -1) {
2452            shownIds.add(selectedItem.id);
2453            do_promotion_analytics(
2454                selectedItem.getAttribute('data-internalname'),
2455                selectedItem.id,
2456                selectedItem.getAttribute('data-link-url'),
2457                selectedItem.getAttribute('data-has-image'),
2458                selectedItem.getAttribute('data-is-template-image-and-button')
2459            );
2460        }
2461
2462        sessionStorage.setItem(SESSION_KEY, Array.from(shownIds).join(','));
2463        return true;
2464    }
2465
2466    function preloadImages(container, callback) {
2467        const images = container.querySelectorAll('img');
2468        if (images.length === 0) return callback();
2469
2470        let loaded = 0;
2471        Array.prototype.forEach.call(images, function(img) {
2472            if (img.complete) {
2473                if (++loaded === images.length) callback();
2474            } else {
2475                img.addEventListener('load', check);
2476                img.addEventListener('error', check);
2477            }
2478
2479            function check() {
2480                if (++loaded === images.length) callback();
2481            }
2482        });
2483    }
2484
2485    function centerModal() {
2486        const modal = document.getElementById(MODAL_ID);
2487        const dialog = modal.querySelector('.promotion-pop-up .modal-dialog');
2488        if (!dialog) return;
2489
2490        modal.style.display = 'block';
2491        modal.style.visibility = 'hidden';
2492
2493        const height = dialog.offsetHeight;
2494        const winHeight = window.innerHeight;
2495        const top = Math.max(0, (winHeight - height) / 2);
2496        dialog.style.top = `${top}px`;
2497
2498        modal.style.visibility = '';
2499    }
2500
2501    function centerModalVisible() {
2502        const modal = document.getElementById(MODAL_ID);
2503        const dialog = modal.querySelector('.promotion-pop-up .modal-dialog');
2504        if (!dialog) return;
2505
2506        const height = dialog.offsetHeight;
2507        const winHeight = window.innerHeight;
2508        const top = Math.max(0, (winHeight - height) / 2);
2509        dialog.style.top = `${top}px`;
2510    }
2511
2512    function lockScroll() {
2513        document.body.style.overflow = 'hidden';
2514        document.ontouchmove = function(e) {
2515            e.preventDefault();
2516        };
2517    }
2518
2519    function unlockScroll() {
2520        document.body.style.overflow = '';
2521        document.ontouchmove = null;
2522    }
2523
2524    function setupModalLayout(modalId) {
2525        const modal = document.getElementById(modalId);
2526        const content = modal?.querySelector('.promotion_pop_up_content[style*="display: block"]');
2527        if (!content) return;
2528
2529        const header = content.querySelector('.modal-header');
2530        const footer = content.querySelector('.modal-footer');
2531        const body = content.querySelector('.modal-body');
2532        if (!body) return;
2533
2534        const windowHeight = window.innerHeight;
2535        const headerHeight = header?.offsetHeight || 0;
2536        const footerHeight = footer?.offsetHeight || 0;
2537        const maxBodyHeight = windowHeight - headerHeight - footerHeight - PADDING;
2538
2539        body.style.maxHeight = `${maxBodyHeight}px`;
2540        body.style.overflowY = 'auto';
2541
2542        centerModalVisible();
2543    }
2544
2545    function prepareModalForDisplay(modalId) {
2546        const modal = document.getElementById(modalId);
2547        const visibleContent = modal?.querySelector('.promotion_pop_up_content[style*="display: block"]');
2548        if (!visibleContent) return;
2549
2550        modal.style.display = 'block';
2551        modal.style.visibility = 'hidden';
2552
2553        preloadImages(visibleContent, function() {
2554            const header = visibleContent.querySelector('.modal-header');
2555            const footer = visibleContent.querySelector('.modal-footer');
2556            const body = visibleContent.querySelector('.modal-body');
2557
2558            if (body) {
2559                const windowHeight = window.innerHeight;
2560                const headerHeight = header?.offsetHeight || 0;
2561                const footerHeight = footer?.offsetHeight || 0;
2562                const maxBodyHeight = windowHeight - headerHeight - footerHeight - PADDING;
2563
2564                body.style.maxHeight = `${maxBodyHeight}px`;
2565                body.style.overflowY = 'auto';
2566            }
2567
2568            centerModal();
2569            modal.style.visibility = '';
2570            lockScroll();
2571
2572            $('#' + modalId).modal({
2573                show: true,
2574                focus: true,
2575                backdrop: true
2576            });
2577        });
2578    }
2579
2580    // === Main Timer Logic ===
2581    setTimeout(function() {
2582        if (displayPromotionPopUp()) {
2583            if (typeof t !== 'undefined') {
2584                clearTimeout(t);
2585            }
2586
2587            const timeoutDuration = INITIAL_DELAY > 500 ? INITIAL_DELAY - 500 : 0;
2588
2589            setTimeout(function() {
2590                prepareModalForDisplay(MODAL_ID);
2591            }, timeoutDuration);
2592        }
2593    }, 500);
2594
2595    // === Cleanup on modal close ===
2596    $(document).on('hidden.bs.modal', `#${MODAL_ID}`, function() {
2597        unlockScroll();
2598    });
2599
2600    // === Responsive layout recalculation ===
2601    let resizeTimeout;
2602    window.addEventListener('resize', function() {
2603        clearTimeout(resizeTimeout);
2604        resizeTimeout = setTimeout(function() {
2605            const modal = document.getElementById(MODAL_ID);
2606            if (modal && $(modal).hasClass('in')) {
2607                void modal.offsetHeight;
2608                setupModalLayout(MODAL_ID);
2609            }
2610        }, RESIZE_DEBOUNCE_MS);
2611    });
2612
2613    // === Embedded analytics helpers ===
2614    function obtain_analytics_function() {
2615        if (typeof sph_widgets_ga === 'function') return sph_widgets_ga;
2616        if (typeof ga === 'function') return ga;
2617        if (typeof gtag === 'function') return gtag;
2618        return null;
2619    }
2620
2621    function do_promotion_analytics(eventLabel, spot_promotion_channel_id, data_link_url, hasImage, is_template_image_and_button) {
2622        analytics = obtain_analytics_function();
2623        if (!analytics) return null;
2624
2625        var pop_up_template = (is_template_image_and_button == 'true' ? 'text,image&button' : 'text&button');
2626        var image_enabled_disabled = (hasImage ? 'image_enabled' : 'image_disabled');
2627        var additional_info = (is_template_image_and_button == 'true' ? '|' + image_enabled_disabled : '');
2628
2629        universal_ga('send', 'event', 'Pop Up Promotion', 'View', eventLabel + '|||' + data_link_url + '|' + pop_up_template + additional_info);
2630
2631        // universal_ga('send', 'event', 'Pop Up Promotion', 'View', eventLabel);
2632        if (typeof $ === 'function') {
2633            $(".promotion_pop_up_content a").on("click", function(event) {
2634                universal_ga('send', 'event', {
2635                    eventCategory: 'Pop Up Promotion Button',
2636                    eventAction: 'Click',
2637                    eventLabel: eventLabel + '|||' + event.target.href + '|' + pop_up_template + additional_info,
2638                    transport: 'beacon'
2639                });
2640                $("#promotion-pop-up").modal('hide');
2641                return true;
2642            });
2643        }
2644    }
2645
2646})();</script>
2646<script>// ALL_PAGES_COMPONENT
2647var smart_footer_active = 'true' == 'true';
2648var smart_footer_version = '2';
2649
2650</script>
2650<footer id="accessibility-footer"><p>We strive to make our website accessible to everybody. <a aria-label="Learn More About our website accessibility" class="accessibility-link" href="/accessibility-page-01" target="_self">Learn More.</a></p></footer>
2650<script>
2651(function() {
2652  var name = "Sophia's";
2653  var pid = "ChIJ73A3plTZ3ogRbjb5JgBNkh0";
2654  function build_url() {
2655    var q = encodeURIComponent(name).replace(/'/g, "%27");
2656    return "https://www.google.com/maps/search/?api=1"
2657         + "&query=" + q
2658         + "&query_place_id=" + encodeURIComponent(pid);
2659  }
2660  window.google_map_url = build_url();
2661  window.open_google_map = function() {
2662    window.open(build_url(), "_blank");
2663  };
2664})();
2665</script>
2665<script>
2666
2667  var spot_id = 737352;
2668  var sh_generic_form_params=JSON.parse('{}');
2669
2670  if (false){
2671    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
2672  }
2673
2674  if (navigator.userAgent.match(/iPhone/i)
2675       || navigator.userAgent.match(/iPad/i)
2676       || navigator.userAgent.match(/iPod/i)){
2677      $(document).ready(function(){
2678            document.body.className += " " + "webkit-mobile-body";
2679      });
2680    }
2681
2682  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
2683  if ( promotion_url_param_domain && ( new URL(document.location).host == 'localhost:4000' || new URL(document.location).host == 'wcache.spotapps.co' ||  new URL(document.location).host == 'website-editor.spotapps.co' || new URL(document.location).host == 'website-editor-staging.spotapps.co' || new URL(document.location).host == 'wcache-staging.spotapps.co')){
2684    $("a[href^='/']").each(function(){
2685      if (this.href.indexOf('domain=') == -1){
2686        var sh_internal_url = new URL(this.href);
2687        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
2688        this.href = sh_internal_url.toString();
2689      }
2690    })
2691  }
2692
2693
2694  function cta_link_matches_href(href, url){
2695    var domain = 'sophiashobesound.com';
2696    if(typeof url === 'undefined'){
2697      return false;
2698    }
2699    var partsOfURL = url.split(domain);
2700    if (partsOfURL.length != 2){
2701      return href == url;
2702    }else{
2703      var urlPath = partsOfURL[1];
2704      if (urlPath.substring(0,1) == "/"){
2705        urlPath = urlPath.substring(1,urlPath.length);
2706      }
2707      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
2708    }
2709  }
2710
2711  var all_cta_links = [{"id":1804643,"spot_id":737352,"url":"https://sophiashobesound.com/-party","cta_link_type":"private_parties","created_at":"2026-03-03T20:16:02.672+00:00","updated_at":"2026-05-22T11:24:25.865+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":1804644,"spot_id":737352,"url":"https://tmt.spotapps.co/job-listings?spot_id=737352","cta_link_type":"job_listing","created_at":"2026-03-03T20:16:02.722+00:00","updated_at":"2026-05-05T13:08:43.411+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2},{"id":1908161,"spot_id":737352,"url":"https://order.toasttab.com/egiftcards/sophias-11970-se-dixie-hwy","cta_link_type":"gift_cards","created_at":"2026-04-24T10:22:45.761+00:00","updated_at":"2026-05-05T13:08:42.434+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Gift Cards","position":5},{"id":1915075,"spot_id":737352,"url":"https://www.opentable.com/booking/restref/availability?lang=en-US\u0026correlationId=f1f0ccfb-cabb-47f2-8722-fe95c1f3a02b\u0026restRef=1378678\u0026otSource=Restaurant%20website","cta_link_type":"reservations","created_at":"2026-04-29T13:24:35.090+00:00","updated_at":"2026-05-05T13:08:41.718+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Reserve","position":1}];
2712
2713  function find_cta_link(href) {
2714    for (var i=0; i< all_cta_links.length; i++){
2715      var cta_link = all_cta_links[i];
2716      if ( cta_link_matches_href(href, cta_link.url)){
2717        return cta_link;
2718      }
2719    }
2720  }
2721
2722  function find_cta_links(href) {
2723    var cta_links = []
2724    for (var i=0; i< all_cta_links.length; i++){
2725      var cta_link = all_cta_links[i];
2726      if ( cta_link_matches_href(href, cta_link.url)){
2727        cta_links.push(cta_link);
2728      }
2729    }
2730    return cta_links;
2731  }
2732
2733
2734  function get_current_page_cta_link_types(){
2735    var types = [];
2736    var cta_links = find_cta_links(document.location.href);
2737    for (var i=0; i<cta_links.length; i++){
2738      types.push(cta_links[i].cta_link_type);
2739    }
2740    return types;
2741  }
2742
2743
2744  function is_food_menu_page(){
2745    var cta_link_types = get_current_page_cta_link_types();
2746    for (var i=0; i<cta_link_types.length; i++){
2747      if ('food_menu' == cta_link_types[i])
2748        return true;
2749    }
2750    return false;
2751  }
2752
2753
2754  function get_form_cat_from_cta(){
2755    var cta_link = find_cta_link(document.location.href);
2756    if (cta_link == null) {
2757        return null;
2758    }
2759    if (cta_link.cta_link_type == 'private_parties'){
2760        return 'private_party';
2761    }else if (cta_link.cta_link_type == 'reservations'){
2762        return 'reservation';
2763    }else if (cta_link.cta_link_type == 'catering'){
2764        return 'catering';
2765    }else if (cta_link.cta_link_type == 'job_listing'){
2766        return 'job_listings';
2767    }else if (cta_link.cta_link_type == 'gift_cards'){
2768          return 'gift_cards';
2769    }
2770    return null;
2771  }
2772
2773  function element_has_events_defined(elem){
2774    if ($._data(elem, "events") === undefined){
2775      return false;
2776    }
2777    return true;
2778  }
2779
2780  function create_ga_events_for_cta_clicks(){
2781    if (typeof $ === 'function'){
2782
2783      var cta_link_of_the_page = find_cta_link(location.href);
2784
2785
2786      $("a").each(function(index, elem){
2787        var href = $(elem).attr('href');
2788
2789        if (href  === undefined ){
2790           return;
2791        }
2792
2793        if (href.substring(0,4) == 'tel:'){
2794          if (!element_has_events_defined(elem)){  // not footer links
2795            $(elem).on("click", function(){
2796                universal_ga('send', 'event', {
2797                  eventCategory: 'Button',
2798                  eventAction: 'Click',
2799                  eventLabel: 'Phone',
2800                  transport: 'beacon'
2801                });
2802             });
2803
2804             if (cta_link_of_the_page){
2805                $(elem).on("click", function(){
2806                    universal_ga('send', 'event', {
2807                      eventCategory: 'Button',
2808                      eventAction: 'Click',
2809                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
2810                      transport: 'beacon'
2811                    });
2812                 });
2813             }
2814          } else {
2815             if (cta_link_of_the_page){
2816               $(elem).on("click", function(){
2817                   universal_ga('send', 'event', {
2818                        eventCategory: 'Button',
2819                        eventAction: 'Click',
2820                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
2821                        transport: 'beacon'
2822                   });
2823               });
2824             }
2825          }
2826
2827
2828        }else{
2829          var cta_link = find_cta_link(href);
2830          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
2831            // console.log("bottom link detected");
2832          }else{
2833            if (cta_link != null){
2834              $(elem).on("click", function(){
2835                universal_ga('send', 'event', {
2836                        eventCategory: 'Website Link',
2837                        eventAction: 'Click',
2838                        eventLabel: cta_link.cta_link_type,
2839                        transport: 'beacon'
2840                  });
2841              });
2842            }
2843          }
2844        }
2845
2846
2847      });
2848    }
2849  }
2850
2851  if (typeof angular === "undefined") {
2852    create_ga_events_for_cta_clicks();
2853  } else {
2854    angular.element(document).ready(function () {
2855      create_ga_events_for_cta_clicks();
2856    });
2857  }
2858
2859
2860  function triggerShowFooterEvents(){
2861    if (window.screen.availWidth < 768){
2862        universal_ga('send', 'event', {
2863                eventCategory: 'Mobile Footer',
2864                eventAction: 'View',
2865                eventLabel: '',
2866                transport: 'beacon'
2867          });
2868    }
2869  }
2870
2871
2872
2873
2874  ////////////
2875  function smartFooterV2()
2876  {
2877    var list= document.getElementsByClassName("bottom-list-item");
2878    if (!list) return;
2879
2880    if (document.getElementById("bottom-navbar") == null){
2881      return;
2882    }
2883
2884    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
2885    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
2886    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
2887
2888    bottomNav.innerHTML = '';
2889    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
2890    linksWithPosition.sort(function(a,b) {
2891      return a.position - b.position;
2892    });
2893
2894    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
2895
2896    linksWithPosition.forEach((e, i) => {
2897        var target = e.target || getUrlTarget(e.url);
2898        bottomNav.insertAdjacentHTML('beforeend',
2899        `<li class="bottom-list-item" style="white-space: nowrap;width: auto;"><a ${footerLinkStyle} class="bottom-link smart-footer-link" data-type="${e.cta_link_type}" data-position="${i}" target="${target}" href="${e.url}">${e.website_footer_label}</a></li>`);
2900    })
2901
2902    var intervalCount = 0
2903    var interval = setInterval(() => {
2904      if(intervalCount == 50){
2905        clearInterval(interval);
2906      }
2907      removeOverflowingFooterLinks();
2908      intervalCount ++;
2909    }, 200);
2910
2911    $('.smart-footer-link').on("click", function(){
2912          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
2913                    shUrlParams['source'] = 'footer';
2914                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
2915          }
2916
2917          var visibleLinks = $('.smart-footer-link').map(function (e) {
2918              return $(this).data('type');
2919          }).toArray().join(',');
2920
2921          universal_ga('send', 'event', {
2922                  eventCategory: 'Button',
2923                  eventAction: 'Click_footer_2',
2924                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
2925                  transport: 'beacon'
2926            });
2927    });
2928  }
2929
2930  function removeOverflowingFooterLinks(){
2931    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
2932    var width_sum = 0;
2933
2934    bottomNavLinks.forEach(e => {
2935      width_sum += e.getBoundingClientRect().width;
2936      if ((width_sum) > window.innerWidth) {
2937        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
2938        e.remove();
2939      }
2940    });
2941  }
2942
2943  function getUrlTarget(url){
2944    if(url.startsWith('tel')){
2945      return '_self';
2946    }
2947    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
2948      return '_self';
2949    }
2950    return '_blank';
2951  }
2952
2953  function npb()
2954    {
2955    	var list= document.getElementsByClassName("bottom-list-item");
2956    	if (!list) return;
2957
2958      if (document.getElementById("bottom-navbar") == null){
2959        return;
2960      }
2961
2962      var url = ""
2963    	for (var i=0; i < all_cta_links.length; i++)
2964    	{
2965    		if (all_cta_links[i].cta_link_type == "order"){
2966          url = all_cta_links[i].url;
2967        }
2968    	}
2969
2970    	if ( url == ""){
2971        return;
2972      }
2973
2974    	for (i=0; i < list.length; i++)
2975    	{
2976    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
2977    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
2978
2979    	};
2980
2981    	var item = list[list.length-1]
2982    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
2983    	var width_sum = 0;
2984    	for (i=0; i < list.length; i++) {
2985    		width_sum += list[i].getBoundingClientRect().width;
2986    	}
2987
2988    	var item = list[list.length-1]
2989    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
2990
2991    	item.firstChild.text = "Order";
2992    	item.firstChild.href = url;
2993    	item.firstChild.id = "bottom_link_" + list.length;
2994
2995      $(item.firstChild).on("click", function(){
2996
2997          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
2998                    shUrlParams['source'] = 'footer';
2999                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
3000                  }
3001
3002          universal_ga('send', 'event', {
3003                  eventCategory: 'Button',
3004                  eventAction: 'Click',
3005                  eventLabel: 'Plan B-2 Order',
3006                  transport: 'beacon'
3007            });
3008      });
3009
3010
3011    }
3012
3013function activateSmartFooter(){
3014    var smart_footer_active = true;
3015    var smart_footer_version = 2;
3016    var man_bottom_active = false;
3017    if(window.location.hash == '#smartFooterV2=enabled'){
3018      smartFooterV2();
3019      return;
3020    }
3021    if (smart_footer_active && !man_bottom_active){
3022      if(smart_footer_version == 2 ){
3023          smartFooterV2();
3024       }else {
3025          npb();
3026       }
3027    }
3028  }
3029
3030  activateSmartFooter();
3031
3032  var corona_config_str = '';
3033  var corona_config =  corona_config_str != '' ?  JSON.parse('') : null;
3034
3035
3036  //corona instuctions
3037  function show_corona_instructions(text, phone, btnText){
3038    //format to US number
3039    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
3040
3041    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
3042        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
3043        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
3044    }else {
3045        var linkLocation = 'tel:+1'+phone+'';
3046        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
3047    }
3048    var appendPhone = 'tel:+1'+phone+'';
3049    //inject html content
3050    if ($('.food-menu-nav').length) {
3051      //new template
3052      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
3053      var textColor = rgb2hex($('.section-header').css('color'));
3054      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
3055      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
3056      fontSize = fontSize + Math.round(fontSize  * 0.25);
3057
3058      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="tel:+1'+phone+'">'+btnText+'</a></div>';
3059      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="display: inline-block !important;font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="'+btnLinkLocation +'">'+btnText+'</a></div>';
3060
3061    }else {
3062      //old template
3063      var pageEl = $('.tabnav');
3064      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
3065      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
3066
3067      var linkTextColor = getContrast50(linkColor);
3068      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
3069      fontSize = fontSize + Math.round(fontSize  * 0.25);
3070      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
3071
3072      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 50px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+textColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="tel:+1'+phone+'">'+btnText+'</a></div>';
3073      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 30px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+linkTextColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="'+btnLinkLocation+'">'+btnText+'</a></div>';
3074
3075    }
3076     //html content
3077    pageEl.prepend(html);
3078  }
3079
3080  function rgb2hex(rgb) {
3081    if(typeof rgb !== "undefined"){
3082      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
3083      if (!rgbColor) {
3084        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
3085        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
3086      }
3087      function hex(x) {
3088          return ("0" + parseInt(x).toString(16)).slice(-2);
3089      }
3090      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
3091    }
3092    return rgb;
3093  }
3094
3095  function getContrast50(hexcolor){
3096    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
3097  }
3098
3099  function show_corona_sidebar_instructions(text, phone){
3100    //format to US number
3101    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
3102    var divWidth = 230;
3103    var top = 50;
3104    var linkSize = '1.6em';
3105    var pSize = $('p').css('font-size');
3106    var appendPhone = 'tel:+1'+phone+'';
3107
3108    if ($(window).width() < 1600)
3109      var top = 30;
3110    if ($(window).width() < 1200){
3111      var divWidth = 180;
3112      var linkSize = '1.4em';
3113      var pSize ='1.1em';
3114    }
3115
3116    if($('.food-menu-nav').length){ //new template
3117      var textColor = $('.food-menu-nav-item.active').css('color');
3118      var linkColor = $('.food-menu-nav-item.active').css('background-color');
3119
3120      var linkTextColor = $('.food-menu-nav-item.active').css('color');
3121      var parent = $('.food-menu-page');
3122    }
3123    else { //old template
3124      var textColor = $('.menu-item-name-traditional').css('color');
3125      var linkColor = $('.style-traditional .tabnav .nav>li.active>a').css('color');
3126      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
3127      var linkTextColor = getContrast50(linkColor);
3128    }
3129
3130    // $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+textColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');"  style="font-size:'+linkSize+';color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
3131    $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+linkTextColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');this.href=\'' + appendPhone + '\';"  style="font-size:'+linkSize+';color:'+linkTextColor+';" href="/call-us/'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
3132
3133    //check if resolution is bigger than tablet resolution
3134/*  if ($(window).width() > 991) {
3135      //detect scroll
3136      window.onscroll = function (e) {
3137      if ($(window).scrollTop() == 0) {
3138          $('#corona-instructions-sidebar').hide();
3139        }else {
3140          $('#corona-instructions-sidebar').show();
3141        }
3142      }
3143    } */
3144  }
3145
3146  function check_corona_config(config){
3147    console.log(config)
3148    if (config) {
3149      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
3150        if (!config.promote_deliveries && config.promote_pick_up) {
3151          var btnText = 'Call For Pick Up';
3152        }
3153        if (config.promote_deliveries && !config.promote_pick_up) {
3154          var btnText = 'Call For Delivery';
3155        }
3156        if (config.promote_deliveries && config.promote_pick_up) {
3157          var btnText = 'Call For Pick Up Or Delivery';
3158        }
3159
3160        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
3161          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
3162                var btnText = 'ORDER NOW';
3163                    if($('.food-menu-nav').length){ //new template
3164                      var textColor = rgb2hex($('.section-header').css('color'));
3165                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
3166                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
3167                      fontSize = fontSize + Math.round(fontSize  * 0.25);
3168                    }
3169                    else { //old template
3170                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
3171                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>
3171li.active>a').css('color'));
3172
3173                        var linkTextColor = getContrast50(linkColor);
3174                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
3175                        fontSize = fontSize + Math.round(fontSize  * 0.25);
3176                    }
3177                show_corona_instructions('For online orders, use our own <a style="text-decoration:underline;color: '+textColor+';" href="https://tmt.spotapps.co/ordering-menu/?spot_id='+config.spot_id+'&images=yes&accordion=true#"> commission free ordering platform! </a> or call:', config.food_page_instruction_phone, btnText);
3178                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
3179            } else {
3180                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
3181                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
3182            }
3183
3184        }
3185      }
3186    }
3187  }
3188
3189
3190  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
3191    $( document ).ready(function() {
3192       setTimeout(function(){
3193        check_corona_config(corona_config);
3194       }, 300);
3195    });
3196  }
3197
3198
3199
3200  function isPhone(phone){
3201      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
3202      return regex.test(phone);
3203  }
3204
3205  function sendEmail_MT (input_id) {
3206    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
3207
3208    const $step = {
3209      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
3210      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
3211    }
3212
3213    const $field = {
3214      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
3215      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
3216      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
3217    };
3218
3219    const $error = {
3220      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
3221      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
3222    };
3223
3224    if ($field.email.val().trim() === "") {
3225        $error.email
3226          .html("This field is required")
3227          .show();
3228    }
3229    else if (!isEmail($field.email.val().trim())) {
3230      $error.email
3231        .html("Please use the format “[email protected]”")
3232        .show();
3233    } else {
3234      $error.email
3235        .html("")
3236        .hide();
3237    }
3238
3239    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
3240      $error.phone
3241        .html("This field is required")
3242        .show();
3243    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
3244      $error.phone
3245        .html("The phone number must contain 10 digits")
3246        .show();
3247    } else {
3248      $error.phone
3249        .html("")
3250        .hide();
3251    }
3252
3253    const errorField = $step.form.find('.sh-form-error:visible');
3254
3255    if (errorField.length > 0) {
3256      const input = errorField.first().next();
3257
3258      document.activeElement.blur();
3259
3260      setTimeout(() => {
3261        input.focus();
3262      }, 160)
3263
3264      return;
3265    }
3266
3267    $loader
3268      .show()
3269      .prev()
3270      .hide();
3271
3272    $.ajax({
3273      method: "POST",
3274      url: "https://www.spothopperapp.com/api/spots/737352/contacts/add_with_texting_permission",
3275      crossDomain: true,
3276      dataType: 'json',
3277      data: {
3278        email: $field.email.val().trim(),
3279        phone: $field.phone.val().trim(),
3280        texting_permission: $field.consent.is(':checked'),
3281      },
3282      success: function (data) {
3283        afterRequestSubmission(data);
3284      },
3285      error: function () {
3286        afterRequestSubmission("Something went wrong. Please try again later.");
3287      }
3288    });
3289
3290    function afterRequestSubmission (data) {
3291      $step.form.hide();
3292
3293      $step.message
3294        .html(data)
3295        .show()
3296        .trigger('focus');
3297    }
3298  }
3299</script>
3299<script>function addPromotionParamsToTMTLinks()
3300{
3301    if (sessionStorage.getItem('shUrlParams')) {
3302        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
3303        if (!Object.keys(shParams).length)
3304            return;
3305        if(!shParams.source)
3306            return;
3307        $('a').each(function () {
3308            if (this.href.includes('tmt.spotapps.co')) {
3309                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
3310                    return;
3311
3312                this.href = this.href + '&source=' + shParams.source;
3313                if(shParams.destination)
3314                    this.href = this.href + '&destination=' + shParams.destination;
3315                if(shParams.promotion)
3316                    this.href = this.href + '&promotion=' + shParams.promotion;
3317                if(shParams.fb_post_id)
3318                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
3319                if(shParams.email_post_id)
3320                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
3321            }
3322        })
3323    }
3324}
3325setTimeout(function() {
3326  addPromotionParamsToTMTLinks();
3327  addFooterToSourceParam();
3328},600)
3329
3330function addFooterToSourceParam()
3331{
3332    $('.bottom-link').each(function (){
3333        if(shouldAddSourceParam(this.href))
3334          this.href = this.href + '&source=footer';
3335    })
3336    $('#sh-multiple-links-content-holder a').each(function (){
3337       if(shouldAddSourceParam(this.href))
3338          this.href = this.href + '&source=footer';
3339    })
3340}
3341function shouldAddSourceParam(link){
3342  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
3343    return true;
3344  }
3345  return false;
3346}
3347</script>
3347<script>
3348;(async () => {
3349if (typeof window.focusTrap === 'undefined') {
3350    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
3351    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
3352}
3353
3354document.querySelectorAll('.modal').forEach((element) => {
3355    const trap = window.focusTrap?.createFocusTrap(element, {
3356        allowOutsideClick: true,
3357    });
3358
3359    $(element).on('shown.bs.modal', () => {
3360	    trap?.activate();
3361	});
3362
3363	$(element).on('hidden.bs.modal', () => {
3364        trap?.deactivate();
3365    });
3366});
3367
3368async function getScript (source) {
3369    return new Promise((resolve, reject) => {
3370        const script = document.createElement('script');
3371        script.src = source;
3372        script.async = true;
3373
3374        script.onload = resolve;
3375        script.onerror = reject;
3376
3377        document.head.appendChild(script);
3378    });
3379}
3380})();
3381</script>
3381<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
3381<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
3381<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
3381<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
3381<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
3381<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
3381<script>var changes_log_array = {};</script>
3381<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
3381</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.