PageSourceSearch

https://johncompoginismd.com/contact/

html johncompoginismd.com collected 2026-10-04 05:46:41 UTC 236,418 bytes, 1,478 lines download raw bytes

1<!DOCTYPE html><html lang="en-US"> <!-- 
2   _________________                                                        
3  /\      _____     \     ______             ___  ___                       
4  \ \     \    /     \   /\__  _\          /'___\/\_ \                      
5   \ \     \  / /     \  \/_/\ \/     ___ /\ \__/\//\ \    __  __  __  _    
6    \ \     \/ / \     \    \ \ \   /' _ `\ \ ,__\ \ \ \  /\ \/\ \/\ \/'\   
7     \ \      /   \     \    \_\ \__/\ \/\ \ \ \_/  \_\ \_\ \ \_\ \/>  </   
8      \ \     \____\     \   /\_____\ \_\ \_\ \_\   /\____\\ \____//\_/\_\  
9       \ \________________\  \/_____/\/_/\/_/\/_/   \/____/ \/___/ \//\/_/  
10        \/________________/                                                 
11--> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta http-equiv="x-ua-compatible" content="ie=edge"><meta name="generator" content="Growthstack by Influx"><meta name="swap" content="johncompoginismd.com"><meta name="city" content="Newport Beach"><meta name="country" content="USA"><meta name="state" content="CA"><meta name="zipcode" content="92660"><meta property="og:locale" content="en_US"><meta property="og:type" content="website"><meta property="og:title" content="Contact Us | John Compoginis, MD"><meta property="og:description" content="Find contact details and office locations for our practice. Schedule a consultation or reach out with any questions about procedures and services."><meta property="og:site_name" content="John M. Compoginis, M.D. INC"><link rel="sitemap" type="application/xml" href="/sitemap.xml"><link rel="canonical" href="https://johncompoginismd.com/contact/"><link rel="preload" as="image" href="/_static_/masthead/about-01.jpg" imagesrcset="/_static_/masthead/@720@/about-01.jpg 720w, /_static_/masthead/@1080@/about-01.jpg 1080w, /_static_/masthead/@1620@/about-01.jpg 1620w, /_static_/masthead/about-01.jpg 2600w" imagesizes="100vw"><link rel="preconnect" href="https://use.typekit.net/"><style>@font-face {
12font-family:"the-seasons";
13src:url("https:
14font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
15}
16@font-face {
17font-family:"gotham";
18src:url("https:
19font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
20}
21@font-face {
22font-family:"gotham";
23src:url("https:
24font-display:auto;font-style:italic;font-weight:300;font-stretch:normal;
25}
26@font-face {
27font-family:"gotham";
28src:url("https:
29font-display:auto;font-style:italic;font-weight:500;font-stretch:normal;
30}
31@font-face {
32font-family:"gotham";
33src:url("https:
34font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
35}
36@font-face {
37font-family:"gotham";
38src:url("https:
39font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
40}
41.masthead__image {
42  background-position: top center;
43  background-image: none;
44  transform-origin: bottom left;
45  position: absolute;
46  height: 100%;
47  width: 100%;
48  top: 0;
49  overflow: hidden;
50  z-index: -1;
51  background-size: cover;
52  background-position: center center;
53}
54.masthead__image .gatsby-image-wrapper {
55  max-width: unset;
56  position: absolute !important;
57}
58@media (max-width: 840px) {
59  .masthead__image .gatsby-image-wrapper {
60    position: absolute !important;
61  }
62}
63.masthead__image .gatsby-image-wrapper {
64  min-width: 100%;
65  min-height: 100%;
66  overflow: hidden;
67  width: auto;
68  height: 100%;
69  margin: auto;
70  max-width: 100%;
71  object-fit: cover;
72  left: 0;
73  opacity: 0.0001;
74  -webkit-transition-property: opacity, -webkit-transform, filter;
75  -webkit-transition-duration: 1.5s, 10s, 3s;
76  -webkit-transform-transition-delay: 0s, 0s, 1.5s;
77  -webkit-transform-origin: top right;
78  -moz-transition-property: opacity, -moz-transform, filter;
79  -moz-transition-duration: 1.5s, 10s, 3s;
80  -moz-transition-transition-delay: 0s, 0s, 1.5s;
81  -moz-transform-origin: top right;
82  -ms-transition-property: opacity, -ms-transform, filter;
83  -ms-transition-duration: 1.5s, 10s, 3s;
84  -ms-transition-transition-delay: 0s, 0s, 1.5s;
85  -ms-transform-origin: top right;
86  -o-transition-property: opacity, -o-transform, filter;
87  -o-transition-duration: 1.5s, 10s, 3s;
88  -o-transition-transition-delay: 0s, 0s, 1.5s;
89  -o-transform-origin: top right;
90  transition-property: opacity, transform, filter;
91  transition-duration: 1.5s, 10s, 3s;
92  transition-delay: 0s, 0s, 1.5s;
93  transform-origin: top right;
94}
95@media (max-width: 840px) {
96  .masthead__image .gatsby-image-wrapper {
97    max-height: 100%;
98  }
99}
100.masthead__image .gatsby-image-wrapper:nth-child(2n+1) {
101  -webkit-transform-origin: top left;
102  -moz-transform-origin: top left;
103  -ms-transform-origin: top left;
104  -o-transform-origin: top left;
105  transform-origin: top left;
106}
107.masthead__image .gatsby-image-wrapper.first-load {
108  opacity: 1;
109}
110.masthead__image .gatsby-image-wrapper.fx {
111  opacity: 1;
112  -webkit-transform: scale(1.1);
113  -moz-transform: scale(1.1);
114  -ms-transform: scale(1.1);
115  -o-transform: scale(1.1);
116  transform: scale(1.1);
117}
118.masthead__image .gatsby-image-wrapper.fx:first-child + img ~ img {
119  z-index: -1;
120}
121
122@media (max-width: 840px) {
123  .is-desktop-only-image {
124    display: none !important;
125  }
126}
127
128@media (min-width: 840px) {
129  .is-mobile-only-image {
130    display: none !important;
131  }
132}
133
134.masthead-locations {
135  padding-bottom: 15px;
136}
137.masthead-locations::-webkit-scrollbar {
138  margin-top: 15px;
139  -webkit-appearance: none;
140  width: 100%;
141  height: 7px;
142}
143.masthead-locations::-webkit-scrollbar-thumb {
144  border-radius: 4px;
145  background-color: rgba(0, 0, 0, 0.3);
146  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
147}</style><link rel="icon" type="image/png" href="/_static_/logos/favicon.png" sizes="any"><meta property="og:image" content="/_static_/background/og-image.jpg?1778103399518"><title>Contact Us | John Compoginis, MD</title><meta name="description" content="Find contact details and office locations for our practice. Schedule a consultation or reach out with any questions about procedures and services."><link rel="preconnect" href="https://influx-site-assets.s3.us-west-2.amazonaws.com/" />
148
149<!-- deploy -->
149<script type="application/ld+json" id="newschema">
150{"@context":"https://schema.org","@graph":[{"@type":["Organization","MedicalOrganization"],"@id":"https://johncompoginismd.com/#organization","name":"John M. Compoginis, M.D. INC","url":"https://johncompoginismd.com/","sameAs":["https://www.facebook.com/Drcompoginis/","https://www.instagram.com/drcompoginis/","https://www.youtube.com/@drcompoginis","https://www.yelp.com/biz/john-compoginis-md-newport-beach-2","https://www.realself.com/dr/john-compoginis-pasadena-ca","https://maps.app.goo.gl/CHkgTwCaG5sdUePH6"],"subOrganization":[{"@id":"https://johncompoginismd.com/es/#location"}],"areaServed":{"@type":"City","name":"Newport Beach, CA"},"logo":{"@type":"ImageObject","@id":"https://johncompoginismd.com/#logo","url":"https://johncompoginismd.com/_static_/logos/logo.png","contentUrl":"https://johncompoginismd.com/_static_/logos/logo.png","caption":"John M. Compoginis, M.D. INC"},"image":{"@type":"ImageObject","@id":"https://johncompoginismd.com/#image","url":"https://johncompoginismd.com/_static_/background/og-image.jpg?1778103399518","contentUrl":"https://johncompoginismd.com/_static_/background/og-image.jpg?1778103399518","caption":"John M. Compoginis, M.D. INC"},"telephone":"(949) 247-8543","contactPoint":{"@type":"ContactPoint","telephone":"(949) 247-8543","contactType":"customer service"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.9","reviewCount":"74","bestRating":5,"worstRating":1},"hasOfferCatalog":{"@type":"OfferCatalog","name":"John M. Compoginis, M.D. INC Services","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/labiaplasty/#service","name":"Labiaplasty","description":"Labiaplasty reshapes and reduces excess labial tissue to improve comfort, symmetry, and confidence while maintaining natural anatomy.","url":"https://johncompoginismd.com/labiaplasty/"}}},{"@type":"ListItem","position":2,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-augmentation-with-lift/#service","name":"Breast Aug With Lift","description":"Breast augmentation with lift combines implants and a breast lift to restore volume, improve shape, and reposition the breasts for a more youthful appearance.","url":"https://johncompoginismd.com/breast-augmentation-with-lift/"}}},{"@type":"ListItem","position":3,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/gynecomastia-surgery/#service","name":"Gynecomastia","description":"Gynecomastia surgery restores a masculine chest by safely removing excess breast tissue, fat, and skin for a firmer, more natural contour.","url":"https://johncompoginismd.com/gynecomastia-surgery/"}}},{"@type":"ListItem","position":4,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/liquid-facelift/#service","name":"Liquid Facelift","description":"Restore youthful volume and smoothness with a liquid facelift using microfat grafting for natural, long-lasting facial rejuvenation.","url":"https://johncompoginismd.com/liquid-facelift/"}}},{"@type":"ListItem","position":5,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/lip-enhancement/#service","name":"Lip Enhancement","description":"Enhance volume, shape, and symmetry with lip enhancement treatments designed for soft, natural-looking results.","url":"https://johncompoginismd.com/lip-enhancement/"}}},{"@type":"ListItem","position":6,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/tummy-tuck/#service","name":"Tummy Tuck","description":"A tummy tuck removes excess skin and fat while tightening abdominal muscles, creating a flatter, firmer, and more sculpted midsection.","url":"https://johncompoginismd.com/tummy-tuck/"}}},{"@type":"ListItem","position":7,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/pec-implants/#service","name":"Pec Implants","description":"Pec implants enhance chest size and definition, creating a stronger, more sculpted masculine contour when diet and exercise aren’t enough.","url":"https://johncompoginismd.com/pec-implants/"}}},{"@type":"ListItem","position":8,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/post-weight-loss-surgery/#service","name":"Post-Weight Loss Surgery","description":"Refine your results after major weight loss with post-weight loss surgery by Dr. John Compoginis in Newport Beach. Restore smooth, sculpted contours.","url":"https://johncompoginismd.com/post-weight-loss-surgery/"}}},{"@type":"ListItem","position":9,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/co2-laser/#service","name":"CO2 laser","description":"CO2 laser resurfacing reduces wrinkles, scars, and sun damage by renewing the skin for a smoother, clearer, more youthful appearance.","url":"https://johncompoginismd.com/co2-laser/"}}},{"@type":"ListItem","position":10,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/facelift/#service","name":"Facelift","description":"Facelift surgery lifts and tightens facial tissues to reduce visible signs of aging, restoring smoother contours and a more refreshed, youthful appearance.","url":"https://johncompoginismd.com/facelift/"}}},{"@type":"ListItem","position":11,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-implant-removal/#service","name":"Breast Implant Removal","description":"Breast implant removal surgery removes implants and surrounding scar tissue to restore natural breast contours or prepare for a refreshed result.","url":"https://johncompoginismd.com/breast-implant-removal/"}}},{"@type":"ListItem","position":12,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-reduction/#service","name":"Breast Reduction","description":"Breast reduction surgery removes excess breast tissue, fat, and skin to create lighter, more proportionate breasts while relieving physical discomfort.","url":"https://johncompoginismd.com/breast-reduction/"}}},{"@type":"ListItem","position":13,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/brazilian-butt-lift/#service","name":"Brazilian Butt Lift","description":"A Brazilian Butt Lift enhances the shape and volume of the buttocks using your body’s own fat, creating fuller, natural-looking curves while sculpting surrounding areas.","url":"https://johncompoginismd.com/brazilian-butt-lift/"}}},{"@type":"ListItem","position":14,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-lift/#service","name":"Breast Lift","description":"Breast lift surgery reshapes and elevates sagging breasts by removing excess skin and restoring a more youthful, balanced contour","url":"https://johncompoginismd.com/breast-lift/"}}},{"@type":"ListItem","position":15,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/liposuction/#service","name":"Liposuction And Lipo 360","description":"Liposuction and Lipo 360 remove stubborn fat and sculpt multiple areas of the body, creating smoother contours and a more balanced, refined silhouette.","url":"https://johncompoginismd.com/liposuction/"}}},{"@type":"ListItem","position":16,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-implant-revision/#service","name":"Breast Implant Revision","description":"Refine your results with breast implant revision , designed to correct concerns, restore balance, and achieve a more natural, confident look.","url":"https://johncompoginismd.com/breast-implant-revision/"}}},{"@type":"ListItem","position":17,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/mommy-makeover/#service","name":"Mommy Makeover","description":"A Mommy Makeover combines customized procedures to restore the body after pregnancy, addressing areas like the breasts and abdomen for smoother, more balanced contours.","url":"https://johncompoginismd.com/mommy-makeover/"}}},{"@type":"ListItem","position":18,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/rf-microneedling/#service","name":"RF Microneedling","description":"RF microneedling combines radiofrequency energy and precision microneedling to tighten skin, improve texture, and stimulate long-term collagen production.","url":"https://johncompoginismd.com/rf-microneedling/"}}},{"@type":"ListItem","position":19,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/rhinoplasty/#service","name":"Rhinoplasty","description":"Refine the shape, balance, and function of your nose with rhinoplasty designed for natural, harmonious results.","url":"https://johncompoginismd.com/rhinoplasty/"}}},{"@type":"ListItem","position":20,"item":{"@type":"Offer","itemOffered":{"@type":"Service","@id":"https://johncompoginismd.com/breast-augmentation/#service","name":"Breast Augmentation","description":"Breast augmentation enhances breast size and shape using implants or fat transfer to create fuller, balanced, and natural-looking contours.","url":"https://johncompoginismd.com/breast-augmentation/"}}}]}},{"@type":"WebSite","@id":"https://johncompoginismd.com/#website","url":"https://johncompoginismd.com/","name":"John M. Compoginis, M.D. INC","publisher":{"@id":"https://johncompoginismd.com/#organization"}},{"@type":["LocalBusiness","MedicalBusiness","Physician"],"@id":"https://johncompoginismd.com/es/#location","name":"John M. Compoginis, M.D. INC Newport Beach","url":"https://johncompoginismd.com/es/","telephone":"
150(949) 659-3599","email":"[email protected]","parentOrganization":{"@id":"https://johncompoginismd.com/#organization"},"logo":{"@id":"https://johncompoginismd.com/#logo"},"image":{"@type":"ImageObject","@id":"https://johncompoginismd.com/es/#image","url":"https://johncompoginismd.com/_static_/masthead/mast-04.jpg","contentUrl":"https://johncompoginismd.com/_static_/masthead/mast-04.jpg","caption":"John M. Compoginis, M.D. INC Newport Beach"},"areaServed":[{"@type":"City","name":"Newport Beach, CA"},{"@type":"GeoCircle","geoMidpoint":{"@type":"GeoCoordinates","latitude":33.6243593,"longitude":-117.9056781},"geoRadius":24140}],"address":{"@type":"PostalAddress","streetAddress":"901 Dover Dr, Suite 122","addressLocality":"Newport Beach","addressRegion":"CA","postalCode":"92669","addressCountry":"US"},"geo":{"@type":"GeoCoordinates","latitude":33.6243593,"longitude":-117.9056781},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Tuesday","opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Wednesday","opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Thursday","opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"09:00","closes":"17:00"}],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.9","reviewCount":"74","bestRating":5,"worstRating":1},"hasMap":"https://maps.app.goo.gl/CHkgTwCaG5sdUePH6","sameAs":["https://maps.app.goo.gl/CHkgTwCaG5sdUePH6"],"medicalSpecialty":"https://schema.org/PlasticSurgery"},{"@type":"ContactPage","@id":"https://johncompoginismd.com/contact/#webpage","url":"https://johncompoginismd.com/contact/","name":"Contact Us | John Compoginis, MD","description":"Find contact details and office locations for our practice. Schedule a consultation or reach out with any questions about procedures and services.","isPartOf":{"@id":"https://johncompoginismd.com/#website"},"publisher":{"@id":"https://johncompoginismd.com/#organization"},"inLanguage":"en-US","primaryImageOfPage":{"@type":"ImageObject","url":"https://johncompoginismd.com/_static_/masthead/about-01.jpg"},"about":{"@id":"https://johncompoginismd.com/#organization"}}]}
151</script>
151<link rel="stylesheet" href="/_astro/_gallery_.CN3ME_QQ.css">
152<link rel="stylesheet" href="/_astro/_landing_.gFDOZ5yy.css"></head> <body style="--navImage: url(https://influx-site-assets.s3.us-west-2.amazonaws.com/johncompoginismd.com/logos/logo.png)" class=" contact-page contact "> <section class="header   animated-menu">  <nav class="navbar container" role="navigation" aria-label="main navigation"> <div class="nav-flex-item nav-left-container animate fadeIn" style="justify-content: flex-start"> <a class="nav-link nav-left-link" href="/consultation/"> Free Consultation </a> <a class="nav-link nav-left-link second-nav-link-left" href="/resources/virtual-consultation/"> Virtual Consultation </a> <div class="header-left-social-icons header-social-icons"><a href="https://www.instagram.com/drcompoginis/" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-instagram" aria-label="View John M. Compoginis, M.D. INC Instagram Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-instagram" width="100" height="100" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.69166 0.0548132C3.8379 0.0922779 3.25627 0.231432 2.74935 0.42946C2.22108 0.63284 1.77819 0.911149 1.3353 1.35537C0.88707 1.7996 0.620268 2.24917 0.412163 2.77368C0.21473 3.28213 0.0813297 3.86551 0.0439775 4.71649C0.00662526 5.56747 -0.00404779 5.84043 0.00128825 8.01338C0.00128825 10.1863 0.0119595 10.4593 0.0546478 11.3103C0.097336 12.1613 0.230738 12.7393 0.433508 13.2477C0.636277 13.7722 0.91375 14.2218 1.35664 14.666C1.79953 15.1103 2.24776 15.3832 2.77603 15.5866C3.28295 15.7846 3.86458 15.9184 4.71834 15.9559C5.57211 15.9934 5.84424 16.0041 8.01601 15.9987C10.1878 15.9987 10.4599 15.988 11.3137 15.9452C12.1674 15.9024 12.7437 15.7686 13.256 15.5705C13.7789 15.3672 14.2272 15.0889 14.67 14.6446C15.1129 14.2004 15.3851 13.7508 15.5878 13.2263C15.7853 12.7179 15.9187 12.1345 15.956 11.2835C15.9934 10.4272 16.004 10.1596 15.9987 7.98662C15.9987 5.81367 15.9827 5.54071 15.9454 4.68973C15.9027 3.83875 15.7693 3.25537 15.5718 2.74692C15.3637 2.22241 15.0916 1.77819 14.6487 1.33396C14.2005 0.88974 13.7522 0.616783 13.2293 0.413404C12.7224 0.215376 12.1408 0.0815737 11.287 0.044109C10.4332 0.00664437 10.1611 -0.00405991 7.98933 0.00129218C5.81756 0.00129218 5.54543 0.0119965 4.69166 0.0548132ZM4.78771 14.5162C4.00865 14.4841 3.58177 14.3503 3.29896 14.2432C2.92543 14.0987 2.65863 13.9274 2.37582 13.6438C2.09301 13.3655 1.92226 13.0979 1.77819 12.7232C1.66613 12.4396 1.53807 12.0167 1.50071 11.2407C1.46336 10.3951 1.45269 10.1435 1.44735 8.00803C1.44735 5.87254 1.44735 5.62099 1.49004 4.77536C1.52206 3.99396 1.65546 3.57114 1.76218 3.28748C1.90625 2.91283 2.07701 2.64523 2.35982 2.36692C2.63729 2.08861 2.90409 1.91199 3.27761 1.76748C3.56042 1.65509 3.98197 1.52664 4.76103 1.48917C5.60412 1.45171 5.86025 1.44101 7.99466 1.43565C10.1291 1.43565 10.3852 1.43565 11.2283 1.47847C12.0074 1.51058 12.4342 1.63903 12.7117 1.75143C13.0852 1.89593 13.352 2.0672 13.6348 2.34551C13.9123 2.62382 14.0884 2.89142 14.2325 3.26607C14.3445 3.54438 14.4726 3.97255 14.51 4.7486C14.5473 5.59423 14.558 5.84578 14.5633 7.98127C14.5633 10.1168 14.5633 10.3683 14.5206 11.2139C14.4886 11.9953 14.3606 12.4182 14.2485 12.7018C14.1044 13.0765 13.9337 13.3441 13.6509 13.6224C13.3734 13.9007 13.1066 14.0773 12.7331 14.2218C12.4502 14.3342 12.0287 14.4627 11.2496 14.5001C10.4066 14.5376 10.1504 14.5483 8.01601 14.5536C5.8816 14.5536 5.62547 14.5536 4.78237 14.5162M11.3083 3.721C11.3083 4.25086 11.7406 4.67902 12.2688 4.67902C12.7971 4.67902 13.2293 4.2455 13.2293 3.71565C13.2293 3.18579 12.7971 2.75762 12.2635 2.75762C11.7352 2.75762 11.303 3.19114 11.303 3.721M3.89659 8.00803C3.89659 10.2773 5.74286 12.1131 8.01601 12.1077C10.2838 12.1077 12.1248 10.2613 12.1194 7.99197C12.1194 5.72268 10.2732 3.88691 8 3.89227C5.73219 3.89227 3.89126 5.73874 3.89659 8.00803ZM5.33732 8.00268C5.33732 6.53085 6.52726 5.33198 8 5.33198C9.47275 5.33198 10.668 6.52015 10.6734 7.99197C10.6734 9.4638 9.48342 10.6627 8.01067 10.6627C6.53793 10.6627 5.34266 9.4745 5.33732 8.00268Z" fill="url(#instagram-icon-svg-gradient-header-left)"></path> <defs> <linearGradient id="instagram-icon-svg-gradient-header-left" x1="0" y1="0" x2="16" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.facebook.com/Drcompoginis/" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-facebook" aria-label="View John M. Compoginis, M.D. INC Facebook Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-facebook" width="47" height="101" viewB
152ox="0 0 47 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31.3634 100.651V50.6455H44.9161L46.7122 33.4132H31.3634L31.3864 24.7883C31.3864 20.2938 31.8057 17.8856 38.1436 17.8856H46.6162V0.651367H33.0615C16.7802 0.651367 11.0496 9.01088 11.0496 23.069V33.4152H0.900879V50.6475H11.0496V100.651H31.3634Z" fill="url(#facebook-icon-svg-gradient-header-left)"></path> <defs> <linearGradient id="facebook-icon-svg-gradient-header-left" x1="0" y1="0" x2="47" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.youtube.com/@drcompoginis" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-youtube" aria-label="View John M. Compoginis, M.D. INC YouTube Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-youtube" width="98" height="101" viewBox="0 0 98 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M23.503 21.7716V39.6931C23.503 41.4348 24.9165 42.8483 26.6582 42.8483C28.3999 42.8483 29.8134 41.4348 29.8134 39.6931V21.7716L41.8031 5.78532C42.8506 4.33393 42.5183 2.3104 41.0669 1.26288C39.6155 0.215353 37.592 0.5477 36.5445 1.99909L26.4479 15.4612L16.5616 1.99909C15.5141 0.606597 13.5368 0.320526 12.1443 1.36805C10.7518 2.41557 10.4658 4.39283 11.5133 5.78532L23.503 21.7716ZM38.4376 20.7619V33.3827C38.4376 38.6119 42.6739 42.8483 47.9031 42.8483C53.1324 42.8483 57.3687 38.6119 57.3687 33.3827V20.7619C57.3687 15.5327 53.1324 11.2964 47.9031 11.2964C42.6739 11.2964 38.4376 15.5327 38.4376 20.7619ZM44.748 20.7619C44.748 19.0203 46.1615 17.6068 47.9031 17.6068C49.6448 17.6068 51.0583 19.0203 51.0583 20.7619V33.3827C51.0583 35.1244 49.6448 36.5379 47.9031 36.5379C46.1615 36.5379 44.748 35.1244 44.748 33.3827V20.7619ZM65.1936 39.4407C67.3559 41.603 70.2966 42.8146 73.355 42.8062C75.3701 42.7852 77.3432 42.2341 79.0764 41.2076C79.6191 42.1878 80.6498 42.7978 81.7689 42.8062C83.5105 42.8062 84.924 41.3927 84.924 39.651V14.4095C84.924 12.6678 83.5105 11.2543 81.7689 11.2543C80.0272 11.2543 78.6137 12.6678 78.6137 14.4095V31.2372C78.6137 34.14 76.2578 36.4958 73.355 36.4958C70.4522 36.4958 68.0964 34.14 68.0964 31.2372V14.4095C68.0964 12.6678 66.6828 11.2543 64.9412 11.2543C63.1995 11.2543 61.786 12.6678 61.786 14.4095V31.2372C61.7776 34.3166 63.0018 37.2741 65.1936 39.4407ZM76.5102 73.3064C76.5102 72.1453 75.5678 71.2029 74.4067 71.2029C73.2456 71.2029 72.3033 72.1453 72.3033 73.3064V75.4098H76.5102V73.3064ZM57.5791 71.2029C56.418 71.2029 55.4756 72.1453 55.4756 73.3064V81.7202C55.4756 82.8813 56.418 83.8237 57.5791 83.8237C58.7402 83.8237 59.6825 82.8813 59.6825 81.7202V73.3064C59.6825 72.1453 58.7402 71.2029 57.5791 71.2029ZM78.6137 50.1683H19.7168C9.26259 50.1683 0.785645 58.6453 0.785645 69.0995V81.7202C0.785645 92.1744 9.26259 100.651 19.7168 100.651H78.6137C89.0679 100.651 97.5448 92.1744 97.5448 81.7202V69.0995C97.5448 58.6453 89.0679 50.1683 78.6137 50.1683ZM32.3375 66.996H26.0272V85.843C26.0272 87.0041 25.0848 87.9465 23.9237 87.9465C22.7626 87.9465 21.8202 87.0041 21.8202 85.843V66.996H15.5099C14.3488 66.996 13.4064 66.0536 13.4064 64.8925C13.4064 63.7314 14.3488 62.7891 15.5099 62.7891H32.3375C33.4987 62.7891 34.441 63.7314 34.441 64.8925C34.441 66.0536 33.4987 66.996 32.3375 66.996ZM46.9776 85.9271C46.986 87.0883 46.0479 88.0348 44.8868 88.0432C44.3104 88.0474 43.7593 87.816 43.3597 87.3996C42.5225 87.8076 41.6012 88.0264 40.6672 88.0306C37.1839 88.0306 34.3569 85.2036 34.3569 81.7202V69.0995C34.3569 67.9384 35.2992 66.996 36.4603 66.996C37.6214 66.996 38.5638 67.9384 38.5638 69.0995V81.7202C38.5638 82.8813 39.5061 83.8237 40.6672 83.8237C41.8284 83.8237 42.7707 82.8813 42.770
1527 81.7202V69.0995C42.7707 67.9384 43.7131 66.996 44.8742 66.996C46.0353 66.996 46.9776 67.9384 46.9776 69.0995V85.9271ZM63.8053 81.7202C63.8053 85.2036 60.9783 88.0306 57.4949 88.0306C56.5315 88.0264 55.5808 87.795 54.7184 87.3575C53.8686 88.1484 52.535 88.0979 51.7441 87.2439C51.3907 86.8611 51.1888 86.3605 51.1845 85.843V60.6015C51.1845 59.4404 52.1269 58.498 53.288 58.498C54.4491 58.498 55.3915 59.4404 55.3915 60.6015V67.5429C56.0646 67.2947 56.7755 67.1685 57.4949 67.1643C60.9783 67.1643 63.8053 69.9913 63.8053 73.4747V81.7202ZM74.7012 88.0306C71.0496 87.8161 68.1595 84.8712 68.0122 81.2154V73.3064C68.0122 69.8231 70.8393 66.996 74.3226 66.996C77.8059 66.996 80.633 69.8231 80.633 73.3064V77.5133C80.633 78.6744 79.6906 79.6168 78.5295 79.6168H72.3033V81.2154C72.4421 82.549 73.4602 83.6218 74.7854 83.8237C75.753 83.8237 77.2674 83.403 77.2674 82.2671C77.2674 81.106 78.2098 80.1637 79.3709 80.1637C80.532 80.1637 81.4744 81.106 81.4744 82.2671C81.2809 85.6537 78.3739 88.2409 74.9873 88.0474C74.92 88.0432 74.8527 88.039 74.7854 88.0306H74.7012Z" fill="url(#youtube-icon-svg-gradient-header-left)"></path> <defs> <linearGradient id="youtube-icon-svg-gradient-header-left" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.yelp.com/biz/john-compoginis-md-newport-beach-2" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-yelp" aria-label="View John M. Compoginis, M.D. INC Yelp Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-yelp" width="75.75" height="101" viewBox="0 0 75.75 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <g fill="url(#yelp-icon-svg-gradient-header-left)"> <path d="M29.457 71.4628L15.631 88.3984C13.685 90.9044 14.614 93.8917 17.466 95.3655L31.986 98.8984C35.2 100.832 38.91 98.7334 39.07 95.6005L39.77 73.1696C39.911 69.099 33.925 67.02 29.457 71.4628Z"></path> <path d="M27.1589 54.7571L6.6536 47.9634C3.7717 46.3325 0.711 49.0197 0.61315 52.9623L0.14648 68.0768C0.0485 71.876 3.3657 74.2866 6.6062 73.1073L28.3768 65.5756C32.861 63.4096 32.9542 57.4714 27.1589 54.7571Z"></path> <path d="M50.6675 57.1624L71.6635 51.2976C73.697 50.49 74.85 46.5158 72.594 43.4578L64.108 31.3795C61.731 28.2921 56.634 28.071 54.288 30.624L42.0335 48.7857C39.015 53.323 42.669 58.336 50.6675 57.1624Z"></path> <path d="M35.5957 5.6778C35.7697 2.9975 32.1927 -0.7654 28.6845 0.1927L12.0592 4.7407C8.4726 5.7126 6.9445 9.9578 9.1072 12.9918L28.1735 46.048C28.3295 46.3163 28.4983 46.5736 28.66 46.812C32.0233 51.2457 37.243 48.9027 38.6653 45.5158C38.872 44.9763 38.9342 44.4733 38.8803 43.983L35.5957 5.6778Z"></path> <path d="M72.469 71.6512L51.3815 65.7875C47.786 64.1554 45.4277 69.3124 48.3437 73.247L61.509 91.3039C63.292 93.8727 66.8777 94.0185 69.181 90.7815L77.412 80.913C79.717 77.6705 78.082 73.141 72.469 71.6512Z"></path> </g> <defs> <linearGradient id="yelp-icon-svg-gradient-header-left" x1="0" y1="0" x2="101" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://maps.app.goo.gl/CHkgTwCaG5sdUePH6" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-googleBusinessProfile" aria-label="View John M. Compoginis, M.D. INC Google Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="101" height="101" viewB
152ox="0 0 23 23" fill="none" class="nav-social-media-icon social-media-icon-googleBusinessProfile"> <path d="M0.265182 11.5C0.265182 5.4346 5.19978 0.5 11.2652 0.5C13.7148 0.5 16.0334 1.28812 17.9704 2.7792L15.4142 6.09973C14.2165 5.17783 12.7818 4.69048 11.2652 4.69048C7.51041 4.69048 4.45566 7.74523 4.45566 11.5C4.45566 15.2548 7.51041 18.3095 11.2652 18.3095C14.2893 18.3095 16.8593 16.3282 17.7449 13.5952H11.2652V9.40476H22.2652V11.5C22.2652 17.5654 17.3306 22.5 11.2652 22.5C5.19978 22.5 0.265182 17.5654 0.265182 11.5Z" fill="url(#google-icon-svg-gradient-header-left)"></path> <defs> <linearGradient id="google-icon-svg-gradient-header-left" x1="0" y1="0" x2="20" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.realself.com/dr/john-compoginis-pasadena-ca" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-realSelf" aria-label="View John M. Compoginis, M.D. INC RealSelf Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-realSelf" width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill="url(#realself-icon-svg-gradient-header-left)" d="M0.151028 70.6487C0.468031 46.3273 8.32098 26.2914 25.343 11.7154C32.164 5.87585 39.8705 2.18154 48.3269 1.02993C55.701 0.0235476 62.8915 0.782794 69.448 5.34081C74.5288 8.87462 77.7382 14.1002 79.0369 20.7907C80.2524 27.0481 78.5865 32.4851 74.8983 37.0737C71.5403 41.2521 67.3995 44.3273 63.4556 47.67C60.6266 50.0675 57.7911 52.4497 55.9 56.0217C54.8746 57.9581 54.7107 60.0294 55.067 62.1594C55.4627 64.5288 57.1089 66.1391 59.2864 66.511C61.5557 66.8983 63.7813 66.5442 65.7577 65.2728C68.5561 63.4715 71.2123 61.3772 73.9495 59.4485C76.28 57.8077 78.534 55.9376 81.0089 54.6663C88.1622 50.9924 95.7812 54.6841 98.7807 63.1174C100.211 67.1378 100.589 71.2194 99.5 75.5379C97.2023 84.6463 92.3794 91.2477 85.307 95.714C82.4168 97.5382 79.4216 99.1484 76.092 99.5C74.6207 99.6554 73.0991 99.658 71.6408 99.4083C69.6295 99.0643 68.1757 96.1777 68.4446 93.5407C68.6872 91.161 69.5508 89.133 71.0484 87.5355C72.417 86.0756 73.9102 84.7762 75.3181 83.3673C76.0898 82.5953 76.855 81.7953 77.5262 80.9087C80.2371 77.3341 78.6849 72.2105 75.8624 70.2028C73.368 68.427 70.6898 68.3123 67.9745 69.413C64.8482 70.6792 62.3515 73.0997 59.8636 75.5405C57.0259 78.3227 54.3368 81.3647 50.9066 83.189C48.0514 84.7074 45.1306 85.2705 42.1814 83.4539C40.4367 82.3788 39.2518 80.6641 38.4188 78.6488C36.5015 74.0092 36.6349 69.2856 38.5784 64.7658C39.794 61.9403 41.3528 59.2906 42.9247 56.702C45.03 53.2395 47.389 49.986 49.4768 46.5133C52.649 41.2394 54.5379 35.4584 54.14 28.857C53.834 23.7665 52.5966 19.1525 49.1751 15.7257C45.6728 12.2199 41.7682 10.7829 37.1268 12.5333C34.0748 13.6823 31.3529 15.3766 28.6202 17.2977C24.2652 20.3627 21.4231 24.7525 19.4314 29.9883C17.5928 34.824 16.4866 39.9757 16.3991 45.242C16.3291 49.4994 16.7642 53.8 17.313 58.0243C17.689 60.9212 18.4017 63.8409 19.4117 66.5212C20.483 69.3646 22.0068 71.9914 23.4672 74.6131C25.5135 78.287 27.6801 81.9456 28.2944 86.3177C28.618 88.6209 28.4103 91.1865 27.879 93.4515C27.2122 96.2974 25.0938 97.9662 22.866 99.1229C14.7135 103.352 6.95677 98.2006 3.43038 90.175C1.26382 85.2425 0.428679 79.9329 0.159773 74.4704C0.0963719 73.2016 0.151028 71.9251 0.151028 70.6512V70.6487ZM51.3001 55.9962C51.2127 55.9606 52.2166 53.6736 52.1291 53.638C51.9521 54.0176 56.7538 69.2652 56.6291 69.6678C55.2606 74.0729 50.4431 66.7454 53.6132 69.6678C53.9105 69.9429 54.3171 70.1595 54.6888 70.1977C55.0014 70.2308 55.4868 70.0703 55.6201 69.8053C55.7557 69.5429 55.6573 68.9416 55.4693 68.6665C55.0451 68.0397 54.5139 67.5098 54.0067 66.9645C51.4947 64.2613 50.6093 60.9517 51.2499 57.0561C51.3067 56.7122 51.2826 56.3529 51.2979 56.0013L51.3001 55.9962ZM51.2728 8.972C51.7866 9.17582 53.1283 7.59427 53.5 7.5C56.4186 6.7433 58.4415 7.86625 61.5 7C59 9.5 53.1158 7.28535 51.2728 8.972ZM75.1607 60.4804C75.2066 60.7326 75.2525 60.9848 75.2962 61.2371C75.6876 61.2626 76.1751 61.474 76.4549 61.2804C78.1974 60.
1520778 79.9004 58.7988 81.5948 57.5046C81.7828 57.3619 81.8265 56.9619 81.938 56.6816C81.6778 56.6357 84.0773 62.3326 81.5948 59.4485C79.5791 60.7275 77.8607 65.7153 75.8624 67.0299L75.1607 60.4804ZM74.1265 88.8902C76.3434 88.5921 82.0522 85.5789 82.0937 83.5559C81.5 89 77 90.5 74.1265 88.8902Z"></path> <defs> <linearGradient id="realself-icon-svg-gradient-header-left" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a></div>  </div> <div class="nav-flex-item nav-logo-container animate fadeIn"> <a class="navbar-brand" href="/" aria-label="Go to johncompoginismd.com homepage"> <div data-gatsby-image-wrapper="" data-initial-width="893" data-initial-height="129" class="gatsby-image-wrapper gatsby-image-wrapper-constrained has-scrolled-logo" style="position: relative !important" id="gatsby-img-kl15936zt"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='129' width='893' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: contain; display: block" decoding="async" loading="eager" fetchpriority="high" class="navbar__logo" alt="John Compoginis Logo" src="/_static_/logos/logo.png"></picture></div>
152<script type="module">document.addEventListener("DOMContentLoaded",()=>{const o=document.querySelectorAll("[data-gatsby-image-wrapper]");if(o)for(const a of o){if(!a)continue;const r=a.querySelector(".placeholder-wrapper");if(!r)continue;const e=a.querySelector("[data-main-image]");if(!e)continue;const c=parseInt(a.getAttribute("data-initial-width")||"0",10),h=parseInt(a.getAttribute("data-initial-height")||"0",10),d=({width:n,height:t})=>{const i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.setAttribute("height",t),i.setAttribute("width",n),i},s=n=>{const t={width:n.naturalWidth,height:n.naturalHeight};if(t.width!==c||t.height!==h){d(t),r.style.aspectRatio=`${t.width} / ${t.height}`;const i=r.querySelector("img");i&&(i.src=`data:image/svg+xml;charset=utf-8,<svg height='${t.height}' width='${t.width}' xmlns='http://www.w3.org/2000/svg' version='1.1'></svg>`)}};e.complete&&e.naturalWidth?s(e):e.addEventListener("load",()=>{s(e)})}});</script>
152 <div data-gatsby-image-wrapper="" data-initial-width="893" data-initial-height="129" class="gatsby-image-wrapper gatsby-image-wrapper-constrained navbar__logo__scrolled" style id="gatsby-img-5q6idgsup"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='129' width='893' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: contain; display: block" decoding="async" loading="eager" fetchpriority="high" class="navbar__logo" alt="John Compoginis Logo" src="/_static_/logos/scrolled-logo.png"></picture></div> </a> </div> <div class="navbar-links nav-flex-item nav-right-container animate fadeIn" style="justify-content: flex-end"> <div class="nav-right-links"> <a class="nav-link nav-right-link" href="tel:(949) 247-8543"> (949) 247-8543 </a>   <p class="nav-right-subtext">Newport Beach, CA</p> </div> <div class="menu-button"><div role="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" aria-controls="site-menu" aria-labelledby="menuButtonLabel"><span></span><span></span><span></span></div><label id="menuButtonLabel">Menu</label></div>
152<script type="module">document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelector(".menu-button");if(!t)return;const n=e=>{e.preventDefault(),document.dispatchEvent(new CustomEvent("toggleNavigation"))};t.addEventListener("click",n),t.addEventListener("keydown",e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),document.dispatchEvent(new CustomEvent("toggleNavigation")))})});</script>
152 </div> </nav> <menu class="mega-menu"> <div class="mobile-contact-menu"> <ul> <a class="no-menu" href="/consultation/"> Free Consultation </a> <a class="no-menu" href="tel:(949) 247-8543"> (949) 247-8543 </a> </ul> </div> <div class="main-menu"> <ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="d1a609d9-625b-4332-b957-fa276afb0add"> Body </span> </li> <li class> <a href="/brazilian-butt-lift/"> Brazilian Butt Lift </a> </li><li class> <a href="/liposuction/"> Liposuction &amp; Lipo 360 </a> </li><li class> <a href="/mommy-makeover/"> Mommy Makeover </a> </li><li class> <a href="/tummy-tuck/"> Tummy Tuck </a> </li><li class> <a href="/labiaplasty/"> Labiaplasty </a> </li><li class> <a href="/post-weight-loss-surgery/"> Post-Weight Loss Surgery </a> </li> </ul><ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="2fde5714-34d4-406b-bf86-dcd83b171532"> Breast </span> </li> <li class> <a href="/breast-augmentation/"> Breast Augmentation </a> </li><li class> <a href="/breast-lift/"> Breast Lift </a> </li><li class> <a href="/breast-reduction/"> Breast Reduction </a> </li><li class> <a href="/breast-augmentation-with-lift/"> Breast Aug With Lift </a> </li><li class> <a href="/breast-implant-removal/"> Breast Implant Removal </a> </li><li class> <a href="/breast-implant-revision/"> Breast Implant Revision </a> </li><li class> <a href="/gynecomastia-surgery/"> Gynecomastia </a> </li><li class> <a href="/pec-implants/"> Pec Implants </a> </li> </ul><ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="8cd31304-ee00-4869-b3c5-bbfbedb2f4cc"> Face </span> </li> <li class> <a href="/facelift/"> Facelift </a> </li><li class> <a href="/lip-enhancement/"> Lip Enhancement </a> </li><li class> <a href="/rhinoplasty/"> Rhinoplasty </a> </li><li class> <a href="/liquid-facelift/"> Liquid Facelift </a> </li><li class> <a href="/rf-microneedling/"> RF Microneedling </a> </li><li class> <a href="/co2-laser/"> CO2 laser </a> </li> </ul><ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="abefa07b-d58c-4389-84a4-a2ad4cb0b749"> Gallery </span> </li> <li class> <a href="/gallery/body/"> Body </a> </li><li class> <a href="/gallery/face/"> Face </a> </li><li class> <a href="/gallery/breast/"> Breast </a> </li><li class> <a href="/gallery/men/"> Men </a> </li> </ul><ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="f67c0d9d-e91b-4cee-b41c-cf4c413ac209"> About Us </span> </li> <li class> <a href="/about/meet-the-doctor/"> Meet the Doctor </a> </li><li class> <a href="/about/meet-the-team/"> Meet the Team </a> </li><li class> <a href="/testimonials/"> Testimonials </a> </li><li class> <a href="/resources/financing/"> Financing </a> </li><li class> <a href="/resources/specials/"> Specials </a> </li><li class> <a href="/blog/"> Blog </a> </li> </ul><ul>  <li> <span class="highlight-color no-link title-xs" data-column-id="c9a61e3b-37c3-4cba-8760-6311ca226090"> Contact </span> </li> <li class> <a href="/contact/"> Contact Us </a> </li><li class> <a href="/contact/newport-beach/"> Newport Beach </a> </li><li class> <a href="/contact/redlands/"> Redlands </a> </li> </ul> </div> <a id="adaWidget" tabindex="0" class="menuAda" aria-label="Open accessibility menu" role="button">
153Accessibility <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg" role="img"> <title>Accessibility icon</title> <g clip-path="url(#clip0_3_2)"> <path d="M30 4.42857C44.1227 4.42857 55.5714 15.8773 55.5714 30C55.5714 44.1227 44.1227 55.5714 30 55.5714C15.8773 55.5714 4.42857 44.1227 4.42857 30C4.42857 15.8773 15.8773 4.42857 30 4.42857ZM30 6.42857C16.9819 6.42857 6.42857 16.9819 6.42857 30C6.42857 43.0181 16.9819 53.5714 30 53.5714C43.0181 53.5714 53.5714 43.0181 53.5714 30C53.5714 16.9819 43.0181 6.42857 30 6.42857ZM40.5936 24.6361C40.8208 24.6942 41.0323 24.8028 41.2129 24.9537C41.3927 25.1041 41.5373 25.2927 41.6362 25.506C41.7349 25.7185 41.7857 25.9505 41.7857 26.1965C41.778 26.578 41.6395 26.9452 41.3936 27.2353C41.1464 27.5268 40.8059 27.7221 40.4376 27.7857C38.1922 28.2018 35.9244 28.4828 33.6481 28.6271C33.5049 28.6367 33.3651 28.6759 33.2369 28.7424C33.1082 28.8091 32.994 28.9019 32.9012 29.0154C32.8079 29.1294 32.7383 29.2618 32.6967 29.4044C32.6759 29.4759 32.6623 29.5493 32.6557 29.6152L32.6511 29.7072L32.6599 29.8496L32.8523 31.5976C33.0926 33.7484 33.5345 35.8702 34.1701 37.9296L34.4174 38.6989L34.6846 39.4673L35.9271 42.8464C35.9992 43.0441 36.0318 43.2542 36.023 43.4646C36.0141 43.6751 35.964 43.8817 35.8755 44.0727C35.7867 44.2639 35.6611 44.4355 35.5059 44.5773C35.3502 44.7196 35.1677 44.829 34.99 44.8912C34.8134 44.9616 34.6253 44.9985 34.4204 45C34.1148 44.9943 33.8175 44.8987 33.5651 44.7253C33.4239 44.6283 33.2998 44.5091 33.189 44.3581L33.0827 44.196L33.0074 44.0456L32.6902 43.3563C31.8321 41.4806 31.0485 39.6428 30.3336 37.8221L30.0025 36.9627L29.5751 38.0696C29.3404 38.6637 29.0998 39.2561 28.8537 39.8465L28.4802 40.7305L27.9044 42.0505L27.3109 43.3601L27.0273 43.9426C26.881 44.3389 26.585 44.6608 26.2035 44.837C25.8203 45.0139 25.3832 45.0288 24.9892 44.8784C24.5966 44.7286 24.2796 44.4272 24.1073 44.0414C23.9886 43.7757 23.9447 43.4837 23.9834 43.1769L24.0166 42.9911L24.0668 42.8262L25.3079 39.4507C26.0439 37.4198 26.5852 35.3222 26.9239 33.1917L27.0415 32.3912L27.1413 31.5772L27.3403 29.8382C27.3582 29.6889 27.346 29.5376 27.3045 29.3935C27.2631 29.2497 27.1935 29.1162 27.1 29.0012C27.007 28.8867 26.8923 28.7929 26.7631 28.7253C26.6343 28.658 26.4937 28.6182 26.3535 28.6083C24.0561 28.4627 21.7692 28.1774 19.507 27.7543C19.3016 27.7166 19.1058 27.
1536379 18.9308 27.5231C18.7564 27.4085 18.6063 27.2602 18.489 27.0868C18.3721 26.9139 18.2902 26.7195 18.2479 26.5149C18.2055 26.3104 18.2035 26.0993 18.2404 25.902C18.2758 25.6952 18.3515 25.4975 18.4633 25.3202C18.5754 25.1425 18.7216 24.9892 18.8933 24.869C19.0655 24.7486 19.26 24.6643 19.4652 24.6211C19.6707 24.5779 19.8826 24.5768 20.0823 24.6167C26.6344 25.8478 33.3529 25.8478 39.898 24.618C40.1283 24.5717 40.366 24.5779 40.5936 24.6361ZM32.8056 16.183C34.352 17.7552 34.352 20.3006 32.8056 21.8729C31.2543 23.4501 28.7353 23.4501 27.184 21.8729C25.6376 20.3007 25.6376 17.7552 27.184 16.183C28.7353 14.6057 31.2543 14.6057 32.8056 16.183Z" fill="white"></path> </g> <defs> <clipPath id="clip0_3_2"> <rect width="60" height="60" fill="white"></rect> </clipPath> </defs> </svg> </a> <div class="mobile-social-icons"><a href="https://www.instagram.com/drcompoginis/" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-instagram" aria-label="View John M. Compoginis, M.D. INC Instagram Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-instagram" width="100" height="100" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.69166 0.0548132C3.8379 0.0922779 3.25627 0.231432 2.74935 0.42946C2.22108 0.63284 1.77819 0.911149 1.3353 1.35537C0.88707 1.7996 0.620268 2.24917 0.412163 2.77368C0.21473 3.28213 0.0813297 3.86551 0.0439775 4.71649C0.00662526 5.56747 -0.00404779 5.84043 0.00128825 8.01338C0.00128825 10.1863 0.0119595 10.4593 0.0546478 11.3103C0.097336 12.1613 0.230738 12.7393 0.433508 13.2477C0.636277 13.7722 0.91375 14.2218 1.35664 14.666C1.79953 15.1103 2.24776 15.3832 2.77603 15.5866C3.28295 15.7846 3.86458 15.9184 4.71834 15.9559C5.57211 15.9934 5.84424 16.0041 8.01601 15.9987C10.1878 15.9987 10.4599 15.988 11.3137 15.9452C12.1674 15.9024 12.7437 15.7686 13.256 15.5705C13.7789 15.3672 14.2272 15.0889 14.67 14.6446C15.1129 14.2004 15.3851 13.7508 15.5878 13.2263C15.7853 12.7179 15.9187 12.1345 15.956 11.2835C15.9934 10.4272 16.004 10.1596 15.9987 7.98662C15.9987 5.81367 15.9827 5.54071 15.9454 4.68973C15.9027 3.83875 15.7693 3.25537 15.5718 2.74692C15.3637 2.22241 15.0916 1.77819 14.6487 1.33396C14.2005 0.88974 13.7522 0.616783 13.2293 0.413404C12.7224 0.215376 12.1408 0.0815737 11.287 0.044109C10.4332 0.00664437 10.1611 -0.00405991 7.98933 0.00129218C5.81756 0.00129218 5.54543 0.0119965 4.69166 0.0548132ZM4.78771 14.5162C4.00865 14.4841 3.58177 14.3503 3.29896 14.2432C2.92543 14.0987 2.65863 13.9274 2.37582 13.6438C2.09301 13.3655 1.92226 13.0979 1.77819 12.7232C1.66613 12.4396 1.53807 12.0167 1.50071 11.2407C1.46336 10.3951 1.45269 10.1435 1.44735 8.00803C1.44735 5.87254 1.44735 5.62099 1.49004 4.77536C1.52206 3.99396 1.65546 3.57114 1.76218 3.28748C1.90625 2.91283 2.07701 2.64523 2.35982 2.36692C2.63729 2.08861 2.90409 1.91199 3.27761 1.76748C3.56042 1.65509 3.98197 1.52664 4.76103 1.48917C5.60412 1.45171 5.86025 1.44101 7.99466 1.43565C10.1291 1.43565 10.3852 1.43565 11.2283 1.47847C12.0074 1.51058 12.4342 1.63903 12.7117 1.75143C13.0852 1.89593 13.352 2.0672 13.6348 2.34551C13.9123 2.62382 14.0884 2.89142 14.2325 3.26607C14.3445 3.54438 14.4726 3.97255 14.51 4.7486C14.5473 5.59423 14.558 5.84578 14.5633 7.98127C14.5633 10.1168 14.5633 10.3683 14.5206 11.2139C14.4886 11.9953 14.3606 12.4182 14.2485 12.7018C14.1044 13.0765 13.9337 13.3441 13.6509 13.6224C13.3734 13.9007 13.1066 14.0773 12.7331 14.2218C12.4502 14.3342 12.0287 14.4627 11.2496 14.5001C10.4066 14.5376 10.1504 14.5483 8.01601 14.5536C5.8816 14.5536 5.62547 14.5536 4.78237 14.5162M11.3083 3.721C11.3083 4.25086 11.7406 4.67902 12.2688 4.67902C12.7971 4.67902 13.2293 4.2455 13.2293 3.71565C13.2293 3.18579 12.7971 2.75762 12.2635 2.75762C11.7352 2.75762 11.303 3.19114 11.303 3.721M3.89659 8.00803C3.89659 10.2773 5.74286 12.1131 8.01601 12.1077C10.2838 12.1077 12.1248 10.2613 12.1194 7.99197C12.1194 5.72268 10.2732 3.88691 8 3.89227C5.73219 3.89227 3.89126 5.73874 3.89659 8.00803ZM5.33732 8.00268C5.33732 6.53085 6.52726 5.33198 8 5.33198C9.47275 5.33198 10.668 6.52015 10.6734 7.99197C10.6734 9.4638 9.48342 10.6627 8.01067 10.6627C6.53793 10.6627 5.34266 9.4745 5.33732 8.00268Z"></path> <defs> <linearGradient id="instagram-icon-svg-gradient-" x1="0" y1="0" x2="16" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.facebook.com/Drcompoginis/" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-facebook" aria-label="View John M. Compoginis, M.D. INC Facebook Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-facebook" width="47" height="101" viewB
153ox="0 0 47 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31.3634 100.651V50.6455H44.9161L46.7122 33.4132H31.3634L31.3864 24.7883C31.3864 20.2938 31.8057 17.8856 38.1436 17.8856H46.6162V0.651367H33.0615C16.7802 0.651367 11.0496 9.01088 11.0496 23.069V33.4152H0.900879V50.6475H11.0496V100.651H31.3634Z"></path> <defs> <linearGradient id="facebook-icon-svg-gradient-" x1="0" y1="0" x2="47" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.youtube.com/@drcompoginis" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-youtube" aria-label="View John M. Compoginis, M.D. INC YouTube Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-youtube" width="98" height="101" viewBox="0 0 98 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M23.503 21.7716V39.6931C23.503 41.4348 24.9165 42.8483 26.6582 42.8483C28.3999 42.8483 29.8134 41.4348 29.8134 39.6931V21.7716L41.8031 5.78532C42.8506 4.33393 42.5183 2.3104 41.0669 1.26288C39.6155 0.215353 37.592 0.5477 36.5445 1.99909L26.4479 15.4612L16.5616 1.99909C15.5141 0.606597 13.5368 0.320526 12.1443 1.36805C10.7518 2.41557 10.4658 4.39283 11.5133 5.78532L23.503 21.7716ZM38.4376 20.7619V33.3827C38.4376 38.6119 42.6739 42.8483 47.9031 42.8483C53.1324 42.8483 57.3687 38.6119 57.3687 33.3827V20.7619C57.3687 15.5327 53.1324 11.2964 47.9031 11.2964C42.6739 11.2964 38.4376 15.5327 38.4376 20.7619ZM44.748 20.7619C44.748 19.0203 46.1615 17.6068 47.9031 17.6068C49.6448 17.6068 51.0583 19.0203 51.0583 20.7619V33.3827C51.0583 35.1244 49.6448 36.5379 47.9031 36.5379C46.1615 36.5379 44.748 35.1244 44.748 33.3827V20.7619ZM65.1936 39.4407C67.3559 41.603 70.2966 42.8146 73.355 42.8062C75.3701 42.7852 77.3432 42.2341 79.0764 41.2076C79.6191 42.1878 80.6498 42.7978 81.7689 42.8062C83.5105 42.8062 84.924 41.3927 84.924 39.651V14.4095C84.924 12.6678 83.5105 11.2543 81.7689 11.2543C80.0272 11.2543 78.6137 12.6678 78.6137 14.4095V31.2372C78.6137 34.14 76.2578 36.4958 73.355 36.4958C70.4522 36.4958 68.0964 34.14 68.0964 31.2372V14.4095C68.0964 12.6678 66.6828 11.2543 64.9412 11.2543C63.1995 11.2543 61.786 12.6678 61.786 14.4095V31.2372C61.7776 34.3166 63.0018 37.2741 65.1936 39.4407ZM76.5102 73.3064C76.5102 72.1453 75.5678 71.2029 74.4067 71.2029C73.2456 71.2029 72.3033 72.1453 72.3033 73.3064V75.4098H76.5102V73.3064ZM57.5791 71.2029C56.418 71.2029 55.4756 72.1453 55.4756 73.3064V81.7202C55.4756 82.8813 56.418 83.8237 57.5791 83.8237C58.7402 83.8237 59.6825 82.8813 59.6825 81.7202V73.3064C59.6825 72.1453 58.7402 71.2029 57.5791 71.2029ZM78.6137 50.1683H19.7168C9.26259 50.1683 0.785645 58.6453 0.785645 69.0995V81.7202C0.785645 92.1744 9.26259 100.651 19.7168 100.651H78.6137C89.0679 100.651 97.5448 92.1744 97.5448 81.7202V69.0995C97.5448 58.6453 89.0679 50.1683 78.6137 50.1683ZM32.3375 66.996H26.0272V85.843C26.0272 87.0041 25.0848 87.9465 23.9237 87.9465C22.7626 87.9465 21.8202 87.0041 21.8202 85.843V66.996H15.5099C14.3488 66.996 13.4064 66.0536 13.4064 64.8925C13.4064 63.7314 14.3488 62.7891 15.5099 62.7891H32.3375C33.4987 62.7891 34.441 63.7314 34.441 64.8925C34.441 66.0536 33.4987 66.996 32.3375 66.996ZM46.9776 85.9271C46.986 87.0883 46.0479 88.0348 44.8868 88.0432C44.3104 88.0474 43.7593 87.816 43.3597 87.3996C42.5225 87.8076 41.6012 88.0264 40.6672 88.0306C37.1839 88.0306 34.3569 85.2036 34.3569 81.7202V69.0995C34.3569 67.9384 35.2992 66.996 36.4603 66.996C37.6214 66.996 38.5638 67.9384 38.5638 69.0995V81.7202C38.5638 82.8813 39.5061 83.8237 40.6672 83.8237C41.8284 83.8237 42.7707 82.8813 42.7707 81.7202V69.0995C42.7707 67.9384 43.7131 66.996 44.8742 66.996C46.0353 66.996 46.9776 67.9384 46.9776 69.0995V85.9271ZM63.8053 81.7202C63.8053 85.2036 60.9783 88.0306 57.4949 88.0306C56.5315 88.02
15364 55.5808 87.795 54.7184 87.3575C53.8686 88.1484 52.535 88.0979 51.7441 87.2439C51.3907 86.8611 51.1888 86.3605 51.1845 85.843V60.6015C51.1845 59.4404 52.1269 58.498 53.288 58.498C54.4491 58.498 55.3915 59.4404 55.3915 60.6015V67.5429C56.0646 67.2947 56.7755 67.1685 57.4949 67.1643C60.9783 67.1643 63.8053 69.9913 63.8053 73.4747V81.7202ZM74.7012 88.0306C71.0496 87.8161 68.1595 84.8712 68.0122 81.2154V73.3064C68.0122 69.8231 70.8393 66.996 74.3226 66.996C77.8059 66.996 80.633 69.8231 80.633 73.3064V77.5133C80.633 78.6744 79.6906 79.6168 78.5295 79.6168H72.3033V81.2154C72.4421 82.549 73.4602 83.6218 74.7854 83.8237C75.753 83.8237 77.2674 83.403 77.2674 82.2671C77.2674 81.106 78.2098 80.1637 79.3709 80.1637C80.532 80.1637 81.4744 81.106 81.4744 82.2671C81.2809 85.6537 78.3739 88.2409 74.9873 88.0474C74.92 88.0432 74.8527 88.039 74.7854 88.0306H74.7012Z"></path> <defs> <linearGradient id="youtube-icon-svg-gradient-" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.yelp.com/biz/john-compoginis-md-newport-beach-2" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-yelp" aria-label="View John M. Compoginis, M.D. INC Yelp Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-yelp" width="75.75" height="101" viewBox="0 0 75.75 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <g> <path d="M29.457 71.4628L15.631 88.3984C13.685 90.9044 14.614 93.8917 17.466 95.3655L31.986 98.8984C35.2 100.832 38.91 98.7334 39.07 95.6005L39.77 73.1696C39.911 69.099 33.925 67.02 29.457 71.4628Z"></path> <path d="M27.1589 54.7571L6.6536 47.9634C3.7717 46.3325 0.711 49.0197 0.61315 52.9623L0.14648 68.0768C0.0485 71.876 3.3657 74.2866 6.6062 73.1073L28.3768 65.5756C32.861 63.4096 32.9542 57.4714 27.1589 54.7571Z"></path> <path d="M50.6675 57.1624L71.6635 51.2976C73.697 50.49 74.85 46.5158 72.594 43.4578L64.108 31.3795C61.731 28.2921 56.634 28.071 54.288 30.624L42.0335 48.7857C39.015 53.323 42.669 58.336 50.6675 57.1624Z"></path> <path d="M35.5957 5.6778C35.7697 2.9975 32.1927 -0.7654 28.6845 0.1927L12.0592 4.7407C8.4726 5.7126 6.9445 9.9578 9.1072 12.9918L28.1735 46.048C28.3295 46.3163 28.4983 46.5736 28.66 46.812C32.0233 51.2457 37.243 48.9027 38.6653 45.5158C38.872 44.9763 38.9342 44.4733 38.8803 43.983L35.5957 5.6778Z"></path> <path d="M72.469 71.6512L51.3815 65.7875C47.786 64.1554 45.4277 69.3124 48.3437 73.247L61.509 91.3039C63.292 93.8727 66.8777 94.0185 69.181 90.7815L77.412 80.913C79.717 77.6705 78.082 73.141 72.469 71.6512Z"></path> </g> <defs> <linearGradient id="yelp-icon-svg-gradient-" x1="0" y1="0" x2="101" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://maps.app.goo.gl/CHkgTwCaG5sdUePH6" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-googleBusinessProfile" aria-label="View John M. Compoginis, M.D. INC Google Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="101" height="101" viewBox="0 0 23 23" fill="none" class="nav-social-media-icon social-media-icon-googleBusinessProfile"> <path d="M0.265182 11.5C0.265182 5.4346 5.19978 0.5 11.2652 0.5C13.7148 0.5 16.0334 1.28812 17.9704 2.7792L15.4142 6.09973C14.2165 5.17783 12.7818 4.69048 11.2652 4.69048C7.51041 4.69048 4.45566 7.74523 4.45566 11.5C4.45566 15.2548 7.51041 18.3095 11.2652 18.3095C14.2893 18.3095 16.8593 16.3282 17.7449 13.5952H11.2652V9.40476H22.2652V11.5C22.2652 17.5654 17.3306 22.5 11.2652 22.5C5.19978 22.5 0.265182 17.5654 0.265182 11.5Z"></path> <defs> <linearGradient id="google-icon-svg-gradient-" x1="0" y1="0" x2="20" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.realself.com/dr/john-compoginis-pasadena-ca" target="_blank" rel="noreferrer" class="nav-social-media-icon-container social-media-icon-container-realSelf" aria-label="View John M. Compoginis, M.D. INC RealSelf Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="nav-social-media-icon social-media-icon-realSelf" width="101" height="101" viewB
153ox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0.151028 70.6487C0.468031 46.3273 8.32098 26.2914 25.343 11.7154C32.164 5.87585 39.8705 2.18154 48.3269 1.02993C55.701 0.0235476 62.8915 0.782794 69.448 5.34081C74.5288 8.87462 77.7382 14.1002 79.0369 20.7907C80.2524 27.0481 78.5865 32.4851 74.8983 37.0737C71.5403 41.2521 67.3995 44.3273 63.4556 47.67C60.6266 50.0675 57.7911 52.4497 55.9 56.0217C54.8746 57.9581 54.7107 60.0294 55.067 62.1594C55.4627 64.5288 57.1089 66.1391 59.2864 66.511C61.5557 66.8983 63.7813 66.5442 65.7577 65.2728C68.5561 63.4715 71.2123 61.3772 73.9495 59.4485C76.28 57.8077 78.534 55.9376 81.0089 54.6663C88.1622 50.9924 95.7812 54.6841 98.7807 63.1174C100.211 67.1378 100.589 71.2194 99.5 75.5379C97.2023 84.6463 92.3794 91.2477 85.307 95.714C82.4168 97.5382 79.4216 99.1484 76.092 99.5C74.6207 99.6554 73.0991 99.658 71.6408 99.4083C69.6295 99.0643 68.1757 96.1777 68.4446 93.5407C68.6872 91.161 69.5508 89.133 71.0484 87.5355C72.417 86.0756 73.9102 84.7762 75.3181 83.3673C76.0898 82.5953 76.855 81.7953 77.5262 80.9087C80.2371 77.3341 78.6849 72.2105 75.8624 70.2028C73.368 68.427 70.6898 68.3123 67.9745 69.413C64.8482 70.6792 62.3515 73.0997 59.8636 75.5405C57.0259 78.3227 54.3368 81.3647 50.9066 83.189C48.0514 84.7074 45.1306 85.2705 42.1814 83.4539C40.4367 82.3788 39.2518 80.6641 38.4188 78.6488C36.5015 74.0092 36.6349 69.2856 38.5784 64.7658C39.794 61.9403 41.3528 59.2906 42.9247 56.702C45.03 53.2395 47.389 49.986 49.4768 46.5133C52.649 41.2394 54.5379 35.4584 54.14 28.857C53.834 23.7665 52.5966 19.1525 49.1751 15.7257C45.6728 12.2199 41.7682 10.7829 37.1268 12.5333C34.0748 13.6823 31.3529 15.3766 28.6202 17.2977C24.2652 20.3627 21.4231 24.7525 19.4314 29.9883C17.5928 34.824 16.4866 39.9757 16.3991 45.242C16.3291 49.4994 16.7642 53.8 17.313 58.0243C17.689 60.9212 18.4017 63.8409 19.4117 66.5212C20.483 69.3646 22.0068 71.9914 23.4672 74.6131C25.5135 78.287 27.6801 81.9456 28.2944 86.3177C28.618 88.6209 28.4103 91.1865 27.879 93.4515C27.2122 96.2974 25.0938 97.9662 22.866 99.1229C14.7135 103.352 6.95677 98.2006 3.43038 90.175C1.26382 85.2425 0.428679 79.9329 0.159773 74.4704C0.0963719 73.2016 0.151028 71.9251 0.151028 70.6512V70.6487ZM51.3001 55.9962C51.2127 55.9606 52.2166 53.6736 52.1291 53.638C51.9521 54.0176 56.7538 69.2652 56.6291 69.6678C55.2606 74.0729 50.4431 66.7454 53.6132 69.6678C53.9105 69.9429 54.3171 70.1595 54.6888 70.1977C55.0014 70.2308 55.4868 70.0703 55.6201 69.8053C55.7557 69.5429 55.6573 68.9416 55.4693 68.6665C55.0451 68.0397 54.5139 67.5098 54.0067 66.9645C51.4947 64.2613 50.6093 60.9517 51.2499 57.0561C51.3067 56.7122 51.2826 56.3529 51.2979 56.0013L51.3001 55.9962ZM51.2728 8.972C51.7866 9.17582 53.1283 7.59427 53.5 7.5C56.4186 6.7433 58.4415 7.86625 61.5 7C59 9.5 53.1158 7.28535 51.2728 8.972ZM75.1607 60.4804C75.2066 60.7326 75.2525 60.9848 75.2962 61.2371C75.6876 61.2626 76.1751 61.474 76.4549 61.2804C78.1974 60.0778 79.9004 58.7988 81.5948 57.5046C81.7828 57.3619 81.8265 56.9619 81.938 56.6816C81.6778 56.6357 84.0773 62.3326 81.5948 59.4485C79.5791 60.7275 77.8607 65.7153 75.8624 67.0299L75.1607 60.4804ZM74.1265 88.8902C76.3434 88.5921 82.0522 85.5789 82.0937 83.5559C81.5 89 77 90.5 74.1265 88.8902Z"></path> <defs> <linearGradient id="realself-icon-svg-gradient-" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a></div> </menu>  </section> <div class="mobile-cta"> <a class="mobile-cta-right-link" href="tel:(949) 247-8543"> (949) 247-8543 </a><a class="mobile-cta-left-link" href="/consultation/"> Free Consultation </a> </div> <div class="overlay"></div> <div class="modal"> <div class="modal-background"></div> <div class="modal-content"></div> <button class="modal-close is-large" aria-label="close"></button> </div> 
153<script type="module">document.addEventListener("DOMContentLoaded",()=>{let n="",i="",a=!1;window.innerWidth>840&&document.querySelectorAll(".navigation-image-container").forEach(e=>{e.setAttribute("loading","eager")});const l=()=>{const e=document.querySelector(".header"),t=document.querySelector("body"),o=document.querySelector("html"),r=document.querySelector(".menu-button"),u=document.querySelector(".mega-menu"),s=document.querySelector(".overlay");e&&t&&r&&u&&s&&o&&(a=!a,e.classList.toggle("open",a),t.classList.toggle("navigation-open",a),o.classList.toggle("open",a),r.classList.toggle("is-active",a),r.setAttribute("aria-expanded",a.toString()),u.classList.toggle("is-active",a),s.classList.toggle("is-active",a))},c=()=>{document.querySelectorAll(".top-menu li").forEach(e=>{const t=e.querySelector("a[data-page-id]");if(t){const o=t.getAttribute("data-page-id");e.classList.toggle("active",o===n)}}),document.querySelectorAll(".main-menu").forEach(e=>{const t=e.getAttribute("data-page-id");e.classList.toggle("active",t===n)}),document.querySelectorAll(".highlight-color[data-column-id]").forEach(e=>{const t=e.getAttribute("data-column-id");e.parentElement?.classList.toggle("active",t===i)})},d=()=>{const e=window.innerWidth;if(document.querySelector(".top-menu")?.classList.contains("active")||document.querySelector(".top-menu")?.classList.add("active"),e<1024)n="",a&&l();else{const t=document.querySelectorAll("[data-page-id]");t.length>1&&(document.querySelector(".main-menu .current-page")?n=document.querySelector(".main-menu .current-page")?.closest(".main-menu")?.getAttribute("data-page-id"):n=t[0].getAttribute("data-page-id")||"")}c()};document.addEventListener("toggleNavigation",()=>{l()}),document.querySelector(".menu-back")?.addEventListener("click",()=>{n="",i="",document.querySelector(".top-menu")?.classList.add("active"),c()}),document.querySelectorAll(".top-menu a[data-page-id]").forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),document.querySelector(".top-menu")?.classList.remove("active"),n=e.getAttribute("data-page-id")||"",c()})}),document.querySelectorAll(".highlight-color[data-column-id]").forEach(e=>{e.addEventListener("click",()=>{i=e.getAttribute("data-column-id")||"",c()})}),document.querySelector(".overlay")?.addEventListener("click",()=>{a&&l()}),window.addEventListener("resize",d),d()});</script>
153 
153<script>(function(){const serializedData = {"navLinks":"{\"navLeftLinkText\":\"Free Consultation\",\"navLeftLinkText2\":\"Virtual Consultation\",\"navLeftLinkUrl\":\"/consultation/\",\"navLeftLinkUrl2\":\"/resources/virtual-consultation/\",\"navLeftSubtext\":\"\",\"navRightLinkText\":\"(949) 247-8543\",\"navRightLinkText2\":\"\",\"navRightLinkUrl\":\"tel:(949) 247-8543\",\"navRightLinkUrl2\":\"\",\"navRightSubtext\":\"Newport Beach, CA\",\"navRightSocials\":false,\"navLeftSocials\":true,\"mobileCtaLinks\":[]}","locationData":null};
154const domain = "johncompoginismd.com";
155const assetsBucket = "influx-site-assets";
156const siteId = "cb0e6891-3e32-4b7e-a98c-24e3098b197c";
157
158function getLocalSrcClient(src) {
159    if (!src || typeof src !== "string") {
160      return "";
161    }
162
163    const normalizedSrc = src.trim();
164    const queryStringIndex = normalizedSrc.indexOf("?");
165    const srcWithoutQueryString = queryStringIndex === -1 ? normalizedSrc : normalizedSrc.slice(0, queryStringIndex);
166    const queryString = queryStringIndex === -1 ? "" : normalizedSrc.slice(queryStringIndex);
167
168    let matchKey = null;
169    let staticPrefix = "/" + "_static_";
170
171    if (srcWithoutQueryString.startsWith(staticPrefix + "/")) {
172      return `${srcWithoutQueryString}${queryString}`;
173    }
174
175    // Determine the match key and its corresponding static prefix
176    if (srcWithoutQueryString && domain && srcWithoutQueryString.includes(`/${domain}/`)) {
177      matchKey = domain;
178    } else if (srcWithoutQueryString && siteId && srcWithoutQueryString.includes(`/${siteId}/`)) {
179      matchKey = siteId;
180    }
181
182    const baseImageUrl =
183      srcWithoutQueryString && matchKey && assetsBucket && srcWithoutQueryString.includes(assetsBucket) && srcWithoutQueryString.split(matchKey).length > 1
184        ? `${staticPrefix}${srcWithoutQueryString.split(matchKey)[1]}`
185        : srcWithoutQueryString;
186
187    return `${baseImageUrl}${queryString}`;
188  }
189
190  // Initialize state from serialized data
191  const navLinksState = JSON.parse(serializedData?.navLinks);
192  const locationData = serializedData.locationData ? JSON.parse(serializedData.locationData) : null;
193  // Save location data on location-aware pages, otherwise apply the saved navigation data.
194  if (locationData) {
195    const locationCookieData = {...navLinksState, ...locationData};
196    document.cookie = `locationNav=${JSON.stringify(locationCookieData)}; path=/`;
197  }
198  else {
199    const locationCookie = getCookie("locationNav");
200    if (locationCookie) {
201      const savedLocationData = JSON.parse(locationCookie);
202      setNavLinks({...navLinksState, ...savedLocationData});
203      document.addEventListener("DOMContentLoaded", () => setFooter(savedLocationData.footer));
204    }
205  }
206  
207  function getCookie(name) {
208    function escape(s) {
209      return s.replace(/([.*+?\^$(){}|\[\]\/\\])/g, "\\$1");
210    }
211    const match = document.cookie.match(RegExp("(?:^|;\\s*)" + escape(name) + "=([^;]*)"));
212    return match ? match[1] : null;
213  }
214
215  function setNavLinks(links) {
216
217    const leftLink = document.querySelector('.nav-left-link');
218    const leftSub = document.querySelector('.nav-left-subtext');
219    const rightLink = document.querySelector('.nav-right-link');
220    const rightSub = document.querySelector('.nav-right-subtext');
221
222    // Update left nav link
223    if (leftLink && links.navLeftLinkUrl && links.navLeftLinkText) {
224      leftLink.href = links.navLeftLinkUrl;
225      leftLink.textContent = links.navLeftLinkText;
226    }
227
228    // Optional second left link (if structure allows adding it dynamically)
229    if (links.navLeftLinkText2 && links.navLeftLinkUrl2) {
230      let secondLeftLink = document.querySelector('.second-nav-link-left');
231      // if (!secondLeftLink && leftLink?.parentElement) {
232      //   secondLeftLink = document.createElement('a');
233      //   secondLeftLink.className = 'nav-link nav-left-link second-nav-link-left';
234      //   leftLink.parentElement.appendChild(secondLeftLink);
235      // }
236      if (secondLeftLink) {
237        secondLeftLink.href = links.navLeftLinkUrl2;
238        secondLeftLink.textContent = links.navLeftLinkText2;
239      }
240    }
241
242    // Update left subtext
243    if (leftSub && links.navLeftSubtext) {
244      leftSub.textContent = links.navLeftSubtext;
245    }
246
247    // Update right nav link
248    if (rightLink && links.navRightLinkUrl && links.navRightLinkText) {
249      rightLink.href = links.navRightLinkUrl;
250      rightLink.textContent = links.navRightLinkText;
251    }
252
253    // Optional second right link (if structure allows adding it dynamically)
254    if (links.navRightLinkText2 && links.navRightLinkUrl2) {
255      let secondRightLink = document.querySelector('.second-nav-link-right');
256      // if (!secondRightLink && rightLink?.parentElement) {
257      //   secondRightLink = document.createElement('a');
258      //   secondRightLink.className = 'nav-link nav-right-link second-nav-link-right';
259      //   rightLink.parentElement.appendChild(secondRightLink);
260      // }
261      if (secondRightLink) {
262        secondRightLink.href = links.navRightLinkUrl2;
263        secondRightLink.textContent = links.navRightLinkText2;
264      }
265    }
266
267    // Update right subtext
268    if (rightSub && links.navRightSubtext) {
269      rightSub.textContent = links.navRightSubtext;
270    }
271    if (links.mobileCtaLinks && links.mobileCtaLinks.length > 0) {
272      let mobileCta = document.querySelector(".mobile-cta");
273      mobileCta.innerHTML = "";
274      let mobileCtaHtml = "";
275      {links.mobileCtaLinks.forEach((ctaLink) => {
276        let ariaLabel = ctaLink.url.startsWith("http")
277                ? `Open ${ctaLink.mobileCtaLinkText} in a new tab`
278                : null;
279        mobileCtaHtml += `
280          <a class="mobile-cta-link mobile-cta-link-icon" href="${ctaLink.url}" ${ariaLabel ? `target="_blank"` : ""} ${ariaLabel ? `rel="noopener"` : ""} ${ariaLabel ? `aria-label=${ariaLabel}` : ""}>
281            ${ctaLink.icon ? `<img loading="lazy" src="${getLocalSrcClient(ctaLink.icon)}" alt="${ctaLink.iconAlt}" />` : ""}
282            ${ctaLink.displayTitle || ""}
283          </a>`
284        }
285      )}
286      mobileCta.innerHTML = mobileCtaHtml;
287    }
288    else {
289      let rightMobileCta = document.querySelector(".mobile-cta-right-link");
290      let leftMobileCta = document.querySelector(".mobile-cta-left-link");
291      if (rightMobileCta && links.navRightLinkUrl && links.navRightLinkText) {
292        rightMobileCta.href = links.navRightLinkUrl;
293        rightMobileCta.innerText = links.navRightLinkText;
294      }
295      if (leftMobileCta && links.navLeftLinkUrl && links.navLeftLinkText) {
296        leftMobileCta.href = links.navLeftLinkUrl;
297        leftMobileCta.innerText = links.navLeftLinkText;
298      }
299    }
300
301
302  }
303
304  function setFooter(footer) {
305    if (!footer) return;
306
307    const setText = (selector, value, prefix = "") => {
308      if (value === undefined || value === null || value === "") return;
309      document.querySelectorAll(selector).forEach(element => {
310        element.textContent = `${prefix}${value}`;
311      });
312    };
313
314    setText("[data-location-footer-address-line-1]", footer.addressLine1);
315    setText("[data-location-footer-address-line-2]", footer.addressLine2, " ");
316    setText("[data-location-footer-city]", footer.city);
317    setText("[data-location-footer-state]", footer.state);
318    setText("[data-location-footer-zip]", footer.zip);
319
320    if (footer.googleMapUrl) {
321      document.querySelectorAll("[data-location-footer-address-link]").forEach(link => link.href = footer.googleMapUrl);
322    }
323
324    if (footer.phoneNumber) {
325      document.querySelectorAll("[data-location-footer-phone-link]").forEach(link => {
326        link.href = `tel:${footer.phoneNumber}`;
327        (link.querySelector("p") || link).textContent = footer.phoneNumber;
328      });
329    }
330
331    if (footer.hoursOfOperation) {
332      document.querySelectorAll("[data-location-footer-hours]").forEach(hours => {
333        hours.innerHTML = footer.hoursOfOperation.split(",").join("<br />");
334        hours.hidden = false;
335      });
336    }
337
338    document.querySelectorAll("[data-location-footer-rating-link]").forEach(link => {
339      if (footer.rating !== undefined && footer.rating !== null && footer.rating !== "") {
340        link.querySelector(".ratings-number").textContent = footer.rating;
341      }
342      if (footer.reviewCount !== undefined && footer.reviewCount !== null && footer.reviewCount !== "") {
343        link.querySelector(".ratings-text").textContent = `from ${footer.reviewCount}+ Reviews`;
344      }
345      if (footer.ratingsLink) {
346        link.href = footer.ratingsLink;
347        const externalLink = footer.ratingsLink.startsWith("http");
348        link.target = externalLink ? "_blank" : "";
349        link.rel = externalLink ? "noopener" : "";
350        link.ariaLabel = externalLink ? "View more testimonials (Opens in a new tab)" : "";
351      }
352      if (footer.rating !== undefined && footer.rating !== null && footer.rating !== ""
353        && footer.reviewCount !== undefined && footer.reviewCount !== null && footer.reviewCount !== "") {
354        link.hidden = false;
355      }
356    });
357  }
358
359	const resizeObserver = new ResizeObserver((entries) => {
360  if (document.querySelector("html").classList.contains("open")) return;
361  for (const entry of entries) {
362    if (entry.contentBoxSize) {
363      const navbar = document.querySelector(".navbar");
364      const header = document.querySelector(".header");
365
366      if (navbar) {
367        const navHeight = navbar.getBoundingClientRect().height;
368        document.body.style.setProperty("--navbar-height", `${navHeight}px`);
369      }
370
371      if (header) {
372        const headerHeight = header.getBoundingClientRect().height;
373        document.body.style.setProperty("--header-height", `${headerHeight}px`);
374      }
375    }
376  }
377});
378
379const header = document.querySelector(".header");
380const headerHeight = header.getBoundingClientRect().height;
381document.body.style.setProperty("--header-height", `${headerHeight}px`);
382resizeObserver.observe(header);
383
384})();</script>
384 
384<script>(function(){const disableScrolledClassToggle = false;
385
386(() => {
387  if (typeof window === 'undefined') return;
388
389  const html = document.documentElement;
390  if (html) html.style.scrollBehavior = "smooth";
391
392  if (!disableScrolledClassToggle) {
393    let headerHeight = parseFloat(getComputedStyle(document.body).getPropertyValue("--header-height"))
394    // turn on scrolled 60% of header height, off at 20% - this is updated as the header height changes
395    let SCROLL_ON = headerHeight * .6;
396    let SCROLL_OFF = headerHeight * .2;
397
398    let isScrolled = window.scrollY > SCROLL_ON;
399    document.body.classList.toggle("scrolled", isScrolled);
400
401    let squelchUntil = 0;
402
403    const toggleScrolled = (y) => {
404      if (!isScrolled && y > SCROLL_ON) {
405        isScrolled = true;
406        document.body.classList.add("scrolled");
407        squelchUntil = performance.now() + 200;
408        setTimeout(() => {
409          headerHeight = parseFloat(getComputedStyle(document.body).getPropertyValue("--header-height"))
410          SCROLL_ON = headerHeight * .6;
411          SCROLL_OFF = headerHeight * .2;
412        }, 400)
413      } else if (isScrolled && y < SCROLL_OFF) {
414        isScrolled = false;
415        document.body.classList.remove("scrolled");
416        squelchUntil = performance.now() + 200;
417        setTimeout(() => {
418          headerHeight = parseFloat(getComputedStyle(document.body).getPropertyValue("--header-height"))
419          SCROLL_ON = headerHeight * .6;
420          SCROLL_OFF = headerHeight * .2;
421        }, 400)
422      }
423    };
424
425    const rafThrottle = (fn) => {
426      let ticking = false;
427      return (...args) => {
428        if (!ticking) {
429          ticking = true;
430          requestAnimationFrame(() => { ticking = false; fn(...args); });
431        }
432      };
433    };
434
435    const handleScroll = () => toggleScrolled(window.scrollY);
436    window.addEventListener("scroll", rafThrottle(handleScroll), { passive: true });
437  }
438
439  const animateIn = (entries, observer) => {
440    entries.forEach(entry => {
441      if (entry.isIntersecting && !entry.target.classList.contains("animated")) {
442        entry.target.classList.add("animated");
443        observer.unobserve(entry.target);
444      }
445    });
446  };
447
448  const animateObserver = new IntersectionObserver(animateIn, { threshold: 0 });
449  const observedElements = new WeakSet();
450
451  const observeNewElements = () => {
452    document.querySelectorAll(".animate:not(.animated)").forEach(element => {
453      if (!observedElements.has(element)) {
454        observedElements.add(element);
455        animateObserver.observe(element);
456      }
457    });
458  };
459
460  observeNewElements();
461  setInterval(observeNewElements, 500);
462})();
463})();</script>
463 <section class="masthead-outer-container contact-masthead-outer">  <div class="default-masthead-container subpage-masthead-container animate fadeIn animated ">  <div class="masthead__image"> <div data-gatsby-image-wrapper="" data-initial-width="2600" data-initial-height="1418" class="gatsby-image-wrapper gatsby-image-wrapper-fullWidth animate zoomOutFadeIn gatsby-subpage-masthead-container " style id="gatsby-img-py96tuq8p"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='1418' width='2600' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover; object-position: 57.75% 21.00310201805444%" decoding="async" loading="eager" fetchpriority="high" class alt="Professional women chatting in an office setting." src="/_static_/masthead/about-01.jpg" srcset="/_static_/masthead/@720@/about-01.jpg 720w, /_static_/masthead/@1080@/about-01.jpg 1080w, /_static_/masthead/@1620@/about-01.jpg 1620w, /_static_/masthead/about-01.jpg 2600w" sizes="100vw"></picture></div>  </div> <div class="masthead__content__subpage">  <h1 class="title-lg white">Come Visit Us!</h1><p class="lead white uppercase">Conveniently located in Newport Beach</p>    </div> </div> </section> 
463<script>(function(){const serializedData = {"hasMultipleImages":false};
464
465  document.addEventListener('DOMContentLoaded', () => {
466    const { hasMultipleImages } = serializedData;
467    
468    if (hasMultipleImages) {
469      let mastheadIterator = 1;
470
471      // Initial fade out of first image
472      setTimeout(() => {
473        document.querySelectorAll(".masthead__image .masthead_image_container.masthead-image-1").forEach(e => {
474          e.classList.add('fadeOutMasthead');
475        });
476      }, 7100);
477
478      // Remove first-load and fadeOutMasthead classes
479      setTimeout(() => {
480        document.querySelectorAll(".masthead__image .masthead_image_container.masthead-image-1").forEach(e => {
481          e.classList.remove('first-load');
482          e.classList.remove('fadeOutMasthead');
483        });
484      }, 10000);
485
486      // Image rotation interval
487      setInterval(() => {
488        mastheadIterator = mastheadIterator >= 4 ? 1 : mastheadIterator + 1;
489        document.querySelectorAll(".masthead__image .masthead_image_container").forEach(e => {
490          e.classList.remove('fx');
491        });
492        document.querySelectorAll(`.masthead__image .masthead_image_container.masthead-image-${mastheadIterator}`).forEach(e => {
493          e.classList.add('fx');
494        });
495      }, 7000);
496    }
497  });
498})();</script>
498  <section class="contact-form-container inline-form-container pv100 mb150 box-shadow-smooth animate fadeIn no-delay full-width-background-image-container " id><div data-gatsby-image-wrapper="" data-initial-width="2600" data-initial-height="1040" class="gatsby-image-wrapper gatsby-image-wrapper-constrained contact-form-background-image full-width-background-image animate fadeIn " style id="gatsby-img-lan2fcint"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='1040' width='2600' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover" decoding="async" loading="lazy" fetchpriority="low" class alt="Form Background" src="/_static_/background/cta.jpg" srcset="/_static_/background/@720@/cta.jpg 720w, /_static_/background/@1080@/cta.jpg 1080w, /_static_/background/@1620@/cta.jpg 1620w, /_static_/background/cta.jpg 2600w" sizes="100vw"></picture></div><div class="container inline-form-container"><div class="mw1600"><div class="inline-schedule-consult"><div class="flexy gap50 contact-form-flexy"><div class="flexy-item contact-form-flexy-form-container"><div class="contact-form"><form data-influx-form="{&#34;redirectOnSubmit&#34;:false,&#34;redirectUrl&#34;:null,&#34;webhookUrl&#34;:null,&#34;thankYouTitle&#34;:&#34;Thank you for your submission!&#34;,&#34;thankYouSubtitle&#34;:null,&#34;thankYouParagraph1&#34;:&#34;<p>We'll get back to you as soon as possible.</p>&#34;}" action="https://forms.influx.mx/form" method="POST" name="Consulation-Form" id="Consulation-Form" aria-label="Consulation Form" class="form" data-submitting="false" data-submitted="false" data-error="false" enctype="multipart/form-data"><input type="hidden" name="formId" value="ecd2ee8c-cf9f-4f4a-a84f-6c696b2a4fc8"><input type="hidden" name="siteId" value="cb0e6891-3e32-4b7e-a98c-24e3098b197c"><input type="hidden" name="gtagevent" value="consulation_form">
499        <div class="input-wrap-is-full">
500          <input
501            
502    
503    name="Full-Name"
504    aria-label="Full Name"
505    aria-required="true"
506    placeholder="Full Name *"
507    required
508    
509  
510            type="text"
511          />
512        </div>
513      
514        <div class="input-wrap-is-one-third">
515          <input
516            
517    
518    name="Email"
519    aria-label="Email"
520    aria-required="true"
521    placeholder="Email *"
522    required
523    
524  
525            type="email"
526          />
527        </div>
528      
529        <div class="input-wrap-is-one-third">
530          <input
531            
532    
533    name="Phone-Number"
534    aria-label="Phone Number"
535    aria-required="true"
536    placeholder="Phone Number *"
537    required
538    
539  
540            pattern="[\+]?[0-9]{0,2}[\-\s\.]?[\(]?[0-9]{3}[\)]?[\-\s\.]?[0-9]{3}[\-\s\.]?[0-9]{4,6}"
541            type="tel"
542          />
543        </div>
544      
545        <div class="input-wrap-is-one-third">
546          <label for="Date-of-Birth">
547            Date of Birth *
548          </label>
549          <input
550            
551    
552    name="Date-of-Birth"
553    aria-label="Date of Birth"
554    aria-required="true"
555    placeholder="Date of Birth *"
556    required
557    
558  
559            type="date"
560          />
561        </div>
562      
563        <div class="input-wrap-is-one-third">
564          <select
565            data-combobox
566            
567    
568    name="Procedure-of-Interest"
569    aria-label="Procedure of Interest"
570    aria-required="true"
571    placeholder="Procedure of Interest *"
572    required
573    
574  
575            multiple
576            placeholder="Procedure of Interest*"
577          >
578            
579            <optgroup label="Breast & Body"><option value="Brazilian Butt Lift">Brazilian Butt Lift</option><option value="Liposuction and Lipo 360">Liposuction and Lipo 360</option><option value="Mommy Makeover">Mommy Makeover</option><option value="Tummy Tuck">Tummy Tuck</option><option value="Post-Weight Loss Surgery">Post-Weight Loss Surgery</option><option value="Breast Augmentation">Breast Augmentation</option><option value="Breast Lift">Breast Lift</option><option value="Men’s Plastic Surgery Procedures">Men’s Plastic Surgery Procedures</option></optgroup><optgroup label="Face"><option value="Facelift">Facelift</option><option value="Lip Enhancement">Lip Enhancement</option><option value="Rhinoplasty">Rhinoplasty</option><option value="Liquid Facelift Laser & Energy:RF Microneedling">Liquid Facelift Laser & Energy:RF Microneedling</option><option value="CO2 laser">CO2 laser</option></optgroup><option value="Other">Other</option>
580          </select>
581        </div>
582      
583        <div class="input-wrap-is-one-third">
584          <select
585            
586    
587    name="How-Did-You-Hear-of-Us"
588    aria-label="How Did You Hear of Us?"
589    aria-required="true"
590    placeholder="How Did You Hear of Us? *"
591    required
592    
593  
594          >
595            <option disabled selected value="">
596              How Did You Hear of Us?*
597            </option>
598            <option value="Friend">Friend</option><option value=" Co-Worker"> Co-Worker</option><option value=" Previous Patient"> Previous Patient</option><option value=" Online Search"> Online Search</option><option value=" Instagram"> Instagram</option><option value=" Facebook"> Facebook</option><option value=" YouTube"> YouTube</option><option value=" Medspa"> Medspa</option><option value=" Referral"> Referral</option><option value=" Dr. Referral"> Dr. Referral</option><option value="
599Local Event/Connection">
600Local Event/Connection</option><option value=" Other"> Other</option>
601          </select>
602        </div>
603      
604        <div class="input-wrap-is-one-third">
605          <select
606            
607    
608    name="Best-Time-To-Reach-You"
609    aria-label="Best Time To Reach You"
610    aria-required="true"
611    placeholder="Best Time To Reach You *"
612    required
613    
614  
615          >
616            <option disabled selected value="">
617              Best Time To Reach You*
618            </option>
619            <option value="Morning">Morning</option><option value="Afternoon">Afternoon</option>
620          </select>
621        </div>
622      
623        <div class="input-wrap-is-full">
624          <select
625            
626    
627    name="Preferred-Location"
628    aria-label="Preferred Location"
629    aria-required="true"
630    placeholder="Preferred Location *"
631    required
632    
633  
634          >
635            <option disabled selected value="">
636              Preferred Location*
637            </option>
638            <option value="Newport Beach">Newport Beach</option><option value=" Readlands"> Readlands</option>
639          </select>
640        </div>
641      
642        <div class="input-wrap-is-full">
643          <textarea
644            
645    
646    name="How-can-we-assist-your-aesthetic-needs"
647    aria-label="How can we assist your aesthetic needs?"
648    aria-required="true"
649    placeholder="How can we assist your aesthetic needs? *"
650    required
651    
652  
653            maxlength="280"
654          ></textarea>
655        </div>
656      
657        <div class="input-wrap-is-full">
658          <label for="Upload-Documents">
659            Upload Documents *
660          </label>
661          <div class="relative" data-influx-file-input id="file-input-b3ca8413-06e9-4641-8aaa-8eb909826790">
662            <input
663            
664    
665    name="Upload-Documents"
666    aria-label="Upload Documents"
667    aria-required="true"
668    placeholder="Upload Documents *"
669    required
670    
671  
672              type="file"
673              accept="image/*,.pdf,application/pdf"
674            />
675            <div id="file-preview-container" class="form-file-input-preview" style="display: none;">
676              <img id="file-preview" alt="File preview" />
677            </div>
678          </div>
679        </div>
680      
681        <div class="input-wrap-is-full checkbox-flex">
682          <input
683            class="width-auto"
684            id="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
685            
686    
687    name="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
688    aria-label="I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
689    
690    placeholder="I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
691    
692    
693  
694            type="checkbox"
695          />
696          <label for="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime">
697            I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime
698          </label>
699        </div>
700      
701        <div class="input-wrap-is-full checkbox-flex">
702          <input
703            class="width-auto"
704            id="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
705            
706    
707    name="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
708    aria-label="I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
709    
710    placeholder="I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
711    
712    
713  
714            type="checkbox"
715          />
716          <label for="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime">
717            I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime
718          </label>
719        </div>
720      
721        <div class="input-wrap-is-full form-info">
722          <p class="ql-align-center"><a href="/privacy-policy/">Privacy Policy</a> | <a href="/terms-of-use/">Terms of Use</a></p>
723        </div>
724      <div class="input-wrap-is-full" style="display:none"><input name="ZipCode" placeholder="Zip Code*" type="number" aria-hidden="true"></div><button type="submit" class="button contact-form-button">Schedule Consultation<svg class="arrow contact-form-button-arrow" width="18" height="10" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 1.3252L17 5.3252M17 5.3252L12.5 9.3252M17 5.3252H1" stroke="white" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></form><div class="form-message" style="display: none;"><div class="card"><div class="error-message" style="display: none;"><h2 class="ipj-link thank-you-form-title title-md">Error with Form Submission</h2><div class="thank-you-form-text-container"><p>There was an error processing your form. Please try again later.</p></div></div><div class="success-message" style="display: none;"><h2 class="ipj-link thank-you-form-title title-md">Thank you for your submission!</h2><div class="thank-you-form-text-container"><p>We'll get back to you as soon as possible.</p></div></div></div></div></div></div></div></div></div></div>
724<script>
725!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,(function(){"use strict";class t{constructor(t){t||(t={}),this.main=t.main||"ss-main",this.placeholder=t.placeholder||"ss-placeholder",this.values=t.values||"ss-values",this.single=t.single||"ss-single",this.max=t.max||"ss-max",this.value=t.value||"ss-value",this.valueText=t.valueText||"ss-value-text",this.valueDelete=t.valueDelete||"ss-value-delete",this.valueOut=t.valueOut||"ss-value-out",this.deselect=t.deselect||"ss-deselect",this.deselectPath=t.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=t.arrow||"ss-arrow",this.arrowClose=t.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=t.arrowOpen||"M10,70 L50,30 L90,70",this.content=t.content||"ss-content",this.openAbove=t.openAbove||"ss-open-above",this.openBelow=t.openBelow||"ss-open-below",this.search=t.search||"ss-search",this.searchHighlighter=t.searchHighlighter||"ss-search-highlight",this.searching=t.searching||"ss-searching",this.addable=t.addable||"ss-addable",this.addablePath=t.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=t.list||"ss-list",this.optgroup=t.optgroup||"ss-optgroup",this.optgroupLabel=t.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=t.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=t.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=t.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=t.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=t.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=t.optgroupClosable||"ss-closable",this.option=t.option||"ss-option",this.optionDelete=t.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=t.highlighted||"ss-highlighted",this.open=t.open||"ss-open",this.close=t.close||"ss-close",this.selected=t.selected||"ss-selected",this.error=t.error||"ss-error",this.disabled=t.disabled||"ss-disabled",this.hide=t.hide||"ss-hide"}}function e(){return Math.random().toString(36).substring(2,10)}function s(t,e=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,s||t.apply(a,n)}),e),l&&t.apply(a,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectedOrder=[],this.selectType=t,this.setData(e)}validateDataArray(t){if(!Array.isArray(t))return new Error("Data must be an array");for(let e of t)if(e instanceof n||"label"in e){if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){const e=this.validateOption(t);if(e)return e}}else{if(!(e instanceof a||"text"in e))return new Error("Data object must be a valid optgroup or option");{const t=this.validateOption(e);if(t)return t}}return null}validateOption(t){return"text"in t?null:new Error("Option must have a text")}partialToFullData(t){let e=[];return t.forEach((t=>{if(t instanceof n||"label"in t){let s=[];"options"in t&&t.options&&t.options.forEach((t=>{s.push(new a(t))})),s.length>0&&e.push(new n(t))}(t instanceof a||"text"in t)&&e.push(new a(t))})),e}setData(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("id",this.get
725Selected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t,e=!1){if(e){let e=[new a(t)];this.setData(e.concat(this.getData()))}else this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;const l=[];for(let o of this.data){if(o instanceof n)for(let n of o.options)s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&(l.push(n),"single"===this.selectType&&(i=!0));o instanceof a&&(s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&(l.push(o),"single"===this.selectType&&(i=!0)))}"single"===this.selectType&&s&&!i&&(s.selected=!0,l.push(s));const o=e.map((e=>{var s;return(null===(s=l.find((s=>s[t]===e)))||void 0===s?void 0:s.id)||""}));this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map((t=>t.id))}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}getSelectedOptions(){return this.filter((t=>t.selected),!1)}getOptgroupByID(t){for(let e of this.data)if(e instanceof n&&e.id===t)return e;return null}getOptionByID(t){let e=this.filter((e=>e.id===t),!1);return e.length?e[0]:null}getSelectType(){return this.selectType}getFirstOption(){let t=null;for(let e of this.data)if(e instanceof n?t=e.options[0]:e instanceof a&&(t=e),t)break;return t}search(t,e){return""===(t=t.trim())?this.getData():this.filter((s=>e(s,t)),!0)}filter(t,e){const s=[];return this.data.forEach((i=>{if(i instanceof n){let l=[];if(i.options.forEach((i=>{t&&!t(i)||(e?l.push(new a(i)):s.push(new a(i)))})),l.length>0){let t=new n(i);t.options=l,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))})),s}selectedOrderOptions(t){const e=[];return this.selectedOrder.forEach((s=>{const i=t.find((t=>t.id===s));i&&e.push(i)})),t.forEach((t=>{let s=!1;e.forEach((e=>{t.id!==e.id||(s=!0)})),s||e.push(t)})),e}}class o{constructor(t,e,s,i){this.store=s,this.settings=t,this.classes=e,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation&&this.settings.contentLocation.appendChild(this.content.main)}enable(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}disable(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const t=this.store.getSelectedOptions();if(t.length){const e=t[t.length-1].id,s=this.content.list.querySelector('[data-id="'+e+'"]');s&&this.ensureElementInView(this.content.list,s)}}close(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(const t of this.settings.class)""!==t.trim()&&(this.main.main.classList.add(t.trim()),this.content.main.classList.add(t.trim()));"relative"!==this.settings.contentPosition&&"fixed"!==this.settings.contentPosition||this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}mainDiv(){var t;const e=document.createElement("div");e.dataset.id=this.settings.id,e.setAttribute("aria-label",this.settings.ariaLabel),e.tabIndex=0,e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const e=this.content.list.querySelector("."+this.classes.highlighted);return e&&e.click(),!1;case"Escape":return this.callbacks.close(),!1}return 1===t.key.length&&this.callbacks.open(),!0},e.onclick=t=>{this.settings.disabled||(this.settings.isOpen?this.callbacks.close():this.callbacks.open())};const s=document.createElement("div");s.classList.add(this.classes.values),e.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.deselect);const n=null===(t=this.store)||void 0===t?void 0:t.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&n&&n.length<=0?i.classList.add(this.classes.hide):i.classList.remove(this.classes.hide),i.onclick=t=>{if(t.stopPropagation(),this.settings.disabled)return;let e=!0;const s=this.store.getSelectedOptions(),i=[];if(this.callbacks.beforeChange&&(e=!0===this.callbacks.beforeChange(i,s)),e){if(this.settings.isMultiple)this.callbacks.setSelected([],!1),this.updateDeselectAll();else{const t=this.store.getFirstOption(),e=t?t.id:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),e.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),e.appendChild(o),{main:e,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}
725mainFocus(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}placeholder(){const t=this.store.filter((t=>t.placeholder),!1);let e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));const s=document.createElement("div");return s.classList.add(this.classes.placeholder),s.innerHTML=e,s}renderValues(){this.settings.isMultiple?(this.renderMultipleValues(),this.updateDeselectAll()):this.renderSingleValue()}renderSingleValue(){const t=this.store.filter((t=>t.selected&&!t.placeholder),!1),e=t.length>0?t[0]:null;if(e){const t=document.createElement("div");t.classList.add(this.classes.single),e.html?t.innerHTML=e.html:t.innerText=e.text,this.main.values.innerHTML=t.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}renderMultipleValues(){let t=this.main.values.childNodes,e=this.store.filter((t=>t.selected&&t.display),!1);if(0===e.length)return void(this.main.values.innerHTML=this.placeholder().outerHTML);{const t=this.main.values.querySelector("."+this.classes.placeholder);t&&t.remove()}if(e.length>this.settings.maxValuesShown){const t=document.createElement("div");return t.classList.add(this.classes.max),t.textContent=this.settings.maxValuesMessage.replace("{number}",e.length.toString()),void(this.main.values.innerHTML=t.outerHTML)}{const t=this.main.values.querySelector("."+this.classes.max);t&&t.remove()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let s=[];for(let i=0;i<t.length;i++){const n=t[i],a=n.getAttribute("data-id");if(a){e.filter((t=>t.id===a),!1).length||s.push(n)}}for(const t of s)t.classList.add(this.classes.valueOut),setTimeout((()=>{this.main.values.hasChildNodes()&&this.main.values.contains(t)&&this.main.values.removeChild(t)}),100);t=this.main.values.childNodes;for(let s=0;s<e.length;s++){let i=!0;for(let n=0;n<t.length;n++)e[s].id===String(t[n].dataset.id)&&(i=!1);i&&(this.settings.keepOrder||0===t.length?this.main.values.appendChild(this.multipleValue(e[s])):0===s?this.main.values.insertBefore(this.multipleValue(e[s]),t[s]):t[s-1].insertAdjacentElement("afterend",this.multipleValue(e[s])))}}multipleValue(t){const e=document.createElement("div");e.classList.add(this.classes.value),e.dataset.id=t.id;const s=document.createElement("div");if(s.classList.add(this.classes.valueText),s.textContent=t.text,e.appendChild(s),!t.mandatory){const s=document.createElement("div");s.classList.add(this.classes.valueDelete),s.onclick=e=>{if(e.preventDefault(),e.stopPropagation(),this.settings.disabled)return;let s=!0;const i=this.store.getSelectedOptions(),l=i.filter((e=>e.selected&&e.id!==t.id),!0);if(!(this.settings.minSelected&&l.length<this.settings.minSelected)&&(this.callbacks.beforeChange&&(s=!0===this.callbacks.beforeChange(l,i)),s)){let t=[];for(const e of l){if(e instanceof n)for(const s of e.options)t.push(s.id);e instanceof a&&t.push(e.id)}this.callbacks.setSelected(t,!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(l),this.updateDeselectAll()}};const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optionDelete),i.appendChild(l),s.appendChild(i),e.appendChild(s)}return e}contentDiv(){const t=document.createElement("div");t.dataset.id=this.settings.id;const e=this.searchDiv();t.appendChild(e.main);const s=this.listDiv();return t.appendChild(s),{main:t,search:e,list:s}}moveContent(){"relative"!==this.settings.contentPosition&&"down"!==this.settings.openPosition?"up"!==this.settings.openPosition?"up"===this.putContent()?this.moveContentAbove():this.moveContentBelow():this.moveContentAbove():this.moveContentBelow()}searchDiv(){const t=document.createElement("div"),e=document.createElement("input"),i=document.createElement("div");t.classList.add(this.classes.search);const n={main:t,input:e};if(this.settings.showSearch||(t.classList.add(this.classes.hide),e.readOnly=!0),e.type="search",e.placeholder=this.settings.searchPlaceholder,e.tabIndex=-1,e.setAttribute("aria-label",this.settings.searchPlaceholder),e.setAttribute("autocapitalize","off"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.oninput=s((t=>{this.callbacks.search(t.target.value)}),100),e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case" ":const e=this.content.list.querySelector("."+this.classes.highlighted);return!e||(e.click(),!1);
725case"Enter":if(this.callbacks.addable)return i.click(),!1;{const t=this.content.list.querySelector("."+this.classes.highlighted);if(t)return t.click(),!1}return!0}return!0},t.appendChild(e),this.callbacks.addable){i.classList.add(this.classes.addable);const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("viewBox","0 0 100 100");const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("d",this.classes.addablePath),e.appendChild(s),i.appendChild(e),i.onclick=t=>{if(t.preventDefault(),t.stopPropagation(),!this.callbacks.addable)return;const e=this.content.search.input.value.trim();if(""===e)return void this.content.search.input.focus();const s=t=>{let e=new a(t);if(this.callbacks.addOption(e),this.settings.isMultiple){let t=this.store.getSelected();t.push(e.id),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.id],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout((()=>{this.callbacks.close()}),100)},i=this.callbacks.addable(e);!1!==i&&null!=i&&(i instanceof Promise?i.then((t=>{"string"==typeof t?s({text:t,value:t}):i instanceof Error?this.renderError(i.message):s(t)})):"string"==typeof i?s({text:i,value:i}):i instanceof Error?this.renderError(i.message):s(i))},t.appendChild(i),n.addable={main:i,svg:e,path:s}}return n}searchFocus(){this.content.search.input.focus()}getOptions(t=!1,e=!1,s=!1){let i="."+this.classes.option;return t&&(i+=":not(."+this.classes.placeholder+")"),e&&(i+=":not(."+this.classes.disabled+")"),s&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(t){const e=this.getOptions(!0,!0,!0);if(0===e.length)return;if(1===e.length&&!e[0].classList.contains(this.classes.highlighted))return void e[0].classList.add(this.classes.highlighted);let s=!1;for(const t of e)t.classList.contains(this.classes.highlighted)&&(s=!0);if(!s)for(const t of e)if(t.classList.contains(this.classes.selected)){t.classList.add(this.classes.highlighted);break}for(let s=0;s<e.length;s++)if(e[s].classList.contains(this.classes.highlighted)){const i=e[s];i.classList.remove(this.classes.highlighted);const n=i.parentElement;if(n&&n.classList.contains(this.classes.open)){const t=n.querySelector("."+this.classes.optgroupLabel);t&&t.click()}let a=e["down"===t?s+1<e.length?s+1:0:s-1>=0?s-1:e.length-1];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const t=l.querySelector("."+this.classes.optgroupLabel);t&&t.click()}return}e["down"===t?0:e.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,e["down"===t?0:e.length-1])}listDiv(){const t=document.createElement("div");return t.classList.add(this.classes.list),t}renderError(t){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}renderSearching(){this.content.list.innerHTML="";const t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}renderOptions(t){if(this.content.list.innerHTML="",0===t.length){const t=document.createElement("div");return t.classList.add(this.classes.search),this.callbacks.addable?t.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}if(this.settings.allowDeselect&&!this.settings.isMultiple){this.store.filter((t=>t.placeholder),!1).length||this.store.addOption(new a({text:"",value:"",selected:!1,placeholder:!0}),!0)}const e=document.createDocumentFragment();for(const s of t){if(s instanceof n){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabel),t.appendChild(i);const n=document.createElement("div");n.classList.add(this.classes.optgroupLabelText),n.textContent=s.label,i.appendChild(n);const a=document.createElement("div");if(a.classList.add(this.classes.optgroupActions),i.appendChild(a),this.settings.isMultiple&&s.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let e=!0;for(const t of s.options)if(!t.selected){e=!1;break}e&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=s.selectAllText,t.appendChild(i);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),t.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(o),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(e){const t=i.filter((t=>{for(const e of s.options)if(t===e.id)return!1;return!0}));this.callbacks.setSelected(t,!0)}else{const t=i.concat(s.options.map((t=>t.id)));for(const t of s.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);this.callbacks.setSelected(t,!0)}})),a.appendChild(t)}if("off"!==s.closable){const e=document.createElement("div");e.classList.add(this.classes.optgroupClosable);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.classList.add(this.classes.arrow),e.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");n.appendChild(l),s.options.some((t=>t.selected))||""!==this.content.search.input.value.trim()?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===s.closable?(t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===s.closable&&(t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),i.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),t.classList.contains(this.classes.close)?(t.classList.remove(this.classes.close),t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))})),a.appendChild(e)}t.appendChild(i);for(const i of s.options)t.appendChild(this.option(i)),e.appendChild(t)}s instanceof a&&e.appendChild(this.option(s))}this.content.list.appendChild(e)}option(t){if(t.placeholder){const t=document.createElement("div");return t.classList.add(this.classes.option),t.classList.add(this.classes.hide),t}const e=document.createElement("div");return e.dataset.id=t.id,e.classList.add(this.classes.option),e.setAttribute("role","option"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.style&&(e.style.cssText=t.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?e.innerHTML=this.highlightText(""!==t.html?t.html:t.text,this.content.search.input.value,this.classes.searchHighlighter):""!==t.html?e.innerHTML=t.html:e.textContent=t.text,this.settings.showOptionTooltips&&e.textContent&&e.setAttribute("title",e.textContent),t.display||e.classList.add(this.classes.hide),t.disabled&&e.classList.add(this.classes.disabled),t.selected&&this.settings.hideSelected&&e.classList.add(this.classes.hide),t.selected?(e.classList.add(this.classes.selected),e.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",e.id)):(e.classList.remove(this.classes.selected),e.setAttribute("aria-selected","false")),e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const s=this.store.getSelected(),i=e.currentTarget,n=String(i.dataset.id);if(t.disabled||t.selected&&!this.settings.allowDeselect)return;if(this.settings.isMultiple&&this.settings.maxSelected<=s.length&&!t.selected||this.settings.isMultiple&&this.settings.minSelected>=s.length&&t.selected)return;let a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=t.selected?l.filter((t=>
725t.id!==n)):l.concat(t)),this.settings.isMultiple||(o=t.selected?[]:[t]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(o.map((t=>t.id)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))})),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("(?![^<]*>)("+e.trim()+")(?![^<]*>[^<>]*</)","i");if(!t.match(n))return t;const a=t.match(n).index,l=a+t.match(n)[0].toString().length,o=t.substring(a,l);return i=i.replace(n,`<mark class="${s}">${o}</mark>`),i}moveContentAbove(){const t=this.main.main.offsetHeight,e=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);const s=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=s.top+s.height+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=s.left+("fixed"===this.settings.contentPosition?0:window.scrollX)+"px",this.content.main.style.width=s.width+"px"}moveContentBelow(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);const t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=t.left+("fixed"===this.settings.contentPosition?0:window.scrollX)+"px",this.content.main.style.width=t.width+"px")}ensureElementInView(t,e){const s=t.scrollTop+t.offsetTop,i=s+t.clientHeight,n=e.offsetTop,a=n+e.clientHeight;n<s?t.scrollTop-=s-n:a>i&&(t.scrollTop+=a-i)}putContent(){const t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),s=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=s&&e.top>s?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const t=this.store.getSelectedOptions(),e=t&&t.length>0,s=this.settings.isMultiple,i=this.settings.allowDeselect,n=this.main.deselect.main,a=this.classes.hide;!i||s&&!e?n.classList.add(a):n.classList.remove(a)}}class c{constructor(t){this.listen=!1,this.observer=null,this.select=t,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}showUI(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}changeListen(t){this.listen=t,t&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}valueChange(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedOptions()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t){if(n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0),"childList"===n.type)){for(const t of n.addedNodes)if("OPTION"===t.nodeName&&t.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!0}"OPTGROUP"!==n.target.nodeName&&"OPTION"!==n.target.nodeName||(i=!0)}e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),s&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),i&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}getData(){let t=[];const e=this.select.childNodes;for(const s of e)"OPTGROUP"===s.nodeName&&t.push(this.getDataFromOptgroup(s)),"OPTION"===s.nodeName&&t.push(this.getDataFromOption(s));return t}
725getDataFromOptgroup(t){let e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,selectAllText:t.dataset?t.dataset.selectalltext:"Select all",closable:t.dataset?t.dataset.closable:"off",options:[]};const s=t.childNodes;for(const t of s)"OPTION"===t.nodeName&&e.options.push(this.getDataFromOption(t));return e}getDataFromOption(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}getSelectedOptions(){let t=[];const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}return t}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}setSelected(t){this.changeListen(!1);const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}this.changeListen(!0)}setSelectedByValue(t){this.changeListen(!1);const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}this.changeListen(!0)}updateSelect(t,e,s){this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),s&&(this.select.className="",s.forEach((t=>{""!==t.trim()&&this.select.classList.add(t.trim())}))),this.changeListen(!0)}updateOptions(t){this.changeListen(!1),this.select.innerHTML="";for(const e of t)e instanceof n&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0)}createOptgroup(t){const e=document.createElement("optgroup");if(e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable),t.options)for(const s of t.options)e.appendChild(this.createOption(s));return e}createOption(t){const e=document.createElement("option");return e.id=t.id,e.value=t.value,e.textContent=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),t.display||(e.style.display="none"),t.placeholder&&e.setAttribute("data-placeholder","true"),t.mandatory&&e.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach((s=>{e.setAttribute("data-"+function(t){const e=t.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(t=>"-"+t.toLowerCase()));return t[0]===t[0].toUpperCase()?e.substring(1):e}(s),t.data[s])})),e}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}class h{constructor(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.focusSearch=void 0===t.focusSearch||t.focusSearch,this.ariaLabel=t.ariaLabel||"Combobox",this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.keepOrder=void 0!==t.keepOrder&&t.keepOrder,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected",this.addableText=t.addableText||'Press "Enter" to add {value}'}}return class{constructor(e){var i;if(this.events={search:void 0,searchFilter:(t,e)=>-1!==t.text.toLowerCase().indexOf(e.toLowerCase()),addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.windowScroll=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.documentClick=t=>
725{this.settings.isOpen&&t.target&&!function(t,e){function s(t,s){return s&&t&&t.classList&&t.classList.contains(s)||s&&t&&t.dataset&&t.dataset.id&&t.dataset.id===e?t:null}return s(t,e)||function t(e,i){return e&&e!==document?s(e,i)?e:t(e.parentNode,i):null}(t,e)}(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(e.settings),this.cssClasses=new t(e.cssClasses);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const t in e.events)e.events.hasOwnProperty(t)&&(-1!==n.indexOf(t)?this.events[t]=s(e.events[t],100):this.events[t]=e.events[t]);this.settings.disabled=(null===(i=e.settings)||void 0===i?void 0:i.disabled)?e.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new c(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=t=>{this.setSelected(t.map((t=>t.id)))},this.select.onClassChange=t=>{this.settings.class=t,this.render.updateClassStyles()},this.select.onDisabledChange=t=>{t?this.disable():this.enable()},this.select.onOptionsChange=t=>{this.setData(t)},this.store=new l(this.settings.isMultiple?"multiple":"single",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new o(this.settings,this.cssClasses,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const r=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");r?this.render.main.main.setAttribute("aria-label",r):d&&this.render.main.main.setAttribute("aria-labelledby",d),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(t){const e=this.store.getSelected(),s=this.store.validateDataArray(t);if(s)return void(this.events.error&&this.events.error(s));this.store.setData(t);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){let t=this.store.getSelectedOptions();return this.settings.keepOrder&&(t=this.store.selectedOrderOptions(t)),t.map((t=>t.value))}setSelected(t,e=!0){const s=this.store.getSelected(),n=this.store.getDataOptions();t=Array.isArray(t)?t:[t];const a=[];for(const e of t)if(n.find((t=>t.id==e)))a.push(e);else for(const t of n.filter((t=>t.value==e)))a.push(t.id);this.store.setSelectedBy("id",a);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(l),e&&this.events.afterChange&&!i(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(t){const e=this.store.getSelected();this.store.getDataOptions().some((e=>{var s;return e.value===(null!==(s=t.value)&&void 0!==s?s:t.text)}))||this.store.addOption(t);const s=this.store.getData();this.select.updateOptions(s),this.render.renderValues(),this.render.renderOptions(s),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}open(){this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.settings.focusSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((()=>{this.events.afterOpen&&this.events.afterOpen(),this.settings.isOpen&&(this.settings.isFullOpen=!0),document.addEventListener("click",this.documentClick)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(t=null){this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((()=>{this.events.afterClose&&this.events.afterClose(),document.removeEventListener("click",this.documentClick)}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}search(t){if(this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),!this.events.search)return void this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter));this.render.renderSearching();const e=this.events.search(t,this.store.getSelectedOptions());e instanceof Promise?e.then((t=>{this.render.renderOptions(this.store.partialToFullData(t))})).catch((t=>{this.render.renderError("string"==typeof t?t:t.message)})):Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")}destroy(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}}));
726
727document.addEventListener("DOMContentLoaded", () => {
728  document.querySelectorAll("[data-combobox]").forEach(select => {
729    const slim = new SlimSelect({
730      select,
731      settings: {
732        allowDeselect: true,
733        placeholderText: select.getAttribute("placeholder"),
734        closeOnSelect: false,
735        maxValuesShown: 5
736      },
737      events: {
738        afterChange: () => clearError(select)
739      }
740    });
741
742    const form = select.closest("form");
743    if (!form) return;
744
745    const container = el => el.closest(".input-wrap, .input-wrap-is-one-third, .input-wrap-is-half, .input-wrap-is-full");
746    const isEmpty = () => select.hasAttribute("required") && (!slim.getSelected() || slim.getSelected().length === 0);
747
748    function scrollToInput(input) {
749      const headerHeight = parseFloat(getComputedStyle(document.body).getPropertyValue("--header-height")) || 0;
750      const rect = input.getBoundingClientRect();
751      const top = Math.max(0, window.scrollY + rect.top - headerHeight - 30);
752      window.scrollTo({
753        top,
754        behavior: "auto"
755      });
756    }
757
758    function getScrollTarget(el) {
759      if (el._combo) {
760        const visibleSelect = el.nextElementSibling;
761        if (visibleSelect && visibleSelect.classList.contains("ss-main")) return visibleSelect;
762        return container(el);
763      }
764
765      return el.offsetParent === null ? container(el) : el;
766    }
767
768    function showError(el) {
769      const wrap = container(el);
770      if (!wrap || wrap.querySelector(".error-bubble")) return;
771      const bubble = document.createElement("div");
772      bubble.className = "error-bubble";
773      bubble.textContent = "This field is required.";
774      wrap.appendChild(bubble);
775      el.setAttribute("aria-invalid", "true");
776    }
777
778    function clearError(el) {
779      const wrap = container(el);
780      if (!wrap) return;
781      const bubble = wrap.querySelector(".error-bubble");
782      if (bubble) bubble.remove();
783      el.removeAttribute("aria-invalid");
784      el.removeAttribute("aria-errormessage");
785    }
786
787    select._combo = true;
788    select._empty = isEmpty;
789
790    if (!form._comboInit) {
791      form._comboInit = true;
792
793      ["input", "change"].forEach(evt => {
794        form.addEventListener(evt, e => clearError(e.target), true);
795      });
796
797      function validateForm(e) {
798        let hasError = false;
799        let firstInvalid = null;
800        const fields = form.querySelectorAll("input[required]:not([type='hidden']):not([name='ZipCode']), select[required], textarea[required]");
801        fields.forEach(el => {
802          const invalid = el._combo ? el._empty() : !el.checkValidity() || (["text","email","tel"].includes(el.type) && !el.value.trim());
803          if (invalid) {
804            hasError = true;
805            if (!firstInvalid) firstInvalid = getScrollTarget(el);
806            showError(el);
807          }
808        });
809        if (hasError) {
810          e.preventDefault();
811          e.stopImmediatePropagation();
812          if (firstInvalid) scrollToInput(firstInvalid);
813        }
814        return !hasError;
815      }
816
817      form.addEventListener("submit", validateForm, true);
818
819      if (!form._nativeSubmit) {
820        form._nativeSubmit = form.submit.bind(form);
821        form.submit = () => {
822          if (validateForm(new Event("submit", {cancelable: true}))) {
823            form._nativeSubmit();
824          }
825        };
826      }
827    }
828  });
829});
830
831</script>
831</section><section class="page-section-container cards-section-container  business-info-cards column-spacing-3" id>   <div class="title-container card-title-container"> <p class="animate title-md fadeIn card-feature-title">Contact</p> <h3 class="animate title-xs card-feature-subtitle fadeIn">Se habla español!</h3> </div> <div class="card-feature-section-text-container">  </div> <div class="flexy cards-container"> <div class="flexy-item animate fadeIn  card  card-feature-card full-width-background-image-container "> <div data-gatsby-image-wrapper="" data-initial-width="625" data-initial-height="786" class="gatsby-image-wrapper gatsby-image-wrapper-cover full-width-background-image" style id="gatsby-img-5i6jallo8"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='786' width='625' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover; object-position: top" decoding="async" loading="lazy" fetchpriority="low" class alt="Shadows of leaves on a light background." src="/_static_/background/card-bg-02.jpg" srcset="/_static_/background/card-bg-02.jpg 625w" sizes="100vw"></picture></div>  <h3 class="title-sm card-feature-individual-title">Newport Beach</h3>  <div class="card-feature-individual-text"><p class="ql-align-center"><a href="https://maps.app.goo.gl/CHkgTwCaG5sdUePH6" target="_blank" rel="noopener">901 Dover Dr, Suite 122, Newport Beach, CA, 92660</a></p><p class="ql-align-center"><a href="tel:(949) 247-8543">(949) 247-8543</a></p></div>   </div><div class="flexy-item animate fadeIn  card  card-feature-card full-width-background-image-container "> <div data-gatsby-image-wrapper="" data-initial-width="625" data-initial-height="786" class="gatsby-image-wrapper gatsby-image-wrapper-cover full-width-background-image" style id="gatsby-img-tdjj45nmy"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='786' width='625' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover; object-position: top" decoding="async" loading="lazy" fetchpriority="low" class alt="Shadows of leaves on a light background." src="/_static_/background/card-bg-02.jpg" srcset="/_static_/background/card-bg-02.jpg 625w" sizes="100vw"></picture></div>  <h3 class="title-sm card-feature-individual-title">Redlands</h3>  <div class="card-feature-individual-text"><p><a href="https://maps.app.goo.gl/xyiTAPyYcdnGz2Df8" rel="noopener" target="_blank" aria-label="Open https://maps.app.goo.gl/xyiTAPyYcdnGz2Df8 in a new tab">1740 Plum Lane Suite A Redlands, CA 92374</a></p><p><a href="tel:9492478543">(949) 247-8543</a></p></div>   </div> </div> </section><section data-free-form="true" class="mw1600  free-form-27d3beae-695a-48ab-897a-00d3fd24a6a3">  <div class="flexy map-group"><div class="inner-map-container fadeIn animate animated"><h3 class="title-sm fadeIn animate animated">Newport Beach</h3><div class="inner-map box-shadow-smooth"><iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3322.2654231231454!2d-117.9056781!3d33.6243593!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x80c2c48373eb27b7%3A0x760ad9515dd27be7!2sJohn%20Compoginis%2C%20MD%2C%20FACS%20-Plastic%20Surgery!5e0!3m2!1sen!2sus!4v1777493118074!5m2!1sen!2sus" width="100%" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe></div></div><div class="inner-map-container fadeIn animate animated"><h3 class="title-sm fadeIn animate animated">Redlands</h3><div class="inner-map box-shadow-smooth"><iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3305.011927453768!2d-117.2145519!3d34.0692085!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x80dcaa5682dce21d%3A0xe87e30859f2ab445!2s1740%20Plum%20Ln%20Suite%20A%2C%20Redlands%2C%20CA%2092374!5e0!3m2!1sen!2sus!4v1777493297942!5m2!1sen!2sus" width="100%" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe></div></div></div> </section>
831<script defer src="/assets/js/swiper-bundle.min.js"></script>
831 
831<script>(function(){const component = {"id":"82e7f863-97c9-4680-9512-2b58d5d6191e","type":"TextSwiper","title":"“Experienced and [.inline-block]compassionate hands…[]”","titleTag":"h3","subtitle":"Patient Testimonials","subtitleTag":"h2","paragraph1":"","paragraph2":"","paragraph3":null,"paragraph4":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"image2":null,"image2Alt":null,"image2ObjectPositionX":null,"image2ObjectPositionY":null,"image3":null,"image3Alt":null,"image3ObjectPositionX":null,"image3ObjectPositionY":null,"image4":null,"image4Alt":null,"image4ObjectPositionX":null,"image4ObjectPositionY":null,"backgroundImage":null,"backgroundColor":null,"reversed":false,"hasImage":false,"slidesPerView":1,"buttonText":"view all reviews","buttonLink":"/testimonials/","buttonText2":null,"buttonLink2":null,"hasButton":false,"inlineFormId":null,"inlineGalleryId":null,"inlineGalleryFilterId":null,"specialsChoice":null,"hasAccentIcon":false,"additionalClassList":"","mediaLink1":"","mediaLink2":"","startDate":null,"endDate":null,"autoPlay":false,"hasPagination":false,"isLoop":true,"isBlurred":false,"removeBoxShadow":false,"removeBackground":false,"freeFormJson":null,"extendedComponentData":null,"subComponents":[{"id":"859d0b20-ac66-42e4-a958-ac4aa38c339e","order":0,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Dr. Compoginis is an amazing surgeon who gave me phenomenal results. I've had 2 rounds of major plastic surgery that I needed after a 135 lbs weight loss. His dedication to his patients is truly remarkable. Not only did Dr. Compoginis provide exceptional surgical results, but he also showed great compassion and support throughout the entire process. His expertise and attention to detail made a significant difference in my overall experience. I'm grateful to have found such a skilled and caring surgeon like Dr. Compoginis. His after-care support is top-tier, and it is what I think sets him apart from others. His proficiency in plastic surgery, especially in cases like mine after significant weight loss, is truly commendable. Dr. Compoginis has such an excellent team supporting him, especially with Jo as the office manager. It's clear that the entire staff in Newport is dedicated to providing exceptional care and making the journey as seamless as possible. This level of professionalism and attentiveness further underscores Dr. Compoginis's commitment to his patients' well-being. I highly recommend him to anyone seeking outstanding surgical care and results.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Renee Peralta, Newport Beach, CA, plastic surgery patient. 2 years ago","extendedComponentData":null},{"id":"89f3fa2f-f7dc-4277-8a1f-5460668bce43","order":1,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Dr. Compoginis was a referral from my Primary Care Physician, and she’s super picky, so that was a great start. When I met Dr. C &amp; his staff (especially Meg &amp; Gabby), they immediately put me at ease. Dr. C has outstanding credentials and a great low-key style. He listens to what you want to accomplish and gives you options to consider. I’m now 9 weeks post op and doing extremely well. I followed all his guidelines, and he was always available for questions and concerns. The whole team is approachable, accessible, and flexible. The results are well above my expectations, and I highly recommend Dr. C. You will be in experienced and compassionate hands and look awesome!\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Shirley Schumacher, Newport Beach, CA, plastic surgery patient.12 months ago","extendedComponentData":null},{"id":"c0d4c4ae-f73a-429c-9a30-d31d8ece25cf","order":2,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"He was a great surgeon. I had major surgery on my jaw, and to fix the trauma that happened to my face about 4 months ago. He did a great job, and I'm able to sing and eat food without pain. Sometimes the metal plate makes my face a bit tingly at times, but it's not that bad. I'm grateful to have met and worked with a wonderful surgeon. I woke up a bit faster from the anesthesia and my nose was all fixed up. He has a great bedside manner.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Casandra Mullen, Newport Beach, CA, rhinoplasty patient. 2 years ago","extendedComponentData":null},{"id":"42c79432-9389-4886-bb77-5a1c8696145f","order":3,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Dr. Compoginis and Claudia were great to work with. They both were easy to ask questions to and gave thorough answers. If I need a plastic surgeon in the future, I would go back to Dr. Compoginis!\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Catherine Wagner, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null},{"id":"a4f97d04-fe37-439f-8faa-57ac85af9dc5","order":4,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Dr. Compoginis and Claudia are amazing! From the moment I met him, I felt comfortable and confident that I was in good hands. I am going on two months post-op, and I am loving my results. I had so many questions and concerns after my surgery, and Dr. Compoginis and Claudia were always available to answer my questions.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Stacie Garcia, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null},{"id":"49619f6f-a371-4d41-91ba-dc208dcbf3e3","order":5,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"For any cosmetic surgery, one is nervous, and you do your due diligence to find a surgeon with the best possible qualifications: expertise/skill, experience with the procedure(s), and sensitivity (\"does the surgeon really listen to YOU &amp; what YOU want\"). For my neck, face, and eyelid procedures, I found Dr. Compoginis reassuringly knowledgeable, highly skilled, and warmly responsive. My results were excellent.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-N Behrendt, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null},{"id":"bff8623b-6fe8-49d3-9bfc-b78cd8335402","order":6,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Had a great experience with Dr. John, very patient and understanding with anyone's concerns, kept me in check, and did a phenomenal job, would highly recommend!\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Mirla Martinez, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null},{"id":"88f45683-d272-4260-98cb-aa434acda00e","order":7,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"I love love love my results with Dr. Compoginis. Am going into my second month of healing and continue to see drastic results, and my waist getting smaller. I recommend him to anybody who is thinking of any surgery. He has a soft touch and knows what he is doing. He has a very friendly staff that helps you along the way.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Maria Ramirez, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null},{"id":"b60a6a12-8e04-4e27-be90-978e79f9f945","order":8,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"Dr. C is one amazing doctor. I had a BBL and a tummy tuck, and I’m loving both results. He is gentle, kind, and takes his time with you to explain everything. His staff is outstanding as well. I would highly recommend him to anyone.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Amy Satamian, Newport Beach, CA, BBL and tummy tuck patient. 3 years ago","extendedComponentData":null},{"id":"e899b25d-9388-40ad-992e-2ef997c6d0a1","order":9,"displayTitle":null,"title":"","titleTag":"h3","subtitle":"","subtitleTag":"h2","paragraph1":"<p>\"I had the best experience. The staff were friendly and would always respond to all my questions and concerns. Dr. Compoginis was amazing! He was so gentle, and I had no bruising after my tummy tuck and breast augmentation.\"</p>","paragraph2":null,"image1":null,"image1Alt":null,"image1ObjectPositionX":null,"image1ObjectPositionY":null,"buttonText":null,"buttonLink":null,"buttonText2":null,"buttonLink2":null,"subtext":"-Mayra Moreno, Newport Beach, CA, plastic surgery patient. 3 years ago","extendedComponentData":null}],"linkRevealItems":[],"ipjLinkText":""};
832
833	document.addEventListener("DOMContentLoaded", () => {
834		const swiper = new Swiper(`.swiper-${component.id} .swiper-container`, {
835			spaceBetween: 10,
836			slidesPerView: 1,
837			loop: component.isLoop,
838			breakpoints: {
839				480: {
840					slidesPerView: 1,
841					spaceBetween: 10
842				},
843				840: {
844					slidesPerView: component.slidesPerView,
845					spaceBetween: 50
846				}
847			},
848			pagination: component.hasPagination
849				? {
850						el: `.swiper-${component.id} .swiper-pagination`,
851						clickable: true
852					}
853				: false,
854			autoplay: component.autoPlay
855				? {
856						delay: 4000,
857						disableOnInteraction: true
858					}
859				: false
860		});
861
862		document.querySelector(`.swiper-${component.id}
862 .swiper-controls-top-previous`).addEventListener("click", () => swiper.slidePrev());
863		document.querySelector(`.swiper-${component.id} .swiper-controls-top-next`).addEventListener("click", () => swiper.slideNext());
864		document.querySelector(`.swiper-${component.id} .before-swiper-icon-container`).addEventListener("click", () => swiper.slidePrev());
865		document.querySelector(`.swiper-${component.id} .after-swiper-icon-container`).addEventListener("click", () => swiper.slideNext());
866	});
867})();</script>
867 <section class="container page-section-container text-swiper-section-container   swiper-82e7f863-97c9-4680-9512-2b58d5d6191e" data-slides-per-view="1" id="text-swiper">   <div class="title-container text-swiper-section-title-container"> <h3 class="animate title-md fadeIn text-swiper-section-title">“Experienced and <span class="inline-block">compassionate hands…</span>”</h3> <h2 class="animate title-xs text-swiper-section-subtitle fadeIn">Patient Testimonials</h2>  </div> <div class="text-swiper-section-text-container">  </div> <div class="swiper-controls-top-container animate fadeIn"> <div class="swiper-controls-top-previous"></div> <div class="swiper-controls-top-next"></div> </div> <div class="swiper-outer-container animate fadeIn"> <div class="before-swiper-icon-container"></div> <div class="after-swiper-icon-container"></div> <div class="swiper swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Dr. Compoginis is an amazing surgeon who gave me phenomenal results. I've had 2 rounds of major plastic surgery that I needed after a 135 lbs weight loss. His dedication to his patients is truly remarkable. Not only did Dr. Compoginis provide exceptional surgical results, but he also showed great compassion and support throughout the entire process. His expertise and attention to detail made a significant difference in my overall experience. I'm grateful to have found such a skilled and caring surgeon like Dr. Compoginis. His after-care support is top-tier, and it is what I think sets him apart from others. His proficiency in plastic surgery, especially in cases like mine after significant weight loss, is truly commendable. Dr. Compoginis has such an excellent team supporting him, especially with Jo as the office manager. It's clear that the entire staff in Newport is dedicated to providing exceptional care and making the journey as seamless as possible. This level of professionalism and attentiveness further underscores Dr. Compoginis's commitment to his patients' well-being. I highly recommend him to anyone seeking outstanding surgical care and results."</p></div> <p class="text-swiper-slide-subtext">-Renee Peralta, Newport Beach, CA, plastic surgery patient. 2 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Dr. Compoginis was a referral from my Primary Care Physician, and she’s super picky, so that was a great start. When I met Dr. C &amp; his staff (especially Meg &amp; Gabby), they immediately put me at ease. Dr. C has outstanding credentials and a great low-key style. He listens to what you want to accomplish and gives you options to consider. I’m now 9 weeks post op and doing extremely well. I followed all his guidelines, and he was always available for questions and concerns. The whole team is approachable, accessible, and flexible. The results are well above my expectations, and I highly recommend Dr. C. You will be in experienced and compassionate hands and look awesome!"</p></div> <p class="text-swiper-slide-subtext">-Shirley Schumacher, Newport Beach, CA, plastic surgery patient.12 months ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"He was a great surgeon. I had major surgery on my jaw, and to fix the trauma that happened to my face about 4 months ago. He did a great job, and I'm able to sing and eat food without pain. Sometimes the metal plate makes my face a bit tingly at times, but it's not that bad. I'm grateful to have met and worked with a wonderful surgeon. I woke up a bit faster from the anesthesia and my nose was all fixed up. He has a great bedside manner."</p></div> <p class="text-swiper-slide-subtext">-Casandra Mullen, Newport Beach, CA, rhinoplasty patient. 2 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Dr. Compoginis and Claudia were great to work with. They both were easy to ask questions to and gave thorough answers. If I need a plastic surgeon in the future, I would go back to Dr. Compoginis!"</p></div> <p class="text-swiper-slide-subtext">-Catherine Wagner, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Dr. Compoginis and Claudia are amazing! From the moment I met him, I felt comfortable and confident that I was in good hands. I am going on two months post-op, and I am loving my results. I had so many questions and concerns after my surgery, and Dr. Compoginis and Claudia were always available to answer my questions."</p></div> <p class="text-swiper-slide-subtext">-Stacie Garcia, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"For any cosmetic surgery, one is nervous, and you do your due diligence to find a surgeon with the best possible qualifications: expertise/skill, experience with the procedure(s), and sensitivity ("does the surgeon really listen to YOU &amp; what YOU want"). For my neck, face, and eyelid procedures, I found Dr. Compoginis reassuringly knowledgeable, highly skilled, and warmly responsive. My results were excellent."</p></div> <p class="text-swiper-slide-subtext">-N Behrendt, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Had a great experience with Dr. John, very patient and understanding with anyone's concerns, kept me in check, and did a phenomenal job, would highly recommend!"</p></div> <p class="text-swiper-slide-subtext">-Mirla Martinez, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"I love love love my results with Dr. Compoginis. Am going into my second month of healing and continue to see drastic results, and my waist getting smaller. I recommend him to anybody who is thinking of any surgery. He has a soft touch and knows what he is doing. He has a very friendly staff that helps you along the way."</p></div> <p class="text-swiper-slide-subtext">-Maria Ramirez, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"Dr. C is one amazing doctor. I had a BBL and a tummy tuck, and I’m loving both results. He is gentle, kind, and takes his time with you to explain everything. His staff is outstanding as well. I would highly recommend him to anyone."</p></div> <p class="text-swiper-slide-subtext">-Amy Satamian, Newport Beach, CA, BBL and tummy tuck patient. 3 years ago</p> </div><div class="swiper-slide text-center" style="cursor: pointer;">   <div class="text-swiper-slide-text"><p>"I had the best experience. The staff were friendly and would always respond to all my questions and concerns. Dr. Compoginis was amazing! He was so gentle, and I had no bruising after my tummy tuck and breast augmentation."</p></div> <p class="text-swiper-slide-subtext">-Mayra Moreno, Newport Beach, CA, plastic surgery patient. 3 years ago</p> </div> </div>  </div> <div class="text-center testimonial-button-container"> <a class="button text-swiper-button" href="/testimonials/"> view all reviews <svg class="arrow text-swiper-button-arrow" width="18" height="10" viewB
867ox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12.5 1.3252L17 5.3252M17 5.3252L12.5 9.3252M17 5.3252H1" stroke="white" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </a> </div> </div> </section><section class="container page-section-container two-column-image-section-container  full-width-background-image-container dr-quote text-white" id> <div data-gatsby-image-wrapper="" data-initial-width="1800" data-initial-height="1980" class="gatsby-image-wrapper gatsby-image-wrapper-cover full-width-background-image" style id="gatsby-img-8io5tu4eu"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='1980' width='1800' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover; object-position: top" decoding="async" loading="lazy" fetchpriority="low" class alt="Dark green layered leaves texture background." src="/_static_/background/bg-02.jpg" srcset="/_static_/background/@720@/bg-02.jpg 720w, /_static_/background/@1080@/bg-02.jpg 1080w, /_static_/background/@1620@/bg-02.jpg 1620w, /_static_/background/bg-02.jpg 1800w" sizes="100vw"></picture></div> <div class="flexy two-column-section-flex-container two-column-section-flex-container-has-image " style="flex-direction:unset"> <div class="flexy-item two-column-section-flex-child two-column-section-flex-child-text-container animate fadeIn">  <div class="title-container two-column-image-title-container"> <h2 class="two-column-section-has-image-title title-md highlight-color animate fadeIn">“I'm committed to your personal goals and achieving those goals safely.”</h2> <h2 class="two-column-section-has-image-subtitle intro accent-color animate fadeIn">- John M. Compoginis, MD., F.A.C.S.</h2> </div>    <div class="text-image-multi-button-container"> <a class="button two-column-text-and-image-button" href="#schedule-consult-footer-form"> Get Started <svg class="arrow two-column-text-and-image-button-arrow" width="18" height="10" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12.5 1.3252L17 5.3252M17 5.3252L12.5 9.3252M17 5.3252H1" stroke="white" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </a>  </div> </div> <div class="flexy-item two-column-section-flex-child flexy-image two-column-section-flex-child-image animate fadeIn"> <div class="feature-accent-image animate fadeIn  accent-image-two-column"></div> <div data-gatsby-image-wrapper="" data-initial-width="1200" data-initial-height="1450" class="gatsby-image-wrapper gatsby-image-wrapper-cover animate zoomOutFadeIn gatsby-image-absolute-wrapper" style id="gatsby-img-eo3rncvxv"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='1450' width='1200' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover; object-position: 47.032185380724115% 18.379730418268565%" decoding="async" loading="lazy" fetchpriority="low" class alt="Man in stylish blazer on modern staircase." src="/_static_/feature/about-01.jpg" srcset="/_static_/feature/@720@/about-01.jpg 720w, /_static_/feature/@1080@/about-01.jpg 1080w, /_static_/feature/about-01.jpg 1200w" sizes="100vw"></picture></div> </div> </div> </section> <section class="contact-form-container footer-form-container pv100 animate fadeIn no-delay" data-astro-cid-svshx33u><div data-gatsby-image-wrapper="" data-initial-width="2600" data-initial-height="1040" class="gatsby-image-wrapper gatsby-image-wrapper-constrained contact-form-background-image " style id="gatsby-img-qrpu2rh4l"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='1040' width='2600' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: cover" decoding="async" loading="lazy" fetchpriority="low" class alt="Form Backgroun
867d" src="/_static_/background/cta.jpg" srcset="/_static_/background/@720@/cta.jpg 720w, /_static_/background/@1080@/cta.jpg 1080w, /_static_/background/@1620@/cta.jpg 1620w, /_static_/background/cta.jpg 2600w" sizes="100vw"></picture></div><div class="container" id="schedule-consult-footer-form" data-astro-cid-svshx33u><div class="mw1600" data-astro-cid-svshx33u><div class="inline-schedule-consult" data-astro-cid-svshx33u><div class="flexy gap50 contact-form-flexy" data-astro-cid-svshx33u><div class="flexy-item contact-form-flexy-text-container" data-astro-cid-svshx33u><h2 class="ipj-link contact-form-title title-md">Schedule Your Appointment</h2><div class="contact-form-text-container"><p>Experience the artistry and precision of Dr. Compoginis. Whether it’s a subtle enhancement or a dramatic transformation, every procedure is tailored to your goals. Schedule your consultation today, virtual or in-person, and take the first step toward the confidence and lasting beauty you deserve.</p></div></div><div class="flexy-item contact-form-flexy-form-container" data-astro-cid-svshx33u><div class="contact-form" data-astro-cid-svshx33u><form data-influx-form="{&#34;redirectOnSubmit&#34;:false,&#34;redirectUrl&#34;:null,&#34;webhookUrl&#34;:null,&#34;thankYouTitle&#34;:&#34;Thank you for your submission!&#34;,&#34;thankYouSubtitle&#34;:null,&#34;thankYouParagraph1&#34;:&#34;<p>We'll get back to you as soon as possible.</p>&#34;}" action="https://forms.influx.mx/form" method="POST" novalidate name="Default-Form" aria-label="Default Form" class="form" data-thank-you-title="Thank you for your submission!" data-thank-you-text="<p>We'll get back to you as soon as possible.</p>" id="footer-form" data-astro-reload enctype="multipart/form-data" data-astro-cid-svshx33u><input type="hidden" name="formId" value="719fce9f-0950-42ee-8a2d-18c6d539886d" data-astro-cid-svshx33u><input type="hidden" name="siteId" value="cb0e6891-3e32-4b7e-a98c-24e3098b197c" data-astro-cid-svshx33u><input type="hidden" name="gtagevent" value="default_form" data-astro-cid-svshx33u><input type="hidden" name="redirectOnSubmit" value="false" data-astro-cid-svshx33u><input type="hidden" name="redirectUrl" value data-astro-cid-svshx33u>
868        <div class="input-wrap-is-full">
869          <input
870            
871    
872    name="Full-Name"
873    aria-label="Full Name"
874    aria-required="true"
875    placeholder="Full Name *"
876    required
877    
878  
879            type="text"
880          />
881        </div>
882      
883        <div class="input-wrap-is-one-third">
884          <input
885            
886    
887    name="Email"
888    aria-label="Email"
889    aria-required="true"
890    placeholder="Email *"
891    required
892    
893  
894            type="email"
895          />
896        </div>
897      
898        <div class="input-wrap-is-one-third">
899          <input
900            
901    
902    name="Phone-Number"
903    aria-label="Phone Number"
904    aria-required="true"
905    placeholder="Phone Number *"
906    required
907    
908  
909            pattern="[\+]?[0-9]{0,2}[\-\s\.]?[\(]?[0-9]{3}[\)]?[\-\s\.]?[0-9]{3}[\-\s\.]?[0-9]{4,6}"
910            type="tel"
911          />
912        </div>
913      
914        <div class="input-wrap-is-one-third">
915          <label for="Date-of-Birth">
916            Date of Birth *
917          </label>
918          <input
919            
920    
921    name="Date-of-Birth"
922    aria-label="Date of Birth"
923    aria-required="true"
924    placeholder="Date of Birth *"
925    required
926    
927  
928            type="date"
929          />
930        </div>
931      
932        <div class="input-wrap-is-one-third">
933          <select
934            data-combobox
935            
936    
937    name="Procedure-of-Interest"
938    aria-label="Procedure of Interest"
939    aria-required="true"
940    placeholder="Procedure of Interest *"
941    required
942    
943  
944            multiple
945            placeholder="Procedure of Interest*"
946          >
947            
948            <optgroup label="Breast & Body"><option value="Brazilian Butt Lift">Brazilian Butt Lift</option><option value="Liposuction and Lipo 360">Liposuction and Lipo 360</option><option value="Mommy Makeover">Mommy Makeover</option><option value="Tummy Tuck">Tummy Tuck</option><option value="Post-Weight Loss Surgery">Post-Weight Loss Surgery</option><option value="Breast Augmentation">Breast Augmentation</option><option value="Breast Lift">Breast Lift</option><option value="Men’s Plastic Surgery Procedures">Men’s Plastic Surgery Procedures</option></optgroup><optgroup label="Face"><option value="Facelift">Facelift</option><option value="Lip Enhancement">Lip Enhancement</option><option value="Rhinoplasty">Rhinoplasty</option><option value="Liquid Facelift Laser & Energy:RF Microneedling">Liquid Facelift Laser & Energy:RF Microneedling</option><option value="CO2 laser">CO2 laser</option></optgroup><option value="Other">Other</option>
949          </select>
950        </div>
951      
952        <div class="input-wrap-is-one-third">
953          <select
954            
955    
956    name="How-Did-You-Hear-of-Us"
957    aria-label="How Did You Hear of Us?"
958    aria-required="true"
959    placeholder="How Did You Hear of Us? *"
960    required
961    
962  
963          >
964            <option disabled selected value="">
965              How Did You Hear of Us?*
966            </option>
967            <option value="Friend">Friend</option><option value=" Co-Worker"> Co-Worker</option><option value=" Previous Patient"> Previous Patient</option><option value=" Online Search"> Online Search</option><option value=" Instagram"> Instagram</option><option value=" Facebook"> Facebook</option><option value=" YouTube"> YouTube</option><option value=" Medspa"> Medspa</option><option value=" Referral"> Referral</option><option value=" Dr. Referral"> Dr. Referral</option><option value="
968Local Event/Connection">
969Local Event/Connection</option><option value=" Other"> Other</option>
970          </select>
971        </div>
972      
973        <div class="input-wrap-is-one-third">
974          <select
975            
976    
977    name="Best-Time-To-Reach-You"
978    aria-label="Best Time To Reach You"
979    aria-required="true"
980    placeholder="Best Time To Reach You *"
981    required
982    
983  
984          >
985            <option disabled selected value="">
986              Best Time To Reach You*
987            </option>
988            <option value="Morning">Morning</option><option value="Afternoon">Afternoon</option>
989          </select>
990        </div>
991      
992        <div class="input-wrap-is-full">
993          <select
994            
995    
996    name="Preferred-Location"
997    aria-label="Preferred Location"
998    aria-required="true"
999    placeholder="Preferred Location *"
1000    required
1001    
1002  
1003          >
1004            <option disabled selected value="">
1005              Preferred Location*
1006            </option>
1007            <option value="Newport Beach">Newport Beach</option><option value=" Redlands"> Redlands</option>
1008          </select>
1009        </div>
1010      
1011        <div class="input-wrap-is-full">
1012          <textarea
1013            
1014    
1015    name="How-can-we-assist-your-aesthetic-needs"
1016    aria-label="How can we assist your aesthetic needs?"
1017    aria-required="true"
1018    placeholder="How can we assist your aesthetic needs? *"
1019    required
1020    
1021  
1022            maxlength="280"
1023          ></textarea>
1024        </div>
1025      
1026        <div class="input-wrap-is-full checkbox-flex">
1027          <input
1028            class="width-auto"
1029            id="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
1030            
1031    
1032    name="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
1033    aria-label="I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
1034    
1035    placeholder="I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
1036    
1037    
1038  
1039            type="checkbox"
1040          />
1041          <label for="I-consent-to-receive-non-marketing-text-messages-from-DrC-MD-Professional-Corporation-regarding-support-requests-ticket-updates-appointment-coordination-or-follow-up-communications-related-to-an-existing-inquiry-Message-frequency-varies-Messages--data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime">
1042            I consent to receive non-marketing text messages from DrC MD. Professional Corporation regarding support requests, ticket updates, appointment coordination, or follow-up communications related to an existing inquiry. Message frequency varies. Messages & data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime
1043          </label>
1044        </div>
1045      
1046        <div class="input-wrap-is-full checkbox-flex">
1047          <input
1048            class="width-auto"
1049            id="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
1050            
1051    
1052    name="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime"
1053    aria-label="I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
1054    
1055    placeholder="I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime"
1056    
1057    
1058  
1059            type="checkbox"
1060          />
1061          <label for="I-consent-to-receive-marketing-text-messages-from-DrC-MD-Professional-Corporation-at-the-phone-number-provided-messages-may-includes-special-offers-discounts-event-promotions-and-service-announcements-Message-frequency-varies-Message-and-data-rates-may-apply-Text-HELP-for-assistance-reply-STOP-to-unsubscribe-at-anytime">
1062            I consent to receive marketing text messages from DrC MD. Professional Corporation at the phone number provided messages may includes special offers, discounts, event promotions, and service announcements. Message frequency varies. Message and data rates may apply. Text HELP for assistance, reply STOP to unsubscribe at anytime
1063          </label>
1064        </div>
1065      
1066        <div class="input-wrap-is-full form-info">
1067          <p class="ql-align-center"><a href="/privacy-policy/">Privacy Policy</a> | <a href="/terms-of-use/">Terms of Use</a></p>
1068        </div>
1069      <div class="input-wrap-is-full" style="display: none;" data-astro-cid-svshx33u><input name="ZipCode" placeholder="Zip Code*" type="number" aria-hidden="true" data-astro-cid-svshx33u></div><button type="submit" class="button contact-form-button" data-astro-cid-svshx33u>Schedule Consultation<svg class="arrow contact-form-button-arrow" width="18" height="10" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-svshx33u><path d="M12.5 1.3252L17 5.3252M17 5.3252L12.5 9.3252M17 5.3252H1" stroke="white" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-svshx33u></path></svg></button><a class="button contact-form-button form-phone-link" href="tel:(949) 247-8543" data-location-footer-phone-link data-astro-cid-svshx33u>(949) 247-8543</a></form><div class="form-message" style="display: none;" data-astro-cid-svshx33u><div class="card" data-astro-cid-svshx33u><div class="error-message" style="display: none;" data-astro-cid-svshx33u><h2 class="ipj-link thank-you-form-title title-md" data-astro-cid-svshx33u>Error with Form Submission</h2><div class="thank-you-form-text-container" data-astro-cid-svshx33u><p data-astro-cid-svshx33u>There was an error processing your form. Please try again later.</p></div></div><div class="success-message" style="display: none;" data-astro-cid-svshx33u><h2 class="ipj-link thank-you-form-title title-md">Thank you for your submission!</h2><div class="thank-you-form-text-container"><p>We'll get back to you as soon as possible.</p></div></div></div></div></div></div></div></div></div></div></section> <section><div class="footer pv50 animate fadeIn no-delay"><div class="container text-center-touch"><div class="flexy flexy mb-footer is-vcentered footer-locations-container"><div class="flexy-item animate fadeIn footer-address"><div class="footer-location"><p class="ql-align-center">Newport Beach</p></div><div class="footer-location-address"><p><a href="https://maps.app.goo.gl/W5ZgvKv1oXoXhJ4s6" rel="noopener" target="_blank" aria-label="Open https://maps.app.goo.gl/W5ZgvKv1oXoXhJ4s6 in a new tab">901 Dover Dr, Suite 122 <strong>Newport Beach, CA 92660</strong></a></p></div><div class="footer-location-phone"><p class="ql-align-center"><a href="tel:(949) 247-8543">(949) 247-8543</a></p></div></div><div class="flexy-item animate fadeIn footer-address"><div class="footer-location"><p class="ql-align-center">Redlands</p></div><div class="footer-location-address"><p><a href="https://maps.app.goo.gl/kVP9RQF7c78j96L89" rel="noopener" target="_blank" aria-label="Open https://maps.app.goo.gl/kVP9RQF7c78j96L89 in a new tab">1740 Plum Lane, Suite A <strong>Redlands, CA 92374</strong></a></p></div><div class="footer-location-phone"><p class="ql-align-center"><a href="tel: (949) 247-8543">(949) 247-8543</a></p></div></div></div><div class="flexy flexy mb-footer is-vcentered footer-logo-container"><div class="flexy-item text-center footer-image is-visible-tablet mb35"><a href="/" aria-label="Go to johncompoginismd.com homepage" class><div data-gatsby-image-wrapper="" data-initial-width="893" data-initial-height="129" class="gatsby-image-wrapper gatsby-image-wrapper-constrained " style="position: relative !important" id="gatsby-img-rvtgq0k5i"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='129' width='893' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: contain; display: block; margin: auto" decoding="async" loading="lazy" fetchpriority="low" class="footer-logo" alt="John Compoginis Logo" src="/_static_/logos/footer-logo.png"></picture></div></a></div><div class="flexy-item animate fadeIn footer-address"><a class="display-unset " href="tel:(949) 247-8543" data-location-footer-phone-link><p class="lead">(949) 247-8543</p></a></div><div class="flexy-item text-center footer-image is-hidden-tablet animate fadeIn"><a href="/" aria-label="Go to johncompoginismd.com homepage" class><div data-gatsby-image-wrapper="" data-initial-width="893" data-initial-height="129" class="gatsby-image-wrapper gatsby-image-wrapper-constrained " style="position: relative !important" id="gatsby-img-u0h8i2n6r"><div class="placeholder-wrapper" style="display:block;"><img alt="" aria-hidden="true" fetchpriority="high" src="data:image/svg+xml;charset=utf-8,%3Csvg height='129' width='893' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="max-width: 100%; display: block; position: static"></div><picture><img data-main-image="" style="object-fit: contain; display: block; margin: auto" decoding="async" loading="lazy" fetchpriority="low" class="footer-logo" alt="John Compoginis Logo" src="/_static_/logos/footer-logo.png"></picture></div></a></div><div class="flexy-item animate fadeIn text-right"><p class="lead " data-location-footer-hours>Mon- Fri: 9am - 5:00pm</p></div></div><div class="flexy flexy is-vcentered mb50"><div class="flexy-item is-40 animate fadeIn"><a class href="/testimonials/" data-location-footer-rating-link><span class="ratingstars"><span class="ratings-number">4.9</span><div><span class="ratings-stars"><svg class="footer-star" width="16" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 22"><polygon points="15.893,13.597 23,8.403 14.215,8.403 11.5,0 8.785,8.403 0,8.403 7.107,13.597 4.393,22 11.5,16.807 18.607,22" fill="#FFF"></polygon></svg><svg class="footer-star" width="16" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 22"><polygon points="15.893,13.597 23,8.403 14.215,8.403 11.5,0 8.785,8.403 0,8.403 7.107,13.597 4.393,22 11.5,16.807 18.607,22" fill="#FFF"></polygon></svg><svg class="footer-star" width="16" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 22"><polygon points="15.893,13.597 23,8.403 14.215,8.403 11.5,0 8.785,8.403 0,8.403 7.107,13.597 4.393,22 11.5,16.807 18.607,22" fill="#FFF"></polygon></svg><svg class="footer-star" width="16" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 22"><polygon points="15.893,13.597 23,8.403 14.215,8.403 11.5,0 8.785,8.403 0,8.403 7.107,13.597 4.393,22 11.5,16.807 18.607,22" fill="#FFF"></polygon></svg><svg class="footer-star" width="16" height="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 22"><polygon points="15.893,13.597 23,8.403 14.215,8.403 11.5,0 8.785,8.403 0,8.403 7.107,13.597 4.393,22 11.5,16.807 18.607,22" fill="#FFF"></polygon></svg></span><span class="ratings-text">from 74+ Reviews</span></div></span></a></div><div class="flexy-item is-80 text-center animate fadeIn"><div class><a href="https://www.instagram.com/drcompoginis/" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC Instagram Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="footer-social-media-icon" width="100" height="100" viewB
1069ox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.69166 0.0548132C3.8379 0.0922779 3.25627 0.231432 2.74935 0.42946C2.22108 0.63284 1.77819 0.911149 1.3353 1.35537C0.88707 1.7996 0.620268 2.24917 0.412163 2.77368C0.21473 3.28213 0.0813297 3.86551 0.0439775 4.71649C0.00662526 5.56747 -0.00404779 5.84043 0.00128825 8.01338C0.00128825 10.1863 0.0119595 10.4593 0.0546478 11.3103C0.097336 12.1613 0.230738 12.7393 0.433508 13.2477C0.636277 13.7722 0.91375 14.2218 1.35664 14.666C1.79953 15.1103 2.24776 15.3832 2.77603 15.5866C3.28295 15.7846 3.86458 15.9184 4.71834 15.9559C5.57211 15.9934 5.84424 16.0041 8.01601 15.9987C10.1878 15.9987 10.4599 15.988 11.3137 15.9452C12.1674 15.9024 12.7437 15.7686 13.256 15.5705C13.7789 15.3672 14.2272 15.0889 14.67 14.6446C15.1129 14.2004 15.3851 13.7508 15.5878 13.2263C15.7853 12.7179 15.9187 12.1345 15.956 11.2835C15.9934 10.4272 16.004 10.1596 15.9987 7.98662C15.9987 5.81367 15.9827 5.54071 15.9454 4.68973C15.9027 3.83875 15.7693 3.25537 15.5718 2.74692C15.3637 2.22241 15.0916 1.77819 14.6487 1.33396C14.2005 0.88974 13.7522 0.616783 13.2293 0.413404C12.7224 0.215376 12.1408 0.0815737 11.287 0.044109C10.4332 0.00664437 10.1611 -0.00405991 7.98933 0.00129218C5.81756 0.00129218 5.54543 0.0119965 4.69166 0.0548132ZM4.78771 14.5162C4.00865 14.4841 3.58177 14.3503 3.29896 14.2432C2.92543 14.0987 2.65863 13.9274 2.37582 13.6438C2.09301 13.3655 1.92226 13.0979 1.77819 12.7232C1.66613 12.4396 1.53807 12.0167 1.50071 11.2407C1.46336 10.3951 1.45269 10.1435 1.44735 8.00803C1.44735 5.87254 1.44735 5.62099 1.49004 4.77536C1.52206 3.99396 1.65546 3.57114 1.76218 3.28748C1.90625 2.91283 2.07701 2.64523 2.35982 2.36692C2.63729 2.08861 2.90409 1.91199 3.27761 1.76748C3.56042 1.65509 3.98197 1.52664 4.76103 1.48917C5.60412 1.45171 5.86025 1.44101 7.99466 1.43565C10.1291 1.43565 10.3852 1.43565 11.2283 1.47847C12.0074 1.51058 12.4342 1.63903 12.7117 1.75143C13.0852 1.89593 13.352 2.0672 13.6348 2.34551C13.9123 2.62382 14.0884 2.89142 14.2325 3.26607C14.3445 3.54438 14.4726 3.97255 14.51 4.7486C14.5473 5.59423 14.558 5.84578 14.5633 7.98127C14.5633 10.1168 14.5633 10.3683 14.5206 11.2139C14.4886 11.9953 14.3606 12.4182 14.2485 12.7018C14.1044 13.0765 13.9337 13.3441 13.6509 13.6224C13.3734 13.9007 13.1066 14.0773 12.7331 14.2218C12.4502 14.3342 12.0287 14.4627 11.2496 14.5001C10.4066 14.5376 10.1504 14.5483 8.01601 14.5536C5.8816 14.5536 5.62547 14.5536 4.78237 14.5162M11.3083 3.721C11.3083 4.25086 11.7406 4.67902 12.2688 4.67902C12.7971 4.67902 13.2293 4.2455 13.2293 3.71565C13.2293 3.18579 12.7971 2.75762 12.2635 2.75762C11.7352 2.75762 11.303 3.19114 11.303 3.721M3.89659 8.00803C3.89659 10.2773 5.74286 12.1131 8.01601 12.1077C10.2838 12.1077 12.1248 10.2613 12.1194 7.99197C12.1194 5.72268 10.2732 3.88691 8 3.89227C5.73219 3.89227 3.89126 5.73874 3.89659 8.00803ZM5.33732 8.00268C5.33732 6.53085 6.52726 5.33198 8 5.33198C9.47275 5.33198 10.668 6.52015 10.6734 7.99197C10.6734 9.4638 9.48342 10.6627 8.01067 10.6627C6.53793 10.6627 5.34266 9.4745 5.33732 8.00268Z" fill="url(#instagram-icon-svg-gradient-footer)"></path> <defs> <linearGradient id="instagram-icon-svg-gradient-footer" x1="0" y1="0" x2="16" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.facebook.com/Drcompoginis/" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC Facebook Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="footer-social-media-icon" width="47" height="101" viewBox="0 0 47 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31.3634 100.651V50.6455H44.9161L46.7122 33.4132H31.3634L31.3864 24.7883C31.3864 20.2938 31.8057 17.8856 38.1436 17.8856H46.6162V0.651367H33.0615C16.7802 0.651367 11.0496 9.01088 11.
10690496 23.069V33.4152H0.900879V50.6475H11.0496V100.651H31.3634Z" fill="url(#facebook-icon-svg-gradient-footer)"></path> <defs> <linearGradient id="facebook-icon-svg-gradient-footer" x1="0" y1="0" x2="47" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.youtube.com/@drcompoginis" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC YouTube Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="footer-social-media-icon" width="98" height="101" viewBox="0 0 98 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M23.503 21.7716V39.6931C23.503 41.4348 24.9165 42.8483 26.6582 42.8483C28.3999 42.8483 29.8134 41.4348 29.8134 39.6931V21.7716L41.8031 5.78532C42.8506 4.33393 42.5183 2.3104 41.0669 1.26288C39.6155 0.215353 37.592 0.5477 36.5445 1.99909L26.4479 15.4612L16.5616 1.99909C15.5141 0.606597 13.5368 0.320526 12.1443 1.36805C10.7518 2.41557 10.4658 4.39283 11.5133 5.78532L23.503 21.7716ZM38.4376 20.7619V33.3827C38.4376 38.6119 42.6739 42.8483 47.9031 42.8483C53.1324 42.8483 57.3687 38.6119 57.3687 33.3827V20.7619C57.3687 15.5327 53.1324 11.2964 47.9031 11.2964C42.6739 11.2964 38.4376 15.5327 38.4376 20.7619ZM44.748 20.7619C44.748 19.0203 46.1615 17.6068 47.9031 17.6068C49.6448 17.6068 51.0583 19.0203 51.0583 20.7619V33.3827C51.0583 35.1244 49.6448 36.5379 47.9031 36.5379C46.1615 36.5379 44.748 35.1244 44.748 33.3827V20.7619ZM65.1936 39.4407C67.3559 41.603 70.2966 42.8146 73.355 42.8062C75.3701 42.7852 77.3432 42.2341 79.0764 41.2076C79.6191 42.1878 80.6498 42.7978 81.7689 42.8062C83.5105 42.8062 84.924 41.3927 84.924 39.651V14.4095C84.924 12.6678 83.5105 11.2543 81.7689 11.2543C80.0272 11.2543 78.6137 12.6678 78.6137 14.4095V31.2372C78.6137 34.14 76.2578 36.4958 73.355 36.4958C70.4522 36.4958 68.0964 34.14 68.0964 31.2372V14.4095C68.0964 12.6678 66.6828 11.2543 64.9412 11.2543C63.1995 11.2543 61.786 12.6678 61.786 14.4095V31.2372C61.7776 34.3166 63.0018 37.2741 65.1936 39.4407ZM76.5102 73.3064C76.5102 72.1453 75.5678 71.2029 74.4067 71.2029C73.2456 71.2029 72.3033 72.1453 72.3033 73.3064V75.4098H76.5102V73.3064ZM57.5791 71.2029C56.418 71.2029 55.4756 72.1453 55.4756 73.3064V81.7202C55.4756 82.8813 56.418 83.8237 57.5791 83.8237C58.7402 83.8237 59.6825 82.8813 59.6825 81.7202V73.3064C59.6825 72.1453 58.7402 71.2029 57.5791 71.2029ZM78.6137 50.1683H19.7168C9.26259 50.1683 0.785645 58.6453 0.785645 69.0995V81.7202C0.785645 92.1744 9.26259 100.651 19.7168 100.651H78.6137C89.0679 100.651 97.5448 92.1744 97.5448 81.7202V69.0995C97.5448 58.6453 89.0679 50.1683 78.6137 50.1683ZM32.3375 66.996H26.0272V85.843C26.0272 87.0041 25.0848 87.9465 23.9237 87.9465C22.7626 87.9465 21.8202 87.0041 21.8202 85.843V66.996H15.5099C14.3488 66.996 13.4064 66.0536 13.4064 64.8925C13.4064 63.7314 14.3488 62.7891 15.5099 62.7891H32.3375C33.4987 62.7891 34.441 63.7314 34.441 64.8925C34.441 66.0536 33.4987 66.996 32.3375 66.996ZM46.9776 85.9271C46.986 87.0883 46.0479 88.0348 44.8868 88.0432C44.3104 88.0474 43.7593 87.816 43.3597 87.3996C42.5225 87.8076 41.6012 88.0264 40.6672 88.0306C37.1839 88.0306 34.3569 85.2036 34.3569 81.7202V69.0995C34.3569 67.9384 35.2992 66.996 36.4603 66.996C37.6214 66.996 38.5638 67.9384 38.5638 69.0995V81.7202C38.5638 82.8813 39.5061 83.8237 40.6672 83.8237C41.8284 83.8237 42.7707 82.8813 42.7707 81.7202V69.0995C42.7707 67.9384 43.7131 66.996 44.8742 66.996C46.0353 66.996 46.9776 67.9384 46.9776 69.0995V85.9271ZM63.8053 81.7202C63.8053 85.2036 60.9783 88.0306 57.4949 88.0306C56.5315 88.0264 55.5808 87.795 54.7184 87.3575C53.8686 88.1484 52.535 88.0979 51.7441 87.2439C51.3907 86.8611 51.1888 86.3605 51.1845 85.843V60.6015C51.1845 59.4404 52.1269 58.498 53.288 58.498
1069C54.4491 58.498 55.3915 59.4404 55.3915 60.6015V67.5429C56.0646 67.2947 56.7755 67.1685 57.4949 67.1643C60.9783 67.1643 63.8053 69.9913 63.8053 73.4747V81.7202ZM74.7012 88.0306C71.0496 87.8161 68.1595 84.8712 68.0122 81.2154V73.3064C68.0122 69.8231 70.8393 66.996 74.3226 66.996C77.8059 66.996 80.633 69.8231 80.633 73.3064V77.5133C80.633 78.6744 79.6906 79.6168 78.5295 79.6168H72.3033V81.2154C72.4421 82.549 73.4602 83.6218 74.7854 83.8237C75.753 83.8237 77.2674 83.403 77.2674 82.2671C77.2674 81.106 78.2098 80.1637 79.3709 80.1637C80.532 80.1637 81.4744 81.106 81.4744 82.2671C81.2809 85.6537 78.3739 88.2409 74.9873 88.0474C74.92 88.0432 74.8527 88.039 74.7854 88.0306H74.7012Z" fill="url(#youtube-icon-svg-gradient-footer)"></path> <defs> <linearGradient id="youtube-icon-svg-gradient-footer" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.yelp.com/biz/john-compoginis-md-newport-beach-2" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC Yelp Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="footer-social-media-icon" width="75.75" height="101" viewBox="0 0 75.75 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <g fill="url(#yelp-icon-svg-gradient-footer)"> <path d="M29.457 71.4628L15.631 88.3984C13.685 90.9044 14.614 93.8917 17.466 95.3655L31.986 98.8984C35.2 100.832 38.91 98.7334 39.07 95.6005L39.77 73.1696C39.911 69.099 33.925 67.02 29.457 71.4628Z"></path> <path d="M27.1589 54.7571L6.6536 47.9634C3.7717 46.3325 0.711 49.0197 0.61315 52.9623L0.14648 68.0768C0.0485 71.876 3.3657 74.2866 6.6062 73.1073L28.3768 65.5756C32.861 63.4096 32.9542 57.4714 27.1589 54.7571Z"></path> <path d="M50.6675 57.1624L71.6635 51.2976C73.697 50.49 74.85 46.5158 72.594 43.4578L64.108 31.3795C61.731 28.2921 56.634 28.071 54.288 30.624L42.0335 48.7857C39.015 53.323 42.669 58.336 50.6675 57.1624Z"></path> <path d="M35.5957 5.6778C35.7697 2.9975 32.1927 -0.7654 28.6845 0.1927L12.0592 4.7407C8.4726 5.7126 6.9445 9.9578 9.1072 12.9918L28.1735 46.048C28.3295 46.3163 28.4983 46.5736 28.66 46.812C32.0233 51.2457 37.243 48.9027 38.6653 45.5158C38.872 44.9763 38.9342 44.4733 38.8803 43.983L35.5957 5.6778Z"></path> <path d="M72.469 71.6512L51.3815 65.7875C47.786 64.1554 45.4277 69.3124 48.3437 73.247L61.509 91.3039C63.292 93.8727 66.8777 94.0185 69.181 90.7815L77.412 80.913C79.717 77.6705 78.082 73.141 72.469 71.6512Z"></path> </g> <defs> <linearGradient id="yelp-icon-svg-gradient-footer" x1="0" y1="0" x2="101" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://maps.app.goo.gl/CHkgTwCaG5sdUePH6" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC Google Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="101" height="101" viewBox="0 0 23 23" fill="none" class="footer-social-media-icon"> <path d="M0.265182 11.5C0.265182 5.4346 5.19978 0.5 11.2652 0.5C13.7148 0.5 16.0334 1.28812 17.9704 2.7792L15.4142 6.09973C14.2165 5.17783 12.7818 4.69048 11.2652 4.69048C7.51041 4.69048 4.45566 7.74523 4.45566 11.5C4.45566 15.2548 7.51041 18.3095 11.2652 18.3095C14.2893 18.3095 16.8593 16.3282 17.7449 13.5952H11.2652V9.40476H22.2652V11.5C22.2652 17.5654 17.3306 22.5 11.2652 22.5C5.19978 22.5 0.265182 17.5654 0.265182 11.5Z" fill="url(#google-icon-svg-gradient-footer)"></path> <defs> <linearGradient id="google-icon-svg-gradient-footer" x1="0" y1="0" x2="20" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a><a href="https://www.realself.com/dr/john-compoginis-pasadena-ca" target="_blank" rel="noreferrer" class="footer-social-media-icon-container" aria-label="View John M. Compoginis, M.D. INC RealSelf Page (Opens in a new tab)"><svg aria-hidden="true" focusable="false" class="footer-social-media-icon" width="101" height="101" viewB
1069ox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill="url(#realself-icon-svg-gradient-footer)" d="M0.151028 70.6487C0.468031 46.3273 8.32098 26.2914 25.343 11.7154C32.164 5.87585 39.8705 2.18154 48.3269 1.02993C55.701 0.0235476 62.8915 0.782794 69.448 5.34081C74.5288 8.87462 77.7382 14.1002 79.0369 20.7907C80.2524 27.0481 78.5865 32.4851 74.8983 37.0737C71.5403 41.2521 67.3995 44.3273 63.4556 47.67C60.6266 50.0675 57.7911 52.4497 55.9 56.0217C54.8746 57.9581 54.7107 60.0294 55.067 62.1594C55.4627 64.5288 57.1089 66.1391 59.2864 66.511C61.5557 66.8983 63.7813 66.5442 65.7577 65.2728C68.5561 63.4715 71.2123 61.3772 73.9495 59.4485C76.28 57.8077 78.534 55.9376 81.0089 54.6663C88.1622 50.9924 95.7812 54.6841 98.7807 63.1174C100.211 67.1378 100.589 71.2194 99.5 75.5379C97.2023 84.6463 92.3794 91.2477 85.307 95.714C82.4168 97.5382 79.4216 99.1484 76.092 99.5C74.6207 99.6554 73.0991 99.658 71.6408 99.4083C69.6295 99.0643 68.1757 96.1777 68.4446 93.5407C68.6872 91.161 69.5508 89.133 71.0484 87.5355C72.417 86.0756 73.9102 84.7762 75.3181 83.3673C76.0898 82.5953 76.855 81.7953 77.5262 80.9087C80.2371 77.3341 78.6849 72.2105 75.8624 70.2028C73.368 68.427 70.6898 68.3123 67.9745 69.413C64.8482 70.6792 62.3515 73.0997 59.8636 75.5405C57.0259 78.3227 54.3368 81.3647 50.9066 83.189C48.0514 84.7074 45.1306 85.2705 42.1814 83.4539C40.4367 82.3788 39.2518 80.6641 38.4188 78.6488C36.5015 74.0092 36.6349 69.2856 38.5784 64.7658C39.794 61.9403 41.3528 59.2906 42.9247 56.702C45.03 53.2395 47.389 49.986 49.4768 46.5133C52.649 41.2394 54.5379 35.4584 54.14 28.857C53.834 23.7665 52.5966 19.1525 49.1751 15.7257C45.6728 12.2199 41.7682 10.7829 37.1268 12.5333C34.0748 13.6823 31.3529 15.3766 28.6202 17.2977C24.2652 20.3627 21.4231 24.7525 19.4314 29.9883C17.5928 34.824 16.4866 39.9757 16.3991 45.242C16.3291 49.4994 16.7642 53.8 17.313 58.0243C17.689 60.9212 18.4017 63.8409 19.4117 66.5212C20.483 69.3646 22.0068 71.9914 23.4672 74.6131C25.5135 78.287 27.6801 81.9456 28.2944 86.3177C28.618 88.6209 28.4103 91.1865 27.879 93.4515C27.2122 96.2974 25.0938 97.9662 22.866 99.1229C14.7135 103.352 6.95677 98.2006 3.43038 90.175C1.26382 85.2425 0.428679 79.9329 0.159773 74.4704C0.0963719 73.2016 0.151028 71.9251 0.151028 70.6512V70.6487ZM51.3001 55.9962C51.2127 55.9606 52.2166 53.6736 52.1291 53.638C51.9521 54.0176 56.7538 69.2652 56.6291 69.6678C55.2606 74.0729 50.4431 66.7454 53.6132 69.6678C53.9105 69.9429 54.3171 70.1595 54.6888 70.1977C55.0014 70.2308 55.4868 70.0703 55.6201 69.8053C55.7557 69.5429 55.6573 68.9416 55.4693 68.6665C55.0451 68.0397 54.5139 67.5098 54.0067 66.9645C51.4947 64.2613 50.6093 60.9517 51.2499 57.0561C51.3067 56.7122 51.2826 56.3529 51.2979 56.0013L51.3001 55.9962ZM51.2728 8.972C51.7866 9.17582 53.1283 7.59427 53.5 7.5C56.4186 6.7433 58.4415 7.86625 61.5 7C59 9.5 53.1158 7.28535 51.2728 8.972ZM75.1607 60.4804C75.2066 60.7326 75.2525 60.9848 75.2962 61.2371C75.6876 61.2626 76.1751 61.474 76.4549 61.2804C78.1974 60.0778 79.9004 58.7988 81.5948 57.5046C81.7828 57.3619 81.8265 56.9619 81.938 56.6816C81.6778 56.6357 84.0773 62.3326 81.5948 59.4485C79.5791 60.7275 77.8607 65.7153 75.8624 67.0299L75.1607 60.4804ZM74.1265 88.8902C76.3434 88.5921 82.0522 85.5789 82.0937 83.5559C81.5 89 77 90.5 74.1265 88.8902Z"></path> <defs> <linearGradient id="realself-icon-svg-gradient-footer" x1="0" y1="0" x2="98" y2="0" gradientUnits="userSpaceOnUse"> <stop stop-color="#ffffff"></stop> <stop offset="0.08" stop-color="#ffffff"></stop> <stop offset="0.24" stop-color="#ffffff"></stop> <stop offset="0.47" stop-color="#ffffff"></stop> <stop offset="0.56" stop-color="#ffffff"></stop> <stop offset="0.69" stop-color="#ffffff"></stop> <stop offset="0.75" stop-color="#ffffff"></stop> <stop offset="0.89" stop-color="#ffffff"></stop> <stop offset="1" stop-color="#ffffff"></stop> </linearGradient> </defs> </svg></a></div></div><div class="flexy-item is-40 animate fadeIn"><a class="influx-link " href="https://www.influxmarketing.com/" target="_blank" rel="noopener"><svg width="68" class="influx-footer-logo" height="17" viewBox="0 0 68 17" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0)"><path class="footer-influx-logo-letter" d="M24.0794 1.75391H20.6508V15.1743H24.0794V1.75391Z" fill="#424648"></path><path class="footer-influx-logo-letter" d="M25.6593 5.11066H28.4717V6.1793H28.5078C28.8159 5.69087 29.4518 4.76318 31.2481 4.76318C32.2085 4.76318 33.2804 5.16311 33.8245 5.63515C34.3687 6.10719 34.9849 6.90375 34.9849 8.88042V15.1743H31.9725V9.68027C31.9725 8.97221 31.9725 7.59542 30.3926 7.59542C28.6684 7.59542 28.6684 9.08366 28.6684 9.69994V15.1776H25.656V5.11066H25.6593Z" fill="#424648"></path><path class="footer-influx-logo-letter" d="M36.5059 7.39541H35.3816V5.1106H36.5059V4.58612C36.50
106959 1.75715 38.8824 1.50146 40.3509 1.50146H40.7868V3.76988H40.4427C40.1903 3.76988 39.5183 3.86167 39.5183 4.71396V5.11388H40.7868V7.39869H39.5183V15.1808H36.5059V7.39541Z" fill="#424648"></path><path class="footer-influx-logo-letter" d="M45.1071 1.75391H42.0947V15.1743H45.1071V1.75391Z" fill="#424648"></path><path class="footer-influx-logo-letter" d="M55.8816 15.174H53.0331V14.1053H52.997C52.3808 15.3936 51.1483 15.5018 50.3845 15.5018C49.7683 15.5018 48.3162 15.3576 47.4279 14.2332C46.6281 13.2367 46.5199 12.5089 46.5199 11.1321V5.11035H49.5323V10.6798C49.5323 11.3682 49.5323 12.6925 51.1483 12.6925C52.0202 12.6925 52.8725 12.2401 52.8725 10.6437V5.11035H55.8849V15.174H55.8816Z" fill="#424648"></path><path class="footer-influx-logo-letter" d="M63.9191 5.11035L62.3063 7.75574L60.6707 5.11035H57.0617L60.4543 9.78814L56.6257 15.174H60.2544L62.3063 12.0566L64.319 15.174H68L64.1026 9.78814L67.492 5.11035H63.9191Z" fill="#424648"></path><path d="M17.0025 0H0V17H17.0025V0Z" fill="url(#paint0_linear)"></path><path d="M7.08679 9.19177L9.74517 5.31055V13.0664H7.08679V9.19177Z" fill="white"></path><path d="M9.74517 3.93701H7.08679V7.81823L9.74517 3.93701Z" fill="#F9B78E"></path></g><defs><linearGradient id="paint0_linear" x1="17.8371" y1="0.21739" x2="-0.94874" y2="5.12118" gradientUnits="userSpaceOnUse"><stop stop-color="#EA1877"></stop><stop offset="1" stop-color="#FF8732"></stop></linearGradient><clipPath id="clip0"><rect width="68" height="17" fill="white"></rect></clipPath></defs></svg><span class="profession-text">Plastic Surgeon Marketing</span></a></div></div></div><div class="footer-bottom-container"><div><p><a href="/sitemap/">Sitemap</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/accessibility/">Accessibility</a> | <a href="/open-payment-database-notice/">Notice of Open Payment Database</a></p></div><div><p><strong>Accessibility:</strong> If you are visually impaired or have some other impairment and you wish to discuss potential accommodations related to using this website, please contact our office at <a href="tel:(949) 247-8543">(949) 247-8543</a>.</p></div></div></div></section>
1069<script type="module">function n(e){const r=e.getBoundingClientRect().height;document.body.style.setProperty("--mobile-cta-height",`${r}px`)}const t=document.querySelector(".mobile-cta");t&&(n(t),new ResizeObserver(()=>{n(t)}).observe(t));let o=document.querySelectorAll(".dynamic-full-year-container");o.length>0&&o.forEach(e=>{e.textContent=`${new Date().getFullYear()}`});</script>
1069 
1070
1071<script>
1072  // Inject wrapper for left nav items for easy centering icons
1073  document.addEventListener("DOMContentLoaded", () => {
1074    const container = document.querySelector(".nav-left-container");
1075    if (!container) return;
1076
1077    const navLink = container.querySelector(".nav-left-link");
1078    const secondNavLink = container.querySelector(".second-nav-link-left");
1079    const socialIcons = container.querySelector(".header-left-social-icons");
1080
1081    if (!navLink || !socialIcons) return;
1082
1083    // Prevent duplicate wrapper if script runs more than once
1084    if (container.querySelector(".nav-left-wrapper")) return;
1085
1086    const wrapper = document.createElement("div");
1087    wrapper.classList.add("nav-left-wrapper");
1088
1089    container.insertBefore(wrapper, navLink);
1090
1091    wrapper.appendChild(navLink);
1092
1093    if (secondNavLink) {
1094      wrapper.appendChild(secondNavLink);
1095    }
1096
1097    wrapper.appendChild(socialIcons);
1098  });
1099</script>
vendor: 1 bytes, line 1099
1099
1100<script>
1101  //Add nav right link wrapper
1102document.addEventListener('DOMContentLoaded', () => {
1103  const phoneLink = document.querySelector('.nav-right-link[href*="tel:"]');
1104  const subtext = document.querySelector('.nav-right-subtext');
1105
1106  if (phoneLink && subtext) {
1107    const wrapper = document.createElement('div');
1108    wrapper.className = 'nav-right-link-wrapper';
1109
1110    phoneLink.parentNode.insertBefore(wrapper, phoneLink);
1111    
1112    wrapper.appendChild(phoneLink);
1113    wrapper.appendChild(subtext);
1114  }
1115});
1116</script>
vendor: 1 bytes, line 1116
1116
1117<script>
1118  //Add language button dynamically
1119  document.addEventListener("DOMContentLoaded", () => {
1120    const navRightLinks = document.querySelector(".nav-right-links");
1121    if (!navRightLinks) return;
1122
1123    const isSpanishPage = window.location.pathname.includes("/es/");
1124
1125    const languageLink = document.createElement("a");
1126    languageLink.className = "nav-link nav-right-link second-nav-link-right";
1127
1128    if (isSpanishPage) {
1129      languageLink.href = "/";
1130      languageLink.textContent = "English";
1131    } else {
1132      languageLink.href = "/es/";
1133      languageLink.textContent = "Español";
1134    }
1135
1136    navRightLinks.appendChild(languageLink);
1137  });
1138</script>
vendor: 1 bytes, line 1138
1138
1139<script>
1140  // Add mobile nav language links dynamically
1141  document.addEventListener("DOMContentLoaded", () => {
1142    const targetMenu = document.querySelector(".mobile-contact-menu ul");
1143    const isSpanishPage = window.location.pathname.includes("/es/");
1144
1145    if (!targetMenu) return;
1146
1147    const languageLink = isSpanishPage
1148      ? '<a class="no-menu mobile-en-link" href="/"> English </a>'
1149      : '<a class="no-menu mobile-es-link" href="/es/"> Español </a>';
1150
1151    targetMenu.innerHTML = `
1152      <a class="no-menu" href="/contact/"> Schedule Appointment </a>
1153      ${languageLink}
1154      <div class="no-menu location-name">Newport Beach</div>
1155      <a class="no-menu newport" href="tel:9496593599">(949) 659-3599</a>
1156
1157      <div class="no-menu location-name">Redlands</div>
1158      <a class="no-menu redlands" href="tel:9492478543">(949) 247-8543</a>
1159    `;
1160  });
1161</script>
vendor: 1 bytes, line 1161
1161
1162<script>
1163  //Add second masthead button for Spanish homepage
1164document.addEventListener('DOMContentLoaded', () => {
1165  const originalButton = document.querySelector('.location-individual-page .location-masthead-button');
1166  
1167  if (originalButton) {
1168    const wrapper = document.createElement('div');
1169    wrapper.className = 'location-multi-button-container';
1170    
1171    originalButton.parentNode.insertBefore(wrapper, originalButton);
1172    wrapper.appendChild(originalButton);
1173    
1174    const newButton = originalButton.cloneNode(true);
1175    newButton.href = '/services/';
1176    
1177    newButton.childNodes.forEach(node => {
1178      if (node.nodeType === Node.TEXT_NODE && node.textContent.trim().length > 0) {
1179        node.textContent = 'Ver procedimientos ';
1180      }
1181    });
1182    
1183    wrapper.appendChild(newButton);
1184  }
1185});
1186</script>
1186
1187
1188<!-- The following script adds "I agree to the terms of use of use" line to the contact form-->
1189<script>
1190  let TermsLink = document.querySelector(".terms-link"); 
1191  if(TermsLink) {
1192    let TermsLine = document.createElement("p"); 
1193    TermsLine.style.display = "inline"; 
1194    TermsLine.innerHTML  = `I agree to the <a href="/terms-of-use/">terms of use</a>.`; 
1195    TermsLink.appendChild(TermsLine); 
1196  }
1197</script>
1197
1198
1199<script>
1200  //hiding specific galleries on the index
1201(function () {
1202  if (window.location.pathname !== '/gallery/') return;
1203
1204  const spanishHeadings = ['Cuerpo', 'Hombres', 'Rostro', 'Senos'];
1205
1206  document.querySelectorAll('.gallery-index-display').forEach(function (display) {
1207    const heading = display.querySelector('h2, h3, h4');
1208    if (heading && spanishHeadings.includes(heading.textContent.trim())) {
1209      display.remove();
1210    }
1211  });
1212})();
1213</script>
1213
1214
1215<script>
1216  //update gallery masthead text
1217  document.addEventListener("DOMContentLoaded", () => {
1218    const target = document.querySelector(
1219      ".gallery-page .gallery-masthead-outer h1 span.lead.white.uppercase"
1220    );
1221
1222    if (!target) return;
1223
1224    target.textContent = target.textContent.replace(/\bINC\b/g, "").trim();
1225  });
1226</script>
1226
1227
1228<!-- 
1228<script>
1229  /*lazy load javascript*/
1230  let loadGoHighLevelChatScripts = setInterval(function() {
1231    if (document.documentElement.scrollTop > 30 || document.body.scrollTop > 30) {
1232
1233      var ghlchat = document.createElement("script");
1234      ghlchat.async = true;
1235      ghlchat.type = "text/javascript";
1236      ghlchat.setAttribute("data-resources-url", "https://widgets.leadconnectorhq.com/chat-widget/loader.js");
1237      ghlchat.setAttribute("data-widget-id", "69d675db3d6e165f217ceda3");
1238      ghlchat.src = "https://widgets.leadconnectorhq.com/loader.js";
1239     var elem = document.body;
1240      elem.appendChild(ghlchat);
1241      
1242      let checkChatWidget = setInterval(function() {
1243      const chatWidget = document.querySelector('chat-widget');
1244      if (chatWidget && chatWidget.shadowRoot) {
1245        const styleSheet = chatWidget.shadowRoot.querySelector('style') || document.createElement('style');
1246        styleSheet.textContent += `
1247        @media (max-width: 840px) {
1248          .lc_text-widget--bubble {
1249            bottom: 60px !important; 
1250          }
1251          .lc_text-widget--box {
1252            bottom: 50px !important; 
1253          }
1254          .lc_text-widget--prompt {
1255            bottom: 40px !important; 
1256          }
1257        }
1258      `;
1259      chatWidget.shadowRoot.appendChild(styleSheet);
1260      clearInterval(checkChatWidget);
1261        }
1262      }, 200);
1263
1264      clearInterval(loadGoHighLevelChatScripts);
1265    }
1266  }, 500);
1267</script>
1267 -->
1268
1269
1270<script>
1271  // Google Translate cookie injection only when URL contains /es/
1272  document.addEventListener("DOMContentLoaded", function () {
1273    const isSpanishSection = window.location.pathname.includes("/es/");
1274    const host = window.location.hostname;
1275    const baseHost = host.startsWith("www.") ? host.substring(4) : host;
1276
1277    function deleteTranslateCookies() {
1278      const pastDate = "Thu, 01 Jan 1970 00:00:00 UTC";
1279
1280      document.cookie = `googtrans=; expires=${pastDate}; path=/;`;
1281      document.cookie = `googtrans=; expires=${pastDate}; path=/; domain=${host};`;
1282      document.cookie = `googtrans=; expires=${pastDate}; path=/; domain=.${baseHost};`;
1283    }
1284
1285    if (!isSpanishSection) {
1286      deleteTranslateCookies();
1287      return;
1288    }
1289
1290    // Set Spanish translation cookie
1291    document.cookie = "googtrans=/en/es; path=/;";
1292    document.cookie = "googtrans=/en/es; path=/; domain=" + host + ";";
1293    document.cookie = "googtrans=/en/es; path=/; domain=." + baseHost + ";";
1294
1295    // Hidden Google Translate container
1296    const container = document.createElement("div");
1297    container.id = "google_translate_element";
1298    container.style.position = "absolute";
1299    container.style.left = "-9999px";
1300    container.style.top = "-9999px";
1301    container.style.width = "1px";
1302    container.style.height = "1px";
1303    container.style.overflow = "hidden";
1304    container.setAttribute("aria-hidden", "true");
1305    document.body.appendChild(container);
1306
1307    // Init Google Translate
1308    window.googleTranslateElementInit = function () {
1309      new google.translate.TranslateElement(
1310        {
1311          pageLanguage: "en",
1312          includedLanguages: "es",
1313          autoDisplay: false,
1314          layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
1315        },
1316        "google_translate_element"
1317      );
1318    };
1319
1320    const gtScript = document.createElement("script");
1321    gtScript.src =
1322      "https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
1323    document.body.appendChild(gtScript);
1324  });
1325</script>
1325
1326
1327<!-- Manipulating the DOB field in the form for label -->
1328<script>
1329document.addEventListener("DOMContentLoaded", function() {
1330    // Find the Date of Birth input field
1331    const dobInput = document.querySelector('input[name="Date-of-Birth"]');
1332    
1333    if (dobInput) {
1334        // On page load, if the field is empty, change it to 'text' to show the placeholder
1335        if (!dobInput.value) {
1336            dobInput.type = 'text';
1337        }
1338
1339        // When the user clicks into the field (focus), switch it back to a 'date' picker
1340        dobInput.addEventListener('focus', function() {
1341            this.type = 'date';
1342        });
1343
1344        // When the user clicks out (blur), check if they left it empty
1345        // If it's empty, revert it back to 'text' so the placeholder returns
1346        dobInput.addEventListener('blur', function() {
1347            if (!this.value) {
1348                this.type = 'text';
1349            }
1350        });
1351    }
1352});
1353</script>
1353 
1353<script defer src="//s.ksrndkehqnwntyxlhgto.com/164547.js"></script>
1353<script defer>var $wc_load=function(a){return JSON.parse(JSON.stringify(a))},$wc_leads=$wc_leads||{doc:{url:$wc_load(document.URL),ref:$wc_load(document.referrer),search:$wc_load(location.search),hash:$wc_load(location.hash)}};</script>
1353<template id="cmp-tracking-scripts">
1354<link rel="preconnect" href="https://www.googletagmanager.com/" />
1355<link rel="preconnect" href="https://www.google-analytics.com/"/>
vendor: 59 bytes, lines 1355-1357
1355
1356
1357<script src="https://www.googletagmanager.com/gtag/js?id=
1357G-3WS8EG0B85
vendor: 12 bytes, line 1357
1357"></script>
1358<script>
1359  
vendor: 133 bytes, lines 1359-1362
1359window.dataLayer = window.dataLayer || [];
1360  function gtag(){dataLayer.push(arguments);}
1361  gtag('js', new Date());
1362  gtag('config', '
1362G-3WS8EG0B85
vendor: 6 bytes, lines 1362-1363
1362');
1363  
1363gtag('config', 'AW-18009010413');
1364
1365</script>
vendor: 1 bytes, line 1365
1365
1366<script>
1367  let allTelTags = document.querySelectorAll("a[href^='tel']");
1368  for (let tag of allTelTags) {
1369    tag.addEventListener("click", () => gtag('event', 'phone_number_click'));
1370    let phoneNumberSplit = tag.href.split("tel:");
1371    if (phoneNumberSplit.length > 1) {
1372      tag.ariaLabel = `Call ${phoneNumberSplit[1]}`;
1373    }
1374  }
1375  let allForms = document.querySelectorAll("form");
1376  for (let form of allForms) {
1377    form.addEventListener("submit", (e) => {
1378      gtag("event", 'form_completion', {
1379        'form_name': e.target.querySelector("input[name='gtagevent']").value || "contact_form"
1380      });
1381        gtag('event', 'conversion', {'send_to': 'AW-18009010413/cHXJCPD-xYwcEO3hrotD'});
1382    })
1383  }
1384</script>
1384
1385</template>
1385<script defer src="https://cmp.influx.mx/optin.js"></script>
1385   
1385<script>
1386  function getCookie(name) {
1387    function escape(s) {
1388      return s.replace(/([.*+?\^$(){}|\[\]\/\\])/g, "\\$1");
1389    }
1390    const match = document.cookie.match(RegExp("(?:^|;\\s*)" + escape(name) + "=([^;]*)"));
1391    return match ? match[1] : null;
1392  }
1393
1394  function setFormLocation() {
1395    const locationNav = getCookie("locationNav");
1396    if (locationNav) {
1397      const location = JSON.parse(locationNav).locationName;
1398      document.querySelectorAll("form").forEach(form => {
1399        form.querySelectorAll("select").forEach(select => {
1400          select.querySelectorAll("option").forEach(option => {
1401            if (option.value === location) option.selected = true;
1402          });
1403        });
1404      });
1405    }
1406  }
1407
1408  function setTrackingCookies() {
1409    const url = new URL(window.location);
1410    for (const key of url.searchParams.keys()) {
1411      if (!document.cookie.includes(`__form__${key}`)) {
1412        document.cookie = `__form__${key}=${url.searchParams.get(key)}; path=/`;
1413      }
1414    }
1415  }
1416
1417  function setVisitedPageCookie() {
1418    if (document.cookie.includes("currentVisitedPage")) {
1419      document.cookie = `lastVisitedPage=${getCookie("currentVisitedPage")}; path=/`;
1420    }
1421    document.cookie = `currentVisitedPage=${window.location.href}; path=/`;
1422  }
1423
1424  function scrollToHashTarget() {
1425    const hash = window.location.hash;
1426    if (!hash) return;
1427    const target = document.querySelector(hash);
1428    if (!target) return;
1429    let headerHeight = parseInt(document.body.style.getPropertyValue("--header-height")) || 135;
1430    headerHeight += 75;
1431    let lastOffset = null;
1432    let stableCount = 0;
1433    const offSetInterval = setInterval(() => {
1434      const target = document.querySelector(hash);
1435      if (!target) {
1436        clearInterval(offSetInterval);
1437        return;
1438      }
1439      const newOffset = target.getBoundingClientRect().top + window.scrollY - headerHeight;
1440      if (newOffset === lastOffset) {
1441        stableCount++;
1442        if (stableCount >= 3) {
1443          clearInterval(offSetInterval);
1444          window.scrollTo({
1445            top: newOffset,
1446            behavior: "smooth"
1447          });
1448        }
1449      } else {
1450        stableCount = 0; 
1451        lastOffset = newOffset;
1452        window.scrollTo({
1453          top: newOffset,
1454          behavior: "smooth"
1455        });
1456      }
1457    }, 100);
1458  }
1459
1460  window.addEventListener("DOMContentLoaded", scrollToHashTarget);
1461  window.addEventListener("hashchange", scrollToHashTarget);
1462
1463  setTrackingCookies();
1464  setVisitedPageCookie();
1465  setFormLocation();
1466
1467
1468  //if current URL matches the item in the menu, add a "current-page" class to the item
1469  document.querySelectorAll("menu a").forEach(a => {
1470    if (a.href === window.location.href) {
1471      a.classList.add("current-page");
1472      a.parentElement.classList.add("current-page");
1473    }
1474  });
1475
1476</script>
1476 
1476<script type="module">function a(){const o={root:null,rootMargin:"1000px 0px",threshold:0},s=new IntersectionObserver(t=>{t.forEach(r=>{if(r.isIntersecting){const e=r.target;if(!e.dataset.src)return;e.src=e.dataset.src,s.unobserve(e)}})},o),n=new IntersectionObserver(t=>{t.forEach(r=>{if(r.isIntersecting){const e=r.target;if(!e.dataset.src)return;e.src=e.dataset.src,e.load(),e.onloadeddata=()=>{e.removeAttribute("data-src"),e.play()},n.unobserve(e)}})},o);document.querySelectorAll("img[data-src]").forEach(t=>s.observe(t)),document.querySelectorAll("video[data-src]:not([data-load-on-click])").forEach(t=>n.observe(t))}window.addEventListener("DOMContentLoaded",a);</script>
1476 
1476<script type="module" src="/_astro/FormHandler.astro_astro_type_script_index_0_lang.D1cAWu3H.js"></script>
1476 <div class="accessibility-widget-container"> <a role="button" class="accessibility-launcher" aria-label="Open Accessibility Menu" aria-expanded="false" tabindex="0"> <div class="accessibility-launcher-icon"> <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg" role="img"> <title>Accessibility icon</title> <g clip-path="url(#clip0_3_2)"> <path d="M30 4.42857C44.1227 4.42857 55.5714 15.8773 55.5714 30C55.5714 44.1227 44.1227 55.5714 30 55.5714C15.8773 55.5714 4.42857 44.1227 4.42857 30C4.42857 15.8773 15.8773 4.42857 30 4.42857ZM30 6.42857C16.9819 6.42857 6.42857 16.9819 6.42857 30C6.42857 43.0181 16.9819 53.5714 30 53.5714C43.0181 53.5714 53.5714 43.0181 53.5714 30C53.5714 16.9819 43.0181 6.42857 30 6.42857ZM40.5936 24.6361C40.8208 24.6942 41.0323 24.8028 41.2129 24.9537C41.3927 25.1041 41.5373 25.2927 41.6362 25.506C41.7349 25.7185 41.7857 25.9505 41.7857 26.1965C41.778 26.578 41.6395 26.9452 41.3936 27.2353C41.1464 27.5268 40.8059 27.7221 40.4376 27.7857C38.1922 28.2018 35.9244 28.4828 33.6481 28.6271C33.5049 28.6367 33.3651 28.6759 33.2369 28.7424C33.1082 28.8091 32.994 28.9019 32.9012 29.0154C32.8079 29.1294 32.7383 29.2618 32.6967 29.4044C32.6759 29.4759 32.6623 29.5493 32.6557 29.6152L32.6511 29.7072L32.6599 29.8496L32.8523 31.5976C33.0926 33.7484 33.5345 35.8702 34.1701 37.9296L34.4174 38.6989L34.6846 39.4673L35.9271 42.8464C35.9992 43.0441 36.0318 43.2542 36.023 43.4646C36.0141 43.6751 35.964 43.8817 35.8755 44.0727C35.7867 44.2639 35.6611 44.4355 35.5059 44.5773C35.3502 44.7196 35.1677 44.829 34.99 44.8912C34.8134 44.9616 34.6253 44.9985 34.4204 45C34.1148 44.9943 33.8175 44.8987 33.5651 44.7253C33.4239 44.6283 33.2998 44.5091 33.189 44.3581L33.0827 44.196L33.0074 44.0456L32.6902 43.3563C31.8321 41.4806 31.0485 39.6428 30.3336 37.8221L30.0025 36.9627L29.5751 38.0696C29.3404 38.6637 29.0998 39.2561 28.8537 39.8465L28.4802 40.7305L27.9044 42.0505L27.3109 43.3601L27.0273 43.9426C26.881 44.3389 26.585 44.6608 26.2035 44.837C25.8203 45.0139 25.3832 45.0288 24.9892 44.8784C24.5966 44.7286 24.2796 44.4272 24.1073 44.0414C23.9886 43.7757 23.9447 43.4837 23.9834 43.1769L24.0166 42.9911L24.0668 42.8262L25.3079 39.4507C26.0439 37.4198 26.5852 35.3222 26.9239 33.1917L27.0415 32.3912L27.1413 31.5772L27.3403 29.8382C27.3582 29.6889 27.346 29.5376 27.3045 29.3935C27.2631 29.2497 27.1935 29.1162 27.1 29.0012C27.007 28.8867 26.8923 28.7929 26.7631 28.7253C26.6343 28.658 26.4937 28.6182 26.3535 28.6083C24.0561 28.4627 21.7692 28.1774 19.507 27.7543C19.3016 27.7166 19.1058 27.
14766379 18.9308 27.5231C18.7564 27.4085 18.6063 27.2602 18.489 27.0868C18.3721 26.9139 18.2902 26.7195 18.2479 26.5149C18.2055 26.3104 18.2035 26.0993 18.2404 25.902C18.2758 25.6952 18.3515 25.4975 18.4633 25.3202C18.5754 25.1425 18.7216 24.9892 18.8933 24.869C19.0655 24.7486 19.26 24.6643 19.4652 24.6211C19.6707 24.5779 19.8826 24.5768 20.0823 24.6167C26.6344 25.8478 33.3529 25.8478 39.898 24.618C40.1283 24.5717 40.366 24.5779 40.5936 24.6361ZM32.8056 16.183C34.352 17.7552 34.352 20.3006 32.8056 21.8729C31.2543 23.4501 28.7353 23.4501 27.184 21.8729C25.6376 20.3007 25.6376 17.7552 27.184 16.183C28.7353 14.6057 31.2543 14.6057 32.8056 16.183Z" fill="white"></path> </g> <defs> <clipPath id="clip0_3_2"> <rect width="60" height="60" fill="white"></rect> </clipPath> </defs> </svg> </div> </a> <div class="accessibility-panel hidden" role="dialog" aria-modal="true" aria-label="Accessibility Settings" tabindex="-1"> <div class="accessibility-panel-inner"> <div class="accessibility-header"> <p class="accessibility-header-title">Accessibility Menu <span class="accessibility-menu-small-text">(CTRL + U)</span></p> <div class="accessibility-header-controls"> <a role="button" class="accessibility-header-close" aria-label="Close Menu" tabindex="0"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="16" height="16"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="m2.3 2.3 9.4 9.4m-9.4 0 9.4-9.4"></path></svg> </a> </div> </div> <div class="accessibility-body"> <div class="accessibility-feature-grid"> <a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Contrast Mode" data-feature-id="contrast" data-current-step="0" data-steps="3" tabindex="0"> <span class="accessibility-feature-icon"> <span class="icon-char">◑</span>           </span> <span class="accessibility-feature-name">Contrast Mode</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span><span class="step-dot" data-step-index="3"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Highlight Links" data-feature-id="highlight" data-current-step="0" data-steps="1" tabindex="0"> <span class="accessibility-feature-icon">  <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07L13.5 6.5M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07L10.5 17.5"></path> </svg> </span>          </span> <span class="accessibility-feature-name">Highlight Links</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Larger Text" data-feature-id="text-size" data-current-step="0" data-steps="2" tabindex="0"> <span class="accessibility-feature-icon">     <span class="icon-char">T+</span>       </span> <span class="accessibility-feature-name">Larger Text</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Text Spacing" data-feature-id="spacing" data-current-step="0" data-steps="3" tabindex="0"> <span class="accessibility-feature-icon">      <span class="icon-char">↔</span>      </span> <span class="accessibility-feature-name">Text Spacing</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span><span class="step-dot" data-step-index="3"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Dyslexia Friendly" data-feature-id="dyslexia" data-current-step="0" data-steps="1" tabindex="0"> <span class="accessibility-feature-icon">
1476        <span class="icon-char">Aa</span>    </span> <span class="accessibility-feature-name">Dyslexia Friendly</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Hide Images" data-feature-id="hide-images" data-current-step="0" data-steps="1" tabindex="0"> <span class="accessibility-feature-icon">           <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <line x1="1" y1="1" x2="23" y2="23"></line> <path d="M21 15V5a2 2 0 0 0-2-2H9"></path> <path d="m21 15-5-5L5 21"></path> <path d="M3.6 3.6c-.4.4-.6.9-.6 1.4v14a2 2 0 0 0 2 2h14c.5 0 1-.2 1.4-.6"></path> </svg> </span> </span> <span class="accessibility-feature-name">Hide Images</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Line Height" data-feature-id="line-height" data-current-step="0" data-steps="3" tabindex="0"> <span class="accessibility-feature-icon">   <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M3 3h18"></path> <path d="M3 21h18"></path> <path d="m16 16-4 4-4-4"></path> <path d="m12 20V4"></path> <path d="m16 8-4-4-4 4"></path> </svg> </span>         </span> <span class="accessibility-feature-name">Line Height</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span><span class="step-dot" data-step-index="3"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Text Align" data-feature-id="text-align" data-current-step="0" data-steps="3" tabindex="0"> <span class="accessibility-feature-icon">         <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <line x1="17" y1="10" x2="3" y2="10"></line> <line x1="21" y1="6" x2="3" y2="6"></line> <line x1="21" y1="14" x2="3" y2="14"></line> <line x1="17" y1="18" x2="3" y2="18"></line> </svg> </span>   </span> <span class="accessibility-feature-name">Text Align</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span><span class="step-dot" data-step-index="3"></span> </span> </a><a role="button" class="accessibility-feature-btn" aria-pressed="false" aria-label="Saturation" data-feature-id="saturation" data-current-step="0" data-steps="3" tabindex="0"> <span class="accessibility-feature-icon">          <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path> </svg> </span>  </span> <span class="accessibility-feature-name">Saturation</span> <span class="accessibility-feature-steps"> <span class="step-dot" data-step-index="1"></span><span class="step-dot" data-step-index="2"></span><span class="step-dot" data-step-index="3"></span> </span> </a><a class="accessibility-feature-btn" href="/accessibility/" aria-pressed="false" aria-label="Accessibility Statement" data-feature-id="statement-page" data-current-step="0" data-steps="0" tabindex="0"> <span class="accessibility-feature-icon">    <span class="icon-char"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path> <polyline points="14 2 14 8 20 8"></polyline> <line x1="16" y1="13" x2="8" y2="13"></line> <line x1="16" y1="17" x2="8" y2="17"></line> <polyline points="10 9 9 9 8 9"></polyline> </svg> </span>        </span> <span class="accessibility-feature-name">Accessibility Statement</span> <span class="accessibility-feature-steps">  </span> </a> </div> </div> <div class="accessibility-footer"> <a role="button" class="accessibility-btn-reset" tabindex="0"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 16" width="16" style="margin-right:8px"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"><path d="M16.2 8c0 .9-.2 1.9-.5 2.7-.3.8-.8 1.6-1.4 2.2-.6.6-1.3 1.1-2.1 1.5-.8.4-1.7.5-2.6.5-2.6 0-5-1.5-6.2-3.7M2.7 8c0-1 .2-1.9.5-2.7.3-.8.8-1.6 1.4-2.2.6-.6 1.3-1.1 2.1-1.5C7.6 1.2 8.5 1 9.4 1c.9 0 1.8.2 2.6.5.8.4 1.5.9 2.1 1.5"></path><path stroke-linejoin="round" d="m4.9 7-2.5 1.5L1 5.9m13 2.9 2.4-1.6L18 9.6"></path></g></svg>
1477Reset Settings
1478</a> <button class="accessibility-btn-oversize accessibility-btn-square" aria-label="Toggle Oversized Widget" aria-pressed="false" tabindex="0"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1478ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect> <line x1="16" y1="8" x2="8" y2="8"></line> <line x1="8" y1="16" x2="16" y2="16"></line> </svg> </button> <button class="accessibility-btn-widget-theme" aria-label="Toggle Widget Theme" tabindex="0"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <circle cx="12" cy="12" r="5"></circle> <line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="21" x2="12" y2="23"></line> <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> <line x1="1" y1="12" x2="3" y2="12"></line> <line x1="21" y1="12" x2="23" y2="12"></line> <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> </svg> </button> </div> </div> </div> </div> 
1478<script type="module" src="/_astro/Accessibility.astro_astro_type_script_index_0_lang.D0lp6Osc.js"></script>
1478 </body></html>

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