PageSourceSearch

https://www.oshermd.com/services

html oshermd.com collected 2026-10-08 08:26:13 UTC 76,131 bytes, 2,012 lines download raw bytes

1<!DOCTYPE html>
2<!--[if IE 9 ]><html class="ie9" lang="en"> <![endif]-->
3<!--[if (gt IE 9)|!(IE)]><!--> <html class="" lang="en"> <!--<![endif]-->
4  <head>
5    <meta charset="utf-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
8    
9    
10        <meta name="google-site-verification" content="5Mojt8oxVXZ7MRlQJMQSF12YlprOluZ5Ehp5APypX8c" />
11    
12    
13        
14            <link rel="canonical" href="https://www.oshermd.com/services" />
15    
16    <link rel="shortcut icon" href="https://sa1s3optim.patientpop.com/assets/images/patientpop/favicon.ico" type="image/x-icon">
17    <link rel="icon" href="https://sa1s3optim.patientpop.com/assets/images/patientpop/favicon.ico" type="image/x-icon">
18
19    <title>Services - Annette  Osher, MD: Internal Medicine Physician Upper East Side New York, NY</title>
20    <meta name="description" content="Trusted Internal Medicine Physician serving Upper East Side New York, NY. Contact us at 917-725-2311 or visit us at 1001 5th Avenue, 1N, New York, NY 10028" />
21
22      <link rel="stylesheet" href=https://www.oshermd.com/css/practice.atomic.application.css>
23
24          <style>
25.primary-fg{
26  color:#F40009 !important;
27}
28.primary-bg{
29  background:#F40009 !important;
30}
31.flex-active{
32  background:#000 !important;
33}
34.primary-border{
35  border-color:#F40009 !important;
36}
37.secondary-fg{
38  color:#002366 !important;
39}
40.secondary-bg{
41  background:#002366 !important;
42}
43.secondary-border{
44  border-color:#002366 !important;
45}
46
47section.providers-landing .provider-list-filters .chck-input + label:before,
48#book-online .left ul li input[type="radio"]:checked + label:before{
49  background-color: #F40009 !important;
50}
51section.testimonials-reviews .paginator ul li a{
52  color:#1ca8dd;
53}
54section.testimonials-reviews .paginator ul li.active span{
55  background:#1ca8dd;
56  color:#fff;
57}
58.slider-frame ol li.active input,
59section.blog-hero .row .slider-frame ol li.active input{
60  background:#656F72;
61}
62  /* latin-ext */
63  @font-face {
64  font-family: 'Raleway Extra Bold';
65  font-display: swap;
66  font-style: normal;
67  font-weight: 800;
68  src: local('Raleway ExtraBold'), local('Raleway-ExtraBold'), url(https://fonts.gstatic.com/s/raleway/v11/QoPu455RxV2raYSIFXAMBTG_owQUHpNX9rkRdZ1lhPA.woff) format('woff');
69  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
70  }
71  /* latin */
72  @font-face {
73  font-family: 'Raleway Extra Bold';
74  font-display: swap;
75  font-style: normal;
76  font-weight: 800;
77  src: local('Raleway ExtraBold'), local('Raleway-ExtraBold'), url(https://fonts.gstatic.com/s/raleway/v11/1ImRNPx4870-D9a1EBUdPL3hpw3pgy2gAi-Ip7WPMi0.woff) format('woff');
78  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
79  }
80.primary-font{
81font-family: 'Raleway Extra Bold', sans-serif !important;
82}
83
84  /* latin-ext */
85  @font-face {
86  font-family: 'Raleway Medium';
87  font-display: swap;
88  font-style: normal;
89  font-weight: 500;
90  src: local('Raleway Medium'), local('Raleway-Medium'), url(https://fonts.gstatic.com/s/raleway/v11/Li18TEFObx_yGdzKDoI_cgsYbbCjybiHxArTLjt7FRU.woff2) format('woff2');
91  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
92  }
93  /* latin */
94  @font-face {
95  font-family: 'Raleway Medium';
96  font-display: swap;
97  font-style: normal;
98  font-weight: 500;
99  src: local('Raleway Medium'), local('Raleway-Medium'), url(https://fonts.gstatic.com/s/raleway/v11/CcKI4k9un7TZVWzRVT-T8wzyDMXhdD8sAj6OAJTFsBI.woff2) format('woff2');
100  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
101  }
102.secondary-font{
103font-family: 'Raleway Medium', sans-serif !important;
104}
105
106 body {
107  margin-top: 0;
108}
109body.nav-open{
110  overflow:hidden;
111}
112body.nav-open section{
113  position:relative;
114  z-index:0;
115}
116body.nav-open header.header-4 button.nav-slider{
117  position:fixed;
118}
119body.nav-open .header-backdrop{
120  display:block;
121  position:fixed;
122  top:0;
123  right:0;
124  bottom:0;
125  left:0;
126  z-index:1;
127  background:rgba(0,0,0,0.3);
128}
129header.header.header-4 nav .nav-full ul li:hover:after{
130  background-color: #ffffff;
131}
132dummy-header-class{
133  color: white;
134}
135header.header-4.sticky.scrolling-color{
136  background-color: #F40009 !important;
137}
138header.header-4.sticky.scrolling.scrolling-color{
139-webkit-transition: background-color 0.2s ease;
140-moz-transition: background-color 0.2s ease;
141-ms-transition: background-color 0.2s ease;
142-o-transition: background-color 0.2s ease;
143transition: background-color 0.2s ease;
144}
145  .header.header.header-4 nav .nav-full ul li.drop .dropdownContain{
146    background-color: transparent !important;
147  }
148  .header.header.header-4 nav .nav-full ul li.drop .dropdownContain .dropOut ul li{
149    background: rgba(244, 0, 9, 1) !important;
150  }
151
152#book-online .right #calendar-block ul li ol li div.slots a{
153  background: #F40009;
154}
155#book-online .right #calendar-block ul li ol li div.slots a:hover,
156#book-online .right #calendar-block ul li ol li div.slots a.checked{
157  background: #F40009;
158  opacity:0.75;
159}
160#book-online .right #calendar-block ul li ol li.scroller{
161  background: #002366;
162}
163#book-online .right #calendar-block ul li ol li.scroller:hover{
164  background: #002366;
165  opacity:0.75;
166}
167
168.a-bordercolor3 {
169  
170      border-color: #ffffff !important;
171   
172}
173.a-height150px {
174  
175    
176    height: 150px !important;
177   
178}
179.a-borderradius10pct {
180  
181    
182    border-radius: 10% !important;
183   
184}
185.a-borderwidth1px {
186  
187    
188    border-width: 1px !important;
189   
190}
191.a-backgroundcolor3 {
192  
193      background-color: #ffffff !important;
194   
195}
196.a-opacity1 {
197  
198    
199    opacity: 1 !important;
200   
201}
202.a-margin10px {
203  
204    
205    margin: 10px !important;
206   
207}
208.a-opacity2 {
209  
210    
211    opacity: .2 !important;
212   
213}
214.a-backgroundcolor2 {
215  
216      background-color: #424242 !important;
217   
218}
219.a-width50pct {
220  
221    
222    width: 50% !important;
223   
224}
225.a-left0pct {
226  
227    
228    left: 0% !important;
229   
230}
231.a-marginleft0pct {
232  
233    
234    margin-left: 0% !important;
235   
236}
237.a-paddingtop5pct {
238  
239    
240    padding-top: 5% !important;
241   
242}
243.a-paddingright5pct {
244  
245    
246    padding-right: 5% !important;
247   
248}
249.a-paddingbottom5pct {
250  
251    
252    padding-bottom: 5% !important;
253   
254}
255.a-paddingleft5pct {
256  
257    
258    padding-left: 5% !important;
259   
260}
261.a-color3 {
262  
263      color: #ffffff !important;
264   
265}
266.a-textaligncenter {
267  
268    
269    text-align: center !important;
270   
271}
272.a-fontsize37px {
273  
274    
275    font-size: 37px !important;
276   
277}
278.a-letterspacing0px {
279  
280    
281    letter-spacing: 0px !important;
282   
283}
284.a-texttransformnone {
285  
286    
287    text-transform: none !important;
288   
289}
290.a-textshadownone {
291  
292    
293    text-shadow: none !important;
294   
295}
296.a-fontsize21px {
297  
298    
299    font-size: 21px !important;
300   
301}
302.a-lineheight110pct {
303  
304    
305    line-height: 110% !important;
306   
307}
308.a-backgroundcolor1 {
309  
310      background-color: #002366 !important;
311   
312}
313.a-bordercolor1 {
314  
315      border-color: #002366 !important;
316   
317}
318.a-borderradius3px {
319  
320    
321    border-radius: 3px !important;
322   
323}
324.a-width164px {
325  
326    
327    width: 164px !important;
328   
329}
330.a-height46px {
331  
332    
333    height: 46px !important;
334   
335}
336.a-fontsize12px {
337  
338    
339    font-size: 12px !important;
340   
341}
342.a-margin4px {
343  
344    
345    margin: 4px !important;
346   
347}
348.a-texttransformuppercase {
349  
350    
351    text-transform: uppercase !important;
352   
353}
354.a-backgroundcolor0 {
355  
356      background-color: #F40009 !important;
357   
358}
359.a-bordercolor0 {
360  
361      border-color: #F40009 !important;
362   
363}
364.a-bordertopwidth0px {
365  
366    
367    border-top-width: 0px !important;
368   
369}
370.a-borderbottomwidth0px {
371  
372    
373    border-bottom-width: 0px !important;
374   
375}
376.a-borderradius0px {
377  
378    
379    border-radius: 0px !important;
380   
381}
382.a-maxwidth940px {
383  
384    
385    max-width: 940px !important;
386   
387}
388.a-paddingtop60px {
389  
390    
391    padding-top: 60px !important;
392   
393}
394.a-paddingbottom60px {
395  
396    
397    padding-bottom: 60px !important;
398   
399}
400.a-fontsize26px {
401  
402    
403    font-size: 26px !important;
404   
405}
406.a-fontsize22px {
407  
408    
409    font-size: 22px !important;
410   
411}
412.a-height56 {
413  
414    
415    height: 56 !important;
416   
417}
418.a-marginleft10 {
419  
420    
421    margin-left: 10 !important;
422   
423}
424.a-margintopmarginbottom10 {
425  
426      margin-top: 10 !important;
427    margin-bottom: 10 !important;
428   
429}
430.a-maxwidth1120 {
431  
432    
433    max-width: 1120 !important;
434   
435}
436.a-color0 {
437  
438      color: #F40009 !important;
439   
440}
441.a-opacity01 {
442  
443    
444    opacity: 0.1 !important;
445   
446}
447.a-paddingtop106px {
448  
449    
450    padding-top: 106px !important;
451   
452}
453.a-color2 {
454  
455      color: #424242 !important;
456   
457}
458.a-fontsize30px {
459  
460    
461    font-size: 30px !important;
462   
463}
464.a-bordercolor4 {
465  
466      border-color: transparent !important;
467   
468}
469.a-borderradius50pct {
470  
471    
472    border-radius: 50% !important;
473   
474}
475.a-height20px {
476  
477    
478    height: 20px !important;
479   
480}
481.a-marginright14px {
482  
483    
484    margin-right: 14px !important;
485   
486}
487.a-width20px {
488  
489    
490    width: 20px !important;
491   
492}
493.a-minheight100vh {
494  
495    
496    min-height: 100vh !important;
497   
498}
499.a-opacity04 {
500  
501    
502    opacity: 0.4 !important;
503   
504}
505.a-width100pct {
506  
507    
508    width: 100% !important;
509   
510}
511.a-fontsize50px {
512  
513    
514    font-size: 50px !important;
515   
516}
517.a-paddingbottom0pct {
518  
519    
520    padding-bottom: 0% !important;
521   
522}
523.a-paddingtop15pct {
524  
525    
526    padding-top: 15% !important;
527   
528}
529.a-backgroundcolor4 {
530  
531      background-color: transparent !important;
532   
533}
534.a-height56px {
535  
536    
537    height: 56px !important;
538   
539}
540.a-marginleft10px {
541  
542    
543    margin-left: 10px !important;
544   
545}
546.a-margintopmarginbottom10px {
547  
548      margin-top: 10px !important;
549    margin-bottom: 10px !important;
550   
551}
552
553  .location-address:after {    content: "212-861-1004"; visibility: visible; white-space: pre; line-height: 2;}
554
555section.seo-module {
556background-color: #fff !important;
557border-bottom: none!important;
558}
559
560
561section.seo-module h1{
562font-size: 30px !important;
563    font-family: 'Raleway Extra Bold', script !important;
564}
565
566section.seo-module h2{
567font-size: 15px !important;
568    font-family: 'Ralewyt Extra Bold', script !important;
569}
570
571section.slider.pinstripe {
572background-color: #fff !important;
573border-bottom: none!important;
574}
575
576section.meet {
577background-color: #fff !important;
578border-bottom: none!important;
579}
580
581section.services.pinstripe h3.service-title  {
582color: #F40009 !important;
583font-size: 40px !important;
584    font-family: 'Raleway Extra Bold', san-serif !important;
585}
586
587
588 div.service-tagline {
589color: #F40009 !important;
590font-size: 20px !important;
591    font-family: 'Raleway Extra Bold', san-serif !important;
592}
593
594Section.services.pinstripe {
595background-color: #fff !important;
596border-bottom: none!important;
597}
598
599
600section.providers {
601background-color: #F40009 !important;
602border-bottom: none!important;
603}
604
605section.providers h3.providers-title {
606color: #fff !important;
607font-size: 40px !important;
608    font-family: 'Raleway Extra Bold', script !important;
609border-bottom: none!important;
610}
611
612section.blog-articles {
613background-color: #fff !important;
614border-bottom: none!important;
615}
616
617section.contact.no_form {
618    background-color: #fff !important;
619}
620
621section.locations.pinstripe {
622background-color: #fff !important;
623border-bottom: none!important;
624}
625
626
627footer {
628 Background-color: #F40009 !important;
629}
630
631
632footer .nap {
633 color: #fff !important;
634}
635
636
637footer a:hover {
638color: #fff !important; 
639}
640
641
642footer .copy {
643color: #fff !important; 
644}
645
646.web-to-text-iframe {
647  background: transparent;
648  border: none;
649  bottom: 0;
650  height: 0;
651  position: fixed;
652  right: 0;
653  width: 0;
654  /* To not to overlap modals */
655  z-index: 1039;
656}
657.skip-main-content {
658  position: absolute;
659  width: 1px;
660  height: 1px;
661  margin: -1px;
662  padding: 0;
663  overflow: hidden;
664  clip: rect(0, 0, 0, 0);
665  white-space: nowrap;
666  border: 0;
667}
668.skip-main-content:focus { 
669  position: inherit;
670  width: auto;
671  height: auto;
672  margin: 0;
673  overflow: visible;
674  clip: auto;
675  white-space: normal;
676  padding: 6px;
677  font-size: 13px !important;
678}
679</style>
680    
681    
682    <style>
683          </style>
684    <!--[if lt IE 9]>
685      
685<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
685
686      
686<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
686
687      
687<script type="text/javascript" src="https://sa1co.patientpop.com/assets/old-browser-warning.js"></script>
687
688    <![endif]-->
689  </head>
690    <body class="ATOMIC">
691              
692
693          <!-- Google Tag Manager -->
vendor: 68 bytes, lines 693-694
693
694      <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
694GTM-5QRPS8R
vendor: 95 bytes, lines 694-696
694"
695      height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
696      
696<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
697      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
698      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.defer=true;j.src=
699      '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
700      })(window,document,'script','dataLayer','GTM-5QRPS8R');</script>
700
701      <!-- End Google Tag Manager -->
702    
703                <section class="eyebrow-two a-color3 a-backgroundcolor0">
704  <div class="inner">
705    <h3>  PLEASE NOTE: MEMBERSHIP IS RECOMMENDED! </h3>
706  </div>
707</section>
708                <header class="header header-4 a-backgroundcolor4 overlap   sticky ">
709  <div class="header-backdrop"></div>
710  <nav>
711    <div class="nav-toggle">
712      <div class="toggle-title a-color3">More</div>
713      <div class="toggle-icon" role="button" aria-label="Toggle navigation">
714        <span class="a-backgroundcolor3"></span>
715        <span class="a-backgroundcolor3"></span>
716        <span class="a-backgroundcolor3"></span>
717      </div>
718    </div>
719    <div class="navbar-info">
720      <div class="brand">
721        <a class="skip-main-content" href="#main-content">Skip to main content</a>
722                  <a href="/" class="logo" aria-label="Link to home page">
723                      </a>
724              </div>
725    </div>
726    <div class="nav-full">
727      <ul>
728        <li class="a-backgroundcolor4">
729        <a id="home" href="/" class="clickable" target="_self">
730          <span class=" a-color3">Home</span>
731        </a>
732      </li>
733                  <li class="a-backgroundcolor4">
734        <a id="about-the-practice" href="/contents/about-the-practice" class="clickable" target="">
735          <span class=" a-color3">About Dr. Osher</span>
736        </a>
737      </li>
738                    <li class="drop">
739        <a id="services" href="/services"  class="clickable" target="_self">
740          <span class=" a-color3">Services</span>
741        </a>
742        <i tabindex="0" aria-label="Collapse submenu" role="button" id="drop-minus-335858-top" class="fa fa-minus a-color3" data-partner="#drop-plus-335858-top" data-drop=".dropdownContain"></i>
743        <i tabindex="0" aria-label="Expand submenu" role="button" id="drop-plus-335858-top" class="fa fa-plus active a-color3" data-partner="#drop-minus-335858-top" data-drop=".dropdownContain"></i>
744        <div class="dropdownContain a-backgroundcolor0" style="display: none">
745          <div class="dropOut">
746            <ul>
747                                                                              <li class="sideNav a-backgroundcolor0">
748                    <a href="/services/concierge-medicine" class=" child-link clickable" id="Services_Concierge Medicine-top" target="_self">
749                      <span class=" a-color3">Concierge Medicine</span>
750                    </a>
751                  </li>
752                                                                                <li class="sideNav a-backgroundcolor0">
753                    <a href="/services/hypertension" class=" child-link clickable" id="Services_Hypertension-top" target="_self">
754                      <span class=" a-color3">Hypertension</span>
755                    </a>
756                  </li>
757                                                                                <li class="sideNav a-backgroundcolor0">
758                    <a href="/services/palpitations" class=" child-link clickable" id="Services_Palpitations-top" target="_self">
759                      <span class=" a-color3">Palpitations</span>
760                    </a>
761                  </li>
762                                                                                <li class="sideNav a-backgroundcolor0">
763                    <a href="/services/physical-exam" class=" child-link clickable" id="Services_Physical Exam-top" target="_self">
764                      <span class=" a-color3">Physical Exam</span>
765                    </a>
766                  </li>
767                                                                                <li class="sideNav a-backgroundcolor0">
768                    <a href="/services/coronary-artery-disease" class=" child-link clickable" id="Services_Coronary Artery Disease-top" target="_self">
769                      <span class=" a-color3">Coronary Artery Disease</span>
770                    </a>
771                  </li>
772                                                                                <li class="sideNav a-backgroundcolor0">
773                    <a href="/services/cardiac-evaluations" class=" child-link clickable" id="Services_Cardiac Evaluations-top" target="_self">
774                      <span class=" a-color3">Cardiac Evaluations</span>
775                    </a>
776                  </li>
777                                                                                <li class="sideNav a-backgroundcolor0">
778                    <a href="/services/wellness" class=" child-link clickable" id="Services_Wellness-top" target="_self">
779                      <span class=" a-color3">Wellness</span>
780                    </a>
781                  </li>
782                                                                                <li class="sideNav a-backgroundcolor0">
783                    <a href="/services/individualized-exercise-programs" class=" child-link clickable" id="Services_Individualized Exercise Programs-top" target="_self">
784                      <span class=" a-color3">Individualized Exercise Programs</span>
785                    </a>
786                  </li>
787                                                        </ul>
788          </div>
789        </div>
790      </li>
791                  <li class="a-backgroundcolor4">
792        <a id="become-a-member" href="https://pra-njnsxxr6zuqo.hint.com/signup" class="clickable" target="_blank">
793          <span class=" a-color3">Become A Member</span>
794        </a>
795      </li>
796                  <li class="a-backgroundcolor4">
797        <a id="conciergemedicine" href="https://ccphp.net/osher/" class="clickable" target="_blank">
798          <span class=" a-color3">Concierge Medicine</span>
799        </a>
800      </li>
801                  <li class="a-backgroundcolor4">
802        <a id="blog" href="/blog" class="clickable" target="_self">
803          <span class=" a-color3">Blog</span>
804        </a>
805      </li>
806                  <li class="drop">
807        <a id="testimonials" href="/testimonials"  class="clickable" target="_self">
808          <span class=" a-color3">Testimonials</span>
809        </a>
810        <i tabindex="0" aria-label="Collapse submenu" role="button" id="drop-minus-335862-top" class="fa fa-minus a-color3" data-partner="#drop-plus-335862-top" data-drop=".dropdownContain"></i>
811        <i tabindex="0" aria-label="Expand submenu" role="button" id="drop-plus-335862-top" class="fa fa-plus active a-color3" data-partner="#drop-minus-335862-top" data-drop=".dropdownContain"></i>
812        <div class="dropdownContain a-backgroundcolor0" style="display: none">
813          <div class="dropOut">
814            <ul>
815                                                                              <li class="sideNav a-backgroundcolor0">
816                    <a href="https://reviews.rater8.com/doctor/dr-annette-osher-md-6ffbbad1" class=" child-link clickable" id="Testimonials_More Testimonials-top" target="_blank">
817                      <span class=" a-color3">More Testimonials</span>
818                    </a>
819                  </li>
820                                                        </ul>
821          </div>
822        </div>
823      </li>
824                  <li class="a-backgroundcolor4">
825        <a id="contact" href="/contactus" class="clickable" target="_self">
826          <span class=" a-color3">Contact</span>
827        </a>
828      </li>
829              <li class="cta-container">
830      <a href="tel:9177252311" class="header-cta cta-call-us cta a-backgroundcolor4 a-color3 a-bordercolor3">
831        <span class="mm-phone-number">917-725-2311</span>
832      </a>
833    </li>
834  
835
836  <li class="cta-container">
837    <a href="javascript:void(0);" role="button" tabindex="0" class="header-cta cta-book-online ppop_bookonline_action cta a-backgroundcolor4 a-color3 a-bordercolor3" data-practiceid="21148"  data-locationid="26091" >
838      <span>NEW PATIENTS: BECOME A MEMBER</span>
839    </a>
840  </li>
841
842      </ul>
843    </div>
844    <div class="nav-optimal a-backgroundcolor0">
845      <ul>
846        <li class="a-backgroundcolor0">
847        <a id="home" href="/" class="clickable" target="_self">
848          <span class=" a-color3">Home</span>
849        </a>
850      </li>
851                  <li class="a-backgroundcolor0">
852        <a id="about-the-practice" href="/contents/about-the-practice" class="clickable" target="">
853          <span class=" a-color3">About Dr. Osher</span>
854        </a>
855      </li>
856                    <li class="drop">
857        <a id="services" href="/services"  class="clickable" target="_self">
858          <span class=" a-color3">Services</span>
859        </a>
860        <i tabindex="0" aria-label="Collapse submenu" role="button" id="drop-minus-335858-side" class="fa fa-minus a-color3" data-partner="#drop-plus-335858-side" data-drop=".dropdownContain"></i>
861        <i tabindex="0" aria-label="Expand submenu" role="button" id="drop-plus-335858-side" class="fa fa-plus active a-color3" data-partner="#drop-minus-335858-side" data-drop=".dropdownContain"></i>
862        <div class="dropdownContain a-backgroundcolor0" style="display: none">
863          <div class="dropOut">
864            <ul>
865                                                                              <li class="sideNav a-backgroundcolor0">
866                    <a href="/services/concierge-medicine" class=" child-link clickable" id="Services_Concierge Medicine-side" target="_self">
867                      <span class=" a-color3">Concierge Medicine</span>
868                    </a>
869                  </li>
870                                                                                <li class="sideNav a-backgroundcolor0">
871                    <a href="/services/hypertension" class=" child-link clickable" id="Services_Hypertension-side" target="_self">
872                      <span class=" a-color3">Hypertension</span>
873                    </a>
874                  </li>
875                                                                                <li class="sideNav a-backgroundcolor0">
876                    <a href="/services/palpitations" class=" child-link clickable" id="Services_Palpitations-side" target="_self">
877                      <span class=" a-color3">Palpitations</span>
878                    </a>
879                  </li>
880                                                                                <li class="sideNav a-backgroundcolor0">
881                    <a href="/services/physical-exam" class=" child-link clickable" id="Services_Physical Exam-side" target="_self">
882                      <span class=" a-color3">Physical Exam</span>
883                    </a>
884                  </li>
885                                                                                <li class="sideNav a-backgroundcolor0">
886                    <a href="/services/coronary-artery-disease" class=" child-link clickable" id="Services_Coronary Artery Disease-side" target="_self">
887                      <span class=" a-color3">Coronary Artery Disease</span>
888                    </a>
889                  </li>
890                                                                                <li class="sideNav a-backgroundcolor0">
891                    <a href="/services/cardiac-evaluations" class=" child-link clickable" id="Services_Cardiac Evaluations-side" target="_self">
892                      <span class=" a-color3">Cardiac Evaluations</span>
893                    </a>
894                  </li>
895                                                                                <li class="sideNav a-backgroundcolor0">
896                    <a href="/services/wellness" class=" child-link clickable" id="Services_Wellness-side" target="_self">
897                      <span class=" a-color3">Wellness</span>
898                    </a>
899                  </li>
900                                                                                <li class="sideNav a-backgroundcolor0">
901                    <a href="/services/individualized-exercise-programs" class=" child-link clickable" id="Services_Individualized Exercise Programs-side" target="_self">
902                      <span class=" a-color3">Individualized Exercise Programs</span>
903                    </a>
904                  </li>
905                                                        </ul>
906          </div>
907        </div>
908      </li>
909                  <li class="a-backgroundcolor0">
910        <a id="become-a-member" href="https://pra-njnsxxr6zuqo.hint.com/signup" class="clickable" target="_blank">
911          <span class=" a-color3">Become A Member</span>
912        </a>
913      </li>
914                  <li class="a-backgroundcolor0">
915        <a id="conciergemedicine" href="https://ccphp.net/osher/" class="clickable" target="_blank">
916          <span class=" a-color3">Concierge Medicine</span>
917        </a>
918      </li>
919                  <li class="a-backgroundcolor0">
920        <a id="blog" href="/blog" class="clickable" target="_self">
921          <span class=" a-color3">Blog</span>
922        </a>
923      </li>
924                  <li class="drop">
925        <a id="testimonials" href="/testimonials"  class="clickable" target="_self">
926          <span class=" a-color3">Testimonials</span>
927        </a>
928        <i tabindex="0" aria-label="Collapse submenu" role="button" id="drop-minus-335862-side" class="fa fa-minus a-color3" data-partner="#drop-plus-335862-side" data-drop=".dropdownContain"></i>
929        <i tabindex="0" aria-label="Expand submenu" role="button" id="drop-plus-335862-side" class="fa fa-plus active a-color3" data-partner="#drop-minus-335862-side" data-drop=".dropdownContain"></i>
930        <div class="dropdownContain a-backgroundcolor0" style="display: none">
931          <div class="dropOut">
932            <ul>
933                                                                              <li class="sideNav a-backgroundcolor0">
934                    <a href="https://reviews.rater8.com/doctor/dr-annette-osher-md-6ffbbad1" class=" child-link clickable" id="Testimonials_More Testimonials-side" target="_blank">
935                      <span class=" a-color3">More Testimonials</span>
936                    </a>
937                  </li>
938                                                        </ul>
939          </div>
940        </div>
941      </li>
942                  <li class="a-backgroundcolor0">
943        <a id="contact" href="/contactus" class="clickable" target="_self">
944          <span class=" a-color3">Contact</span>
945        </a>
946      </li>
947              <li class="cta-container">
948      <a href="tel:9177252311" class="header-cta cta-call-us cta a-backgroundcolor4 a-color3 a-bordercolor3">
949        <span class="mm-phone-number">917-725-2311</span>
950      </a>
951    </li>
952  
953
954  <li class="cta-container">
955    <a href="javascript:void(0);" role="button" tabindex="0" class="header-cta cta-book-online ppop_bookonline_action cta a-backgroundcolor4 a-color3 a-bordercolor3" data-practiceid="21148"  data-locationid="26091" >
956      <span>NEW PATIENTS: BECOME A MEMBER</span>
957    </a>
958  </li>
959
960      </ul>
961    </div>
962    <div class="nav-measurer"></div>
963  </nav>
964</header>
965
966
967                                                        <main id="main-content">
968                                                                                              <section class="herosub herosub-1 a-backgroundcolor1">
969    <div class="hero " >
970    <div id="hero-cloak" 
971         class="cloak a-backgroundcolor2
972                a-opacity01"></div>
973    <div id="hero-titles" 
974         class="hero-titles a-maxwidth940px
975                a-paddingtop106px
976                a-paddingbottom60px">
977      <div id="hero-titles-inner" class="hero-titles-inner">
978        <h1 class="main-text 
979                    primary-font                              no-text-shadow
980                                      a-fontsize26px
981                   a-textaligncenter
982                   a-color3"
983            id="sub-primary-title">About Services</h1>
984              </div>
985    </div>
986  </div>
987</section>
988                                          <section class="service-header">
989    <div class="row">
990      <div id="social-crumb">
991        <div class="breadcrumb">
992                                  <a href="/">Annette  Osher, MD</a> <i class="fa fa-angle-right"></i>
993                    <a href="/services">Our Services</a>
994        </div>
995      </div>
996    </div>
997  </section>
998                                                    <section class="services pinstripe">
999    <div class="row">
1000      <div class="span12">
1001        <div class="service-tagline"> What we offer </div>
1002        <h3 class="service-title"> Services </h3>
1003
1004      
1005                                                                                                                                                                                                                                                                              <div class="service-block  with-thumbs ">
1006          <ul class="grid8">
1007                    <li class="service">
1008                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2209932.jpg" alt=""/></div>
1009                        <a href="/services/concierge-medicine">
1010              <div class="service-border primary-border"></div>
1011              <div class="service-info">
1012                <div class="service-name">Concierge Medicine<i class="fa fa-angle-right fa-2x "></i></div>
1013                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1014              </div>
1015           </a>
1016          </li>
1017                    <li class="service">
1018                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215334.jpg" alt=""/></div>
1019                        <a href="/services/hypertension">
1020              <div class="service-border primary-border"></div>
1021              <div class="service-info">
1022                <div class="service-name">Hypertension<i class="fa fa-angle-right fa-2x "></i></div>
1023                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1024              </div>
1025           </a>
1026          </li>
1027                    <li class="service">
1028                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215337.png" alt=""/></div>
1029                        <a href="/services/palpitations">
1030              <div class="service-border primary-border"></div>
1031              <div class="service-info">
1032                <div class="service-name">Palpitations<i class="fa fa-angle-right fa-2x "></i></div>
1033                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1034              </div>
1035           </a>
1036          </li>
1037                    <li class="service">
1038                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215329.jpg" alt=""/></div>
1039                        <a href="/services/physical-exam">
1040              <div class="service-border primary-border"></div>
1041              <div class="service-info">
1042                <div class="service-name">Physical Exam<i class="fa fa-angle-right fa-2x "></i></div>
1043                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1044              </div>
1045           </a>
1046          </li>
1047                    <li class="service">
1048                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215331.jpg" alt=""/></div>
1049                        <a href="/services/coronary-artery-disease">
1050              <div class="service-border primary-border"></div>
1051              <div class="service-info">
1052                <div class="service-name">Coronary Artery Disease<i class="fa fa-angle-right fa-2x "></i></div>
1053                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1054              </div>
1055           </a>
1056          </li>
1057                    <li class="service">
1058                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215338.jpg" alt=""/></div>
1059                        <a href="/services/cardiac-evaluations">
1060              <div class="service-border primary-border"></div>
1061              <div class="service-info">
1062                <div class="service-name">Cardiac Evaluations<i class="fa fa-angle-right fa-2x "></i></div>
1063                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1064              </div>
1065           </a>
1066          </li>
1067                    <li class="service">
1068                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215335.jpg" alt=""/></div>
1069                        <a href="/services/wellness">
1070              <div class="service-border primary-border"></div>
1071              <div class="service-info">
1072                <div class="service-name">Wellness<i class="fa fa-angle-right fa-2x "></i></div>
1073                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1074              </div>
1075           </a>
1076          </li>
1077                    <li class="service">
1078                          <div class="service-bg"><img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/231x200/assets/images/provider/photos/2215333.png" alt=""/></div>
1079                        <a href="/services/individualized-exercise-programs">
1080              <div class="service-border primary-border"></div>
1081              <div class="service-info">
1082                <div class="service-name">Individualized Exercise Programs<i class="fa fa-angle-right fa-2x "></i></div>
1083                <div class="service-more ">more info<i class="fa fa-chevron-circle-right "></i></div>
1084              </div>
1085           </a>
1086          </li>
1087                  </div>
1088            <div id="service-list">&nbsp;</div>
1089    
1090      </div>
1091    </div>
1092  </section>
1093                                                    <section class="testimonials pinstripe with_image_background">
1094          <div class="row light">
1095      <div class="span12">
1096        <div about="0" typeof='{"type":"MODULE", "secondary_type": "TESTIMONIAL", "type_id": null, "fieldname": "title"}'>
1097          <div class="testimonials-tagline" property='fieldtext'>Testimonials</div>
1098        </div>
1099        <div about="0" typeof='{"type":"MODULE", "secondary_type": "TESTIMONIAL", "type_id": null, "fieldname": "words-from-our-patients"}'>
1100          <h3 class="testimonials-title" property='fieldtext'>Words from our patients</h3>
1101        </div>
1102        <div id="testimonial-slider" class="flexslider" tabindex="0" role="region" aria-roledescription="carousel">
1103          <ul class="slides">
1104                  <li role="group" aria-roledescription="slide">
1105              <div class="slider-content ">
1106                        <img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://sa1s3optim.patientpop.com/assets/images/provider/photos/1793746.png" width="134" height="124" alt="Google">
1107                        <p>"Everything went very smoothly, she addressed all of my questions and gave very good medical advice...  I will definitely continue seeing this physician."</p>
1108                <div class="testimonial-author">Samantha L.</div>
1109              </div>
1110            </li>
1111                  <li role="group" aria-roledescription="slide">
1112              <div class="slider-content ">
1113                        <div class="spacer"></div>
1114                        <p>"Dr. Osher is a caring doctor who treats the whole individual. She is knowledgeable and experienced and a pleasure to see. I would recommend her to anybody."</p>
1115                <div class="testimonial-author">Ellen B.</div>
1116              </div>
1117            </li>
1118                  <li role="group" aria-roledescription="slide">
1119              <div class="slider-content ">
1120                        <div class="spacer"></div>
1121                        <p>"Dr. Osher answered my call to her immediately and was able to prescribe the appropriate medication to relieve my problem."</p>
1122                <div class="testimonial-author">Ruth L.</div>
1123              </div>
1124            </li>
1125                </ul>
1126        </div>
1127      </div>
1128    </div>
1129  </section>
1130                                                    <section class="contact pinstripe no_form">
1131    <div class="row">
1132    <div class="span4 left">
1133      <div about="0" typeof='{"type":"MODULE", "secondary_type": "CONTACT", "type_id": 26091, "fieldname": "location"}'>
1134        <h2 class="contact-header primary-fg" property="fieldtext">Location</h2>
1135      </div>
1136      <address>
1137        <span property="name">Annette Osher, MD</span><br/>
1138        <span>
1139          1001 5th Avenue, 1N            <br/>Upper East Side
1140          </span><br/>
1141        <span property="addressLocality">New York</span>, <span>NY</span> <span>10028</span><br/>
1142        Phone: <span property="telephone" class="mm-phone-number">917-725-2311</span>
1143        </address>
1144    </div>
1145    <div class="span4 middle">
1146      <div about="0" typeof='{"type":"MODULE", "secondary_type": "CONTACT", "type_id": 26091, "fieldname": "office-hours"}'>
1147        <h2 class="contact-header primary-fg" property="fieldtext">Office Hours</h2>
1148      </div>
1149      <p>
1150        <label>Monday
1151    <span aria-hidden="true">
1152                        9:00 am
1153                      - 5:00 pm
1154                            </span>
1155    <span class="hidden-open-hours">
1156                            9:00 am
1157                        to 5:00 pm
1158                                  </span>
1159  </label>
1160  <label>Tuesday
1161    <span aria-hidden="true">
1162                        9:00 am
1163                      - 5:00 pm
1164                            </span>
1165    <span class="hidden-open-hours">
1166                            9:00 am
1167                        to 5:00 pm
1168                                  </span>
1169  </label>
1170  <label>Wednesday
1171    <span aria-hidden="true">
1172                        9:00 am
1173                      - 5:00 pm
1174                            </span>
1175    <span class="hidden-open-hours">
1176                            9:00 am
1177                        to 5:00 pm
1178                                  </span>
1179  </label>
1180  <label>Thursday
1181    <span aria-hidden="true">
1182                        9:00 am
1183                      - 5:00 pm
1184                            </span>
1185    <span class="hidden-open-hours">
1186                            9:00 am
1187                        to 5:00 pm
1188                                  </span>
1189  </label>
1190  <label>Friday
1191    <span aria-hidden="true">
1192                        9:00 am
1193                      - 5:00 pm
1194                            </span>
1195    <span class="hidden-open-hours">
1196                            9:00 am
1197                        to 5:00 pm
1198                                  </span>
1199  </label>
1200  <label>Saturday
1201    <span aria-hidden="true">
1202                        Closed
1203                  </span>
1204    <span class="hidden-open-hours">
1205                            Closed
1206                      </span>
1207  </label>
1208  <label>Sunday
1209    <span aria-hidden="true">
1210                        Closed
1211                  </span>
1212    <span class="hidden-open-hours">
1213                            Closed
1214                      </span>
1215  </label>
1216      </p>
1217    </div>
1218    <div class="span4 right">
1219      <div about="0" typeof='{"type":"MODULE", "secondary_type": "CONTACT", "type_id": 26091, "fieldname": "get-in-touch"}'>
1220        <h2 class="contact-header primary-fg" property="fieldtext">Get in touch</h2>
1221      </div>
1222      <p>
1223        <a href="tel:9177252311" aria-label="Phone number" class="btn-call primary-border primary-fg">
1224          <i class="fa fa-phone"></i><span class="mm-phone-number">917-725-2311</span>
1225        </a>
1226                  <button type="button" class="btn-book-online ppop_bookonline_action small primary-bg primary-btn" data-locationid="26091">
1227            NEW PATIENTS: BECOME A MEMBER
1228          </button>
1229              </p>
1230    </div>
1231  </div>
1232  </section>                                                                                                                                      
1232<script type="application/ld+json">
1233    {"@context":"http:\/\/schema.org","@type":"Physician","@id":"http:\/\/www.oshermd.com\/d66dc95455641ac5440e6e537b5317af432ae43c","url":"http:\/\/www.oshermd.com","brand":{"name":[]},"name":["Annette  Osher, MD"],"image":"https:\/\/sa1s3optim.patientpop.com\/assets\/images\/provider\/photos\/2209950.jpg","potentialAction":{"@type":"ReserveAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.oshermd.com\/schedule?utm_medium=markup","inLanguage":"en-US","actionPlatform":["http:\/\/schema.org\/DesktopWebPlatform","http:\/\/schema.org\/IOSPlatform","http:\/\/schema.org\/AndroidPlatform"]},"result":{"@type":"Reservation","name":"NEW PATIENTS: BECOME A MEMBER"}},"telephone":"+1 917-725-2311","contactPoint":[{"@type":"ContactPoint","telephone":"+1 917-725-2311","contactType":"reservations"},{"@type":"ContactPoint","telephone":"+1 212-861-6161","contactType":"customer service"}],"address":{"@type":"PostalAddress","streetAddress":"1001 5th Avenue 1N","addressLocality":"New York","addressRegion":"NY","postalCode":"10028","addressCountry":"USA"}}
1234</script>
1234
1235                        </main>
1236                                                      <footer>
1237  <div class="row">
1238    <div class="span12">
1239      <ul>
1240        <li>
1241                                    <div class="copy"><p>&copy; Copyright 2026 <a style="color:inherit;" href="https://www.tebra.com/marketing/practice-websites/">Tebra Inc</a>.</p></div>
1242                              </li>
1243        <li>
1244          <a href="https://www.oshermd.com/your-privacy" rel="nofollow" >Privacy Policy</a>
1245        </li>
1246        <li>
1247          <a href="https://www.oshermd.com/our-terms" rel="nofollow" >Terms &amp; Conditions</a>
1248        </li>
1249                  <li><a href="https://www.oshermd.com/accessibility-statement" rel="nofollow" id="footer-link-accessibility-notice">Accessibility Notice</a></li>
1250          <li><a href="https://www.oshermd.com/contactus">Contact Us</a></li>
1251      </ul>
1252    </div>
1253
1254                  <div class="span12">
1255          <div class="nap">
1256            <div class="fn org"> Annette  Osher, MD, New York, NY</div>
1257            Phone (appointments): <span class="tel mm-phone-number" content="9177252311">917-725-2311</span>
1258                          <span class="divider">|</span>
1259              Phone (general inquiries): 212-861-6161
1260                        <div class="adr">
1261              Address: <span class="street-address">1001 5th Avenue, 1N, </span>
1262              <span class="locality">New York</span>, <span class="region">NY</span> <span>10028</span>
1263            </div>
1264          </div>
1265        </div>
1266              <div class="span12">
1267      <section class="aggregate-ratings">
1268  <ul role="presentation">
1269    <li role="presentation">
1270      <div class="average">
1271        5<sup><span>/</span>5</sup>
1272      </div>
1273    </li>
1274    <li role="presentation">
1275      <div class="star-rating">
1276        <div class="top" style="width:100.00%">
1277          <div class="hidden-aggregate-rating">5/5 Star Rating</div>
1278          <i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i>
1279        </div>
1280        <div class="bottom">
1281          <i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i><i title="Star Rating" role="img" class="fa fa-star"></i>
1282        </div>
1283      </div>
1284      <div class="total-aggregate-reviews">(15  reviews) </div>
1285    </li>
1286  </ul>
1287</section>
1288    </div>
1289      
1290      <div class="span12 powered-by"><p>Medical website powered by <a style="color:inherit;" href="https://www.tebra.com/marketing/practice-websites/">Tebra</a></p></div>
1291      </div>
1292</footer>
1293                                
1293<script type="application/ld+json">
1294    {"@context":"http:\/\/schema.org","@type":"Physician","@id":"http:\/\/www.oshermd.com\/d66dc95455641ac5440e6e537b5317af432ae43c","url":"http:\/\/www.oshermd.com","brand":{"name":[]},"name":["Annette  Osher, MD"],"image":"https:\/\/sa1s3optim.patientpop.com\/assets\/images\/provider\/photos\/2209950.jpg","potentialAction":{"@type":"ReserveAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.oshermd.com\/schedule?utm_medium=markup","inLanguage":"en-US","actionPlatform":["http:\/\/schema.org\/DesktopWebPlatform","http:\/\/schema.org\/IOSPlatform","http:\/\/schema.org\/AndroidPlatform"]},"result":{"@type":"Reservation","name":"NEW PATIENTS: BECOME A MEMBER"}},"telephone":"+1 917-725-2311","contactPoint":[{"@type":"ContactPoint","telephone":"+1 917-725-2311","contactType":"reservations"},{"@type":"ContactPoint","telephone":"+1 212-861-6161","contactType":"customer service"}],"address":{"@type":"PostalAddress","streetAddress":"1001 5th Avenue 1N","addressLocality":"New York","addressRegion":"NY","postalCode":"10028","addressCountry":"USA"}}
1295</script>
1295
1296      
1297    <div class="yt-player">
1298      <div class="inner">
1299        <button type="button" class="close-yt-player" aria-label="Close video">&times;</button>
1300        <iframe title="Video container" aria-label="Video container" width="680" height="377" src="" allowFullScreen mozallowfullscreen webkitAllowFullScreen></iframe>
1301      </div>
1302    </div>
1303
1304    
1304<script>
1305      var recaptcha_public_key = '6Lf-Vs4qAAAAANLS4SUm8FQ4bNRnHyhfes-bsXz2';
1306    </script>
1306
1307
1308         
1308<script type="text/javascript" src="https://www.oshermd.com/js/practice.application.js" async defer></script>
1308
1309     
1310     
1311    
1311<script>
1312      function loadScript(src, globalVar) {
1313        if (src) {
1314          if (globalVar) {
1315            window[globalVar] = {'d': 1 * new Date()};
1316          }
1317          const script = document.createElement('script');
1318          script.async = true;
1319          script.defer = true;
1320          script.src = src;
1321          document.getElementsByTagName('script')[0].parentNode.insertBefore(script, document.getElementsByTagName('script')[0]);
1322        }
1323      }
1324
1325      window.onload = function () {
1326          pop.header4 = (function(){
1327  var nav = {
1328    navCount : 0,
1329    navLogoImgWidth: 0,
1330    totalVisibleWidth: 0,
1331    toggleNav : function(){
1332      $('.nav-toggle').toggleClass('expanded');
1333      $('body').toggleClass('nav-open');
1334      $('.nav-optimal').toggleClass('expanded');
1335    },
1336    calculateVisible : function(){
1337      var growingWidth = 0;
1338      for(var i=0; i < nav.navCount; i++){
1339        growingWidth += $('.nav-measurer > ul > li').eq(i).outerWidth() + 1; // outerWidth seems to do a math.floor on decimals
1340        if(growingWidth < nav.totalVisibleWidth){
1341          $('.nav-full > ul > li').eq(i).show();
1342        }
1343      }
1344    },
1345    checkBucket : _.debounce(function(){
1346      if($('.nav-full > ul > li:visible').length == nav.navCount){
1347        $('.nav-full').removeClass('hiding');
1348        $('.nav-toggle').hide();
1349      }else{
1350        $('.nav-toggle').show();
1351        $('.nav-full').addClass('hiding');
1352      }
1353
1354      var imgElement = $('nav a.logo img');
1355      if(imgElement.length) {
1356        nav.navLogoImgWidth = imgElement.outerWidth(true);
1357      }
1358
1359      if($('.nav-full').outerWidth() >= ($('nav').outerWidth() - nav.navLogoImgWidth) && $('.nav-full > ul > li:visible').length){
1360        $('.nav-full > ul > li:visible:last').hide();
1361        nav.checkBucket();
1362      }else if(($('.nav-full').outerWidth() + $('.nav-measurer > ul > li').eq($('.nav-full > ul > li:visible').length).outerWidth()) < ($('nav').outerWidth() - nav.navLogoImgWidth)){
1363        if($('.nav-full > ul > li').eq($('.nav-full > ul > li:visible').length)){
1364          $('.nav-full > ul > li').eq($('.nav-full > ul > li:visible').length).show(10, function(){
1365            if($('.nav-full > ul > li').eq($('.nav-full > ul > li:visible').length + 1)){
1366              nav.checkBucket();
1367            }
1368          });
1369        }
1370      }
1371    }, 2),
1372    init : function(){
1373      nav.navCount = $('.nav-full > ul > li').length;
1374      nav.totalVisibleWidth = $('nav').outerWidth() - 20;
1375      var imgElement = $('nav a.logo img');
1376      if(imgElement.length) {
1377        nav.navLogoImgWidth = imgElement.outerWidth(true);
1378        nav.totalVisibleWidth -= nav.navLogoImgWidth;
1379      }
1380      $('.nav-full > ul').clone().appendTo('.nav-measurer');
1381      $('.nav-measurer i').removeAttr('id');
1382      $('.nav-measurer a').removeAttr('id');
1383      $('.nav-toggle').click(nav.toggleNav);
1384      $('.nav-optimal a.nav-item').click(function(){
1385        $('.nav-toggle').click();
1386      });
1387      $('.header-backdrop').click(function(){
1388        $('.nav-toggle').click();
1389      });
1390      nav.calculateVisible();
1391      nav.checkBucket();
1392      $(window).on('resize orientationChange', function(event) {
1393        nav.checkBucket();
1394      });
1395
1396      $('header.header-4 nav .nav-full ul li').on('mouseenter mouseleave', function (e) {
1397        var $elm=null;
1398
1399        if ($('.dropdownContain', this).length) {
1400          $elm = $('.dropdownContain:first', this);
1401        }else if($('.sideNavContain', this).length){
1402          $elm = $('.sideNavContain:first', this);
1403        }
1404
1405        if ($elm) {
1406          var off = $elm.offset();
1407          var l = off.left;
1408          var w = $elm.width();
1409          var docW = $('.header-4').outerWidth();
1410          var isEntirelyVisible = (l + w <= docW);
1411
1412          if (!isEntirelyVisible) {
1413            $(this).addClass('edge');
1414          } else {
1415            $(this).removeClass('edge');
1416          }
1417        }
1418      });
1419
1420    }
1421  };
1422
1423  return{
1424    init : nav.init
1425  };
1426
1427}());
1428
1429pop.header4.init();
1430
1431var eyebrowTwo = {
1432  checkMotions: function(){
1433    if($('header').hasClass('overlap')) {
1434      var $langBar = $('.language-bar');
1435      var combinedHeight = $('.eyebrow-two').height() + ($langBar.length ? $langBar.height() : 0);
1436      if($langBar.length){
1437        if ($('.eyebrow-two').elementVisible(true) && !$('header').hasClass('scrolling')) {
1438          $('header').css('margin-top', combinedHeight + 'px');
1439        }else{
1440          $('header').css('margin-top','0');
1441        }
1442      }else{
1443        if ($('.eyebrow-two').elementVisible(true)) {
1444          $('header').css('margin-top', combinedHeight + 'px');
1445        }else{
1446          $('header').css('margin-top','0');
1447        }
1448      }
1449    }
1450  },
1451  debounce: function(func, wait, immediate) {
1452    var timeout;
1453    return function() {
1454      var context = this, args = arguments;
1455      var later = function() {
1456        timeout = null;
1457        if (!immediate) func.apply(context, args);
1458      };
1459      var callNow = immediate && !timeout;
1460      clearTimeout(timeout);
1461      timeout = setTimeout(later, wait);
1462      if (callNow) func.apply(context, args);
1463    };
1464  },
1465  init: function(){
1466    eyebrowTwo.checkMotions();
1467    $(window).scroll(eyebrowTwo.debounce(eyebrowTwo.checkMotions, 10));
1468    $(window).resize(eyebrowTwo.debounce(eyebrowTwo.checkMotions, 10));
1469  }
1470};
1471$( document ).ready(function() {
1472  if($('.eyebrow-two').length) {
1473    eyebrowTwo.init();
1474  }
1475});
1476
1477  var stickyNav = {
1478  headerOffset: $('header').offset().top,
1479  checkStickiness: function(){
1480    if ($(document).scrollTop() >= stickyNav.headerOffset) {
1481      $('header').addClass('scrolling');
1482              if(!$('header').hasClass('overlap')){
1483          $('body').css({'padding-top': $('header').outerHeight() + 'px'});
1484        }
1485          } else {
1486      $('header').removeClass('scrolling');
1487      $('body').css({'padding-top': '0'});
1488    }
1489    if ($(document).scrollTop() >= $('header').height()) {
1490      $('header').addClass('scrolling-color');
1491    }else{
1492      $('header').removeClass('scrolling-color');
1493    }
1494  },
1495  debounce: function(func, wait, immediate) {
1496    var timeout;
1497    return function() {
1498      var context = this, args = arguments;
1499      var later = function() {
1500        timeout = null;
1501        if (!immediate) func.apply(context, args);
1502      };
1503      var callNow = immediate && !timeout;
1504      clearTimeout(timeout);
1505      timeout = setTimeout(later, wait);
1506      if (callNow) func.apply(context, args);
1507    };
1508  },
1509  init: function(){
1510    stickyNav.checkStickiness();
1511    $(window).scroll(stickyNav.debounce(stickyNav.checkStickiness, 10));
1512    $(window).resize(stickyNav.debounce(stickyNav.checkStickiness, 10));
1513  }
1514};
1515stickyNav.init();
1516
1517        
1518        // JS Hero 2
1519
1520//console.warn('TODO: Move $.animateTransform to main library');
1521(function($){
1522  $.fn.animateTransform = function(/* [start,] end [, duration] [, callback] */){
1523    var start = null, end = null, duration = 400, callback = function(){};
1524    for(var i=0; i<arguments.length; i++){
1525      if(typeof(arguments[i]) == 'string'){
1526        if(!start) start = arguments[i];
1527        else end = arguments[i];
1528      } else if(typeof(arguments[i]) == 'number'){
1529        duration = arguments[i];
1530      } else if(typeof(arguments[i]) == 'function'){
1531        callback = arguments[i];
1532      }
1533    }
1534    if(start && !end){
1535      end = start;
1536      start = null;
1537    }
1538    if(!end) return;
1539    if(start){
1540      this.css("transform", start);
1541    }
1542    if(duration < 16) duration = 16;
1543    var transitionB4 = this.css('transition');
1544    this.css('transition', 'transform ' + duration + 'ms');
1545    this.css('transform', end);
1546    var $el = this;
1547    setTimeout(function(){
1548      $el.css('transition', transitionB4 || '');
1549      $el.css('transform', end);
1550      callback();
1551    }, duration);
1552  };
1553})(jQuery);
1554
1555(function($){
1556  $.fn.swipeHandler = function(options) {
1557    var $container = this;
1558    var swipeThreshold = options.swipeThreshold || null;
1559    var onSwipeLeft = options.onSwipeLeft || null;
1560    var onSwipeRight = options.onSwipeRight || null;
1561    $container.on('touchstart', function(event) {
1562      var previousSwipeX = event.originalEvent.touches[0].clientX;
1563      $container.on('touchend', removeSwipeListeners);
1564      $container.on('touchcancel', removeSwipeListeners);
1565      $container.on('touchmove', function(event) {
1566        currentSwipeX = event.originalEvent.touches[0].clientX;
1567        if(currentSwipeX-swipeThreshold > previousSwipeX){
1568          removeSwipeListeners();
1569          if ( onSwipeRight ){
1570            event.preventDefault();
1571            onSwipeRight(event);
1572          }
1573        }else if(currentSwipeX+swipeThreshold < previousSwipeX){
1574          removeSwipeListeners();
1575          if ( onSwipeLeft ){
1576            event.preventDefault();
1577            onSwipeLeft(event);
1578          }
1579        }
1580        previousSwipeX = currentSwipeX;
1581      });
1582    });
1583    function removeSwipeListeners() {
1584      $container.off('touchmove');
1585      $container.off('touchend');
1586      $container.off('touchcancel');
1587    }
1588  };
1589})(jQuery);
1590
1591
1592//console.warn('TODO: Move $.smartresize to main library');
1593(function($,sr){
1594  // debouncing function from John Hann
1595  // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
1596  var debounce = function (func, threshold, execAsap) {
1597      var timeout;
1598      return function debounced () {
1599          var obj = this, args = arguments;
1600          function delayed () {
1601              if (!execAsap)
1602                  func.apply(obj, args);
1603              timeout = null;
1604          };
1605          if (timeout)
1606              clearTimeout(timeout);
1607          else if (execAsap)
1608              func.apply(obj, args);
1609          timeout = setTimeout(delayed, threshold || 100);
1610      };
1611  }
1612  // smartresize 
1613  jQuery.fn[sr] = function(fn){  return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
1614})(jQuery,'smartresize');
1615
1616
1617(function($){
1618  $.fn.heroCarousel = function( options ){
1619
1620    var settings = $.extend({
1621      transitionType: 'fade-over',
1622      transitionSpeedFactor: 1,
1623      transitionDelay: 4000,
1624    }, options);
1625
1626    var $container    = $(this);
1627    var $list         = $(this).find('ul.carousel-items').eq(0);
1628    var $slides       = $list.find('li.carousel-item');
1629    var $navBar       = $container.find('ol.carousel-nav');
1630    var $leftBtn      = $(this).find('i.carousel-left-btn');
1631    var $rightBtn     = $(this).find('i.carousel-right-btn');
1632    var totalSlides   = $slides.length;
1633    var sliding       = false;
1634    var currentSlide  = settings.openingSlideIndex > -1 ? settings.openingSlideIndex : 0;
1635    var traverse      = null;
1636    var defaultColorClass = 'a-'+$navBar.data('default-color-class');
1637    var activeColorClass  = 'a-'+$navBar.data('active-color-class');
1638      
1639    function slide(isRewinding) {
1640      if(!sliding){
1641        $container.find('iframe[src*="www.youtube.com/embed/"]').each(function(i) {
1642          this.contentWindow.postMessage( JSON.stringify({ event:'command', func: 'pauseVideo', args:'' }), '*');
1643        });
1644        $container.find('ol li.bullet')
1645          .removeClass('active')
1646          .removeClass(activeColorClass)
1647          .addClass(defaultColorClass);
1648        $container.find('ol li.bullet').eq(currentSlide)
1649          .addClass('active')
1650          .removeClass(defaultColorClass)
1651          .addClass(activeColorClass);
1652        sliding = true;
1653        setCurrentBgUrl( $( $container.find('li.carousel-item').eq(currentSlide) ) );
1654        switch(settings.transitionType) {
1655          case 'slide': doTransitionSlide(false, isRewinding); break;
1656          case 'slide-over': doTransitionSlide(true, isRewinding); break;
1657          case 'slide-reveal': doTransitionSlideReveal(false, isRewinding); break;
1658          case 'slide-over-reveal':
1659          case 'slide-reveal-over': doTransitionSlideReveal(true, isRewinding); break;
1660          case 'fade-reveal': doTransitionFadeReveal(); break;
1661          case 'fade-over': doTransitionFadeOver(); break;
1662          case 'fade' : 
1663          default: doTransitionFade(); break;
1664        }
1665      }
1666    }
1667
1668    function setCurrentBgUrl($el) {
1669      var bgUrl = $el.css('background-image');
1670      bgUrl = bgUrl.replace('url(','').replace(')','').replace(/\"/gi, '');
1671      var dataSrc = $el.data('src');
1672      if ( dataSrc != bgUrl ) {
1673        $el.css( 'background-image', 'url("'+dataSrc+'")');
1674      }
1675    }
1676
1677    function doTransitionFade() {
1678      var speed = 500 * settings.transitionSpeedFactor;
1679      $slides.removeClass('active')
1680      $slides.eq(currentSlide).addClass('active')  
1681      $list.animate({
1682        opacity : 0
1683      }, speed,function(){
1684        $slides.hide();
1685        $slides.eq(currentSlide).show();    
1686        $list.animate({opacity : 1}, speed, function(){
1687          $container.find('li.carousel-item').eq(currentSlide).find('.overlay').slideDown();
1688          afterTransition();
1689        });
1690      });
1691    }
1692    
1693    function doTransitionFadeOver() {
1694      var speed = 500 * settings.transitionSpeedFactor;
1695      $slides.removeClass('active');
1696      $slides.eq(currentSlide).addClass('active');
1697      $slides.css('zIndex', 1);
1698      $slides.eq(currentSlide).css({'z-index': 2, opacity: 0}).show().animate({opacity: 1}, speed, function(){
1699        $slides.not('.active').hide();
1700        afterTransition();
1701      });
1702    }
1703
1704    function doTransitionSlideReveal(isOver, isRewinding) {
1705      var slideSpeed = window.innerWidth / 2.5 * settings.transitionSpeedFactor; // adjust speed per size screen
1706      if ( !isOver ) {
1707        $list.find('li.carousel-item.active').animateTransform('translate('+(isRewinding?100:-100)+'%)', slideSpeed);
1708      }
1709      var speed = 500 * settings.transitionSpeedFactor;
1710      $slides.removeClass('active');
1711      $slides.eq(currentSlide).addClass('active');
1712      $slides.css('zIndex', 1);
1713      var $new = $slides.eq(currentSlide);
1714      $new.find('.reveal-element').each(function(index){ $(this).data('opacity', $(this).css('opacity')).css('cssText', 'transition:none; opacity:0 !important;'); });
1715      $new.css({ zIndex: 2, opacity: 1, transform: 'translate('+(isRewinding?-100:100)+'%)'}).show().animateTransform('translate(0%)', slideSpeed, function(){
1716        $new.find('.reveal-element').each(function(index){ 
1717          $(this).css('cssText', 'transition:opacity '+speed+'ms linear '+(index*speed*.7)+'ms; opacity:'+$(this).data('opacity')+' !important;'); 
1718        });
1719        var $old = $slides.not('.active');
1720        $old.hide();
1721        afterTransition();
1722      });
1723    }
1724    
1725    function doTransitionFadeReveal() {
1726      var speed = 500 * settings.transitionSpeedFactor;
1727      $slides.removeClass('active');
1728      $slides.eq(currentSlide).addClass('active');
1729      $slides.css('zIndex', 1);
1730      var $new = $slides.eq(currentSlide);
1731      $new.find('.reveal-element').each(function(index){ $(this).data('opacity', $(this).css('opacity')).css('cssText', 'transition:none; opacity:0 !important;'); });
1732      $new.css({ zIndex: 2, opacity: 0}).show().animate({opacity: 1}, speed, function(){
1733        $new.find('.reveal-element').each(function(index){ 
1734          $(this).css('cssText', 'transition:opacity '+speed+'ms linear '+(index*speed*.7)+'ms; opacity:'+$(this).data('opacity')+' !important;'); 
1735        });
1736        var $old = $slides.not('.active');
1737        $old.hide();
1738        afterTransition();
1739      });
1740    }
1741
1742    function doTransitionSlide(isOver, isRewinding) {
1743      var speed = window.innerWidth / 2.5 * settings.transitionSpeedFactor; // adjust speed per size screen
1744      $slides.css('zIndex', 1);
1745      if ( !isOver ) {
1746        $list.find('li.carousel-item.active').animateTransform('translate('+(isRewinding?100:-100)+'%)', speed);
1747      }
1748      $slides.removeClass('active');
1749      $slides.eq(currentSlide).addClass('active');
1750      $slides.eq(currentSlide).css({ zIndex: 2, opacity: 1, transform: 'translate('+(isRewinding?-100:100)+'%)'}).show().animateTransform('translate(0%)', speed, function(){
1751        $slides.not('.active').hide();
1752        afterTransition();
1753      });
1754    }
1755
1756    function afterTransition () {
1757      sliding = false;
1758      if($container.find('li.carousel-item').eq(currentSlide).find('iframe').length > 0){
1759        window.clearInterval(traverse);
1760      }
1761    }
1762
1763    function slideNext() {
1764      if(!sliding){
1765        currentSlide = ++currentSlide % totalSlides;
1766        slide(false);
1767      }
1768    }
1769
1770    function slidePrevious() {
1771      if(!sliding){
1772        currentSlide = (--currentSlide+totalSlides) % totalSlides;
1773        slide(true);
1774      }
1775    }
1776
1777    function handleResize(){
1778      var height = 0;
1779      $slides.each(function(){
1780        height = Math.max(height, $(this).height())
1781      })
1782      $container.outerHeight(height);
1783      $slides.each(function() {
1784        $(this).outerHeight( height );
1785        $(this).find('.margin-wrapper').outerHeight( height );
1786      });
1787    }
1788
1789    function resetTransitionInterval() {
1790      window.clearInterval(traverse);
1791      traverse = setInterval(slideNext, settings.transitionDelay);
1792    }
1793
1794    function initialize() { 
1795
1796      setCurrentBgUrl( $( $container.find('li.carousel-item').eq(currentSlide) ) );
1797
1798      var height = 0;
1799      $slides.each(function(){
1800        height = Math.max(height, $(this).height())
1801      })
1802      $container.animate( { 'height': height + 'px' }, 500 );
1803      $slides.each(function() {
1804        $(this).outerHeight( height );
1805        $(this).find('.margin-wrapper').outerHeight( height );
1806      });
1807
1808      // change slides CSS properties to enable animations
1809      $slides.each(function(){
1810        $(this).css({
1811          position: 'absolute',
1812          overflow: 'hidden',
1813          top: 0,
1814          left: 0,
1815          width: '100%',
1816        }).outerHeight(height);
1817      });
1818
1819      $list.addClass('transition-'+settings.transitionType)
1820
1821      // bind navigation events:
1822      if($container.find('li.bullet').length > 1){
1823        $container.find('li.bullet').eq(currentSlide)
1824          .addClass('active')
1825          .removeClass(defaultColorClass)
1826          .addClass(activeColorClass);
1827        $container.on('click', 'ol li.bullet', function() {
1828          currentSlide=$container.find('ol li.bullet').index(this);
1829          var previousIndex = $container.find('li.carousel-item.active').index();
1830          if(!sliding && currentSlide != previousIndex){
1831            slide(currentSlide < previousIndex);
1832          }
1833        });
1834        // bind enter keyboard event for bullet navigation:
1835        $(document).keydown(function(e) {
1836          if (e.which == 13) { // 13 is the key code for Enter
1837            currentSlide=$container.find('ol li.bullet').index(e.target);
1838            var previousIndex = $container.find('li.carousel-item.active').index();
1839            if(!sliding && currentSlide != previousIndex){
1840              slide(currentSlide < previousIndex);
1841            }
1842          }
1843        });        
1844      }
1845
1846      /* HIDE ALL BUT FIRST ONE */
1847      $container.find('li.carousel-item:gt('+currentSlide+')').hide();
1848
1849      $container.on('click', '.carousel-left-btn', slidePrevious);
1850      $container.on('click', '.carousel-right-btn', slideNext);
1851
1852      $container.on('mouseenter',function(){
1853        window.clearInterval(traverse);
1854      });
1855      $container.on('mouseleave',function(){
1856        resetTransitionInterval()
1857      });
1858      resetTransitionInterval();
1859
1860      /* SHOW FIRST ONE */
1861      $list.find('li.carousel-item').eq(currentSlide).show().addClass('active');
1862
1863      $container.swipeHandler({
1864        swipeThreshold: 20,
1865        onSwipeLeft: slideNext,
1866        onSwipeRight: slidePrevious
1867      });
1868
1869      $(window).smartresize(handleResize);
1870
1871      $.when($.ready).then(function() {
1872        setTimeout(function() {
1873          $slides.each(function() {
1874            setCurrentBgUrl( $(this) );
1875          });
1876          $navBar.fadeTo('slow', $navBar.data('opacity'));
1877          $leftBtn.fadeTo('slow', $leftBtn.data('opacity'));
1878          $rightBtn.fadeTo('slow', $rightBtn.data('opacity'));
1879        }, 2000);
1880      });
1881    }
1882    
1883    // exit if no more than one slide
1884    if ( totalSlides > 1 ) initialize()
1885   
1886  }
1887})(jQuery);
1888
1889$(function(){
1890
1891  var openingSlideIndex = -1;
1892  var chunks = window.location.href.split('?')
1893  if ( chunks.length > 1 ) {
1894    var vars = chunks[1].split('&')
1895    for ( var i=0,l=vars.length; i<l; i++ ) {
1896      // set slide lock flag
1897      if ( vars[i].substr(0, 10) == 'slideLock=' ) {
1898        openingSlideIndex = parseInt(vars[i].split('=')[1])
1899      }
1900    }
1901  }
1902  
1903  var $carousel = $('.carousel');
1904  if ( $carousel && $('ul.carousel-items li.carousel-item').length ) {
1905    var options = {
1906      transitionType: $carousel.data('transition-type'),
1907      transitionSpeedFactor: $carousel.data('transition-speed-factor'),
1908      transitionDelay: parseFloat($carousel.data('transition-delay')) * 1000,
1909    }
1910    if ( openingSlideIndex > -1 ) {
1911      options.openingSlideIndex = openingSlideIndex;
1912      options.transitionSpeedFactor = 1
1913      options.transitionDelay = 100000000
1914    }
1915    $carousel.heroCarousel(options);
1916  }
1917
1918});
1919
1920        pop.csrf = 'xCwEXF5jZ1Hytgn2HVmTF2ozh1uQzUsPnUu4BOi7';
1921                (function(d){
1922var f = d.getElementsByTagName('SCRIPT')[0], p = d.createElement('SCRIPT');
1923p.type = 'text/javascript';
1924p.async = true;
1925p.src = '//assets.pinterest.com/js/pinit.js';
1926f.parentNode.insertBefore(p, f);
1927}(document));
1928
1929        pop.googleMapsApiKey = "AIzaSyDUMat8GDn95azhEeD8olQLAnc-PoouKxY";
1930
1931        
1932        
1933        PPoppracticeId = 21148;
1934        PPoppracticeUuid = 'c99f86e6-acda-4078-b06c-c0af020038b5';
1935        if ('https://widgets.patientpop.com/bookonlinev2/router/21148') {
1936          (function (f, c, o, g, n, a, t) {
1937            f[n] = {'d': 1 * new Date()};
1938            a = c.createElement(o), t = c.getElementsByTagName(o)[0];
1939            a.async = 1;
1940            a.defer = 1;
1941            a.src = g;
1942            t.parentNode.insertBefore(a, t)
1943          })(window, document, 'script', 'https://widgets.patientpop.com/bookonlinev2/router/21148', 'PPop');
1944        }
1945
1946        if ($("div[id^='recaptcha']").length) {
1947          loadScript('https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit');
1948        }
1949
1950              const gtagScript = document.createElement('script');
1951    gtagScript.type = 'text/javascript';
1952    gtagScript.async = true;
1953    gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=G-Z197VM6NWL';
1954
1955    const firstScript = document.getElementsByTagName('script')[0];
1956    firstScript.parentNode.insertBefore(gtagScript, firstScript);
1957
1958    window.dataLayer = window.dataLayer || [];
1959    function gtag(){dataLayer.push(arguments);}
1960    window.gtag = gtag;
1961
1962    gtag('js', new Date());
1963    gtag('config', 'G-Z197VM6NWL');
1964  
1965  // wrapper on top of gtag function used for UA and GA4 tracking
1966  function ppTrackEvent (category, action, label, additionalProps) {
1967    if ('1' !== '1' || typeof gtag === "undefined") {
1968      return;
1969    }
1970    // mapping to convert UA event to GA4
1971    const UA_TO_GA4_ACTION_MAPPING = {
1972      'button:click:contact us - comment': 'contact_us_submit_success',
1973      'button:click:book online button': 'click_book_online',
1974      'button:click:header custom cta': 'click_header_cta',
1975      'button:click:hero custom cta': 'click_hero_cta',
1976      'button:click:eyebrow link': 'click_eyebrow_link',
1977      'button:click:leave review': 'click_leave_review',
1978      'phone:call': 'click_phone_call'
1979    };
1980
1981    const eventProperties = Object.assign({
1982      send_to: 'G-Z197VM6NWL',
1983      event_category: category
1984    }, additionalProps);
1985
1986    if (ppGA4Enabled) {
1987      action =
1988        UA_TO_GA4_ACTION_MAPPING[`${category}:${action}:${label}`] ||
1989        UA_TO_GA4_ACTION_MAPPING[`${category}:${action}`] ||
1990        action
1991    } else {
1992      eventProperties.event_label = label
1993    }
1994
1995    gtag('event', action, eventProperties);
1996  }
1997
1998  window.ppTrackEvent = ppTrackEvent
1999  window.ppGA4Enabled = '1' === '1';
2000      };
2001
2002      //lazy load images
2003      (function () {
2004        "use strict";var d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},yall=function(e){var a=function(a){if("IMG"===a.tagName){var e=a.parentNode;if("PICTURE"===e.tagName&&[].slice.call(e.querySelectorAll("source")).forEach(function(e){return t(e)}),!0===n.asyncDecodeSupport&&!0===n.replaceWithSupport){var o=new Image;t(o,a),o.decode().then(function(){for(var e=0;e<a.attributes.length;e++){var t=a.attributes[e].name,r=a.attributes[e].value;-1===n.ignoredImgAttributes.indexOf(t)&&o.setAttribute(t,r)}a.replaceWith(o)})}else t(a)}"VIDEO"===a.tagName&&([].slice.call(a.querySelectorAll("source")).forEach(function(e){return t(e)}),a.load()),"IFRAME"===a.tagName&&(a.src=a.dataset.src,a.removeAttribute("data-src")),a.classList.contains(i.lazyBackgroundClass)&&(a.classList.remove(i.lazyBackgroundClass),a.classList.add(i.lazyBackgroundLoaded))},t=function(e){var t=(1<arguments.length&&void 0!==arguments[1]&&arguments[1]).dataset||e.dataset;for(var r in t)-1!==n.acceptedDataAttributes.indexOf("data-"+r)&&(e.setAttribute(r,t[r]),e.removeAttribute("data-"+r))},r=function yallBack(){var e=!1;!1===e&&0<l.length&&(e=!0,setTimeout(function(){l.forEach(function(t){t.getBoundingClientRect().top<=window.innerHeight+i.threshold&&t.getBoundingClientRect().bottom>=-i.threshold&&"none"!==getComputedStyle(t).display&&(!0===i.idlyLoad&&!0===n.idleCallbackSupport?requestIdleCallback(function(){a(t)},c):a(t),t.classList.remove(i.lazyClass),l=l.filter(function(e){return e!==t}))}),e=!1,0===l.length&&!1===i.observeChanges&&n.eventsToBind.forEac
2004h(function(e){return e[0].removeEventListener(e[1],yallBack)})},i.throttleTime))},o=new Image,n={intersectionObserverSupport:"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,mutationObserverSupport:"MutationObserver"in window,idleCallbackSupport:"requestIdleCallback"in window,asyncDecodeSupport:"decode"in o,replaceWithSupport:"replaceWith"in o,ignoredImgAttributes:["data-src","data-sizes","data-media","data-srcset","src","srcset"],acceptedDataAttributes:["data-src","data-sizes","data-media","data-srcset"],eventsToBind:[[document,"scroll"],[document,"touchmove"],[window,"resize"],[window,"orientationchange"]]},i=d({lazyClass:"lazy",lazyBackgroundClass:"lazy-bg",lazyBackgroundLoaded:"lazy-bg-loaded",throttleTime:200,idlyLoad:!1,idleLoadTimeout:100,threshold:200,observeChanges:!1,observeRootSelector:"body",mutationObserverOptions:{childList:!0}},e),s="img."+i.lazyClass+",video."+i.lazyClass+",iframe."+i.lazyClass+",."+i.lazyBackgroundClass,c={timeout:i.idleLoadTimeout},l=[].slice.call(document.querySelectorAll(s));if(!0===n.intersectionObserverSupport){var u=new IntersectionObserver(function(e,r){e.forEach(function(e){if(!0===e.isIntersecting||0<e.intersectionRatio){var t=e.target;!0===i.idlyLoad&&!0===n.idleCallbackSupport?requestIdleCallback(function(){a(t)},c):a(t),t.classList.remove(i.lazyClass),r.unobserve(t),l=l.filter(function(e){return e!==t})}})},{rootMargin:i.threshold+"px 0%"});l.forEach(function(e){return u.observe(e)})}else n.eventsToBind.forEach(function(e){return e[0].addEventListener(e[1],r)}),r();!0===n.mutationObserverSupport&&!0===i.observeChanges&&new MutationObserver(function(e){e.forEach(function(e){[].slice.call(document.querySelectorAll(s)).forEach(function(e){-1===l.indexOf(e)&&(l.push(e),!0===n.intersectionObserverSupport?u.observe(e):r())})})}).observe(document.querySelector(i.observeRootSelector),i.mutationObserverOptions)};
2005        document.addEventListener("DOMContentLoaded", yall);
2006      })();
2007    </script>
2007
2008
2009    
2010          
2010<script type="text/javascript">!function(){var b=function(){window.__AudioEyeSiteHash = "fe15fd990595ca22eefdd5a7993fcc02"; var a=document.createElement("script");a.src="https://wsmcdn.audioeye.com/aem.js";a.type="text/javascript";a.setAttribute("async","");document.getElementsByTagName("body")[0].appendChild(a)};"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}();</script>
2010
2011      </body>
2012 </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.