PageSourceSearch

https://www.surfandsandresort.com/contact-us

html surfandsandresort.com collected 2026-09-26 07:34:59 UTC 87,117 bytes, 729 lines download raw bytes

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
4<head>
5  
5<script>
6  var responsive = true;
7  </script>
7
8      <title>Contact Surf & Sand Laguna Beach | Laguna Beach, CA</title>
9                
9<script type="text/javascript" src="https://app.termly.io/resource-blocker/9d7bbdfc-b145-4963-be4b-e520ea0e4767?autoBlock=on"></script>
9
10        
10<script>
11(function () {
12    var hostaiBaseUrl = 'https://ai.tambourine.com';
13    var hotelId = '2807';
14
15    var hasImperativeApi = typeof document !== 'undefined' && document.modelContext && typeof document.modelContext.registerTool === 'function';
16    var hasLegacyApi = typeof navigator !== 'undefined' && navigator.modelContext && typeof navigator.modelContext.provideContext === 'function';
17
18    if (!hasImperativeApi && !hasLegacyApi) return;
19
20    function callTool(name, args) {
21        return fetch(hostaiBaseUrl + '/hostai/tools/call', {
22            method: 'POST',
23            headers: { 'Content-Type': 'application/json' },
24            body: JSON.stringify({ hotel_id: hotelId, name: name, arguments: args || {} })
25        }).then(function (res) { return res.json(); });
26    }
27
28    fetch(hostaiBaseUrl + '/hostai/tools?hotel_id=' + encodeURIComponent(hotelId))
29        .then(function (res) { return res.ok ? res.json() : null; })
30        .then(function (data) {
31            var tools = data && data.tools ? data.tools : [];
32            if (!tools.length) return;
33
34            if (hasImperativeApi) {
35                tools.forEach(function (tool) {
36                    document.modelContext.registerTool({
37                        name: tool.name,
38                        description: tool.description,
39                        inputSchema: tool.input_schema,
40                        execute: function (args) { return callTool(tool.name, args); }
41                    });
42                });
43            }
44
45            if (hasLegacyApi) {
46                navigator.modelContext.provideContext({
47                    tools: tools.map(function (tool) {
48                        return {
49                            name: tool.name,
50                            description: tool.description,
51                            inputSchema: tool.input_schema,
52                            execute: function (args) { return callTool(tool.name, args); }
53                        };
54                    })
55                });
56            }
57        })
58        .catch(function () {});
59})();
60</script>
60
61    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
62    <meta http-equiv="content-style-type" content="text/css" />
63    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
64    <meta name="HandheldFriendly" content="true" />
65    <meta name="description" content="Reach our team for guest room reservations, private events, spa, and dining inquiries. Located at 1555 South Coast Highway, Laguna Beach, CA 92651." />
66                <link rel="canonical" href="https://www.surfandsandresort.com/contact-us">
67        <link rel="ai-catalog" href="https://www.surfandsandresort.com/.well-known/ai-catalog.json">
68    
69    
70
71<!-- Custom Fonts -->
72<style type="text/css">
73 @font-face {
74	 font-family: "Quarto Light";
75	 src: url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/quarto-light-6883dcdd7934e.ttf') format('truetype'),
76		 url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/quarto-light-6883dce1e7ee6.woff') format('woff');
77	 font-style:select one;
78	 font-weight:300;
79	 font-display:swap;
80 }
81 @font-face {
82	 font-family: "Quarto Light";
83	 src: url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/quarto-lightitalic-6883dcf2a603c.ttf') format('truetype'),
84		 url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/quarto-lightitalic-6883dcf6d23a9.woff') format('woff');
85	 font-style:italic;
86	 font-weight:300;
87	 font-display:swap;
88 }
89 @font-face {
90	 font-family: "RockStar";
91	 src: url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/rockstar-regular-6883dca65a1cd.ttf') format('truetype'),
92		 url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/rockstar-regular-6883dcac9f4c5.woff') format('woff');
93	 font-style:regular;
94	 font-weight:400;
95	 font-display:swap;
96 }
97 @font-face {
98	 font-family: "RockStar";
99	 src: url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/rockstar-semibold-6883dcb84161c.ttf') format('truetype'),
100		 url('https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/fonts/rockstar-semibold-6883dcbc3685b.woff') format('woff');
101	 font-style:regular;
102	 font-weight:600;
103	 font-display:swap;
104 }
105</style>        
106    
107<!-- Schema Information https://schema.org -->
108<script type="application/ld+json">
109{
110    "@context": "https:\/\/schema.org",
111    "@graph": [
112        {
113            "@id": "https:\/\/www.surfandsandresort.com\/contact-us#breadcrumblist",
114            "@type": "BreadcrumbList",
115            "itemListElement": [
116                {
117                    "@type": "ListItem",
118                    "position": 1,
119                    "item": {
120                        "@id": "https:\/\/www.surfandsandresort.com",
121                        "name": "Homepage"
122                    }
123                },
124                {
125                    "@type": "ListItem",
126                    "position": 2,
127                    "item": {
128                        "@id": "https:\/\/www.surfandsandresort.com\/contact-us",
129                        "name": "Contact Us"
130                    }
131                }
132            ]
133        }
134    ]
135}
136</script>
136
137<!-- End Schema Information -->
138
139<!-- No Canonical Tags -->
140<!-- No Hreflang Tags: use_languages disabled -->
141
142
143<meta property="og:title" content="Contact Surf & Sand Laguna Beach | Laguna Beach, CA"/>
144<meta property="og:image" content="https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/media/surf-and-sand-premium-oceanfront-corner-king-studio-may-2025-1-68b85b48ed26c.jpg"/>
145<meta property="og:url" content="https://www.surfandsandresort.com/contact-us"/>
146<meta property="og:site_name" content="Surf and Sand Laguna Beach"/>
147<meta property="og:description" content="Reach our team for guest room reservations, private events, spa, and dining inquiries. Located at 1555 South Coast Highway, Laguna Beach, CA 92651."/>
148<meta name="twitter:card" content="summary_large_image">
149
150
151<meta property="og:type" content="website" />
152<meta name="twitter:title" content="Contact Surf & Sand Laguna Beach | Laguna Beach, CA">
153<meta name="twitter:description" content="Reach our team for guest room reservations, private events, spa, and dining inquiries. Located at 1555 South Coast Highway, Laguna Beach, CA 92651.">
154<meta name="twitter:image" content="https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/media/surf-and-sand-premium-oceanfront-corner-king-studio-may-2025-1-68b85b48ed26c.jpg">
155        <link rel="shortcut icon" href="https://symphony.cdn.tambourine.com/surf-sand-resort-reskin/files/surf_and_sand_monogram_deep_sea_rgb-_1_-68e6dbf2304b2.ico" type="image/x-icon">
156	                    <link rel="stylesheet" media="screen" type="text/css" href="https://frontend.cdn.tambourine.com/assets/symphony.css?w67tMH" />
157        		<link rel="stylesheet" media="screen" type="text/css" href="https://www.surfandsandresort.com/assets/style.css?w67tMH" />
158	            
158<script src="https://frontend.cdn.tambourine.com/assets/js/jquery-3.7.0.min.js"></script>
158
159    
160    
161        
162    <!-- TODO -->
163     
163<script src="https://www.surfandsandresort.com/js-variables?page_id=577065"></script>
163
164     
165    
166    <!-- OneTrust Cookies Consent Notice start for www.surfandsandresort.com -->
167<script src=https://cdn.cookielaw.org/scripttemplates/otSDKStub.js  type="text/javascript" charset="UTF-8" data-domain-script="cfc210dd-9d4c-467b-bd8f-1a9b683e5413" ></script>
vendor: 2 bytes, line 167
167
168<script type="text/javascript">
169function OptanonWrapper() { }
170</script>
170
171<!-- OneTrust Cookies Consent Notice end for www.surfandsandresort.com -->                    <!-- Google Tag Manager -->
172                    
172<script>
vendor: 407 bytes, lines 172-176
172(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
173                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
174                    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
175                    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
176                    })(window,document,'script','dataLayer','
176GTM-5FS6WP4
vendor: 3 bytes, line 176
176');
176</script>
176
177                    <!-- End Google Tag Manager -->
178            
179    
180        <!-- Tag Siteimprove - https://siteimprove.com/ -->
181    
181<script type="text/plain" data-categories="analytics">
182        /*<![CDATA[*/
183        (function() {
184            var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true;
185            sz.src = '//siteimproveanalytics.com/js/siteanalyze_6119418.js';
186            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s);
187        })();
188        /*]]>*/
189    </script>
189
190
191    
192<script class="optanon-category-C0003" type="text/plain">
193 async function supportsWebp(){if(!self.createImageBitmap)return!1;const e=await fetch("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=").then((e=>e.blob()));return createImageBitmap(e).then((()=>!0),(()=>!1))}function setCookie(e,t,a){let A=new Date;A.setDate(A.getDate()+a);let n=escape(t)+(null==a?"":"; expires="+A.toUTCString());document.cookie=e+"="+n}(async()=>{null===new URLSearchParams(document.cookie.replaceAll("&","%26").replaceAll("; ","&")).get("ACCEPT_WEBP")&&setCookie("ACCEPT_WEBP",await supportsWebp(),30)})();
194</script>
194
195
196</head>
197
198<body id="default" class="contact-us  page-577065">
199
200  <div id="start-content">
201    <header id="header" class="header    down">
202      <a href="#intro-content" class="skip-to-content btn">Skip to Content</a>
203      <div class="container">
204        <div class="menu-left">
205                      <div class="bar-menu">
206              <button class="btn-menu" aria-controls="main-navigation" aria-label="Open menu">
207                <div class="bars" aria-hidden="true">
208                  <span class="bar"></span>
209                  <span class="bar"></span>
210                  <span class="bar"></span>
211                </div>
212                MENU
213              </button>
214              <div id="main-navigation" class="primary-nav-container">
215                                <button class="close-menu" aria-controls="main-navigation" aria-label="Close menu">
216                  <span class="hidden">close</span>
217                </button>
218                    <nav id="primary-nav" class="privary-navigation" role="navigation" aria-label="Primary Menu"><ul id="privary-navigation" class="privary-navigation__list"><li class='privary-navigation__item primary-nav-1'> <a aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com' class=' '>Home</a> </li><li class='privary-navigation__item primary-nav-2'> <a aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/laguna-beach-hotel-deals' class=' '>Special Offers</a> </li><li class='privary-navigation__item primary-nav-3'> <a aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/accommodations-laguna-beach-california' class=' '>Accommodations</a> </li><li class='privary-navigation__item primary-nav-4'> <a aria-haspopup='menu' aria-expanded='false' aria-controls='primarySubNav3' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach' class=' '>Food & Beverage</a> <ul class='submenu privary-navigation__submenu' id='primarySubNav3'><li class='privary-navigation__item primary-nav-5'> <a tabindex='0' aria-haspopup='false' aria-label='Overview page of oceanfront-dining-laguna-beach' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach' class=' '>Overview</a> </li><li class='privary-navigation__item primary-nav-6'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/splashes' class=' '>Splashes</a> </li><li class='privary-navigation__item primary-nav-7'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/splashes-bar' class=' '>Splashes Bar</a> </li><li class='privary-navigation__item primary-nav-8'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/pacific-perk' class=' '>Pacific Perk</a> </li><li class='privary-navigation__item primary-nav-9'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/bella-vista-terrace' class=' '>Bella Vista Terrace</a> </li><li class='privary-navigation__item primary-nav-10'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/lobby-lounge' class=' '>Lobby Lounge</a> </li><li class='privary-navigation__item primary-nav-11'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/beach-dining' class=' '>Beach</a> </li><li class='privary-navigation__item primary-nav-12'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/in-room-dining' class=' '>In-Room Dining</a> </li><li class='privary-navigation__item primary-nav-13'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach/splashes-private-dining' class=' '>Private Dining</a> </li></ul></li><li class='privary-navigation__item primary-nav-14'> <a aria-haspopup='false' aria-expanded='false' aria-controls='primarySubNav3' aria-label='' href='https://www.surfandsandresort.com/spa' class=' '>Aquaterra Spa</a> </li><li class='privary-navigation__item primary-nav-15'> <a aria-haspopup='false' aria-expanded='false' aria-controls='primarySubNav3' aria-label='' href='https://www.surfandsandresort.com/fitness-center' class=' '>Fitness Center</a> </li><li class='privary-navigation__item primary-nav-16'> <a aria-haspopup='menu' aria-expanded='false' aria-controls='primarySubNav18' aria-label='' href='https://www.surfandsandresort.com/laguna-beach-event-space' class=' '>Meetings & Events</a> <ul class='submenu privary-navigation__submenu' id='primarySubNav18'><li class='privary-navigation__item primary-nav-17'> <a tabindex='0' aria-haspopup='false' aria-label='Overview page of laguna-beach-event-space' href='https://www.surfandsandresort.com/laguna-beach-event-space' class=' '>Overview</a> </li><li class='privary-navigation__item primary-nav-18'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/laguna-beach-event-space/venues' class=' '>Venues</a> </li><li class='privary-navigation__item primary-nav-19'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/laguna-beach-event-space/start-planning' class=' '>Start Planning</a> </li></ul></li><li class='privary-navigation__item primary-nav-20'> <a aria-haspopup='menu' aria-expanded='false' aria-controls='primarySubNav22' aria-label='' href='https://www.surfandsandresort.com/wedding-venues-laguna-beach-ca' class=' '>Weddings</a> <ul class='submenu privary-navigation__submenu' id='primarySubNav22'><li class='privary-navigation__item primary-nav-21'> <a tabindex='0' aria-haspopup='false' aria-label='Overview page of wedding-venues-laguna-beach-ca' href='https://www.surfandsandresort.com/wedding-venues-laguna-beach-ca' class=' '>Overview</a> </li><li class='privary-navigation__item primary-nav-22'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/wedding-venues-laguna-beach-ca/wedding-venues' class=' '>Wedding Venues</a> </li><li class='privary-navigation__item primary-nav-23'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/wedding-venues-laguna-beach-ca/request-information' class=' '>Start Planning</a> </li></ul></li><li class='privary-navigation__item primary-nav-24'> <a aria-haspopup='menu' aria-expanded='false' aria-controls='primarySubNav26' aria-label='' href='https://www.surfandsandresort.com/around-laguna-beach/resort-experiences' class=' '>Experiences</a> <ul class='submenu privary-navigation__submenu' id='primarySubNav26'><li class='privary-navigation__item primary-nav-25'> <a tabindex='0' aria-haspopup='false' aria-label='Overview page of resort-experiences' href='https://www.surfandsandresort.com/around-laguna-beach/resort-experiences' class=' '>Resort experiences</a> </li><li class='privary-navigation__item primary-nav-26'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/around-laguna-beach' class=' '>Around Laguna Beach</a> </li><li class='privary-navigation__item primary-nav-27'> <a tabindex='0' aria-haspopup='false' aria-label='' href='https://www.surfandsandresort.com/laguna-beach-hotels-with-pools' class=' '>Our Pool & Beach</a> </li></ul></li><li class='privary-navigation__item primary-nav-28'> <a aria-haspopup='false' aria-expanded='false' aria-controls='primarySubNav26' aria-label='' href='https://www.surfandsandresort.com/gallery' class=' '>Gallery</a> </li><li class='privary-navigation__item primary-nav-29'> <a aria-haspopup='false' aria-expanded='false' aria-controls='primarySubNav26' aria-label='' href='https://www.surfandsandresort.com/faq' class=' '>FAQ</a> </li></ul></nav>
219              </div>
220            </div>
221                                <div class="left-nav">
222              <nav class="menu-left"  role="navigation" aria-label="Section Navigation"><ul><li class='sn-1'> <a href='https://www.surfandsandresort.com/accommodations-laguna-beach-california' target="Open in the same tab" class='header-nav '>Stay </a> </li><li class='sn-2'> <a href='https://www.surfandsandresort.com/spa' target="Open in the same tab" class='header-nav '>Spa</a> </li><li class='sn-3'> <a href='https://www.surfandsandresort.com/oceanfront-dining-laguna-beach' target="Open in the same tab" class='header-nav '>Dine</a> </li><li class='sn-4'> <a href='https://www.surfandsandresort.com/around-laguna-beach/resort-experiences' target="Open in the same tab" class='header-nav '>Explore</a> </li></ul></nav>
223            </div>
224                            </div>
225        <a href="https://www.surfandsandresort.com/" class="header__logo">
226          <span class="hidden">Surf and Sand Laguna Beach Homepage Link</span>
227          <img class="origin" src="https://www.surfandsandresort.com//assets/svg/logo-surf-and-sand-white.svg" alt="Surf and Sand Laguna Beach Logo" loading="lazy">
228          <img class="alt" src="https://www.surfandsandresort.com//assets/svg/logo-surf-and-sand.svg"  alt="Surf and Sand Laguna Beach Logo" loading="lazy">
229        </a>
230                  <div class="menu-right">
231                          <a class="phone navisTFN" href="tel:8885798544">(888) 579-8544</a>
232                        <!-- <a class="cam" href="#livecam" data-fancybox>Beach Cam</a> -->
233            <a class="offers" href="https://www.surfandsandresort.com/laguna-beach-hotel-deals" >Offers</a>
234            <a class="btn bookNow" href="#/booking/step-1">Reserve Now</a>
235          </div>
236                      </div>
237    </header>
238    
239    <div class="fancybox-livecam" id="livecam" style="display:none;">
240      <div id="webcam_responsive">
241        <iframe title="Ozolio Media Player" style="width: 100%; height: 100%; left: 0; top: 0; padding: 0; margin: 0; border: 0; position: absolute;" 
242        allowfullscreen frameborder="0" marginwidth="0" marginheight="0" scrolling="no" 
243        src=https://relay.ozolio.com/pub.api?cmd=embed&oid=EMB_WQYS000009DA></iframe>
244      </div>
245    </div><main id="content" role="main" class="page-577065">
246	<section class="top-content default">
247        <div class="" data-slick='{"arrows": true, "autoplay": false, "autoplaySpeed": 4000, "speed": 500}'>
248                                                            </div>
249        	</section>
250
251    
252    
253	<section id="intro-content" class="intro-content">
254    <h1 class="hidden"> Surf & Sand Resort</h1>
255    <h2 class="hidden" aria-hidden="true">WE'RE HERE FOR YOU</h2>
256    </section>
257<nav class="sub-menu"  role="navigation" aria-label="Section Navigation"><ul><li class='sn-1'> <a href='https://www.surfandsandresort.com/about' class=' '>About</a> </li><li class='sn-2'> <a href='https://www.surfandsandresort.com/history-of-surf-and-sand' class=' '>Resort History</a> </li><li class='sn-3'> <a href='https://www.surfandsandresort.com/press' class=' '>Press</a> </li></ul></nav>
258
259	 <section id="contactusform-form" class="form-module-wrapper null"><p aria-live='polite' aria-atomic='true' id='errMsg-4718' class='form-module__confirmation' style='display:none'>Thank you, your submission has been received.</p><form id="form_id-4718" action="" method="POST" class="form-module" ><input type='hidden' name='form_name' id='form_name_4718' value='C
259ontact Us' /><input type='hidden' name='form_id' value='4718' id='form_id_4718' /><input type="hidden" value="custom_form_process" name="operation" /><input type="hidden" value="Contact Us Form" name="subject" id="subject_4718" /><input type="hidden" value="[email protected]" name="sendto" id="sendto_4718" /><input type="hidden" value="null" name="format_date" id="format_date_4718" /><input type='hidden' name='tr4p' /><input type="hidden" name="_token" value=""><h2 id='id_0_4718' class=' ' >How Can We Help?</h2><p id='id_1_4718' class='asterisk-notice ' ><em>Fields marked with asterisk (*) are required</em></p><p id='id_2_4718' class=' ' >Whether you have questions or comments, we're here to chat. Please fill out the form below, and our staff will promptly respond to your message.</p><div class='form-module__field input col-6 field_4718_3 '><label for='id_3_4718' class=''>First Name *</label><input id='id_3_4718' name='first_name' type='text' value='' class='required' autocomplete='given-name'></div><div class='form-module__field input col-6 field_4718_4 '><label for='id_4_4718' class=''>Last Name *</label><input id='id_4_4718' name='last_name' type='text' value='' class='required' autocomplete='family-name'></div><div class='form-module__field number col-6 field_4718_5 '><label for='id_5_4718' class=''>Phone Number *</label><input min='0' id='id_5_4718' name='phone_number' type='number' value='' class='required' oninput='this.value = !!this.value && Math.abs(this.value) >= 0 ? Math.abs(this.value) : null'></div><div class='form-module__field countries col-6 field_4718_6 '><label for='id_6_4718' class=''>Country *</label><select id='id_6_4718' name='country' class='required'><option value=''></option><option value='US'>United States</option><option value='AF'>Afghanistan</option><option value='AL'>Albania</option><option value='DZ'>Algeria</option><option value='AS'>American Samoa</option><option value='AD'>Andorra</option><option value='AO'>Angola</option><option value='AI'>Anguilla</option><option value='AQ'>Antarctica</option><option value='AG'>Antigua and Barbuda</option><option value='AR'>Argentina</option><option value='AM'>Armenia</option><option value='AW'>Aruba</option><option value='AU'>Australia</option><option value='AT'>Austria</option><option value='AZ'>Azerbaijan</option><option value='BS'>Bahamas</option><option value='BH'>Bahrain</option><option value='BD'>Bangladesh</option><option value='BB'>Barbados</option><option value='BY'>Belarus</option><option value='BE'>Belgium</option><option value='BZ'>Belize</option><option value='BJ'>Benin</option><option value='BM'>Bermuda</option><option value='BT'>Bhutan</option><option value='BO'>Bolivia</option><option value='BA'>Bosnia and Herzegovina</option><option value='BW'>Botswana</option><option value='BV'>Bouvet Island</option><option value='BR'>Brazil</option><option value='BQ'>British Antarctic Territory</option><option value='IO'>British Indian Ocean Territory</option><option value='VG'>British Virgin Islands</option><option value='BN'>Brunei</option><option value='BG'>Bulgaria</option><option value='BF'>Burkina Faso</option><option value='BI'>Burundi</option><option value='KH'>Cambodia</option><option value='CM'>Cameroon</option><option value='CA'>Canada</option><option value='CT'>Canton and Enderbury Islands</option><option value='CV'>Cape Verde</option><option value='KY'>Cayman Islands</option><option value='CF'>Central African Republic</option><option value='TD'>Chad</option><option value='CL'>Chile</option><option value='CN'>China</option><option value='CX'>Christmas Island</option><option value='CC'>Cocos [Keeling] Islands</option><option value='CO'>Colombia</option><option value='KM'>Comoros</option><option value='CG'>Congo - Brazzaville</option><option value='CD'>Congo - Kinshasa</option><option value='CK'>Cook Islands</option><option value='CR'>Costa Rica</option><option value='HR'>Croatia</option><option value='CU'>Cuba</option><option value='CY'>Cyprus</option><option value='CZ'>Czech Republic</option><option value='CI'>Côte d’Ivoire</option><option value='DK'>Denmark</option><option value='DJ'>Djibouti</option><option value='DM'>Dominica</option><option value='DO'>Dominican Republic</option><option value='NQ'>Dronning Maud Land</option><option value='DD'>East Germany</option><option value='EC'>Ecuador</option><option value='EG'>Egypt</option><option value='SV'>El Salvador</option><option value='GQ'>Equatorial Guinea</option><option value='ER'>Eritrea</option><option value='EE'>Estonia</option><option value='ET'>Ethiopia</option><option value='FK'>Falkland Islands</option><option value='FO'>Faroe Islands</option><option value='FJ'>Fiji</option><option value='FI'>Finland</option><option value='FR'>France</option><option value='GF'>French Guiana</option><option value='PF'>French Polynesia</option><option value='TF'>French Southern Territories</option><option value='FQ'>French Southern and Antarctic Territories</option><option value='GA'>Gabon</option><option value='GM'>Gambia</option><option value='GE'>Georgia</option><option value='DE'>Germany</option><option value='GH'>Ghana</option><option value='GI'>Gibraltar</option><option value='GR'>Greece</option><option value='GL'>Greenland</option><option value='GD'>Grenada</option><option value='GP'>Guadeloupe</option><option value='GU'>Guam</option><option value='GT'>Guatemala</option><option value='GG'>Guernsey</option><option value='GN'>Guinea</option><option value='GW'>Guinea-Bissau</option><option value='GY'>Guyana</option><option value='HT'>Haiti</option><option value='HM'>Heard Island and McDonald Islands</option><option value='HN'>Honduras</option><option value='HK'>Hong Kong SAR China</option><option value='HU'>Hungary</option><option value='IS'>Iceland</option><option value='IN'>India</option><option value='ID'>Indonesia</option><option value='IR'>Iran</option><option value='IQ'>Iraq</option><option value='IE'>Ireland</option><option value='IM'>Isle of Man</option><option value='IL'>Israel</option><option value='IT'>Italy</option><option value='JM'>Jamaica</option><option value='JP'>Japan</option><option value='JE'>Jersey</option><option value='JT'>Johnston Island</option><option value='JO'>Jordan</option><option value='KZ'>Kazakhstan</option><option value='KE'>Kenya</option><option value='KI'>Kiribati</option><option value='KW'>Kuwait</option><option value='KG'>Kyrgyzstan</option><option value='LA'>Laos</option><option value='LV'>Latvia</option><option value='LB'>Lebanon</option><option value='LS'>Lesotho</option><option value='LR'>Liberia</option><option value='LY'>Libya</option><option value='LI'>Liechtenstein</option><option value='LT'>Lithuania</option><option value='LU'>Luxembourg</option><option value='MO'>Macau SAR China</option><option value='MK'>Macedonia</option><option value='MG'>Madagascar</option><option value='MW'>Malawi</option><option value='MY'>Malaysia</option><option value='MV'>Maldives</option><option value='ML'>Mali</option><option value='MT'>Malta</option><option value='MH'>Marshall Islands</option><option value='MQ'>Martinique</option><option value='MR'>Mauritania</option><option value='MU'>Mauritius</option><option value='YT'>Mayotte</option><option value='FX'>Metropolitan France</option><option value='MX'>Mexico</option><option value='FM'>Micronesia</option><option value='MI'>Midway Islands</option><option value='MD'>Moldova</option><option value='MC'>Monaco</option><option value='MN'>Mongolia</option><option value='ME'>Montenegro</option><option value='MS'>Montserrat</option><option value='MA'>Morocco</option><option value='MZ'>Mozambique</option><option value='MM'>Myanmar [Burma]</option><option value='NA'>Namibia</option><option value='NR'>Nauru</option><option value='NP'>Nepal</option><option value='NL'>Netherlands</option><option value='AN'>Netherlands Antilles</option><option value='NT'>Neutral Zone</option><option value='NC'>New Caledonia</option><option value='NZ'>New Zealand</option><option value='NI'>Nicaragua</option><option value='NE'>Niger</option><option value='NG'>Nigeria</option><option value='NU'>Niue</option><option value='NF'>Norfolk Island</option><option value='KP'>North Korea</option><option value='VD'>North Vietnam</option><option value='MP'>Northern Mariana Islands</option><option value='NO'>Norway</option><option value='OM'>Oman</option><option value='PC'>Pacific Islands Trust Territory</option><option value='PK'>Pakistan</option><option value='PW'>Palau</option><option value='PS'>Palestinian Territories</option><option value='PA'>Panama</option><option value='PZ'>Panama Canal Zone</option><option value='PG'>Papua New Guinea</option><option value='PY'>Paraguay</option><option value='YD'>People's Democratic Republic of Yemen</option><option value='PE'>
259Peru</option><option value='PH'>Philippines</option><option value='PN'>Pitcairn Islands</option><option value='PL'>Poland</option><option value='PT'>Portugal</option><option value='PR'>Puerto Rico</option><option value='QA'>Qatar</option><option value='RO'>Romania</option><option value='RU'>Russia</option><option value='RW'>Rwanda</option><option value='RE'>Réunion</option><option value='BL'>Saint Barthélemy</option><option value='SH'>Saint Helena</option><option value='KN'>Saint Kitts and Nevis</option><option value='LC'>Saint Lucia</option><option value='MF'>Saint Martin</option><option value='PM'>Saint Pierre and Miquelon</option><option value='VC'>Saint Vincent and the Grenadines</option><option value='WS'>Samoa</option><option value='SM'>San Marino</option><option value='SA'>Saudi Arabia</option><option value='SN'>Senegal</option><option value='RS'>Serbia</option><option value='CS'>Serbia and Montenegro</option><option value='SC'>Seychelles</option><option value='SL'>Sierra Leone</option><option value='SG'>Singapore</option><option value='SK'>Slovakia</option><option value='SI'>Slovenia</option><option value='SB'>Solomon Islands</option><option value='SO'>Somalia</option><option value='ZA'>South Africa</option><option value='GS'>South Georgia and the South Sandwich Islands</option><option value='KR'>South Korea</option><option value='ES'>Spain</option><option value='LK'>Sri Lanka</option><option value='SD'>Sudan</option><option value='SR'>Suriname</option><option value='SJ'>Svalbard and Jan Mayen</option><option value='SZ'>Swaziland</option><option value='SE'>Sweden</option><option value='CH'>Switzerland</option><option value='SY'>Syria</option><option value='ST'>São Tomé and Príncipe</option><option value='TW'>Taiwan</option><option value='TJ'>Tajikistan</option><option value='TZ'>Tanzania</option><option value='TH'>Thailand</option><option value='TL'>Timor-Leste</option><option value='TG'>Togo</option><option value='TK'>Tokelau</option><option value='TO'>Tonga</option><option value='TT'>Trinidad and Tobago</option><option value='TN'>Tunisia</option><option value='TR'>Turkey</option><option value='TM'>Turkmenistan</option><option value='TC'>Turks and Caicos Islands</option><option value='TV'>Tuvalu</option><option value='UM'>U.S. Minor Outlying Islands</option><option value='PU'>U.S. Miscellaneous Pacific Islands</option><option value='VI'>U.S. Virgin Islands</option><option value='UG'>Uganda</option><option value='UA'>Ukraine</option><option value='SU'>Union of Soviet Socialist Republics</option><option value='AE'>United Arab Emirates</option><option value='GB'>United Kingdom</option><option value='ZZ'>Unknown or Invalid Region</option><option value='UY'>Uruguay</option><option value='UZ'>Uzbekistan</option><option value='VU'>Vanuatu</option><option value='VA'>Vatican City</option><option value='VE'>Venezuela</option><option value='VN'>Vietnam</option><option value='WK'>Wake Island</option><option value='WF'>Wallis and Futuna</option><option value='EH'>Western Sahara</option><option value='YE'>Yemen</option><option value='ZM'>Zambia</option><option value='ZW'>Zimbabwe</option><option value='AX'>Åland Islands</option></select></div><div class='form-module__field email col-12 field_4718_7 '><label for='id_7_4718' class=''>Email Address *</label><input id='id_7_4718' name='email_address' type='email' value='' class='required' autocomplete='email'></div><div class='form-module__field col-12 field_4718_8 '><label for='id_8_4718' class=''>Message </label><textarea id='id_8_4718' name='message' class='' aria-labelledby='id_8_4718' ></textarea></div><div role="region" aria-label="GDPR Policy" class="gdpr-wrap " aria-labelledby="form_id-4718-gdpr-checkboxes-signupemail-signup"> <span id="form_id-4718-gdpr-checkboxes-signupemail-signup" style="display:none;">Privacy Policy agreement</span> <div class="field gdpr clearfix"> <input class="required" type="checkbox" id="form_id-4718-privacy_termsemail-signup" name="i_agree" value="y" aria-required="true"> <label for="form_id-4718-privacy_termsemail-signup">By signing up, I agree to Surf &amp; Sand Laguna Beach's Terms &amp; conditions by signing up. I also acknowledge Surf &amp; Sand Laguna Beach's <a href="https://surf-sand-resort-reskin.tambo.site/privacy-policy" target="_blank">Privacy Statement</a> and the California Notice of Financial Incentive.</label> </div> <div class="field gdpr clearfix"> <input type="checkbox" name="subscribe" id="form_id-4718-yes-signup-formemail-signup" value="y" aria-required="true"> <label for="form_id-4718-yes-signup-formemail-signup">I would like to receive personalized communications, including offers and details about promotions from Surf &amp; Sand Laguna Beach &amp; JC Resorts via email.</label> </div> </div><div class='form-module__submit'><button aria-labelledby='form_id-4718' class='btn custom_click_track null' type='submit'><span>Submit</span></button></div></form></section><style> .btn-file { position: relative; overflow: hidden; } .btn-file input[type=file] { position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; filter: alpha(opacity=0); opacity: 0; outline: none; background: white; cursor: inherit; display: block; }</style>
259<script> var isIE = !!window.MSInputMethodContext && !!document.documentMode; if (isIE) { var promiseScript = document.createElement("script"); promiseScript.type = "text/javascript"; promiseScript.src ="https://cdn.jsdelivr.net/npm/[email protected]/dist/polyfill.min.js"; var fetchScript = document.createElement("script"); fetchScript.type = "text/javascript"; fetchScript.src ="https://cdn.jsdelivr.net/npm/[email protected]/dist/fetch.umd.min.js"; document.head.appendChild(promiseScript); document.head.appendChild(fetchScript); } var buttonSubmit = document.querySelector('#form_id-4718 [type=submit]'); if(buttonSubmit){ var textButtonSubmit = buttonSubmit.innerHTML; }else{ var textButtonSubmit = 'Submit'; } var inputTextform_id_4718 = textButtonSubmit; document.addEventListener("DOMContentLoaded", function() { /* Add Trap validation */ /* if ( document.getElementById('form_id-4718').querySelector("#tr4p") != null ) { */ var newElement = document.createElement('input'); newElement.setAttribute('type', 'hidden'); newElement.setAttribute('name', 'tr4pValidation'); newElement.setAttribute('value', 1); document.getElementById('form_id-4718').appendChild(newElement); /* } */ var filesToUpload = []; let nameForm ="form_id_4718"; var fileInputs = document.querySelectorAll('input[type="file"]'); var hasMultipleAttribute = false; fileInputs.forEach(function(input) { if (input.hasAttribute('multiple')) { hasMultipleAttribute = true; return; } }); let thankyouMsgContainer = document.querySelector( "#errMsg-4718" ); let thankyouMsg = ""; if( thankyouMsgContainer ) thankyouMsg = thankyouMsgContainer.innerHTML; if(hasMultipleAttribute){ if (!Math.trunc) { Math.trunc = function (v) { return v < 0 ? Math.ceil(v) : Math.floor(v); }; } function fileUploader(element , fileData, fileIdPrefix) { var t = 0; if(element !== undefined && element !== null && !element.dataset.listenedAdded){ element.dataset.listenedAdded = "added"; element.addEventListener("change", function (event) { var l = []; for (var r = 0; r < event.target.files.length; r++) { t++; var a = event.target.files[r]; var s = fileIdPrefix + t; fileData.push({ id: s, file: a }); var f = '<a class="removeFile" href="#" data-fileid="' + s + '">Remove</a>'; l.push("<li><strong>", escape(a.name), "</strong> - ", Math.trunc(a.size / 1024), " KB. &nbsp; &nbsp; ", f, "</li> "); } this.parentElement.querySelector('.fileList').innerHTML += l.join(""); this.parentElement.querySelectorAll('.fileList .removeFile').forEach((removeFileBtn) => { removeFileBtn.addEventListener('click' , function(event){ if (event.target.classList.contains("removeFile")) { event.preventDefault(); var fileId = event.target.getAttribute("data-fileid"); for (var n = 0; n < fileData.length; ++n) { if (fileData[n].id === fileId) { fileData.splice(n, 1); break; } } event.target.parentElement.remove(); } }) }) }); } this.clear = function () { for (var t = fileData.length - 1; t >= 0; --t) { if (fileData[t].id.indexOf(fileIdPrefix) >= 0) { fileData.splice(t, 1); } } element.parentElement.querySelector('.fileList').innerHTML = ""; }; } let inputs = document.querySelectorAll('input[type="file"]'); let count = inputs.length; for (let e = 0; e < count; e++) { let input = inputs[e]; let t = input.getAttribute("name"); let l = t.replace("[]", ""); if (input.hasAttribute("multiple")) { fileUploader(document.querySelector(`[name="${l}"]`) , filesToUpload, t); } } } var isProcessingValidationForm = false; setTimeout( function(){ window.callbackFormValidate({ formElement: document.getElementById("form_id-4718"), rules: [], messages: [], submitHandler: function (form) { const buttonSubmit = document.querySelector('#form_id-4718 [type=submit]'); if(buttonSubmit){ buttonSubmit.innerHTML = typeof getTextTranslate === 'function' ? getTextTranslate('Processing') : 'Processing'; buttonSubmit.classList.add('processing'); buttonSubmit.setAttribute("disabled", true); } if (isProcessingValidationForm) return false; isProcessingValidationForm = true; var dataForm = serializeDataToArray('form_id-4718'); var nameFormValue = undefined;
259 if(document.getElementById(nameForm)){ nameFormValue = document.getElementById(nameForm).value; } if(document.querySelectorAll(`#form_id-4718 input[type="file"]`).length>0 && nameFormValue !== undefined){ let file = [],type = [],nFile = null,count = 0,customFileValidation = false,format = null,countFiles =0,totalFiles =0; if(document.querySelector(`#form_id-4718 input[type="file"]`).value.length>0){ countFiles = document.querySelectorAll(`#form_id-4718 input[type="file"]`).length; for (let index = 0; index < countFiles; index++) { count = document.querySelectorAll('#form_id-4718 input[type="file"]')[index].files.length; nFile = document.querySelector(`#form_id-4718 input[type="file"]`).getAttribute('name').replace('[]',''); for(let i=0;i<count;i++){ file.push(document.querySelectorAll('#form_id-4718 input[type="file"]')[index].files[i]); type.push(document.querySelectorAll('#form_id-4718 input[type="file"]')[index].files[i].type.split('/')[0]); totalFiles++; } } customFileValidation = ( document.getElementById('customFileValidation') )? document.getElementById('customFileValidation').value.split('||')[0]:false; format = (document.getElementById('customFileValidation') )? document.getElementById('customFileValidation').value.split('||')[1]:null; }else if(document.querySelectorAll('#form_id-4718 input[type="file"]').length>1){ nFile = []; document.querySelectorAll('#form_id-4718 input[type="file"]').forEach((input)=>{ countFiles = fileInputs.files ? fileInputs.files.length : 0; for (let index = 0; index < countFiles; index++) { file.push(fileInputs.files[index]); type.push(fileInputs.files[index].type.split('/')[0]); nFile.push(fileInputs.name.replace('[]','')+'_'+index); totalFiles++; } }) } var length = totalFiles; var formData = new FormData(); for(let i=0;i<length;i++){ formData.append('customFile[]', file[i]); formData.append('type[]', type[i]); } formData.append('length',length); formData.append('operation', 'uploadCustomFile'); if(customFileValidation==='true'){ formData.append('format', format); formData.append('customFileValidation', customFileValidation); } fetch(site_url + '/ajax/functions.php', { method: 'post', body: formData }) .then( function( response ){ return response.json(); }) .then( function( response ) { if(response.error != false){ var format = (document.getElementById('customFileValidation'))? document.getElementById('customFileValidation').value.split('||')[1]:null; var validationText = "Invalid file"; switch(format){ case "1": validationText = "Please upload a PDF file"; break; } if( response.msg[0] == '' ){ validationText = "The file could not be uploaded. Please try again."; } processErrorUploadingFile( validationText ); return false; }else{ document.querySelectorAll('#form_id-4718 input[type="file"]').forEach((file) => { file.parentElement.querySelector('input[type="text"]').classList.remove('error'); if(file.parentElement.querySelector('label.error')){ file.parentElement.querySelector('label.error').remove(); } }); if(Array.isArray(nFile)){ for(let i=0;i<nFile.length;i++){ dataForm.push({name:nFile[i]+"_Url",value:response.msg[i]}); } }else{ for(let i=0;i<length;i++){ nameFile = document.querySelectorAll('#form_id-4718 input[type="file"]')[0].name; dataForm.push({name: nameFile+"_Url_"+i, value: response.msg[i]}); } } isProcessingValidationForm = sendMessageAjaxElse(dataForm) } }).catch((error) =>{ let message = 'The file could not be uploaded. Please try again.'; processErrorUploadingFile( message ); }); }else{ isProcessingValidationForm = sendMessageAjaxElse(dataForm); } return false; }, errorPlacement: function(error, element) { } }) }, 1200 ); function processErrorUploadingFile( validationText ){ document.querySelectorAll('#form_id-4718 input[type="file"]').forEach((file) => { file.parentElement.querySelector('input[type="text"]').classList.add('error'); }); document.querySelectorAll('#form_id-4718 input[type="file"]').forEach((file) => { if( file.parentElement.querySelector(`label.error`) ){ file.parentElement.querySelector(`label.error`).textContent = validationText; }else{ file.parentElement.insertAdjacentHTML('afterbegin' , "<label class='error'>"+validationText+"</label>"); } }); if(document.querySelector('#form_id-4718 [type=submit]')){ document.querySelector('#form_id-4718 [type=submit]').innerHTML = inputTextform_id_4718; document.querySelector('#form_id-4718 [type=submit]').classList.remove('processing'); document.querySelector('#form_id-4718 [type=submit]').removeAttribute('disabled'); } isProcessingValidationForm = false; } function sendMessageAjaxElse(dataForm){ const formData = new FormData(); dataForm.forEach((input) => { formData.append(input.name , input.value); }); fetch(site_url + '/ajax/functions.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { let formId = document.getElementById('form_id_4718').value; let errMsgVar = '#errMsg-4718'; document.querySelector(errMsgVar).innerHTML = "Thank you, your submission has been received."; if (data.error) { if(formId==undefined) { errMsgVar = '.errorMsg'; } document.querySelector(errMsgVar).innerHTML = data.msg; fadeIn(document.querySelector(errMsgVar)); if(data.data){ const formError = document.querySelector('#form_id-4718'); const fields = formError.querySelectorAll('input, select, textarea'); errorFields = data.data; errorFields.forEach(errorField => { const filteredFields = Array.from(fields).filter(field => field.name.includes(errorField.field)); filteredFields.forEach(field => { const parentElement = field.parentElement; /** Remove existing error */ const errorElement = parentElement.querySelector('.error'); if (errorElement) { errorElement.remove(); } /** Add new error */ const errorLabel = document.createElement('label'); errorLabel.textContent = errorField.error; errorLabel.className = 'error'; errorLabel.id = '_' + field.name + '-error'; errorLabel.setAttribute('for', field.name); parentElement.appendChild(errorLabel); }); }) } window.scrollTo({ top: document.querySelector(errMsgVar).getBoundingClientRect().top + window.scrollY - 20 , behavior: "smooth" }); } else { window.scrollTo({ top: document.getElementById("form_id-4718").getBoundingClientRect().top + window.scrollY - 3
25900, behavior: "smooth" }); if(thankyouMsg) thankyouMsgContainer.innerHTML = thankyouMsg; slideUp(document.getElementById("form_id-4718") , 800 , function (element) { if( findClosest(element) ){ if(findClosest(element).querySelector('.thankyouMsg')){ fadeIn(findClosest(element).querySelector('.thankyouMsg')); } } if (IS_LIVE) { if(typeof (ga) == "function") { ga('send', 'event', 'form', 'form submission', 'contact_rfp'); } if( typeof dataLayer != 'undefined' && typeof dataLayer.push != 'undefined') { dataLayer.push({ 'event': 'forms', 'form_name': 'contact_rfp', 'form_id': 'form_id-4718', 'form_title': 'Contact Us Form' }); } } success_form_id_4718(data); }); } }) .finally(() => { isProcessingValidationForm = false; if(document.querySelector('#form_id-4718 [type=submit]')){ document.querySelector('#form_id-4718 [type=submit]').innerHTML = inputTextform_id_4718; document.querySelector('#form_id-4718 [type=submit]').classList.remove('processing'); document.querySelector('#form_id-4718 [type=submit]').removeAttribute('disabled'); } }); return isProcessingValidationForm; } function serializeDataToArray(idForm){ const serializeDataArray = []; const formData = new FormData(document.getElementById(idForm)); formData.forEach(function(value, key) { serializeDataArray.push({ name: key, value: value }); }); return serializeDataArray } function findClosest(element) { return element.parentElement; } function fadeIn(element) { element.style.opacity = 0; element.style.display = 'block'; let opacity = 0; const interval = setInterval(function () { if (opacity < 1) { opacity += 0.05; element.style.opacity = opacity; } else { clearInterval(interval); } }, 50); } function slideUp(element, duration , callback) { element.style.transitionProperty = 'height, margin, padding'; element.style.transitionDuration = duration + 'ms'; element.style.boxSizing = 'border-box'; element.style.height = element.offsetHeight + 'px'; element.offsetHeight; element.style.overflow = 'hidden'; element.style.height = 0; element.style.paddingTop = 0; element.style.paddingBottom = 0; element.style.marginTop = 0; element.style.marginBottom = 0; setTimeout(function() { element.style.display = 'none'; element.style.removeProperty('height'); element.style.removeProperty('padding-top'); element.style.removeProperty('padding-bottom'); element.style.removeProperty('margin-top'); element.style.removeProperty('margin-bottom'); element.style.removeProperty('overflow'); element.style.removeProperty('transition-duration'); element.style.removeProperty('transition-property'); if(typeof callback === 'function'){ callback(element); } }, duration); } document.querySelectorAll('.datePicker').forEach(function(input) { input.addEventListener('blur', function(event) { setTimeout(function() { if (input.value.trim() !== '' && input.classList.contains('error')) { input.classList.remove('error'); const errorMessageId = input.getAttribute('aria-errormessage'); if (errorMessageId) { const errorMessageElement = document.getElementById(errorMessageId); if (errorMessageElement) { errorMessageElement.remove(); } } } }, 100); }); }); });</script>
259 
259<script> let defaultSentTo4718 = document.getElementById("sendto_4718").value; function success_form_id_4718( data ){ document.getElementById("errMsg-4718").style.display = 'none'; /*Call Dinamyc function */ slideUp(document.getElementById( "form_id-4718" ) , 800); document.getElementById("errMsg-4718").style.display = 'block'; if(document.querySelector("#errMsg-4718.form-module__confirmation").style.display!='none') document.querySelector("#errMsg-4718.form-module__confirmation").style.display = 'block' } function slideUp(element, duration , callback) { element.style.transitionProperty = 'height, margin, padding'; element.style.transitionDuration = duration + 'ms'; element.style.boxSizing = 'border-box'; element.style.height = element.offsetHeight + 'px'; element.offsetHeight; element.style.overflow = 'hidden'; element.style.height = 0; element.style.paddingTop = 0; element.style.paddingBottom = 0; element.style.marginTop = 0; element.style.marginBottom = 0; setTimeout(function() { element.style.display = 'none'; element.style.removeProperty('height'); element.style.removeProperty('padding-top'); element.style.removeProperty('padding-bottom'); element.style.removeProperty('margin-top'); element.style.removeProperty('margin-bottom'); element.style.removeProperty('overflow'); element.style.removeProperty('transition-duration'); element.style.removeProperty('transition-property'); if(typeof callback === 'function'){ callback(element) } }, duration); } var rmFileButtons = document.querySelectorAll("#form_id-4718 .rmFile"); rmFileButtons.forEach(function(button) { button.addEventListener('click', function() { /* Function to Remove Uploaded Files */ var inputId = button.getAttribute('data-field'); document.getElementById(inputId).value = ''; document.getElementById(inputId + '_txt').value = ''; }); }); /*Serialize*/ function serializeDataToArray(idForm){ const serializeDataArray = []; const formData = new FormData(document.getElementById(idForm)); const params = new URLSearchParams(formData); for (const key of params.keys()) { serializeDataArray.push({ name: key , value : params.get(key) }) } return serializeDataArray } /*Validate class hasDatepicker*/ setTimeout(function(){ var datepickers = document.querySelectorAll('#form_id-4718 .datepicker , #form_id-4718 .flatpickr'); var hasClass = true; datepickers.forEach(function(datepicker) { if (datepicker.classList.contains('flatpickr-input')) { hasClass = false; } }); if(hasClass){ document.querySelectorAll('#form_id-4718 .flatpickr').forEach(function(datepicker) { if (!datepicker.classList.contains('flatpickr-input')) { let dateFormat = 'm/d/Y'; if( document.getElementById('format_date_4718').value !== 'null' ){ dateFormat = document.getElementById('format_date_4718').value; if(dateFormat == ''){ dateFormat = 'm/d/Y'; } } flatpickr(datepicker , {dateFormat: dateFormat}); } }); }else{ const dateFormat = document.getElementById('format_date_4718').value; let dateFormatJs = null; switch (dateFormat) { case 'd/m/Y': dateFormatJs = 'd/m/Y'; break; case 'd-m-Y': dateFormatJs = 'd-m-Y'; break; case 'm-d-Y': dateFormatJs = 'm-d-Y'; break; case 'M d,Y': dateFormatJs = 'M d,Y'; break; case 'L, m.d.y': dateFormatJs = 'D, m.d.Y'; break; default: dateFormatJs = 'm/d/Y'; break; } if(document.querySelectorAll(".flatpickr").length>0){ document.querySelectorAll('.flatpickr').forEach((flatpickrElement) =>{ if(flatpickrElement._flatpickr){ flatpickrElement._flatpickr.set('dateFormat' , dateFormatJs); }else{ flatpickr(flatpickrElement , {dateFormat: dateFormatJs}); } }); var datePickerDiv = document.getElementById("ui-datepicker-div"); if (datePickerDiv) { datePickerDiv.style.display = "none"; } } } },1000); document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.file-remove-btn').forEach(function(btn) { btn.addEventListener('click', function() { document.querySelectorAll('input[type="file"]').forEach(function(fileInput) { fileInput.value = ''; var txtId = fileInput.id + '_txt'; var txtInput = document.getElementById(txtId); if (txtInput) { txtInput.value = ''; } document.querySelectorAll('span.file-name').forEach(function(span) { span.textContent = 'No file chosen'; }); }); }); }); }); </script>
259
260    
261    </main> 
262<footer class="footer   ">	
263	<div class="footer-form">
264		<div class="container">
265
266			<div class="footer-title"><span>Become an Insider</span><br></div>
267			<div class="footer-copy"><p>Enjoy exclusive access to exclusive private events, curated experiences, and the latest resort news—delivered only to our insider community.</p></div>
268			
269			<!-- Email Signup -->
270			<p class="thankyouMsg" style="display:none;">Thank you for joining our mailing list! Stay tuned for exclusive offers, updates, and exciting happenings!</p>
271<form id="email-signup" class="email-signup" action="" method="POST" class="clearfix">
272    <input type="hidden" name="_token" value="">
273    <input type="hidden" value="custom_form_process" name="operation" />
274    <input type="hidden" name="sendto" value="[email protected]">
275        <input type="hidden" name="subject" value="Email Subscription">
276    <label for="email-signup-texNickname" style="position: absolute; overflow: hidden; clip: rect(0 0 0 0); height: 1px;width: 1px; margin: -1px;">Hidden Field</label>
277    <input type="text" id="email-signup-texNickname" name="tex_nickname" value="">
278    <div class="fields-wrap">
279        
280            
281                            <div class="field input">
282
283                                                                                    <label for="email-signup_first_name" class="form-label">First Name</label>
284                                                                <input type="text" id="email-signup_first_name" name="first_name" placeholder="First Name" class="required" aria-required="true">
285                    
286                </div>
287            
288        
289            
290                            <div class="field input">
291
292                                                                                    <label for="email-signup_last_name" class="form-label">Last Name</label>
293                                                                <input type="text" id="email-signup_last_name" name="last_name" placeholder="Last Name" class="required" aria-required="true">
294                    
295                </div>
296            
297        
298            
299                            <div class="field input">
300
301                                                                                    <label for="email-signup_email_address" class="form-label">Email Address</label>
302                                                                <input type="email" id="email-signup_email_address" name="email_address" placeholder="Email Address" class="required" aria-required="true">
303                    
304                </div>
305            
306        
307            
308                            <div class="field input">
309
310                                                                                    <label for="email-signup_zip_code" class="form-label">Zip Code</label>
311                                                                <input type="number" id="email-signup_zip_code" name="zip_code" placeholder="Zip Code" class="required" aria-required="true">
312                    
313                </div>
314            
315                <div role="group" class="gdpr-wrap" aria-labelledby="gdpr-checkboxes-signupemail-signup">
316            <span id="gdpr-checkboxes-signupemail-signup" style="display:none;">Privacy Policy agreement</span>
317            <div class="field gdpr clearfix">
318                <input class="required" type="checkbox" id="privacy_termsemail-signup" name="i_agree" value="y"> <label for="privacy_termsemail-signup"> By signing up, I agree to Surf & Sand Laguna Beach's Terms & conditions by signing up. I also acknowledge Surf & Sand Laguna Beach's <a href='/privacy-policy' target='_blank'>Privacy Statement<sup class='hidden'> (opens in new window)</sup></a> and the California Notice of Financial Incentive.</label>
319            </div>
320            <div class="field gdpr clearfix">
321                <input type="checkbox" name="subscribe" id="yes-signup-formemail-signup" class="required" value="y"> <label for="yes-signup-formemail-signup">Join Surf & Sand Laguna Beach to enjoy exclusive insider access to our latest happenings, curated experiences, and elevated member privileges.</label>
322            </div>
323        </div>
324    </div>
325
326    
327    <button  type="submit" class="signup-btn  "><span>Subscribe Now</span></button>
328
329</form>
330
331
332<div id="responseemail-signup" style="display:none;"></div>
333
334<script>
335    document.addEventListener("DOMContentLoaded", function() {
336
337        if( document.getElementById('email-signup-texNickname') ){
338            document.getElementById('email-signup-texNickname').style.display = 'none'
339        }
340
341        setTimeout( function(){
342
343            window.callbackFormValidate({
344
345                formElement: document.getElementById("email-signup"),
346
347                submitHandler: function (form) {
348                    document.querySelectorAll('#responseemail-signup , .signup-btn').forEach((elm) => elm.style.display = 'none')
349
350                    fetch(site_url+'/ajax/functions.php' , {
351                        method: 'POST',
352                        body: serializeData("email-signup")
353                    }).then((resp) => resp.json())
354                      .then((data) => {
355                        if (data.error) {
356                            document.querySelector('#responseemail-signup').innerHTML = data.msg
357                            document.querySelector('#responseemail-signup').style.display = 'block'
358                            document.querySelector('#email-signup [type=submit]').style.display = 'initial'
359                        } else {
360                            if (IS_LIVE) {
361                                if(typeof (ga) == "function") {
362                                    ga('send', 'event', 'form', 'click', 'specials');
363                                }
364                                if( typeof dataLayer != 'undefined' && typeof dataLayer.push != 'undefined') {
365                                    dataLayer.push({ 'event': 'signup' });
366                                }
367                                                            }
368                                                
369                        slideUp( document.getElementById("email-signup") , 500 ,function(element){
370                            fadeIn(element.closest(':has(.thankyouMsg)').querySelector('.thankyouMsg'));
371                        });
372
373                                                }
374
375                    })
376
377                    return false;
378                }
379
380            })
381
382        }, 2500 )
383
384        var newElement = document.createElement('input');
385        newElement.setAttribute('type', 'hidden');
386        newElement.setAttribute('name', 'tr4pValidation');
387        newElement.setAttribute('value', 1);
388        document.getElementById('email-signup').appendChild(newElement);
389
390        function serializeData(idForm){
391            const serializeDataArray = [];
392            const formData = new FormData(document.getElementById(idForm));
393            const params = new URLSearchParams(formData);
394            for (const key of params.keys()) {
395                formData.append(key , params.get(key))
396            }
397            return formData
398        }
399
400        function fadeIn(element) {
401            element.style.opacity = 0;
402            element.style.display = 'block';
403            let opacity = 0;
404            const interval = setInterval(function () {
405                if (opacity < 1) {
406                    opacity += 0.05; 
407                    element.style.opacity = opacity;
408                } else {
409                    clearInterval(interval);
410                }
411            }, 50);
412        }
413
414        function slideUp(element, duration , callback) {
415            element.style.transitionProperty = 'height, margin, padding';
416            element.style.transitionDuration = duration + 'ms';
417            element.style.boxSizing = 'border-box';
418            element.style.height = element.offsetHeight + 'px';
419            
420            // Force repaint
421            element.offsetHeight;
422            
423            element.style.overflow = 'hidden';
424            element.style.height = 0;
425            element.style.paddingTop = 0;
426            element.style.paddingBottom = 0;
427            element.style.marginTop = 0;
428            element.style.marginBottom = 0;
429            
430            setTimeout(function() {
431                element.style.display = 'none';
432                element.style.removeProperty('height');
433                element.style.removeProperty('padding-top');
434                element.style.removeProperty('padding-bottom');
435                element.style.removeProperty('margin-top');
436                element.style.removeProperty('margin-bottom');
437                element.style.removeProperty('overflow');
438                element.style.removeProperty('transition-duration');
439                element.style.removeProperty('transition-property');
440                
441                // Callback after slideUp
442                if(typeof callback === 'function'){
443                    callback(element)
444                }
445
446            }, duration);
447        }
448
449
450    });
451</script>
451		</div>
452
453		<div class="footer__background">
454			<div class="footer__top">
455									<nav id="secondary-nav" class="secondary-navigation" role="navigation" aria-label="Secondary Menu"><ul id="secondary-navigation" class="secondary-navigation__list"><li class='secondary-navigation__item secondary-nav-1'> <a href='https://www.surfandsandresort.com/about' class=' '>About</a> </li><li class='secondary-navigation__item secondary-nav-2'> <a href='https://www.surfandsandresort.com/faq' class=' '>FAQ</a> </li><li class='secondary-navigation__item secondary-nav-3'> <a href='https://www.surfandsandresort.com/gift-cards' class=' '>Gift Cards</a> </li><li class='secondary-navigation__item secondary-nav-4'> <a href='https://www.surfandsandresort.com/careers' target="_blank" class=' '>Careers</a> </li><li class='secondary-navigation__item secondary-nav-5'> <a href='https://www.surfandsandresort.com/contact-us' class=' active'>Contact Us</a> </li><li class='secondary-navigation__item secondary-nav-6'> <a href='https://www.sertifiguidedapi.com/InSessionSigning.aspx?id=bb172c22-dad1-4e6f-99c3-5d5a3b32f054' target="_blank" data-section="undefined" class=' '>Credit Card Authorization</a> </li><li class='secondary-navigation__item secondary-nav-7'> <a href='https://www.surfandsandresort.com/property-map' class=' '>Property-Map</a> </li></ul></nav>
456				
457								<div class="footer__top-down container">
458					<div class="address">
459						<a class="address-link" href="https://www.google.com/maps/place/Surf+%26+Sand+Laguna+Beach/@33.530153,-117.7739518,880m/data=!3m1!1e3!4m21!1m11!3m10!1s0x80dce5af52b05509:0xc04b5abfcd3cba52!2sSurf+%26+Sand+Laguna+Beach!5m2!4m1!1i2!8m2!3d33.530153!4d-117.7739518!10e1!16s%2Fm%2F05bt31n!3m8!1s0x80dce5af52b05509:0xc04b5abfcd3cba52!5m2!4m1!1i2!8m2!3d33.530153!4d-117.7739518!16s%2Fm%2F05bt31n?entry=ttu&g_ep=EgoyMDI1MDgyNS4wIKXMDSoASAFQAw%3D%3D" target="_blank">
460							1555 S Coast Hwy,<br>
461							Laguna Beach,
462							California 							92651<br>
463						</a>
464						<a id="navisTFNLink" class="phone navisTFN" href="tel:8885798544">(888) 579-8544</a> <br>
465						<a class="mail" href="mailto:[email protected]"> [email protected] </a>
466						<div>
467							<!-- Social Icons 	 -->
468							        <ul class="social-media list-inline">
469                            <li>
470                    <a href="https://www.facebook.com/SurfandSand" target="_blank" rel="noopener" data-title="facebook" data-section="facebook" aria-label="facebook Opens in a new window" class="facebook custom_click_track track-social" custom_click_track_value="Footer: facebook|Social Site Click |external|event465">
471                        <svg width="15" height="30" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 30">
472	<path d="M.862 10.061h3.016V7.129c0-1.292.033-3.286.971-4.52C5.839 1.302 7.197.413 9.531.413c3.805 0 5.408.542 5.408.542l-.754 4.468s-1.258-.364-2.43-.364c-1.174 0-2.225.42-2.225 1.593v3.407h4.811l-.336 4.364H9.53v15.161H3.878V14.425H.862v-4.364z" fill-rule="nonzero"/>
473</svg>                        <span class="hidden">facebook</span>
474                    </a>
475                </li>
476                                        <li>
477                    <a href="https://instagram.com/surfandsandlaguna/" target="_blank" rel="noopener" data-title="instagram" data-section="instagram" aria-label="instagram Opens in a new window" class="instagram custom_click_track track-social" custom_click_track_value="Footer: instagram|Social Site Click |external|event465">
478                        <svg xmlns="http://www.w3.org/2000/svg" width="31" height="30" viewBox="0 0 31 30">
479	<path fill-rule="nonzero" d="M21.377199 0H9.709834C7.27873614-1e-8 4.94722384.96581603 3.22826873 2.68495249 1.50931361 4.40408895.54374353 6.73570311.544 9.16680097V20.833199C.544 25.8942788 4.6468203 30 9.709834 30h11.6663981c5.0620467 0 9.1668009-4.1057212 9.1668009-9.166801V9.165834C30.544 4.10282031 26.4392458 0 21.377199 0zm6.6662369 20.833199c-.003731 3.6806485-2.9865554 6.6634729-6.6672038 6.6672039H9.709834c-3.68086917-.0031989-6.66400496-2.9863347-6.
47966720386-6.6672039V9.165834C3.04636116 5.48518553 6.02918553 2.50236116 9.709834 2.49863014h11.6663981c3.6806484.00373102 6.6634728 2.98655539 6.6672038 6.66720386v11.667365zM15.5435165 7.49975826c-4.1413388.00160093-7.49815731 3.35841944-7.49975824 7.49975824.00160054 4.1414955 3.35826304 7.4985908 7.49975824 7.5007252 4.1420939-.0010675 7.4996577-3.3586313 7.5007252-7.5007252-.0010677-4.1419373-3.3587877-7.49922449-7.5007252-7.49975824zm0 12.50088634c-2.7613868-.000534-4.9995501-2.2394188-4.9991941-5.0008056.000356-2.7613869 2.2390965-4.9996945 5.0004833-4.9995166 2.7613869.000178 4.9998389 2.2387742 4.9998389 5.0001611-.004261 2.7601232-2.2410041 4.9964338-5.0011281 5.0001611zm7.8333602-11.16744557c.9206823 0 1.6670427-.74636044 1.6670427-1.6670427 0-.92068227-.7463604-1.66704271-1.6670427-1.66704271-.9206823 0-1.6670427.74636044-1.6670427 1.66704271 0 .92068226.7463604 1.6670427 1.6670427 1.6670427z"/>
480</svg>                        <span class="hidden">instagram</span>
481                    </a>
482                </li>
483                                        <li>
484                    <a href="https://www.linkedin.com/company/surf-&-sand-resort/" target="_blank" rel="noopener" data-title="linkedin" data-section="linkedin" aria-label="linkedin Opens in a new window" class="linkedin custom_click_track track-social" custom_click_track_value="Footer: linkedin|Social Site Click |external|event465">
485                        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="31" viewBox="0 0 32 31">
486  <path fill-rule="nonzero" d="M31.3952486 18.4200635v11.6070239h-6.7290183V19.197432c0-2.7204976-.97328-4.577131-3.4089615-4.577131-1.859334 0-2.965825 1.2512348-3.452611 2.4615939-.1775173.4326987-.2232106 1.0349584-.2232106 1.640649v11.3045435h-6.731281s.0906565-18.3418816 0-20.2422373h6.7306241v2.8692561c-.0136495.0214598-.0313867.0445983-.0442334.0654011h.0442334v-.0654011c.8942293-1.3772926 2.4912287-3.34480123 6.0658099-3.34480123 4.4286647-.000073 7.7486484 2.89312463 7.7486484 9.11075853zM3.80895956.02708738C1.50619705.02708738 0 1.53751798 0 3.52378569c0 1.94298324 1.46262062 3.49925304 3.71961693 3.49925304h.04496329c2.34736083 0 3.80720775-1.55597782 3.80720775-3.49925304C7.5275546 1.53751798 6.11194105.02708738 3.80895956.02708738zM.39977908 30.0270874h6.72872637V9.7848501H.39977908v20.2422373z"/>
487</svg>                        <span class="hidden">linkedin</span>
488                    </a>
489                </li>
490                                </ul>
491						</div>
492					</div>
493
494					<div class="icons">
495						<figure>
496							<img src="https://www.surfandsandresort.com/assets/images/footer-alhi-icon-black.png" alt="ALHI Icon" loading="lazy" width="74" height="32">
497						</figure>
498						<a href="https://preferredhotels.com/hotels/united-states/surf-sand-resort-laguna-beach" target="_black">
499							<figure>
500								<img src="https://www.surfandsandresort.com/assets/images/footer-lvx-icon-black.png" alt="LVX Icon" loading="lazy" width="64" height="35">
501							</figure>
502						</a>
503						<a href="https://iprefer.com/members/signup?enrollcode=SNASH&hotel=SNASH"  target="_black">
504							<figure>
505								<img src="https://www.surfandsandresort.com/assets/svg/footer-iprefer-logo.svg" alt="Prefer Icon" loading="lazy" width="82" height="32">
506							</figure>
507						</a>
508						<a href="https://www.historichotels.org/us/hotels-resorts/surf-and-sand-resort/?from=rezconsole" target="_black">
509							<figure>
510								<img src="https://www.surfandsandresort.com/assets/images/footer-historic-icon-black.png" alt="Historic Icon" loading="lazy" width="94" height="32">
511							</figure>
512						</a>
513						<figure class="logo">
514							<img src="https://www.surfandsandresort.com/assets/images/footer-logo-whiteback-2025.png" alt="travel leisure 500 logo" loading="lazy" width="70" height="70">
515						</figure>
516						<figure class="logo">
517							<img src="https://www.surfandsandresort.com/assets/images/Tripadvisor-badge.png" alt="Tripadvisor logo" loading="lazy">
518						</figure>
519					</div>
520				</div>
521			</div>
522		</div>
523		
524
525		<div class="footer__bottom">
526			<div class="footer__bottom-up container">
527				<div class="navigation-out-links">
528
529									<a href="https://jcresorts.com/" target="_blank">
530						<img src="https://www.surfandsandresort.com/assets/svg/jc-resorts-icon.svg" alt="JC Resorts" loading="lazy" width="100" height="18">
531					</a>
532					
533					<span>Visit Our Family Resorts:</span>
534					<ul>
535						<li>
536						 	<a href="https://www.ranchobernardoinn.com/" target="_blank"> Rancho Bernardo Inn </a>
537						</li>
538						<li>
539							<a href="https://scrippsinn.com/" target="_blank">	Scripps Inn </a>
540						</li>
541						<li>
542							<a href="https://www.terranea.com/" target="_blank"> Terranea Resort </a>
543						</li>
544					</ul>
545				</div>
546				<p>JC RESORTS&copy; 2026 ALL RIGHTS RESERVED.</p>
547			</div>
548			<hr>
549			<div class="footer__bottom-down container">
550				<nav id="third-nav" class="tertiary-navigation" role="navigation" aria-label="Tertiary Menu"><ul id="tertiary-navigation" class="tertiary-navigation__list"><li class='tertiary-navigation__item third-nav-1'> <a href='https://www.surfandsandresort.com/terms-of-service' class=' '>Terms of Service</a> </li><li class='tertiary-navigation__item third-nav-2'> <a href='https://www.surfandsandresort.com/privacy-policy' class=' '>Privacy Policy</a> </li><li class='tertiary-navigation__item third-nav-3'> <a href='https://www.surfandsandresort.com/california-privacy-policy' class=' '>California Privacy Policy </a> </li><li class='tertiary-navigation__item third-nav-4'> <a href='https://www.surfandsandresort.com/accessibility' class=' '>Accessibility</a> </li><li class='tertiary-navigation__item third-nav-5'> <a href='/sitemap' class=' '>Sitemap</a> </li>    <li class="tertiary-navigation__item">
551        <a href="#" onclick="window.displayPreferenceModal();return false;" id="termly-consent-preferences" style="display: flex; align-items: center; gap: 5px;">
552            Consent Preferences                    </a>
553    </li>
554</ul></nav>
555				<!-- Tambourine Logo -->
556				<a class="tambourine" aria-label="Website Design by Tambourine Opens in a new window" href="https://www.tambourine.com/?utm_source=clients&utm_term=7015d000001wBTP&utm_medium=referral&utm_campaign=Surf-and-Sand-Laguna-Beach" target="_blank">
557    <span class="hidden">Website Design by Tambourine</span>
558	<?xml version="1.0" encoding="UTF-8"?><svg id="tambourine-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 137.21 15.48"><defs><style>#tambourine-logo {width:180px; min-width:180px; min-height:20px; height:auto;}</style></defs><path d="m131.15,10.58c.87,1.02,2.13,2.58,2.13,2.58.57-.1.98-.17,1.66-.15-.4.36-1.79,1.54-1.79,1.54,0,0-3.38-2.12-3.39-2.1.65-.64,1.28-1.42,1.4-1.87m5.46-7.18c.47.17.71.68.53,1.15-.18.46-.69.73-1.16.6-.11.14-.24.26-.38.38-.03.03-.07.06-.11.09,0,.02,0,.04.01.06.04.24-.01.48-.16.68-.14.2-.36.34-.6.39-.44.09-.88-.14-1.04-.52-.12,0-.25,0-.37-.02l-.2-.03v-.19c0-.37-.12-.73-.31-1.06,0,.02-.01.03-.02.05-.49,1.06-1.51,2.24-3.55,2.43.53.14,1.28.19,1.89.17.06.58-.02,3.48-2.99,5.7-.21.17-1.16.82-1.16.82,0,0,.46.58.81,1.4-.32-.13-3.21-1.28-3.21-1.28.01,0,2.21-1.39,2.84-4.22.36-1.61-.07-3.46-1.23-4.83-.42-.49-.91-.98-1.05-1.64-.23-1.14,1.11-1.9,2.07-2.18.76-.22.77-.63.67-.88,1.08.01.32,1.17.83,1.64.48.45.79.86.88,1.53.05.42-.02.85-.24,1.23-.12.2-.37.45-.66.64,1.21-.04,2.5-.46,3.53-1.21-.31-.23-.68-.37-1.07-.43l-.2-.03v-.2c-.01-.12,0-.24,0-.36-.39-.22-.57-.67-.43-1.11.17-.5.72-.78,1.22-.61.01,0,.03,0,.04.01.04-.03.07-.07.11-.11.14-.12.3-.23.45-.33-.03-.23.02-.47.15-.67.15-.22.37-.37.63-.42.26-.05.52,0,.74.14.21.14.35.34.4.58.33.05.64.15.93.31.19-.16.44-.25.69-.24.26.02.49.13.66.32.16.19.24.43.21.69-.02.24-.14.47-.33.64.11.3.17.61.17.93m-2.91,2.2h.1c.52,0,1.04-.2,1.44-.54.46-.39.73-.92.78-1.51.04-.56-.14-1.11-.51-1.53-.41-.47-1-.73-1.64-.73-.55,0-1.09.2-1.51.57-.4.36-.67.84-.73,1.37v.11s.09.03.09.03c.97.32,1.72,1.14,1.95,2.14l.02.1Z"/><path d="m5.9,10.36h-.69l-1.41-4.51-1.42,4.51h-.68L0,4.81h.68l1.38,4.55,1.42-4.55h.64l1.42,4.55,1.38-4.55h.69l-1.71,5.55Z"/><path d="m11.76,8.45h-3.5c.06.92.75,1.47,1.46,1.47.58,0,1.1-.22,1.39-.88l.56.13c-.32.85-1.04,1.3-1.96,1.3-1.09,0-2.07-.84-2.07-2.14s.99-2.15,2.11-2.15,1.96.82,2,2.04v.23Zm-3.48-.47h2.84c-.12-.8-.69-1.24-1.37-1.24s-1.35.44-1.48,1.24Z"/><path d="m16.97,8.33c0,1.29-.95,2.15-2.04,2.15-.68,0-1.26-.27-1.62-.75v.65h-.63v-5.97h.63v2.54c.36-.48.94-.75,1.62-.75,1.09,0,2.04.85,2.04,2.15Zm-.61,0c0-.98-.68-1.59-1.52-1.59-.77,0-1.52.61-1.52,1.59s.75,1.58,1.52,1.58c.85,0,1.52-.61,1.52-1.58Z"/><path d="m18.17,9.12c.06.54.56.83,1.2.83.59,0,.98-.27.98-.7,0-.34-.26-.5-.67-.59l-.94-.21c-.68-.14-1.06-.48-1.06-1.04,0-.74.61-1.23,1.55-1.23s1.52.47,1.67,1.13l-.6.13c-.08-.45-.47-.75-1.08-.75s-.9.28-.9.67c0,.32.22.47.62.56l.99.22c.6.13,1.05.45,1.05,1.07,0,.8-.67,1.26-1.65,1.26s-1.68-.41-1.78-1.21l.63-.14Z"/><path d="m22.73,5.04c0,.24-.19.42-.44.42s-.43-.18-.43-.42c0-.22.18-.42.43-.42s.44.2.44.42Zm-.75,5.32v-4.08h.64v4.08h-.64Z"/><path d="m26.42,10.15c-.33.23-.61.32-.94.32-.81,0-1.35-.48-1.35-1.38v-2.28h-.89v-.53h.89v-1.3h.64v1.3h1.46v.53h-1.46v2.24c0,.53.3.83.75.83.23,0,.49-.1.7-.25l.21.52Z"/><path d="m30.69,8.45h-3.5c.06.92.75,1.47,1.46,1.47.58,0,1.1-.22,1.39-.88l.56.13c-.32.85-1.04,1.3-1.96,1.3-1.09,0-2.07-.84-2.07-2.14s.99-2.15,2.11-2.15,1.96.82,2,2.04v.23Zm-3.48-.47h2.84c-.12-.8-.69-1.24-1.37-1.24s-1.35.44-1.48,1.24Z"/><path d="m35.37,4.81c1.95,0,3.07,1.2,3.07,2.78s-1.13,2.78-3.07,2.78h-1.84v-5.55h1.84Zm0,4.95c1.56,0,2.42-.95,2.42-2.18s-.86-2.19-2.42-2.19h-1.18v4.37h1.18Z"/><path d="m43.2,8.45h-3.5c.06.92.75,1.47,1.46,1.47.58,0,1.1-.22,1.39-.88l.56.13c-.32.85-1.04,1.3-1.96,1.3-1.09,0-2.07-.84-2.07-2.14s.99-2.15,2.11-2.15,1.96.82,2,2.04v.23Zm-3.48-.47h2.84c-.12-.8-.69-1.24-1.37-1.24s-1.35.44-1.48,1.24Z"/><path d="m44.4,9.12c.06.54.56.83,1.2.83.59,0,.98-.27.98-.7,0-.34-.26-.5-.67-.59l-.94-.21c-.68-.14-1.06-.48-1.06-1.04,0-.74.61-1.23,1.55-1.23s1.52.47,1.67,1.13l-.6.13c-.08-.45-.47-.75-1.08-.75s-.9.28-.9.67c0,.32.22.47.62.56l.99.22c.6.13,1.05.45,1.05,1.07,0,.8-.67,1.26-1.65,1.26s-1.68-.41-1.78-1.21l.63-.14Z"/><path d="m48.96,5.04c0,.24-.19.42-.44.42s-.43-.18-.43-.42c0-.22.18-.42.43-.42s.44.2.44.42Zm-.75,5.32v-4.08h.64v4.08h-.64Z"/><path d="m54,10.03c0,1.19-.82,1.91-2.05,1.91-1.01,0-1.68-.4-2-1.06l.53-.36c.29.55.7.85,1.47.85.86,0,1.43-.55,1.43-1.42v-.5c-.33.43-.85.67-1.53.67-1.08,0-2.01-.82-2.01-1.98s.94-1.96,2.01-1.96c.68,0,1.2.24,1.53.66v-.56h.61v3.75Zm-.62-1.89c0-.87-.68-1.42-1.44-1.42-.83,0-1.49.55-1.49,1.42s.66,1.43,1.49,1.43c.76,0,1.44-.56,1.44-1.43Z"/><path d="m59.09,7.92v2.44h-.63v-2.33c0-.76-.46-1.28-1.13-1.28-.85,0-1.42.58-1.42,1.64v1.96h-.63v-4.08h.63v.68c.33-.5.85-.78,1.54-.78.99,0,1.64.7,1.64,1.74Z"/><path d="m66.49,8.33c0,1.29-.95,2.15-2.04,2.15-.68,0-1.26-.27-1.62-.75v.65h-.63v-5.97h.63v2.54c.36-.48.94-.75,1.62-.75,1.09,0,2.04.85,2.04,2.15Zm-.61,0c0-.98-.68-1.59-1.52-1.59-.77,0-1.52.61-1.52,1.59s.75,1.58,1.52,1.58c.85,0,1.52-.61,1.52-1.58Z"/><path d="m68.56,11.77h-.7l.67-1.47-1.83-4.03h.71l1.46,3.26,1.49-3.26h.7l-2.5,5.49Z"/><path d="m75.9,5.4v4.96h-.66v-4.96h-2.06v-.59h4.78v.59h-2.05Z"/>
558<path d="m81.85,10.36h-.63v-.65c-.36.48-.94.75-1.62.75-1.09,0-2.04-.85-2.04-2.15s.95-2.15,2.04-2.15c.68,0,1.26.27,1.62.75v-.65h.63v4.08Zm-.63-2.04c0-.98-.75-1.59-1.52-1.59-.85,0-1.52.61-1.52,1.59s.68,1.58,1.52,1.58c.77,0,1.52-.61,1.52-1.58Z"/><path d="m89.62,7.72v2.64h-.63v-2.54c0-.65-.44-1.07-1.05-1.07-.75,0-1.25.55-1.25,1.52v2.09h-.63v-2.54c0-.65-.44-1.07-1.04-1.07-.75,0-1.24.55-1.24,1.52v2.09h-.63v-4.08h.63v.62c.29-.45.75-.72,1.39-.72s1.15.31,1.39.83c.31-.51.85-.83,1.54-.83.86,0,1.52.61,1.52,1.54Z"/><path d="m95.1,8.33c0,1.29-.95,2.15-2.04,2.15-.68,0-1.26-.27-1.62-.75v.65h-.63v-5.97h.63v2.54c.36-.48.94-.75,1.62-.75,1.09,0,2.04.85,2.04,2.15Zm-.61,0c0-.98-.68-1.59-1.52-1.59-.77,0-1.52.61-1.52,1.59s.75,1.58,1.52,1.58c.85,0,1.52-.61,1.52-1.58Z"/><path d="m99.98,8.32c0,1.25-.96,2.15-2.16,2.15s-2.17-.9-2.17-2.15.95-2.13,2.17-2.13,2.16.88,2.16,2.13Zm-.62,0c0-.94-.7-1.57-1.54-1.57s-1.56.64-1.56,1.57.71,1.59,1.56,1.59,1.54-.65,1.54-1.59Z"/><path d="m104.6,10.36h-.64v-.66c-.33.49-.86.77-1.54.77-.99,0-1.64-.7-1.64-1.74v-2.44h.64v2.33c0,.76.45,1.27,1.13,1.27.85,0,1.42-.57,1.42-1.63v-1.96h.64v4.08Z"/><path d="m108.45,6.27l-.05.6c-.07,0-.17,0-.24,0-1.09,0-1.64.82-1.64,1.92v1.57h-.64v-4.08h.64v1c.33-.6.89-1.04,1.64-1.04.1,0,.17,0,.29.03Z"/><path d="m109.95,5.04c0,.24-.19.42-.44.42s-.43-.18-.43-.42c0-.22.18-.42.43-.42s.44.2.44.42Zm-.75,5.32v-4.08h.64v4.08h-.64Z"/><path d="m115,7.92v2.44h-.63v-2.33c0-.76-.46-1.28-1.13-1.28-.85,0-1.42.58-1.42,1.64v1.96h-.63v-4.08h.63v.68c.33-.5.85-.78,1.54-.78.99,0,1.64.7,1.64,1.74Z"/><path d="m119.94,8.45h-3.5c.06.92.75,1.47,1.46,1.47.58,0,1.1-.22,1.39-.88l.56.13c-.32.85-1.04,1.3-1.96,1.3-1.09,0-2.07-.84-2.07-2.14s.99-2.15,2.11-2.15,1.96.82,2,2.04v.23Zm-3.48-.47h2.84c-.12-.8-.69-1.24-1.37-1.24s-1.35.44-1.48,1.24Z"/></svg></a>			</div>
559
560		</div>
561		
562	</div>
563</footer>
564	
564<script>
565
566		if(document.querySelector('.btn-menu')) {
567			document.querySelector('.btn-menu').addEventListener('click' , ()=>{
568					document.querySelector('.primary-nav-container').classList.add('open');
569				})
570				if(document.querySelector('#js-btn-menu')){
571					document.querySelector('#js-btn-menu').addEventListener('click' , ()=>{
572						document.querySelector('.primary-nav-container').classList.add('open');
573						if(window.screen.width < 600){
574							document.querySelector('body').classList.add('no-scrollable');
575						}
576					})
577				}
578
579				document.querySelector('.close-menu').addEventListener('click' , ()=>{
580					document.querySelector('.primary-nav-container').classList.remove('open');
581					if(window.screen.width < 600){
582							document.querySelector('body').classList.remove('no-scrollable');
583					}
584				})
585			}
586	</script>
586
587	
587<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.6/lottie_svg.min.js" integrity="sha512-8e3k0sO54dIp/R9IeBHnkrsm2Iy7cSU0iGUHPUmJbPiiwjKYj9pP/SweYkN7fg5sLZZi81dmpBx1D4SYt/vtYQ==" crossorigin="anonymous"></script>
587
588	
588<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.6/lottie_html.min.js" integrity="sha512-o4zpmcmoq2J7C5Zvq5NLCptG+KesB/1VNXBDiuNLpwctO7J8s1oVblIbIuAQ+lqNU0FfT0qbkmAEwvhhc/MAYg==" crossorigin="anonymous"></script>
588
589
590</div> <!-- CLOSE START CONTENT -->
591 
592            
592<script src="https://frontend.cdn.tambourine.com/assets/symphony.js?w67tMH" type="text/javascript"></script>
592
593     
594
595  
596
597<script src="https://www.surfandsandresort.com/assets/scripts.js?w67tMH" type="text/javascript"></script>
597
598
599
600<script src="https://twi.revinate.com/JavascriptPhoneNumber/js.aspx?account=14847&jspass=dzqcmazbonqt4jnmezon&dflt=8885798544"></script>
vendor: 2 bytes, line 600
600
601<script>ProcessNavisNCKeyword(); </script>
601
602
603<script>
604	  	(function () {
605			var phoneElements = 
606			document.getElementsByClassName ("navisTFN");
607			var  navisTFNraw = NavisConvertTagToPhoneNumberBasic (ReadNavisTagCookie ());
608			var  navisTFNdisp = FormatPhone (navisTFNraw,"8885798544");
609			var  navisTFNhref = FormatPhone (navisTFNraw,"8885798544");
610
611			for ( var i = phoneElements.length - 1 ; i >= 0 ; -- i) {
612				phoneElements [i].href = "tel:1-"+ navisTFNhref;
613							}
614
615		} ) ();
616	</script>
616
617
618
619<noscript><iframe title="iframe_GTM" src="https://www.googletagmanager.com/ns.html?id=GTM-5FS6WP4" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
620
621
622
623
624	
624<script src="https://frontend.cdn.tambourine.com/includes/vite/vue/v-popups/dist/v-popups2.js?v2=6ab775a3946d7" async></script>
624
625
626    
627<v-popups2
628	is_live="true"
629	brand="symphony"
630	trackingtype="1"
631	site_id="2807"
632	site_lang="en"
633	is_mobile=""
634	filters='{"page":"contact-us","id_page":577065,"subpage":null,"location":"default","geo":null}' >
635</v-popups2>
636
637<!-- DISABLE PERSONALIZATION OPTION: not set -->
638
639    
640            <!-- #PERSONALIZATION -->
641                                        
641<script>
642                    window.PERSONALIZATION_PROPS = {
643                        pageId: '577065',
644                        pageSeoname : 'contact-us',
645                        isMobile: false,
646                        isHome: false,
647						brand: 'symphony',
648                    };
649                </script>
649
650                <link rel="stylesheet" crossorigin href="https://frontend.cdn.tambourine.com/includes/vite/vue/personalization/dist/main-CIOLUrS5.css" />
651                
651<script type="module" crossorigin src="https://frontend.cdn.tambourine.com/includes/vite/vue/personalization/dist/main-J-cZdx6m.js" async></script>
651
652                        <!-- /PERSONALIZATION -->
653
654<!-- #PLUS-V2 -->
655<!-- /PLUS-V2 -->
656
657<!-- Presto login -->
658
659<!-- Presto includes -->
660
661<!-- DevMode includes -->
662 
663
664<!-- OWNERSHIP OF WORK PRODUCT
665Tambourine is the exclusive owner of all website source code and website design. 
666Software tools used for website ripping, scraping and copying for the sole intent 
667of removing the website from Tambourine’s proprietary platform is prohibited and 
668in violation of this agreement. Any attempt to do so will be immediately reported 
669and prosecuted as cyber theft to the local authorities and prosecuted to the 
670fullest extent of the law.
671-->
672
673
674
675<script id="navis-fusion-loader" src="https://assets.navisperformance.com/NWRC/Fusion/navis-fusion-loader.js" data-accountid="14847" data-secret="dzqcmazbonqt4jnmezon"></script>
vendor: 1 bytes, line 675
675
676<script src="https://twi.revinate.com/JavascriptPhoneNumber/js.aspx?account=14847&jspass=dzqcmazbonqt4jnmezon&dflt=8885798544"></script>
vendor: 1 bytes, line 676
676
677<script> 
678	(function () {
679		document.getElementById("navisTFNLink").href = "tel:" +FormatPhone(NavisConvertTagToPhoneNumberBasic(ReadNavisTagCookie()), "###-###-####");
680		document.getElementById("navisTFNLink").textContent = FormatPhone(NavisConvertTagToPhoneNumberBasic(
681		ReadNavisTagCookie()), "###-###-####");
682
683		var phoneElements = document.getElementsByClassName("navisTFN"); 
684		var navisTFNraw = NavisConvertTagToPhoneNumberBasic(ReadNavisTagCookie()); 
685		var navisTFNdisp = FormatPhone(navisTFNraw, "(###) ###-####"); 
686		var navisTFNhref = FormatPhone(navisTFNraw, "###-###-####"); 
687		console.log( phoneElements)
688		for(var i = phoneElements.length - 1; i >= 0; --i) { 
689			phoneElements[i].href = "tel:+1-" + navisTFNhref; 
690			phoneElements[i].innerHTML = navisTFNdisp;
691		}
692	})(); 
693</script>
693
694
695 <!-- This is start of the Website AI Chatbot Widget code --> 
696 
696<script> 
697 var BMB_MESSENGER_domain = 'https://messenger.myma.ai/'; 
698 var BMB_messengerHTMLPath = BMB_MESSENGER_domain + 'index.html'; 
699 var BMB_MESSENGER_head = document.getElementsByTagName('head')[0]; 
700 var BMB_MESSENGER_script = document.createElement('script'); 
701 BMB_MESSENGER_script.type = 'text/javascript'; 
702 BMB_MESSENGER_script.src = BMB_MESSENGER_domain + 'msgplugin.js'; 
703 BMB_MESSENGER_head.appendChild(BMB_MESSENGER_script); 
704 var BMB_MESSENGER_gid = 'eb1f76c7-14b0-4ade-9705-b3f60101e63f'; 
705 var BMB_MESSENGER_iid = 'f7608bb2-9cd8-4f6d-b381-238d61d88ba9'; 
706 var BMB_MESSENGER_pid = ''; 
707 </script>
707 
708 <!-- This is end of the Website AI Chatbot Widget code -->
709
710<script type="text/javascript">
711 var BOOKING_SETTINGS = {
712 "hotel": "surf-sand-resort",
713 "theme": "boutique-gallery",
714 "lang": "en",
715 "emergency": {
716 "email": "[email protected]",
717 "phone": "1-888-8272928"
718 }
719 };
720</script>
720
721<booking-layout></booking-layout>
722<script type="text/javascript" src="//newbooking.azds.com/preloader.bundle.js"></script>
vendor: 1 bytes, line 722
722
723<script type="text/javascript" src="//newbooking.azds.com/inline.bundle.js"></script>
723
724<link href="//newbooking.azds.com/api/hotel/surf-sand-resort/styles" rel="stylesheet"
725type="text/css" />
726
727<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"efad38ce91cb4e9d9cd5205b5e0b574f","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 727
727
728<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a41096dcdecaeaef',t:'MTc5MDQwODA5OQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
728</body>
729</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.