1 2 3 4 5 6 7 8 9 10 11 12 13<!doctype html> 14<html lang="en"> 15<head> 16<meta charset="utf-8"> 17<!-- mpc favicons --> 18<link rel="icon" type="image/png" sizes="16x16" href="/mimages/icons/favicon-16x16.png"> 19<link rel="icon" type="image/png" sizes="32x32" href="/mimages/icons/favicon-32x32.png"> 20<link rel="icon" type="image/png" sizes="48x48" href="/mimages/icons/favicon-48x48.png"> 21<link rel="manifest" href="/mimages/icons/manifest.webmanifest"> 22<meta name="mobile-web-app-capable" content="yes"> 23<meta name="theme-color" content="#fff"> 24<meta name="application-name" content="University Station"> 25<link rel="apple-touch-icon" sizes="57x57" href="/mimages/icons/apple-touch-icon-57x57.png"> 26<link rel="apple-touch-icon" sizes="60x60" href="/mimages/icons/apple-touch-icon-60x60.png"> 27<link rel="apple-touch-icon" sizes="72x72" href="/mimages/icons/apple-touch-icon-72x72.png"> 28<link rel="apple-touch-icon" sizes="76x76" href="/mimages/icons/apple-touch-icon-76x76.png"> 29<link rel="apple-touch-icon" sizes="114x114" href="/mimages/icons/apple-touch-icon-114x114.png"> 30<link rel="apple-touch-icon" sizes="120x120" href="/mimages/icons/apple-touch-icon-120x120.png"> 31<link rel="apple-touch-icon" sizes="144x144" href="/mimages/icons/apple-touch-icon-144x144.png"> 32<link rel="apple-touch-icon" sizes="152x152" href="/mimages/icons/apple-touch-icon-152x152.png"> 33<link rel="apple-touch-icon" sizes="167x167" href="/mimages/icons/apple-touch-icon-167x167.png"> 34<link rel="apple-touch-icon" sizes="180x180" href="/mimages/icons/apple-touch-icon-180x180.png"> 35<link rel="apple-touch-icon" sizes="1024x1024" href="/mimages/icons/apple-touch-icon-1024x1024.png"> 36<meta name="apple-mobile-web-app-capable" content="yes"> 37<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> 38<meta name="apple-mobile-web-app-title" content="University Station"> 39<meta name="msapplication-TileColor" content="#fff"> 40<meta name="msapplication-TileImage" content="/mimages/icons/mstile-144x144.png"> 41<meta name="msapplication-config" content="/mimages/icons/browserconfig.xml"> 42<!-- /mpc favicons --> 43<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1" /> 44<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
45<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
45 46<link rel="stylesheet" href="/css/ARA25/main-v1750323459491.css">
47<script> 48$('document').ready(function(){ 49const siteUrl = window.location.hostname; 50const links = Array.prototype.slice.call(document.querySelectorAll("a"), 0); 51links.forEach(function(element) { 52if ( element.href == "" || element.href.indexOf("javascript") > -1) { 53return; 54} else if ( element.href.indexOf(siteUrl.replace("www.", "")) > -1 ) { 55return; 56} else if ( element.href.indexOf(siteUrl) > -1 ) { 57if ( element.target.indexOf("javascript") > -1 || element.target.charAt(0) == "#" ) { 58return; 59} else { 60element.target = ""; 61} 62} else { 63element.target = "_blank"; 64element.rel = "noopener"; 65} 66}); 67}); 68</script>
68 69 70<style> 71 [id] { 72 [id] { scroll-margin-top: 200px; } 73 } 74 75 </style> 76<style type="text/css"> 77 .gnsh_form_error_message, 78 .gnsh_form_captcha_fail_message { 79 border: 2px solid crimson; 80 padding: 20px; 81 } 82 .gnsh_form_wrapper .messages > div { 83 margin-top: 20px; 84 } 85 .gnsh_form_wrapper .messages div > * { 86 color: currentColor; 87 } 88 </style> 89
89<script type="text/javascript"> 90 function gnsh_bind_events_to_forms() { 91 console.log('gnsh_bind_events_to_forms()') 92 // console.log('unbinding all events with namespaces ...'); 93 $('.gnsh-ajax').unbind('.gnsh'); 94 $('.tiny-gnsh-ajax').unbind('.gnsh'); 95 $('.go_back_to_form').unbind('.gnsh'); 96 $('.gnsh-custom-field').unbind('.gnsh'); 97 // console.log('binding events with namespaces ...'); 98 $('.gnsh-ajax').bind('submit.gnsh', handle_gnsh_form_submit); 99 $('.go_back_to_form').bind('click.gnsh', handle_get_back_to_form_click); 100 $('.gnsh-custom-field').bind('change.gnsh', handle_gnsh_custom_field_click); 101 102 103 $('.tiny-gnsh-ajax').off('gnsh_submit').on('gnsh_submit', handle_tiny_gnsh_form_submit); 104 105 $('form.bes input[type=email]').each(function(){ 106 this.addEventListener("input", (event) => { 107 // Each time the user types something, we check if the 108 // form fields are valid. 109 if (this.validity.valid) { 110 console.log('valid') 111 // In case there is an error message visible, if the field 112 // is valid, we remove the error message. 113 // emailError.textContent = ""; // Reset the content of the message 114 // emailError.className = "error"; // Reset the visual state of the message 115 } else { 116 console.log('invalid') 117 // If there is still an error, show the correct error 118 // showError(); 119 event.preventDefault(); 120 } 121 }); 122 }) 123 } 124 $(gnsh_bind_events_to_forms); 125 126 function handle_gnsh_form_submit(event) { 127 console.log('handle_gnsh_form_submit()') 128 event.preventDefault(); 129 target = $(event.target); 130 wrapper = target.closest('div.gnsh_form_wrapper'); 131 132 133 $('.gnsh-ajax', wrapper).css('display', 'none'); 134 $('.gnsh_form_captcha_fail_message', wrapper).hide(250); 135 $('.gnsh_form_processing_message', wrapper).show(500); 136 $.ajax({ 137 type: 'POST', 138 url: window.effhref ? `${window.effhref}/i/` : `${window.location.origin}/i/`, 139 data: target.serialize(), 140 success: function(response) { 141 console.log(response); 142 $('.gnsh_form_success_message', wrapper).show(500); 143 // need general hook/callback? 144 }, 145 complete: function() { 146 $('.gnsh_form_processing_message', wrapper).stop().hide(500); 147 }, 148 error: function(response) { 149 console.log(response); 150 if(response.status == '422') { 151 152 153 $('.gnsh-ajax', wrapper).css('display', 'block'); 154 $('.gnsh_form_captcha_fail_message', wrapper).show(500); 155 } else { 156 $('.gnsh_form_error_message', wrapper).show(500); 157 } 158 } 159 }); 160 return false; 161 } 162 163 function handle_tiny_gnsh_form_submit(event) { 164 console.log('handle_tiny_gnsh_form_submit()') 165 166 167 168 event.preventDefault() 169 event.stopPropagation() 170 171 target = $(event.target); 172 wrapper = target.closest('div.gnsh_form_wrapper'); 173 $('.gnsh_form_captcha_fail_message', wrapper).hide(250); 174 175 // ROADMAP TO CUSTOM ERROR MESSAGES IF WE DECIDED TO GO THAT ROUTE EVER: 176 // Bool for self validation - (if true) add "novalidate" attribute to form tag 177 // Set data attributes to indicate which <input> fields to validate 178 // And pass validation info into them 179 // (with js) 180 // loop through inputs of form 181 // look for data-custom-error-[error-type] 182 // if exists 183 // run validation 184 // if invalid 185 // create error element, attach to input 186 // populate error message 187 // return; 188 189 // CSS lives in design 190 191 192 // validation 193 var all_valid = true 194 target.find('input').each(function(){ 195 if( ! this.validity.valid) { 196 console.log('input validity run thru', this.validity) 197 this.reportValidity() 198 all_valid = false 199 } 200 }) 201 202 if( ! all_valid) { 203 return false 204 } 205 206 $('.gnsh_form_processing_message', wrapper).show(500); 207 208 $.ajax({ 209 type: 'POST', 210 url: 'https://shopuniversitystation.com/i/', 211 data: target.serialize(), 212 success: function(response) { 213 // $('.gnsh-ajax', wrapper).hide(500); 214 $('input[name=submit]', wrapper).hide(500, function(){$('input[name=submit]', wrapper).remove()}); 215 $('.gnsh_form_success_message', wrapper).show(500); 216 if(typeof window.contact_us_ajax_form_success_callback === 'function') { 217 window.contact_us_ajax_form_success_callback(response); 218 } else { 219 console.log('no success callback'); 220 } 221 }, 222 complete: function() { 223 $('.gnsh_form_processing_message', wrapper).stop().hide(500); 224 }, 225 error: function(response) { 226 console.log(response); 227 if(response.status[0] === '4') {
228 $('.gnsh_form_captcha_fail_message').show(500); 229 $('input[name=shoptcha]').val('') 230 } else { 231 $('.gnsh_form_error_message', wrapper).show(500); 232 } 233 } 234 }); 235 return false; 236 } 237 238 function handle_get_back_to_form_click(event) { 239 event.preventDefault(); 240 target = $(event.target); 241 wrapper = target.closest('div.gnsh_form_wrapper'); 242 243 244 $('.gnsh-ajax', wrapper).css('display', 'block'); 245 $('.gnsh_form_captcha_fail_message', wrapper).hide(250); 246 $('.gnsh_form_error_message', wrapper).hide(250); 247 } 248 249 function handle_gnsh_custom_field_click(event) { 250 var target = $(event.target); 251 var radio = target.parent().parent().find('input[type=radio]'); 252 radio.prop("checked", true); 253 } 254 </script>
254 255<!-- 488d99jjd9 --> 256<style type="text/css"> 257 258 .screen-reader-only, 259 .visually-hidden { 260 position: absolute; 261 left: -10000px; 262 top: auto; 263 width: 1px; 264 height: 1px; 265 overflow: hidden; 266 } 267 268 .visually-hidden:focus, 269 .visually-hidden a:focus { 270 position: static; 271 width: auto; 272 height: auto; 273 } 274 .screen-reader-only:focus { 275 top: 10px; 276 left: 10px; 277 width: auto; 278 height: auto; 279 } 280 281 .screen-reader-only { 282 padding: 20px; 283 background-color: white; 284 border-radius: 4px; 285 z-index: 5555; 286 font-family: sans-serif; 287 font-size: 23px; 288 } 289 290 body { 291 margin: 0; 292 } 293 body:not(.home) .has-no-deco-hero { 294 padding-top: 40px; 295 } 296 </style>
297<script type="text/javascript"> 298 299 function SEWsearchFormSubmit(terms) { 300 console.log('2024m - production') 301 terms = terms.replace(/[^a-zÃ-ÿ0-9 ]/gi, '') 302 terms = terms.replace(/(^\s+|\s+$)/g, '') 303 terms = terms.replace(/\s+/g, '%20') 304 if(terms.length > 2) { 305 console.log(terms) 306 307 window.location.href = `https://${window.location.hostname}/search/all/${terms}/?q=${terms}`; 308 309 } else { 310 console.log('search query too short'); 311 } 312 } 313 314 </script>
314 315<title>University Station :: Contact Us</title> 316<!-- Google Tag Manager --> 317
318<script>
vendor: 327 bytes, lines 318-322
318(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 319new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 320j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 321'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 322})(window,document,'script','dataLayer','
322GTM-5376MBZ
vendor: 3 bytes, line 322
322');
322</script>
322 323 324<!-- End Google Tag Manager --> 325 326 327<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 327-328
327 328<script async src="https://www.googletagmanager.com/gtag/js?id=
328G-P96XJ06HPY
vendor: 12 bytes, line 328
328"></script>
329<script> 330
vendor: 130 bytes, lines 330-333
330window.dataLayer = window.dataLayer || []; 331 function gtag(){dataLayer.push(arguments);} 332 gtag('js', new Date()); 333 gtag('config', '
333G-P96XJ06HPY
vendor: 30 bytes, line 333
333', { 'groups': ["master"] });
333// pw_master 334 gtag('config', 'G-10XFK9Z03B', { 'groups': ["actual"] }); // mpc db6717be 335 336</script>
336 337<!-- END Global site tag (gtag.js) -->
338<script src="https://cdn.placewise.com/assets/js/vendor/lodash/v3.8.0/lodash.min.js"></script>
vendor: 1 bytes, line 338
338
339<script src="https://cdn.placewise.com/assets/js/vendor/moment/v2.24.0/moment.min.js"></script>
339 340<!-- Placewise Profile M2 --> 341 <style>.pwofile-glass {color: transparent; text-shadow: rgba(0,0,0,.3) 0 0 2px; filter: blur(5px);}.omodal.pwofile-required-fields-modal .omodal-container .omodal-footer {display:block!important;text-align:center;}</style> 342 343 <!-- tagstagstags {ts '2026-10-07 23:23:21'} --> 344 345
345<script type="text/javascript" src="https://cdn.placewise.com/assets/js/profile/v3.1.18/profile.min.js" defer></script>
345 346 347 348
348<script> 349 $(function() { 350 var pw_profile_routes = { 351 login_page: "/login/", 352 profile_page: "/profile/" 353 } 354 355 window.store_assist_data = {"deal_count_by_store_id":{"1024723":2,"1024743":1,"1024740":6,"1024707":6,"1024742":1,"1024732":1}} 356 357 // Make the profile object (with guard to prevent double initialization). 358 if (!window.pw_profile) { 359 window.pw_profile = new User_Profile( 360 555, 361 true, 362 pw_profile_routes, 363 {"alert_pwofile_SMS_number_already_in_use":"SMS number is already in use.","alert_pwofile_details_updated":"Your personal settings have been updated.","alert_pwofile_subscriptions_updated":"Your subscriptions have been updated.","error_wrong_password_settings":"The current password does not match this account. Please enter correct current password.","alert_pwofile_password_updated":"Your profile password has been updated.","error_bad_confirmation_token":"Sorry, but the confirmation link provided has expired. Please request a new one.","magic_link_request_success_modal":{"footer":"OK","heading":"Thanks!","body":"Check your email for a link to access your account. Make sure to check your spam folder if you donât see it in your inbox."},"alert_pwofile_SMS_updated":"Profile SMS has been updated.","error_user_not_found":"Cannot find account with that email","alert_confirm_taking_to_long":"Sorry, this is taking so long. Please reload the page and try again.","error_passwords_mismatch":"Password does not match confirm password!","error_password_required":"Please fill out all password fields to change password"}, 364 [1024713,1024742,1024726,1024706,1024707,1024721,1024711,1037882,1024729,1024740,1024723,1024718,1024728,1024741,1024704,1024719,1024739,1024733,1024717,1024714,1024731,1024735,1024722,1024732,1024734,1024730,1024737,1024727,1024720,1024712,1024724,1024708,1024705,1024716,1024736,1024710,1024715,1024738,1024725,1079111,1024703,1024743], 365 'US', 366 'MA', 367 [], 368 false, 369 13, 370 false, 371 {"Sports Equipment / Fitness":33486,"Entertainment / Movies":33477,"Menâs Shoes":1159,"Womenâs Fashion":209,"Accessories / Handbags":33474,"Live Music Events":33484,"Events":33478,"Food & Beverage / Cooking":33480,"Travel / Luggage":33487,"Beauty / Wellness":33476,"Jewelry":91,"Kidâs Fashion & Shoes":33482,"House / Home Décor / Kitchenware":33481,"Art / Exhibitions / Museums":33475,"Womenâs Shoes":234,"Menâs Fashion":276,"Medical / Health":33485}, 372 [37883,43708], 373 374 'https://placewise-api-integrations.eu.placewise.com', 375 376 'university-station' 377 ); 378 } else { 379 console.warn('User_Profile already initialized, skipping duplicate instantiation'); 380 } 381 382 }) 383 </script>
383 384<!-- si modals --> 385 386 387 388 389 <style> 390 .mmodal { 391 background-color: var(--color-brand-primary); 392 text-align: center; 393 } 394 .mmodal .mmodal-header { 395 position: relative; 396 font-family: var(--base-font-family); 397 font-size: 3rem; 398 color: white; 399 padding: 20px; 400 margin-bottom: 10px; 401 } 402 .mmodal .mmodal-body .major { 403 font-family: var(--base-font-family-alt); 404 font-size: 5.4rem; 405 line-height: 1.2; 406 color: #535250; 407 } 408 .mmodal .mmodal-body { 409 background-color: #ccc; 410 margin-bottom: 10px; 411 padding: 20px; 412 } 413 .mmodal .mmodal-body p { 414 font-size: 2.4rem; 415 line-height: 1.5; 416 color: #535250; 417 } 418 .mmodal .mmodal-header, 419 .mmodal .mmodal-footer { 420 padding: 20px; 421 background-color: #797875; 422 } 423 .mmodal .submit_button_wrapper { 424 margin-bottom: 20px; 425 } 426 .mmodal .fine-print { 427 font-size: 1.35rem; 428 color: white; 429 } 430 .mmodal .fine-print a { 431 text-decoration: underline; 432 color: currentColor; 433 } 434 .mmodal .mmodal-close { 435 position: absolute; 436 top: 0; 437 right: 0; 438 width: 86px; 439 height: 100%; 440 cursor: pointer; 441 } 442 .mmodal .mmodal-close svg { 443 position: absolute; 444 top: 50%; 445 transform: translate(-50%, -50%); 446 } 447 .mmodal .mmodal-close:hover svg { 448 opacity: 0.6; 449 } 450 @media(max-width:600px) { 451 .mmodal .mmodal-header { 452 font-size: 6vw; 453 } 454 .mmodal .mmodal-body .major { 455 font-size: 10.8vw; 456 } 457 .mmodal .mmodal-body p { 458 font-size: 4.8vw; 459 } 460 } 461 </style> 462 463 464 465 <style> 466 .mmodal[role=dialog][data-open] { 467 display: block; 468 } 469 .mmodal { 470 position: fixed; 471 top: 50%; 472 left: 0; 473 right: 0; 474 transform: translateY(-50%); 475 display: none; 476 overflow: visible; 477 max-height: calc(100% - 66px); 478 width: 100%; 479 max-width: 600px; 480 z-index: 9999999; 481 margin: 0 auto; 482 background-color: white; 483 } 484 485 .mmodal-close { 486 cursor: pointer; 487 } 488 </style> 489
489<script> 490 $(function(){ 491 492 window.dialog = elect_dialog(); 493 window.mmodal_overlay = document.getElementsByClassName('mmodal-overlay')[0]; 494 window.mmodal_close = ''; 495 openDialog() 496 }) 497 498 function set_dialog(id) { 499 dialog = document.getElementsByClassName('mmodal').getElementById(id) 500 } 501 function elect_dialog() { 502 // don't show modals on certain paths 503 const is_home = window.location.pathname === '/' 504 if(window.location.pathname.match(/login|register|sitemap|profile/)) { 505 console.log(`modal suppressed on ${window.location.pathname}`) 506 return false 507 } 508 // var modals = Array.from(document.getElementsByClassName('mmodal')); 509 var modals = Array.from(document.querySelectorAll('.mmodal[data-rank]')); 510 if(modals.length) { 511 var modal_to_show = false; 512 // console.log('modals', modals) 513 modals.sort((a, b) => a.getAttribute('data-rank') - b.getAttribute('data-rank')); 514 // console.log('modals', modals) 515 516 const test_mode = new URLSearchParams(window.location.search).get('modal-test') || false; 517 if(test_mode) { 518 modal_to_show = modals[0] 519 } else { 520 modals.forEach(modal => { 521 if(modal_to_show) { 522 return 523 } 524 if( ! modal.getAttribute('data-rank')) { 525 return 526 } 527 // console.log('check for cookie') 528 const suppression_cookie_name = modal.getAttribute('data-suppress-if-cookie-exists') || false; 529 // console.log('check for cookie', suppression_cookie_name) 530 if(suppression_cookie_name) { 531 if(read_cookie(suppression_cookie_name)) { 532 // console.log(`already has ${suppression_cookie_name} cookie. suppressing`) 533 modal.remove() 534 return 535 } 536 } 537 const id = modal.getAttribute('id') 538 // console.log('modal id & cookie', id, read_cookie(id)) 539 if(read_cookie(id)) { 540 // console.log('already shown modal ' + id) 541 modal.remove() 542 return 543 } 544 // todo if must show on homepage/or specific page.... 545 // it has survived this vetting, so it is the chosen one 546 modal_to_show = modal 547 }) 548 } 549 } 550 551 return modal_to_show 552 } 553 function openDialog() { 554 if( ! dialog) { 555 console.log('no dialog set to be opened') 556 return 557 } 558 // first_input = dialog.getElementsByTagName('input')[0]; 559 mmodal_overlay.addEventListener('click', closeDialog); 560 mmodal_close = dialog.getElementsByClassName("mmodal-close")[0]; 561 mmodal_close.addEventListener('click', closeDialog); 562 mmodal_close.addEventListener('keydown', activate_close); 563 564 // also need the "OKay" button to close the dialog 565 mmodal_okay = dialog.querySelector(".mmodal-footer button"); 566 if(mmodal_okay) { 567 mmodal_okay.addEventListener('click', closeDialog); 568 mmodal_okay.addEventListener('keydown', activate_close); 569 } 570 571 /* what? 572 mmodal_button = dialog.getElementsByTagName("button")[0]; 573 mmodal_button.addEventListener('click', closeDialog); 574 mmodal_button.addEventListener('keydown', activate_close); 575 */ 576 577 dialog.setAttribute('data-open', ''); 578 // console.log(first_input) 579 mmodal_close.focus() 580 mmodal_close.blur() 581 mmodal_overlay.style.display = 'block'; 582 document.addEventListener('keydown', addESC); 583 // wall that tab key into our garden 584 var focusable_elements = getKeyboardFocusableElements(dialog) 585 focusable_elements[focusable_elements.length - 1].addEventListener('keydown', tab_back_to_top_of_garden) 586 if(dialog.getAttribute('data-rank') && dialog.getAttribute('id')) { 587 create_cookie(dialog.getAttribute('id'), 'shown', 30000000); 588 } 589 // todo track the event 590 } 591 function tab_back_to_top_of_garden(e) { 592 if (e.keyCode == 9) { 593 e.preventDefault(); 594 mmodal_close.focus(); 595 } 596 } 597 function addESC(e) { 598 if (e.keyCode == 27) { 599 closeDialog(); 600 } 601 } 602 function activate_close(e) { 603 if (e.keyCode == 13) { 604 closeDialog(); 605 } 606 } 607 608 function closeDialog() { 609 if(dialog) { 610 dialog.removeAttribute('data-open'); 611 mmodal_overlay.style.display = 'none'; 612 document.removeEventListener('keydown', addESC); 613 // pyt focus back 614 615 const skipper = document.getElementsByClassName('skip-navigation')[0]
616 skipper.focus() 617 skipper.blur() 618 // if it was an archetype, remove it. 619 if(dialog.getAttribute('class').indexOf('archetype') !== -1) { 620 dialog.remove() 621 } 622 // todo track the event 623 } 624 } 625 626 function Mmodal() { 627 this.alert = function(message_text, headline_text, ok_button_text='OK', classes='') { 628 closeDialog() 629 window.dialog = document.querySelector('.mmodal.profile_archetype').cloneNode(true) 630 window.dialog.innerHTML = window.dialog.innerHTML.replace('HEADLINE', headline_text) 631 window.dialog.innerHTML = window.dialog.innerHTML.replace('MESSAGE', message_text) 632 window.dialog.innerHTML = window.dialog.innerHTML.replace('CTA', ok_button_text) 633 document.body.appendChild(window.dialog); 634 openDialog() 635 } 636 this.close = function() { 637 // if no arg, close any open modals 638 closeDialog() 639 } 640 } 641 642 window.omodal = new Mmodal(); 643 console.log('window.omodal', window.omodal) 644 645 646 function getKeyboardFocusableElements(element = document) { 647 return [ 648 ...element.querySelectorAll( 649 'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])', 650 ), 651 ].filter( 652 el => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden'), 653 ) 654 } 655 function create_cookie(name, value, milliseconds) { 656 var date = new Date(); 657 if (milliseconds) { 658 date.setTime(date.getTime()+milliseconds); 659 var expires = "; expires="+date.toGMTString(); 660 } else { 661 var expires = ""; 662 } 663 664 bits = document.domain.split('.'); 665 tld = bits.pop(); 666 cookieDomain = bits.pop() + '.' + tld; 667 668 document.cookie = name+"="+value+expires+"; path=/; domain=." + cookieDomain + ';secure;SameSite=Strict'; 669 } 670 671 function read_cookie(name) { 672 var nameEQ = name + "="; 673 var ca = document.cookie.split(';'); 674 for(var i=0;i < ca.length;i++) { 675 var c = ca[i]; 676 while (c.charAt(0)==' ') c = c.substring(1, c.length); 677 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 678 } 679 return null; 680 } 681 </script>
681 682<!-- sgomhtml --> 683 <style> 684 .operationalMessage { 685 position: sticky; 686 top: 0; 687 background-color: #c72626; 688 color: white; 689 z-index: 99999; 690 width: 100%; 691 text-align: center; 692 padding: 20px 0; 693 font-size: 20px; 694 line-height: 1.319; 695 letter-spacing: 0; 696 font-family: Arial, sans-serif; 697 } 698 @media(max-width: 700px) { 699 body .operationalMessage { 700 padding: 10px 0; 701 } 702 body .operationalMessage { 703 font-size: 16px; 704 gap: 10px; 705 } 706 body .operationalMessage svg { 707 flex: 0 0 48px; 708 width: 48px; 709 } 710 } 711 .operationalMessage .opmessage-content { 712 display: flex; 713 gap: 20px; 714 justify-content: center; 715 align-items: center; 716 } 717 .operationalMessage a { 718 color: white; 719 text-decoration: underline; 720 } 721 .operationalMessage a:hover { 722 color: yellow; 723 } 724 .operationalMessage svg { 725 fill: orange; 726 flex: 0 0 64px; 727 } 728 729 </style> 730
730<script> 731 $(document).on('pw:operational_message_opening pw:operational_message_open', function(e, w) { 732 console.log(e.type); 733 }); 734 735 function init_op_mess() { 736 console.log('init_op_mess()') 737 const operational_message_test = new URLSearchParams(window.location.search).get('operational_message_test') !== null; 738 var data = {} 739 var content; 740 if(operational_message_test) { 741 data.operational_message_test = 1 742 } 743 $.get('/live_update/op_mess/', data, response => { 744 content = response.html || ''; 745 inject_op_mess(content) 746 }) 747 } 748 function inject_op_mess(content) { 749 if (content.length) { 750 var container = $('.opmessage-injection'); 751 var config = container.data('config') || {}; 752 console.log(`inject_op_mess(${content})`, config) 753 754 config.attach_point = config.attach_point || 'body' 755 config.attach_method = config.attach_method || 'prependTo' 756 container.removeClass('opmessage-injection') 757 .addClass('operationalMessage') 758 .addClass('operationalMessage-start') 759 .detach(); 760 761 container.find('.message').html(content); 762 763 $(document).trigger('pw:operational_message_opening', config); 764 container[config.attach_method](config.attach_point) 765 .css('display', 'block') 766 .removeClass('operationalMessage-start') 767 setTimeout( 768 function() { 769 $(document).trigger('pw:operational_message_open', config); 770 }, 771 200 772 ); 773 } 774 } 775 $(init_op_mess) 776 </script>
776</head> 777<body class="info mpc ARA25"><div class="outer-wrapper"> 778<div class="inner-wrapper"> 779<div class="reveal-wrapper"> 780<div class="wrapper" style="position: relative;"> 781<a href="#main-content" class="skip-navigation screen-reader-only">Skip to main content</a> 782<!-- layouts: ARA25 header --> 783<div class="header-wrapper"> 784<header role="banner" class="header-banner"> 785<div class="desktop-banner-holder"> 786<div class="page-width-maintainer"> 787<div class="desktop-logo-wrapper"> 788<div class="mall-logo " itemscope itemtype="http://schema.org/Organization" role="presentation"> 789<a itemprop="url" href="/" title="Click to return to the home page."> 790<span class="visually-hidden">University Station home page</span> 791<style> 792.mall-logo img { 793display: block; 794margin: 0 auto; 795width: 210px; 796height: 80px; 797object-fit: contain; 798object-position: center; 799} 800</style> 801<img itemprop="logo" src="https://cdn.placewise.com/AmericanRealty/universitystation/images/mall-logo.svg" alt=""> 802</a> 803</div> 804</div> 805<div class="desktop-rest-holder"> 806<style> 807nav.primary li ul { 808display: none; 809} 810nav.primary li ul li { 811list-style-type: none; 812} 813.header-wrapper { 814background-color: #EDEDEC; 815box-shadow: 0 7px 5px rgba(0,0,0,.3); 816position: sticky; 817top: 0; 818z-index: 111; 819width: 100%; 820} 821header.header-banner .mall-logo { 822padding: 10px 20px; 823} 824.open-nav .mobile-header-container nav.primary { 825height: 100vh !important; 826} 827</style> 828<div class="nav-wrapper"> 829<!-- Rogale ÅwiÄtomarciÅskie --> 830<nav itemscope role="navigation" itemtype="http://schema.org/SiteNavigationElement" class="primary"><ul aria-label="Primary Navigation" class="primary n8items"><li itemprop="name" class="item"><a href="/directory/" itemprop="url" tabindex="0">Shop</a></li><li itemprop="name" class="item"><a href="/directory/#Dining-and-Entertainment/" itemprop="url" tabindex="0">Dine</a></li><li itemprop="name" class="item"><a href="/events/" itemprop="url" tabindex="0">Events</a></li><li itemprop="name" class="item"><a href="/sales/" itemprop="url" tabindex="0">Deals</a></li><li aria-expanded="false" itemprop="name" aria-label="Visit" class="item drop-parent"><a href="/visit/" itemprop="url" id="96285162" tabindex="0" aria-haspopup="true">Visit</a><ul class="n8items drop s" aria-labelledby="96285162"><li itemprop="name" class="item"><a href="/about-us/" itemprop="url" tabindex="0">About Us</a></li><li itemprop="name" class="item"><a href="/stay/" itemprop="url" tabindex="0">Stay</a></li><li itemprop="name" class="item"><a href="/live/" itemprop="url" tabindex="0">Live</a></li><li itemprop="name" class="item"><a href="/work/" itemprop="url" tabindex="0">Work</a></li><li itemprop="name" class="item"><a href="/fitness/" itemprop="url" tabindex="0">Fitness</a></li><li itemprop="name" class="item"><a href="/health-care/" itemprop="url" tabindex="0">Health Care</a></li><li itemprop="name" class="item"><a href="/directions/" itemprop="url" tabindex="0">Directions</a></li><li itemprop="name" class="item"><a href="/hours/" itemprop="url" tabindex="0">Hours</a></li></ul></li><li itemprop="name" class="item"><a href="/contact-us/" itemprop="url" tabindex="0">Contact Us</a></li><li class="item non-text-holder my-mallified-wrapper"><style> 831.open-my-mall.icon:hover svg .knockout { 832fill: currentColor; 833} 834.open-my-mall.icon:hover svg .head-shoulders { 835fill: white; 836} 837</style> 838<div class="couer open-my-mall icon" aria-haspopup="true" aria-expanded="false" aria-controls="my-mall" aria-label="My Mall Login Flyout Control- open or close"> 839<!-- couer gpis --> 840<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64" xml:space="preserve" fill="currentColor"> 841<path class="knockout" fill="transparent" d="M52.4,7.5c-1.8-0.7-3.7-1.1-5.6-1.1c-3.8,0-7.4,1.4-10.1,4.1L34.2,13L32,15.1L29.8,13l-2.5-2.5l0,0 C24.6,7.8,21,6.4,17.2,6.4c-1.9,0-3.8,0.4-5.6,1.1c-1.8,0.8-3.5,1.9-4.9,3.3C4,13.6,2.6,17.3,2.6,21.2s1.7,7.5,4.5,10.3l0,0l0,0 L32,56.4l24.9-24.9l0,0l0,0c2.8-2.7,4.4-6.3,4.5-10.3c0.1-3.9-1.4-7.6-4.1-10.4C55.9,9.4,54.2,8.3,52.4,7.5z"/> 842<g class="head-shoulders"> 843<circle cx="32" cy="25.4" r="6.2"/> 844<path d="M39.6,33.1h-1.2c-3.6,3.4-9.2,3.4-12.8,0h-1.2c-2.9,0-5.2,2.3-5.2,5.2v5.2L32,56.3l12.9-12.9v-5.2 C44.9,35.4,42.5,33.1,39.6,33.1z"/> 845</g> 846<path class="frame" d="M58.3,9.7C51.8,3,41.1,2.8,34.4,9.3L32,11.7l-2.4-2.4l0,0C22.9,2.8,12.2,3,5.7,9.7c-6.5,
8466.7-6.3,17.4,0.4,23.9 L32,59.4l25.8-25.8C64.6,27.1,64.7,16.4,58.3,9.7z M55.8,31.5L55.8,31.5L55.8,31.5L32,55.3L8.2,31.5l0,0l0,0 c-2.7-2.6-4.2-6.1-4.3-9.8c-0.1-3.7,1.3-7.3,3.9-10c1.3-1.4,2.9-2.5,4.7-3.2c1.7-0.7,3.5-1.1,5.4-1.1c3.6,0,7.1,1.4,9.7,3.9 l2.4,2.4l2.1,2.1l2.1-2.1l2.4-2.4c2.6-2.5,6-3.9,9.7-3.9c1.9,0,3.7,0.4,5.4,1.1c1.8,0.7,3.3,1.8,4.7,3.2c2.6,2.7,4,6.2,3.9,10 C60,25.4,58.5,28.9,55.8,31.5z"/> 847</svg> 848</div> 849<!-- papillon 2024 --> 850<div class="my-mall pwofile-placard flyout deal-count-placard pwofile-placard-papillon" style="display:none"> 851<div style="display:none" id="logged_in_nav-with-deals" class="profile-placard-section"> 852<div class="major">Hey there, VIP</div> 853<div class="minor">You have <span class="deal-number">some</span> new <span class="deal-item-name">deals</span> waiting for you</div> 854<div class="cta"> 855<a href="/sales/#My-Deals" class="btn mutton">View My Deals</a> 856</div> 857<div class="minor"> 858<a class="edit-link" href="/profile/#personal-settings">Edit Profile</a> 859</div> 860</div> 861<div style="display:none" id="logged_in_nav" class="profile-placard-section"> 862<div class="major">Hey there, VIP<br>Start Saving Now</div> 863<div class="minor">Click below to follow your favorite stores and then watch the savings grow!</div> 864<div class="cta"> 865<a href="/profile/#stores" class="btn mutton">View My Stores</a> 866</div> 867</div> 868<div class="loggedout provisional profile-placard-section"> 869<div class="major">Become a<br>University Station VIP</div> 870<div class="minor">Follow your favorite stores and be the first to know about sales, events, and more!</div> 871<div class="cta"> 872<a href="/profile/" class="btn mutton">Start Saving Today</a> 873</div> 874</div> 875</div></li><li class="item non-text-holder search"><!-- search_v2023! --> 876<div class="search-icon icon" aria-haspopup="true" aria-controls="main-nav-search-flyout" tabindex="0"> 877<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="picon icon -var-www-legacy-com-icons-search-magnifying-glass color-by-fill" version="1.1" viewBox="0 0 64 64" x="0px" xml:space="preserve" y="0px"tabindex="-1"><path d="M51.4,26.2c0,5.6-1.8,10.7-4.8,14.9l15.3,15.3c1.5,1.5,1.5,4,0,5.5c-1.5,1.5-4,1.5-5.5,0L41.1,46.5 c-4.2,3.1-9.3,4.8-14.9,4.8C12.3,51.4,1,40.1,1,26.2S12.3,1,26.2,1S51.4,12.3,51.4,26.2z M26.2,43.6c9.6,0,17.4-7.8,17.4-17.4 S35.8,8.7,26.2,8.7S8.7,16.5,8.7,26.2S16.6,43.6,26.2,43.6z"/></svg> 878</div> 879<div class="search-container flyout" style="display:none" id="main-nav-search-flyout"> 880<form class="search SEWsearchForm" id="search" action="javascript:void(0);" role="search"> 881<div class="search-form-wrapper" style="position:relative;"> 882<input type="search" class="search-field" placeholder="Search" id="7a6b7180" aria-label="Search" tabindex="-1" autocomplete="off"> 883<button value="Submit" class="search-submit" type="submit" tabindex="-1" aria-label="Submit"> 884<svg id="search-icon" class="search-icon" viewBox="0 0 24 24"> 885<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/> 886<path d="M0 0h24v24H0z" fill="none"/> 887</svg> 888</button> 889<ul class="pw-search-suggestions" role="listbox" style="display:none;position:absolute;top:100%;left:0;right:0;list-style:none;margin:0;padding:0;z-index:9999;max-height:300px;overflow-y:auto;"></ul> 890</div> 891</form> 892</div> 893<style> 894#main-nav-search-flyout .pw-search-suggestions { background: #fff; border: 1px solid rgba(0,0,0,.2); box-shadow: 0 2px 6px rgba(0,0,0,.15); font-family: system-ui, -apple-system, sans-serif; font-size: 14px; } 895#main-nav-search-flyout .pw-search-suggestions li { padding: 4px 8px; cursor: default; color: #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; } 896#main-nav-search-flyout .pw-search-suggestions li:hover { background: #1967d2; color: #fff; } 897</style>
898<script> 899$(function() { 900function getSuggestions(val) { 901var datalist = document.getElementById('search_completion_suggestions'); 902if (!datalist || !val) return []; 903var lower = val.toLowerCase(); 904return Array.from(datalist.options) 905.map(function(o) { return o.value; }) 906.filter(function(v) { return v.toLowerCase().indexOf(lower) !== -1; }); 907} 908/* delegated â survives nav cloning and DOM moves */ 909$(document).on('input', '.SEWsearchForm .search-field', function() { 910var $list = $(this).closest('.search-form-wrapper').find('.pw-search-suggestions'); 911var suggestions = getSuggestions($(this).val()); 912$list.empty(); 913if (suggestions.length) { 914suggestions.forEach(function(s) { 915$('<li>').attr('role', 'option').text(s).appendTo($list); 916}); 917$list.show(); 918} else { 919$list.hide(); 920} 921}); 922/* mousedown fires before blur â preventDefault keeps input focused */ 923$(document).on('mousedown', '.pw-search-suggestions li', function(e) { 924e.preventDefault(); 925var val = $(this).text(); 926$(this).closest('.SEWsearchForm').find('.search-field').val(val); 927$(this).closest('.pw-search-suggestions').hide(); 928SEWsearchFormSubmit(val); 929}); 930/* hide on click outside â avoids blur firing when scrolling the list */ 931$(document).on('mousedown', function(e) { 932if (!$(e.target).closest('.SEWsearchForm').length) { 933$('.pw-search-suggestions').hide(); 934} 935}); 936$(document).on('keydown', '.SEWsearchForm .search-field', function(e) { 937if (e.keyCode === 27) { 938$(this).closest('.search-form-wrapper').find('.pw-search-suggestions').hide(); 939} 940}); 941}); 942</script>
942 943<!-- tcboo! --><datalist id="search_completion_suggestions"><option value="18|8 Fine Menâs Salons"><option value="Ann Taylor"><option value="Anthonyâs Coal Fired Pizza"><option value="AT&T"><option value="Bath & Body Works"><option value="Birdies Hot Chicken"><option value="Brigham & Womenâs Health Care Center"><option value="Chase Bank"><option value="Chipotle"><option value="Davidâs Bridal"><option value="Del Friscoâs Grille"><option value="Dolabany Jewelers"><option value="Fidelity Investments"><option value="Five Below"><option value="GNC Live Well"><option value="The Good Feet"><option value="HomeGoods"><option value="Homesense"><option value="J.Crew"><option value="Kohler by Supply New England"><option value="Life Time Athletic"><option value="Marshalls"><option value="Michaels"><option value="MiniLuxe"><option value="Nordstrom Rack"><option value="Not Your Average Joeâs"><option value="Panda Express"><option value="PetSmart"><option value="Poke Bros."><option value="Rockland Trust"><option value="Smashburger"><option value="Starbucks"><option value="Supercuts"><option value="Target"><option value="ULTA Beauty"><option value="University Station Public Safety"><option value="VIO Med Spa"><option value="Visionworks"><option value="Wegmans"><option value="wonder"><option value="Xfinity"><option value="Yankee Candle"></datalist></li></ul></nav> 944<!-- nav cached at 11:23 PM --> 945</div> 946</div> 947</div> 948</div> 949<div class="mobile-header-container"> 950<div class="rest-holder"> 951<div class="flex-holder logo"> 952<div class="mall-logo " itemscope itemtype="http://schema.org/Organization" role="presentation"> 953<a itemprop="url" href="/" title="Click to return to the home page."> 954<span class="visually-hidden">University Station home page</span> 955<style> 956.mall-logo img { 957display: block; 958margin: 0 auto; 959width: 210px; 960height: 80px; 961object-fit: contain; 962object-position: center; 963} 964</style> 965<img itemprop="logo" src="https://cdn.placewise.com/AmericanRealty/universitystation/images/mall-logo.svg" alt=""> 966</a> 967</div> 968</div> 969<div class="icon-group"> 970<div class="flex-holder access"> 971</div> 972<div class="flex-holder profile"> 973<style> 974.open-my-mall.icon:hover svg .knockout { 975fill: currentColor; 976} 977.open-my-mall.icon:hover svg .head-shoulders { 978fill: white; 979} 980</style> 981<div class="couer open-my-mall icon" aria-haspopup="true" aria-expanded="false" aria-controls="my-mall" aria-label="My Mall Login Flyout Control- open or close"> 982<!-- couer gpis --> 983<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64" xml:space="preserve" fill="currentColor"> 984<path class="knockout" fill="transparent" d="M52.4,7.5c-1.8-0.7-3.7-1.1-5.6-1.1c-3.8,0-7.4,1.4-10.1,4.1L34.2,13L32,15.1L29.8,13l-2.5-2.5l0,0 C24.6,7.8,21,6.4,17.2,6.4c-1.9,0-3.8,0.4-5.6,1.1c-1.8,0.8-3.5,1.9-4.9,3.3C4,13.6,2.6,17.3,2.6,21.2s1.7,7.5,4.5,10.3l0,0l0,0 L32,56.4l24.9-24.9l0,0l0,0c2.8-2.7,4.4-6.3,4.5-10.3c0.1-3.9-1.4-7.6-4.1-10.4C55.9,9.4,54.2,8.3,52.4,7.5z"/> 985<g class="head-shoulders"> 986<circle cx="32" cy="25.4" r="6.2"/> 987<path d="M39.6,33.1h-1.2c-3.6,3.4-9.2,3.4-12.8,0h-1.2c-2.9,0-5.2,2.3-5.2,5.2v5.2L32,56.3l12.9-12.9v-5.2 C44.9,35.4,42.5,33.1,39.6,33.1z"/> 988</g> 989<path class="frame" d="M58.3,9.7C51.8,3,41.1,2.8,34.4,9.3L32,11.7l-2.4-2.4l0,0C22.9,2.8,12.2,3,5.7,9.7c-6.5,6.7-6.3,17.4,0.4,23.9 L32,59.4l25.8-25.8C64.6,27.1,64.7,16.4,58.3,9.7z M55.8,31.5L55.8,31.5L55.8,31.5L32,55.3L8.2,31.5l0,0l0,0 c-2.7-2.6-4.2-6.1-4.3-9.8c-0.1-3.7,1.3-7.3,3.9-10c1.3-1.4,2.9-2.5,4.7-3.2c1.7-0.7,3.5-1.1,5.4-1.1c3.6,0,7.1,1.4,9.7,3.9 l2.4,2.4l2.1,2.1l2.1-2.1l2.4-2.4c2.6-2.5,6-3.9,9.7-3.9c1.9,0,3.7,0.4,5.4,1.1c1.8,0.7,3.3,1.8,4.7,3.2c2.6,2.7,4,6.2,3.9,10 C60,25.4,58.5,28.9,55.8,31.5z"/> 990</svg> 991</div> 992</div> 993<div class="flex-holder search"> 994<div class="search-icon"> 995</div> 996</div> 997<div class="flex-holder hamburger"> 998<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" class="murger murger-sigma" width="64" height="64" fill="none" stroke="currentColor" stroke-width="6"> 999<g transform="scale(0.666)" transform-origin="50%"> 1000<path class="murger-sigma-long" d="M46,20H18s-11.65,1-7.56-4.74C12.32,12.63,21.5,21.5,21.5,21.5l21,21" /> 1001<path class="murger-sigma-long" d="M46,44H18s-11.65-.78-7.56,4.93c1.88,2.62,11.06-6.25,11.06-6.25l21-21" /> 1002<line class="murger-sigma-short" x2="46" y2="32" x1="32" y1="32"/> 1003<line class="murger-sigma-short" x2="18" y2="32" x1="32" y1="32"/> 1004</g> 1005</svg> 1006<style type="text/css"> 1007.murger { 1008width: 100%; 1009height: auto; 1010stroke-miterlimit: 0; 1011stroke-linecap: round; 1012stroke-linejoin: round; 1013cursor: pointer; 1014display: block; 1015} 1016.murger-sigma .murger-sigma-long { 1017stroke-dasharray: 28 60; 1018} 1019.murger-sigma .murger-sigma-short { 1020stroke-dasharray: 16 20; 1021stroke-dashoffset: 0; 1022} 1023@keyframes show_closeable_sigma_long { 1024from { 1025stroke-dashoffset: 0; 1026stroke-dasharray: 28 60; 1027} 1028to { 1029stroke-dashoffset: -54; 1030stroke-dasharray: 30 61; 1031} 1032} 1033@keyframes show_openable_sigma_long { 1034from { 1035stroke-dashoffset: -54; 1036stroke-dasharray: 30 61; 1037} 1038to { 1039stroke-dashoffset: 0; 1040stroke-dasharray: 28 60; 1041} 1042} 1043@keyframes show_closeable_sigma_short { 1044from { 1045stroke-dashoffset: 0; 1046} 1047to { 1048stroke-dashoffset: 16; 1049} 1050} 1051@keyframes show_openable_sigma_short { 1052from { 1053stroke-dashoffset: 16; 1054} 1055to { 1056stroke-dashoffset: 0; 1057} 1058} 1059.murger-sigma-short.show-closeable-sigma { 1060animation: show_closeable_sigma_short 1s forwards; 1061} 1062.murger-sigma-short.show-openable-sigma { 1063animation: show_openable_sigma_short 1s forwards; 1064} 1065.murger-sigma-long.show-closeable-sigma { 1066animation: show_closeable_sigma_long 1s forwards; 1067} 1068.murger-sigma-long.show-openable-sigma { 1069animation: show_openable_sigma_long 1s forwards; 1070} 1071</style>
1072<script type="text/javascript"> 1073$('.murger').click(murger_toggle); 1074function murger_toggle() { 1075// what state are we in? 1076if($('html').hasClass('open-nav')) { 1077murger_close() 1078} else { 1079$('html').addClass('open-nav'); 1080_murger_show_closeable() 1081} 1082} 1083function murger_close() { 1084$('html').removeClass('open-nav'); 1085$('header.header-banner .mobile-nav .item').removeClass('active'); 1086_murger_show_openable() 1087} 1088function _murger_show_closeable() { 1089// console.log('transitioning to the closeable view.') 1090var items = document.querySelectorAll('svg.murger-sigma .murger-sigma-long, svg.murger-sigma .murger-sigma-short'); 1091for(let x=0; x<items.length; x++) { 1092// console.log(x, items[x]) 1093items[x].classList.remove('show-openable-sigma'); 1094items[x].classList.add('show-closeable-sigma'); 1095} 1096} 1097function _murger_show_openable() { 1098// console.log('transitioning to the openable view.') 1099var items = document.querySelectorAll('svg.murger-sigma .murger-sigma-long, svg.murger-sigma .murger-sigma-short'); 1100for(let x=0; x<items.length; x++) { 1101// console.log(x, items[x]) 1102items[x].classList.remove('show-closeable-sigma'); 1103items[x].classList.add('show-openable-sigma'); 1104} 1105} 1106$(window).on('window:resize window:orientationchange', murger_close) 1107</script>
1107 1108</div> 1109</div> 1110</div> 1111</div> 1112</header> 1113</div> 1114<div class="content wrap has-no-deco-hero" style="position: relative; z-index: 99"> 1115<main id="main-content"> 1116<!-- mpc page --> 1117<div class="section contact-form"> 1118<div class="page-width-maintainer"> 1119<div class="contact-form-component"> 1120<!-- hxftw --> 1121<h1 class="head1">Contact Us</h1> 1122<div class="gnsh_form_wrapper"><form accept-charset="utf-8" class="ajax-form gnsh-ajax tiny-gnsh-ajax"><p style="margin-bottom: 20px;">We welcome questions or comments. Please fill out the form below to contact us.</p><fieldset><ul class="s"><li><label class="visually-hidden">Name</label><input placeholder="Name" aria-label="Name" name="name" type="text" /></li><li><label class="required visually-hidden">Email</label><input required spellcheck="false" pattern="^[^@]+@[^@]+\.[a-zA-Z]{2,8}$" placeholder="Email" autocapitalize="off" autocorrect="off" data-error-message="Please supply a valid email address." aria-label="Email" name="email" type="email" x-autocompletetype="email" /></li><li><label class="required visually-hidden">Questions/Comments</label><textarea required placeholder="Enter your message here" aria-label="Enter your message here" name="questions_comments"></textarea></li><li><input name="shoptcha_key" type="hidden" value="93746" /><input name="shoptcha_nonce" type="hidden" value="f7b871" /><label class="visually-hidden" for="shoptcha"> What is six plus four?</label><input required placeholder=" What is six plus four?" data-error-message="Please answer this simple math question." aria-label="bot check! What is six plus four?" name="shoptcha" type="text" /></li><li><input name="submit" type="submit" value="Submit" /></li></ul></fieldset><input name="i_class" type="hidden" value="gnsh" /><input name="i_com" type="hidden" value="com.forms.contact_us_ajax_form" /><input name="gnsh_timestamp" type="hidden" value="6521001" /></form><div class="messages"><div style="display:none;" class="gnsh_form_processing_message"><div class="major">Processing…</div><p>One moment please…</p></div><div style="display:none;" class="gnsh_form_success_message"><p>Thank you for contacting us. Weâll be in touch shortly!</p></div><div style="display:none;" class="gnsh_form_captcha_fail_message"><div class="alert major">Whoops</div><p></p>Please go back and try the math question again.</p></div><div style="display:none;" class="gnsh_form_error_message"><div class="alert major">Sorry</div><p>Something has gone wrong, please try again later.</p></div></div></div> 1123</div> 1124</div> 1125</div><!--close contact-form --> 1126<div class="section html-block"> 1127<div class="page-width-maintainer"> 1128<div class="html-block-component body-component"> 1129<!-- hxfail79500 --> 1130<div class="wysiwyg wysiwyg-mpc"> 1131<p>For questions about University Station please contact the <a href= "/about-us" >Property Management team</a>.</p> 1132<p>For inquiries regarding store hours or specific products and/or services offered, please contact the individual business or merchant directly. See Directory for contact information</a>. 1133</div> 1134</div> 1135</div> 1136</div><!--close html-block --> 1137</main> 1138</div> 1139<!-- layouts: ARA25 footer --> 1140<style> 1141footer { 1142background-color: #EDEDEC; 1143font-size: 2rem; 1144text-align: center; 1145color: #333; 1146padding: 40px 40px 80px; 1147display: flex; 1148gap: 40px; 1149flex-wrap: wrap; 1150text-transform: uppercase; 1151} 1152footer > * { 1153flex: 1 1 100%; 1154} 1155footer .address-wrapper { 1156margin-bottom: 40px; 1157} 1158footer .recipient { 1159display: none; 1160} 1161footer nav.footer-nav ul { 1162display: flex; 1163justify-content: center; 1164gap: 20px; 1165flex-wrap: wrap; 1166margin: 0 auto; 1167} 1168footer nav a { 1169padding: 20px; 1170color: #333; 1171font-size: 1.6rem; 1172text-transform: lowercase; 1173} 1174footer nav a:hover { 1175color: var(--color-brand-primary); 1176text-decoration: underline; 1177} 1178footer nav ul.n9items, 1179footer nav ul.n10items { 1180max-width: 700px; 1181} 1182@media(max-width: 1280px) { 1183footer nav ul { 1184max-width: 700px; 1185margin: 0 auto; 1186} 1187} 1188footer .follow-suite { 1189margin-bottom: 40px; 1190} 1191footer .follow-suite a:hover svg { 1192fill: var(--color-brand-primary); 1193} 1194</style> 1195<footer role="contentinfo"> 1196<div class="page-width-maintainer"> 1197<style type="text/css"> 1198.follow-suite.m-footer ul { 1199display: flex; 1200column-gap: 40px; 1201row-gap: 20px; 1202justify-content: center; 1203align-items: center; 1204flex-wrap: wrap; 1205} 1206.follow-suite.m-footer ul li { 1207flex: 0 0 auto; 1208} 1209@media(max-width: 750px) { 1210.follow-suite.m-footer ul { 1211column-gap: 20px; 1212row-gap: 10px; 1213} 1214} 1215</style> 1216<div class="follow-suite m-footer"> 1217<ul> 1218<li><a href="https://www.facebook.com/UniversityStn/" title="Follow us on Facebook">
1219<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="picon icon -var-www-legacy-com-icons-facebook-naked color-by-fill" fill="var(--color-brand-secondary)" version="1.1" viewBox="0 0 64 64" x="0px" xml:space="preserve" y="0px"tabindex="-1" width="42px" height="42px"><path class="m8A05E" d="M45.9,36.8L47.5,26H37.1v-7c0-2.9,1.5-5.9,6.1-5.9h4.8V3.7c0,0-4.2-0.7-8.5-0.7C31,3,25.4,8.3,25.4,17.6v8.2 h-9.5v11h9.5V63h11.7V36.8H45.9z"/></svg> 1220</a></li><li><a href="https://www.instagram.com/universitystn/" title="Follow us on Instagram"> 1221<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="picon icon -var-www-legacy-com-icons-instagram-naked color-by-fill" fill="var(--color-brand-secondary)" version="1.1" viewBox="0 0 64 64" x="0px" xml:space="preserve" y="0px"tabindex="-1" width="42px" height="42px"><radialGradient cx="0.3" cy="1.1" id="instafillbyalex" r="1" spreadMethod="pad"><stop offset="0%" stop-color="#fdf497"/><stop offset="5%" stop-color="#fdf497"/><stop offset="45%" stop-color="#fd5949"/><stop offset="60%" stop-color="#d6249f"/><stop offset="100%" stop-color="#285AEB"/></radialGradient><path class="m00497" d="M32,16.6c-8.6,0-15.4,6.9-15.4,15.4S23.5,47.4,32,47.4S47.3,40.4,47.3,32S40.6,16.6,32,16.6z M32,42.1 c-5.5,0-10.1-4.5-10.1-10.1S26.3,21.9,32,21.9C37.4,21.9,42,26.4,42,32S37.4,42.1,32,42.1z M51.6,16c0,2-1.7,3.6-3.6,3.6 c-2,0-3.6-1.7-3.6-3.6s1.7-3.6,3.6-3.6C50,12.3,51.6,14,51.6,16z M61.9,19.6c-0.2-4.8-1.3-9.1-4.8-12.6c-3.5-3.5-7.8-4.6-12.6-4.8 c-5-0.3-19.8-0.3-24.8,0C14.9,2.4,10.6,3.6,7.2,7s-4.6,7.8-4.8,12.6c-0.3,5-0.3,19.8,0,24.8c0.2,4.8,1.3,9.1,4.8,12.6 c3.5,3.5,7.8,4.6,12.6,4.8c5,0.3,19.8,0.3,24.8,0c4.8-0.2,9.1-1.3,12.6-4.8c3.5-3.5,4.6-7.8,4.8-12.6C62,39.4,62,24.6,61.9,19.6z M55.4,49.7c-1,2.6-3.1,4.6-5.8,5.8c-4,1.5-13.4,1.2-17.7,1.2S18.2,57,14.3,55.5c-2.6-1-4.6-3.1-5.8-5.8C7,45.7,7.3,36.3,7.3,32 S7,18.3,8.5,14.3c1-2.6,3.1-4.6,5.8-5.8C18.2,7,27.7,7.4,32,7.4S45.7,7,49.6,8.5c2.6,1,4.6,3.1,5.8,5.8c1.5,4,1.2,13.4,1.2,17.7 S56.9,45.7,55.4,49.7z"/></svg> 1222</a></li><li><a href="/register/" title="Sign up for our emails"> 1223<svg xmlns:xlink="http://www.w3.org/1999/xlink" class="picon icon -var-www-legacy-com-icons-email-naked color-by-fill" version="1.1" viewBox="0 0 64 64" x="0px" xml:space="preserve" y="0px"tabindex="-1" width="42px" height="42px" fill="var(--color-brand-secondary)"><g class="cbf"><path d="M32,31.95c8.66,0,15.73-7.07,15.73-15.73S40.66,0.5,32,0.5S16.27,7.57,16.27,16.23S23.34,31.95,32,31.95z M38.27,37.92 H25.73c-11.74,0-21.3,9.55-21.3,21.3c0,2.39,1.89,4.28,4.28,4.28h46.58c2.39,0,4.28-1.89,4.28-4.28 C59.57,47.38,50.01,37.92,38.27,37.92z"/></g></svg> 1224</a></li> 1225</ul> 1226</div> 1227<div class="address-wrapper"> 1228<span class="recipient">University Station</span> 1229<address> 1230<span class="streetAddress">University Avenue</span> 1231<span class="addressLocality">Westwood</span>, <span class="addressRegion">MA</span> <span class="postalCode">02090</span> 1232</address> 1233</div> 1234<!-- footer ofn outer yay --> 1235<!-- Rogale ÅwiÄtomarciÅskie --> 1236<nav itemscope itemtype="http://schema.org/SiteNavigationElement" class="footer-links footer-nav"><ul aria-label="Secondary Navigation" class="s n9items"><li itemprop="name" class="item"><a href="/contact-us/" itemprop="url" tabindex="0">Contact Us</a></li><li itemprop="name" class="item"><a href="/leasing/" itemprop="url" tabindex="0">Leasing</a></li><li itemprop="name" class="item"><a href="/jobs/" itemprop="url" tabindex="0">Jobs</a></li><li class="item"><a href="http://www.townhall.westwood.ma.us/" tabindex="0">Town of Westwood</a></li><li itemprop="name" class="item"><a href="/press-releases/" itemprop="url" tabindex="0">Press</a></li><li class="item"><a href="https://www.mbta.com/" tabindex="0">Transportation</a></li><li itemprop="name" class="item"><a href="/privacy/" itemprop="url" tabindex="0">Privacy</a></li><li itemprop="name" class="item"><a href="/terms-of-use/" itemprop="url" tabindex="0">Terms of Use</a></li><li itemprop="name" class="item"><a href="/accessibility/" itemprop="url" tabindex="0">Accessibility</a></li></ul></nav> 1237<!-- nav cached at 11:23 PM --> 1238</div> 1239</footer>
1240<script src="/js/ARA25/production-v1751534626472.min.js"></script>
vendor: 1 bytes, line 1240
1240
1241<script> 1242$(document).on('pw:post_eob_ready', function(e) { console.log(e.type)}); 1243$(document).trigger('pw:post_eob_ready'); 1244</script>
vendor: 1 bytes, line 1244
1244
1245<script type="text/javascript"> 1246var _userway_config = {"position":3,"account":"bIU13OLbIy","size":"large","type":1}; 1247</script>
vendor: 1 bytes, line 1247
1247
1248<script type="text/javascript" src="https://cdn.userway.org/widget.js"></script>
1248 1249<style> 1250#userwayAccessibilityIcon { 1251background-color: var(--color-brand-primary) !important; 1252} 1253</style>
1254<script> 1255var icontimer = setInterval(function(){ 1256const x = document.getElementById('userwayAccessibilityIcon') || false 1257if(x) { 1258x.removeAttribute('style') 1259clearInterval(icontimer) 1260} 1261}, 99) 1262</script>
1262 1263<!-- eobh --> 1264</div> 1265</div> 1266</div> 1267</div> 1268<!-- si modals --> 1269<div class="mmodal profile_archetype" role="dialog" aria-labelledby="title" aria-describedby="description" aria-modal="true" id="profile_archetype" style="max-width: 600px;"> 1270<div class="mmodal-wrapper"> 1271<div class="mmodal-content"> 1272<div class="mmodal-header"> 1273HEADLINE 1274<div class="mmodal-close" role="button" aria-label="close dialog" tabindex="0"> 1275<svg version="1.1" class="icon-x-xlose" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve" width="20" fill="white"><path d="M61.6,11.3c2.5-2.5,2.5-6.5,0-8.9c-2.5-2.5-6.5-2.5-8.9,0L32,23.1L11.3,2.4c-2.5-2.5-6.5-2.5-8.9,0s-2.5,6.5,0,8.9L23.1,32 L2.4,52.7c-2.5,2.5-2.5,6.5,0,8.9c2.5,2.5,6.5,2.5,8.9,0L32,40.9l20.7,20.7c2.5,2.5,6.5,2.5,8.9,0c2.5-2.5,2.5-6.5,0-8.9L40.9,32 L61.6,11.3z"/></svg> 1276</div> 1277</div> 1278<div class="mmodal-body"> 1279MESSAGE 1280</div> 1281<div class="mmodal-footer"> 1282<button type="button" class="mutton">CTA</button> 1283</div> 1284</div> 1285</div> 1286</div> 1287<div class="mmodal-overlay general" style="display: none; width: 100%; height: 100%; opacity: 0.8; position: fixed; top: 0; left: 0; background-color: black; zoom: 1; z-index: 99990;"></div> 1288<div class="opmessage-injection" data-config='{"content":"text","attach_method":"prependTo","attach_point":".header-wrapper","animation_speed":200}' style="display:none;"> 1289<div class="opmessage-content page-width-maintainer"> 1290<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="64" height="64"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg><div class="message"></div> 1291</div> 1292</div></body> 1293</html> 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391
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.