1<!DOCTYPE html> 2<html> 3<head> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> 5 <meta name="description" content="Delivering our fresh baked Zone® brand calzones to university communities across the country."> 6 <meta name="facebook-domain-verification" content="4ffd3ij5c6n3myqzmxbzaixkuuakzp" /> 7 <link rel="apple-touch-icon" sizes="180x180" href="https://dpdough.com/apple-touch-icon.png"> 8 <link rel="icon" type="image/png" sizes="32x32" href="https://dpdough.com/favicon-32x32.png"> 9 <link rel="icon" type="image/png" sizes="16x16" href="https://dpdough.com/favicon-16x16.png"> 10 <link rel="manifest" href="https://dpdough.com/site.webmanifest"> 11 <link rel="mask-icon" href="https://dpdough.com/safari-pinned-tab.svg" color="#5bbad5"> 12 <meta name="msapplication-TileColor" content="#da532c"> 13 <meta name="theme-color" content="#ffffff"> 14 <link rel="stylesheet" href="https://dpdough.com/css/bootstrap.min.css"/> 15 <link rel="stylesheet" href="https://dpdough.com/css/themify-icons.css"/> 16 <link rel="stylesheet" href="https://dpdough.com/css/main.css?ver=2.0"/> 17
17<script src="https://dpdough.com/js/jquery.js"></script>
17 18
18<script src="https://dpdough.com/js/bootstrap.min.js"></script>
18 19 <!--
19<script src="https://dpdough.com/js/iframeResizer.min.js"></script>
19--> 20
20<script src="https://dpdough.com/scripts/cookie.js"></script>
20 21
21<script src="https://dpdough.com/scripts/cookies.js"></script>
21 22
22<script src="https://dpdough.com/scripts/lto.js?ver=37.2.0"></script>
22 23
23<script src="https://dpdough.com/scripts/stores.js?ver=163.2.0"></script>
23 24
24<script src="https://dpdough.com/scripts/menu.js?ver=43.2.0"></script>
24 25
25<script src="https://dpdough.com/scripts/zod.js?ver=55.2.0"></script>
25 26
26<script src="https://dpdough.com/scripts/main.js"></script>
26 27 28 <style type="text/css"> 29 @-webkit-keyframes rotating /* Safari and Chrome */ { 30 from { 31 -ms-transform: rotate(0deg); 32 -moz-transform: rotate(0deg); 33 -webkit-transform: rotate(0deg); 34 -o-transform: rotate(0deg); 35 transform: rotate(0deg); 36 } 37 to { 38 -webkit-transform: rotate(360deg); 39 -o-transform: rotate(360deg); 40 transform: rotate(360deg); 41 } 42 } 43 @keyframes rotating { 44 from { 45 -ms-transform: rotate(0deg); 46 -moz-transform: rotate(0deg); 47 -webkit-transform: rotate(0deg); 48 -o-transform: rotate(0deg); 49 transform: rotate(0deg); 50 } 51 to { 52 -ms-transform: rotate(360deg); 53 -moz-transform: rotate(360deg); 54 -webkit-transform: rotate(360deg); 55 -o-transform: rotate(360deg); 56 transform: rotate(360deg); 57 } 58 } 59 .rotating { 60 -webkit-animation: rotating 80s linear infinite reverse; 61 -moz-animation: rotating 80s linear infinite reverse; 62 -ms-animation: rotating 80s linear infinite reverse; 63 -o-animation: rotating 80s linear infinite reverse; 64 animation: rotating 80s linear infinite reverse; 65 } 66 @keyframes bounce { 67 from { 68 -ms-transform: translateY(0px); 69 -moz-transform: translateY(0px); 70 -webkit-transform: translateY(0px); 71 -o-transform: translateY(0px); 72 transform: translateY(0px); 73 } 74 to { 75 -ms-transform: translateY(-15px); 76 -moz-transform: translateY(-15px); 77 -webkit-transform: translateY(-15px); 78 -o-transform: translateY(-15px); 79 transform: translateY(-15px); 80 } 81 } 82 @-webkit-keyframes bounce { 83 from { 84 -ms-transform: translateY(0px); 85 -moz-transform: translateY(0px); 86 -webkit-transform: translateY(0px); 87 -o-transform: translateY(0px); 88 transform: translateY(0px); 89 } 90 to { 91 -ms-transform: translateY(-15px); 92 -moz-transform: translateY(-15px); 93 -webkit-transform: translateY(-15px); 94 -o-transform: translateY(-15px); 95 transform: translateY(-15px); 96 } 97 } 98 .bounce { 99 animation: bounce 1s infinite alternate; 100 -webkit-animation: bounce 1s infinite alternate; 101 } 102 @keyframes slide { 103 0% { 104 margin-left: 0; 105 margin-right: 0; 106 } 107 50% { 108 margin-left: 50px; 109 margin-right: 50px; 110 } 111 100% { 112 margin-left: 0; 113 margin-right: 0; 114 } 115 } 116 .slide { 117 x-transition: all 5s ease-in-out; 118 animation: slide 5s infinite; 119 } 120 .flip-horz { 121 -moz-transform: scaleX(-1); 122 -o-transform: scaleX(-1); 123 -webkit-transform: scaleX(-1); 124 transform: scaleX(-1); 125 filter: FlipH; 126 -ms-filter: "FlipH"; 127 } 128 /* WebKit and Opera browsers */ 129 @-webkit-keyframes flip { 130 from 131 { 132 -ms-transform: rotateY(0deg); 133 -moz-transform: rotateY(0deg); 134 -webkit-transform: rotateY(0deg); 135 -o-transform: rotateY(0deg); 136 transform: rotateY(0deg); 137 } 138 to { 139 -ms-transform: rotateY(-360deg); 140 -moz-transform: rotateY(-360deg); 141 -webkit-transform: rotateY(-360deg); 142 -o-transform: rotateY(-360deg); 143 transform: rotateY(-360deg); 144 } 145 } /* all other browsers */ 146 147 body { 148 background: #15181c; 149 } 150 * { 151 outline: none; 152 } 153 .desktop { 154 display: none !important; 155 } 156 .container { 157 max-width: 1024px !important; 158 } 159 h2 { 160 font-family: "chalk_font", sans-serif; 161 font-size: 65px; 162 font-weight: normal; 163 } 164 a { 165 color: #D30000; 166 } 167 a:hover { 168 color: #D30000; 169 } 170 .triangle-section { 171 padding: 40px 20px; 172 position: relative; 173 } 174 .triangle-section * { 175 max-width: 100%; 176 overflow: hidden; 177 } 178 .triangle-section:before { 179 background: inherit; 180 top: 0px; 181 content: ''; 182 display: block; 183 height: 40px; 184 left: 0; 185 position: absolute; 186 right: 0; 187 transform: skewY(2deg); 188 transform-origin: 100%; 189 z-index: 0; 190 } 191 .triangle-section.bottom:before { 192 transform: skewY(-2deg); 193 top: -40px; 194 } 195 .line-right img { 196 max-width: 100%; 197 } 198 199 header#header { 200 position: absolute; 201 top: 0px; 202 left: 0; 203 width: 100%; 204 z-index: 9999; 205 border-top: 5px solid #D30000; 206 transition: top 1s ease 0s; 207 } 208 header#header.scrolling { 209 top: -2000px; 210 } 211 header#header.home-sticky { 212 position: absolute; 213 top: 0; 214} 215 header#header.sticky { 216 position: fixed; 217 top: 0; 218 background: #0e0e0e; 219 box-shadow: 0 -8px 10px 4px #000; 220 border: 0; 221 /*background-image: url(https://dpdough.com/img/ingr-bg-dark.png);*/ 222 background-size: 300px; 223 border-bottom: 3px solid #D20000; 224 } 225 .header-content { 226 /*background: #0e0e0e;*/ 227 padding: 10px 20px; 228 height: 86px; 229 overflow: hidden; 230 position: relative; 231 max-width: 1024px; 232 margin: 0 auto; 233 234} 235 .header-content .logo { 236 display: inline-block; 237 width: 200px; 238 position: absolute; 239 top: 4px; 240 left: 25px; 241 } 242 .header-content .logo a, .header-content .logo img { 243 overflow: auto; 244 display: inline-block; 245 width: 100%; 246 } 247 .header-content nav { 248 display: inline-block; 249 margin-left: 160px; 250 float: right; 251 margin-top: 16px; 252 } 253 .header-content nav ul { 254 list-style: none; 255 text-align: right; 256 } 257 .header-content nav ul li { 258 line-height: 30px; 259 display: inline-block; 260 padding-left: 25px; 261 } 262 .header-content nav ul li a, .header-content nav ul li > span { 263 color: #fff; 264 font-size: 18px; 265 font-family: 'Rakkas', sans-serif; 266 font-weight: 800; 267 text-transform: uppercase; 268 cursor: pointer; 269} 270 .header-content nav ul li a:hover { 271 color: #D20000; 272 text-decoration: none; 273 } 274 header#header.sticky .header-content nav ul li a:hover { 275 color: #D20000; 276 } 277 #mobile-nav-button { 278 color: #fff; 279 font-size: 30px; 280 float: right; 281 line-height: 56.7px; 282 cursor: pointer; 283 } 284 nav#mobile-nav-container { 285 position: fixed; 286 top: 86px; 287 left: 0; 288 width: 100vw; 289 height: 100vh; 290 z-index: 999; 291 background: #000; 292 color: #fff; 293 display: none; 294 opacity: 0; 295 transition: all 0.2s linear; 296 padding: 0; 297 } 298 nav#mobile-nav-container.active { 299 opacity: 1; 300 display: block; 301 } 302 #mobile-nav-container ul { 303 padding: 0; 304 list-style: none; 305 } 306 #mobile-nav-container ul a, #mobile-nav-container ul > li > span { 307 padding: 10px 20px; 308 display: block; 309 color: #fff; 310 font-size: 24px; 311 border-bottom: 1px solid rgba(255,255,255,0.2); 312 text-transform: uppercase; 313 font-family: 'Rakkas'; 314 font-weight: 800; 315 cursor: pointer; 316} 317 #mobile-nav-container.active + nav#more-nav-menu { 318 max-height: calc(100vh - 86px); 319 bottom: 0; 320 display: none; 321 opacity: 0; 322 background: rgba(0,0,0,0.9); 323 padding: 20px; 324 } 325 #mobile-nav-container.active + nav#more-nav-menu.active { 326 z-index: 9999; 327 display: block !important; 328 opacity: 1; 329 } 330 #more-nav-menu { 331 position: fixed; 332 top: 82px; 333 left: 0; 334 width: 100vw; 335 z-index: 9999999; 336 background: #d30000; 337 padding: 40px; 338 min-height: 50vh; 339 background-image: url(https://dpdough.com/img/ingr-bg-dark.png); 340 background-size: 25%; 341 display: none !important; 342 transition: all 0.25s ease-in-out; 343 opacity: 0;
344 overflow-y: scroll; 345 max-height: calc(100vh - 81px); 346 } 347 #more-nav-menu.active { 348 display: block !important; 349 opacity: 1; 350 } 351 header#header.sticky + nav#more-nav-menu { 352 background-color: #D30000; 353 } 354 .more-nav-container { 355 flex-grow: 1; 356 overflow: hidden; 357 z-index: 2; 358 padding-bottom: 40px; 359 } 360 .more-nav-container h3 { 361 color: #fff; 362 font-size: 20px; 363 display: inline-block; 364 padding: 0px 20px 0px 5px; 365 } 366 .more-nav-container h3 span { 367 margin-right: 5px; 368 background: red; 369 border-radius: 50%; 370 padding: 10px; 371 position: relative; 372 top: 3px; 373 display: block; 374 width: 40px; 375 margin: 0px 0 20px; 376 color: #000; 377 } 378 .more-nav-container ul { 379 padding-left: 10px; 380 list-style: none; 381 } 382 .more-nav-container ul a { 383 color: #fff !important 384 } 385 span.more-button * { 386 pointer-events: none; 387 } 388 .more-nav-bg { 389 display: none; 390 } 391 a.order-online-button { 392 width: 100%; 393 display: block; 394 padding: 20px !important; 395 text-align: left; 396 margin-bottom: 10px; 397 } 398 #header.sticky a.order-online-button, #mobile-nav-container a.order-online-button { 399 background: #111; 400 } 401 a.order-online-button img { 402 height: 100%; 403 width: 100%; 404 } 405 @media screen and (min-width: 769px) { 406 .mobile { 407 display: none !important; 408 } 409 .desktop { 410 display: block !important; 411 } 412 .triangle-section:before { 413 transform: skewY(1.5deg); 414 } 415 .triangle-section.bottom:before { 416 transform: skewY(-1.5deg); 417 } 418 .header-content .logo { 419 left: auto; 420 margin-left: 10px; 421 } 422 #more-nav-menu.active .container { 423 display: flex; 424 } 425 .more-nav-container { 426 float: left; 427 margin-right: 60px; 428 width: 200px; 429 z-index: 9; 430 } 431 #mobile-nav-container.active + nav#more-nav-menu { 432 z-index: 9999; 433 max-height: calc(100vh - 455px); 434 top: 369px; 435 bottom: auto; 436 background: rgba(0,0,0,0.1); 437 } 438 .more-nav-bg { 439 display: block; 440 } 441 #more-nav-bg-1 { 442 width: 200px; 443 height: 200px; 444 position: fixed; 445 bottom: 235px; 446 right: calc(50% - 478px); 447 background: url(https://dpdough.com/img/box-chalk-dark.png); 448 background-size: contain; 449 background-repeat: no-repeat; 450 opacity: 0.5; 451 } 452 #more-nav-bg-2 { 453 width: 200px; 454 height: 200px; 455 position: fixed; 456 bottom: 222px; 457 left: calc(50% - 408px); 458 background: url(https://dpdough.com/img/calzone-chalk.png); 459 background-size: contain; 460 background-repeat: no-repeat; 461 opacity: 0.3; 462 } 463 #more-nav-bg-3 { 464 width: 200px; 465 height: 200px; 466 position: fixed; 467 top: 50px; 468 left: 120px; 469 background: url(https://dpdough.com/img/cloud3.png); 470 background-size: contain; 471 background-repeat: no-repeat; 472 opacity: 0.2; 473 } 474 #more-nav-bg-4 { 475 width: 200px; 476 height: 200px; 477 position: fixed; 478 top: 50px; 479 right: calc(50% - 230px); 480 background: url(https://dpdough.com/img/cloud2.png); 481 background-size: contain; 482 background-repeat: no-repeat; 483 opacity: 0.15; 484 } 485 #more-nav-bg-5 { 486 width: 200px; 487 height: 200px; 488 position: fixed; 489 top: 68px; 490 right: 125px; 491 background: url(https://dpdough.com/img/cloud1.png); 492 background-size: contain; 493 background-repeat: no-repeat; 494 opacity: 0.2; 495 } 496 #more-nav-bg-6 { 497 width: 150px; 498 height: 150px; 499 position: fixed; 500 top: 187px; 501 right: calc(50% - 152px); 502 background: url(https://dpdough.com/img/no-pizza.png); 503 background-size: contain; 504 background-repeat: no-repeat; 505 opacity: 0.3; 506 } 507 .more-nav-container h3 span { 508 margin: 0px 0 20px; 509 z-index: 2; 510 } 511 .more-nav-container .right-align-deskktop { 512 text-align: right; 513 } 514 .more-nav-container .right-align-deskktop h3 { 515 padding: 0 0 5px; 516 } 517 #dough-hand { 518 display: block; 519 position: absolute; 520 right: -30px; 521 top: -80px; 522 background: url(https://dpdough.com/img/dpdough-hand.png); 523 width: 300px; 524 height: 300px; 525 background-repeat: no-repeat; 526 background-size: cover; 527 z-index: 9; 528 opacity: 1; 529 transform: rotate(-90deg); 530 } 531 a.order-online-button { 532 width: 150px; 533 margin-top: -20px; 534 padding: 10px 12px !important; 535 } 536 } 537 </style> 538 <!--Drive PG pixel code--> 539
539<script> !function(w,d,s,t,a){if(w.amzn)return;w.amzn=a=function(){w.amzn.q.push([arguments,(new Date).getTime()])};a.q=[];a.version="0.0";s=d.createElement("script");s.src="https://c.amazon-adsystem.com/aat/amzn.js";s.id="amzn-pixel";s.async=true;t=d.getElementsByTagName("script")[0];t.parentNode.insertBefore(s,t)}(window,document); amzn("setRegion", "NA"); amzn("addTag", "2c445578-4fa1-40b7-a7f8-4d1454953453"); amzn("trackEvent", "PageView"); </script>
539 540 <!-- Facebook Pixel Code --> 541
541<script>
vendor: 408 bytes, lines 541-550
541 542 !function(f,b,e,v,n,t,s) 543 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 544 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 545 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 546 n.queue=[];t=b.createElement(e);t.async=!0; 547 t.src=v;s=b.getElementsByTagName(e)[0]; 548 s.parentNode.insertBefore(t,s)}(window, document,'script', 549 'https://connect.facebook.net/en_US/fbevents.js'); 550 fbq('init', '
550206907784269480
vendor: 32 bytes, lines 550-552
550'); 551 fbq('track', 'PageView'); 552
552</script>
552 553 <noscript><img height="1" width="1" style="display:none" 554 src="https://www.facebook.com/tr?id=206907784269480&ev=PageView&noscript=1" 555 /></noscript> 556 <!-- End Facebook Pixel Code --> 557 558 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 558
558 <script async src="https://www.googletagmanager.com/gtag/js?id=
558AW-11396171168
vendor: 12 bytes, line 558
558"></script>
558<script>
vendor: 127 bytes, line 558
558window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
558AW-11396171168
vendor: 4 bytes, line 558
558');
558</script>
558 559</head> 560<body> 561 <header id="header"> 562 <div class="header-content" style="top: 0px;"> 563 <div class="container"> 564 <div class="logo"> 565 <a href="https://dpdough.com/"> 566 <img alt="D.P. Dough" class="default" src="https://dpdough.com/img/dpdoughtext.png"> 567 </a> 568 </div> 569 <span id="mobile-nav-button" class="mobile ti-menu"></span> 570 <nav class="desktop"> 571 <ul> 572 573 <li><a href="https://dpdough.com/menu">Menu</a></li> 574 <li><a href="https://dpdough.com/locations">Locations</a></li> 575 576 <!--<li><a href="https://dpdough.com/catering">Catering</a></li> 577 <li><a target="_blank" href="https://dpdough.fancollab.com/">Merch</a></li> 578 --> 579 <li><span class="more-button">More <span class="ti-menu"></span></span></li> 580 <li><a href="https://dpdough.com/locations" class="order-online-button"><img src="https://dpdough.com/img/order-online.png" alt="Order Online"/></a></li> 581 </ul> 582 </nav> 583 </div> 584 </div> 585 </header> 586 <nav id="mobile-nav-container" class="mobile"> 587 <ul> 588 <li><a href="https://dpdough.com/locations" class="order-online-button"><img src="https://dpdough.com/img/order-online.png" alt="Order Online"/></a></li> 589 <li><a href="https://dpdough.com/menu">Menu</a></li> 590 <li><a href="https://dpdough.com/locations">Locations</a></li> 591 592 <!--<li><a href="https://dpdough.com/catering">Catering</a></li> 593 <li><a target="_blank" href="https://dpdough.fancollab.com/">Merch</a></li> 594 --> 595 <li><span class="more-button">More <span class="ti-menu"></span></span></li> 596 </ul> 597 </nav> 598 <nav id="more-nav-menu" class="desktop"> 599 <div class="container"> 600 <div class="more-nav-container"> 601 <h3><span class="ti-heart"></span> The Pizza Alternative ®</h3> 602 <ul> 603 <li><a href="https://dpdough.com/menu">Menu</a></li> 604 <!--<li><a href="https://dpdough.com/zod">Zone Of The Day</a></li> 605 <li><a href="https://dpdough.com/catering">Catering</a></li>--> 606 <li><a href="https://dpdough.com/nutrition">Nutrition</a></li> 607 </ul> 608 </div> 609 <div class="more-nav-container"> 610 <h3><span class="ti-crown"></span> Company</h3> 611 <ul> 612 <li><a href="https://dpdough.com/story">Our Story</a></li> 613 <li><a href="http://ownadpdough.com/" rel="noreferrer" target="_blank">Franchising</a></li> 614 <li><a href="https://dpdough.com/jobs">Jobs</a></li> 615 <li><a href="https://dpdough.com/legal">Legal</a></li> 616 <!--<li><a href="https://dpdough.com/fundraising">Fundraising</a></li>--> 617 <li><a href="https://dpdough.com/contact">Contact Us</a></li> 618 </ul> 619 </div> 620 <div class="more-nav-container right-align-desktop"> 621 <h3><span class="ti-announcement"></span> Social</h3> 622 <ul> 623 <li><a href="https://www.facebook.com/dpdoughcalzones/" rel="noreferrer" target="_blank"><span class="ti-facebook"></span> Facebook</a></li> 624 <li><a href="https://www.instagram.com/dpdough/" rel="noreferrer" target="_blank"><span class="ti-instagram"></span> Instagram</a></li> 625 <li><a href="https://twitter.com/dpdough" rel="noreferrer" target="_blank"><span class="ti-twitter"></span> Twitter</a></li> 626 <li><a href="https://www.youtube.com/channel/UC8EgLtr6-1JsNi24lihc0zA" rel="noreferrer" target="_blank"><span class="ti-youtube"></span> Youtube</a></li> 627 </ul> 628 </div> 629 </div> 630 <div id="more-nav-bg-1" class="more-nav-bg"></div> 631 <div id="more-nav-bg-2" class="more-nav-bg"></div> 632 <div id="more-nav-bg-3" class="slide more-nav-bg"></div> 633 <div id="more-nav-bg-4" class="more-nav-bg"></div> 634 <div id="more-nav-bg-5" class="slide more-nav-bg"></div> 635 <div id="more-nav-bg-6" class="more-nav-bg"></div> 636 </nav> 637 638
638<script> 639 640function cntrHeaderParseQueryString(query) { 641 var vars = query.split("&"); 642 var query_string = {}; 643 for (var i = 0; i < vars.length; i++) { 644 var pair = vars[i].split("="); 645 var key = decodeURIComponent(pair[0]); 646 var value = decodeURIComponent(pair[1]); 647 // If first entry with this name 648 if (typeof query_string[key] === "undefined") { 649 query_string[key] = decodeURIComponent(value); 650 // If second entry with this name 651 } else if (typeof query_string[key] === "string") { 652 var arr = [query_string[key], decodeURIComponent(value)]; 653 query_string[key] = arr; 654 // If third or later entry with this name 655 } else { 656 query_string[key].push(decodeURIComponent(value)); 657 } 658 } 659 return query_string; 660} 661 662document.addEventListener("DOMContentLoaded", function(event) { 663 var cntrQuery = window.location.search.substring(1); 664 var cntrHeaderQS = cntrHeaderParseQueryString(cntrQuery); 665 if ('ad_source' in cntrHeaderQS) { 666 Cookies.set("ad_source", cntrHeaderQS['ad_source'], { expires: 1 }); 667 } 668 if ('campaign_id' in cntrHeaderQS) { 669 Cookies.set("campaign_id", cntrHeaderQS['campaign_id'], { expires: 1 }); 670 } 671 if ('order_instructions' in cntrHeaderQS) { 672 Cookies.set("order_instructions", cntrHeaderQS['order_instructions'], { expires: 1 }); 673 } 674}); 675 676</script>
676 677 678 679
679<script> 680 window.onscroll = function() {adjustHeaderNavigation()}; 681 682 if (window.self !== window.top) { 683 document.addEventListener("DOMContentLoaded", function() { 684 document.querySelector('#header').remove(); 685 document.querySelector('#mobile-nav-container').remove(); 686 document.querySelector('#more-nav-menu').remove(); 687 }); 688 } 689 690 /* 691 navigator.geolocation.getCurrentPosition((position) => { 692 if (typeof userCoords !== "undefined") { 693 userCoords = {lat: position.coords.latitude, lng: position.coords.longitude}; 694 } 695 696 if (typeof initMap === "function") { 697 initMap(); 698 } 699 }, (err) => { 700 if (typeof initMap === "function") { 701 initMap(); 702 } 703 }, { 704 enableHighAccuracy: false, 705 timeout: 5000, 706 maximumAge: 86400000 707 }); 708 */ 709 710 var header = $("header#header"); 711 var sticky = $(window).height(); 712 var url = "https://dpdough.com"; 713 initialLoad = true; 714 715 adjustHeaderNavigation(); 716 717 function adjustHeaderNavigation() { 718 if ($(document).scrollTop() >= 0 && $(document).scrollTop() < sticky) { 719 if (window.location.href.length <= url.length + 1 && !$('#mobile-nav-container').hasClass("active")) { 720 $("#more-nav-menu").removeClass("active"); 721 $('#mobile-nav-container').removeClass("active"); 722 header.addClass("scrolling"); 723 header.addClass("home-sticky"); 724 header.removeClass("sticky"); 725 //header.find(".logo img").prop("src", "https://dpdough.com/img/dpdoughtext.png"); 726 } else { 727 header.addClass("sticky"); 728 } 729 } else if ($(document).scrollTop() <= sticky && window.location.href.length > url.length + 1) { 730 //header.find(".logo img").prop("src", "https://dpdough.com/img/clownshoes.png"); 731 header.addClass("sticky"); 732 } else { 733 header.removeClass("scrolling"); 734 if ($(document).scrollTop() > sticky && !header.hasClass("sticky")) { 735 //header.find(".logo img").prop("src", "https://dpdough.com/img/clownshoes.png"); 736 header.addClass("sticky"); 737 if (!checkLTO()) { 738 $('#ltoContainer').addClass("active"); 739 } 740 } else if ((header.hasClass("sticky") || initialLoad) && $(document).scrollTop() <= sticky) { 741 initialLoad = false; 742 if (window.location.href.length <= url.length + 1) { 743 //header.find(".logo img").prop("src", "https://dpdough.com/img/dpdoughtext.png"); 744 } 745 header.removeClass("sticky"); 746 header.addClass("home-sticky"); 747 } else if (!header.hasClass("sticky") && $(document).scrollTop() > sticky) { 748 //header.find(".logo img").prop("src", "https://dpdough.com/img/clownshoes.png"); 749 header.addClass("sticky"); 750 if (!checkLTO()) { 751 $('#ltoContainer').addClass("active"); 752 } 753 } 754 } 755 } 756 757 var currentViewport = $(window).width() <= 768 ? "mobile" : "desktop"; 758 $(window).resize(function(){ 759 if ($(window).width() <= 768 && currentViewport == "desktop") { 760 $('#mobile-nav-container').removeClass("active"); 761 $("#more-nav-menu").removeClass("active"); 762 adjustHeaderNavigation(); 763 currentViewport = "mobile"; 764 } else if ($(window).width() > 768 && currentViewport == "mobile") { 765 $('#mobile-nav-container').removeClass("active"); 766 $("#more-nav-menu").removeClass("active"); 767 adjustHeaderNavigation(); 768 currentViewport = "desktop"; 769 } 770 }) 771 772 $('#mobile-nav-button').click(function(){ 773 if ($('#mobile-nav-container').hasClass("active")) { 774 $('#mobile-nav-button').removeClass("ti-close"); 775 $('#mobile-nav-button').addClass("ti-menu"); 776 $('#mobile-nav-container').removeClass("active"); 777 $("#more-nav-menu").removeClass("active"); 778 adjustHeaderNavigation(); 779 } else { 780 $('#mobile-nav-button').addClass("ti-close"); 781 $('#mobile-nav-button').removeClass("ti-menu"); 782 //$("header#header").find(".logo img").prop("src", "https://dpdough.com/img/clownshoes.png"); 783 $("header#header").addClass("sticky"); 784 $('#mobile-nav-container').addClass("active"); 785 $("#more-nav-menu").addClass("active"); 786 } 787 }); 788 789 $(document).click(function(e){ 790 var elem = $(e.target); 791 if (elem.hasClass('more-button')) { 792 if ($('#more-nav-menu').hasClass("active")) { 793 $("#more-nav-menu").removeClass("active"); 794 adjustHeaderNavigation(); 795 } else { 796 $("header#header").addClass("sticky"); 797 //$("header#header").find(".logo img").prop("src", "https://dpdough.com/img/clownshoes.png"); 798 $("#more-nav-menu").addClass("active"); 799 } 800 } else if ($('#more-nav-menu').hasClass('active') && elem.parents('#more-nav-menu').length == 0 && !elem.hasClass('more-button')) { 801 console.log("skjdk") 802 $('#more-nav-menu').removeClass('active'); 803 } 804 }); 805 806 807 </script>
vendor: 1 bytes, line 807
807
808<script src="https://dpdough.com/scripts/zipcodes.js"></script>
808 809<style> 810 @-webkit-keyframes rotating /* Safari and Chrome */ { 811 from { 812 -webkit-transform: rotate(0deg); 813 -o-transform: rotate(0deg); 814 transform: rotate(0deg); 815 } 816 to { 817 -webkit-transform: rotate(360deg); 818 -o-transform: rotate(360deg); 819 transform: rotate(360deg); 820 } 821 } 822 @keyframes rotating { 823 from { 824 -ms-transform: rotate(0deg); 825 -moz-transform: rotate(0deg); 826 -webkit-transform: rotate(0deg); 827 -o-transform: rotate(0deg); 828 transform: rotate(0deg); 829 } 830 to { 831 -ms-transform: rotate(360deg); 832 -moz-transform: rotate(360deg); 833 -webkit-transform: rotate(360deg); 834 -o-transform: rotate(360deg); 835 transform: rotate(360deg); 836 } 837 } 838 .rotating { 839 -webkit-animation: rotating 80s linear infinite reverse; 840 -moz-animation: rotating 80s linear infinite reverse; 841 -ms-animation: rotating 80s linear infinite reverse; 842 -o-animation: rotating 80s linear infinite reverse; 843 animation: rotating 80s linear infinite reverse; 844 } 845 846 #splash-spinner { 847 height: 200px; 848 width: 200px; 849 margin: 40px auto; 850 background: url(https://dpdough.com/img/swirl.png); 851 background-size: contain; 852 z-index: 0; 853 background-position: center; 854 } 855 856 #splash-spinner.loaded { 857 display: none; 858 } 859 860#locations-container { 861 display: flex; 862 height: 100vh; 863 overflow: hidden; 864 background: #0e0e0e 865} 866#locations-select-container { 867 flex-grow: 1; 868} 869#locations-select-container { 870 flex-grow: 1; 871 background: transparent; 872 background-position: center; 873} 874#location-search-container { 875 background: #D30000; 876 padding: 20px; 877} 878#zip-search-form { 879 width: calc(100% - 80px); 880 display: inline-block; 881} 882input.zip-search { 883 border: 0; 884 border-radius: 4px; 885 padding: 10px 20px; 886 line-height: 40px; 887 font-family: 'poppinsregular', sans-serif; 888 font-size: 16px; 889 display: inline-block; 890 width: 100%; 891} 892#zip-search-button { 893 background: #111; 894 color: #fff; 895 font-family: 'poppinsbold', sans-serif; 896 padding: 10px 20px; 897 border-radius: 5px; 898 cursor: pointer; 899 margin-left: 10px; 900 display: inline-block; 901 transition: all 0.2s linear; 902 line-height: 40px 903} 904#zip-search-button:hover { 905 color: #111; 906 background: #fff; 907} 908#map { 909 height: calc(100vh - 86px); 910 width: calc(100% - 364px); 911 display: none; 912} 913#map.mobile-visible { 914 height: 100vh; 915 width: 100vw; 916 display: block; 917 position: fixed !important; 918 top: 0; 919 left: 0; 920} 921div#map-button { 922 position: fixed; 923 bottom: 20px; 924 right: 20px; 925 width: 60px; 926 height: 60px; 927 background: #D30000; 928 color: #fff; 929 text-align: center; 930 line-height: 60px; 931 font-size: 27px; 932 border-radius: 50%; 933} 934#location-results-container { 935 overflow-y: scroll; 936 max-height: calc(100vh - 180px); 937} 938div#view-all-button { 939 line-height: 58px; 940 text-align: center; 941 color: #d30000; 942 border: 1px solid; 943 margin: 20px; 944 cursor: pointer; 945} 946.location-result { 947 padding: 40px; 948 color: #111; 949 border-bottom: 2px dotted #dedede; 950 padding-bottom: 20px; 951 background: #d0d0d0; 952} 953.location-result:first-of-type { 954 background: #1e1e1e; 955 color: #fff; 956} 957.location-result:nth-of-type(2n) { 958 background: #efefef; 959} 960.location-result:first-of-type .location-result-button { 961 background: #D30000; 962} 963.location-result h5 { 964 font-family: 'poppinsbold', sans-serif; 965 font-size: 14px; 966} 967.location-result h2.location-result-name { 968 font-size: 16px; 969 font-family: "chalk_font", sans-serif; 970 color: #D30000; 971} 972.location-result p { 973 margin-bottom: 7px; 974 font-size: 14px; 975} 976.location-result b { 977 font-family: 'poppinsblack',sans-serif; 978 font-size: 15px; 979 margin-right: 10px; 980} 981.location-result-button-container { 982 margin-top: 40px; 983} 984.location-result-button { 985 display: block; 986 background: #111; 987 padding: 8px 15px; 988 border-radius: 5px; 989 box-shadow: 2px 3px 0px 2px #eaeaea; 990 cursor: pointer; 991 font-family: 'chalk_font', sans-serif; 992 transition: all 0.25s linear; 993 color: #fff; 994 font-size: 20px; 995 margin: 20px; 996 text-align: center; 997} 998.location-result-button:hover { 999 background: #D30000; 1000 color: #fff; 1001} 1002ul.location-result-hours { 1003 padding: 0; 1004} 1005.location-result-hours li { 1006 display: inline-block; 1007 width: calc(50% - 5px); 1008 margin: 0; 1009 padding: 0; 1010 text-align: left; 1011} 1012.location-result-hours li:nth-of-type(2n) { 1013 text-align: right; 1014} 1015.location-result-name a.ti-location-pin { 1016 color: #333; 1017 text-decoration: none; 1018 transition: all 0.25s linear; 1019} 1020.location-result-name a.ti-location-pin:hover { 1021 color: #D30000; 1022} 1023#select-location { 1024 display: none; 1025 position: fixed; 1026 top: 86px; 1027 width: 100vw; 1028 text-align: center; 1029 background: #eee; 1030 padding: 12px; 1031 color: #999; 1032 text-transform: uppercase; 1033} 1034.no-store-results { 1035 height: calc(100vh - 186px); 1036 text-align: center; 1037 display: block; 1038 color: #D30000; 1039 position: relative; 1040 font-size: 16px; 1041 font-family: 'poppinsbold', sans-serif; 1042} 1043.no-store-results-image { 1044 background: url(https://dpdough.com/img/clownshoes-chalk.png); 1045 width: 100%; 1046 height: 100%; 1047 display: inline-block; 1048 position: absolute; 1049 top: 0; 1050 left: 0; 1051 z-index: 0; 1052 opacity: 0.08; 1053 background-position: center; 1054 margin-top: -50%; 1055} 1056.no-store-results b { 1057 font-size: 40px; 1058 display: block; 1059 margin-top: 50%; 1060 text-transform: uppercase; 1061 font-family: 'poppinsblack', sans-serif; 1062} 1063.no-store-results i { 1064 display: block; 1065 font-size: 14px; 1066 color: #333; 1067 font-family: 'poppinsregular',sans-serif; 1068 margin-top: 20px; 1069} 1070p.store-entity { 1071 margin-top: 15px; 1072 opacity: 0.3; 1073} 1074#loading-location-container { 1075 z-index: 999; 1076 background: rgba(0,0,0,0.6); 1077 height: 100vh; 1078 width: 100vw; 1079 position: fixed; 1080 top: 0; 1081 left: 0; 1082 color: #fff; 1083 line-height: 100vh; 1084 text-align: center; 1085 display: block; 1086} 1087#loading-location-container.loaded { 1088 display: none; 1089} 1090div#zip-search-text { 1091 padding: 20px 40px; 1092 background: #0e0e0e; 1093 color: #fff; 1094 text-align: center; 1095 font-style: italic; 1096 font-size: 18px; 1097} 1098div#mobile-app-banner-container { 1099 padding: 140px 20px 50px; 1100 background: #d30000; 1101 color: #fff; 1102 position: relative; 1103} 1104.mobile-phones-image { 1105 position: absolute; 1106 top: 0; 1107 bottom: 0; 1108 right: 0; 1109 width: 100%; 1110 max-width: 720px; 1111 background-size: cover; 1112 background-repeat: no-repeat; 1113 z-index: 0; 1114} 1115div#mobile-app-banner-container .container { 1116 z-index: 1; 1117 position: relative; 1118} 1119div#mobile-app-banner-container h2 { 1120 font-size: 60px; 1121 text-align: left; 1122 font-family: 'poppinsbold', sans-serif; 1123 margin-bottom: 40px; 1124 max-width: 400px; 1125 background: rgba(0,0,0,0.75); 1126 padding: 20px 20px 0; 1127} 1128 1129.mobile-app-links small { 1130 font-size: 27px; 1131 font-family: 'poppinsbold', sans-serif; 1132 position: relative; 1133 top: -20px; 1134 color: #d30000; 1135} 1136 1137div#mobile-app-banner-container .container { 1138 z-index: 1; 1139} 1140 1141.app-links-container { 1142 display: flex; 1143 flex-direction: row; 1144} 1145.app-links-container img { 1146 max-width: 200px; 1147 width: 100%; 1148} 1149.or-continue-online { 1150 color: #d30000; 1151 text-align: center; 1152 padding: 60px; 1153 font-size: 24px; 1154 background: #000; 1155 font-family: 'poppinsbold', sans-serif; 1156} 1157a.location-menu-button { 1158 text-align: center; 1159 display: block; 1160 background: #d30000; 1161 color: #fff; 1162 padding: 10px 0; 1163 font-weight: bold; 1164 margin: 20px; 1165} 1166@media screen and (min-width: 769px) { 1167 #map { 1168 display: block; 1169 } 1170 /* 1171 #locations-select-container { 1172 max-width: 364px; 1173 } 1174 */ 1175 #locations-container { 1176 height: auto; 1177 } 1178 #locations-select-container { 1179 max-width: 800px; 1180 margin: 0 auto; 1181 } 1182 #location-results-container { 1183 max-height: none; 1184 margin-bottom: 200px; 1185 } 1186} 1187</style> 1188<div id="mobile-app-banner-container"> 1189 <div class="mobile-phones-image" style="background-image: url('https://dpdough.com/img/mobile-phones.png')"></div> 1190 <div class="container"> 1191 <div class="mobile-app-links"> 1192 <h1>Order Now<br /><small style="color: #fff">On Our Mobile App</small></h1> 1193 <div class="app-links-container"> 1194 <a href="https://apps.apple.com/us/app/d-p-dough/id1622433962"><img src="https://dpdough.com/img/app-store.png"/></a> 1195 <a href="https://play.google.com/store/apps/details?id=io.dpdough.dpdough"><img src="https://dpdough.com/img/play-store.png"/></a> 1196 </div> 1197 </div> 1198 </div> 1199</div> 1200<div class="or-continue-online" style="background: #0e0e0e;background-image: url(https://dpdough.com/img/ingr-bg-light.png);background-size: 400px;">- Or Continue Online -</div> 1201<div id="locations-container" style="background: #0e0e0e;background-image: url(https://dpdough.com/img/ingr-bg-light.png);background-size: 400px;"> 1202 1203 <div id="locations-select-container"> 1204 <div id="zip-search-text">Enter 5 digit zip code to find your nearest store</div> 1205 <div id="location-search-container"> 1206 <form id="zip-search-form" submit="#"> 1207 <input type="number" class="zip-search" placeholder="Search by Zip Code..."> 1208 </form> 1209 <div id="zip-search-button">GO</div> 1210 </div> 1211 <div id="location-results-container"></div> 1212 <div id="splash-spinner" class="loaded rotating"></div> 1213 <div class="mobile-app-links"> 1214 <title>Download the D.P. Dough app on your phone!</title> 1215 <div class="app-links-container" style="justify-content: center; margin-bottom: 40px;"> 1216 <a href="https://apps.apple.com/us/app/d-p-dough/id1622433962"><img src="https://dpdough.com/img/app-store.png"/></a> 1217 <a href="https://play.google.com/store/apps/details?id=io.dpdough.dpdough"><img src="https://dpdough.com/img/play-store.png"/></a> 1218 </div> 1219 </div> 1220 <!--<div id="view-all-button">View All Locations</div>--> 1221 </div> 1222 <!--<div id="map"></div> 1223 <div id="map-button" class="mobile"><span class="ti-map-alt"></span></div> 1224 <div id="select-location">Select A Location</div>--> 1225</div> 1226<div id="loading-location-container" class="loaded"><span>Finding Closest Locations...</div>
1227<script> 1228function getLatLngByZipcode(zipcode, callback) { 1229 var results = cntrZipCodes.filter(function (entry) { return entry.zip_code === Number(zipcode) }); 1230 if (results.length > 0) { 1231 var latitude = results[0].latitude; 1232 var longitude = results[0].longitude; 1233 callback({ lat:latitude, lng: longitude}); 1234 } else { 1235 var geocoder = new google.maps.Geocoder(); 1236 var address = zipcode; 1237 geocoder.geocode({ 'address': 'zipcode '+address }, function (results, status) { 1238 if (status == google.maps.GeocoderStatus.OK) { 1239 var latitude = results[0].geometry.location.lat(); 1240 var longitude = results[0].geometry.location.lng(); 1241 callback({ lat:latitude, lng: longitude}); 1242 } else { 1243 callback(null); 1244 } 1245 }); 1246 } 1247} 1248</script>
vendor: 1 bytes, line 1248
1248
1249<script> 1250 1251var viewAllLocations = false; 1252 1253$("#view-all-button").click(function(){ 1254 viewAllLocations = !viewAllLocations; 1255 if (viewAllLocations) { 1256 $("#view-all-button").text("View Nearest Stores"); 1257 } else { 1258 $("#view-all-button").text("View All Stores"); 1259 } 1260 loadStoreLocations(); 1261}); 1262 1263$("#zip-search-button").click(function(){ 1264 var value = $(".zip-search").val(); 1265 if (value.length == 5) { 1266 getLatLngByZipcode(value, function(result){ 1267 if (result != null) { 1268 userCoords = {lat: result.lat, lng: result.lng}; 1269 $.each(stores, function(i,store) { 1270 store.distance = getDistance(store.lat, store.lng, result.lat, result.lng); 1271 }) 1272 loadStoreLocations(); 1273 } 1274 }) 1275 } 1276}); 1277 1278$('#zip-search-form').on("submit",function(e){ 1279 e.preventDefault(); 1280 $(".zip-search").blur(); 1281 var value = $(".zip-search").val(); 1282 if (value.length == 5) { 1283 getLatLngByZipcode(value, function(result){ 1284 if (result != null) { 1285 userCoords = {lat: result.lat, lng: result.lng}; 1286 $.each(stores, function(i,store) { 1287 store.distance = getDistance(store.lat, store.lng, result.lat, result.lng); 1288 }) 1289 loadStoreLocations(); 1290 } 1291 }) 1292 } 1293}); 1294 1295$("#map-button").click(function(){ 1296 $("#map").addClass("mobile-visible"); 1297 $("#select-location").show(); 1298 $("#map-button").hide(); 1299 loadStoreLocations(); 1300}); 1301 1302$(window).resize(function(){ 1303 /* 1304 if ($(window).width() <= 768) { 1305 if(!$("#map").hasClass("mobile-visible")) { 1306 $("#map-button").show(); 1307 } 1308 } else { 1309 $("#select-location").hide(); 1310 $("#map").removeClass("mobile-visible"); 1311 } 1312 */ 1313}); 1314 1315function getDistance(lat1, lon1, lat2, lon2) { 1316 var p = 0.017453292519943295; // Math.PI / 180 1317 var c = Math.cos; 1318 var a = 0.5 - c((lat2 - lat1) * p)/2 + 1319 c(lat1 * p) * c(lat2 * p) * 1320 (1 - c((lon2 - lon1) * p))/2; 1321 1322 return (12742 * Math.asin(Math.sqrt(a))) * 0.621371; // 2 * R; R = 6371 km 1323} 1324 1325var userCoords = null; 1326 1327function loadStoreLocations() { 1328 stores.sort((a, b) => (a.distance > b.distance) ? 1 : -1 ); 1329 1330 $('#location-results-container').empty(); 1331 //map.clearOverlays(); 1332 //var nearestStores = stores.slice(0,3); 1333 var nearestStores = stores; 1334 var foundStores = false; 1335 $.each(nearestStores,function(i,store){ 1336 if (store.distance < 50 || viewAllLocations || true) { 1337 foundStores = true; 1338 var hoursString = ""; 1339 1340 $.each(store.hours,function(h,hour){ 1341 hoursString += "<li>"+hour[0]+"</li>"; 1342 hoursString += "<li>"+hour[1]+"</li>"; 1343 }); 1344 var zipString = ""; 1345 var zipValue = $(".zip-search").val(); 1346 if (zipValue.length > 0) { 1347 zipString = " from "+zipValue; 1348 } 1349 1350 var entityString = "Locally owned & operated"; 1351 1352 if (store.legalEntity && store.legalEntity.length > 0) { 1353 entityString += String(" by " + store.legalEntity); 1354 } 1355 var orderString = ""; 1356 if (store.orderLink.length > 0) { 1357 orderString = '<div class="location-result-button" data-link="'+store.orderLink+'">Order Online</div>'; 1358 } 1359 var caterString = ""; 1360 if (store.ezcater && store.ezcater.length > 0) { 1361 caterString = '<div class="location-result-button" data-link="'+store.ezcater+'">Catering</div>'; 1362 } 1363 var menuString = ""; 1364 if (store.menu && store.menu.length > 0) { 1365 menuString = '<a class="location-menu-button" href="https://dpdough.com/menus/'+store.menu+'" rel="noreferrer" target="_blank">View Menu</a>'; 1366 } 1367 var row = '<div class="location-result"><h2 class="location-result-name">'+store.name+' <a href="'+store.map+'" class="ti-location-pin" target="_blank" rel="noreferrer"></a></h2><h5>'+store.city+', '+store.state.toUpperCase()+'</h5><p class="location-result-distance">'+store.distance.toFixed(2)+' mi'+zipString+'</p><p class="location-result-address">'+store.address+'</p><p class="location-result-phone"><b>Phone:</b> <a href="tel:'+store.phone+'">'+store.phone+'</a></p><p><b>Hours:</b></p><ul class="location-result-hours">'+hoursString+'</ul><div class="location-result-button-container">'+orderString+menuString+caterString+'</div><p class="store-entity">'+entityString+'</p></div>'; 1368 1369 $('#location-results-container').append(row); 1370 1371 /* 1372 var mapIcon = { 1373 url: "https://dpdough.com/img/dp-head.png", // url 1374 scaledSize: new google.maps.Size(50, 45), // scaled size 1375 origin: new google.maps.Point(0,0), // origin 1376 anchor: new google.maps.Point(0, 0) // anchor 1377 } 1378 var marker = new google.maps.Marker({ 1379 position: {lat: store.lat, lng: store.lng}, 1380 map: map, 1381 icon: mapIcon 1382 }); 1383 markersArray.push(marker); 1384 google.maps.event.addListener(marker,"click",function(){ 1385 $(".zip-search").val(store.zip); 1386 $.each(stores, function(i,st) { 1387 st.distance = getDistance(store.lat, store.lng, st.lat, st.lng); 1388 }) 1389 loadStoreLocations(); 1390 $("#map").removeClass("mobile-visible"); 1391 $("#select-location").hide(); 1392 if ($(window).width() <= 768) { 1393 $("#map-button").show(); 1394 } 1395 }); 1396 */ 1397 } 1398 }); 1399 1400 $(document).on("click",".location-result-button", function(e){ 1401 var link = $(this).attr("data-link"); 1402 window.location.href = link; 1403 }) 1404 1405 if (!foundStores) { 1406 $("#location-results-container").append('<div class="no-store-results"><span class="no-store-results-image"></span><b>Bummer!</b>Dough Shortage Affecting Your Area<i>There are no D.P. Dough® locations near you</i></div>'); 1407 1408 /* 1409 if (userCoords != null) { 1410 var latlng = new google.maps.LatLng(userCoords.lat, userCoords.lng); 1411 map.setCenter(latlng); 1412 } 1413 map.clearOverlays(); 1414 $.each(stores,function(i,store){ 1415 var mapIcon = { 1416 url: "https://dpdough.com/img/dp-head.png", // url 1417 scaledSize: new google.maps.Size(50, 45), // scaled size 1418 origin: new google.maps.Point(0,0), // origin 1419 anchor: new google.maps.Point(0, 0) // anchor 1420 } 1421 var marker = new google.maps.Marker({ 1422 position: {lat: store.lat, lng: store.lng}, 1423 map: map, 1424 icon: mapIcon 1425 }); 1426 markersArray.push(marker); 1427 google.maps.event.addListener(marker,"click",function(){ 1428 $(".zip-search").val(store.zip); 1429 $.each(stores, function(i,st) { 1430 st.distance = getDistance(store.lat, store.lng, st.lat, st.lng); 1431 }) 1432 loadStoreLocations(); 1433 $("#map").removeClass("mobile-visible"); 1434 $("#select-location").hide(); 1435 if ($(window).width() <= 768) { 1436 $("#map-button").show(); 1437 } 1438 }); 1439 }) 1440 */ 1441 } else { 1442 setCenter(nearestStores); 1443 } 1444} 1445 1446var map = null; 1447var markersArray = []; 1448// Initialize and add the map 1449 1450function initMap() { 1451 /* 1452 google.maps.Map.prototype.clearOverlays = function() { 1453 for (var i = 0; i < markersArray.length; i++ ) { 1454 markersArray[i].setMap(null); 1455 } 1456 markersArray.length = 0; 1457 } 1458 */ 1459 1460 1461 /* 1462 var ipInfo = getCookie("ip_info"); 1463 if (ipInfo != null && typeof ipInfo === "string") { 1464 var json = JSON.parse(JSON.parse(decodeURIComponent(ipInfo))["ip"]); 1465 if (json["latitude"] && json["longitude"] && json["zip"]) { 1466 lat = json["latitude"]; 1467 lng = json["longitude"]; 1468 userCoords = {lat: lat, lng: lng}; 1469 $(".zip-search").val(json["zip"]); 1470 $.each(stores, function(i,store) { 1471 store.distance = getDistance(store.lat, store.lng, userCoords.lat, userCoords.lng); 1472 }) 1473 } 1474 } 1475 */ 1476 //loadStoreLocations(); 1477 //$("#loading-location-container").removeClass("loaded"); 1478 $("#splash-spinner").removeClass("loaded"); 1479 navigator.geolocation.getCurrentPosition((position) => { 1480 userCoords = {lat: position.coords.latitude, lng: position.coords.longitude}; 1481 $.each(stores, function(i,store) { 1482 store.distance = getDistance(store.lat, store.lng, userCoords.lat, userCoords.lng); 1483 }); 1484 1485 loadStoreLocations(); 1486 $("#loading-location-container").addClass("loaded"); 1487 $("#splash-spinner").addClass("loaded"); 1488 }, (err) => { 1489 if(userCoords) { 1490 $.each(stores, function(i,store) { 1491 store.distance = getDistance(store.lat, store.lng, userCoords.lat, userCoords.lng); 1492 }) 1493 } 1494 //loadStoreLocations(); 1495 $("#loading-location-container").addClass("loaded"); 1496 $("#splash-spinner").addClass("loaded"); 1497 }, {
1498 enableHighAccuracy: false, 1499 timeout: 5000, 1500 maximumAge: 86400000 1501 }) 1502 /* 1503 // The location of Uluru 1504 var uluru = {lat: lat, lng: lng}; 1505 // The map, centered at Uluru 1506 map = new google.maps.Map( 1507 document.getElementById('map'), { 1508 zoom: 10, 1509 center: uluru, 1510 styles: [ 1511 { 1512 "elementType": "geometry", 1513 "stylers": [ 1514 { 1515 "color": "#242f3e" 1516 } 1517 ] 1518 }, 1519 { 1520 "elementType": "labels.text.fill", 1521 "stylers": [ 1522 { 1523 "color": "#746855" 1524 } 1525 ] 1526 }, 1527 { 1528 "elementType": "labels.text.stroke", 1529 "stylers": [ 1530 { 1531 "color": "#242f3e" 1532 } 1533 ] 1534 }, 1535 { 1536 "featureType": "administrative.locality", 1537 "elementType": "labels.text.fill", 1538 "stylers": [ 1539 { 1540 "color": "#d59563" 1541 } 1542 ] 1543 }, 1544 { 1545 "featureType": "administrative.neighborhood", 1546 "stylers": [ 1547 { 1548 "visibility": "off" 1549 } 1550 ] 1551 }, 1552 { 1553 "featureType": "poi", 1554 "elementType": "labels.text", 1555 "stylers": [ 1556 { 1557 "visibility": "off" 1558 } 1559 ] 1560 }, 1561 { 1562 "featureType": "poi", 1563 "elementType": "labels.text.fill", 1564 "stylers": [ 1565 { 1566 "color": "#d59563" 1567 } 1568 ] 1569 }, 1570 { 1571 "featureType": "poi.business", 1572 "stylers": [ 1573 { 1574 "visibility": "off" 1575 } 1576 ] 1577 }, 1578 { 1579 "featureType": "poi.park", 1580 "elementType": "geometry", 1581 "stylers": [ 1582 { 1583 "color": "#263c3f" 1584 } 1585 ] 1586 }, 1587 { 1588 "featureType": "poi.park", 1589 "elementType": "labels.text.fill", 1590 "stylers": [ 1591 { 1592 "color": "#6b9a76" 1593 } 1594 ] 1595 }, 1596 { 1597 "featureType": "road", 1598 "elementType": "geometry", 1599 "stylers": [ 1600 { 1601 "color": "#38414e" 1602 } 1603 ] 1604 }, 1605 { 1606 "featureType": "road", 1607 "elementType": "geometry.stroke", 1608 "stylers": [ 1609 { 1610 "color": "#212a37" 1611 } 1612 ] 1613 }, 1614 { 1615 "featureType": "road", 1616 "elementType": "labels", 1617 "stylers": [ 1618 { 1619 "visibility": "off" 1620 } 1621 ] 1622 }, 1623 { 1624 "featureType": "road", 1625 "elementType": "labels.icon", 1626 "stylers": [ 1627 { 1628 "visibility": "off" 1629 } 1630 ] 1631 }, 1632 { 1633 "featureType": "road", 1634 "elementType": "labels.text.fill", 1635 "stylers": [ 1636 { 1637 "color": "#9ca5b3" 1638 } 1639 ] 1640 }, 1641 { 1642 "featureType": "road.arterial", 1643 "stylers": [ 1644 { 1645 "visibility": "off" 1646 } 1647 ] 1648 }, 1649 { 1650 "featureType": "road.highway", 1651 "elementType": "geometry", 1652 "stylers": [ 1653 { 1654 "color": "#746855" 1655 } 1656 ] 1657 }, 1658 { 1659 "featureType": "road.highway", 1660 "elementType": "geometry.stroke", 1661 "stylers": [ 1662 { 1663 "color": "#1f2835" 1664 } 1665 ] 1666 }, 1667 { 1668 "featureType": "road.highway", 1669 "elementType": "labels", 1670 "stylers": [ 1671 { 1672 "visibility": "off" 1673 } 1674 ] 1675 }, 1676 { 1677 "featureType": "road.highway", 1678 "elementType": "labels.text.fill", 1679 "stylers": [ 1680 { 1681 "color": "#f3d19c" 1682 } 1683 ] 1684 }, 1685 { 1686 "featureType": "road.local", 1687 "stylers": [ 1688 { 1689 "visibility": "off" 1690 } 1691 ] 1692 }, 1693 { 1694 "featureType": "transit", 1695 "stylers": [ 1696 { 1697 "visibility": "off" 1698 } 1699 ] 1700 }, 1701 { 1702 "featureType": "transit", 1703 "elementType": "geometry", 1704 "stylers": [ 1705 { 1706 "color": "#2f3948" 1707 } 1708 ] 1709 }, 1710 { 1711 "featureType": "transit.station", 1712 "elementType": "labels.text.fill", 1713 "stylers": [ 1714 { 1715 "color": "#d59563" 1716 } 1717 ] 1718 }, 1719 { 1720 "featureType": "water", 1721 "elementType": "geometry", 1722 "stylers": [ 1723 { 1724 "color": "#17263c" 1725 } 1726 ] 1727 }, 1728 { 1729 "featureType": "water", 1730 "elementType": "labels.text", 1731 "stylers": [ 1732 { 1733 "visibility": "off" 1734 } 1735 ] 1736 }, 1737 { 1738 "featureType": "water", 1739 "elementType": "labels.text.fill", 1740 "stylers": [ 1741 { 1742 "color": "#515c6d" 1743 } 1744 ] 1745 }, 1746 { 1747 "featureType": "water", 1748 "elementType": "labels.text.stroke", 1749 "stylers": [ 1750 { 1751 "color": "#17263c" 1752 } 1753 ] 1754 } 1755] 1756 } 1757 ); 1758 */ 1759 //loadStoreLocations(); 1760} 1761 1762function setCenter(stores) { 1763 /* 1764 var X = 0.0; 1765 var Y = 0.0; 1766 var Z = 0.0; 1767 var places = stores.slice(0,5); 1768 var placesLength = places.length; 1769 $.each(places,function(i,place){ 1770 var lat = place.lat * Math.PI / 180; 1771 var lon = place.lng * Math.PI / 180; 1772 var a = Math.cos(lat) * Math.cos(lon);
1773 var b = Math.cos(lat) * Math.sin(lon); 1774 var c = Math.sin(lat); 1775 X += a; 1776 Y += b; 1777 Z += c; 1778 }) 1779 X /= placesLength; 1780 Y /= placesLength; 1781 Z /= placesLength; 1782 var lon = Math.atan2(Y, X); 1783 var hyp = Math.sqrt(X * X + Y * Y); 1784 var lat = Math.atan2(Z, hyp); 1785 1786 var latitude = lat * 180 / Math.PI; 1787 var longitude = lon * 180 / Math.PI; 1788 1789 var latlng = new google.maps.LatLng(latitude, longitude); 1790 map.setCenter(latlng); 1791 var bounds = new google.maps.LatLngBounds(); 1792 if (markersArray.length > 1) { 1793 $.each(markersArray,function(i,marker){ 1794 bounds.extend(marker.getPosition()); 1795 }); 1796 map.fitBounds(bounds); 1797 } 1798 1799 $.each(stores,function(i,store){ 1800 if ($.grep(places, function(obj) { return obj.name == store.name && obj.distance < 50; }).length == 0) { 1801 var mapIcon = { 1802 url: "https://dpdough.com/img/dp-head.png", // url 1803 scaledSize: new google.maps.Size(50, 45), // scaled size 1804 origin: new google.maps.Point(0,0), // origin 1805 anchor: new google.maps.Point(0, 0) // anchor 1806 } 1807 var marker = new google.maps.Marker({ 1808 position: {lat: store.lat, lng: store.lng}, 1809 map: map, 1810 icon: mapIcon 1811 }); 1812 markersArray.push(marker); 1813 google.maps.event.addListener(marker,"click",function(){ 1814 $(".zip-search").val(store.zip); 1815 $.each(stores, function(i,st) { 1816 st.distance = getDistance(store.lat, store.lng, st.lat, st.lng); 1817 }) 1818 loadStoreLocations(); 1819 $("#map").removeClass("mobile-visible"); 1820 $("#select-location").hide(); 1821 if ($(window).width() <= 768) { 1822 $("#map-button").show(); 1823 } 1824 }); 1825 } 1826 }) 1827 */ 1828} 1829 1830</script>
1830 1831<!--Load the API from the specified URL 1832* The async attribute allows the browser to render the page while the API loads 1833* The key parameter will contain your own API key (which is not needed for this tutorial) 1834* The callback parameter executes the initMap() function 1835--> 1836
1837<script async defer 1838src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDzrNVVXzU3qNgpXbhnDufykbJmI_yN7zI&callback=initMap"> 1839</script>
1839 1840<style> 1841 .flip { 1842 animation:rotate 1.5s infinite; 1843 animation-timing-function: cubic-bezier(0,.5,1); 1844 } 1845 @-webkit-keyframes rotate { 1846 from { -webkit-transform: rotate(0deg) } 1847 to { -webkit-transform: rotate(360deg) } 1848 } 1849 #footer { 1850 color: #fff; 1851 text-align: center; 1852 padding: 20px; 1853 background: #0e0e0e; 1854 position: relative; 1855} 1856 #footer img.default { 1857 width: 150px; 1858 } 1859 #social-footer { 1860 display: inline-block; 1861 line-height: 53px; 1862 } 1863 #social-footer a { 1864 color: #D30000; 1865 font-size: 24px; 1866 margin-left: 20px; 1867 text-decoration: none; 1868 transition: all 0.2s ease-in-out; 1869 } 1870 #social-footer a:hover { 1871 color: #fff; 1872 } 1873 #iframe-overlay { 1874 display: none; 1875 position: fixed; 1876 top: 0; 1877 bottom: 0; 1878 left: 0; 1879 right: 0; 1880 background: rgba(0,0,0,0.7); 1881 z-index: 999999; 1882 } 1883 #iframe-overlay.active { 1884 display: block; 1885 } 1886 #iframe-overlay .container { 1887 width: calc(100% - 50px); 1888 max-width: 1024px; 1889 margin: 0 auto; 1890 height: 100vh; 1891 overflow-y: scroll; 1892 padding: 5px; 1893 background: #fff; 1894 box-sizing: border-box; 1895 } 1896 #iframe-overlay iframe { 1897 width: 100%; 1898 height: 100vh; 1899 } 1900 #close-iframe-overlay-button { 1901 position: fixed; 1902 bottom: 20px; 1903 right: 20px; 1904 color: #fff; 1905 font-size: 30px; 1906 background: #D30000; 1907 width: 50px; 1908 height: 50px; 1909 text-align: center; 1910 line-height: 50px; 1911 cursor: pointer; 1912 } 1913 sup { 1914 font-size: calc(12px + .2vw); 1915 vertical-align: super; 1916 margin-left: 0; 1917 font-weight: normal !important; 1918 font-family: sans-serif !important; 1919} 1920 /* 1921 #loading-wrapper { 1922 position: fixed; 1923 top: 0; 1924 bottom: 0; 1925 left: 0; 1926 right: 0; 1927 background: #000; 1928 z-index: 99999; 1929 display: block; 1930 background: #111; 1931 background-image: url(https://dpdough.com/img/ingr-bg-light.png); 1932 background-size: 400px; 1933 color: #fff; 1934 text-align: center; 1935 } 1936 #loading-wrapper.loaded { 1937 display: none; 1938 } 1939 #loading-image { 1940 background: url(https://dpdough.com/img/dpdough-box.png); 1941 width: 200px; 1942 height: 200px; 1943 background-size: contain; 1944 background-position: center; 1945 background-repeat: no-repeat; 1946 margin: 0 auto; 1947 margin-top: calc(50vh - 100px); 1948 opacity: 1; 1949 } 1950 */ 1951 @media screen and (min-width: 769px) { 1952 #iframe-overlay .container { 1953 width: calc(100% - 200px); 1954 } 1955 #footer { 1956 text-align: left; 1957 } 1958 #social-footer { 1959 float: right; 1960 } 1961 } 1962</style> 1963<!-- 1964<div id="iframe-overlay"> 1965 <div class="container"> 1966 <iframe src="" allowtransparency="true" frameborder="0" style="border: none; overflow: hidden; width: 100%;"></iframe> 1967 <div id="close-iframe-overlay-button"><span class="ti-close"></span></div> 1968 </div> 1969</div>--> 1970<div id="footer"> 1971 <div class="container"> 1972 <img alt="D.P. Dough Logo" class="default" src="https://dpdough.com/img/dpdoughtext.png"> 1973 <span>© <i id="footer-year"></i></span> 1974 <div id="social-footer"> 1975 <a href="https://dpdough.com/legal">Privacy Policy</a> 1976 <a href="https://twitter.com/dpdough" rel="noreferrer" target="_blank"><span class="ti-twitter"></span></a> 1977 <a href="https://www.instagram.com/dpdough/" rel="noreferrer" target="_blank"><span class="ti-instagram"></span></a> 1978 <a href="https://www.facebook.com/dpdoughcalzones/" rel="noreferrer" target="_blank"><span class="ti-facebook"></span></a> 1979 <a href="https://www.youtube.com/channel/UC8EgLtr6-1JsNi24lihc0zA" rel="noreferrer" target="_blank"><span class="ti-youtube"></span></a> 1980 </div> 1981 </div> 1982</div> 1983<!--<div id="loading-wrapper"><div id="loading-image" class="flip"></div></div>-->
1984<script type="text/javascript"> 1985 /* 1986 $('#close-iframe-overlay-button').click(function(){ 1987 $('#iframe-overlay').removeClass('active'); 1988 $('#iframe-overlay ifram').prop('src',''); 1989 }) 1990 $('#iframe-overlay').click(function(e){ 1991 if ($(e.target).is('#iframe-overlay')) { 1992 $('#iframe-overlay').removeClass('active'); 1993 $('#iframe-overlay iframe').prop('src',''); 1994 } 1995 }) 1996 1997 if (window.self !== window.top) { 1998 document.addEventListener("DOMContentLoaded", function() { 1999 document.querySelector('#iframe-overlay').remove(); 2000 document.querySelector('#footer').remove(); 2001 }); 2002 } 2003 */ 2004 $(document).ready(function(){ 2005 var date = new Date(); 2006 $('#footer-year').text(date.getFullYear()); 2007 var isIOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform); 2008 var ua = navigator.userAgent.toLowerCase(); 2009 var isAndroid = ua.indexOf("android") > -1; 2010 if (isIOS) { 2011 $('body').addClass("ios"); 2012 } else if (isAndroid) { 2013 $('body').addClass("android"); 2014 } 2015 /* 2016 setTimeout(function(){ 2017 $("#loading-wrapper").fadeOut(function(){ 2018 $("#loading-wrapper").addClass("loaded"); 2019 }) 2020 },2000) 2021 */ 2022 2023 setTimeout(() => { 2024 for (const mark of trademarks){ 2025 updateTrademarks($("body")[0], mark); 2026 } 2027 $('h1,p,a,span,li,dl,td').each(function(i, elem) { 2028 $(elem).html(function(i, html) { 2029 return html.replace(/\u00ae/g, "<sup>®</sup>"); 2030 }); 2031 $(elem).html(function(i, html) { 2032 return html.replace(/\u00a9/g, "<sup>©</sup>"); 2033 }); 2034 }); 2035 }, 1500); 2036 }) 2037 2038 var trademarks = [ 2039 "Zone", 2040 "Get In The Zone" 2041 ]; 2042 2043 var pendingTrademarks = [ 2044 "Blue Zone", 2045 "Border Zone", 2046 "Comfort Zone", 2047 "Sports Zone", 2048 "Work Zone", 2049 "Safety Zone", 2050 "Roni Zoni" 2051 ]; 2052 2053 function updateTrademarks(sel, text) { 2054 var el = $(sel); 2055 var matcher = new RegExp(" "+text+"('s|s)?(â¢|<sup>â¢<\/sup>|®|<sup>®<\/sup>)?|^"+text+"('s|s)?(â¢|<sup>â¢<\/sup>|®|<sup>®<\/sup>)?", 'gi'); 2056 if (el.children() && el.children().length > 0) { 2057 el.children().each((i,obj) => { 2058 updateTrademarks(obj,text); 2059 }); 2060 } else if(sel.nodeName && sel.nodeName.toUpperCase() !== "STYLE" && sel.nodeName.toUpperCase() !== "SCRIPT" && sel.nodeName.toUpperCase() !== "IFRAME" && !el.children().length) { 2061 var matchFound = false; 2062 var currentText = el.text().toString(); 2063 var newText = currentText.replace(matcher, (match) => { 2064 matchFound = true; 2065 if(match.includes("®") || match.includes("â¢")) { 2066 return match; 2067 } else { 2068 return match+"\u00ae"; 2069 } 2070 2071 }); 2072 if (matchFound) { 2073 el.text(newText); 2074 } 2075 } 2076 } 2077</script>
2077 2078</body> 2079</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.