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 & Sand Laguna Beach's Terms & conditions by signing up. I also acknowledge Surf & 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 & Sand Laguna Beach & 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. ", 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© 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.