PageSourceSearch

https://www.islandvacationproperties.com/island-blog/

html islandvacationproperties.com collected 2026-10-08 10:55:07 UTC 201,752 bytes, 1,893 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3<head>
4        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5<script>
6var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
7</script>
7
8
9        <meta name="viewport" content="width=device-width, initial-scale=1" />
10    <link rel="preconnect" href="https://www.google.com">
11    <link rel="preconnect" href="https://www.gstatic.com" crossorigin>
12    <link rel="preconnect" href="https://fonts.googleapis.com">
13    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
14    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@40,100..300,0..1,0&display=block" />
15    <title>Island Vacation Properties Blog | Island Vacation Properties</title>
16
17		<!-- All in One SEO Pro 5.0.2 - aioseo.com -->
18	<meta name="description" content="Enjoy our blog which is packed full of information on Anna Maria&#039;s best restaurants, activities, and events. There is something for the whole family." />
19	<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
20	<link rel="canonical" href="https://www.islandvacationproperties.com/island-blog/" />
21	<meta name="generator" content="All in One SEO Pro (AIOSEO) 5.0.2" />
22		<meta property="og:locale" content="en_US" />
23		<meta property="og:site_name" content="Island Vacation Properties" />
24		<meta property="og:type" content="website" />
25		<meta property="og:title" content="Island Vacation Properties Blog | Island Vacation Properties" />
26		<meta property="og:description" content="Enjoy our blog which is packed full of information on Anna Maria&#039;s best restaurants, activities, and events. There is something for the whole family." />
27		<meta property="og:url" content="https://www.islandvacationproperties.com/island-blog/" />
28		<meta property="og:image" content="https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities.jpg" />
29		<meta property="og:image:secure_url" content="https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities.jpg" />
30		<meta property="og:image:width" content="1400" />
31		<meta property="og:image:height" content="852" />
32		<meta property="article:published_time" content="2020-01-24T02:10:04+00:00" />
33		<meta property="article:modified_time" content="2026-09-16T13:36:27+00:00" />
34		<meta property="article:publisher" content="https://www.facebook.com/islandvacationproperties/" />
35		<meta name="twitter:card" content="summary" />
36		<meta name="twitter:title" content="Island Vacation Properties Blog | Island Vacation Properties" />
37		<meta name="twitter:description" content="Enjoy our blog which is packed full of information on Anna Maria&#039;s best restaurants, activities, and events. There is something for the whole family." />
38		<meta name="twitter:image" content="https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities.jpg" />
39		
39<script type="application/ld+json" class="aioseo-schema">
40			{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.islandvacationproperties.com\/#listItem","position":1,"name":"Home","item":"https:\/\/www.islandvacationproperties.com\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#listItem","name":"Island Blog"}},{"@type":"ListItem","@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#listItem","position":2,"name":"Island Blog","previousItem":{"@type":"ListItem","@id":"https:\/\/www.islandvacationproperties.com\/#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/www.islandvacationproperties.com\/#organization","name":"Island Vacation Properties","description":"Anna Maria Island Vacation Rentals","url":"https:\/\/www.islandvacationproperties.com\/","email":"[email protected]","telephone":"+19417781000","logo":{"@type":"ImageObject","url":"https:\/\/www.islandvacationproperties.com\/wp-content\/uploads\/2026\/08\/IVPBlue200.png","@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#organizationLogo","width":367,"height":200,"caption":"ivp logo"},"image":{"@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/islandvacationproperties\/","https:\/\/www.google.com\/maps\/place\/?q=place_id:ChIJnZBkwbARw4gR3gR-y7Y6aB4"]},{"@type":"WebPage","@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#webpage","url":"https:\/\/www.islandvacationproperties.com\/island-blog\/","name":"Island Vacation Properties Blog | Island Vacation Properties","description":"Enjoy our blog which is packed full of information on Anna Maria's best restaurants, activities, and events. There is something for the whole family.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.islandvacationproperties.com\/#website"},"breadcrumb":{"@id":"https:\/\/www.islandvacationproperties.com\/island-blog\/#breadcrumblist"},"datePublished":"2020-01-23T21:10:04-05:00","dateModified":"2026-09-16T09:36:27-04:00"},{"@type":"WebSite","@id":"https:\/\/www.islandvacationproperties.com\/#website","url":"https:\/\/www.islandvacationproperties.com\/","name":"Island Vacation Properties","description":"Anna Maria Island Vacation Rentals","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.islandvacationproperties.com\/#organization"}}]}
41		</script>
41
42		<!-- All in One SEO Pro -->
43
44<link rel='dns-prefetch' href='//www.google.com' />
45<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.islandvacationproperties.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.islandvacationproperties.com%2Fisland-blog%2F" />
46<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.islandvacationproperties.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.islandvacationproperties.com%2Fisland-blog%2F&#038;format=xml" />
47<style id="wp-img-auto-sizes-contain-inline-css">
48img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
49/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
50</style>
51<style id="wp-emoji-styles-inline-css">
52
53	img.wp-smiley, img.emoji {
54		display: inline !important;
55		border: none !important;
56		box-shadow: none !important;
57		height: 1em !important;
58		width: 1em !important;
59		margin: 0 0.07em !important;
60		vertical-align: -0.1em !important;
61		background: none !important;
62		padding: 0 !important;
63	}
64/*# sourceURL=wp-emoji-styles-inline-css */
65</style>
66<style id="wp-block-library-inline-css">
67:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
67--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
68
69/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
70</style>
71
72<style id="global-styles-inline-css">
73:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--rt-primary: #f4dd56;--wp--preset--color--rt-secondary: #f4dd56;--wp--preset--color--rt-above-footer: #737578;--wp--preset--color--rt-footer: #000000;--wp--preset--color--rt-accent: #55a0a3;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
730) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: clamp(.8rem, .8rem + ((1vw - 0.48rem) * 1.194), 1rem);--wp--preset--font-size--medium: clamp(.8rem, 1rem + ((1vw - 0.48rem) * 1.194), 1.6rem);--wp--preset--font-size--large: clamp(1.6rem, 1.6rem + ((1vw - 0.48rem) * 1.592), 2.5rem);--wp--preset--font-size--x-large: clamp(25.014px, 1.563rem + ((1vw - 3.2px) * 1.213), 42px);--wp--preset--font-size--extra-large: clamp(2.5rem, 2.5rem + ((1vw - 0.48rem) * 1.99), 3.5rem);--wp--preset--font-size--extra-extra-large: clamp(3.5rem, 3.5rem + ((1vw - 0.48rem) * 1.99), 4.55rem);--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 1200px;--wp--style--global--wide-size: 1720px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained >
73 :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-rt-primary-color{color: var(--wp--preset--color--rt-primary) !important;}.has-rt-secondary-color{color: var(--wp--preset--color--rt-secondary) !important;}.has-rt-above-footer-color{color: var(--wp--preset--color--rt-above-footer) !important;}.has-rt-footer-color{color: var(--wp--preset--color--rt-footer) !important;}.has-rt-accent-color{color: var(--wp--preset--color--rt-accent) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-rt-primary-background-color{background-color: var(--wp--preset--color--rt-primary) !important;}.has-rt-secondary-background-color{background-color: var(--wp--preset--color--rt-secondary) !important;}.has-rt-above-footer-background-color{background-color: var(--wp--preset--color--rt-above-footer) !important;}.has-rt-footer-background-color{background-color: var(--wp--preset--color--rt-footer) !important;}.has-rt-accent-background-color{background-color: var(--wp--preset--color--rt-accent) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-rt-primary-border-color{border-color: var(--wp--preset--color--rt-primary) !important;}.has-rt-secondary-border-color{border-color: var(--wp--preset--color--rt-secondary) !important;}.has-rt-above-footer-border-color{border-color: var(--wp--preset--color--rt-above-footer) !important;}.has-rt-footer-border-color{border-color: var(--wp--preset--color--rt-footer) !important;}.has-rt-accent-border-color{border-color: var(--wp--preset--color--rt-accent) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
73.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-large) !important;}.has-extra-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-extra-large) !important;}
74/*# sourceURL=global-styles-inline-css */
75</style>
76
77<link rel='stylesheet' id='normalize-css' href='https://www.islandvacationproperties.com/wp-content/themes/rtapi/css/normalize.css?ver=7.1.3' media='all' />
78<link rel='stylesheet' id='icons-css' href='https://www.islandvacationproperties.com/wp-content/themes/rtapi/material-icons.css?ver=7.1.3' media='all' />
79<link rel='stylesheet' id='core-css' href='https://www.islandvacationproperties.com/wp-content/themes/rtapi/style.css?ver=1791205626' media='' />
80<link rel='stylesheet' id='gforms_reset_css-css' href='https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/legacy/css/formreset.min.css?ver=3.1.2' media='all' />
81<link rel='stylesheet' id='gforms_formsmain_css-css' href='https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/legacy/css/formsmain.min.css?ver=3.1.2' media='all' />
82<link rel='stylesheet' id='gforms_ready_class_css-css' href='https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/legacy/css/readyclass.min.css?ver=3.1.2' media='all' />
83<link rel='stylesheet' id='gforms_browsers_css-css' href='https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/legacy/css/browsers.min.css?ver=3.1.2' media='all' />
84<link rel='stylesheet' id='popup-maker-site-css' href='//www.islandvacationproperties.com/wp-content/uploads/pum/pum-site-styles.css?generated=1787948087&#038;ver=1.25.0' media='all' />
85<script id="jquery-core-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 85
85
86<script id="jquery-migrate-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 86
86
87<script id="jquery-ui-core-js-before">
88jQuery.uiBackCompat = true;
89jQuery.uiBackCompat = true;
90//# sourceURL=jquery-ui-core-js-before
91</script>
vendor: 1 bytes, line 91
91
92<script id="jquery-ui-core-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 92
92
93<script id="jquery-ui-mouse-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 93
93
94<script id="jquery-ui-sortable-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/ui/sortable.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 94
94
95<script id="jquery-ui-resizable-js" src="https://www.islandvacationproperties.com/wp-includes/js/jquery/ui/resizable.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 95
95
96<script id="acf-js" src="https://www.islandvacationproperties.com/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf.min.js?ver=6.8.10"></script>
vendor: 1 bytes, line 96
96
97<script id="wp-dom-ready-js" src="https://www.islandvacationproperties.com/wp-includes/js/dist/dom-ready.min.js?ver=3fe927cab37bf38d6a23"></script>
vendor: 1 bytes, line 97
97
98<script id="wp-hooks-js" src="https://www.islandvacationproperties.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 98
98
99<script id="wp-i18n-js" src="https://www.islandvacationproperties.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 99
99
100<script id="wp-i18n-js-after">
101wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
102wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
103//# sourceURL=wp-i18n-js-after
104</script>
vendor: 1 bytes, line 104
104
105<script id="wp-a11y-js" src="https://www.islandvacationproperties.com/wp-includes/js/dist/a11y.min.js?ver=31c6cec5a4ff7aff483d"></script>
vendor: 1 bytes, line 105
105
106<script id="acf-input-js" src="https://www.islandvacationproperties.com/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.min.js?ver=6.8.10"></script>
vendor: 1 bytes, line 106
106
107<script id="rtc-acf-fixer-js-extra">
108var rtwpVars = {"theme_url":"https://www.islandvacationproperties.com/wp-content/themes/rtapi"};
109//# sourceURL=rtc-acf-fixer-js-extra
110</script>
vendor: 1 bytes, line 110
110
111<script id="rtc-acf-fixer-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/rtc-acf-fixer.js?ver=7.1.3"></script>
vendor: 1 bytes, line 111
111
112<script id="custom-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/submenu.js?ver=1.0.0"></script>
vendor: 1 bytes, line 112
112
113<script id="vue-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/vue.global.prod.js?ver=3.5.41"></script>
vendor: 1 bytes, line 113
113
114<script id="vueuse-shared-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/vueuse-shared.iife.js?ver=14.4.0"></script>
vendor: 1 bytes, line 114
114
115<script id="vueuse-core-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/vueuse-core.iife.js?ver=14.4.0"></script>
vendor: 1 bytes, line 115
115
116<script id="axios-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/axios.min.js?ver=1.19.0"></script>
vendor: 1 bytes, line 116
116
117<script id="gform_json-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 117
117
118<script id="gform_gravityforms-js-extra">
119var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https://www.islandvacationproperties.com/wp-content/plugins/gravityforms","number_formats":[],"version_hash":"19dbec403806d76761dede907ba49b18","countries":{"AF":"Afghanistan","AX":"\u00c5land Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua and Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BQ":"Bonaire, Sint Eustatius and Saba","BA":"Bosnia and Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","CV":"Cabo Verde","KH":"Cambodia","CM":"Cameroon","CA":"Canada","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos Islands","CO":"Colombia","KM":"Comoros","CD":"Congo, Democratic Republic of the","CG":"Congo","CK":"Cook Islands","CR":"Costa Rica","CI":"C\u00f4te d'Ivoire","HR":"Croatia","CU":"Cuba","CW":"Cura\u00e7ao","CY":"Cyprus","CZ":"Czechia","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","SZ":"Eswatini","ET":"Ethiopia","FK":"Falkland Islands","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island and McDonald Islands","VA":"Holy See","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran","IQ":"Iraq","IE":"Ireland","IM":"Isle of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People's Republic of","KR":"Korea, Republic of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MK":"North Macedonia","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestine, State of","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"R\u00e9union","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barth\u00e9lemy","SH":"Saint Helena, Ascension and Tristan da Cunha","KN":"Saint Kitts and Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre and Miquelon","VC":"Saint Vincent and the Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome and Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SX":"Sint Maarten","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia and the South Sandwich Islands","SS":"South Sudan","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard and Jan Mayen","SE":"Sweden","CH":"Switzerland","SY":"Syria Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, the United Republic of","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad and Tobago","TN":"Tunisia","TR":"T\u00fcrkiye","TM":"Turkmenistan","TC":"Turks and Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UY":"Uruguay","UM":"US Minor Outlying Islands","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis and Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved.  The content contains the link to return and complete the form."}};
120var gform_i18n = {"datepicker":{"wdOffset":0,"helpTextShort":"Press F1 for help","helpText":"Press the arrow keys to navigate by day, PageUp and PageDown to navigate by month, Alt+PageUp and Alt+PageDown to navigate by year, or Escape to cancel.","openOnFocusHelpText":"Press Down arrow to browse the calendar, or Escape to close.","tooltipTxt":"Press Escape to cancel","disabledTxt":"Disabled","markedTxt":"Selected","prevTxt":"Previous","nextTxt":"Next","monthTxt":"Month","yearTxt":"Year","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"days":[{"s":"S","l":"Sunday"},{"s":"M","l":"Monday"},{"s":"T","l":"Tuesday"},{"s":"W","l":"Wednesday"},{"s":"T","l":"Thursday"},{"s":"F","l":"Friday"},{"s":"S","l":"Saturday"}]}};
121var gf_legacy_multi = {"10":"1"};
122var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","file_uploaded":"File uploaded","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled","error":"Error","message":"Message"},"vars":{"images_url":"https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/images"}};
123//# sourceURL=gform_gravityforms-js-extra
124</script>
vendor: 1 bytes, line 124
124
125<script id="gform_gravityforms-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 125
125
126<script id="gform_gravityforms_utils-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=69a9db57304a9f86c3d1a0bea5fd2cf9"></script>
126
127<link rel="https://api.w.org/" href="https://www.islandvacationproperties.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.islandvacationproperties.com/wp-json/wp/v2/pages/556" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.islandvacationproperties.com/xmlrpc.php?rsd" />
128<meta name="generator" content="WordPress 7.1.3" />
129<link rel='shortlink' href='https://www.islandvacationproperties.com/?p=556' />
130<link rel="icon" href="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/favicon.jpg" sizes="32x32" />
131<link rel="icon" href="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/favicon.jpg" sizes="192x192" />
132<link rel="apple-touch-icon" href="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/favicon.jpg" />
133<meta name="msapplication-TileImage" content="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/favicon.jpg" />
134    <!-- Google Tag Manager -->
135<script>
vendor: 359 bytes, lines 135-139
135(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
136            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
137        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
138        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
139    })(window,document,'script','dataLayer','
139GTM-KDN4RC6
vendor: 3 bytes, line 139
139');
139</script>
139
140<!-- End Google Tag Manager -->
141    <link href="https://fonts.googleapis.com/css2?family=Marcellus:wght@400&family=Cabin:wght@400;500;600;700&display=fallback" rel="stylesheet">
142<style>
143    :root {
144                    --primary: #f4dd56;
145                            --primary-text: #333333;
146                            --secondary: #f4dd56;
147                            --secondary-text: #00437c;
148                    --above-footer: #737578;
149                    --footer: #000000;
150                    --menu: #03437c;
151                    --menu-hover: #21619a;
152                    --qs-color: #00437c;
153                    --heading-color: #00437c;
154                    --splash-medium: rgb(204,227,227);
155            --splash-extra-light: rgb(247,250,250);
156            --splash-light: rgb(238,246,246);
157            --splash-dark: rgb(51,141,145);
158            --splash-extra-dark: rgb(-43,89,94);
159                    --tone-extra-light: color-mix(in srgb, rgb(247,250,250) 55%, #f4f4f4);
160            --tone-light: color-mix(in srgb, rgb(247,250,250) 75%, #eee);
161                --heading-font-family: "Marcellus", sans-serif;
162        --body-font-family: "Cabin", sans-serif;
163        --heading-weight: 400;
164        --subheading-weight: 400;
165        --body-weight: 400;
166        --h-scale: 1.35rem;
167        --h-vw: 1.1vw;
168        --b-scale: 1.25rem;
169        --fluid-heading: calc(var(--h-scale) + var(--h-vw));
170        --fluid-body: calc(var(--b-scale));
171    }
172        head, body {
173        font-family: var(--body-font-family) !important;
174        font-size: var(--fluid-body) !important;
175        font-weight: var(--body-weight) !important;
176    }
177    h1, h2.page-title, .page-title, .page-title h1, .page-title h2, .page-title h3 {
178        font-family: var(--heading-font-family) !important;
179        font-weight: var(--heading-weight) !important;
180    }
181    h1, .page-title h1, .page-title h2, .cta-wrapper h2.page-title {
182        font-size: var(--fluid-heading) !important;
183    }
184    h2, h3 {
185        font-weight: var(--subheading-weight) !important;
186    }
187    </style>    </head>
188<body class="wp-singular page-template-default page page-id-556 wp-theme-rtapi">
189    <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 189-190
189
190<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
190GTM-KDN4RC6
vendor: 83 bytes, line 190
190" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
191<!-- End Google Tag Manager (noscript) -->
192    <div id="content-wrap" class="content-wrap">
193        <div class="site-wrap">
194            <div class="header-main-wrapper classic">
195                <a role="link" class="sr-only" href="#post-556">Skip to main content</a>
196                <header id="header" role="banner" class="classic" aria-label="banner">
197                                        <div class="header-wrap">
198                        <div class="header contained">
199                            <div class="logo">
200                                <a id="rt-logo-anchor" href="https://www.islandvacationproperties.com/">
201                                    <img width="367" height="200" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPBlue200.png" class="attachment-full size-full" alt="Island Vacation Properties Logo" id="rtlogo" style="max-width:250px;" decoding="async" fetchpriority="high" />                                </a>
202                            </div>
203                            <button id="toggle" role='button' aria-label="Mobile Navigation Trigger" class="open-button toggle-spot white-text">
204                                <div class="toggle-spot">
205                                    <span></span>
206                                </div>
207                            </button>
208                                                        <div class="headerright">
209                                <div class="headerright-top">
210                                    <div style="position:relative; cursor: pointer;" id="my-rentals-header">
211    <div v-if="displayMyRentalsHeader">
212        <a href="https://www.islandvacationproperties.com/vacation-rentals/results/?myrentals" title="View Favorite Rentals" style="gap: 2px;" aria-label="View favorite Rentals">
213            <i class="rt-google-icon heart" :class="{'filled-symbol': favoritesCount }" aria-hidden="true"></i>
214            <span v-if="favoritesCount" class="filter-ticker">{{favoritesCount}}</span>
215            <span class="nomobile">My Rentals</span>
216        </a>
217    </div>
218</div>
219
220<script>
221    const { useStorage } = VueUse;
222    const sanitizeRtFavorited = function (raw) {
223        const clean = {
224            favorites: [],
225            recently_viewed: [],
226            date_history: [],
227            check_history: [],
228            select_history: [],
229            sort_order: {
230                field: "",
231                direction: "",
232            },
233            version: 1,
234        };
235
236        // Check data types and clean unapproved types
237        const isValidId = (v) => typeof v === 'string' && v.length > 0;
238
239        if (Array.isArray(raw.favorites)) {
240        clean.favorites = [...new Set(raw.favorites.filter(isValidId))].slice(0, 100);
241        }
242        if (Array.isArray(raw.recently_viewed)) {
243        clean.recently_viewed = [...new Set(raw.recently_viewed.filter(isValidId))].slice(0, 10);
244        }
245
246        if (Array.isArray(raw.date_history)) {
247            clean.date_history = raw.date_history
248                .filter(d => d && !isNaN(Date.parse(d.arrive)) && !isNaN(Date.parse(d.depart)) && new Date(d.depart) > new Date(d.arrive))
249                .map(d => ({ arrive: d.arrive, depart: d.depart, latest_search: !!d.latest_search }))
250                .slice(0, 3);
251        }
252        if (Array.isArray(raw.check_history)) {
253            clean.check_history = raw.check_history
254                .filter(c => c && typeof c.label === 'string' && c.latest_search === true)
255                .map(c => ({ label: c.label, latest_search: true }));
256        }
257        if (Array.isArray(raw.select_history)) {
258            clean.select_history = raw.select_history
259                .filter(s => s && typeof s.label === 'string' && typeof s.value === 'string' && s.latest_search === true)
260                .map(s => ({ label: s.label, value: s.value, latest_search: true }));
261        }
262
263        // Preserve the sort_order if it exists in the raw local storage
264        if (raw.sort_order && typeof raw.sort_order === 'object') {
265            const field = typeof raw.sort_order.field === 'string' ? raw.sort_order.field : "";
266            const direction = typeof raw.sort_order.direction === 'string' ? raw.sort_order.direction : "";
267            const validDirections = ['asc', 'desc'];
268
269            if (field && validDirections.includes(direction)) {
270                clean.sort_order = {field, direction};
271            }
272            // else: leave clean.sort_order at its default {field: "", direction: ""}
273        }
274
275        return clean;
276    }
277
278    const rtFavorited = useStorage('rt-favorited', {
279        favorites: [],
280        recently_viewed: [],
281        date_history: [],
282        check_history: [],
283        select_history: [],
284        sort_order: {
285            field: "",
286            direction: "",
287        },
288        version: 1,
289    });
290
291    rtFavorited.value = sanitizeRtFavorited(rtFavorited.value);
292
293
294    const myRentalsHeaderApp = Vue.createApp({
295        // hand the app the global ref
296        setup() {
297            return { unitsFavorite: rtFavorited };
298        },
299        data() {
300            return {
301                displayMyRentalsHeader: true,
302                localStorageClean: false,
303            }
304        },
305        computed: {
306            favoritesCount: function () {
307                if (this.unitsFavorite.favorites && this.unitsFavorite.favorites.length > 0) {
308                    return this.unitsFavorite.favorites.length;
309                } else {
310                    return 0;
311                }
312            },
313        },
314        methods: {
315            cleanseStorage: function() {
316                var appRoot = this;
317
318                axios.post('https://www.islandvacationproperties.com/vacation-rentals' + '/router/', {
319                    call: 'cleanseFavorites',
320                    store: appRoot.unitsFavorite,
321                })
322                    .then(function (response) {
323                        appRoot.localStorageClean = true;
324
325                        const validFavorites = response.data.favorites || [];
326                        const validRecent = response.data.recently_viewed || [];
327
328                        appRoot.unitsFavorite.favorites = appRoot.unitsFavorite.favorites.filter(id => validFavorites.includes(id));
329                        appRoot.unitsFavorite.recently_viewed = appRoot.unitsFavorite.recently_viewed.filter(id => validRecent.includes(id));
330
331                        appRoot.unitsFavorite.check_history = response.data.check_history || appRoot.unitsFavorite.check_history;
332                        appRoot.unitsFavorite.select_history = response.data.select_history || appRoot.unitsFavorite.select_history;
333                    })
334                    .catch(function (error) {
335                        console.log(error);
336                    });
337            },
338        },
339        mounted: function() {
340            const hasData = this.unitsFavorite.favorites.length
341                || this.unitsFavorite.recently_viewed.length
342                || this.unitsFavorite.check_history.length
343                || this.unitsFavorite.select_history.length;
344
345            if (!this.localStorageClean && hasData) {
346                this.cleanseStorage();
347            }
348        },
349    });
350
351    myRentalsHeaderApp.mount('#my-rentals-header');
352</script>
352                                    <a class="headerright-top-tel" href="tel:(941) 7781000">
353                                        <i class="rt-google-icon phone" aria-hidden="true"></i>
354                                        <span>(941) 778-1000                                        </span>
355                                    </a>
356                                </div>
357                                <nav class="navclass nav classic">
358                                    <ul id="menu-main-nav" class="menu clearfix hide-nav leftnav white-text"><li id="menu-item-110" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-110"><a href="https://www.islandvacationproperties.com/vacation-rentals/results/?viewall" aria-haspopup="true" aria-expanded="false">Vacation Rentals</a><ul class="sub-menu">	<li id="menu-item-5865" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5865"><a href="https://www.islandvacationproperties.com/vacation-rentals/results/?viewall">View All Rentals</a></li>	<li id="menu-item-162" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-162"><a aria-haspopup="true" aria-expanded="false">Rentals By Amenity</a>	<ul class="sub-menu">		<li id="menu-item-691" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-691"><a href="https://www.islandvacationproperties.com/beachfront-rentals/">Beachfront</a></li>		<li id="menu-item-163" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-163"><a href="https://www.islandvacationproperties.com/pool-properties/">Rentals With Pool</a></li>		<li id="menu-item-189" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-189"><a href="https://www.islandvacationproperties.com/pet-friendly-rentals/">Pet Friendly</a></li>	</ul></li>	<li id="menu-item-183" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-183"><a aria-haspopup="true" aria-expanded="false">Rentals By Community</a>	<ul class="sub-menu">		<li id="menu-item-186" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-186"><a href="https://www.islandvacationproperties.com/anna-maria-rentals/">City of Anna Maria</a></li>		<li id="menu-item-188" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188"><a href="https://www.islandvacationproperties.com/holmes-beach-rentals/">Holmes Beach</a></li>		<li id="menu-item-187" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-187"><a href="https://www.islandvacationproperties.com/bradenton-beach-rentals/">Bradenton Beach</a></li>		<li id="menu-item-184" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-184"><a href="https://www.islandvacationproperties.com/main-land-rentals/">Mainland</a></li>		<li id="menu-item-1179" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1179"><a href="https://www.islandvacationproperties.com/one-particular-harbour-rentals/">One Particular Harbour</a></li>		<li id="menu-item-295" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-295"><a href="https://www.islandvacationproperties.com/rentals-by-area/">All Rentals By Area</a></li>	</ul></li>	<li id="menu-item-1672" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1672"><a aria-haspopup="true" aria-expanded="false">Rentals By Type</a>	<ul class="sub-menu">		<li id="menu-item-1458" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1458"><a href="https://www.islandvacationproperties.com/house-rentals/">House Rentals</a></li>		<li id="menu-item-1673" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1673"><a href="https://www.islandvacationproperties.com/anna-maria-island-condo-rentals/">Condo Rentals</a></li>		<li id="menu-item-164" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-164"><a href="https://www.islandvacationproperties.com/long-weekend-rentals/">Long Weekend Rentals</a></li>		<li id="menu-item-2147" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2147"><a href="https://www.islandvacationproperties.com/anna-maria-island-monthly-rentals/">Monthly Rentals</a></li>		<li id="menu-item-4944" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4944"><a href="https://www.islandvacationproperties.com/duplex-and-fourplex-rentals/">Multi Unit Properties</a></li>	</ul></li>	<li id="menu-item-873" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-873"><a aria-haspopup="true" aria-expanded="false">Rentals by Bedroom</a>	<ul class="sub-menu">		<li id="menu-item-874" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-874"><a href="https://www.islandvacationproperties.com/1-bedroom-rentals/">1 Bedroom</a></li>		<li id="menu-item-951" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-951"><a href="https://www.islandvacationproperties.com/2-bedroom-rentals/">2 Bedroom</a></li>		<li id="menu-item-1009" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1009"><a href="https://www.islandvacationproperties.com/three-bedroom-rentals/">3 Bedroom</a></li>		<li id="menu-item-1455" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1455"><a href="https://www.islandvacationproperties.com/four-bedroom-rentals/">4 Bedroom</a></li>		<li id="menu-item-1454" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1454"><a href="https://www.islandvacationproperties.com/five-bedroom-rentals/">5+ Bedroom</a></li>	</ul></li>	<li id="menu-item-240" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://www.islandvacationproperties.com/featured-properties/">Featured AMI Vacation Rentals</a></li>	<li id="menu-item-4125" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4125"><a href="https://www.islandvacationproperties.com/specials/">Specials</a></li>	<li id="menu-item-3654" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3654"><a href="https://www.islandvacationproperties.com/travel-insurance-information/">Travel Insurance Information</a></li>	<li id="menu-item-5751" class="menu-item menu-item-type-post_type menu-item-object-rtc menu-item-5751"><a href="https://www.islandvacationproperties.com/vacation-rentals/rentals-availability-calendar/">Availability Calendar</a></li></ul></li><li id="menu-item-111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-111">
358<a href="https://islandvacationproperties.idxbroker.com/idx/featured" aria-haspopup="true" aria-expanded="false">Real Estate Sales</a><ul class="sub-menu">	<li id="menu-item-146" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146"><a href="https://islandvacationproperties.idxbroker.com/idx/search/advanced">Search MLS</a></li>	<li id="menu-item-147" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-147"><a href="https://islandvacationproperties.idxbroker.com/idx/featured">Our Featured Listings</a></li>	<li id="menu-item-128" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-128"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-buyer-resources/">Home Buying Tips</a></li>	<li id="menu-item-129" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-seller-resources/">Home Selling Tips</a></li>	<li id="menu-item-148" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-148"><a href="https://islandvacationproperties.idxbroker.com/idx/mortgage">Mortgage Calculator</a></li>	<li id="menu-item-227" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-227"><a href="https://www.islandvacationproperties.com/meet-our-sales-agents/">Meet Our Sales Agents</a></li></ul></li><li id="menu-item-195" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-195"><a href="https://www.islandvacationproperties.com/property-management/" aria-haspopup="true" aria-expanded="false">Property Management</a><ul class="sub-menu">	<li id="menu-item-106" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-106"><a href="https://www.islandvacationproperties.com/property-management/">List With IVP</a></li>	<li id="menu-item-260" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-260"><a target="_blank" rel="noopener noreferrer" href="https://owner.escapia.com/dist/index.html#/login">Owner Log-In</a></li>	<li id="menu-item-199" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-199"><a href="https://www.islandvacationproperties.com/contact-property-management/">Contact Property Management</a></li></ul></li><li id="menu-item-119" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-119"><a href="https://www.islandvacationproperties.com/about-island-vacation-properties/" aria-haspopup="true" aria-expanded="false">About Us</a><ul class="sub-menu">	<li id="menu-item-5207" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5207"><a href="https://www.islandvacationproperties.com/about-island-vacation-properties/">Our Story</a></li>	<li id="menu-item-220" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-220"><a href="https://www.islandvacationproperties.com/meet-our-team/">Meet Our Rentals Team</a></li>	<li id="menu-item-159" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-159"><a href="https://www.islandvacationproperties.com/frequently-asked-questions/">Frequently Asked Questions</a></li>	<li id="menu-item-229" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-229"><a href="https://www.islandvacationproperties.com/driving-directions/">Driving Directions</a></li>	<li id="menu-item-117" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-117"><a href="https://www.islandvacationproperties.com/contact/">Contact Us</a></li></ul></li><li id="menu-item-120" class="last-link menu-item menu-item-type-custom menu-item-object-custom current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-120"><a href="https://www.islandvacationproperties.com/island-blog/" aria-current="page" aria-haspopup="true" aria-expanded="false">Explore AMI</a><ul class="sub-menu">	<li id="menu-item-107" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-107"><a href="https://www.islandvacationproperties.com/about-anna-maria-island/">Anna Maria Island History</a></li>	<li id="menu-item-108" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108"><a href="https://www.islandvacationproperties.com/anna-maria-island-information/">City of Anna Maria</a></li>	<li id="menu-item-122" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-122"><a target="_blank" href="/wp-content/uploads/2019/12/trolley-map.pdf">Free Trolley Map</a></li>	<li id="menu-item-4228" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-556 current_page_item menu-item-4228"><a href="https://www.islandvacationproperties.com/island-blog/" aria-current="page">Our Blog</a></li></ul></li></ul>                                </nav>
359                            </div>
360                        </div>
361                                                                    </div>
362                </header>
363                                    <figure class="hero" role="complementary" aria-label="hero image">
364                        <img width="1920" height="500" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary.jpg" class="banner-image" alt="Island Vacation Properties" decoding="async" srcset="https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary.jpg 1920w, https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary-600x156.jpg 600w, https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary-1200x313.jpg 1200w, https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary-768x200.jpg 768w, https://www.islandvacationproperties.com/wp-content/uploads/2026/08/IVPsecondary-1536x400.jpg 1536w" sizes="(max-width: 1920px) 100v
364w, 1920px" />                    </figure>
365				                    <div class="qswrap classic">
366	<div class="qscenter">
367        <div id="qsformroot">
368            <form id="qsform" @keydown.enter.prevent @submit.prevent role="search" aria-label="Search for available properties using specific search criteria." title="search for vacation rentals">
369                <datepick-inputs
370                    v-on:update-dates="newDates"
371                ></datepick-inputs>
372                <div v-for="(select,index) in searchCriteria.selectBoxes" class="select-wrap" :key="'select-id-'+index">
373                    <div class="select-container">
374                        <label :for="'select-'+index" class="hidden-label">{{select.label}}</label>
375                        <select :id="'select-'+index" v-model="select.selected">
376                            <option value="">{{select.label}}</option>
377                            <option v-for="(option,index) in select.options" :value="option.value" :key="select.input+'-option'+index">{{option.name}}</option>
378                        </select>
379                    </div>
380                </div>
381                <button class="button" @click="performSearch" @keydown.enter="performSearch" key="performSearch" aria-label="Go to the search results for the selected criteria.">Search</button>
382            </form>
383        </div>
384        <div id="property-search-instance">
385    <propertysearch></propertysearch>
386</div>
387
388<template id="rt-searchbox">
389    <div v-click-outside="outsideClick" class="property-searchbox-wrap">
390        <form aria-label="Search for specific properties by filtering as you type.">
391            <div class="input-wrap">
392                <input :value="query"
393                       @input="query = $event.target.value"
394                       @focus="openDropdown()"
395                       @click="openDropdown()"
396                       @enter.prevent="toggleDropdown()"
397                       placeholder="Jump to a Property"
398                       autocomplete="off"
399                       aria-label="If you would like to go to a specific property webpage, type in the first few characters of the property you want to search for, then tab down through a list of matching results and then select the appropriate property link."
400                >
401                <i role="presentation" class="rt-google-icon search"></i>
402            </div>
403            <transition-group v-if="active" name="fade" tag="ul" mode="out-in">
404                <li v-for="(item, index) in computedList"
405                    v-bind:key="item.option"
406                    v-bind:data-index="index"
407                ><a role="link" :href="'https://www.islandvacationproperties.com/vacation-rentals/rental/' + item.propName + '/'" :aria-label="'Go to the webpage for ' + item.option">{{ item.option }}</a></li>
408            </transition-group>
409        </form>
410    </div>
411</template>
412<script>
413    const rtpropsearchbox = {
414        template: '#rt-searchbox',
415        props: {
416        },
417        data: function() {
418            return {
419                active: false,
420                query: '',
421                hasFocus: false,
422                units: [{"unit_id":"2531-250437","prop_name":" The Point at Bermuda Bay Club","prop_number":"2531-250437"},{"unit_id":"2531-241210","prop_name":"1239 Edgewater Circle","prop_number":"2531-241210"},{"unit_id":"2531-207379","prop_name":"A Getaway Retreat A","prop_number":"2531-207379"},{"unit_id":"2531-207381","prop_name":"A Getaway Retreat B","prop_number":"2531-207381"},{"unit_id":"2531-207370","prop_name":"A Getaway Retreat Both Units","prop_number":"2531-207370"},{"unit_id":"2531-174509","prop_name":"A Wright Place","prop_number":"2531-174509"},{"unit_id":"2531-174510","prop_name":"Absolutely Perfect","prop_number":"2531-174510"},{"unit_id":"2531-271103","prop_name":"Anglers Bay at One Particular Harbour 392-103","prop_number":"2531-271103"},{"unit_id":"2531-174455","prop_name":"Anna Cabana Bungalow #1","prop_number":"2531-174455"},{"unit_id":"2531-174456","prop_name":"Anna Cabana Bungalow #2","prop_number":"2531-174456"},{"unit_id":"2531-174457","prop_name":"Anna Cabana Bungalow #3","prop_number":"2531-174457"},{"unit_id":"2531-174458","prop_name":"Anna Cabana Bungalow #4","prop_number":"2531-174458"},{"unit_id":"2531-174514","prop_name":"Anna Maria Beach Place, Unit 3","prop_number":"2531-174514"},{"unit_id":"2531-174516","prop_name":"Anna Maria Beach Place, Unit 5","prop_number":"2531-174516"},{"unit_id":"2531-174517","prop_name":"Anna Maria Beach Place, Unit 6","prop_number":"2531-174517"},{"unit_id":"2531-174519","prop_name":"Annas Cottage","prop_number":"2531-174519"},{"unit_id":"2531-248838","prop_name":"Avenue A Retreat","prop_number":"2531-248838"},{"unit_id":"2531-174522","prop_name":"Bay Watch 6a","prop_number":"2531-174522"},{"unit_id":"2531-256701","prop_name":"Bayview Condo B","prop_number":"2531-256701"},{"unit_id":"2531-234316","prop_name":"Bayview Inn #101","prop_number":"2531-234316"},{"unit_id":"2531-174526","prop_name":"Beach House Resort 10","prop_number":"2531-174526"},{"unit_id":"2531-174528","prop_name":"Beach House Resort 3","prop_number":"2531-174528"},{"unit_id":"2531-174533","prop_name":"Beach House Resort 9","prop_number":"2531-174533"},{"unit_id":"2531-174536","prop_name":"Beachside","prop_number":"2531-174536"},{"unit_id":"2531-274431","prop_name":"Beachview #5","prop_number":"2531-274431"},{"unit_id":"2531-174460","prop_name":"Bliss & Tonic Both","prop_number":"2531-174460"},{"unit_id":"2531-174461","prop_name":"Bliss & Tonic Down","prop_number":"2531-174461"},{"unit_id":"2531-174462","prop_name":"Bliss & Tonic Up","prop_number":"2531-174462"},{"unit_id":"2531-174468","prop_name":"Bollinger Duplex  2 Units ","prop_number":"2531-174468"},{"unit_id":"2531-174469","prop_name":"Bollinger Duplex, A","prop_number":"2531-174469"},{"unit_id":"2531-174470","prop_name":"Bollinger Duplex, B","prop_number":"2531-174470"},{"unit_id":"2531-174540","prop_name":"Bradenton Beach Club D","prop_number":"2531-174540"},{"unit_id":"2531-174541","prop_name":"Breakers 1","prop_number":"2531-174541"},{"unit_id":"2531-174542","prop_name":"Breakers 3","prop_number":"2531-174542"},{"unit_id":"2531-174543","prop_name":"Breakers 4 At Sandcastle #1","prop_number":"2531-174543"},{"unit_id":"2531-174545","prop_name":"Bridgeport Condo 101","prop_number":"2531-174545"},{"unit_id":"2531-174445","prop_name":"Bridgeport Condo 204","prop_number":"2531-174445"},{"unit_id":"2531-174446","prop_name":"Bridgeport Condo 209","prop_number":"2531-174446"},{"unit_id":"2531-174546","prop_name":"Bridgeport Condo 211","prop_number":"2531-174546"},{"unit_id":"2531-284000","prop_name":"Coastal Cottage","prop_number":"2531-284000"},{"unit_id":"2531-174549","prop_name":"Coco Cabana","prop_number":"2531-174549"},{"unit_id":"2531-174550","prop_name":"Coquina Beach Club 101","prop_number":"2531-174550"},{"unit_id":"2531-260960","prop_name":"Coquina Beach Club 102","prop_number":"2531-260960"},{"unit_id":"2531-174552","prop_name":"Coquina Moorings 102","prop_number":"2531-174552"},{"unit_id":"2531-174554","prop_name":"Coquina Moorings 202","prop_number":"2531-174554"},{"unit_id":"2531-260136","prop_name":"Coquina Moorings 203","prop_number":"2531-260136"},{"unit_id":"2531-174555","prop_name":"Coquina Moorings 206","prop_number":"2531-174555"},{"unit_id":"2531-274179","prop_name":"Cove at Sandy Pointe 112","prop_number":"2531-274179"},{"unit_id":"2531-174560","prop_name":"Cove At Sandy Pointe 208","prop_number":"2531-174560"},{"unit_id":"2531-174475","prop_name":"Dolphin Dance Both","prop_number":"2531-174475"},{"unit_id":"2531-174476","prop_name":"Dolphin Dance, North Side","prop_number":"2531-174476"},{"unit_id":"2531-174477","prop_name":"Dolphin Dance, South Side","prop_number":"2531-174477"},{"unit_id":"2531-254395","prop_name":"Escape to Serenity 2 Units ","prop_number":"2531-254395"},{"unit_id":"2531-254393","prop_name":"Escape to Serenity A","prop_number":"2531-254393"},{"unit_id":"2531-254394","prop_name":"Escape to Serenity B","prop_number":"2531-254394"},{"unit_id":"2531-174564","prop_name":"Fountainhead Condo 3","prop_number":"2531-174564"},{"unit_id":"2531-174565","prop_name":"Fountainhead Condo 4","prop_number":"2531-174565"},{"unit_id":"2531-174478","prop_name":"Four Beach Lovers 1","prop_number":"2531-174478"},{"unit_id":"2531-174479","prop_name":"Four Beach Lovers 2","prop_number":"2531-174479"},{"unit_id":"2531-174480","prop_name":"Four Beach Lovers 3","prop_number":"2531-174480"},{"unit_id":"2531-174481","prop_name":"Four Beach Lovers 4","prop_number":"2531-174481"},{"unit_id":"2531-174482","prop_name":"Four Beach Lovers 4 Units ","prop_number":"2531-174482"},{"unit_id":"2531-174568","prop_name":"Franks Beach House","prop_number":"2531-174568"},{"unit_id":"2531-174483","prop_name":"Good Times Both Units","prop_number":"2531-174483"},{"unit_id":"2531-174484","prop_name":"Good Times Downstairs","prop_number":"2531-174484"},{"unit_id":"2531-174485","prop_name":"Good Times Upstairs A","prop_number":"2531-174485"},{"unit_id":"2531-174570","prop_name":"Gulf Sands 201","prop_number":"2531-174570"},{"unit_id":"2531-174575","prop_name":"Island Daze","prop_number":"2531-174575"},{"unit_id":"2531-240263","prop_name":"Island Walk, Cove At Sandy Point 207","prop_number":"2531-240263"},{"unit_id":"2531-213680","prop_name":"La Playita 7","prop_number":"2531-213680"},{"unit_id":"2531-174578","prop_name":"Lakeside Beach House","prop_number":"2531-174578"},{"unit_id":"2531-265790","prop_name":"LaPlage #3","prop_number":"2531-265790"},{"unit_id":"2531-216483","prop_name":"Lazy Livin 6","prop_number":"2531-216483"},{"unit_id":"2531-230130","prop_name":"Made In The Shade 2 Units ","prop_number":"2531-230130"},{"unit_id":"2531-230126","prop_name":"Made In The Shade A","prop_number":"2531-230126"},{"unit_id":"2531-230128","prop_name":"Made In The Shade B","prop_number":"2531-230128"}
422,{"unit_id":"2531-174436","prop_name":"MI Happy Place Sand Castle 1","prop_number":"2531-174436"},{"unit_id":"2531-174437","prop_name":"MI Happy Place Sand Dollar 2","prop_number":"2531-174437"},{"unit_id":"2531-174487","prop_name":"MI Happy Place Sea Horse 3","prop_number":"2531-174487"},{"unit_id":"2531-174488","prop_name":"MI Happy Place Sea Turtle 4","prop_number":"2531-174488"},{"unit_id":"2531-174489","prop_name":"MI Happy Place-4 Units ","prop_number":"2531-174489"},{"unit_id":"2531-174581","prop_name":"Ocean Park Terrace 202","prop_number":"2531-174581"},{"unit_id":"2531-216784","prop_name":"One Particular Harbour  Sound View 379-401","prop_number":"2531-216784"},{"unit_id":"2531-230259","prop_name":"One Particular Harbour 379-101","prop_number":"2531-230259"},{"unit_id":"2531-206954","prop_name":"One Particular Harbour 387-101","prop_number":"2531-206954"},{"unit_id":"2531-206004","prop_name":"One Particular Harbour 391-201","prop_number":"2531-206004"},{"unit_id":"2531-283886","prop_name":"One Particular Harbour 391-203","prop_number":"2531-283886"},{"unit_id":"2531-208713","prop_name":"One Particular Harbour 392-201","prop_number":"2531-208713"},{"unit_id":"2531-265896","prop_name":"One Particular Harbour 395-402","prop_number":"2531-265896"},{"unit_id":"2531-259917","prop_name":"One Particular Harbour 396-303","prop_number":"2531-259917"},{"unit_id":"2531-247410","prop_name":"One Particular Harbour Lagoon view 383-202","prop_number":"2531-247410"},{"unit_id":"2531-198297","prop_name":"One Particular Harbour Lagoon View 395-103","prop_number":"2531-198297"},{"unit_id":"2531-256990","prop_name":"Otter Lagoon at One Particular Harbour  379-103","prop_number":"2531-256990"},{"unit_id":"2531-174584","prop_name":"Palm Cay 3","prop_number":"2531-174584"},{"unit_id":"2531-174585","prop_name":"Palm Cay 4","prop_number":"2531-174585"},{"unit_id":"2531-174586","prop_name":"Palm Cay 5","prop_number":"2531-174586"},{"unit_id":"2531-245092","prop_name":"Palm View Lakehouse","prop_number":"2531-245092"},{"unit_id":"2531-231137","prop_name":"Palma Sola","prop_number":"2531-231137"},{"unit_id":"2531-174490","prop_name":"Peace 'n Paradise","prop_number":"2531-174490"},{"unit_id":"2531-174588","prop_name":"Pelican Cove 15","prop_number":"2531-174588"},{"unit_id":"2531-261257","prop_name":"Pelican Place at The Nautilus","prop_number":"2531-261257"},{"unit_id":"2531-277058","prop_name":"Penthouse View at One Particular Harbour 388-401","prop_number":"2531-277058"},{"unit_id":"2531-237311","prop_name":"Pool Party 2 Units ","prop_number":"2531-237311"},{"unit_id":"2531-237312","prop_name":"Pool Party North","prop_number":"2531-237312"},{"unit_id":"2531-237313","prop_name":"Pool Party South","prop_number":"2531-237313"},{"unit_id":"2531-174592","prop_name":"Runaway Bay 250","prop_number":"2531-174592"},{"unit_id":"2531-174593","prop_name":"Sail Away Cottage","prop_number":"2531-174593"},{"unit_id":"2531-275311","prop_name":"Sand & Sun 2 Units ","prop_number":"2531-275311"},{"unit_id":"2531-275312","prop_name":"Sand & Sun A SIDE","prop_number":"2531-275312"},{"unit_id":"2531-275313","prop_name":"Sand & Sun B SIDE","prop_number":"2531-275313"},{"unit_id":"2531-174595","prop_name":"Sandcastle 3","prop_number":"2531-174595"},{"unit_id":"2531-273507","prop_name":"Sandy Feet Retreat","prop_number":"2531-273507"},{"unit_id":"2531-174596","prop_name":"Sandy Pointe 210","prop_number":"2531-174596"},{"unit_id":"2531-278824","prop_name":"Sapphire Serenity ","prop_number":"2531-278824"},{"unit_id":"2531-174597","prop_name":"Sea Pirate 3","prop_number":"2531-174597"},{"unit_id":"2531-174599","prop_name":"Sea Pirate 7","prop_number":"2531-174599"},{"unit_id":"2531-174600","prop_name":"Sea-Esta","prop_number":"2531-174600"},{"unit_id":"2531-174601","prop_name":"Seabreeze Condo B","prop_number":"2531-174601"},{"unit_id":"2531-174611","prop_name":"Seaside Beach House 101  ","prop_number":"2531-174611"},{"unit_id":"2531-174612","prop_name":"Seaside Beach House 102 ","prop_number":"2531-174612"},{"unit_id":"2531-174613","prop_name":"Seaside Beach House 105 ","prop_number":"2531-174613"},{"unit_id":"2531-174614","prop_name":"Seaside Beach House 201 ","prop_number":"2531-174614"},{"unit_id":"2531-204602","prop_name":"Seaside Beach House 203 ","prop_number":"2531-204602"},{"unit_id":"2531-174615","prop_name":"Seaside Beach House 205 ","prop_number":"2531-174615"},{"unit_id":"2531-174617","prop_name":"Shell Cove 9","prop_number":"2531-174617"},{"unit_id":"2531-174619","prop_name":"Sirena Del Mar","prop_number":"2531-174619"},{"unit_id":"2531-261258","prop_name":"So Beachy Chic","prop_number":"2531-261258"},{"unit_id":"2531-178725","prop_name":"Southern Comfort","prop_number":"2531-178725"},{"unit_id":"2531-174492","prop_name":"SS Salamander 2 Units ","prop_number":"2531-174492"},{"unit_id":"2531-174493","prop_name":"SS Salamander North","prop_number":"2531-174493"},{"unit_id":"2531-174494","prop_name":"SS Salamander South","prop_number":"2531-174494"},{"unit_id":"2531-262804","prop_name":"Sunset FantaSea at One Particular Harbour 380-202","prop_number":"2531-262804"}
422,{"unit_id":"2531-174621","prop_name":"Sunset Terrace 108 ","prop_number":"2531-174621"},{"unit_id":"2531-174623","prop_name":"Sunset Terrace 201","prop_number":"2531-174623"},{"unit_id":"2531-174448","prop_name":"Sunset Villas","prop_number":"2531-174448"},{"unit_id":"2531-257566","prop_name":"SWEPT AWAY B","prop_number":"2531-257566"},{"unit_id":"2531-218299","prop_name":"Swizzle On The Sound","prop_number":"2531-218299"},{"unit_id":"2531-174628","prop_name":"Terrace Condo 1","prop_number":"2531-174628"},{"unit_id":"2531-248621","prop_name":"Terrace Condo 6","prop_number":"2531-248621"},{"unit_id":"2531-235198","prop_name":"The Palms #3","prop_number":"2531-235198"},{"unit_id":"2531-231331","prop_name":"The Palms #4","prop_number":"2531-231331"},{"unit_id":"2531-204768","prop_name":"The Sunset Retreat at One Particular Harbour 384-202","prop_number":"2531-204768"},{"unit_id":"2531-285578","prop_name":"Tides & Turtles","prop_number":"2531-285578"},{"unit_id":"2531-174630","prop_name":"Tiki","prop_number":"2531-174630"},{"unit_id":"2531-277062","prop_name":"Tortuga Cottage","prop_number":"2531-277062"},{"unit_id":"2531-248571","prop_name":"Turquoise Turtle at One Particular Harbour 388-403 ","prop_number":"2531-248571"},{"unit_id":"2531-174500","prop_name":"Valhalla 2 Units ","prop_number":"2531-174500"},{"unit_id":"2531-174499","prop_name":"Valhalla Downstairs","prop_number":"2531-174499"},{"unit_id":"2531-174501","prop_name":"Valhalla Upstairs","prop_number":"2531-174501"},{"unit_id":"2531-174632","prop_name":"Waters Edge 102 N","prop_number":"2531-174632"},{"unit_id":"2531-174633","prop_name":"Waters Edge 106s","prop_number":"2531-174633"},{"unit_id":"2531-174634","prop_name":"Waters Edge 110s","prop_number":"2531-174634"},{"unit_id":"2531-174503","prop_name":"West Bay Cove 131","prop_number":"2531-174503"},{"unit_id":"2531-174640","prop_name":"West Bay Cove 142","prop_number":"2531-174640"},{"unit_id":"2531-278919","prop_name":"West Bay Cove 213","prop_number":"2531-278919"},{"unit_id":"2531-174643","prop_name":"West Bay Cove 216","prop_number":"2531-174643"},{"unit_id":"2531-207705","prop_name":"West Bay Cove 223","prop_number":"2531-207705"},{"unit_id":"2531-174644","prop_name":"West Bay Cove 226","prop_number":"2531-174644"},{"unit_id":"2531-174508","prop_name":"West Bay Cove 231","prop_number":"2531-174508"},{"unit_id":"2531-174505","prop_name":"West Bay Cove 236","prop_number":"2531-174505"},{"unit_id":"2531-174506","prop_name":"West Bay Cove 238","prop_number":"2531-174506"},{"unit_id":"2531-276790","prop_name":"West Bay Cove 242","prop_number":"2531-276790"},{"unit_id":"2531-257568","prop_name":"WHILE AWAY 2 Units ","prop_number":"2531-257568"},{"unit_id":"2531-174645","prop_name":"WHILE AWAY A","prop_number":"2531-174645"}],
423            }
424        },
425        computed: {
426            list: function() {
427                var propsArray = new Array();
428                this.units.forEach(function(prop) {
429                    var propIndex = prop.prop_number.replace(/\s/g,'');
430                    propsArray.push({propName:propIndex, option: prop.prop_name});
431                });
432                return propsArray;
433            },
434            computedList: function () {
435                var vm = this;
436                return this.list.filter(function (item) {
437                    return item.option.toLowerCase().indexOf(vm.query.toLowerCase()) !== -1;
438                })
439            },
440        },
441        methods: {
442            makeSelection: function(option) {
443                this.closeDropdown();
444                this.$emit('smartselect', option.value);
445            },
446            openDropdown: function () {
447                this.active = true;
448            },
449            closeDropdown: function() {
450                this.active = false;
451            },
452            outsideClick: function(e) {
453                // Close the calendar when clicking outside
454                this.closeDropdown();
455            },
456            toggleDropdown: function() {
457                if(this.active) {
458                    this.active = false;
459                } else {
460                    this.active = true;
461                }
462            },
463            toggle: function () {
464                if(this.hasFocus == false) {
465                    this.hasFocus = true;
466                } else {
467                    this.hasFocus = false;
468                }
469
470            },
471            getYpos: function () {
472                var qsForm = this.$refs.quicksearchForm;
473                var qsFormYpos = qsForm.getBoundingClientRect().y;
474                if(qsFormYpos > 425) {
475                    this.popupTopAlign = true;
476                } else {
477                    this.popupTopAlign = false;
478                }
479            }
480        },
481        directives: {
482            'click-outside': {
483                mounted(el, binding, vnode) {
484                    el.clickOutsideEvent = function(event) {
485                        if (!(el === event.target || el.contains(event.target))) {
486                            binding.value(event, el);
487                        }
488                    };
489                    document.body.addEventListener('click', el.clickOutsideEvent);
490                },
491                unmounted(el) {
492                    document.body.removeEventListener('click', el.clickOutsideEvent);
493                }
494            },
495        },
496    };
497    // register the components and mount the app
498    const rtPropSearch = Vue.createApp({});
499    rtPropSearch.component('propertysearch', rtpropsearchbox);
500    rtPropSearch.mount('#property-search-instance');
501</script>
501
502	</div>
503</div>
504
505<template id="general-calendar">
506    <div class="calendar" @mouseleave="leaveCalendar($event)" :class="[{arriveballoon: calendarVisible && !arriveDate && ! departDate},{departballoon: calendarVisible && arriveDate && ! departDate}]">
507        <div class="month-wrap">
508            <div class="header">
509                <i class="arrow rt-google-icon left-chevron" :class="{nonav: (monthIndex <= currentMonth && year == currentYear)}"  @click="movePreviousMonth"></i>
510                <span v-cloak class="title">{{ header.label }}</span>
511                <i class="arrow rt-google-icon right-chevron" :class="{ nonav: year == calEndYear && month >= calEndMonth }"  @click="moveNextMonth"></i>
512            </div>
513            <div class="weekdays">
514                <div v-cloak class="weekday" v-for="weekday in weekdays">
515                    {{ weekday.label_3 }}
516                </div>
517            </div>
518            <div class='week' v-for="(week,index) in weeks" :key="'week'+index"
519                 @touchstart="touchStart($event)"
520                 @touchmove="touchMove($event)"
521                 @touchend="touchEnd($event)">
522                <div class="day-wrap" v-for="day in week" :key="day.dayKeyIndex">
523                    <transition :name="daysSliding" mode="out-in">
524                        <div v-cloak
525                             class="day"
526                             :key="daysSliding"
527                             :class="{ today: day.isToday, booked: day.isBooked, bookstart: day.bookingStart, bookend: day.bookingEnd, unselectable: day.unselectable, unforeseeable: day.unforeseeable, anotherMonthDate: day.dateInAnotherMonth, anotherMonthDateCheckout: day.dateInAnotherMonthCheckout, 'not-in-month': !day.inMonth, 'selected': day.isSelected && !day.dragActive, 'dragged': day.isDragged, 'endpoint': day.startsDrag || day.endsDrag, 'navdate': day.navigateDate }"
528                             @click="selectDay(day)"
529                             @mouseenter="enterDay(day)">
530                            {{ day[dayKey] }}
531                        </div>
532                    </transition>
533                </div>
534            </div>
535        </div>
536        <div class="datepick-footer">
537                        <div v-if="flexButtons && flexButtons.length > 0">
538                <div style="font-size: .85em;">Are your search dates flexible?</div>
539                <div class="flex-button-toolbar">
540                    <button
541                        v-for="button in flexButtons"
542                        @click.prevent="selectFlexButton(button)"
543                        @keydown.enter.prevent="selectFlexButton(button)"
544                        :key="'flexbutton'+button"
545                        class="flex-degree-buttons"
546                        :class="{selectedFlex: button === flexDegree, desktop: button > 2}"
547                        :aria-label="'Search for properties within plus or minus '+button+' days of your search dates.'"
548                        :aria-pressed="button === flexDegree ? true : false"
549                    >&#177;{{button}} day<span v-if="button > 1">s</span>
550                    </button>
551                </div>
552            </div>
553            <transition name="fade">
554                <button id="clear-dates-calendar-button" class="clear-dates" @click.stop="$parent.clearDates" @keyup.enter="$parent.clearDates" @keydown.tab="$parent.closeCalendar()" aria-label="Clear search dates from the calendar.">
555                    <i class="rt-google-icon close-window" role="presentation"></i>
556                    <span>Clear Dates</span>
557                </button>
558            </transition>
559        </div>
560        <div id="general-datepick-nav-message">{{navigationAriaMessage}}</div>
561    </div>
562</template>
563<template id="rt-general-datepick-app">
564    <div id="rt-general-datepick" class="rt-general-datepick">
565        <rt-modal v-if="isMobile && mobileDatesModal" ref="mobilecalmodal" @close-modal="closeCalendar" max-width="500px">
566                        <div id="mobile-calendar-target" class="calendar-container" :class="{calendarvisible: calendarVisible}"></div>
567        </rt-modal>
568        <div class="calendar-container" v-click-outside="outsideClick">
569            <div class="modal-container" >
570                <div class="interface-wrap">
571                    <div class="interface-body">
572                        <div class="interface-inner-wrap">
573                            <div class="input-container date-input google-icon-calendar"
574                                 :class="{inputcoloration: calendarVisible && !arriveDate && !departDate}">
575                                <label for="arriveinput" class="hidden-label">Arrival Date</label>
576                                <input id="arriveinput" ref="arriveinput" type="text" name="arrive_date"
577                                       :value="dateString(arriveDate)"
578                                       @focus="openCalendar()"
579                                       @keyup.enter="!navigateActive ? navigateActive=true : null"
580                                       @keydown.tab.shift.exact="closeCalendar()"
581                                       @keydown.escape="navigateActive=false"
582                                       @keydown.delete="clearDates"
583                                       @keydown.arrow-down.prevent
584                                       @keydown.arrow-up.prevent
585                                       @keydown.page-down.prevent
586                                       @keydown.page-up.prevent
587                                       @click="openCalendar()"
588                                       @keydown.enter.prevent="openCalendar()"
589                                       @keydown="navigationKeyStroke=$event.key"
590                                       placeholder="Arrival"
591                                       aria-describedby="general-datepick-nav-message"
592                                       readonly
593                                />
594                                                            </div>
595                            <div class="input-container date-input google-icon-calendar"
596                                 :class="{inputcoloration: calendarVisible && arriveDate && !departDate}">
597                                <label for="departinput" class="hidden-label">Departure Date</label>
598                                <input id="departinput" ref="departinput" type="text" name="depart_date"
599                                       :value="dateString(departDate)"
600                                       @focus="openCalendar()"
601                                       @keydown.tab="closeCalendar()"
602                                       @keyup.enter="!navigateActive ? navigateActive=true : null"
603                                       @keydown.escape="navigateActive=false"
604                                       @keydown.delete="clearDates"
605                                       @keydown.arrow-down.prevent
606                                       @keydown.arrow-up.prevent
607                                       @keydown.page-down.prevent
608                                       @keydown.page-up.prevent
609                                       @click="openCalendar()"
610                                       @keydown.enter.prevent="openCalendar()"
611                                       @keydown="navigationKeyStroke=$event.key"
612                                       placeholder="Departure"
613                                       aria-describedby="general-datepick-nav-message"
614                                       readonly
615                                />
616                                                            </div>
617                                                        <div id="general-calendar-home" style="display: contents;"></div>
618                            <teleport defer :to="(isMobile && mobileDatesModal) ? '#mobile-calendar-target' : '#general-calendar-home'">
619                                <div v-show="!isMobile || mobileDatesModal" class="calendar-wrap rt-general-datepick">
620                                    <div v-if="mobileDatesModal" class="interface-wrap">
621                                        <div class="interface-body">
622                                            <div class="interface-inner-wrap" style="display: flex;">
623                                                <div class="input-container date-input google-icon-calendar" :class="{inputcoloration: calendarVisible && !arriveDate && !departDate}">
624                                                    <label for="arriveinput" class="hidden-label">Arrival Date</label>
625                                                    <input id="arriveinput" ref="arriveinput" type="text" name="arrive_date"
626                                                           :value="dateString(arriveDate)"
627                                                           @focus="openCalendar()"
628                                                           @keyup.enter="!navigateActive ? navigateActive=true : null"
629                                                           @keydown.tab.shift.exact="closeCalendar(
629)"
630                                                           @keydown.escape="navigateActive=false"
631                                                           @keydown.delete="clearDates"
632                                                           @keydown.arrow-down.prevent
633                                                           @keydown.arrow-up.prevent
634                                                           @keydown.page-down.prevent
635                                                           @keydown.page-up.prevent
636                                                           @click="openCalendar()"
637                                                           @keydown.enter.prevent="openCalendar()"
638                                                           @keydown="navigationKeyStroke=$event.key"
639                                                           placeholder="Arrival"
640                                                           aria-describedby="general-datepick-nav-message"
641                                                           readonly
642                                                    />
643                                                </div>
644                                                <div class="input-container date-input google-icon-calendar"
645                                                     :class="{inputcoloration: calendarVisible && arriveDate && !departDate}">
646                                                    <label for="departinput" class="hidden-label">Departure Date</label>
647                                                    <input id="departinput" ref="departinput" type="text" name="depart_date"
648                                                           :value="dateString(departDate)"
649                                                           @focus="openCalendar()"
650                                                           @keydown.tab="closeCalendar()"
651                                                           @keyup.enter="!navigateActive ? navigateActive=true : null"
652                                                           @keydown.escape="navigateActive=false"
653                                                           @keydown.delete="clearDates"
654                                                           @keydown.arrow-down.prevent
655                                                           @keydown.arrow-up.prevent
656                                                           @keydown.page-down.prevent
657                                                           @keydown.page-up.prevent
658                                                           @click="openCalendar()"
659                                                           @keydown.enter.prevent="openCalendar()"
660                                                           @keydown="navigationKeyStroke=$event.key"
661                                                           placeholder="Departure"
662                                                           aria-describedby="general-datepick-nav-message"
663                                                           readonly
664                                                    />
665                                                </div>
666                                            </div>
667                                        </div>
668                                    </div>
669                                    <div class="calendar-layout" :class="{openAbove: spaceAboveInputs}">
670                                        <general-date-range-picker ref="rtGenDatepicker"
671                                           v-show="calendarVisible"
672                                           v-model="dateSelection"
673                                           :is-mobile="isMobile"
674                                           @drag="dragSelection = $event"
675                                           @emit-keystrokecomplete="navigationKeyStroke = null"
676                                           @emit-newflexdegree="newFlexDegree($event)"
677                                           :calendar-visible="calendarVisible"
678                                           :space-above-inputs="spaceAboveInputs"
679                                           :navigation-mode="navigateActive"
680                                           :key-stroke="navigationKeyStroke">
681                                        </general-date-range-picker>
682                                    </div>
683                                </div>
684                            </teleport>
685                        </div>
686                    </div>
687                </div>
688            </div>
689        </div>
690    </div>
691</template>
692<script>
693        var _daysInMonths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
694    var _weekdayLabels = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
695    var _monthLabels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
696    var _today = new Date();
697    var _todayComps = {
698        year: _today.getFullYear(),
699        month: _today.getMonth() + 1,
700        day: _today.getDate()
701    };
702    var _initialMonth = _todayComps.month;
703    var _initialYear = _todayComps.year;
704    // set the initial month view ahead one month when we're past the 20th of the current month, which mirrors the availability calendar's logic
705    if(_todayComps.day >= 20) {
706        if(_initialMonth !== 12) {
707            _initialMonth++;
708        } else { // special case for December
709            _initialMonth = 1;
710            _initialYear++;
711        }
712    }
713    
714        const generalCalendar = {
715        template: '#general-calendar',
716        data: function data() {
717            return {
718                month: _initialMonth,
719                year: _initialYear,
720                touchState: null,
721                arriveDate: null,
722                arriveMinDays: null,
723                departDate: null,
724                calStartDate: new Date(new Date(new Date().setDate(new Date().getDate() + 1)).setHours(0,0,0,0)),
725                calEndDate: new Date(new Date(new Date().setDate(new Date().getDate() + 425)).setHours(0,0,0,0)),
726                valueIsValid: false,
727                dragRange: null,
728                navigationDate: new Date(new Date(new Date().setDate(new Date().getDate() + 1)).setHours(0,0,0,0)),
729                navigationDateObject: null,
730                daysSliding: null,
731                flexDegree: 0,
732                flexButtons: [1,2,3],
733            };
734        },
735        props: {
736            dayKey: { type: String, default: 'label' },
737            modelValue: { type: Object, default: {} },
738            calendarVisible: { type: Boolean, default: false },
739            spaceAboveInputs: { type: Boolean, default: false },
740            navigationMode: { type: Boolean, default: false },
741            keyStroke: { type: String, default: null },
742        },
743        emits: ['update:modelValue', 'drag', 'emit-newflexdegree', 'emit-keystrokecomplete'],
744        computed: {
745            normalizedValue: function normalizedValue() {
746                return this.normalizeRange(this.modelValue);
747            },
748            normalizedDragRange: function normalizedDragRange() {
749                return this.normalizeRange(this.dragRange);
750            },
751            // Our component exposes month as 1-based, but sometimes we need 0-based
752            monthIndex: function monthIndex() {
753                return this.month - 1;
754            },
755            isLeapYear: function isLeapYear() {
756                return this.year % 4 === 0 && this.year % 100 !== 0 || this.year % 400 === 0;
757            },
758            currentMonth: function currentMonth() {
759                var currentDate = new Date();
760                return currentDate.getMonth();
761            },
762            currentYear: function currentMonth() {
763                var currentDate = new Date();
764                return currentDate.getFullYear();
765            },
766            calEndMonth: function calEndMonth() {
767                return this.calEndDate.getMonth() + 1;
768            },
769            calEndYear: function calEndYear() {
770                return this.calEndDate.getFullYear();
771            },
772            // Day/month/year components for previous month
773            previousMonthComps: function previousMonthComps() {
774                if (this.month === 1) return {
775                    days: _daysInMonths[11],
776                    month: 12,
777                    year: this.year - 1
778                };
779                return {
780                    days: this.month === 3 && this.isLeapYear ? 29 : _daysInMonths[this.month - 2],
781                    month: this.month - 1,
782                    year: this.year
783                };
784            },
785            // Day/month/year components for next month
786            nextMonthComps: function nextMonthComps() {
787                if (this.month === 12) return {
788                    days: _daysInMonths[0],
789                    month: 1,
790                    year: this.year + 1
791                };
792                return {
793                    days: this.month === 2 && this.isLeapYear ? 29 : _daysInMonths[this.month],
794                    month: this.month + 1,
795                    year: this.year
796                };
797            },
798            // State for calendar header (no dependencies yet...)
799            months: function months() {
800                return _monthLabels.map(function (ml, i) {
801                    return {
802                        label: ml,
803                        label_1: ml.substring(0, 1),
804                        label_2: ml.substring(0, 2),
805                        label_3: ml.substring(0, 3),
806                        number: i + 1
807                    };
808                });
809            },
810            // State for weekday header (no dependencies yet...)
811            weekdays: function weekdays() {
812                return _weekdayLabels.map(function (wl, i) {
813                    return {
814                        label: wl,
815                        label_1: wl.substring(0, 1),
816                        label_2: wl.substring(0, 2),
817                        label_3: wl.substring(0, 3),
818                        number: i + 1
819                    };
820                });
821            },
822            // State for calendar header
823            header: function header() {
824                var month = this.months[this.monthIndex];
825                return {
826                    month: month,
827                    year: this.year.toString(),
828                    shortYear: this.year.toString().substring(2, 4),
829                    label: month.label + ' ' + this.year
830                };
831            },
832            // Returns number for first weekday (1-7), starting from Sunday
833            firstWeekdayInMonth: function firstWeekdayInMonth() {
834                return new Date(this.year, this.monthIndex, 1).getDay() + 1;
835            },
836            // Returns number of days in the current month
837            daysInMonth: function daysInMonth() {
838                // Check for February in a leap year
839                if (this.month === 2 && this.isLeapYear) return 29;
840                // ...Just a normal month
841                return _daysInMonths[this.monthIndex];
842            },
843            // Returns number of days in the last month
844            daysInLastMonth: function daysInMonth() {
845                var lastmonth = 0;
846                if(this.monthIndex > 0) {
847                    lastmonth = this.monthIndex - 1;
848                } else {
849                    lastmonth == 11;
850                }
851                // Check for February in a leap year
852                if ((this.month - 1) === 2 && this.isLeapYear) return 29;
853                // ...Just a normal month
854                return _daysInMonths[lastmonth];
855            },
856            weeks: function weeks() {
857                //Create an index key for the days showing
858                var dayIndex = 0;
859                var weeks = [];
860                var previousMonth = true, thisMonth = false, nextMonth = false;
861                var day = this.previousMonthComps.days - this.firstWeekdayInMonth + 2;
862                var month = this.previousMonthComps.month;
863                var year = this.previousMonthComps.year;
864                var lastMonthArray = [];
865                // Cycle through each week of the month, up to 6 total
866                for (var w = 1; w <= 6; w++) {
867                    // Cycle through each weekday
868                    var week = [];
869                    for (var d = 1; d <= 7; d++) {
870                        dayIndex++;
871                        // lets populate last months dates on this months calendar
872                        if (w === 1 && d < this.firstWeekdayInMonth) {
873                            var lastDay = this.daysInLastMonth;
874                            lastMonthArray.push(lastDay);
875                            day = lastDay - (this.firstWeekdayInMonth - (dayIndex + 1));
876                            month = this.previousMonthComps.month;
877                            year = this.previousMonthComps.year;
878                            thisMonth = true;
879                        }
880                        // We need to know when to start counting actual month days
881                        if (previousMonth && d >= this.firstWeekdayInMonth) {
882                            // Reset day/month/year counters
883                            day = 1;
884                            month = this.month;
885                            year = this.year;
886                            // ...and flag we're tracking actual month days
887                            previousMonth = false;
888                            thisMonth = true;
889                        }
890
891                        // Append day info for the current week
892                        // Note: this might or might not be an actual month day
893                        //  We don't know how the UI wants to display various days,
894                        //  so we'll supply all the data we can
895                        var dayInfo = {
896                            dayKeyIndex: dayIndex,
897                            label: (day && thisMonth) ? day.toString() : '',
898                            day: day,
899                            weekday: d,
900                            week: w,
901                            month: month,
902                            year: year,
903                            date: new Date(year, month - 1, day),
904                            beforeMonth: previousMonth,
905                            afterMonth: nextMonth,
906                            inMonth: thisMonth,
907                            isToday: day === _todayComps.day && month 
907=== _todayComps.month && year === _todayComps.year,
908                            isFirstDay: thisMonth && day === 1,
909                            isLastDay: thisMonth && day === this.daysInMonth,
910                            unselectable: false,
911                            unforeseeable: false,
912                            dateInAnotherMonth: false,
913                            dateInAnotherMonthCheckout: false,
914                            navigateDate: false,
915                        };
916                        //Identify calendar start and end
917                        if(this.calStartDate && dayInfo.date < this.calStartDate) {
918                            dayInfo.unforeseeable = true;
919                        } else if(this.calEndDate && dayInfo.date > this.calEndDate) {
920                            dayInfo.unforeseeable = true;
921                        }
922                        //Identify which date is currently navigated to in screen-reader mode
923                        if(this.navigationMode && this.navigationDate) {
924                            var navDate = this.navigationDate.getTime();
925                            var compareToday = dayInfo.date.getTime();
926                            if(navDate === compareToday) {
927                                dayInfo.navigateDate = true;
928                            }
929                        }
930                        /**SECOND RENDER OF DATES AFTER AN ARRIVE DATE IS SELECTED**/
931                        if(this.arriveDate && this.departDate === null) {
932                            var compRoot = this;
933                            //Make all days selectable by default
934                            dayInfo.unselectable = false;
935
936                            //Any date behind the arrive date is unselectable
937                            if(dayInfo.date <= compRoot.arriveDate) {
938                                dayInfo.unselectable = true;
939                            }
940                            // add class for selectable dates in other months to distinguish
941                            if((dayInfo.date > compRoot.arriveDate) && (w >= 5 && (dayInfo.date.getDate() < 20)) || (this.previousMonthComps.month === this.arriveDate.getMonth() + 1)) {
942                                dayInfo.dateInAnotherMonthCheckout = true;
943                            }
944                        /**FIRST RENDER OF DATES WHEN NO ARRIVE DATE IS SELECTED OR BOTH AN ARRIVE AND DEPART ARE SELECTED**/
945                        } else {
946                            if(this.calEndDate && dayInfo.date >= this.calEndDate) {
947                                dayInfo.unselectable = true;
948                            }
949                        } /**END OF EVALUATIONS OF WHETHER DATES HAVE BEEN SELECTED OR NOT**/
950                        this.configureDay(dayInfo);
951                        week.push(dayInfo);
952
953                        // We've hit the last day of the month
954                        // but let's keep adding the first few days of the next month to keep week 6 on the calendar for all months
955                        if (thisMonth && day >= this.daysInMonth) {
956                            day = 1;
957                            month = this.nextMonthComps.month;
958                            year = this.nextMonthComps.year;
959                            // Still in the middle of the month (hasn't ended yet)
960                        } else {
961                            day++;
962                        }
963                        // add class for selectable dates in other months to distinguish
964                        if((w >= 5 && (dayInfo.date.getDate() < 20)) || previousMonth) {
965                            dayInfo.dateInAnotherMonth = true;
966                        }
967                    }
968                    // Append week info for the month
969                    weeks.push(week);
970                }
971                return weeks;
972            },
973            nights: function () {
974                var nights = null;
975                if(this.arriveDate && this.departDate) {
976                    var timeDiff = Math.abs(this.departDate.getTime() - this.arriveDate.getTime());
977                    nights = Math.round(timeDiff / (1000 * 3600 * 24));
978                    return nights;
979                } else if(this.dragRange && this.dragRange.start && this.dragRange.end && this.dragRange.end > this.dragRange.start) {
980                    var timeDiff = Math.abs(this.dragRange.end.getTime() - this.dragRange.start.getTime());
981                    nights = Math.round(timeDiff / (1000 * 3600 * 24));
982                }
983                return nights;
984            },
985            navigationAriaMessage: function () {
986                var ariaMessage = "";
987                var bookedMessage = '';
988                var minDayMessage = '';
989                var selectInstructions = '';
990                if(this.navigationMode && this.navigationDate && this.calendarVisible) { //Message for when keyboard navigation mode is active
991                    ariaMessage = 'You have navigated to ' + this.navigationDate.toDateString() + '. ';
992                    for(var i = 0; i < this.weeks.length; i++) {
993                        var weekArray = this.weeks[i];
994                        var navDateFound = false;
995                        //Loop over every day in the visible month to grab the navigationDateObject
996                        for (var ii = 0; ii < this.weeks[i].length; ii++) {
997                            if (this.weeks[i][ii].date && this.weeks[i][ii].date.getTime() === this.navigationDate.getTime()) {
998                                this.navigationDateObject = this.weeks[i][ii];
999                                break;
1000                            }
1001                        }
1002                    }
1003                    if(this.navigationDateObject) {
1004                        if(this.navigationDateObject.unselectable || this.navigationDateObject.unforeseeable) {
1005                            ariaMessage += 'This date is not available ';
1006                        } else {
1007                            ariaMessage += 'This date is available ';
1008                            selectInstructions = ' Click enter if you want to select this date.';
1009                        }
1010                        //Add the appropriate check-in/check-out substring to the message
1011                        if(this.arriveDate && this.departDate === null) {
1012                            ariaMessage += 'for a departure date.';
1013                        } else {
1014                            ariaMessage += 'for an arrival date.';
1015                            ariaMessage += minDayMessage;
1016                        }
1017                        ariaMessage += selectInstructions;
1018                    }
1019                } else if(this.calendarVisible) { //Default input labels when not in navigation mode
1020                    var inputLabel = 'Select an arrival date and a departure date.';
1021                    var navInstructions = ' If you wish to navigate through the calendar using your keyboard, click the enter key to initiate keyboard calendar navigation. Once keyboard calendar navigation is active, you can use the arrow keys, page up, and page down to navigate through the calendar. Press the delete key to clear your dates. Press the escape key to exit keyboard calendar navigation and return to the main page content.'
1022                    // add navigation verbiage when flex exists
1023                    if(this.flexButtons && this.flexButtons.length > 0) {
1024                        navInstructions += ' If you are flexible with your search dates and wish to 
1024see results for a certain number of adjacent dates, tab to the next set of inputs, then back tab to this arrival date input and follow the screen reader instructions to enter calendar keyboard navigation.';
1025                    }
1026                    if(this.arriveDate) {
1027                        inputLabel += ' The currently selected arrive date is ' + this.arriveDate.toDateString() + '.';
1028                    }
1029                    if(this.departDate) {
1030                        inputLabel += ' The currently selected departure date is ' + this.departDate.toDateString() + '.';
1031                    }
1032                    ariaMessage = inputLabel + navInstructions;
1033                }
1034                return ariaMessage;
1035            }
1036        },
1037        methods: {
1038            configureDay: function configureDay(day) {
1039                var dateTime = day.date.getTime();
1040                var valueRange = this.normalizedValue;
1041                var dragRange = this.normalizedDragRange;
1042                day.isSelected = valueRange && dateTime >= valueRange.startTime && dateTime <= valueRange.endTime;
1043                day.startsSelection = valueRange && dateTime === valueRange.startTime;
1044                day.endsSelection = valueRange && dateTime === valueRange.endTime;
1045                day.dragActive = dragRange; // Just to var day know drag is happening somewhere
1046                day.isDragged = dragRange && dateTime >= dragRange.startTime && dateTime <= dragRange.endTime;
1047                day.startsDrag = dragRange && dateTime === dragRange.startTime;
1048                day.endsDrag = dragRange && dateTime === dragRange.endTime;
1049            },
1050            selectDay: function selectDay(day) {
1051                // Start new drag selection if not dragging
1052                if(day.unselectable || day.unforeseeable) {
1053                    return;
1054                }
1055                if (!this.dragRange) {
1056                    this.dragRange = {
1057                        start: day.date,
1058                        end: day.date
1059                    };
1060                    this.arriveDate = this.dragRange.start;
1061                    if(day.minDays) {
1062                        this.arriveMinDays = day.minDays;
1063                    } else if(day.rateData) {
1064                        this.arriveMinDays = day.rateData.minDays;
1065                    }
1066                    this.departDate = null;
1067                    // Complete drag selection
1068                } else {
1069                    var _normalizedDragRange = this.normalizedDragRange,
1070                        start = _normalizedDragRange.start,
1071                        end = _normalizedDragRange.end;
1072                    // Clear drag selection
1073                    this.departDate = this.dragRange.end;
1074                    this.dragRange = null;
1075                    // Signal new value selected on drag complete
1076                    this.$emit('update:modelValue', { start: start, end: end });
1077                }
1078            },
1079            navSelectDay: function navSelectDay(navDate) {
1080                // Start new drag selection if not dragging
1081                if (!this.dragRange) {
1082                    this.dragRange = {
1083                        start: navDate.date,
1084                        end: navDate.date
1085                    };
1086                    this.arriveDate = this.dragRange.start;
1087                    this.departDate = null;
1088                    // Complete drag selection
1089                } else {
1090                    var _normalizedDragRange = this.normalizedDragRange,
1091                        start = _normalizedDragRange.start,
1092                        end = navDate.date;
1093                    // Clear drag selection
1094                    this.departDate = this.dragRange.end;
1095                    this.dragRange = null;
1096                    // Signal new value selected on drag complete
1097                    this.$emit('update:modelValue', { start: start, end: end });
1098                }
1099            },
1100            enterDay: function enterDay(day) {
1101                if (!this.dragRange) {
1102                    return; //Restrict end of selection to greater than first selection of range
1103                }
1104                // Update drag selection
1105                this.dragRange = {
1106                    start: this.dragRange.start,
1107                    end: day.date
1108                };
1109                if((day.unselectable || day.unforeseeable) && this.dragRange.start && this.dragRange.end) {
1110                    this.dragRange.end = this.dragRange.start;
1111                }
1112            },
1113            leaveCalendar: function leaveCalendar() {
1114                if(this.dragRange && this.dragRange.start && this.dragRange.end) {
1115                    this.dragRange.end = this.dragRange.start;
1116                }
1117            },
1118
1119            // Ranges can privately have end date earlier than start date
1120            // This function will correct the order before exposing it to to other components
1121            normalizeRange: function normalizeRange(range) {
1122                if (!range) return null;
1123                var start = range.start,
1124                    end = range.end;
1125
1126                var startTime = start.getTime();
1127                var endTime = end.getTime();
1128                var isNormal = start < end;
1129                return {
1130                    start: isNormal ? start : end,
1131                    startTime: isNormal ? startTime : endTime,
1132                    end: isNormal ? end : start,
1133                    endTime: isNormal ? endTime : startTime
1134                };
1135            },
1136            moveThisMonth: function moveThisMonth() {
1137                this.month = _todayComps.month;
1138                this.year = _todayComps.year;
1139            },
1140            moveNextMonth: function moveNextMonth() {
1141                this.daysSliding = 'slideleft';
1142                var _nextMonthComps = this.nextMonthComps,
1143                    month = _nextMonthComps.month,
1144                    year = _nextMonthComps.year;
1145
1146                this.month = month;
1147                this.year = year;
1148                //Create a short DOM update delay for allowing day slide to transition
1149                this.$nextTick(
1150                    function() {
1151                        this.daysSliding = null;
1152                    }
1153                );
1154            },
1155            movePreviousMonth: function movePreviousMonth() {
1156                this.daysSliding = 'slideright';
1157                var _previousMonthComps = this.previousMonthComps,
1158                    month = _previousMonthComps.month,
1159                    year = _previousMonthComps.year;
1160
1161                this.month = month;
1162                this.year = year;
1163                //Create a short DOM update delay for allowing day slide to transition
1164                this.$nextTick(
1165                    function() {
1166                        this.daysSliding = null;
1167                    }
1168                );
1169            },
1170            moveNextYear: function moveNextYear() {
1171                this.year++;
1172            },
1173            movePreviousYear: function movePreviousYear() {
1174                this.year--;
1175            },
1176            touchStart: function(e) {
1177                var t = e.changedTouches[0];
1178                this.touchState = {
1179                    active: true,
1180                    startX: t.screenX,
1181                    startY: t.screenY,
1182                    startTime: new Date().getTime(),
1183                    isSwiping: false,
1184                    isMonitoringSwipe: true,
1185                };
1186            },
1187            touchMove: function(e) {
1188                if (!this.touchState.isMonitoringSwipe) {
1189                    if (this.touchState.isSwiping) e.preventDefault();
1190                    return;
1191                }
1192                var deltaTime = new Date().getTime() - this.touchState.startTime;
1193                if (deltaTime <= 5) {
1194                    e.preventDefault();
1195                    return;
1196                }
1197                var t = e.changedTouches[0];
1198                var deltaX = t.screenX - this.touchState.startX;
1199                var deltaY = t.screenY - this.touchState.startY;
1200                if (Math.abs(deltaX) >= Math.abs(deltaY)) {
1201                    this.touchState.isSwiping = true;
1202                    //e.preventDefault();
1203                }
1204                this.touchState.isMonitoringSwipe = false;
1205            },
1206            touchEnd: function(e) {
1207                var t = e.changedTouches[0];
1208                var deltaX = t.screenX - this.touchState.startX;
1209                var deltaY = t.screenY - this.touchState.startY;
1210                var deltaTime = new Date().getTime() - this.touchState.startTime;
1211                if (deltaTime < 300) {
1212                    if (
1213                        Math.abs(deltaX) >= 60 &&
1214                        Math.abs(deltaY) <= 80
1215                    ) {
1216                        // Swipe left
1217                        // Move to next month
1218                        if (deltaX < 0) {
1219                            if (this.year === this.calEndYear) {
1220                                if (this.month < this.calEndMonth) {
1221                                    this.moveNextMonth();
1222                                }
1223                            } else if (this.year < this.calEndYear) {
1224                                this.moveNextMonth();
1225                            }
1226                            // Swipe right
1227                            // Move to previous month
1228                        } else {
1229                            if(this.year === this.currentYear) {
1230                                if(this.monthIndex > this.currentMonth) {
1231                                    this.movePreviousMonth();
1232                                }
1233                            } else if(this.year > this.currentYear) {
1234                                this.movePreviousMonth();
1235                            }
1236                        }
1237                    }
1238                }
1239            },
1240            selectFlexButton: function(flexSelection) {
1241                // if flexSelection is the same as what flexDegree already is, the user is unchecking this button and we set flexDegree to zero
1242                if(this.flexDegree === flexSelection) {
1243                    this.flexDegree = 0;
1244                } else {
1245                    this.flexDegree = flexSelection;
1246                }
1247            },
1248            updateFlexSession: function() {
1249                var siteURL = document.location.origin;
1250                axios.post(siteURL + '/vacation-rentals/router/', {
1251                    call: 'updateFlexSession',
1252                    flexDegree: this.flexDegree
1253                })
1254                    .then(function (response) {
1255                        return;
1256                    })
1257                    .catch(function (error) {
1258                        console.log(error);
1259                    });
1260            },
1261        },
1262        mounted: function() {
1263            //What to do when we land with dates in the session
1264            if(this.modelValue && this.modelValue.start && this.modelValue.end) {
1265                var sessionStart = this.modelValue.start;
1266                var sessionEnd = this.modelValue.end;
1267            }
1268        },
1269        watch: {
1270            normalizedDragRange: function normalizedDragRange(val) {
1271                // Any time drag changes, normalize it and emit 'drag' event
1272                this.$emit('drag', val ? { start: val.start, end: val.end } : null);
1273            },
1274            keyStroke: function () {
1275                var keystroke = this.keyStroke;
1276                var fromNavDate = new Date(this.navigationDate);
1277                var toNavDate = fromNavDate;
1278                //Set the calendar month and year in case we need to change the view
1279                this.month = fromNavDate.getMonth() + 1;
1280                this.year = fromNavDate.getFullYear();
1281                if(this.navigationMode) {
1282                    //If the keystroke is enter to select a day, make sure it's actually selectable
1283                    if(keystroke === 'Enter' && this.navigationDateObject && this.navigationDateObject.unselectable === false && this.navigationDateObject.unforeseeable === false) {
1284                        this.navSelectDay(this.navigationDateObject);
1285                        //Set the focus on the depart input
1286                        document.getElementById('departinput').focus({preventScroll:true});
1287                    } else if(keystroke === 'ArrowRight') {
1288                        toNavDate.setFullYear(fromNavDate.getFullYear());
1289                        toNavDate.setMonth(fromNavDate.getMonth());
1290                        toNavDate.setDate(fromNavDate.getDate() + 1);
1291                        toNavDate.setHours(0,0,0,0);
1292                    } else if(keystroke === 'ArrowLeft') {
1293                        toNavDate.setFullYear(fromNavDate.getFullYear());
1294                        toNavDate.setMonth(fromNavDate.getMonth());
1295                        toNavDate.setDate(fromNavDate.getDate() - 1);
1296                        toNavDate.setHours(0,0,0,0);
1297                    } else if(keystroke === 'ArrowDown') {
1298                        toNavDate.setFullYear(fromNavDate.getFullYear());
1299                        toNavDate.setMonth(fromNavDate.getMonth());
1300                        toNavDate.setDate(fromNavDate.getDate() + 7);
1301                        toNavDate.setHours(0,0,0,0);
1302                    } else if(keystroke === 'ArrowUp') {
1303                        toNavDate.setFullYear(fromNavDate.getFullYear());
1304                        toNavDate.setMonth(fromNavDate.getMonth());
1305                        toNavDate.setDate(fromNavDate.getDate() - 7);
1306                        toNavDate.setHours(0,0,0,0);
1307                    } else if(keystroke === 'PageDown') {
1308                        toNavDate.setDate(1);
1309                        toNavDate.setFullYear(fromNavDate.getFullYear());
1310                        toNavDate.setMonth(fromNavDate.getMonth() + 1);
1311                        toNavDate.setHours(0,0,0,0);
1312                    } else if(keystroke === 'PageUp') {
1313                        toNavDate.setDate(1);
1314                        toNavDate.setFullYear(fromNavDate.getFullYear());
1315                        toNavDate.setMonth(fromNavDate.getMonth() - 1);
1316                        toNavDate.setHours(0,0,0,0);
1317                    }
1318                    //Set the calendar month and year in case we need to change the view
1319                    this.month = toNavDate.getMonth() + 1;
1320                    this.year = toNavDate.getFullYear();
1321                    this.navigationDate = toNavDate;
1322                } else { // events that are available before entering calendar keyboard navigation mode
1323                    if(keystroke === 'Tab') {
1324                        if(this.flexButtons && this.flexButtons.length > 0 && document.getElementsByClassName('flex-degree-buttons')[0] !== undefined) {
1325                            document.getElementsByClassName('flex-degree-buttons')[0].focus({preventScroll:true});
1326                        } else if(document.getElementById('clear-dates-calendar-button') !== undefined) {
1327                            document.getElementById('clear-dates-calendar-button').focus({preventScroll:true});
1328                        } else {
1329                            document.getElementById('departinput').focus({preventScroll:true});
1330                        }
1331                    }
1332                }
1333                //Let the parent instance know the keystroke is finished being evaluated
1334                this.$emit('emit-keystrokecomplete');
1335            },
1336            flexDegree: {
1337                immediate: true,
1338                handler: function () {
1339                    //Let the parent instance know the keystroke is finished being evaluated
1340                    var flexDegree = this.flexDegree;
1341                    this.$emit('emit-newflexdegree', flexDegree);
1342                    this.updateFlexSession();
1343                }
1344            }
1345        },
1346    };
1347        const rtDateInputs = {
1348        template: '#rt-general-datepick-app',
1349        props: [],
1350        emits: ['update-dates', 'emit-newflexdegree'],
1351        data: function() {
1352            return {
1353                dateSelection: null,
1354                dragSelection: null,
1355                calendarVisible: false,
1356                spaceAboveInputs: false, // is there room above inputs to fit the calendar; false by default
1357                mobileInterfaceVisible: false,
1358                mobileDatesModal: false,
1359                navigateActive: false,
1360                navigationKeyStroke: null,
1361                windowWidth: 0,
1362                windowHeight: 0
1363            }
1364        },
1365        computed: {
1366            isMobile: function() {
1367                if(this.windowWidth) {
1368                    if(this.windowWidth <= 640) {
1369                        return true;
1370                    } else {
1371                        return false;
1372                    }
1373                } else {
1374                    return null;
1375                }
1376            },
1377            arriveDate: function () {
1378                if(this.dragSelection == null && this.dateSelection == null) {
1379                    return null;
1380                } else if (this.dragSelection) {
1381                    this.priceQuote = null;
1382                    this.isAvailable = null;
1383                    return this.dragSelection.start;
1384                } else if (this.dragSelection == null && this.dateSelection) {
1385                    return this.dateSelection.start;
1386                } else {
1387                    return null;
1388                }
1389            },
1390            departDate: function () {
1391                if(this.dragSelection == null && this.dateSelection == null) {
1392                    return null;
1393                } else if (this.dragSelection == null && this.dateSelection) {
1394                    return this.dateSelection.end;
1395                } else {
1396                    return null;
1397                }
1398            },
1399            dateSelectionLabel: function dateSelectionLabel() {
1400                return JSON.stringify(this.dateSelection, null, '\t');
1401            },
1402        },
1403        methods: {
1404            clearDates: function () {
1405                //Clear root element values
1406                this.dragSelection = null;
1407                this.dateSelection = null;
1408                //Clear child component values
1409                if(this.$refs.rtGenDatepicker) {
1410                    this.$refs.rtGenDatepicker.dragRange = null;
1411                    this.$refs.rtGenDatepicker.arriveDate = null;
1412                    this.$refs.rtGenDatepicker.arriveMinDays = null;
1413                    this.$refs.rtGenDatepicker.departDate = null;
1414                }
1415                this.openCalendar();
1416                //emit the dates to the parent component
1417                this.$emit('update-dates', {'arrive': this.arriveDate, 'depart': this.departDate});
1418            },
1419            dateString: function dateString(MyDate) {
1420                if(MyDate) {
1421                    return ('0' + (MyDate.getMonth()+1)).slice(-2) + '/'
1422                        + ('0' + MyDate.getDate()).slice(-2) + '/'
1423                        + MyDate.getFullYear();
1424                }
1425            },
1426            getWindowWidth: function(event) {
1427                this.windowWidth = document.documentElement.clientWidth;
1428            },
1429            getWindowHeight: function(event) {
1430                this.windowHeight = document.documentElement.clientHeight;
1431            },
1432            activateModal: function () {
1433                this.mobileInterfaceVisible = true;
1434                this.clearDates();
1435            },
1436            openCalendar: function () {
1437                this.calendarVisible = true;
1438                if (this.isMobile) {
1439                    this.mobileDatesModal = true;
1440                }
1441                if(document.getElementById('rt-general-datepick').getBoundingClientRect().top > 500) {
1442                    this.spaceAboveInputs = true;
1443                }
1444            },
1445            closeCalendar: function () {
1446                this.spaceAboveInputs = false;
1447                this.mobileDatesModal = false; // Close the modal
1448                this.calendarVisible = false;
1449            },
1450            outsideClick: function(e) {
1451                // If the mobile modal is active, let rt-modal handle its own closing
1452                if (this.mobileDatesModal) {
1453                    return;
1454                }
1455                // Close the calendar when clicking outside
1456                this.closeCalendar();
1457            },
1458            newFlexDegree: function (flexDegree) {
1459                this.$emit('emit-newflexdegree', flexDegree);
1460            },
1461        },
1462        directives: {
1463            'click-outside': {
1464                mounted(el, binding, vnode) {
1465                    el.clickOutsideEvent = function(event) {
1466                        if (!(el === event.target || el.contains(event.target))) {
1467                            binding.value(event, el);
1468                        }
1469                    };
1470                    document.body.addEventListener('click', el.clickOutsideEvent);
1471                },
1472                unmounted(el) {
1473                    document.body.removeEventListener('click', el.clickOutsideEvent);
1474                }
1475            },
1476        },
1477        watch: {
1478            selectMode: function selectMode() {
1479                this.dateSelection = null;
1480            },
1481            //Whenever a depart date is defined, run the price call
1482            departDate: function() {
1483                if(this.arriveDate && this.departDate) {
1484                    //emit the dates to the parent component
1485                    this.$emit('update-dates', {'arrive': this.arriveDate, 'depart': this.departDate});
1486                    // Automatically close the calendar
1487                    this.closeCalendar();
1488                }
1489            }
1490        },
1491        mounted: function() {
1492            if(this.arriveDate && this.departDate) {
1493                this.$refs.rtGenDatepicker.month = this.arriveDate.getMonth() +1;
1494                this.$refs.rtGenDatepicker.year = this.arriveDate.getFullYear();
1495                this.$emit('update-dates', {'arrive': this.arriveDate, 'depart': this.departDate});
1496            }
1497            // Add a window-resize event listener
1498            this.$nextTick(function() {
1499                window.addEventListener('resize', this.getWindowWidth);
1500                window.addEventListener('resize', this.getWindowHeight);
1501
1502                //Init
1503                this.getWindowWidth();
1504                this.getWindowHeight();
1505            });
1506        },
1507        beforeDestroy: function() {
1508            window.removeEventListener('resize', this.getWindowWidth);
1509            window.removeEventListener('resize', this.getWindowHeight);
1510        },
1511    };
1512</script>
1512<template id="rt-modal">
1513    <Teleport to="body">
1514        <div class="rt-modal popover-mask">
1515            <div class="popover-wrapper">
1516                <div class="popover" :style="{maxWidth: maxWidth}">
1517                    <button class="popover-close" @click.prevent="$emit('close-modal')" @keydown.enter.prevent="$emit('close-modal')" aria-label="Close the popup window"><i role="presentation" class="rt-google-icon close-window filled-symbol"></i></button>
1518                    <span class="sr-only" role="alert" aria-label="You have opened a modal window. You can press the escape key at any time to close this modal window."></span>
1519                    <slot/>
1520                </div>
1521            </div>
1522        </div>
1523    </Teleport>
1524</template>
1525<script>
1526    const rtModal = {
1527        template: '#rt-modal',
1528        props: {
1529            maxWidth: {
1530                type: String,
1531                default: '700px'
1532            },
1533        },
1534        emits: ['close-modal'],
1535        methods: {
1536            resizeModal: function () {
1537                if(document.getElementsByClassName('popover-mask')[0] !== undefined) {
1538                    document.getElementsByClassName('popover-mask')[0].style.height = "100vh";
1539                    document.getElementsByClassName('popover-mask')[0].style.width = "100%";
1540                }
1541            },
1542            escapeClose: function (event) {
1543                if(event.key === 'Escape') {
1544                    this.$emit('close-modal');
1545                }
1546            }
1547        },
1548        mounted: function () {
1549            // add window resize event to deal with screen rotation, and the shrinking address bar on iOS
1550            window.addEventListener('resize', this.resizeModal);
1551            // add escape key listener
1552            document.addEventListener('keyup', this.escapeClose)
1553        },
1554        unmounted: function () {
1555            // remove escape key listener
1556            document.removeEventListener('keyup', this.escapeClose);
1557        },
1558        beforeDestroy: function () {
1559            window.removeEventListener('resize', this.resizeModal);
1560        },
1561    };
1562</script>
1562<script>
1563    const rtQuickSearch = Vue.createApp({
1564        data() {
1565            return {
1566                searchCriteria: {
1567                    arriveDate: null,
1568                    departDate: null,
1569                    selectBoxes: [],
1570                },
1571                windowWidth: 0
1572            }
1573        },
1574        computed: {
1575            urlQuerystring: function () {
1576                var queryString = '?searchform=1';
1577                // Build up the dates part of the URL string
1578                if(this.searchCriteria.arriveDate && this.searchCriteria.departDate) {
1579                    var datesString = '';
1580                    var arriveString = '';
1581                    var departString = '';
1582                    var arriveMonth = this.searchCriteria.arriveDate.getMonth() +1;
1583                    var arriveDay = this.searchCriteria.arriveDate.getDate();
1584                    var arriveYear = this.searchCriteria.arriveDate.getFullYear();
1585                    arriveString = arriveMonth + '/' + arriveDay + '/' + arriveYear;
1586                    var departMonth = this.searchCriteria.departDate.getMonth() +1;
1587                    var departDay = this.searchCriteria.departDate.getDate();
1588                    var departYear = this.searchCriteria.departDate.getFullYear();
1589                    departString = departMonth + '/' + departDay + '/' + departYear;
1590                    datesString = '&arrive_date=' + arriveString + '&depart_date=' + departString;
1591                    queryString += datesString;
1592                }
1593                // Loop over every other defined option
1594                for(var i = 0; i < this.searchCriteria.selectBoxes.length; i++) {
1595                    var optionString = '';
1596                    if(this.searchCriteria.selectBoxes[i].selected) {
1597                        optionString = '&' + this.searchCriteria.selectBoxes[i].label + '=' + this.searchCriteria.selectBoxes[i].selected;
1598                        queryString += optionString;
1599                    }
1600                }
1601                return encodeURI(queryString).replace(/[\/]/g, '%2F');
1602            }
1603        },
1604        methods: {
1605            newDates: function (dates) {
1606                this.searchCriteria.arriveDate = dates.arrive;
1607                this.searchCriteria.departDate = dates.depart;
1608            },
1609            performSearch: function () {
1610                window.location.href = 'https://www.islandvacationproperties.com/vacation-rentals' + '/results/' + this.urlQuerystring;
1611            },
1612            getWindowWidth: function(event) {
1613                this.windowWidth = window.innerWidth;
1614            },
1615        },
1616        mounted: function() {
1617            // Add a window-resize event listener
1618            window.addEventListener('resize', this.getWindowWidth);
1619            this.getWindowWidth();
1620        },
1621        beforeDestroy: function() {
1622            window.removeEventListener('resize', this.getWindowWidth);
1623        },
1624    });
1625    // register the components and mount the app
1626    rtQuickSearch.component('general-date-range-picker', generalCalendar);
1627    rtQuickSearch.component('datepick-inputs', rtDateInputs);
1628    rtQuickSearch.component('rt-modal', rtModal);
1629    rtQuickSearch.mount('#qsformroot');
1630</script>
1630
1631            </div>
1632
1633<script>
1634    jQuery(".menu-item-has-children a").focus(function(){
1635        jQuery(this).next(".sub-menu").addClass("focusSubmenu");
1636        jQuery(this).closest('ul').find('li.menu-item-has-children > a').attr('aria-expanded', function (i, attr) {
1637            return attr == 'true' ? 'false' : 'true'
1638        });
1639    });
1640    jQuery("ul li:last-of-type").focusout(function(){
1641        jQuery(this).closest(".sub-menu").removeClass("focusSubmenu");
1642        jQuery(this).closest('.nav').find('li.menu-item-has-children > a').attr('aria-expanded', function (i, attr) {
1643            return attr == 'false' ? 'true' : 'false'
1644        });
1645    });
1646</script>
1646	<div class="content">
1647		<div class="content-full contained">
1648		            <main role="main" aria-label="main content" id="post-556">
1649                                    <div role="complementary" class="content-full">
1650                                                    <h1 class="page-title">Island Blog</h1>
1651                                                                        </div>
1652                                <article class="entry">
1653                    
1654<div role="region" aria-label="Shortcut Block Quick Links" class="home-cuts flex-wrapper mosaic classic">
1655    <div class="flex-container"
1656        >
1657                    <div role="group" aria-labelledby="Activities" class="flex-item shortcutbox has-medium-font-size" style="">
1658                <a class="hover-1"                    style="
1659        background-image: url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities-1200x730.jpg&#039;);
1660        background-image: -webkit-image-set(
1661            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities-1200x730.jpg&#039;) 1x,
1662            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities.jpg&#039;) 2x
1663        );
1664        background-image: image-set(
1665            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities-1200x730.jpg&#039;) 1x,
1666            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Activities.jpg&#039;) 2x
1667        );"                role="link"
1668                target="_blank" rel="noopener noreferrer"                href="https://www.islandvacationproperties.com/category/activities/">
1669                <span class="sr-only">Activities</span>
1670                </a>
1671                <div style="background-color:rgba(0,0,0,0);; font-weight:400; ; color:#fff" class= "box-title hover-1">
1672                    <h2 id="Activities">Activities</h2>                </div>
1673            </div>
1674                    <div role="group" aria-labelledby="Attractions" class="flex-item shortcutbox has-medium-font-size" style="">
1675                <a class="hover-1"                    style="
1676        background-image: url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Attractions-1200x800.jpg&#039;);
1677        background-image: -webkit-image-set(
1678            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Attractions-1200x800.jpg&#039;) 1x,
1679            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Attractions.jpg&#039;) 2x
1680        );
1681        background-image: image-set(
1682            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Attractions-1200x800.jpg&#039;) 1x,
1683            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Attractions.jpg&#039;) 2x
1684        );"                role="link"
1685                target="_blank" rel="noopener noreferrer"                href="https://www.islandvacationproperties.com/category/attractions/">
1686                <span class="sr-only">Attractions</span>
1687                </a>
1688                <div style="background-color:rgba(0,0,0,0);; font-weight:400; ; color:#fff" class= "box-title hover-1">
1689                    <h2 id="Attractions">Attractions</h2>                </div>
1690            </div>
1691                    <div role="group" aria-labelledby="BeachLife" class="flex-item shortcutbox has-medium-font-size" style="">
1692                <a class="hover-1"                    style="
1693        background-image: url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Beach-Life-IVP-1200x800.jpg&#039;);
1694        background-image: -webkit-image-set(
1695            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Beach-Life-IVP-1200x800.jpg&#039;) 1x,
1696            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Beach-Life-IVP.jpg&#039;) 2x
1697        );
1698        background-image: image-set(
1699            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Beach-Life-IVP-1200x800.jpg&#039;) 1x,
1700            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Beach-Life-IVP.jpg&#039;) 2x
1701        );"                role="link"
1702                target="_blank" rel="noopener noreferrer"                href="https://www.islandvacationproperties.com/category/beach-life/">
1703                <span class="sr-only">Beach Life</span>
1704                </a>
1705                <div style="background-color:rgba(0,0,0,0);; font-weight:400; ; color:#fff" class= "box-title hover-1">
1706                    <h2 id="BeachLife">Beach Life</h2>                </div>
1707            </div>
1708                    <div role="group" aria-labelledby="Dining" class="flex-item shortcutbox has-medium-font-size" style="grid-column: span 3;">
1709                <a class="hover-1"                    style="
1710        background-image: url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Dining-1200x800.jpg&#039;);
1711        background-image: -webkit-image-set(
1712            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Dining-1200x800.jpg&#039;) 1x,
1713            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Dining.jpg&#039;) 2x
1714        );
1715        background-image: image-set(
1716            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Dining-1200x800.jpg&#039;) 1x,
1717            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/IVP-Dining.jpg&#039;) 2x
1718        );"                role="link"
1719                target="_blank" rel="noopener noreferrer"                href="https://www.islandvacationproperties.com/category/dining/">
1720                <span class="sr-only">Dining</span>
1721                </a>
1722                <div style="background-color:rgba(0,0,0,0);; font-weight:400; ; color:#fff" class= "box-title hover-1">
1723                    <h2 id="Dining">Dining</h2>                </div>
1724            </div>
1725                    <div role="group" aria-labelledby="Events" class="flex-item shortcutbox has-medium-font-size" style="grid-column: span 3; grid-row:3;grid-column: span 3; grid-row:3;">
1726                <a class="hover-1"                    style="
1727        background-image: url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Events-IVP-1200x800.jpg&#039;);
1728        background-image: -webkit-image-set(
1729            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Events-IVP-1200x800.jpg&#039;) 1x,
1730            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Events-IVP.jpg&#039;) 2x
1731        );
1732        background-image: image-set(
1733            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Events-IVP-1200x800.jpg&#039;) 1x,
1734            url(&#039;https://www.islandvacationproperties.com/wp-content/uploads/2024/07/Events-IVP.jpg&#039;) 2x
1735        );"                role="link"
1736                target="_blank" rel="noopener noreferrer"                href="https://www.islandvacationproperties.com/category/events/">
1737                <span class="sr-only">Events</span>
1738                </a>
1739                <div style="background-color:rgba(0,0,0,0);; font-weight:400; ; color:#fff" class= "box-title hover-1">
1740                    <h2 id="Events">Events</h2>                </div>
1741            </div>
1742            </div>
1743</div>
1744
1745
1746    <div class="flex-container logo-bar" class="align wp-block-acf-logobar" style="background:#ffffff;">
1747        <div class="logo-bar-logos contained">
1748            <img decoding="async" width="226" height="91" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/09/logo-VRMA.jpg" class="attachment-small size-small" alt="logo-VRMA" /><img loading="lazy" decoding="async" width="250" height="107" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/09/logo-ManateeChamber.jpg" class="attachment-small size-small" alt="logo-ManateeChamber" /><img loading="lazy" decoding="async" width="500" height="500" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/09/chamber.jpg" class="attachment-small size-small" alt="chamber" srcset="https://www.islandvacationproperties.com/wp-content/uploads/2026/09/chamber.jpg 500w, https://www.islandvacationproperties.com/wp-content/uploads/2026/09/chamber-300x300.jpg 300w" sizes="auto, (max-width: 500px) 100v
1748w, 500px" />        </div>
1749    </div>
1750                    </article>
1751                <div class="clear"></div>
1752            </main>
1753				</div>
1754	</div>
1755            <section aria-label="content above footer" role="complementary" class="ft-top white-text"><div class="above-footer-grid contained"><div class="above-footer-column"><div class="above-footer-block footer-block--logo"><img width="296" height="146" src="https://www.islandvacationproperties.com/wp-content/uploads/2026/09/whitelogo.png" class="rtfooterlogo" alt="Island Vacation Properties Logo" style="max-width:210px;" decoding="async" loading="lazy" /></div><div class="above-footer-block footer-block--contact"><div><strong>Island Vacation Properties</strong><br>3001 Gulf Drive<br />Holmes Beach, FL 34217<br><br><a href="tel:(941) 7781000">(941) 778-1000</a></div></div><div class="above-footer-block footer-block--social"><div class="above-footer-social-grid"><a href="https://www.facebook.com/islandvacationproperties/" target="_blank" rel="noopener" aria-label="opens in new window" title="Follow us on Facebook"><i role="presentation" class="rt-icon icon-facebook"></i></a></div></div></div><div class="above-footer-column"><div class="above-footer-block footer-block--menu"><div class="ft-column-title" role="heading" aria-level="4">Rental Links</div><div class="menu-footer-l-container"><ul id="menu-footer-l" class="menu"><li id="menu-item-139" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-139"><a href="https://www.islandvacationproperties.com/pool-properties/">Rentals With Pool</a></li><li id="menu-item-140" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-140"><a href="https://www.islandvacationproperties.com/long-weekend-rentals/">Weekend Vacation Rentals</a></li><li id="menu-item-158" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-158"><a href="https://www.islandvacationproperties.com/frequently-asked-questions/">FAQ</a></li><li id="menu-item-165" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-165"><a href="https://www.generalitravelinsurance.com/customer/coronavirus">Travel Insurance</a></li><li id="menu-item-5863" class="menu-item menu-item-type-post_type menu-item-object-rtc menu-item-5863"><a href="https://www.islandvacationproperties.com/vacation-rentals/terms-conditions/">Terms &#038; Conditions</a></li><li id="menu-item-5204" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-5204"><a rel="privacy-policy" href="https://www.islandvacationproperties.com/privacy-policy/">Privacy Policy</a></li></ul></div></div></div><div class="above-footer-column"><div class="above-footer-block footer-block--menu"><div class="ft-column-title" role="heading" aria-level="4">Other Links</div><div class="menu-footer-r-container"><ul id="menu-footer-r" class="menu"><li id="menu-item-142" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142"><a href="https://islandvacationproperties.idxbroker.com/idx/search/advanced">MLS Search</a></li><li id="menu-item-143" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-143"><a href="https://islandvacationproperties.idxbroker.com/idx/featured">Our Listings</a></li><li id="menu-item-144" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-144"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-buyer-resources/">Home Buying Tips</a></li><li id="menu-item-145" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-145"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-seller-resources/">Home Selling Tips</a></li><li id="menu-item-149" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-149"><a href="https://islandvacationproperties.idxbroker.com/idx/mortgage">Mortgage Calculator</a></li><li id="menu-item-228" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-228"><a href="https://www.islandvacationproperties.com/meet-our-sales-agents/">Meet Our Sales Agents</a></li></ul></div></div></div><div class="above-footer-column"><div class="above-footer-block footer-block--gravity-form"><div class="ft-column-title" role="heading" aria-level="4">Sign Up For Our Newsletter</div><div style="flex: 1 1 auto;"><div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_3' ><div id='gf_3' class='gform_anchor' tabindex='-1'></div><div class='gform_heading'><p class='gform_description'>Stay in the know. Get exclusive offers straight to your inbox:</p></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_3' id='gform_3'action='/island-blog/#gf_3' data-formid='3' novalidate><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeDap0tAAAAAH8QvJNFDOpBZOagZYajMX8m-Iiv' data-tabindex='0'><input id="input_758befbaf0db4f55f79edb12dec25966" class="gfield_recaptcha_response" type="hidden" name="input_758befbaf0db4f55f79edb12dec25966" value=""/></div><div class='gform-body gform_body'><ul id='gform_fields_3' class='gform_fields top_label form_sublabel_below description_below validation_below'><li id="field_3_4" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"><label class='gfield_label gform-field-label' for='input_3_4'><span class='gform-field-label__text'>Name</span></label><div class='ginput_container'><input name='input_4' id='input_3_4' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_3_4'>This field is for validation purposes and should be left unchanged.</div></li>
1755<li id="field_3_1" class="gfield gfield--type-email gfield--input-type-email newsletter-form-field gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible"><label class='gfield_label gform-field-label' for='input_3_1'><span class='gform-field-label__text'>Email</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'><input name='input_1' id='input_3_1' type='email' value='' class='large' placeholder='Your Email Address' aria-required="true" aria-invalid="false"/></div></li><li id="field_3_3" class="gfield gfield--type-name gfield--input-type-name gfield--width-full gfield_contains_required field_sublabel_hidden_label gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible"><label class='gfield_label gform-field-label gfield_label_before_complex' ><span class='gform-field-label__text'>Name</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name gform-grid-row' id='input_3_3'><span id='input_3_3_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' ><input type='text' name='input_3.3' id='input_3_3_3' value='' aria-required='true' placeholder='Your Name'/><label for='input_3_3_3' class='gform-field-label gform-field-label--type-sub hidden_sub_label screen-reader-text'>First</label></span></div></li></ul></div><div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_3' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Yes, Sign Me Up!</button> <input type='hidden' name='gform_ajax' value='form_id=3&amp;title=&amp;description=1&amp;tabindex=0&amp;theme=legacy&amp;hash=d7aac58212932cf536521f9aa25fc1ec' /><input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_3' value='iframe' /><input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_3' id='gform_theme_3' value='legacy' /><input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_3' id='gform_style_settings_3' value='' /><input type='hidden' class='gform_hidden' name='is_submit_3' value='1' /><input type='hidden' class='gform_hidden' name='gform_submit' value='3' /><input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='1lug11F/Mk+r/h/2PyxVWWzvWYzQkfocMfsaCDKTa+Nxu3yiLsep8Nc3rk464OWiBAoGW+JIUYDYLfJl5i8VNwiYhTb/0fR2wmdfQHWPgaSUqRo=' /><input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /><input type='hidden' class='gform_hidden' name='state_3' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjcxOTc2NzZjMzA4OWIyZjdlMTY0ZWRkMTJlZTY1ZmU1XCIsXCI0N2ExNDZlMGNiZDlhZWE4NjlhNGFjOGU2ZDgxMTIxYlwiLFwiMWEzY2I0YjUwYTNlNDVhOWQ2ZjI0NTUwZDllNWEzOTZcIl0sXCJnZm9ybV90aGVtZVwiOlwiYTIwNjE3MzljOTZiZDdjYjNmMTM3OWY3MTk1OTcxZjhcIixcImdmb3JtX3N0eWxlX3NldHRpbmdzXCI6XCI4NTU1NWEwODIwNzY2OTgyNWEzMzlhNTMzYzkwNjAxNFwiLFwiZm9ybV9pZFwiOlwiNDI2YWY2ZWJjYzRmODYxMGM4NGYyNzhjZjFlMWUwODNcIixcInVybFwiOlwiOTgyMDg5ZmM2YTQxMWM0MDA5OTAzYTExNmM4YTZkYzZcIixcInN0YXRlX3RpbWVzdGFtcFwiOlwiN2ZjYzgyNmUxMDRjYmViNzcxYjg2Nzk3MGJmZTU0ZmFcIn0iLCJmZTQxNzlmMmNlYWUzZWQzOGU3ODE4NzQ5N2FlZDQyMyIsMTc5MTQ1NjkwN10=' /><input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_3' id='gform_target_page_number_3' value='0' /><input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_3' id='gform_source_page_number_3' value='1' /><input type='hidden' name='gform_field_values' value='' /></div><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="184"/>
1755<script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script>
1755</p></form></div><iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_3' id='gform_ajax_frame_3' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe>
1755<script>gform.initializeOnLoaded( function() {jQuery('#gform_ajax_frame_3').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_3');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_3').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_3').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_3').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_3').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_3').offset().top - mt); }, 50 );var current_page = jQuery('#gform_source_page_number_3').val();jQuery(document).trigger('gform_page_loaded', [3, current_page]);window['gf_submitting_3'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_3').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_3').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [3]);window['gf_submitting_3'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_3').text());}else{jQuery('#gform_3').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "3", currentPage: "current_page", abort: function() { this.preventDefault(); } }]);if (event && event.defaultPrevented) {return;}const gformWrapperDiv = document.getElementById( "gform_wrapper_3" );if ( gformWrapperDiv ) {const visibilitySpan = document.createElement( "span" );visibilitySpan.id = "gform_visibility_test_3";gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );}const visibilityTestDiv = document.getElementById( "gform_visibility_test_3" );let postRenderFired = false;function triggerPostRender() {if ( postRenderFired ) {return;}postRenderFired = true;gform.core.triggerPostRenderEvents( 3, current_page );if ( visibilityTestDiv ) {visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );}}function debounce( func, wait, immediate ) {var timeout;return function() {var context = this, args = arguments;var later = function() {timeout = null;if ( !immediate ) func.apply( context, args );};var callNow = immediate && !timeout;clearTimeout( timeout );timeout = setTimeout( later, wait );if ( callNow ) func.apply( context, args );};}const debouncedTriggerPostRender = debounce( function() {triggerPostRender();}, 200 );if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {const observer = new MutationObserver( ( mutations ) => {mutations.forEach( ( mutation ) => {if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {debouncedTriggerPostRender();observer.disconnect();}});});observer.observe( document.body, {attributes: true,childList: false,subtree: true,attributeFilter: [ 'style', 'class' ],});} else {triggerPostRender();}} );} );</script>
1755</div></div></div></div></section>            <footer aria-label="footer" role="contentinfo" class="footer-wrap white-text">
1756                <div class="footer contained">
1757                    <div class="footerleft">&copy; Copyright 2026  Island Vacation Properties  | <i>Anna Maria Island Vacation Rentals</i>                     <br><a href="https://www.islandvacationproperties.com/website-accessibility-policy/">Website Accessibility Policy</a> | <a href="https://www.islandvacationproperties.com/privacy-policy/">Privacy Policy</a>
1758                    </div>
1759                    <div class="footerright"><a href="//www.realtechvr.com" target="_blank" rel="nofollow noopener noreferrer" aria-label="opens in new window" title="Link for RealTech Webmasters"><i class="rt-icon icon-rt-circle-icon" aria-hidden="true"></i>Website Powered by RealTech Direct</a><br>
1760                        This site is protected by reCAPTCHA and the Google
1761                        <a href="https://policies.google.com/privacy">Privacy Policy</a> and
1762                        <a href="https://policies.google.com/terms">Terms of Service</a> apply.
1763                    </div>
1764                    <div style="clear:both;"></div>
1765                                            <div class="footer-yapstone yapstone-terms">Powered by Yapstone Inc. | For disclosures and information about consumer complaints regarding your payments, please see: <a href="https://www.yapstone.com/legal-licenses/" target="_blank" rel="nofollow">https://www.yapstone.com/legal-licenses/</a></div>
1766                                    </div>
1767                
1767<script src="https://cdn.userway.org/widget.js" data-account="WjewwfEzKf"></script>
1767            </footer>
1768        </div><!-- end .site-wrap -->
1769    </div> <!-- end content wrap -->
1770
1771    <div class="navclass nav">
1772        <nav aria-label="Mobile Navigation" id="c-menu--push-left" class="c-menu c-menu--push-left">
1773            <button class="c-menu__close">&larr; Close Menu</button>
1774            <div id="nav-acc" class="menu-main-nav-container"><ul id="menu-main-nav-1" class="c-menu__items white-text"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-110"><a href="https://www.islandvacationproperties.com/vacation-rentals/results/?viewall" aria-haspopup="true" aria-expanded="false">Vacation Rentals</a><ul class="sub-menu">	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5865"><a href="https://www.islandvacationproperties.com/vacation-rentals/results/?viewall">View All Rentals</a></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-162"><a aria-haspopup="true" aria-expanded="false">Rentals By Amenity</a>	<ul class="sub-menu">		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-691"><a href="https://www.islandvacationproperties.com/beachfront-rentals/">Beachfront</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-163"><a href="https://www.islandvacationproperties.com/pool-properties/">Rentals With Pool</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-189"><a href="https://www.islandvacationproperties.com/pet-friendly-rentals/">Pet Friendly</a></li>	</ul></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-183"><a aria-haspopup="true" aria-expanded="false">Rentals By Community</a>	<ul class="sub-menu">		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-186"><a href="https://www.islandvacationproperties.com/anna-maria-rentals/">City of Anna Maria</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-188"><a href="https://www.islandvacationproperties.com/holmes-beach-rentals/">Holmes Beach</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-187"><a href="https://www.islandvacationproperties.com/bradenton-beach-rentals/">Bradenton Beach</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-184"><a href="https://www.islandvacationproperties.com/main-land-rentals/">Mainland</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1179"><a href="https://www.islandvacationproperties.com/one-particular-harbour-rentals/">One Particular Harbour</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-295"><a href="https://www.islandvacationproperties.com/rentals-by-area/">All Rentals By Area</a></li>	</ul></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1672"><a aria-haspopup="true" aria-expanded="false">Rentals By Type</a>	<ul class="sub-menu">		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1458"><a href="https://www.islandvacationproperties.com/house-rentals/">House Rentals</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1673"><a href="https://www.islandvacationproperties.com/anna-maria-island-condo-rentals/">Condo Rentals</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-164"><a href="https://www.islandvacationproperties.com/long-weekend-rentals/">Long Weekend Rentals</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2147"><a href="https://www.islandvacationproperties.com/anna-maria-island-monthly-rentals/">Monthly Rentals</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4944"><a href="https://www.islandvacationproperties.com/duplex-and-fourplex-rentals/">Multi Unit Properties</a></li>	</ul></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-873"><a aria-haspopup="true" aria-expanded="false">Rentals by Bedroom</a>	<ul class="sub-menu">		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-874"><a href="https://www.islandvacationproperties.com/1-bedroom-rentals/">1 Bedroom</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-951"><a href="https://www.islandvacationproperties.com/2-bedroom-rentals/">2 Bedroom</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1009"><a href="https://www.islandvacationproperties.com/three-bedroom-rentals/">3 Bedroom</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1455"><a href="https://www.islandvacationproperties.com/four-bedroom-rentals/">4 Bedroom</a></li>		<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1454"><a href="https://www.islandvacationproperties.com/five-bedroom-rentals/">5+ Bedroom</a></li>	</ul></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://www.islandvacationproperties.com/featured-properties/">Featured AMI Vacation Rentals</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4125"><a href="https://www.islandvacationproperties.com/specials/">Specials</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3654"><a href="https://www.islandvacationproperties.com/travel-insurance-information/">Travel Insurance Information</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-rtc menu-item-5751"><a href="https://www.islandvacationproperties.com/vacation-rentals/rentals-availability-calendar/">Availability Calendar</a></li></ul></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-111">
1774<a href="https://islandvacationproperties.idxbroker.com/idx/featured" aria-haspopup="true" aria-expanded="false">Real Estate Sales</a><ul class="sub-menu">	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146"><a href="https://islandvacationproperties.idxbroker.com/idx/search/advanced">Search MLS</a></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-147"><a href="https://islandvacationproperties.idxbroker.com/idx/featured">Our Featured Listings</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-128"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-buyer-resources/">Home Buying Tips</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129"><a href="https://www.islandvacationproperties.com/anna-maria-island-real-estate-seller-resources/">Home Selling Tips</a></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-148"><a href="https://islandvacationproperties.idxbroker.com/idx/mortgage">Mortgage Calculator</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-227"><a href="https://www.islandvacationproperties.com/meet-our-sales-agents/">Meet Our Sales Agents</a></li></ul></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-195"><a href="https://www.islandvacationproperties.com/property-management/" aria-haspopup="true" aria-expanded="false">Property Management</a><ul class="sub-menu">	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-106"><a href="https://www.islandvacationproperties.com/property-management/">List With IVP</a></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-260"><a target="_blank" rel="noopener noreferrer" href="https://owner.escapia.com/dist/index.html#/login">Owner Log-In</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-199"><a href="https://www.islandvacationproperties.com/contact-property-management/">Contact Property Management</a></li></ul></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-119"><a href="https://www.islandvacationproperties.com/about-island-vacation-properties/" aria-haspopup="true" aria-expanded="false">About Us</a><ul class="sub-menu">	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5207"><a href="https://www.islandvacationproperties.com/about-island-vacation-properties/">Our Story</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-220"><a href="https://www.islandvacationproperties.com/meet-our-team/">Meet Our Rentals Team</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-159"><a href="https://www.islandvacationproperties.com/frequently-asked-questions/">Frequently Asked Questions</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-229"><a href="https://www.islandvacationproperties.com/driving-directions/">Driving Directions</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-117"><a href="https://www.islandvacationproperties.com/contact/">Contact Us</a></li></ul></li><li class="last-link menu-item menu-item-type-custom menu-item-object-custom current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-120"><a href="https://www.islandvacationproperties.com/island-blog/" aria-current="page" aria-haspopup="true" aria-expanded="false">Explore AMI</a><ul class="sub-menu">	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-107"><a href="https://www.islandvacationproperties.com/about-anna-maria-island/">Anna Maria Island History</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108"><a href="https://www.islandvacationproperties.com/anna-maria-island-information/">City of Anna Maria</a></li>	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-122"><a target="_blank" href="/wp-content/uploads/2019/12/trolley-map.pdf">Free Trolley Map</a></li>	<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-556 current_page_item menu-item-4228"><a href="https://www.islandvacationproperties.com/island-blog/" aria-current="page">Our Blog</a></li></ul></li></ul></div>        </nav> 
1775    </div> <!-- end div #nav -->
1776    <div style="clear:both;"></div>
1777    <div id="content-mask" class="content-mask"></div><!-- /content-mask -->
1778    
1778<script type="speculationrules">
1779{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/rtapi/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1780</script>
1780
1781<div 
1782	id="pum-4776" 
1783	role="dialog" 
1784	aria-modal="false"
1785	aria-labelledby="pum_popup_title_4776"
1786	class="pum pum-overlay pum-theme-823 pum-theme-default-theme popmake-overlay pum-overlay-disabled auto_open click_open" 
1787	data-popmake="{&quot;id&quot;:4776,&quot;slug&quot;:&quot;newsletter-sign-up&quot;,&quot;theme_id&quot;:823,&quot;cookies&quot;:[{&quot;event&quot;:&quot;on_popup_close&quot;,&quot;settings&quot;:{&quot;name&quot;:&quot;pum-4776&quot;,&quot;key&quot;:&quot;&quot;,&quot;session&quot;:false,&quot;path&quot;:&quot;1&quot;,&quot;time&quot;:&quot;1 month&quot;}}],&quot;triggers&quot;:[{&quot;type&quot;:&quot;auto_open&quot;,&quot;settings&quot;:{&quot;cookie_name&quot;:[&quot;pum-4776&quot;],&quot;delay&quot;:&quot;10000&quot;}},{&quot;type&quot;:&quot;click_open&quot;,&quot;settings&quot;:{&quot;extra_selectors&quot;:&quot;&quot;,&quot;cookie_name&quot;:null}}],&quot;mobile_disabled&quot;:null,&quot;tablet_disabled&quot;:null,&quot;meta&quot;:{&quot;display&quot;:{&quot;stackable&quot;:&quot;1&quot;,&quot;overlay_disabled&quot;:&quot;1&quot;,&quot;scrollable_content&quot;:false,&quot;disable_reposition&quot;:false,&quot;size&quot;:&quot;small&quot;,&quot;responsive_min_width&quot;:&quot;300px&quot;,&quot;responsive_min_width_unit&quot;:false,&quot;responsive_max_width&quot;:&quot;400px&quot;,&quot;responsive_max_width_unit&quot;:false,&quot;custom_width&quot;:&quot;300px&quot;,&quot;custom_width_unit&quot;:false,&quot;custom_height&quot;:&quot;px&quot;,&quot;custom_height_unit&quot;:false,&quot;custom_height_auto&quot;:&quot;1&quot;,&quot;location&quot;:&quot;right bottom&quot;,&quot;position_from_trigger&quot;:false,&quot;position_top&quot;:&quot;100&quot;,&quot;position_left&quot;:&quot;0&quot;,&quot;position_bottom&quot;:&quot;10&quot;,&quot;position_right&quot;:&quot;10&quot;,&quot;position_fixed&quot;:&quot;1&quot;,&quot;animation_type&quot;:&quot;slide&quot;,&quot;animation_speed&quot;:&quot;350&quot;,&quot;animation_origin&quot;:&quot;bottom&quot;,&quot;overlay_zindex&quot;:false,&quot;zindex&quot;:&quot;1999999999&quot;},&quot;close&quot;:{&quot;text&quot;:&quot;x&quot;,&quot;button_delay&quot;:&quot;0&quot;,&quot;overlay_click&quot;:false,&quot;esc_press&quot;:false,&quot;f4_press&quot;:false},&quot;click_open&quot;:[]}}">
1788
1789	<div id="popmake-4776" class="pum-container popmake theme-823 pum-responsive pum-responsive-small responsive size-small pum-position-fixed">
1790
1791				
1792							<div id="pum_popup_title_4776" class="pum-title popmake-title">
1793				Newsletter Sign Up			</div>
1794		
1795		
1796				<div class="pum-content popmake-content" tabindex="0">
1797			
1798                <div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_10' ><div id='gf_10' class='gform_anchor' tabindex='-1'></div>
1799                        <div class='gform_heading'>
1800                            <p class='gform_description'>Stay in the know. Get exclusive offers straight to your inbox:</p>
1801                        </div><form method='post' enctype='multipart/form-data'  id='gform_10'  action='/island-blog/#gf_10' data-formid='10' novalidate><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeDap0tAAAAAH8QvJNFDOpBZOagZYajMX8m-Iiv' data-tabindex='0'><input id="input_42285b71e9989e0d1c1db7eeb502e71f" class="gfield_recaptcha_response" type="hidden" name="input_42285b71e9989e0d1c1db7eeb502e71f" value=""/></div>
1802                        <div class='gform-body gform_body'><ul id='gform_fields_10' class='gform_fields top_label form_sublabel_below description_below validation_below'><li id="field_10_4" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"  ><label class='gfield_label gform-field-label' for='input_10_4'><span class='gform-field-label__text'>Email</span></label><div class='ginput_container'><input name='input_4' id='input_10_4' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_10_4'>This field is for validation purposes and should be left unchanged.</div></li>
1802<li id="field_10_1" class="gfield gfield--type-email gfield--input-type-email newsletter-form-field gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible"  ><label class='gfield_label gform-field-label' for='input_10_1'><span class='gform-field-label__text'>Email</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'>
1803                            <input name='input_1' id='input_10_1' type='email' value='' class='large'   placeholder='Your Email Address' aria-required="true" aria-invalid="false"  />
1804                        </div></li><li id="field_10_3" class="gfield gfield--type-name gfield--input-type-name gfield--width-full field_sublabel_hidden_label gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible"  ><label class='gfield_label gform-field-label gfield_label_before_complex' ><span class='gform-field-label__text'>Name</span></label><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name gform-grid-row' id='input_10_3'>
1805                            
1806                            <span id='input_10_3_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >
1807                                                    <input type='text' name='input_3.3' id='input_10_3_3' value=''   aria-required='false'   placeholder='Your Name'  />
1808                                                    <label for='input_10_3_3' class='gform-field-label gform-field-label--type-sub hidden_sub_label screen-reader-text'>First</label>
1809                                                </span>
1810                            
1811                            
1812                            
1813                        </div></li></ul></div>
1814        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_10' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Yes, Sign Me Up!</button> 
1815            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_10' value='postback' />
1816            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_10' id='gform_theme_10' value='legacy' />
1817            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_10' id='gform_style_settings_10' value='[]' />
1818            <input type='hidden' class='gform_hidden' name='is_submit_10' value='1' />
1819            <input type='hidden' class='gform_hidden' name='gform_submit' value='10' />
1820            
1821            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='/GBEUpMbmvcqsKShdVyyg4CuPX/XmWrkU/vcFZNw2Cdk1Ce4lOiw8cCmEX1hQNjDscZK1R9g3m5eMxi4OoZb2+XbU8cyEMLaLXvypK0+XxFJmzs=' />
1822            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
1823            <input type='hidden' class='gform_hidden' name='state_10' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjcxOTc2NzZjMzA4OWIyZjdlMTY0ZWRkMTJlZTY1ZmU1XCIsXCI0N2ExNDZlMGNiZDlhZWE4NjlhNGFjOGU2ZDgxMTIxYlwiXSxcImdmb3JtX3RoZW1lXCI6XCJhMjA2MTczOWM5NmJkN2NiM2YxMzc5ZjcxOTU5NzFmOFwiLFwiZ2Zvcm1fc3R5bGVfc2V0dGluZ3NcIjpcImQ3MGU5ODhmOTY2ZjlhNDBkMzdhZGQyODY1ZTc4ZTBhXCIsXCJmb3JtX2lkXCI6XCJhZGE2N2NkNDU2OThlNDQxMmNhNDEwMDAwNDk2Y2M3N1wiLFwidXJsXCI6XCI5ODIwODlmYzZhNDExYzQwMDk5MDNhMTE2YzhhNmRjNlwiLFwic3RhdGVfdGltZXN0YW1wXCI6XCI3ZmNjODI2ZTEwNGNiZWI3NzFiODY3OTcwYmZlNTRmYVwifSIsIjcyZDhkMTVjYmI2MmJkNDlhMDM3MTZkOTQ5ODI0MjhlIiwxNzkxNDU2OTA3XQ==' />
1824            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_10' id='gform_target_page_number_10' value='0' />
1825            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_10' id='gform_source_page_number_10' value='1' />
1826            <input type='hidden' name='gform_field_values' value='' />
1827            
1828        </div>
1829                        <p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="228"/>
1829<script>
1830document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );
1831</script>
1831
1832</p></form>
1833                        </div>
1834		</div>
1835
1836				
1837							<button type="button" class="pum-close popmake-close" aria-label="Close">
1838			x			</button>
1839		
1840	</div>
1841
1842</div>
1843<script id="menu-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/menu.js?ver=1.0"></script>
vendor: 1 bytes, line 1843
1843
1844<script id="shrinkhead-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/shrinkhead.js?ver=1.0"></script>
vendor: 1 bytes, line 1844
1844
1845<script id="focus-visible-js" src="https://www.islandvacationproperties.com/wp-content/themes/rtapi/js/focus-visible.js?ver=5.1.0"></script>
vendor: 1 bytes, line 1845
1845
1846<script id="gforms_recaptcha_recaptcha-js-extra">
1847var gforms_recaptcha_recaptcha_strings = {"nonce":"51bc720e2c","disconnect":"Disconnecting","change_connection_type":"Resetting","spinner":"https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/images/spinner.svg","connection_type":"classic","disable_badge":"1","change_connection_type_title":"Change Connection Type","change_connection_type_message":"Changing the connection type will delete your current settings.  Do you want to proceed?","disconnect_title":"Disconnect","disconnect_message":"Disconnecting from reCAPTCHA will delete your current settings.  Do you want to proceed?","site_key":"6LeDap0tAAAAAH8QvJNFDOpBZOagZYajMX8m-Iiv"};
1848//# sourceURL=gforms_recaptcha_recaptcha-js-extra
1849</script>
vendor: 127 bytes, lines 1849-1850
1849
1850<script data-wp-strategy="defer" defer id="gforms_recaptcha_recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
18506LeDap0tAAAAAH8QvJNFDOpBZOagZYajMX8m-Iiv
vendor: 27 bytes, line 1850
1850&#038;ver=2.2.2"></script>
1851<script data-wp-strategy="defer" defer id="gforms_recaptcha_frontend-js" src="https://www.islandvacationproperties.com/wp-content/plugins/gravityformsrecaptcha/js/frontend.min.js?ver=2.2.2"></script>
vendor: 1 bytes, line 1851
1851
1852<script id="gform_placeholder-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/js/placeholders.jquery.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 1852
1852
1853<script id="gform_gravityforms_theme_vendors-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=0c901cb641ce64b99c20ea1a4d208cc9"></script>
vendor: 1 bytes, line 1853
1853
1854<script id="gform_gravityforms_theme-js-extra">
1855var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"19dbec403806d76761dede907ba49b18"},"ajax":{"ajaxurl":"https://www.islandvacationproperties.com/wp-admin/admin-ajax.php","ajax_submission_nonce":"7bb29140b0","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again.","error_403":"The request was blocked (403 error) for unknown security reasons. Remove any code-like text (scripts or DB queries) and try again."}}}},"hmr_dev":"","public_path":"https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/assets/js/dist/","config_nonce":"114f76e95b"};
1856//# sourceURL=gform_gravityforms_theme-js-extra
1857</script>
vendor: 1 bytes, line 1857
1857
1858<script id="gform_gravityforms_theme-js" defer='defer' src="https://www.islandvacationproperties.com/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=e27d9712159624c99129c8c208f022ad"></script>
vendor: 1 bytes, line 1858
1858
1859<script defer id="akismet-frontend-js" src="https://www.islandvacationproperties.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1787933035"></script>
vendor: 1 bytes, line 1859
1859
1860<script id="popup-maker-site-js-extra">
1861var pum_vars = {"version":"1.25.0","pm_dir_url":"https://www.islandvacationproperties.com/wp-content/plugins/popup-maker/","ajaxurl":"https://www.islandvacationproperties.com/wp-admin/admin-ajax.php","restapi":"https://www.islandvacationproperties.com/wp-json/pum/v1","rest_nonce":null,"default_theme":"823","debug_mode":"","disable_tracking":"","disable_url_params":"","home_url":"/","message_position":"top","core_sub_forms_enabled":"1","popups":[],"cookie_domain":"","paramNames":{"popup_id":"pid","cta":"cta","notrack":"notrack"},"analytics_enabled":"1","analytics_route":"analytics","analytics_api":"https://www.islandvacationproperties.com/wp-json/pum/v1"};
1862var pum_sub_vars = {"ajaxurl":"https://www.islandvacationproperties.com/wp-admin/admin-ajax.php","message_position":"top"};
1863var pum_popups = {"pum-4776":{"triggers":[{"type":"auto_open","settings":{"cookie_name":["pum-4776"],"delay":"10000"}}],"cookies":[{"event":"on_popup_close","settings":{"name":"pum-4776","key":"","session":false,"path":"1","time":"1 month"}}],"disable_on_mobile":false,"disable_on_tablet":false,"explain":null,"type_section":null,"theme_id":"823","size":"small","responsive_min_width":"300px","responsive_max_width":"400px","custom_width":"300px","custom_height_auto":true,"custom_height":"px","scrollable_content":false,"animation_type":"slide","animation_speed":"350","animation_origin":"bottom","open_sound":"none","custom_sound":"","location":"right bottom","position_top":"100","position_bottom":"10","position_left":"0","position_right":"10","position_from_trigger":false,"position_fixed":true,"overlay_disabled":true,"stackable":true,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":4776,"slug":"newsletter-sign-up"}};
1864//# sourceURL=popup-maker-site-js-extra
1865</script>
vendor: 1 bytes, line 1865
1865
1866<script id="popup-maker-site-js" src="//www.islandvacationproperties.com/wp-content/uploads/pum/pum-site-scripts.js?defer&#038;generated=1787948090&#038;ver=1.25.0"></script>
vendor: 1 bytes, line 1866
1866
1867<script id="wp-emoji-settings" type="application/json">
1868{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.islandvacationproperties.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3"}}
1869</script>
vendor: 1 bytes, line 1869
1869
1870<script type="module">
1871/*! This file is auto-generated */
1872var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1873//# sourceURL=https://www.islandvacationproperties.com/wp-includes/js/wp-emoji-loader.min.js
1874</script>
vendor: 1 bytes, line 1874
1874
1875<script>
1876gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 10) {if(typeof Placeholders != 'undefined'){
1877                        Placeholders.enable();
1878                    }} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } );
1879</script>
vendor: 1 bytes, line 1879
1879
1880<script>
1881gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "10", currentPage: "1", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( "gform_wrapper_10" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( "span" );            visibilitySpan.id = "gform_visibility_test_10";            gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( "gform_visibility_test_10" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 10, 1 );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );
1882</script>
vendor: 1 bytes, line 1882
1882
1883<script>
1884gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 3) {if(typeof Placeholders != 'undefined'){
1885                        Placeholders.enable();
1886                    }} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } );
1887</script>
vendor: 1 bytes, line 1887
1887
1888<script>
1889gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "3", currentPage: "1", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( "gform_wrapper_3" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( "span" );            visibilitySpan.id = "gform_visibility_test_3";            gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( "gform_visibility_test_3" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 3, 1 );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );
1890</script>
1890
1891
1892    </body>
1893</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.