1 2<!DOCTYPE html> 3<!--[if lt IE 7]> <html lang="en-US" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 4<!--[if IE 7]> <html lang="en-US" class="no-js lt-ie9 lt-ie8"> <![endif]--> 5<!--[if IE 8]> <html lang="en-US" class="no-js lt-ie9"> <![endif]--> 6<!--[if gt IE 8]><!--> <html lang="en-US" class="no-js"> <!--<![endif]--> 7 <head> 8 <meta charset="utf-8"> 9 <meta http-equiv="x-ua-compatible" content="ie=edge"> 10 <title>Quince | San Miguel, Fort Worth, Austin</title> 11 <meta name="description" content="Quince - Voted #1 Rooftop Patio in the World with locations in San Miguel, Fort Worth, and Austin."> 12 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 13 14 <meta property="og:locale" content="en_US" /> 15 <meta property="og:type" content="website" /> 16 <meta property="og:title" content="Quince | San Miguel, Fort Worth, Austin" /> 17 <meta property="og:description" content="Quince - Voted #1 Rooftop Patio in the World with locations in San Miguel, Fort Worth, and Austin." /> 18 <meta property="og:url" content="https://www.quincesma.com" /> 19 <meta property="og:site_name" content="Quince" /> 20 <meta property="og:image" content="https://www.quincesma.com/images/fbmeta.jpg" /> 21 22 <meta name="twitter:card" content="summary_large_image"/> 23 <meta name="twitter:title" content="Quince | San Miguel, Fort Worth, Austin"/> 24 <meta name="twitter:description" content="Quince - Voted #1 Rooftop Patio in the World with locations in San Miguel, Fort Worth, and Austin."/> 25 <meta name="twitter:image" content="https://www.quincesma.com/images/fbmeta.jpg"/> 26 27 <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" /> 28 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 29 <link rel="shortcut icon" href="/favicon.ico" /> 30 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 31 <meta name="apple-mobile-web-app-title" content="Quince" /> 32 <link rel="manifest" href="/site.webmanifest" /> 33 34 <link rel="preconnect" href="https://fonts.googleapis.com"> 35 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 36 <link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap" rel="stylesheet"> 37 38 <link rel="stylesheet" href="/css/style.css?v=1787854778"><!-- ?v= busts browser cache when the stylesheet changes --> 39 40
40<script src="https://unpkg.com/[email protected]/dist/umd/i18next.min.js"></script>
40 41
41<script src="https://unpkg.com/[email protected]/i18nextHttpBackend.js"></script>
41 42
42<script src="https://unpkg.com/[email protected]/i18nextBrowserLanguageDetector.js"></script>
42 43 44 <!-- Asked to add by Brian --> 45
45<script src="https://inkindscript.com/inkind.js" async></script>
45 46
46<script> 47 // InKind's popup retries .focus() into its iframe several times on load (170/200/1000ms); inert blocks all of them natively instead of racing a single blur(). 48 (function () { 49 var recentPointerDown = 0; 50 document.addEventListener('pointerdown', function (e) { 51 if (e.target.closest && e.target.closest('#inkindmodal')) { recentPointerDown = Date.now(); } 52 }, true); 53 document.addEventListener('focusin', function (e) { 54 var target = e.target; 55 if (!(target.id === 'frame' || (target.closest && target.closest('#inkindmodal')))) { return; } 56 if (Date.now() - recentPointerDown < 400) { return; } 57 target.blur(); 58 }, true); 59 60 var observer = new MutationObserver(function () { 61 var modal = document.getElementById('inkindmodal'); 62 if (!modal) { return; } 63 observer.disconnect(); 64 modal.setAttribute('inert', ''); 65 setTimeout(function () { modal.removeAttribute('inert'); }, 4000); 66 }); 67 observer.observe(document.documentElement, { childList: true, subtree: true }); 68 })(); 69 </script>
69 70 71 <!-- Google recaptcha -->
vendor: 84 bytes, lines 71-74
71 72 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 73 74
74<!-- Google Analytics --> 75 <!-- Google tag (gtag.js) -->
vendor: 67 bytes, lines 75-77
75 76 77 <script async src="https://www.googletagmanager.com/gtag/js?id=
77G-VCT2RXKVL2
vendor: 14 bytes, lines 77-78
77"></script> 78
78<script> 79
vendor: 136 bytes, lines 79-83
79window.dataLayer = window.dataLayer || []; 80 function gtag(){dataLayer.push(arguments);} 81 gtag('js', new Date()); 82 83 gtag('config', '
83G-VCT2RXKVL2
vendor: 6 bytes, lines 83-84
83'); 84
84</script>
84 85 86 </head> 87 <body id="top"> 88 <a class="skiplink" href="#maincontent" id="skipLink">Skip to content</a> 89 <div id="sitewrap"> 90 <div class="header-container churchbg"> 91 <header> 92 <div class="headwraplanding"> 93 <h1 class="title"> 94 <a href="/" title="Quince"> 95 <img src="/images/Quince_XV_main.png" alt="Quince"> 96 </a> 97 </h1> 98 <nav class="landingnav" aria-label="Locations"> 99 <ul> 100 <li><a href="/sma/"><span class="visuallyhidden">Quince </span>San Miguel</a></li> 101 <li><a href="/fw/"><span class="visuallyhidden">Quince </span>Ft. Worth</a></li> 102 <li><a href="/atx/"><span class="visuallyhidden">Quince </span>Austin</a></li> 103 </ul> 104 <!-- Stacked over the hero at every width; clicking a button toggles its dropdown. --> 105 <ul class="landingbuttons"> 106 <li class="dropdownbutton reservedropdown"> 107 <a href="/reservations" class="anchorLink filled reserveBTN" role="button" aria-expanded="false" aria-controls="reserveLocations">Reserve Now</a><!-- Translation --> 108 <ul id="reserveLocations"> 109 <li><a href="/reservations#san-miguel">San Miguel</a></li> 110 <li><a href="/reservations#fort-worth">Fort Worth</a></li> 111 <li><a href="/reservations#austin">Austin</a></li> 112 </ul> 113 </li> 114 <li class="dropdownbutton privateeventdropdown"> 115 <a href="#" class="filled privateEventBTN" role="button" aria-expanded="false" aria-controls="privateEventLocations">Book Private Event</a><!-- Translation --> 116 <ul id="privateEventLocations"> 117 <li><a href="https://quincesma.tripleseat.com/party_request/30263" target="_blank" rel="noopener">San Miguel<span class="visuallyhidden destination" data-site="Tripleseat">, on Tripleseat</span><span class="visuallyhidden newtab"> (opens in a new tab)</span></a></li> 118 <li><a href="https://quincesma.tripleseat.com/party_request/29088" target="_blank" rel="noopener">Fort Worth<span class="visuallyhidden destination" data-site="Tripleseat">, on Tripleseat</span><span class="visuallyhidden newtab"> (opens in a new tab)</span></a></li> 119 <li><a href="https://quincesma.tripleseat.com/party_request/30606" target="_blank" rel="noopener">Austin<span class="visuallyhidden destination" data-site="Tripleseat">, on Tripleseat</span><span class="visuallyhidden newtab"> (opens in a new tab)</span></a></li> 120 </ul> 121 </li> 122 </ul> 123 </nav> 124 <div class="langbuttons"> 125 <button type="button" class="langbutton" id="englishBTNWrap" lang="en" onclick="i18next.changeLanguage('en')" title="Set Language to English"><img id="englishBTN" src="/images/english.png" alt="English"></button><span class="langbuttonsep" aria-hidden="true">|</span><button type="button" class="langbutton" id="spanishBTNWrap" lang="es" onclick="i18next.changeLanguage('es')" title="Establecer Idioma en Español"><img id="spanishBTN" src="/images/spanish.png" alt="Español"></button> 126 </div> 127 </div> 128 </header> 129 </div> 130 <main id="maincontent" tabindex="-1" aria-label="Main content"> 131 132 <style> 133 html, body, #sitewrap { 134 height: 100%; 135 } 136 </style> 137 <div class="landingcontainer"> 138 <img class="celebrate" src="/images/celebrate.svg" alt="There is always something to celebrate at Quince" title="There is always something to celebrate at Quince" /> 139 <div class="dotpattern"></div> 140 </div> 141 142 143 </main> 144 <div class="footer-container landingfooter"> 145 <footer class="wrapper"> 146 <div class="landingwrap"> 147 <div class="landingreserve" id="footreserveHome" > 148 <a href="/reservations" class="reservebutton" id="reserveBTNFooter">Reserve Now</a><!-- Translation --> 149 </div> 150 151 <a href="/" class="footlogo"><img src="/images/quincexv_logo.png" alt="Quince â home"></a> 152 153 <div class="landingsocial"> 154 <a href="https://www.facebook.com/quincerooftop/" target="_blank" rel="noopener"><img src="/images/facebook.png" alt="Quince San Miguel on Facebook" /><span class="visuallyhidden newtab"> (opens in a new tab)</span></a><a href="https://www.instagram.com/quince.collection/" target="_blank" rel="noopener"><img src="/images/instagram.png" alt="Quince San Miguel on Instagram" /><span class="visuallyhidden newtab"> (opens in a new tab)</span></a> </div> 155 <div class="privacytermslanding" > 156 <a href="/privacy" >Privacy</a> | <a href="/terms" >Terms</a> 157 </div> 158 </div> 159 </footer> 160 </div> 161 <dialog class="modal" id="promoModal" tabindex="-1" 162 aria-label="Verbena at Quince San Miguel" aria-describedby="promoModalDesc"> 163 <p class="visuallyhidden" id="promoModalDesc" aria-hidden="true">Promotional notice for the Verbena event on 15 September, exclusive to San Miguel.</p> 164 <button type="button" class="modalclosebutton" aria-label="Close"><img src="/images/closebutton.png" alt=""></button> 165 <div class="modalcontainer"> 166 <!-- Modal info Here --> 167 </div> 168 </dialog> 169 </div> 170 171
171<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
171 172
172<script>window.jQuery || document.write('
172<script src="/js/vendor/jquery-3.3.1.min.js"><\/script>')</script>
172 173
173<script src="/js/min/backstretch.min.js"></script>
173 174
174<script> 175 $(".landingcontainer").backstretch([ 176 { url: "/images/quince_static_header.jpg", alignY: 0}, 177 { url: "/images/fortworth_hero.jpg"}, 178 { url: "/images/austin_hero.jpg"} 179 ], {duration: 6000, fade: 1400, preload: 1}); 180 </script>
180 181
181<script src="/js/min/main.min.js?v=1787854831"></script>
181<!-- ?v= busts browser cache when the script changes --> 182
182<script> 183 // import i18next from 'i18next'; 184 i18next 185 .use(i18nextHttpBackend) 186 .use(i18nextBrowserLanguageDetector) 187 .init({ 188 fallbackLng: 'en', 189 debug: true, 190 ns: ['special', 'common'], 191 defaultNS: 'special', 192 backend: { 193 loadPath: '/translations/{{lng}}/{{ns}}.json?v=1787854856', 194 crossDomain: true 195 } 196 }, function(err, t) { 197 // init set content 198 updateContent(); 199 }); 200 201 202 // just set some content and react to language changes 203 // could be optimized using vue-i18next, jquery-i18next, react-i18next, ... 204 function updateContent() { 205 // -------------------------- Page Specific Translations 206 document.querySelectorAll('.reserveBTN').forEach(el => {el.innerHTML = i18next.t('common:reserveBTN');}); 207 document.querySelectorAll('.privateEventBTN').forEach(el => {el.innerHTML = i18next.t('common:bookPrivateEventBTN');}); 208 209 if(document.getElementById("reservationsPage")){ 210 document.getElementById('policysma1').innerHTML = i18next.t('special:policysma.policysma1'); 211 document.getElementById('policysma2').innerHTML = i18next.t('special:policysma.policysma2'); 212 document.getElementById('policysma3').innerHTML = i18next.t('special:policysma.policysma3'); 213 document.getElementById('policysma4').innerHTML = i18next.t('special:policysma.policysma4'); 214 215 document.getElementById('policyftw1').innerHTML = i18next.t('special:policyftw.policyftw1'); 216 document.getElementById('policyftw2').innerHTML = i18next.t('special:policyftw.policyftw2'); 217 document.getElementById('policyftw3').innerHTML = i18next.t('special:policyftw.policyftw3'); 218 document.getElementById('policyftw4').innerHTML = i18next.t('special:policyftw.policyftw4'); 219 220 document.getElementById('policyatx1').innerHTML = i18next.t('special:policyatx.policyatx1'); 221 document.getElementById('policyatx2').innerHTML = i18next.t('special:policyatx.policyatx2'); 222 document.getElementById('policyatx3').innerHTML = i18next.t('special:policyatx.policyatx3'); 223 document.getElementById('policyatx4').innerHTML = i18next.t('special:policyatx.policyatx4'); 224 } 225 if(document.getElementById("pressPage")){ 226 document.getElementById('title').innerHTML = i18next.t('special:title.press'); 227 if(i18next.language === 'en' || i18next.language === 'en-US'){ 228 if(document.getElementById('pressTranslation')){ 229 document.getElementById('pressTranslation').classList.replace("spanishversion", "englishversion"); 230 } 231 } else { 232 if(document.getElementById('pressTranslation')){ 233 document.getElementById('pressTranslation').classList.replace("englishversion", "spanishversion"); 234 } 235 } 236 } 237 if(document.getElementById("404Page")){ 238 document.getElementById('pageNotFound').innerHTML = i18next.t('special:pageNotFound'); 239 document.getElementById('pageNotFoundText').innerHTML = i18next.t('special:pageNotFoundText'); 240 } 241 // --------------------------- Site Wide Translations 242 // Hours Body & Footer 243 document.querySelectorAll('.monAbbv').forEach(el => {el.innerHTML = i18next.t('common:monAbbv');}); 244 document.querySelectorAll('.tueAbbv').forEach(el => {el.innerHTML = i18next.t('common:tueAbbv');}); 245 document.querySelectorAll('.wedAbbv').forEach(el => {el.innerHTML = i18next.t('common:wedAbbv');}); 246 document.querySelectorAll('.thuAbbv').forEach(el => {el.innerHTML = i18next.t('common:thuAbbv');}); 247 document.querySelectorAll('.friAbbv').forEach(el => {el.innerHTML = i18next.t('common:friAbbv');}); 248 document.querySelectorAll('.satAbbv').forEach(el => {el.innerHTML = i18next.t('common:satAbbv');}); 249 document.querySelectorAll('.sunAbbv').forEach(el => {el.innerHTML = i18next.t('common:sunAbbv');}); 250 document.querySelectorAll('.lunch').forEach(el => {el.innerHTML = i18next.t('common:lunch');}); 251 document.querySelectorAll('.lunchOnly').forEach(el => {el.innerHTML = i18next.t('common:lunchOnly');}); 252 document.querySelectorAll('.dinner').forEach(el => {el.innerHTML = i18next.t('common:dinner');}); 253 document.querySelectorAll('.dinnerOnly').forEach(el => {el.innerHTML = i18next.t('common:dinnerOnly');}); 254 document.querySelectorAll('.brunch').forEach(el => {el.innerHTML = i18next.t('common:brunch');});
255 document.querySelectorAll('.brunchOnly').forEach(el => {el.innerHTML = i18next.t('common:brunchOnly');}); 256 document.querySelectorAll('.happyHour').forEach(el => {el.innerHTML = i18next.t('common:happyHour');}); 257 258 // Footer 259 document.getElementById('reserveBTNFooter').innerHTML = i18next.t('common:reserveBTN'); 260 261 // Buttons 262 var isEnglish = (i18next.language === 'en' || i18next.language === 'en-US'); 263 if(isEnglish){ 264 document.getElementById('englishBTN').src='/images/english.png'; 265 document.getElementById('spanishBTN').src='/images/spanish_disabled.png'; 266 } else { 267 document.getElementById('englishBTN').src='/images/english_disabled.png'; 268 document.getElementById('spanishBTN').src='/images/spanish.png'; 269 } 270 document.getElementById('englishBTNWrap').setAttribute('aria-pressed', isEnglish ? 'true' : 'false'); 271 document.getElementById('spanishBTNWrap').setAttribute('aria-pressed', isEnglish ? 'false' : 'true'); 272 273 document.documentElement.lang = isEnglish ? 'en-US' : 'es'; 274 275 document.querySelectorAll('.skiplink').forEach(el => {el.innerHTML = i18next.t('common:skipLink');}); 276 document.getElementById('maincontent').setAttribute('aria-label', i18next.t('common:mainContent')); 277 var promo = document.getElementById('promoModal'); 278 if (promo) { 279 promo.setAttribute('aria-label', i18next.t('common:promo.title')); 280 document.getElementById('promoModalDesc').innerHTML = i18next.t('common:promo.description'); 281 document.querySelectorAll('.promoaction').forEach(el => {el.innerHTML = i18next.t('common:promo.action');}); 282 } 283 document.querySelectorAll('.callprefix').forEach(el => {el.innerHTML = i18next.t('common:callPrefix');}); 284 document.querySelectorAll('.newtab').forEach(el => {el.innerHTML = i18next.t('common:newTab');}); 285 document.querySelectorAll('.destination').forEach(el => {el.innerHTML = i18next.t('common:onSite', {site: el.dataset.site});}); 286 var menuToggle = document.getElementById('menuToggle'); 287 if(menuToggle){ 288 menuToggle.setAttribute('aria-label', i18next.t('common:menuToggleLabel')); 289 } 290 document.querySelectorAll('.locationtoggle .visuallyhidden').forEach(el => {el.innerHTML = i18next.t('common:changeLocationLabel');}); 291 } 292 293 function changeLng(lng) { 294 i18next.changeLanguage(lng); 295 } 296 297 i18next.on('languageChanged', () => { 298 updateContent(); 299 }); 300 </script>
300 301 </body> 302</html> 303
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.