1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 3<head id="head"> 4 <!-- OneTrust consent script must load before GTM and any tracking/analytics tag (TFS 2965948). --> 5 <!-- OneTrust Cookies Consent Notice start for liveatfranciscan.com -->
6<script type="text/javascript" src="https://cdn.cookielaw.org/consent/efb3396c-cb56-4f08-b267-6c183f3f1d64/OtAutoBlock.js"></script>
vendor: 1 bytes, line 6
6
7<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="efb3396c-cb56-4f08-b267-6c183f3f1d64"></script>
vendor: 1 bytes, line 7
7
8<script type="text/javascript"> 9function OptanonWrapper() { } 10</script>
10 11<!-- OneTrust Cookies Consent Notice end for liveatfranciscan.com --><meta name="viewport" content="width=device-width, initial-scale=1" /><title> 12 Contact Us | The Franciscan | Campbell CA 13</title><meta name="description" content="Contact us today at The Franciscan and make Campbell your new home today. You will be happy you did! Call us (408) 379-9311" /> 14<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 15<meta http-equiv="pragma" content="no-cache" /> 16<meta http-equiv="content-style-type" content="text/css" /> 17<meta http-equiv="content-script-type" content="text/javascript" /> 18<meta name="keywords" content="CA Apartments, Apartments for rent in CA, The Franciscan, Contact Franciscan" /> 19<link href="/CMSPages/GetResource.ashx?stylesheetname=RPcssMaster_S0088-Haute" type="text/css" rel="stylesheet" /> 20<!-- MasterPageIncludes --><link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/ui-lightness/jquery-ui.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" integrity="sha256-YUNa6t/JONQ+iBynZFpRTKfiPdqfpMKCPOQEFmtF70Q=" crossorigin="anonymous"></link>
20<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript" integrity="sha256-9VTS8JJyxvcUR+v+RTLTsd0ZWbzmafmlzMmeZO9RFyk=" crossorigin="anonymous"></script>
20<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js" type="text/javascript" integrity="sha256-KcG2ZvBcPZjk4GfR49kpfXemCzwSulQxLRvBus92Vv4=" crossorigin="anonymous"></script>
20<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/global.min.js" type="text/javascript" integrity="" crossorigin="anonymous"></script>
20<script src="https://cs-cdn.realpage.com/CWS/2623272/Accessibe/Accessibe.js" type="text/javascript" integrity="" crossorigin="anonymous"></script>
20<!-- /MasterPageIncludes --><meta name="viewport" content="width=device-width,initial-scale=1" /> 21<meta name="geo.position" content="37.2964248;-121.9415933" /> 22<meta name="geo.placename" content="Campbell" /> 23<meta name="geo.region" content="US-CA" /> 24<meta name="ICBM" content="37.2964248, -121.9415933" /> 25 26<link type="text/css" href="https://cs-cdn.realpage.com/CWS/2623272/TemplateResources/Global/Icons/font-awesome.min.css" rel="stylesheet" /> 27<link type="text/css" href="https://cs-cdn.realpage.com/CWS/2623272/TemplateResources/Global/Icons/fontello.css" rel="stylesheet" /> 28<link type="text/css" href="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/Bootstrap/css/bootstrap.min.css" rel="stylesheet" /> 29
30<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/global.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 30
30
31<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 31
31
32<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js" type="text/javascript"></script>
vendor: 1 bytes, line 32
32
33<script src="https://code.jquery.com/jquery-migrate-1.4.1.js" type="text/javascript"></script>
vendor: 1 bytes, line 33
33
34<script src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/Bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
34 35
36<script type="text/javascript"> 37var adHoc1Header = true; 38 39$(document).ready(function () { 40 41 $(".sps-mobile-toggle-contain, .menuElem li > a, #menuElem li > a").on("click", function(){ 42 if($(window).width() < 1025) { 43 $(".header-menu").toggle("slow"); 44 45 if($(".sps-mobile-toggle i").hasClass('fa-bars')){ 46 $(".sps-mobile-toggle i").removeClass('fa-bars') 47 } 48 else{ 49 $(".sps-mobile-toggle i").addClass('fa-bars') 50 } 51 } 52 }); 53 54 var bannerHeight = $(".head-wrap").height() 55 $("#wrapper").css("padding-top", bannerHeight); 56 $(".collapse").on('show.bs.collapse', function (){ 57 $("#wrapper").animate({"padding-top": bannerHeight}, "500ms"); 58 $("#specials-banner-toggle").html('<span>specials <i class="fa fa-angle-up" aria-hidden="true"></i></span>'); 59 }); 60 $(".collapse").on('shown.bs.collapse', function (){ 61 bannerHeight = $(".head-wrap").height(); 62 $("#wrapper").animate({"padding-top": bannerHeight}, "500ms"); 63 }); 64 $(".collapse").on('hide.bs.collapse', function (){ 65 var bannerHeight = $(".head-wrap").height() - $("#specials-banner").height(); 66 $("#wrapper").animate({"padding-top": bannerHeight}, "fast"); 67 $("#specials-banner-toggle").html('<span>specials <i class="fa fa-angle-down" aria-hidden="true"></i></span>'); 68 }); 69 70}); 71</script>
71 72 73 74 75
76<script type="text/javascript" src="https://doorway.knck.io/latest/doorway.min.js"></script>
vendor: 1 bytes, line 76
76
77<script text="text/javascript" type="text/javascript"> 78 window.knockDoorway.init('9bf37284afc711e789cf0ed006593dfc', 'community', '4b111ee0136a414b'); 79</script>
79 80 81 82<style> 83[id^="Layer_"] { width: 20px; } 84</style>
85<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.2/TweenLite.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 85
85
86<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 86
86
87<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/animation.gsap.js" type="text/javascript"></script>
vendor: 1 bytes, line 87
87
88<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.17.0/plugins/ScrollToPlugin.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 88
88
89<script src="https://cs-cdn.realpage.com/CWS/2623272/SPS/sps-v3.js" type="text/javascript"></script>
vendor: 1 bytes, line 89
89
90<script type="text/javascript"> 91 // Seo Values 92 var seohome = {title: "Campbell CA Apartments | The Franciscan", keywords: "CA Apartments Great Campbell, CA, Apartments for rent in CA, (408) 379-9311 Apartments CA", description: "Come to a home you deserve located in Campbell, CA. The Franciscan has everything you need . Call (408) 379-9311 today!"}; 93 var seofloorplans = {title: "1 & 2-Bedroom Apartments in Campbell CA | The Franciscan", keywords: "CA Apartment Floor Plans, Floor plans for apartments in Campbell, CA, The Franciscan Apartment Floor plans CA", description: "See our spacious floor plans at our apartments in Campbell, CA. We have many floor plans available with multiple features."}; 94 var seoamenities = {title: "Apartment Amenities in Campbell CA | The Franciscan", keywords: "CA Apartment Amenities, Amenities for apartments in Campbell, CA, The Franciscan Apartment amenities CA", description: "Find Apartments for Rent in Campbell, CA. The Franciscan has many of the amenities you are looking for. Take a look today! (408) 379-9311 "}; 95 var seogallery = {title: "Gallery | The Franciscan | Campbell CA", keywords: "", description: "Come take a look at all of the great photos of our apartments here at the Franciscan in Campbell, CA. "}; 96 var seoneighborhood = {title: "Luxury Apartments Campbell CA | The Franciscan", keywords: "CA Apartment Neighborhood, Neighborhood for apartments in Campbell, CA, Franciscan Apartment Neighborhood CA", description: "Located in Campbell, CA. Franciscan has all the features you need in the Campbell area. Find out why so many call us home."}; 97 var seocontact = {title: "Contact Us | The Franciscan | Campbell CA", keywords: "CA Apartments, Apartments for rent in CA, The Franciscan, Contact Franciscan ", description: "Contact us today at The Franciscan and make Campbell your new home today. You will be happy you did! Call us (408) 379-9311"}; 98 var seostudents = {title: "", keywords: "", description: ""}; 99 var seoparents = {title: "", keywords: "", description: ""}; 100 var seoseniors = {title: "", keywords: "", description: ""}; 101 var seoresidents = {title: "Resident Services | The Franciscan | Campbell CA", keywords: "", description: "Through our resident portal, you can log in to pay your rent, submit maintenance requests, and more. Get started today!"}; 102 var seoreviews = {title: "", keywords: "", description: ""}; 103 104 105 var RP_SPS = new SPS_CONSTRUCTOR({ 106 add_pages: [], 107 remove_pages: [], 108 add_non_SPS_links: [], 109 header: '#header', 110 scene_container_class: 'block-area', 111 offset_header: true, 112 offset_mobile: false, 113 mobile_offset_end: 1024 114 }); 115 $(window).ready(function () { 116 //Init SPS 117 RP_SPS.init(); 118 }); 119</script>
119 120<link href="https://capi.myleasestar.com/v2/dimg/155436113/119x84/155436113.png" type="image/png" rel="shortcut icon" /> 121<link href="https://capi.myleasestar.com/v2/dimg/155436113/119x84/155436113.png" type="image/png" rel="icon" /> 122<link href="/CmsPages/GetResource.ashx?stylesheetname=rpWebpartCss_MediaViewer;RpWebpartCss_PopUp;rpWebPartCSS_SocialMedia;rpWebpartCss_BackgroundGallery;rpWebpartCss_BackgroundGallery;rpWebpartCss_AmenitiesTabbedStandard;rpWebpartCss_GallerySquareTiles;rpWebpartCss_MediaViewer;rpWebpartCss_NeighborhoodFullWidth;rpWebpartCss_ContactUsFloating;rpWebpartCss_TimeOut;rpWebpartCss_CookiesConsent;rpWebpartCss_RealPageLogo;rpWebpartCss_AdaHudicons;rpWebPartCSS_SocialMedia;rpWebpartCss_CCPA" type="text/css" rel="stylesheet" /> 123 124
124<script type="text/javascript">var firstTouchEnabled=true</script>
124 125 126 127 <style> 128 :root { 129 --RPcolor1: #ffffff !important; 130 --RPcolor2: #000000 !important; 131 --RPcolor3: #425563 !important; 132 --RPcolor4: #d7d7d7 !important; 133 --RPcolor5: #7d7d7d !important; 134 --RPcolor6: #999999 !important; 135 --RPcolor7: #f1f1f1 !important; 136 --RPcolor8: #ffffff !important; 137 --RPcolor9: #ffffff !important; 138 139 --RPHeaderFont: '', Helvetica, Arial, sans-serif; 140 --RPBodyFont: '', Helvetica, Arial, sans-serif; 141 142 --FPCardImageHeight: 200px; 143 --FPCardImageHeight-Medium: 200px; 144 --FPCardImageHeight-Large: 200px; 145 --FPModalImageHeight: 500px; 146 --FPModalImageHeightMedium: 500px; 147 --FPModalImageHeightLarge: 500px; 148 --FPCardCarouselPadding: 15px; 149 --FPCardCarouselPadding-Large: 30px; 150 } 151 152 /* WCAG 2.4.11 â footer content not obscured by the OneTrust cookie banner. All 3 rules gated on the banner being visible so nothing applies when OneTrust is dismissed / absent. */ 153 html:has(#onetrust-banner-sdk:not([style*="display: none"])) { 154 scroll-padding-bottom: 220px; 155 } 156 body:has(#onetrust-banner-sdk:not([style*="display: none"])) { 157 padding-bottom: 220px; 158 } 159 html:has(#onetrust-banner-sdk:not([style*="display: none"])) :focus-visible { 160 scroll-margin-bottom: 220px; 161 } 162 163 /* WCAG 1.4.10 (TFS 3041085) â OneTrust's own responsive CSS for the banner 164 (and its "Cookies Settings" button) can render briefly at desktop width 165 before its breakpoint styles finish applying, pushing the page into 166 horizontal scroll on mobile. This stylesheet is inline in <head>, so it 167 applies to #onetrust-banner-sdk the instant OneTrust injects it â no 168 dependency on OneTrust's own script/CSS load order. */ 169 @media (max-width: 767px) { 170 #onetrust-banner-sdk { 171 max-width: 100vw !important; 172 box-sizing: border-box !important; 173 overflow-x: hidden; 174 } 175 } 176 </head></style> 177 178
178<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@1" type="text/javascript"></script>
178 179
179<script src="/RPWebParts/General/CommonData.js" type="text/javascript"></script>
179 180
180<script type="text/javascript"> 181 cssVars(); 182 </script>
182 183 184
184<script type="text/javascript"> 185 var sourcesList = JSON.parse('[{"DisplayName":"Apartment Finder","PmSourceId":"af"},{"DisplayName":"Apartment Guide","PmSourceId":"ag"},{"DisplayName":"Apartment List","PmSourceId":"al"},{"DisplayName":"Apartment Ratings","PmSourceId":"ar"},{"DisplayName":"Apartment Search","PmSourceId":"as"},{"DisplayName":"Apartments.com","PmSourceId":"a"},{"DisplayName":"Brochure/Flyer","PmSourceId":"br"},{"DisplayName":"Craigslist","PmSourceId":"cl"},{"DisplayName":"Drive-by","PmSourceId":"db"},{"DisplayName":"Facebook","PmSourceId":"fb"},{"DisplayName":"Google","PmSourceId":"g"},{"DisplayName":"Greystar.com","PmSourceId":"gs"},{"DisplayName":"Locator","PmSourceId":"l"},{"DisplayName":"Paid Email","PmSourceId":"payemail"},{"DisplayName":"Paid Search","PmSourceId":"ps"},{"DisplayName":"Peek","PmSourceId":"peek"},{"DisplayName":"Property Website","PmSourceId":"w"},{"DisplayName":"Referral - Current Resident","PmSourceId":"refcr"},{"DisplayName":"Referral - Former Resident","PmSourceId":"reffr"},{"DisplayName":"RentPath","PmSourceId":"rp"},{"DisplayName":"Rooof","PmSourceId":"Rooof"},{"DisplayName":"Yelp","PmSourceId":"y"},{"DisplayName":"Zillow","PmSourceId":"z"},{"DisplayName":"Zillow Boost","PmSourceId":"zb"},{"DisplayName":"Zumper","PmSourceId":"zu"}]'); 186 var propertyKey = '2I8374454483'; 187 var propertyId = '8744443'; 188 var leadList = [ 189 { hcLeadChannelName: "Apartment Finder", Domain: "ApartmentFinder.com"}, 190 { hcLeadChannelName: "Apartment Home Living Export", Domain: "ApartmentHomeLiving.com"}, 191 { hcLeadChannelName: "ApartmentGuide.com", Domain: "ApartmentGuide.com"}, 192 { hcLeadChannelName: "Apartments.com Network", Domain: "Apartments.com" }, 193 { hcLeadChannelName: "Rent.com", Domain: "Rent.com" }, 194 { hcLeadChannelName: "ForRent.com", Domain: "ForRent.com" }, 195 { hcLeadChannelName: "Move.com", Domain: "Move.com" }, 196 { hcLeadChannelName: "ApartmentFinder.com", Domain: "ApartmentFinder.com" }, 197 { hcLeadChannelName: "ApartmentShowcase.com", Domain: "ApartmentShowcase.com" }, 198 { hcLeadChannelName: "ApartmentList.com", Domain: "ApartmentList.com" }, 199 { hcLeadChannelName: "Zillow Rental Network", Domain: "zillow.com" }, 200 { hcLeadChannelName: "LiveLovely.com", Domain: "LiveLovely.com" }, 201 { hcLeadChannelName: "Google.com", Domain: "Google.com" }, 202 { hcLeadChannelName: "MyLeasestar", Domain: "myleasestar.com" }, 203 { hcLeadChannelName: "Greystar", Domain: "greystar.com" } 204 ]; 205 206 //Defined in CommonData 207 //matchedSource = f_getSessionStorage('matchedSource'); 208 //matchedSourceId = f_getSessionStorage('matchedSourceId'); 209 210 tryMatchingSourceFromReferrerUrl(window.document, sourcesList); 211 </script>
211 212 213
213<script type="text/javascript"> 214 var utmConfigInfo = ''; 215 216 $(document).ready(function () { 217 commonDataOnReady(document, sourcesList); 218 }); 219 220 221 function setSEONumber(phoneNumber) { 222 $('.seo-number').each(function() { 223 if ($(this).find('span').length) { 224 $(this).find('span').html(phoneNumber); 225 } else { 226 $(this).html(phoneNumber); 227 } 228 229 if ($(this).attr('href') && $(this).attr('href').indexOf('tel:') > -1) 230 $(this).attr('href', 'tel: ' + phoneNumber); 231 if ($(this).attr('onclick') && $(this).attr('onclick').indexOf('f_analyticsSendEvent(') > -1) { 232 $(this).attr('onclick', "f_analyticsSendEvent('general', 'click-phone-number', '" + phoneNumber + '\')'); 233 } 234 }); 235 236 237 } 238 239 </script>
239 240 241
241<script type="text/javascript"> 242 try { 243 let myAccessibe = new RpAcsb() 244 myAccessibe.config = { 245 positionX: 'right', 246 positionY: 'bottom', 247 offsetX: 20, 248 offsetY: 140, 249 hideTrigger: false, 250 statementLink: 'https://www.realpage.com/accessibility-statement/' 251 } 252 myAccessibe.init() 253 } 254 catch (err) { 255 console.log("Accessibe Script not available"); 256 } 257 </script>
257 258 259 <!-- OG Image Information --> 260 <meta property="og:image" content="https://capi.myleasestar.com/v2/dimg-crop/156229414/1200x1200/156229414.png" /> 261 <!-- END OG Image Information -->
261<script type="text/javascript">var propertyId='8744443';var lsApi='https://c-leasestar-api.realpage.com';var cacheUrl='';</script>
261<script type="text/javascript">var leadObj=[{"PhoneNumber":"(408) 539-9651","LeadChannelName":"Website"},{"PhoneNumber":"(408) 379-9311","LeadChannelName":"Syndication"},{"PhoneNumber":"(408) 809-9749","LeadChannelName":"Rent."},{"PhoneNumber":"(408) 549-7665","LeadChannelName":"Zillow Rental Network"},{"PhoneNumber":"(408) 767-6362","LeadChannelName":"ApartmentList.com"},{"PhoneNumber":"(408) 638-6812","LeadChannelName":"Apartments.com Network"},{"PhoneNumber":"(408) 547-4130","LeadChannelName":"Apartmentsearch.com"}];var googleCallTrackingEnabled = false;</script>
261 262<link rel="canonical" href="https://www.liveatfranciscan.com/Contact.aspx" /> 263 <!-- ExternalResources_Header --> 264 <link href="https://cs-cdn.realpage.com/CWS/2623272/TemplateResources/Greystar/WCAG/wcag-s0088-haute.css" type="text/css" rel="stylesheet" integrity="" crossorigin="anonymous"></link> 265 <!-- /ExternalResources_Header --> 266 <style> 267 /* WCAG 2.4.1 Bypass Blocks ââ¬â visible-on-focus skip-to-content link (TFS 2850320). */ 268 .skip-link { 269 position: absolute; 270 left: -10000px; 271 top: auto; 272 width: 1px; 273 height: 1px; 274 overflow: hidden; 275 } 276 .skip-link:focus { 277 position: fixed; 278 top: 0; 279 left: 0; 280 width: auto; 281 height: auto; 282 padding: 0.5rem 1rem; 283 background: #000; 284 color: #fff; 285 text-decoration: underline; 286 z-index: 10000; 287 outline: 3px solid #fff; 288 outline-offset: -3px; 289 } 290 291 /* WCAG 3.2.5/2.4.4 ââ¬â screen-reader-only utility (TFS 2991863). 292 RealPage-owned definition; the class is currently only reachable via vendor CSS 293 (Bootstrap / Font Awesome) on several templates. Mirrors header.css:1481. */ 294 .sr-only { 295 position: absolute; width: 1px; height: 1px; 296 padding: 0; margin: -1px; overflow: hidden; 297 clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; 298 } 299 .sr-only-focusable:active, .sr-only-focusable:focus { 300 position: static; width: auto; height: auto; 301 margin: 0; overflow: visible; clip: auto; white-space: normal; 302 } 303 </style>
304<script type="text/javascript">dataLayer = [{'propertyId': '8744443' ,'companyId': '88971' ,'productTypeId': '6131'}];</script>
304<script type="text/javascript">function gtag(){dataLayer.push(arguments);}</script>
304<!-- Google Tag Manager Header -->
304<script type="text/javascript">
vendor: 453 bytes, lines 304-308
304(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({"gtm.start": 305 new Date().getTime(),event:"gtm.js"});var f=d.getElementsByTagName(s)[0], 306 j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";j.async=true;j.src= 307 "//www.googletagmanager.com/gtm.js?id="+i+dl;f.parentNode.insertBefore(j,f); 308 })(window,document,"script","dataLayer","
308GTM-K8F6TZR
vendor: 33 bytes, lines 308-309
308"); 309
309</script>
309<script type="application/ld+json">{"@context":"http://schema.org","@type":"Apartment","name":"The Franciscan","image":"https://capi.myleasestar.com/v2/dimg/156229414/400x400/156229414.png","url":"https://www.liveatfranciscan.com/","telephone":"(408) 539-9651","address":{"@type":"PostalAddress","streetAddress":"601 Almarida Drive","addressLocality":"Campbell","addressRegion":"CA","postalCode":"95008","addressCountry":"USA"},"geo":{"@type":"GeoCoordinates","latitude":37.2964248,"longitude":-121.9415933},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"9:00AM","closes":"6:00PM"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Tuesday","opens":"9:00AM","closes":"6:00PM"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Wednesday","opens":"9:00AM","closes":"6:00PM"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Thursday","opens":"9:00AM","closes":"6:00PM"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"9:00AM","closes":"6:00PM"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"10:00AM","closes":"5:00PM"}]}</script>
309<link href="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/fancybox3/jquery.fancybox.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
310<script type="text/javascript">var mvTourText = ''; var mvColor = '425563'; mvBtnAnimation = 'spin'</script>
310<script type="text/javascript">var mvTours = [{"Type":"UKN","MediaId":156440155,"DisplaySequence":130,"Caption":"Fitness Center","Src":"https://my.matterport.com/show/?m=poHRVXzxaPU","AltText":"The Franciscan | Fitness Center","TourType":"RP Virtual Tours","ImgUrl":"https://cdn-dam.realpage.com/api/v1/image/1200x783/db262fd0323914d5951e6d547d37946e3c9f7f04.38fafa7c7b/The-Franciscan-Fitness-Center.png"},{"Type":"UKN","MediaId":156440154,"DisplaySequence":120,"Caption":"One Bedroom","Src":"https://my.matterport.com/show/?m=DGSeM39mtmE","AltText":"The Franciscan | One Bedroom","TourType":"Matterport","ImgUrl":"https://cdn-dam.realpage.com/api/v1/image/1200x785/382dec1be189957d294a331ab47512a85dcf28d0.38fafa7c7b/The-Franciscan-One-Bedroom-Model.png"},{"Type":"UKN","MediaId":156440156,"DisplaySequence":140,"Caption":"Two Bedroom","Src":"https://my.matterport.com/show/?m=1KmMmrz34DX","AltText":"Two Bedroom","TourType":"Matterport","ImgUrl":"https://cdn-dam.realpage.com/api/v1/image/1200x777/f3bf88bb080ea6083f83ad00641e695d52a581d3.38fafa7c7b/The-Franciscan-2-Bedroom-x-2-Bathroom.png"},{"Type":"UKN","MediaId":174746324,"DisplaySequence":350,"Caption":"Courtyard","Src":"https://my.matterport.com/show/?m=45LbuRvh9ks ","AltText":"Courtyard","TourType":"Matterport","ImgUrl":null}]</script>
310<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/fancybox3/jquery.fancybox.js" type="text/javascript" defer="defer"></script>
310<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/media-viewer.js" type="text/javascript" defer="defer"></script>
310<link href="https://cs-cdn.realpage.com/CWS/2623272/TemplateResources/Global/Icons/font-awesome.min.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
311<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/jquery.mobile.toucheventsonly.min.js" type="text/javascript" defer="defer"></script>
311<link href="/CMSPages/GetResource.ashx?stylesheetfile=/Assets/common/wcag/css/pause-control.min.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" /> 312<link href="/CMSPages/GetResource.ashx?stylesheetfile=/Assets/common/wcag/css/pause-control.min.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" /> 313<link href="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/fancybox3/jquery.fancybox.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
314<script type="text/javascript">var floorPlanTemplate = 'floorplan4';</script>
314<link href="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/fancybox3/jquery.fancybox.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
315<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/masonry/masonry.pkgd.min.js" type="text/javascript" defer="defer"></script>
315<script type="text/javascript">var p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer= {galleryId:'124941,124942,125497',hideColumnSelector:'true',defaultView:'mosaic',openCloseEffect:'elastic',openCloseSpeed:'normal',nextPrefEffect:'fade',nextPrevSpeed:'normal',playSpeed:'3000'};</script>
315<script type="text/javascript">var latitude='37.2964248',longitude='-121.9415933',name='The Franciscan',addressLine1='601 Almarida Drive',city='Campbell',addressState='CA',addressPostalCode='95008',phonesNumber='(408) 539-9651',website='',walkScore='63',searchRadius='4023.36';</script>
315<link href="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/datepicker.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
316<script src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/datepicker.js" type="text/javascript" defer="defer"></script>
316<link href="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/fancybox3/jquery.fancybox.css" type="text/css" rel="preload" as="style" onload="this.rel='stylesheet'" />
317<script src="https://cs-cdn.realpage.com/CWS/2623272/CMSScripts/Custom/RPWebParts/cookies-consent.js" type="text/javascript" defer="defer"></script>
317<script type="text/javascript"> 318(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
vendor: 323 bytes, line 318
318(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
318GTM-PGXC6VC
vendor: 3 bytes, line 318
318');
318var RpUniqueUserId = f_getAnalyticsUserValueFromCookie('RP_LSWS_USER');let customDimensions = {}; customDimensions.dimension4 = '8744443'; customDimensions.dimension5 = '88971'; customDimensions.dimension9 = RpUniqueUserId; customDimensions.dimension10 = 's0088-haute'; customDimensions.dimension11 = new Date().getTime(); customDimensions.dimension18 = '0'; customDimensions.dimension19 = '73419'; dataLayer.push({customDimensions});ga('set', { 'dimension4': 8744443, 'dimension5': 88971, 'dimension9': RpUniqueUserId, 'dimension10': 's0088-haute', 'dimension11': new Date().getTime(), 'dimension18':'0', 'dimension19': 73419 });ga('send', 'pageview'); 319</script>
vendor: 1 bytes, line 319
319
320<script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script>
320 321
321<script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV",function(){function e(){if(!i){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,o.parentNode.appendChild(e),i=!0}}function t(e){i=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(o.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",o.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV";var o=document.currentScript||document.getElementsByTagName("script")[0],i=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!i)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),o.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="z54ccjax2t44m2wcpdmq-f-850c5497a-clientnsv4-s.akamaihd.net",o="false"=="true"?2:1,i={"ak.v":"41","ak.cp":"1592120","ak.ai":parseInt("1022256",10),"ak.ol":"0","ak.cr":0,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"e19fcbf","ak.r":42005,"ak.a2":n,"ak.m":"","ak.n":"essl","ak.cport":29589,"ak.gh":"23.220.105.207","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1791129817","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==GemU/8UBH7Xs380MbbebnQEfmMyXvaKhmjykBLUVfNZlrDsMNXGViLjkf4B8h5py9+TsVTCd3OMgrZ7Xue1QTIz8+wbQnlAUYrayGeANnROOzT8wNJHnmgcN+MjnzKuOUJCA3E1m/iZtNTuT5HlX65iLxtlj9K0a6IBnq5kih3pIr8Y7OmIT2MYlbvaZenRAGyoLPtMWgREPQHa1a8aBh99Xb+oos9J8m34QZ/8FBgBkFBhzFfPzDXlrxxT0133nK9+pMK6xNF/AILujl8Z+NOCUYuSTyzighe3k0tIeI32MZeoVEwNWzoHopr0iNFhpLmIBZMHCj/blZZikuts0Yh3INyntjQteKzpvgqtbE9Y9NOaw3SA66KyZ7NiTjRWCvB33hlk6+wcwXQpak2bMKMuaOGXz0hLIfs34Kq3tKmQ=","ak.pv":"8","ak.dpoabenc":"","ak.tf":o};if(""!==t)i["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))i["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(i)},rv:function(){var e=["ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:i,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script>
321</head> 322<body class="LTR ENUS ContentBody"> 323 <a class="skip-link" href="#main-content">Skip to main content</a> 324 <!-- Google Tag Manager --> 325 <noscript> 326 <iframe src="//www.googletagmanager.com/ns.html?id=GTM-K8F6TZR" height="0" width="0" style="display:none;visibility:hidden" title="Google Tag Manager"></iframe> 327 </noscript> 328 <!-- End Google Tag Manager --> 329 330 331 332 333
334<script type="text/javascript"> 335 var displayModal = false; 336 if(navigator.userAgent.indexOf('MSIE')!==-1 || navigator.appVersion.indexOf('Trident/') > -1){ 337 displayModal = true; 338 } 339 340 341 // POLYFILLS 342 if (typeof IntersectionObserver == 'undefined') { 343 var intersectionObserverScript = document.createElement("script"); 344 intersectionObserverScript.type = "text/javascript"; 345 intersectionObserverScript.setAttribute("src", '/CMSScripts/Custom/Polyfill/intersection-observer.js'); 346 document.documentElement.firstChild.appendChild(intersectionObserverScript); 347 } 348 if (navigator.userAgent.toLocaleLowerCase().indexOf('chrome') == -1) { 349 var preloadCssScript = document.createElement("script"); 350 preloadCssScript.type = "text/javascript"; 351 preloadCssScript.setAttribute("src", '/CMSScripts/Custom/Polyfill/cssrelpreload.js'); 352 document.documentElement.firstChild.appendChild(preloadCssScript); 353 } 354 355 // END POLYFILLS 356 //For TESTING 357 //displayModal = true; 358 $(document).ready(function () { 359 var cookie = f_getBrowserSessionCookie('showBrowserVersionOnPageLoad'); 360 //For TESTING 361 //var cookie = null; 362 363 if (displayModal && cookie == null) { 364 $('.oB-overlay').show(); 365 $('#oldBrowserModal').show(); 366 var html = htmlStringBuilder(); 367 $('#oldBrowserModal').append(html); 368 f_setBrowserSessionCookie('showBrowserVersionOnPageLoad', false); 369 } 370 $('#closeBrowserModalButton').on('click', function() { 371 $('.oB-overlay').hide(); 372 $('#oldBrowserModal').hide(); 373 }); 374 }); 375 376 function f_setBrowserSessionCookie(cookieName, value) { 377 document.cookie = cookieName + "=" + value; 378 } 379 380 function f_getBrowserSessionCookie(cookieName) { 381 var cookieValue = document.cookie; 382 var cookieStart = cookieValue.indexOf(" " + cookieName + "="); 383 if (cookieStart == -1) { 384 cookieStart = cookieValue.indexOf(cookieName + "="); 385 } 386 if (cookieStart == -1) { 387 cookieValue = null; 388 } 389 else { 390 cookieStart = cookieValue.indexOf("=", cookieStart) + 1; 391 var cookieEnd = cookieValue.indexOf(";", cookieStart); 392 if (cookieEnd == -1) { 393 cookieEnd = cookieValue.length; 394 } 395 cookieValue = unescape(cookieValue.substring(cookieStart, cookieEnd)); 396 } 397 return cookieValue; 398 } 399 400 function htmlStringBuilder() { 401 var buildHtml = '<div class="oB-dialog">'+ 402 '<div class="oB-content">'+ 403 '<div class="oB-header">'+ 404 '<h4>For the best website experience, please update your browser</h4>'+ 405 '</div>'+ 406 '<div class="oB-body">'+ 407 '<p>Just click on the icons to get to the download page</p>'+ 408 '<div class="browserSelect">'+ 409 '<div class="browserIconContainer" id="firefoxTab">'+ 410 '<div class="browserColumn">'+ 411 '<a class="browserLink" href="https://www.mozilla.org/en-US/firefox/new/?v=1" target="_blank" rel="noopener noreferrer" aria-label="Firefox Download (opens in a new tab)" tabindex="0">'+ 412 '<div class="browserImage"><img src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/BrowserIcons/firefoxLogo.png" aria-hidden="true" alt="Firefox" /></div>'+ 413 '<div class="browserName">Firefox</div>'+ 414 '</a>'+ 415 '</div>'+ 416 '</div>'+ 417 '<div class="browserIconContainer" id="chromeTab">'+ 418 '<div class="browserColumn">'+ 419 '<a class="browserLink" href="https://www.google.com/chrome/browser/desktop/" target="_blank" rel="noopener noreferrer" aria-label="Chrome Download (opens in a new tab)" tabindex="0">'+ 420 '<div class="browserImage"><img src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/BrowserIcons/chromeLogo.png" aria-hidden="true" alt="Chrome" /></div>'+ 421 '<div class="browserName">Chrome</div>'+ 422 '</a>'+ 423 '</div>'+ 424 '</div>'+ 425 '<div class="browserIconContainer" id="safariTab">'+ 426 '<div class="browserColumn">'+ 427 '<a class="browserLink" href="https://support.apple.com/downloads/safari" target="_blank" rel="noopener noreferrer" aria-label="Safari Download (opens in a new tab)" tabindex="0">'+ 428 '<div class="browserImage"><img src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/BrowserIcons/safariLogo.png" aria-hidden="true" alt="Safari"/></div>'+ 429 '<div class="browserName">Safari</div>'+ 430 '</a>'+ 431 '</div>'+ 432 '</div>'+ 433 ' <div class="browserIconContainer" id="edgeTab">'+ 434 '<div class="browserColumn">'+ 435 '<a class="browserLink" href="https://www.microsoft.com/en-us
435/windows/microsoft-edge#0QiY0Omq3i5Z0krF.97" target="_blank" rel="noopener noreferrer" aria-label="Edge Download (opens in a new tab)" tabindex="0">'+ 436 '<div class="browserImage"><img src="https://cs-cdn.realpage.com/CWS/2623272/GlobalResources/BrowserIcons/edgeLogo.png" aria-hidden="true" alt="Edge"/></div>'+ 437 '<div class="browserName">Edge</div>'+ 438 '</a>'+ 439 '</div>'+ 440 '</div>'+ 441 '</div>'+ 442 '</div>'+ 443 '<button id="closeBrowserModalButton" type="button" aria-label="close" tabindex="0">Close Window</button>'+ 444 '<div class="oB-footer">'+ 445 '</p>By closing this window you acknowledge that your experience on this website may be degraded</p>'+ 446 '</div>'+ 447 '</div>'; 448 console.log(buildHtml); 449 return buildHtml; 450 } 451</script>
451 452 <style> 453 #oldBrowserModal { 454 font-family: 'Arial', sans-serif; 455 } 456 #oldBrowserModal .oB-header h4, #oldBrowserModal .oB-body p { 457 color: #666; 458 font-weight: bold; 459 } 460 #oldBrowserModal .oB-header h4 {font-size: 20px;} 461 #oldBrowserModal .oB-body p { 462 font-size: 16px; 463 padding: 0 15px 15px; 464 } 465 #oldBrowserModal .browserIconContainer { 466 width: 90px; 467 display: inline-block; 468 text-align: center; 469 margin-bottom: 15px; 470 } 471 #oldBrowserModal .browserSelect {font-size: 14px;} 472 #oldBrowserModal #explorerTab {width: 140px;} 473 #oldBrowserModal .browserImage img { 474 height: 60px; 475 width: 60px; 476 margin-bottom:10px; 477 border: none !important; 478 } 479 #oldBrowserModal a.browserLink { 480 color: #666; 481 text-decoration: none; 482 } 483 #oldBrowserModal #closeBrowserModalButton { 484 background: #42a5f5; 485 color: #fff; 486 border: none; 487 padding: 15px 45px; 488 border-radius: 500px; 489 font-size: 16px; 490 cursor: pointer; 491 } 492 #oldBrowserModal .oB-content {text-align:center;} 493 #oldBrowserModal :focus { 494 outline: -webkit-focus-ring-color auto 0px; 495 } 496 #oldBrowserModal .oB-content {border-radius: 0;} 497 .oB-overlay { 498 position: fixed; 499 z-index: 2000; 500 height: 100%; 501 width: 100%; 502 top: 0; 503 left: 0; 504 background: rgba(0,0,0,0.5); 505 } 506 #oldBrowserModal .oB-header { 507 border-bottom: 1px solid rgba(0,0,0,.1); 508 padding: 15px; 509 } 510 #oldBrowserModal .oB-body { 511 padding: 15px; 512 } 513 #oldBrowserModal .oB-footer { 514 font-size: 12px; 515 padding: 15px; 516 text-align: center; 517 border: none; 518 color: #666; 519 } 520 @media (min-width: 768px) { 521 #oldBrowserModal .oB-dialog {width: 690px;} 522 #oldBrowserModal { 523 position: absolute; 524 z-index: 2001; 525 top: 10%; 526 left: 50%; 527 background: #fff; 528 transform: translate(-50%, 0); 529 -ms-transform: translate(-50%, 0); 530 } 531 } 532 @media (max-width: 767px) { 533 #oldBrowserModal { 534 position: relative; 535 z-index: 2001; 536 margin: 5% auto 5%; 537 background: #fff; 538 width: 95%; 539 } 540 } 541</style> 542 543<div class="oB-overlay" style="display: none;"></div> <div id="oldBrowserModal" style="display: none;"></div> 544 <form method="post" action="/Contact.aspx" id="form"> 545<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="nmYXZnPXRSt+vhrKm67DvStsZuBWNK/86UYqFW0lbo9lUqRUYJXZ2J2e05fig9ua5+QXcun0yMwI9IY+iDNgnrySp71qqYp46HJMzgw20ebIlVxJdTlz+/P3ivWzhjR9ggn32VjMGgtiq8hCCOlo4bRxXnNXr638FgF0JNCDhRXRApCyuFU/wtbVPlEj5gtSCHy5ulVcJtXHzlrv58FlrdYNDR/QgRKWYpP3KrH0vdrabjoVh01quoQzT6e0OL19a8ygEYGPQkrp+8hNFNnFMRJJRcxfgGDiRxEB05zHicNSLk6nStBfKidWBfwSIgHhVW9aKQVDQjGyyN5SnYq4tZ4scbcSGVFtLRuYzpQzJfNm1B1GkBs5wM6c1IOdmgwsGoczWBkX54VDAfVNn0iasLJI7LmGatBd4RBDyFBgQaDr9RKcSSwgKelBLqSGWRBlZqzUgyWDmIHStdAH33PY5OOhg2ifob0mnv42CIshvj7xMLMF6WylsHgXqbchWd6r" /> 546 547
548<script src="/Assets/common/wcag/js/pause-control.js" type="text/javascript"></script>
548<input type="hidden" name="lng" id="lng" value="en-US" />
549<script type="text/javascript"> 550 //<![CDATA[ 551 552function PM_Postback(param) { if (window.top.HideScreenLockWarningAndSync) { window.top.HideScreenLockWarningAndSync(1080); } if(window.CMSContentManager) { CMSContentManager.allowSubmit = true; }; __doPostBack('m$am',param); } 553function PM_Callback(param, callback, ctx) { if (window.top.HideScreenLockWarningAndSync) { window.top.HideScreenLockWarningAndSync(1080); }if (window.CMSContentManager) { CMSContentManager.storeContentChangedStatus(); };WebForm_DoCallback('m$am',param,callback,ctx,null,true); } 554//]]> 555</script>
vendor: 2 bytes, line 555
555
556<script src="/ScriptResource.axd?d=NJmAwtEo3Ipnlaxl6CMhvgm388C7z57L5COL7njlfxHabVp02JjeGBqhojV0DvhOls37naEdTKvtve-DZGAUfkLhXnkKZ0JM5n8W_iT84YozJbVtHk6XR7HfTxh00jaQbIJ5RlBvWf7fnz-N3zpSVKNk_Hm4b82dGd4p6rDl7rs1&t=fffffffff7f39b88" type="text/javascript"></script>
vendor: 2 bytes, line 556
556
557<script type="text/javascript"> 558 //<![CDATA[ 559 560var CMS = CMS || {}; 561CMS.Application = { 562 "language": "en", 563 "imagesUrl": "/CMSPages/GetResource.ashx?image=%5bImages.zip%5d%2f", 564 "isDebuggingEnabled": false, 565 "applicationUrl": "/", 566 "isDialog": false, 567 "isRTL": "false" 568}; 569 570//]]> 571</script>
571 572<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="A5343185" /> 573 574 <div id="ctxM"> 575 576</div> 577 578 579 580 581 582 583 584 585 586<!-- MediaViewer Added -->
587<script type="text/javascript"> 588(function () { 589 590 // Per-instance suffix â matches the id suffix the code-behind (Initialize()) applies to 591 // popup-overlay/popUpWindowDialog/popUpWindowHeader/divCloseButton/popBtnClose/popUpWindowText, 592 // so two PopUp instances on one page never collide in DOM ids OR in this closure's JS scope. 593 var suffix = 'p_lt_zoneAnalytics_PopUp_PopUpWindow'; 594 var dialogSelector = '#popUpWindowDialog_' + suffix; 595 var overlaySelector = '#popup-overlay_' + suffix; 596 var containerSelector = '#' + suffix; // the PopUpWindow panel itself (.popUpWindowLightBox) 597 598 // Remembers the element focused before the dialog opened so focus can be restored on close (WCAG 2.4.3). 599 var f_lastFocusedBeforeDialog = null; 600 601 // Returns the currently focusable, visible elements inside the open dialog. 602 // Null-guarded: returns an empty jQuery set when the dialog markup is absent/empty. 603 function f_getDialogFocusables() { 604 var $dialog = $(dialogSelector); 605 if ($dialog.length === 0) { return $(); } 606 return $dialog 607 .find('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])') 608 .filter(':visible'); 609 } 610 611 function f_dialogIsOpen() { 612 var $dialog = $(dialogSelector); 613 return $dialog.length > 0 && $dialog.is(':visible'); 614 } 615 616 // WCAG 2.4.11 â while the dialog is open, mark every non-dialog sibling `inert` + `aria-hidden` so focu
616s/AT can't escape behind it. 617 function f_inertBackground() { 618 var dialog = document.querySelector(containerSelector); 619 var overlay = document.querySelector(overlaySelector); 620 if (!dialog) { return; } 621 var ancestor = dialog; 622 while (ancestor && ancestor.parentElement) { 623 var parent = ancestor.parentElement; 624 Array.prototype.forEach.call(parent.children, function (sibling) { 625 if (sibling === ancestor || sibling === overlay) { return; } 626 if (sibling.tagName === 'SCRIPT' || sibling.tagName === 'STYLE' || sibling.tagName === 'LINK') { return; } 627 if (sibling.hasAttribute('data-popup-was-inert')) { return; } 628 sibling.setAttribute('data-popup-was-inert', sibling.hasAttribute('inert') ? '1' : '0'); 629 sibling.setAttribute('data-popup-was-aria-hidden', sibling.getAttribute('aria-hidden') || ''); 630 sibling.setAttribute('inert', ''); 631 sibling.setAttribute('aria-hidden', 'true'); 632 }); 633 if (parent === document.body) { break; } 634 ancestor = parent; 635 } 636 } 637
638 function f_restoreBackground() { 639 var marked = document.querySelectorAll('[data-popup-was-inert]'); 640 Array.prototype.forEach.call(marked, function (el) { 641 if (el.getAttribute('data-popup-was-inert') === '0') { el.removeAttribute('inert'); } 642 var prev = el.getAttribute('data-popup-was-aria-hidden'); 643 if (prev) { el.setAttribute('aria-hidden', prev); } else { el.removeAttribute('aria-hidden'); } 644 el.removeAttribute('data-popup-was-inert'); 645 el.removeAttribute('data-popup-was-aria-hidden'); 646 }); 647 } 648 649 function f_showDialog(modal) { 650 if ($(dialogSelector).length > 0) { 651 // Remember where focus was so it can be restored on close (WCAG 2.4.3). 652 f_lastFocusedBeforeDialog = document.activeElement; 653 $(overlaySelector).show(); 654 $(containerSelector).fadeIn(300, function () { 655 f_inertBackground(); 656 // Move focus into the dialog once it is visible (focusing a hidden element silently fails). 657 var $focusables = f_getDialogFocusables(); 658 if ($focusables.length) { 659 $focusables.first().focus(); 660 } else { 661 $(dialogSelector).attr('tabindex', '-1').focus(); 662 } 663 }); 664 if (modal) { 665 $(overlaySelector).unbind('click'); 666 } else { 667 $(overlaySelector).click(function () { 668 f_hideDialog(); 669 }); 670 } 671 } 672 } 673 674 function f_hideDialog() { 675 $(overlaySelector).hide(); 676 $(containerSelector).fadeOut(300);
677 f_restoreBackground(); 678 // Return focus to the element that was focused before the dialog opened (WCAG 2.4.3). 679 if (f_lastFocusedBeforeDialog && typeof f_lastFocusedBeforeDialog.focus === 'function') { 680 f_lastFocusedBeforeDialog.focus(); 681 } 682 f_lastFocusedBeforeDialog = null; 683 } 684 685 function f_setSessionCookie(cookieName, value) { 686 document.cookie = cookieName + "=" + value; 687 } 688 689 function f_getSessionCookie(cookieName) { 690 var cookieValue = document.cookie; 691 var cookieStart = cookieValue.indexOf(" " + cookieName + "="); 692 if (cookieStart == -1) { 693 cookieStart = cookieValue.indexOf(cookieName + "="); 694 } 695 if (cookieStart == -1) { 696 cookieValue = null; 697 } 698 else { 699 cookieStart = cookieValue.indexOf("=", cookieStart) + 1; 700 var cookieEnd = cookieValue.indexOf(";", cookieStart); 701 if (cookieEnd == -1) { 702 cookieEnd = cookieValue.length; 703 } 704 cookieValue = unescape(cookieValue.substring(cookieStart, cookieEnd)); 705 } 706 return cookieValue; 707 } 708 709 // Registered per instance (keyed by suffix) so the inline onclick="RpPopUp['<suffix>'].hideDialog()" 710 // built in Initialize() always targets this instance's own closure, never a sibling PopUp's. 711 window.RpPopUp = window.RpPopUp || {}; 712 window.RpPopUp[suffix] = { 713 showDialog: f_showDialog, 714 hideDialog: f_hideDialog 715 }; 716 717 $(document).ready(function () { 718 var disableOnMobile = 'False'; 719 var isSmallScreenDevice = $(window).width() <= 500; 720 721 var cookie = f_getSessionCookie('showOnPageLoad'); 722 var endDate = ''; 723 var convertedEndDate = new Date(endDate + " 23:59:59"); 724 var today = new Date(); 725 726 var page = '~/Contact.aspx'; 727 //should only popup for the home page 728 if (page == "~/" && (!endDate || convertedEndDate > today)) { 729 if (!cookie || 'False'.toLowerCase() == 'true') { 730 if (('False'.toLowerCase() == 'true' || 'False'.toLowerCase() == 'true') && ((disableOnMobile.toLowerCase() == 'false' || !isSmallScreenDevice))) { 731 f_showDialog(true); 732 } 733 f_setSessionCookie('showOnPageLoad', false); 734 } 735 } 736 737 $(document).keydown(function (event) { 738 // Only act while the dialog is actually open so Esc/Tab never affect a hidden dialog. 739 if (!f_dialogIsOpen()) { return; } 740 741 if (event.keyCode == 27) { // Esc â preserve existing close behavior (avoids a 2.1.2 keyboard trap) 742 f_hideDialog(); 743 return; 744 } 745 746 if (event.keyCode == 9) { // Tab / Shift+Tab â confine focus to the dialog (WCAG 2.4.11 / 2.4.3) 747 var $focusables = f_getDialogFocusables(); 748 if ($focusables.length === 0) { 749 // No focusable content inside the dialog: keep focus on the container. 750 event.preventDefault(); 751 $(dialogSelector).attr('tabindex', '-1').focus(); 752 return; 753 } 754 var first = $focusables.first()[0]; 755 var last = $focusables.last()[0]; 756 var active = document.activeElement; 757 if (event.shiftKey && active === first) { 758 event.preventDefault(); 759 $(last).focus(); 760 } else if (!event.shiftKey && active === last) { 761 event.preventDefault(); 762 $(first).focus(); 763 } else if ($focusables.index(active) === -1) { 764 // Focus is currently outside the dialog (e.g. on <body> after an auto-open) â pull it in. 765 event.preventDefault(); 766 $(first).focus(); 767 } 768 } 769 }); 770 }); 771 772})(); 773</script>
773 774 775<div id="popup-overlay_p_lt_zoneAnalytics_PopUp_PopUpWindow" class="popup-overlay"></div> 776<div id="p_lt_zoneAnalytics_PopUp_PopUpWindow" class="popUpWindowLightBox"> 777 <div id="popUpWindowDialog_p_lt_zoneAnalytics_PopUp_PopUpWindow" class="popUpWindowDialog" role="dialog" aria-modal="true" aria-label="Promotion"><div id="divCloseButton_p_lt_zoneAnalytics_PopUp_PopUpWindow" class="divCloseButton"><button id="popBtnClose_p_lt_zoneAnalytics_PopUp_PopUpWindow" class="popBtnClose" onclick="RpPopUp['p_lt_zoneAnalytics_PopUp_PopUpWindow'].hideDialog()" aria-label="Close Window" tabindex="0" type="button">Close</button></div><div id="popUpWindowText_p_lt_zoneAnalytics_PopUp_PopUpWindow" class="popUpWindowText"><p style="text-align: center;"><br /></p></div></div> 778</div> 779 780 781 782 783<header class="head-wrap pattern" id="header"> 784 785 <div id="" class="header-container"><div id="menu-screen-overlay"></div><div id="" class="toolbar"><div id="" class="header-phone"> 786<a class="seo-number" href="tel:(408) 539-9651" onclick="f_analyticsSendEvent('general', 'click-phone-number', '(408) 539-9651')">(408) 539-9651</a></div><div id="" class="header-social"><div id="p_lt_zoneHeader_WebPartZone8_WebPartZone8_zone_SocialMedia1_pnlSocialNetworks" class="social_media"> 787 <ul class="social-list" style="list-style:none;margin:0;padding:0;"><li style="display:inline-block;"><a href="https://www.facebook.com/TheFranciscanApts/" class="facebook" title="" target="_blank" rel="noopener noreferrer" onclick="f_analyticsSendEvent('social', 'click-facebook-icon', 'https://www.facebook.com/TheFranciscanApts/')" role="button" aria-label="facebook (opens in a new tab)"> 788 <em class="sicon-facebook" aria-hidden="true"></em></a></li><li style="display:inline-block;"><a href="https://www.instagram.com/thefranciscanapts/" class="instagram" title="" target="_blank" rel="noopener noreferrer" onclick="f_analyticsSendEvent('social', 'click-instagram-icon', 'https://www.instagram.com/thefranciscanapts/')" role="button" aria-label="instagram (opens in a new tab)"> 789 <em class="sicon-instagram" aria-hidden="true"></em></a></li></ul> 790</div></div></div><div id="" class="main-head"><div class="header-left"> 791<a class="logo scroll-notice" href="/home" title="Home"><img id="p_lt_zoneHeader_WebPartZone7_WebPartZone7_zone_EditableImage_ucEditableImage_imgImage" src="https://capi.myleasestar.com/v2/dimg/156229414/300x200/156229414.png" alt="" /> 792 793</a> 794</div><div class="header-right"><div class="header-ctas"> 795 <a class="button cta1"><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Button without Auto Highlight</title> <style> /* Import a modern font */ @import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); :root { --button-bg-default: transparent; --button-text-color: #111; --button-padding: 0.5rem 1.25rem; --button-border-radius: 0.75rem; --button-transition: none; /* no transition since no highlight */ } body { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #ffffff; padding: 2rem; color: #6b7280; } .no-border { border: none; background-color: var(--button-bg-default); color: var(--button-text-color); padding: var(--button-padding); border-radius: var(--button-border-radius); font-weight: 600; font-size: 1.3rem; cursor: pointer; user-select: none; display: inline-block; text-align: center; /* Remove all hover/focus styles */ transition: var(--button-transition); } /* Remove hover background highlight */ .no-border:hover { background-color: transparent !important; } /* Remove focus outline and highlight */ .no-border:focus, .no-border:focus-visible { outline: none; box-shadow: none; background-color: transparent !important; } </style>
796<script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script>
796 797
797<script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV",function(){function e(){if(!i){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,o.parentNode.appendChild(e),i=!0}}function t(e){i=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(o.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",o.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV";var o=document.currentScript||document.getElementsByTagName("script")[0],i=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!i)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),o.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="z54ccjax2t44m2wcpdmq-f-850c5497a-clientnsv4-s.akamaihd.net",o="false"=="true"?2:1,i={"ak.v":"41","ak.cp":"1592120","ak.ai":parseInt("1022256",10),"ak.ol":"0","ak.cr":0,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"e19fcbf","ak.r":42005,"ak.a2":n,"ak.m":"","ak.n":"essl","ak.cport":29589,"ak.gh":"23.220.105.207","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1791129817","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==GemU/8UBH7Xs380MbbebnQEfmMyXvaKhmjykBLUVfNZlrDsMNXGViLjkf4B8h5py9+TsVTCd3OMgrZ7Xue1QTIz8+wbQnlAUYrayGeANnROOzT8wNJHnmgcN+MjnzKuOUJCA3E1m/iZtNTuT5HlX65iLxtlj9K0a6IBnq5kih3pIr8Y7OmIT2MYlbvaZenRAGyoLPtMWgREPQHa1a8aBh99Xb+oos9J8m34QZ/8FBgBkFBhzFfPzDXlrxxT0133nK9+pMK6xNF/AILujl8Z+NOCUYuSTyzighe3k0tIeI32MZeoVEwNWzoHopr0iNFhpLmIBZMHCj/blZZikuts0Yh3INyntjQteKzpvgqtbE9Y9NOaw3SA66KyZ7NiTjRWCvB33hlk6+wcwXQpak2bMKMuaOGXz0hLIfs34Kq3tKmQ=","ak.pv":"8","ak.dpoabenc":"","ak.tf":o};if(""!==t)i["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))i["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(i)},rv:function(){var e=["ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:i,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script>
797</head> <body> <button onclick="event.preventDefault(); knockDoorway.openScheduling();" class="no-border" type="button" aria-label="Schedule a Tour">Schedule a Tour</button>
797<script type="text/javascript"> // Sample mock knockDoorway object for demonstration const knockDoorway = { openScheduling: function() { alert('Open scheduling modal or workflow'); } }; </script>
797 </body> </html></a> 798 799 <a href="/onlineleasing.aspx" target="_self" class="button cta2">Apply Now</a> 800</div><div id="" class="header-menu"> 801 <ul id="menuElem"> 802 <li class="homeNav"> 803 <a href="/">Home</a> 804 </li> 805 <li class="amenitiesNav"> 806 <a href="/Amenities.aspx">Amenities</a> 807 </li> 808 <li class="floor-plansNav"> 809 <a href="/Floor-Plans.aspx">Floor Plans</a> 810 </li> 811 <li class="galleryNav"> 812 <a href="/Gallery.aspx">Gallery</a> 813 </li> 814 <li class="neighborhoodNav"> 815 <a href="/Neighborhood.aspx">Location</a> 816 </li> 817 <li class="residentsNav"> 818 <a href="/Residents.aspx">Residents</a> 819 </li> 820 <li class="contactNav"> 821 <a href="/Contact.aspx">Contact</a> 822 </li> 823 824 </ul> 825 826 827<ul class="menuElem"> 828 <li><a class="button cta1"><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Button without Auto Highlight</title> <style> /* Import a modern font */ @import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); :root { --button-bg-default: transparent; --button-text-color: #111; --button-padding: 0.5rem 1.25rem; --button-border-radius: 0.75rem; --button-transition: none; /* no transition since no highlight */ } body { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #ffffff; padding: 2rem; color: #6b7280; } .no-border { border: none; background-color: var(--button-bg-default); color: var(--button-text-color); padding: var(--button-padding); border-radius: var(--button-border-radius); font-weight: 600; font-size: 1.3rem; cursor: pointer; user-select: none; display: inline-block; text-align: center; /* Remove all hover/focus styles */ transition: var(--button-transition); } /* Remove hover background highlight */ .no-border:hover { background-color: transparent !important; } /* Remove focus outline and highlight */ .no-border:focus, .no-border:focus-visible { outline: none; box-shadow: none; background-color: transparent !important; } </style>
829<script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script>
829 830
830<script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV",function(){function e(){if(!i){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,o.parentNode.appendChild(e),i=!0}}function t(e){i=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(o.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",o.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"Y2PYZ-3WZ5U-9VEDC-WUEHY-8N7AV";var o=document.currentScript||document.getElementsByTagName("script")[0],i=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!i)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),o.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="z54ccjax2t44m2wcpdmq-f-850c5497a-clientnsv4-s.akamaihd.net",o="false"=="true"?2:1,i={"ak.v":"41","ak.cp":"1592120","ak.ai":parseInt("1022256",10),"ak.ol":"0","ak.cr":0,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"e19fcbf","ak.r":42005,"ak.a2":n,"ak.m":"","ak.n":"essl","ak.cport":29589,"ak.gh":"23.220.105.207","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1791129817","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==GemU/8UBH7Xs380MbbebnQEfmMyXvaKhmjykBLUVfNZlrDsMNXGViLjkf4B8h5py9+TsVTCd3OMgrZ7Xue1QTIz8+wbQnlAUYrayGeANnROOzT8wNJHnmgcN+MjnzKuOUJCA3E1m/iZtNTuT5HlX65iLxtlj9K0a6IBnq5kih3pIr8Y7OmIT2MYlbvaZenRAGyoLPtMWgREPQHa1a8aBh99Xb+oos9J8m34QZ/8FBgBkFBhzFfPzDXlrxxT0133nK9+pMK6xNF/AILujl8Z+NOCUYuSTyzighe3k0tIeI32MZeoVEwNWzoHopr0iNFhpLmIBZMHCj/blZZikuts0Yh3INyntjQteKzpvgqtbE9Y9NOaw3SA66KyZ7NiTjRWCvB33hlk6+wcwXQpak2bMKMuaOGXz0hLIfs34Kq3tKmQ=","ak.pv":"8","ak.dpoabenc":"","ak.tf":o};if(""!==t)i["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))i["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(i)},rv:function(){var e=["ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:i,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script>
830</head> <body> <button onclick="event.preventDefault(); knockDoorway.openScheduling();" class="no-border" type="button" aria-label="Schedule a Tour">Schedule a Tour</button>
830<script type="text/javascript"> // Sample mock knockDoorway object for demonstration const knockDoorway = { openScheduling: function() { alert('Open scheduling modal or workflow'); } }; </script>
830 </body> </html></a></li> 831 832 <li><a href="/onlineleasing.aspx" target="_self" class="button cta2">Apply Now</a></li><li> 833<a class="seo-number" href="tel:(408) 539-9651" onclick="f_analyticsSendEvent('general', 'click-phone-number', '(408) 539-9651')">(408) 539-9651</a></li> 834</ul></div></div></div><div class="sps-mobile-toggle-contain"> 835 <button class="sps-mobile-toggle" href="#" title="Open Menu" role="button" type="button"> 836 <i class="fa fa-bars fa-fw fa-remove"></i> 837 </button> 838</div></div> 839</header> 840 841<main id="main-content" tabindex="-1"> 842 <div id="wrapper" class="content-wrap"> 843 844 845 846 847 848<section id="home" class="block-area container-fluid"><div id="" class="content-home content-row row"><div id="" class="hero-container pattern black-border"><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneHomeSection_WebPartZone3_WebPartZone3_zone_WebPartLoader5_pnlContainer"> 849 850
851<script type="text/javascript"> 852 $(function () { 853 854 var target; 855 var animType = 'slide'; 856 var slideshowSpeed = 5000; 857 var overlayOpacity = 25; 858 var timingRun = setInterval(function () { f_rightClick(animType); }, slideshowSpeed); 859 // TFS 2987210 (WCAG 2.2.2 Pause, Stop, Hide -- Level A). Sticky user-pause flag. 860 // This gallery already had a clearInterval, but ONLY inside resetTiming(), which 861 // immediately re-arms the timer -- a debounce, not a stop. Every arrow click, bullet 862 // click and auto-advance funnels through resetTiming(), so a plain clearInterval from 863 // a pause button would be silently undone by the user's very next interaction. This 864 // flag is what makes the stop a real stop; resetTiming() below honours it. 865 var bgUserPaused = false; 866 var bgImageHeight; 867 var numBgImages; 868 var rpbgId = '#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneHomeSection_WebPartZone3_WebPartZone3_zone_WebPartLoader5_ctl00_background_gallery'; 869 var backgroundGalleryLazyLoad = 'False'; 870 var backgroundGalleryImageSize = '1920x1080'; 871 var backgroundGalleryObserver; 872 873 $(document).ready(function () { 874 875 $(window).on( "menuStateChangeEvent", function( event, params ) { 876 f_bgResize(); 877 }); 878 if (backgroundGalleryLazyLoad.toLowerCase() == 'true' && navigator.userAgent.toLocaleLowerCase().indexOf('safari') == -1) { 879 try { 880 backgroundGalleryObserver = new IntersectionObserver(bgIntersectCallback, intersectOptions); 881 backgroundGalleryObserver.observe(document.querySelector(rpbgId)); 882 if ($('#head').length > 0) { 883 backgroundGalleryObserver.observe(document.querySelector('#head')); 884 } 885 } catch (err) { 886 console.warn(err); 887 } 888 } else { 889 f_convertBgImages(); 890 } 891 }); 892 893 var bgIntersectCallback = function (entries, observer) { 894 if (entries && entries[0].isIntersecting) { 895 f_convertBgImages(); 896 backgroundGalleryObserver.unobserve(document.querySelector(rpbgId)); 897 } 898 } 899 900 function f_convertBgImages() { 901 $('.bg-images li').each(function (i, v) { 902 var url = $(v).find('meta[itemprop="contentUrl"]').attr('content'); 903 var newImageWidth = $(window).width() * window.devicePixelRatio; 904 newImageWidth = Math.round(newImageWidth) + 'x0'; 905 url = url.replace('dimg', 'dimg-crop').replace(backgroundGalleryImageSize, newImageWidth); 906 907 $(v).css("background-image", 'url("' + url + '")'); 908 }); 909 if ('True'.toLowerCase() == 'true' && screen.width < 500) 910 $(rpbgId + ' .dbg').remove(); 911 else 912 $(rpbgId + ' .mbg').remove(); 913 914 if ('False'.toLowerCase() == 'true' || $(rpbgId + ' .background-gallery .bg-images li').length < 2 || animType == 'none') 915 $(rpbgId + ' .bg-bullets').hide(); 916 917 if ($(rpbgId + ' .background-gallery .bg-images li').length < 2 || animType == 'none') { 918 $(rpbgId + ' .bg-arrow-left').hide(); 919 $(rpbgId + ' .bg-arrow-right').hide(); 920 } 921 922 $(rpbgId + ' .background-gallery .li-image').addClass('overlay-opacity-' + overlayOpacity); 923 924 if (animType == 'none') { 925 $(rpbgId + ' .bg-images li').hide(); 926 $(rpbgId + ' .bg-images li').first().show(); 927 } 928 929 if (animType == 'slide' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 930 var firstImage = $(rpbgId + ' .bg-images li').first(); 931 var lastImage = $(rpbgId + ' .background-gallery .bg-images li').last(); 932 firstImage.clone().appendTo(rpbgId + ' .bg-images'); 933 lastImage.clone().prependTo(rpbgId + ' .bg-images'); 934 } else 935 $(rpbgId + ' .bg-images li').first().css('opacity', 1); 936 937 bgImageHeight = $(rpbgId + '.background-gallery-container').parent().parent().height(); 938 $(rpbgId + ' .background-gallery .bg-images').height(bgImageHeight); 939 window.addEventListener('resize', function () { 940 f_bgResize(); 941 }); 942 $(window).resize(function () { 943 f_bgResize(); 944 }); 945 numBgImages = $(rpbgId + ' .bg-images li').length; 946 947 f_bgResize(); 948 949 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 950 $(rpbgId + ' .background-gallery .bg-images').css('left', '-' + $(rpbgId + '.background-gallery-container').width() + 'px'); 951 } 952 953 $(rpbgId + ' .bg-bullets li').first().addClass('bg-selected'); 954 955 $(rpbgId + ' .bg-bullets li').click(function () { 956 if (!$(this).hasClass('bg-selected')) { 957 target = $(this).index(); 958 f_sliderResponse(target, animType); 959 resetTiming(animType); 960 } 961 }); 962 $(rpbgId + ' .bg-arrow-right').click(function () { 963 f_rightClick(animType); 964 }); 965 $(rpbgId + ' .bg-arrow-left').click(function () { 966 f_leftClick(animType); 967 }); 968 969 $(rpbgId + ' .bg-images li').on('swipeleft', function () { 970 f_rightClick('slide'); 971 }).on('swiperight', function () { 972 f_leftClick('slide'); 973 }); 974 975 // TFS 2987210 (WCAG 2.2.2 Pause, Stop, Hide -- Level A). Attached here, at the 976 // end of f_convertBgImages, because that is the point at which the slide count 977 // is finally known: the 'slide' branch above clones the first and last images, 978 // so an earlier count would be wrong. Gated on the same tw
978o conditions the 979 // arrows and bullets use, since when either fails nothing is rotating and a 980 // pause control would be a lie. 981 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1 && window.RPPauseControl) { 982 window.RPPauseControl.attach({ 983 container: rpbgId, 984 overlay: true, 985 key: 'background-gallery', 986 onPause: function () { 987 bgUserPaused = true; 988 clearInterval(timingRun); 989 }, 990 onPlay: function () { 991 bgUserPaused = false; 992 resetTiming(animType); 993 } 994 }); 995 } 996 } 997 998 function f_sliderResponse(target, animType) { 999 $(rpbgId + ' .bg-images').stop(true, true); 1000 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1001 if (animType != 'fade') 1002 $(rpbgId + ' .bg-images').animate({ 'left': '-' + (imageWidth * (target + 1)) + 'px' }, function () { });
1003 else { 1004 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { }); 1005 $(rpbgId + ' .bg-images li').each(function (i, v) { 1006 if (i != target) 1007 $(v).animate({ opacity: 0 }); 1008 }); 1009 } 1010 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1011 } 1012 function f_rightClick(animType) { 1013 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1014 $(rpbgId + ' .bg-images').stop(true, true); 1015 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1016 var newPosition; 1017 1018 if (animType == 'slide') { 1019 if ($(rpbgId + ' .bg-images').position().left % 1 != 0) 1020 f_bgResize(); 1021 newPosition = Math.round($(rpbgId + ' .bg-images').position().left) - imageWidth; 1022 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1023 target === $(rpbgId + ' .background-gallery .bg-images li').length - 2 ? target = 0 : target = target + 1; 1024 $(rpbgId + ' .bg-images').animate({ 'left': newPosition + 'px' }, function () { 1025 if (Math.abs(newPosition) == ($(rpbgId + ' .background-gallery .bg-images li').length - 1) * imageWidth) { 1026 $(rpbgId + ' .bg-images').css({ 'left': '-' + imageWidth + 'px' }); 1027 target = 0; 1028 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1029 } 1030 }); 1031 } else if (animType == 'fade') { 1032 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1033 target === $(rpbgId + ' .background-gallery .bg-images li').length - 1 ? target = 0 : target = target + 1; 1034 1035 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { });
1036 $(rpbgId + ' .bg-images li').each(function (i, v) { 1037 if (i != target) 1038 $(v).css('opacity', 0); 1039 }); 1040 if (target == 0) 1041 $(rpbgId + ' .bg-images li').last().animate({ opacity: 0 }, function () { }); 1042 } 1043 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1044 resetTiming(animType); 1045 } 1046 } 1047 function f_leftClick(animType) { 1048 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1049 $(rpbgId + ' .bg-images').stop(true, true); 1050 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1051 var newPosition; 1052 if (animType != 'fade') { 1053 if ($(rpbgId + ' .bg-images').position().left % 1 != 0) 1054 f_bgResize(); 1055 newPosition = Math.round($(rpbgId + ' .bg-images').position().left + imageWidth); 1056 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1057 target === 0 ? target = $(rpbgId + ' .background-gallery .bg-images li').length - 3 : target = target - 1; 1058 1059 $(rpbgId + ' .bg-images').animate({ 'left': newPosition + 'px' }, function () { 1060 if (newPosition == 0) { 1061 $(rpbgId + ' .bg-images').css({ 'left': '-' + (($(rpbgId + ' .background-gallery .bg-images li').length - 2) * imageWidth) + 'px' }); 1062 target = ($(rpbgId + ' .background-gallery .bg-images li').length - 3); 1063 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1064 } 1065 }); 1066 } else if (animType == 'fade') { 1067 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1068 target === 0 ? target = $(rpbgId + ' .background-gallery .bg-images li').length - 1 : target = target - 1; 1069 1070 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { });
1071 $(rpbgId + ' .bg-images li').each(function (i, v) { 1072 if (i != target) 1073 $(v).css('opacity', 0); 1074 }); 1075 } 1076 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1077 resetTiming(animType); 1078 } 1079 } 1080 function resetTiming(animType) { 1081 clearInterval(timingRun); 1082 // TFS 2987210: do not re-arm while the user has explicitly paused. Returning 1083 // here (rather than guarding each caller) covers all three call sites -- 1084 // f_rightClick, f_leftClick and the bullet click handler -- and means manual 1085 // navigation still works while paused without secretly restarting rotation. 1086 if (bgUserPaused) { 1087 return; 1088 } 1089 timingRun = setInterval(function () { f_rightClick(animType); }, slideshowSpeed); 1090 } 1091 function f_bgResize() { 1092 $(rpbgId + ' .bg-images').stop(true, true); 1093 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1094 var newWidth = $(rpbgId + '.background-gallery-container').width() * (target + 1); 1095 bgImageHeight = $(rpbgId + '.background-gallery-container').parent().parent().height(); 1096 $(rpbgId + ' .background-gallery .bg-images').height(bgImageHeight); 1097 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) 1098 $(rpbgId + ' .background-gallery .bg-images').css('left', '-' + newWidth + 'px'); 1099 $(rpbgId + ' .background-gallery .li-image').css('width', $(rpbgId + '.background-gallery-container').width() + 'px'); 1100 $(rpbgId + ' .background-gallery').css('width', $(rpbgId + '.background-gallery-container').width() + 'px'); 1101 $(rpbgId + ' .background-gallery ul.bg-images').css('width', ($(rpbgId + '.background-gallery-container').width() * numBgImages) + 'px'); 1102 } 1103 }); 1104</script>
1104 1105 1106<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneHomeSection_WebPartZone3_WebPartZone3_zone_WebPartLoader5_ctl00_background_gallery" class="background-gallery-container"> 1107 <div id="rpbg-p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneHomeSection_WebPartZone3_WebPartZone3_zone_WebPartLoader5_ctl00_background_gallery" class="background-gallery bg-slide"><ul class="bg-images mbg"><li class="li-image li-image-0"> 1108 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1109 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684318/800x0/176684318.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 1110 <div class="bg-caption-container"> 1111 <div class="bg-caption"></div> 1112 <div class="bg-description"></div> 1113 </div> 1114 </li><li class="li-image li-image-1"> 1115 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1116 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684324/800x0/176684324.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 1117 <div class="bg-caption-container"> 1118 <div class="bg-caption"></div> 1119 <div class="bg-description"></div> 1120 </div> 1121 </li><li class="li-image li-image-2"> 1122 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1123 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434321/800x0/155434321.jpg" /></div> 1124 <div class="bg-caption-container"> 1125 <div class="bg-caption"></div> 1126 <div class="bg-description"></div> 1127 </div> 1128 </li><li class="li-image li-image-3"> 1129 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1130 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155435759/800x0/155435759.jpg" /></div> 1131 <div class="bg-caption-container"> 1132 <div class="bg-caption"></div> 1133 <div class="bg-description"></div> 1134 </div> 1135 </li><li class="li-image li-image-4"> 1136 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1137 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684307/800x0/176684307.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appli
1137ances" /></div> 1138 <div class="bg-caption-container"> 1139 <div class="bg-caption"></div> 1140 <div class="bg-description"></div> 1141 </div> 1142 </li></ul><button type="button" class="bg-arrow-left mbg" aria-label="Previous slide"> </button> 1143 <button type="button" class="bg-arrow-right mbg" aria-label="Next slide"> </button><ul class="bg-bullets mbg"><li class="bg-bullet-0">â</li><li class="bg-bullet-1">â</li><li class="bg-bullet-2">â</li><li class="bg-bullet-3">â</li><li class="bg-bullet-4">â</li></ul><ul class="bg-images dbg"><li class="li-image li-image-0"> 1144 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1145 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 1146 <div class="bg-caption-container"> 1147 <div class="bg-caption"></div> 1148 <div class="bg-description"></div> 1149 </div> 1150 </li><li class="li-image li-image-1"> 1151 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1152 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 1153 <div class="bg-caption-container"> 1154 <div class="bg-caption"></div> 1155 <div class="bg-description"></div> 1156 </div> 1157 </li><li class="li-image li-image-2"> 1158 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1159 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg" /></div> 1160 <div class="bg-caption-container"> 1161 <div class="bg-caption"></div> 1162 <div class="bg-description"></div> 1163 </div> 1164 </li><li class="li-image li-image-3"> 1165 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1166 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155435759/1920x1080/155435759.jpg" /></div> 1167 <div class="bg-caption-container"> 1168 <div class="bg-caption"></div> 1169 <div class="bg-description"></div> 1170 </div> 1171 </li><li class="li-image li-image-4"> 1172 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1173 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appli
1173ances" /></div> 1174 <div class="bg-caption-container"> 1175 <div class="bg-caption"></div> 1176 <div class="bg-description"></div> 1177 </div> 1178 </li></ul><button type="button" class="bg-arrow-left dbg" aria-label="Previous slide"> </button> 1179 <button type="button" class="bg-arrow-right dbg" aria-label="Next slide"> </button><ul class="bg-bullets dbg"><li class="bg-bullet-0">â</li><li class="bg-bullet-1">â</li><li class="bg-bullet-2">â</li><li class="bg-bullet-3">â</li><li class="bg-bullet-4">â</li></ul></div> 1180 </div> 1181</div> 1182<div id="" class="hero-content"><p><em>Welcome To</em></p> 1183<p><strong>The Franciscan</strong></p> 1184<p><u>A Campbell, CA Community</u></p> 1185<div class="scroll-button"> 1186 <a href="#homeContent" class="rp-scroll" style="color:white;"><i class="fa fa-angle-down" aria-hidden="true"></i></a> 1187</div></div></div><div id="homeContent" class="home-main-content-wrapper row"><div class="clearfix col-lg-6 col-sm-12 col-xs-12 column-wrapper home-right-image"> 1188 <div class="content-right home-column"> 1189 <p>Your New Home</p> 1190 <p><strong>Awaits</strong></p> 1191 </div> 1192</div><div id="" class="clearfix col-lg-6 col-md-8 col-sm-10 col-xs-12 column-wrapper"><div class="content-left home-column clearfix"> 1193<div class="wrapper col-lg-12"> 1194<h1>Welcome Home</h1> 1195<div><div><span style="font-size: 16px;">Welcome to The Franciscan, a residential community featuring one and two bedroom apartments in Campbell, CA. Spacious layouts and amenities welcome you home, along with exceptional service and an ideal location within walking distance to shopping, dining and entertainment options. Are you looking for an apartment for rent in Campbell, CA? Contact our friendly, professional leasing team to schedule a tour today.</span></div></div> 1196</div> 1197</div></div></div></div></section> 1198<section id="amenities" class="block-area container-fluid"><div id="" class="home-banner amenities-banner black-border row"><div class="banner-overlay"></div><div class="banner-content"> 1199<h2>Amenities</h2> 1200</div></div><div id="" class="amenities-content"><div class="col-lg-2 col-md-1 col-sm-1 hidden-xs"></div> 1201<div class="clearfix col-lg-8 col-md-10 col-sm-10 col-xs-12 column-wrapper home-content-sub-content"> 1202 <div class="home-column"> 1203 <div class="wrapper"> 1204 <h1>Luxurious Amenities at The Franciscan</h1> 1205 <div class="main-content"> 1206 <div><span style="font-size: 16px;">Residences at The </span><span style="font-size: 16px;">Franciscan are thoughtfully designed with comfort and convenience in mind while stylishly appointed with premium materials and finishes.</span><br /></div><div><span style="font-size: 16px;"><br /></span></div><div><span style="font-size: 16px;">*in select units</span></div><div><br /></div> 1207 </div> 1208 </div> 1209 </div> 1210</div> 1211<div class="col-lg-2 col-md-1 col-sm-1 hidden-xs"></div> 1212</div><div class="container-fluid amenities-container"> 1213<div class="row amenities-row amenities-row-gallery"> 1214<div class="col-sm-1 hidden-lg hidden-md hidden-xs"></div> 1215 1216<div class="col-lg-12 col-sm-10 col-xs-12 amenities-gallery"><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader4_pnlContainer"> 1217 1218
1219<script type="text/javascript"> 1220 $(function () { 1221 1222 var target; 1223 var animType = 'slide'; 1224 var slideshowSpeed = 5000; 1225 var overlayOpacity = 0; 1226 var timingRun = setInterval(function () { f_rightClick(animType); }, slideshowSpeed); 1227 // TFS 2987210 (WCAG 2.2.2 Pause, Stop, Hide -- Level A). Sticky user-pause flag. 1228 // This gallery already had a clearInterval, but ONLY inside resetTiming(), which 1229 // immediately re-arms the timer -- a debounce, not a stop. Every arrow click, bullet 1230 // click and auto-advance funnels through resetTiming(), so a plain clearInterval from 1231 // a pause button would be silently undone by the user's very next interaction. This 1232 // flag is what makes the stop a real stop; resetTiming() below honours it. 1233 var bgUserPaused = false; 1234 var bgImageHeight; 1235 var numBgImages; 1236 var rpbgId = '#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader4_ctl00_background_gallery'; 1237 var backgroundGalleryLazyLoad = 'False'; 1238 var backgroundGalleryImageSize = '1920x1080'; 1239 var backgroundGalleryObserver; 1240 1241 $(document).ready(function () { 1242 1243 $(window).on( "menuStateChangeEvent", function( event, params ) { 1244 f_bgResize(); 1245 }); 1246 if (backgroundGalleryLazyLoad.toLowerCase() == 'true' && navigator.userAgent.toLocaleLowerCase().indexOf('safari') == -1) { 1247 try { 1248 backgroundGalleryObserver = new IntersectionObserver(bgIntersectCallback, intersectOptions); 1249 backgroundGalleryObserver.observe(document.querySelector(rpbgId)); 1250 if ($('#head').length > 0) { 1251 backgroundGalleryObserver.observe(document.querySelector('#head')); 1252 } 1253 } catch (err) { 1254 console.warn(err); 1255 } 1256 } else { 1257 f_convertBgImages(); 1258 } 1259 }); 1260 1261 var bgIntersectCallback = function (entries, observer) { 1262 if (entries && entries[0].isIntersecting) { 1263 f_convertBgImages(); 1264 backgroundGalleryObserver.unobserve(document.querySelector(rpbgId)); 1265 } 1266 } 1267 1268 function f_convertBgImages() { 1269 $('.bg-images li').each(function (i, v) { 1270 var url = $(v).find('meta[itemprop="contentUrl"]').attr('content'); 1271 var newImageWidth = $(window).width() * window.devicePixelRatio; 1272 newImageWidth = Math.round(newImageWidth) + 'x0'; 1273 url = url.replace('dimg', 'dimg-crop').replace(backgroundGalleryImageSize, newImageWidth); 1274 1275 $(v).css("background-image", 'url("' + url + '")'); 1276 }); 1277 if ('True'.toLowerCase() == 'true' && screen.width < 500) 1278 $(rpbgId + ' .dbg').remove(); 1279 else 1280 $(rpbgId + ' .mbg').remove(); 1281 1282 if ('False'.toLowerCase() == 'true' || $(rpbgId + ' .background-gallery .bg-images li').length < 2 || animType == 'none') 1283 $(rpbgId + ' .bg-bullets').hide(); 1284 1285 if ($(rpbgId + ' .background-gallery .bg-images li').length < 2 || animType == 'none') { 1286 $(rpbgId + ' .bg-arrow-left').hide(); 1287 $(rpbgId + ' .bg-arrow-right').hide(); 1288 } 1289 1290 $(rpbgId + ' .background-gallery .li-image').addClass('overlay-opacity-' + overlayOpacity); 1291 1292 if (animType == 'none') { 1293 $(rpbgId + ' .bg-images li').hide(); 1294 $(rpbgId + ' .bg-images li').first().show(); 1295 } 1296 1297 if (animType == 'slide' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1298 var firstImage = $(rpbgId + ' .bg-images li').first(); 1299 var lastImage = $(rpbgId + ' .background-gallery .bg-images li').last(); 1300 firstImage.clone().appendTo(rpbgId + ' .bg-images'); 1301 lastImage.clone().prependTo(rpbgId + ' .bg-images'); 1302 } else 1303 $(rpbgId + ' .bg-images li').first().css('opacity', 1); 1304 1305 bgImageHeight = $(rpbgId + '.background-gallery-container').parent().parent().height(); 1306 $(rpbgId + ' .background-gallery .bg-images').height(bgImageHeight); 1307 window.addEventListener('resize', function () { 1308 f_bgResize(); 1309 }); 1310 $(window).resize(function () { 1311 f_bgResize(); 1312 }); 1313 numBgImages = $(rpbgId + ' .bg-images li').length; 1314 1315 f_bgResize(); 1316 1317 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1318 $(rpbgId + ' .background-gallery .bg-images').css('left', '-' + $(rpbgId + '.background-gallery-container').width() + 'px'); 1319 } 1320 1321 $(rpbgId + ' .bg-bullets li').first().addClass('bg-selected'); 1322 1323 $(rpbgId + ' .bg-bullets li').click(function () { 1324 if (!$(this).hasClass('bg-selected')) { 1325 target = $(this).index(); 1326 f_sliderResponse(target, animType); 1327 resetTiming(animType); 1328 } 1329 }); 1330 $(rpbgId + ' .bg-arrow-right').click(function () { 1331 f_rightClick(animType); 1332 }); 1333 $(rpbgId + ' .bg-arrow-left').click(function () { 1334 f_leftClick(animType); 1335 }); 1336 1337 $(rpbgId + ' .bg-images li').on('swipeleft', function () { 1338 f_rightClick('slide'); 1339 }).on('swiperight', function () { 1340 f_leftClick('slide'); 1341 }); 1342 1343 // TFS 2987210 (WCAG 2.2.2 Pause, Stop, Hide -- Level A). Attached here, at the 1344 // end of f_convertBgImages, because that is the point at which the slide count 1345 // is finally known: the 'slide' branch above clones the first and last images, 1346 // so an earlier count would be wrong. Gated on the same tw
1346o conditions the 1347 // arrows and bullets use, since when either fails nothing is rotating and a 1348 // pause control would be a lie. 1349 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1 && window.RPPauseControl) { 1350 window.RPPauseControl.attach({ 1351 container: rpbgId, 1352 overlay: true, 1353 key: 'background-gallery', 1354 onPause: function () { 1355 bgUserPaused = true; 1356 clearInterval(timingRun); 1357 }, 1358 onPlay: function () { 1359 bgUserPaused = false; 1360 resetTiming(animType); 1361 } 1362 }); 1363 } 1364 } 1365 1366 function f_sliderResponse(target, animType) { 1367 $(rpbgId + ' .bg-images').stop(true, true); 1368 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1369 if (animType != 'fade') 1370 $(rpbgId + ' .bg-images').animate({ 'left': '-' + (imageWidth * (target + 1)) + 'px' }, function () { });
1371 else { 1372 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { }); 1373 $(rpbgId + ' .bg-images li').each(function (i, v) { 1374 if (i != target) 1375 $(v).animate({ opacity: 0 }); 1376 }); 1377 } 1378 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1379 } 1380 function f_rightClick(animType) { 1381 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1382 $(rpbgId + ' .bg-images').stop(true, true); 1383 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1384 var newPosition; 1385 1386 if (animType == 'slide') { 1387 if ($(rpbgId + ' .bg-images').position().left % 1 != 0) 1388 f_bgResize(); 1389 newPosition = Math.round($(rpbgId + ' .bg-images').position().left) - imageWidth; 1390 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1391 target === $(rpbgId + ' .background-gallery .bg-images li').length - 2 ? target = 0 : target = target + 1; 1392 $(rpbgId + ' .bg-images').animate({ 'left': newPosition + 'px' }, function () { 1393 if (Math.abs(newPosition) == ($(rpbgId + ' .background-gallery .bg-images li').length - 1) * imageWidth) { 1394 $(rpbgId + ' .bg-images').css({ 'left': '-' + imageWidth + 'px' }); 1395 target = 0; 1396 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1397 } 1398 }); 1399 } else if (animType == 'fade') { 1400 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1401 target === $(rpbgId + ' .background-gallery .bg-images li').length - 1 ? target = 0 : target = target + 1; 1402 1403 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { });
1404 $(rpbgId + ' .bg-images li').each(function (i, v) { 1405 if (i != target) 1406 $(v).css('opacity', 0); 1407 }); 1408 if (target == 0) 1409 $(rpbgId + ' .bg-images li').last().animate({ opacity: 0 }, function () { }); 1410 } 1411 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1412 resetTiming(animType); 1413 } 1414 } 1415 function f_leftClick(animType) { 1416 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) { 1417 $(rpbgId + ' .bg-images').stop(true, true); 1418 var imageWidth = $(rpbgId + '.background-gallery-container').width(); 1419 var newPosition; 1420 if (animType != 'fade') { 1421 if ($(rpbgId + ' .bg-images').position().left % 1 != 0) 1422 f_bgResize(); 1423 newPosition = Math.round($(rpbgId + ' .bg-images').position().left + imageWidth); 1424 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1425 target === 0 ? target = $(rpbgId + ' .background-gallery .bg-images li').length - 3 : target = target - 1; 1426 1427 $(rpbgId + ' .bg-images').animate({ 'left': newPosition + 'px' }, function () { 1428 if (newPosition == 0) { 1429 $(rpbgId + ' .bg-images').css({ 'left': '-' + (($(rpbgId + ' .background-gallery .bg-images li').length - 2) * imageWidth) + 'px' }); 1430 target = ($(rpbgId + ' .background-gallery .bg-images li').length - 3); 1431 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1432 } 1433 }); 1434 } else if (animType == 'fade') { 1435 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1436 target === 0 ? target = $(rpbgId + ' .background-gallery .bg-images li').length - 1 : target = target - 1; 1437 1438 $($(rpbgId + ' .bg-images li')[target]).animate({ opacity: 1 }, function () { });
1439 $(rpbgId + ' .bg-images li').each(function (i, v) { 1440 if (i != target) 1441 $(v).css('opacity', 0); 1442 }); 1443 } 1444 $(rpbgId + ' .bg-bullets li').removeClass('bg-selected').eq(target).addClass('bg-selected'); 1445 resetTiming(animType); 1446 } 1447 } 1448 function resetTiming(animType) { 1449 clearInterval(timingRun); 1450 // TFS 2987210: do not re-arm while the user has explicitly paused. Returning 1451 // here (rather than guarding each caller) covers all three call sites -- 1452 // f_rightClick, f_leftClick and the bullet click handler -- and means manual 1453 // navigation still works while paused without secretly restarting rotation. 1454 if (bgUserPaused) { 1455 return; 1456 } 1457 timingRun = setInterval(function () { f_rightClick(animType); }, slideshowSpeed); 1458 } 1459 function f_bgResize() { 1460 $(rpbgId + ' .bg-images').stop(true, true); 1461 target = $(rpbgId + ' .bg-bullets li.bg-selected').index(); 1462 var newWidth = $(rpbgId + '.background-gallery-container').width() * (target + 1); 1463 bgImageHeight = $(rpbgId + '.background-gallery-container').parent().parent().height(); 1464 $(rpbgId + ' .background-gallery .bg-images').height(bgImageHeight); 1465 if (animType != 'none' && $(rpbgId + ' .background-gallery .bg-images li').length > 1) 1466 $(rpbgId + ' .background-gallery .bg-images').css('left', '-' + newWidth + 'px'); 1467 $(rpbgId + ' .background-gallery .li-image').css('width', $(rpbgId + '.background-gallery-container').width() + 'px'); 1468 $(rpbgId + ' .background-gallery').css('width', $(rpbgId + '.background-gallery-container').width() + 'px'); 1469 $(rpbgId + ' .background-gallery ul.bg-images').css('width', ($(rpbgId + '.background-gallery-container').width() * numBgImages) + 'px'); 1470 } 1471 }); 1472</script>
1472 1473 1474<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader4_ctl00_background_gallery" class="background-gallery-container"> 1475 <div id="rpbg-p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader4_ctl00_background_gallery" class="background-gallery bg-slide"><ul class="bg-images mbg"><li class="li-image li-image-0"> 1476 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1477 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764638/800x0/176764638.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 1478 <div class="bg-caption-container"> 1479 <div class="bg-caption"></div> 1480 <div class="bg-description"></div> 1481 </div> 1482 </li><li class="li-image li-image-1"> 1483 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1484 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764632/800x0/176764632.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 1485 <div class="bg-caption-container"> 1486 <div class="bg-caption"></div> 1487 <div class="bg-description"></div> 1488 </div> 1489 </li><li class="li-image li-image-2"> 1490 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1491 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155435760/800x0/155435760.jpg" /><meta itemprop="name" content="Fitness center with equipment" /></div> 1492 <div class="bg-caption-container"> 1493 <div class="bg-caption"></div> 1494 <div class="bg-description"></div> 1495 </div> 1496 </li><li class="li-image li-image-3"> 1497 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1498 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764642/800x0/176764642.jpg" /><meta itemprop="name" content="Aerial pool view" /></div> 1499 <div class="bg-caption-container"> 1500 <div class="bg-caption"></div> 1501 <div class="bg-description"></div> 1502 </div> 1503 </li><li class="li-image li-image-4"> 1504 <div class="img_wrapper mbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1505 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764636/800x0/176764636.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 1506 <div class="bg-caption-container"> 1507 <div class="bg-caption"></div> 1508 <div class="bg-description"></div> 1509 </div> 1510 </li></ul><button type="button" class="bg-arrow-left mbg" aria-label="Previous slide"> </button> 1511 <button type="button" class="bg-arrow-right mbg" aria-label="Next slide"> </button><ul class="bg-bullets mbg"><li class="bg-bullet-0">â</li><li class="bg-bullet-1">â</li><li class="bg-bullet-2">â</li><li class="bg-bullet-3">â</li><li class="bg-bullet-4">â</li></ul><ul class="bg-images dbg"><li class="li-image li-image-0"> 1512 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1513 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 1514 <div class="bg-caption-container"> 1515 <div class="bg-caption"></div> 1516 <div class="bg-description"></div> 1517 </div> 1518 </li><li class="li-image li-image-1"> 1519 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1520 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 1521 <div class="bg-caption-container"> 1522 <div class="bg-caption"></div> 1523 <div class="bg-description"></div> 1524 </div> 1525 </li><li class="li-image li-image-2"> 1526 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1527 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155435760/1920x1080/155435760.jpg" /><meta itemprop="name" content="Fitness center with equipment" /></div> 1528 <div class="bg-caption-container"> 1529 <div class="bg-caption"></div> 1530 <div class="bg-description"></div> 1531 </div> 1532 </li><li class="li-image li-image-3"> 1533 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1534 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg" /><meta itemprop="name" content="Aerial pool view" /></div> 1535 <div class="bg-caption-container"> 1536 <div class="bg-caption"></div> 1537 <div class="bg-description"></div> 1538 </div> 1539 </li><li class="li-image li-image-4"> 1540 <div class="img_wrapper dbg" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject"> 1541 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 1542 <div class="bg-caption-container"> 1543 <div class="bg-caption"></div> 1544 <div class="bg-description"></div> 1545 </div> 1546 </li></ul><button type="button" class="bg-arrow-left dbg" aria-label="Previous slide"> </button> 1547 <button type="button" class="bg-arrow-right dbg" aria-label="Next slide"> </button><ul class="bg-bullets dbg"><li class="bg-bullet-0">â</li><li class="bg-bullet-1">â</li><li class="bg-bullet-2">â</li><li class="bg-bullet-3">â</li><li class="bg-bullet-4">â</li></ul></div> 1548 </div> 1549</div> 1550</div> 1551<div class="col-sm-1 hidden-lg hidden-md hidden-xs"></div> 1552</div><div class="row amenities-row amenities-row-widget"> 1553<div class="col-sm-1 hidden-lg hidden-md hidden-xs"> 1554</div> 1555<div class="col-lg-12 col-sm-10 col-xs-12 amenities-container"><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader1_pnlContainer"> 1556
1557<script type="text/javascript"> 1558 var unitAmenityExists = 'True'; 1559 var inSelectUnitsText = '<span>*</span> In select units'; 1560 var hideUnitAmenities = 'False'; 1561 1562 $(document).ready(function() { 1563 if ($('.view-more-community').length > 0) { 1564 $('.view-more-community').click(function() { 1565 $('.amenities-tabbed-dialog').show(); 1566 $('.amenities-tabbed-overlay').show(); 1567 $('body').addClass('modal-open'); 1568 $('.amenities-list-modal-div').show(); 1569 $('.apartment-amenities-list-modal-div').hide(); 1570 }); 1571 } 1572 if ($('.view-more-apartment').length > 0) { 1573 $('.view-more-apartment').click(function () { 1574 $('.amenities-tabbed-dialog').show(); 1575 $('.amenities-tabbed-overlay').show(); 1576 $('body').addClass('modal-open'); 1577 $('.apartment-amenities-list-modal-div').show(); 1578 $('.amenities-list-modal-div').hide(); 1579 }); 1580 } 1581 1582 if (unitAmenityExists.toLowerCase() == 'true' && hideUnitAmenities.toLowerCase() != 'true') { 1583 if ($('.apt-amenities-view-more').length > 0) { 1584 $('.apt-amenities-view-more').append('<div class="select-units-only">' + inSelectUnitsText + '</div>'); 1585 $('.apartment-amenities-list-modal-div').append('<div class="apt-amenities-modal-isu">' + inSelectUnitsText + '</div > '); 1586 } 1587 else 1588 $('#client-panel-1').append('<div class="no-view-more-select-units-only">' + inSelectUnitsText + '</div>'); 1589 f_unitLabelShowHide(); 1590 } 1591 1592 $('.amenities-tabbed-overlay').click(function() { 1593 f_hideAmenitiesModal(); 1594 }); 1595 1596 var maxTabHeight = 0; 1597 1598 if (screen.width > 500) { 1599 $('.tabs-panel').each(function(i, v) { 1600 if ($(v).height() > maxTabHeight) 1601 maxTabHeight = $(v).height(); 1602 }); 1603 $('.tabs-panel').css('min-height', maxTabHeight); 1604 } 1605 1606 $('.tabs-title .tabs-link').click(function () { 1607 $('#example-tabs .tabs-title').removeClass('is-active'); 1608 $('.tabs-content .tabs-panel').removeClass('is-active'); 1609 $(this).parent().addClass('is-active'); 1610 var checkId = $(this).attr('data'); 1611 $(checkId).addClass('is-active'); 1612 }); 1613 1614 var pixelRatio = ((window.devicePixelRatio) ? window.devicePixelRatio : 1); 1615 var windowWidth = Math.floor(window.innerWidth * 0.80 * pixelRatio); 1616 var windowHeight = Math.floor(window.innerHeight * 0.80 * pixelRatio); 1617 var fullImageSizeString = windowWidth + 'x' + windowHeight; 1618 1619 $('.amenity-image-link').each(function (i, e) { 1620 var selectedAmenityImageUrl = $(e).data('amenityimage'); 1621 selectedAmenityImageUrl = selectedAmenityImageUrl.replace('%s', fullImageSizeString); 1622 $(e).attr('href', selectedAmenityImageUrl).attr('data-caption', $(e).html()); 1623 var groupName = 'amenity-image-gallery'; 1624 if ($(e).hasClass('amenity-image-modal-link')) 1625 groupName = 'amenity-image-modal-gallery'; 1626 $(e).attr('data-fancybox', groupName); 1627 }); 1628 1629 $('.amenity-image-link').fancybox({ 1630 fullScreen: { 1631 autoStart: false 1632 }, 1633 thumbs: { 1634 autoStart: false, 1635 hideOnClose: true 1636 }, 1637 smallBtn: "auto", 1638 afterLoad : function(instance, current) { 1639 var pixelRatio = window.devicePixelRatio || 1; 1640 1641 if ( pixelRatio > 1.5 ) { 1642 current.width = current.width / pixelRatio; 1643 current.height = current.height / pixelRatio; 1644 } 1645 } 1646 }); 1647 }); 1648 function f_hideAmenitiesModal() { 1649 $('.amenities-tabbed-dialog').hide(); 1650 $('.amenities-tabbed-overlay').hide(); 1651 $('body').removeClass('modal-open'); 1652 } 1653 1654 function f_unitLabelShowHide() { 1655 $('.select-units-only').hide(); 1656 $('#client-panel-1 ul li').each(function () { 1657 if ($(this).text().indexOf('*') > -1) { 1658 $('.select-units-only').show(); 1659 return false; 1660 } 1661 }); 1662 } 1663 </script>
1663 1664<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader1_ctl00_pnlAmenitiesTabbed" class="amenities-tabbed-container columns"> 1665 1666 <div id="client-tabs-1" class="row p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneAmenities_WebPartZone2_WebPartZone2_zone_WebPartLoader1_ctl00_pnlAmenitiesTabbed"> 1667 <div class="columns at-container"> 1668 <ul data-tabs="data-tabs" id="example-tabs" class="tabs" role="tablist"><li class="tabs-title is-active" tab-community-amenities="tab-community-amenities" role="presentation"> 1669 <button tabindex="0" class="tabs-link" data="#client-panel-0" role="tab" aria-controls="client-panel-0" aria-selected="false" id="client-panel-0-label" type="button">Community Amenities</button> 1670 </li><li class="tabs-title" tab-apartment-amenities="tab-apartment-amenities" role="presentation"> 1671 <button class="tabs-link" tabindex="0" data="#client-panel-1" role="tab" aria-controls="client-panel-1" aria-selected="false" id="client-panel-1-label" type="button">Apartment Amenities</button> 1672 </li><li class="tabs-title" tab-pet-policy="tab-pet-policy" role="presentation"> 1673 <button class="tabs-link" tabindex="0" data="#client-panel-2" role="tab" aria-controls="client-panel-2" aria-selected="false" id="client-panel-2-label" type="button">Pet Policy</button> 1674 </li><li class="tabs-title" tab-parking-details="tab-parking-details" role="presentation"> 1675 <button tabindex="0" class="tabs-link" data="#client-panel-3" role="tab" aria-controls="client-panel-3" aria-selected="false" id="client-panel-3-label" type="button">Parking Details</button> 1676 </li></ul><div data-tabs-content="example-tabs" class="tabs-content"><div id="client-panel-0" class="tabs-panel is-active"> 1677 <div class="row"><div class="large-4 columns"> 1678 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-1"><span>24-Hour Emergency Maintenance</span></li><li class="tabbed-amenity ta-col-1"><span>Carport</span></li><li class="tabbed-amenity ta-col-1"><span>Courtesy Patrol</span></li><li class="tabbed-amenity ta-col-1"><span>Courtyard with Park-like Settings</span></li><li class="tabbed-amenity ta-col-1"><span>Dog sPAW</span></li></ul> 1679 </div><div class="large-4 columns"> 1680 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-2"><span>Fitness Center</span></li><li class="tabbed-amenity ta-col-2"><span>Gated Community</span></li><li class="tabbed-amenity ta-col-2"><span>Near "Great! Schools.org" Top Rated School</span></li><li class="tabbed-amenity ta-col-2"><span>On-Site Professional Management</span></li><li class="tabbed-amenity ta-col-2"><span>Spa</span></li></ul> 1681 </div><div class="large-4 columns"> 1682 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-3"><span>Sparkling Swimming Pool</span></li><li class="tabbed-amenity ta-col-3"><span>Walkscore: 60</span></li><li class="tabbed-amenity ta-col-3"><span>Transit Score: 48</span></li><li class="tabbed-amenity ta-col-3"><span>Bike Score: 80</span></li></ul> 1683 </div> 1684 </div> 1685 </div><div id="client-panel-1" class="tabs-panel"> 1686 <div class="row"><div class="large-4 columns"> 1687 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-1"><span>Built-In Bookshelves</span></li><li class="tabbed-amenity ta-col-1"><span>Cable Ready</span></li><li class="tabbed-amenity ta-col-1"><span>Wood-Style Plank Flooring in Common Areas</span></li><li class="tabbed-amenity ta-col-1"><span>Custom Cabinets</span></li><li class="tabbed-amenity ta-col-1"><span>Custom Cabinets - Two Toned</span></li></ul> 1688 </div><div class="large-4 columns"> 1689 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-2"><span>Designer Plumbing Fixtures</span></li><li class="tabbed-amenity ta-col-2"><span>Dishwasher</span></li><li class="tabbed-amenity ta-col-2"><span>Energy Efficient Lighting</span></li><li class="tabbed-amenity ta-col-2"><span>Fireplace*</span></li><li class="tabbed-amenity ta-col-2"><span>Framed Bathroom Vanity Mirrors</span></li></ul> 1690 </div><div class="large-4 columns"> 1691 <ul class="at-comm-amenities"><li class="tabbed-amenity ta-col-3"><span>Central Heat & Air Conditioning</span></li><li class="tabbed-amenity ta-col-3"><span>High-Speed Internet</span></li><li class="tabbed-amenity ta-col-3"><span>Kitchen Island</span></li><li class="tabbed-amenity ta-col-3"><span>Microwave</span></li><li class="tabbed-amenity ta-col-3"><span>Patio or Balcony</span></li></ul> 1692 </div> 1693 </div><div class="row apt-amenities-view-more"> 1694 <div class="view-more-div"><button class="view-more-apartment" aria-label="Expand apartment amenities list" type="button">View More</button></div> 1695 </div> 1696 </div><div id="client-panel-2" class="tabs-panel"> 1697 <div class="row"><div class="large-6 columns"> 1698 <ul class="at-comm-amenities"><li class="pet-item">Pet Policy Type: Cat, Dogs</li><li class="pet-item">Pet Deposit Min/Max: <span class="range">$600 - $1200</span></li><li class="pet-item">Pet Policy: Breed restrictions apply. Please call our Leasing Office for complete Pet Policy information.</li></ul> 1699 </div><div class="large-6 columns"> 1700 <ul class="at-comm-amenities"><li class="pet-item">Max Number of Pets: 2</li><li class="pet-item">Pet Monthly Rent Min/Max: <span class="range">$65 - $130</span></li></ul> 1701 </div> 1702 </div> 1703 </div><div id="client-panel-3" class="tabs-panel"> 1704 <div class="row"><div class="large-12 columns parking-panel-details"> 1705 <ul class="at-comm-amenities"><li class="parking-item parking-comment">Parking Comment: Covered carports and Outdoor Parking. Each apartment gets one assigned covered carport. Open spaces are first come first serve. Please call us regarding our Parking Policy.</li><li class="parking-container-item"><div class="parking-container"></div></li></ul> 1706 </div> 1707 </div> 1708 </div></div></div></div> 1709 <div class="amenities-tabbed-overlay" style="display: none"></div><div class="amenities-tabbed-dialog" style="display: none"><div class="amenities-list-modal-div"><div class="amenities-tabbed-header"><h3>Amenities</h3><button onclick="f_hideAmenitiesModal()" aria-label="Close" type="button"><span aria-hidden="true" class="amenities-tabbed-standard-modal-close">×</span></button></div><div class="list-wrapper"><ul class="amenities-list-modal"><li class="amenity-item-modal"><span>24-Hour Emergency Maintenance</span></li><li class="amenity-item-modal"><span>
1709Carport</span></li><li class="amenity-item-modal"><span>Courtesy Patrol</span></li><li class="amenity-item-modal"><span>Courtyard with Park-like Settings</span></li><li class="amenity-item-modal"><span>Dog sPAW</span></li><li class="amenity-item-modal"><span>Fitness Center</span></li><li class="amenity-item-modal"><span>Gated Community</span></li><li class="amenity-item-modal"><span>Near "Great! Schools.org" Top Rated School</span></li><li class="amenity-item-modal"><span>On-Site Professional Management</span></li><li class="amenity-item-modal"><span>Spa</span></li><li class="amenity-item-modal"><span>Sparkling Swimming Pool</span></li><li class="amenity-item-modal"><span>Walkscore: 60</span></li><li class="amenity-item-modal"><span>Transit Score: 48</span></li><li class="amenity-item-modal"><span>Bike Score: 80</span></li></ul></div></div><div class="apartment-amenities-list-modal-div"><div class="amenities-tabbed-header"><h3>Apartment Amenities</h3><button onclick="f_hideAmenitiesModal()" aria-label="Close" type="button"><span aria-hidden="true" class="amenities-tabbed-standard-modal-close">×</span></button></div><div class="list-wrapper"><ul class="apartment-amenities-list-modal"><li class="apartment-amenity-item"><span>Built-In Bookshelves</span></li><li class="apartment-amenity-item"><span>Cable Ready</span></li><li class="apartment-amenity-item"><span>Wood-Style Plank Flooring in Common Areas</span></li><li class="apartment-amenity-item"><span>Custom Cabinets</span></li><li class="apartment-amenity-item"><span>Custom Cabinets - Two Toned</span></li><li class="apartment-amenity-item"><span>Designer Plumbing Fixtures</span></li><li class="apartment-amenity-item"><span>Dishwasher</span></li><li class="apartment-amenity-item"><span>Energy Efficient Lighting</span></li><li class="apartment-amenity-item"><span>Fireplace</span></li><li class="apartment-amenity-item"><span>Framed Bathroom Vanity Mirrors</span></li><li class="apartment-amenity-item"><span>Central Heat & Air Conditioning</span></li><li class="apartment-amenity-item"><span>High-Speed Internet</span></li><li class="apartment-amenity-item"><span>Kitchen Island</span></li><li class="apartment-amenity-item"><span>Microwave</span></li><li class="apartment-amenity-item"><span>Patio or Balcony</span></li><li class="apartment-amenity-item"><span>Programmable Thermostats/Nests</span></li><li class="apartment-amenity-item"><span>Recessed Ceiling Lighting</span></li><li class="apartment-amenity-item"><span>Refrigerator</span></li><li class="apartment-amenity-item"><span>In Unit Washer & Dryer - Stackable</span></li><li class="apartment-amenity-item"><span>Stylish Hardware Package</span></li><li class="apartment-amenity-item"><span>Two-Tone Paint Schemes</span></li><li class="apartment-amenity-item"><span>Walk-In Closets</span></li><li class="apartment-amenity-item"><span>Appliance Package - Stainless Steel</span></li><li class="apartment-amenity-item"><span>Plush Carpeting in Bedrooms</span></li><li class="apartment-amenity-item"><span>Countertops - Quartz</span></li><li class="apartment-amenity-item"><span>Stylish Tile Backsplashes</span></li></ul></div></div></div> 1710 1711 </div> 1712</div> 1713</div> 1714<div class="col-sm-1 hidden-lg hidden-md hidden-xs"> 1715</div> 1716</div> 1717</div></section> 1718<section id="floor-plans" class="block-area container-fluid"><div id="" class="home-banner floor-plans-banner black-border row"><div class="banner-overlay"></div><div class="banner-content"> 1719<h2>Floor Plans</h2> 1720</div></div><div id="" class="clearfix"><div class="col-lg-2 col-md-1 col-sm-1"></div> 1721<div class="clearfix col-lg-8 col-md-10 col-sm-10 col-xs-12 column-wrapper home-content-sub-content"> 1722 <div class="home-column"> 1723 <div class="wrapper"> 1724 <h1>View The Franciscan Floor Plans</h1> 1725 <div class="main-content"> 1726 <div><span style="font-size: 16px;">One look at our spacious floor plans and it's easy to see how The Franciscan is different from other apartment homes for rent in Campbell, CA. With a variety of floor plans to choose from, weâre certain thereâs one thatâs just right for you. Browse our one and two bedroom floor plans below.</span></div><div><span style="font-size: 16px;"><br /></span><br /></div> 1727 1728 1729<div style="height:300px!important; overflow-y:scroll; position:relative; overflow:auto;"> <iframe allowfullscreen="allowfullscreen" scrolling="yes" loading="lazy" title="Resident Fees Pricing Sheet" aria-label="Embedded Canva design showing community fee details" style="width:100%; height:100vh;" src="https://www.canva.com/design/DAGOhM8kETU/yQErlYrDONK4qQ6YJp81-A/view?embed"></iframe> </div> <a href="https://www.canva.com/design/DAGOhLzHZUw/T1mO2ZXz6p1cEs1qsgzsqg/view?utm_content=DAGOhLzHZUw&utm_campaign=designshare&utm_medium=embeds&utm_source=link" target="_blank" rel="noopener"></a> 1730 </div> 1731 </div> 1732 </div> 1733</div> 1734<div class="col-lg-2 col-md-1 col-sm-1"></div> 1735</div><div id="floor-plan-widget" class=""><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneFloorPlans_WebPartLoader_pnlContainer"> 1736 1737<!--FLOORPLANLOADER BEGIN--> 1738 1739 1740 1741<div id="rpfloorplans"></div> 1742
1742<script type="text/javascript"> 1743 var templateId; 1744 if ('floorplan4' === 'floorplan1') 1745 templateId = 1; 1746 else if ('floorplan4' === 'floorplan2') 1747 templateId = 2; 1748 else if ('floorplan4' === 'floorplan3') 1749 templateId = 3; 1750 else if ('floorplan4' === 'floorplan4') 1751 templateId = 4; 1752 else if ('floorplan4' === 'floorplan5') 1753 templateId = 5; 1754 else if ('floorplan4' === 'floorplan6') 1755 templateId = 6; 1756 1757 var enablePT = true; 1758 var enableDRR = false; 1759 var valueDRR = (enablePT) ? true : enableDRR; 1760 1761 var RPFP_config = { 1762 target: '#rpfloorplans', 1763 template: templateId, 1764 templateColors: ['#ffffff', '#000000', 1765 '#425563', '#d7d7d7', 1766 '#7d7d7d', '#999999', 1767 '#f1f1f1', '#ffffff', 1768 '#ffffff'], 1769 propertyId: propertyId, 1770 pKey: propertyKey, 1771 ismApiUrl: 'https://ism.realpage.com', 1772 apiUrl: 'https://c-leasestar-api.realpage.com', 1773 useCarousel: false, 1774 carouselItems: 3, 1775 defaultLeaseTerm: 'bestprice', 1776 disclaimerText: '', 1777 floorplansPerPage: 0, 1778 maxMoveInDateDays: 0, 1779 showBuildingFilter: false, 1780 hidePricingFilter: false, 1781 defaultSortOption: 2, 1782 defaultMediaOrder: 0, 1783 skipStepsEnabled: false, 1784 studentProperty: false, 1785 showAvailableFloorplansOnly: false, 1786 showBuildingName: false, 1787 fitThumbnail: true, 1788 hideAvailability: false, 1789 hideFloorplansPricing: false, 1790 hideUnitsPricing: false, 1791 hideSquareFeet: false, 1792 overrideNoUnitsText: '', 1793 overrideContactUsText: 'Apply Now', 1794 thirdPartyContactUrl: 'https://8744443.onlineleasing.realpage.com/#k=22331', 1795 overrideLeaseNowText: '', 1796 thirdPartyLeasingUrl: 'https://8744443.onlineleasing.realpage.com/#k=22331', 1797 onlineLeasingUrls: [{"SiteId":"8744443","Url":"https://www.liveatfranciscan.com/onlineleasing.aspx","IsSelectedSite":false,"PartnerPropertyId":"5002360"}], 1798 internationalProperty: false, 1799 matchedSource: matchedSource, 1800 aholDisplay: false, 1801 aholContent: 'Looking for Affordable Homes?', 1802 aholText: 'Click Here', 1803 aholLink: 'https://oll-leasing.loftliving.com/oll/?siteid=5002360', 1804 ismEnabled: false, 1805 ismId: '', 1806 ismDefault: false, 1807 apiKey: '22cea488-496c-457a-8b0f-20ceb6726562', 1808 availableUnitColor: '#133d22', 1809 availableUnitHighlightColor: '#37623e', 1810 pinColor: '#031f4b', 1811 pinHighlightColor: '#035891', 1812 engrainSitemapId: '', 1813 engrainedText: 'Interactive Map', 1814 engrainedUrl: '', 1815 hideUnitSiteMapDetails: false, 1816 hideEngrainSiteMaponMobile: false, 1817 hideBrochure: false, 1818 bmRedirect: false, 1819 bmCreditCards: '', 1820 bmEmail: '', 1821 bmApplicationFee: '', 1822 bmSerialNumber: '', 1823 leaseTermDetails: ('{"leaseTerms":[12,13]}' ? JSON.parse('{"leaseTerms":[12,13]}') : ''), 1824 templateVars: { 1825 cta1image: "", 1826 cta1title: "", 1827 cta1text: "" 1828 }, 1829 dynamicRentRange: valueDRR, 1830 enablePricingTransparency: 'true', 1831 ufWidgetEnabled: true ? true : false, 1832 hideFeeCalculator: 'false', 1833 ufWidgetDisclaimer: 'This price estimate does not include optional or situational fees. Use our cost calculator to estimate your total monthly leasing price with any add-ons.', 1834 rollUpPricing: 'false', 1835 feesToDisplay: 'all', 1836 pricingDisclaimer: 'Total monthly leasing price includes base rent + mandatory fees.', 1837 pricingLink: 'Show additional pricing information', 1838 excludedFeeCodes: '[]', 1839 rentDisplayOption: '1', 1840 feeTransparencyWidgetVersion: '0', 1841 additionalinfo1:'', 1842 additionalinfo2:'', 1843 additionalscript: ``, 1844 disableOnMobile: 'false', 1845 enablePopUp:'false', 1846 popupWindowHeader:'', 1847 popupWindowText: ``, 1848 imageHeight:480, 1849 imageWidth:640, 1850 imageOverride: '', 1851 } 1852 </script>
1852 1853 1854
1855<script type="module" src="https://cs-cdn.realpage.com/CSFDW/v1.0/cs-fee-disclosure-wc/cs-fee-disclosure-wc.esm.js"></script>
vendor: 2 bytes, line 1855
1855
1856<script nomodule="nomodule" type="text/javascript" src="https://cs-cdn.realpage.com/CSFDW/v1.0/cs-fee-disclosure-wc/cs-fee-disclosure-wc.js"></script>
1856 1857 1858
1859<script src="https://cs-cdn.realpage.com/RFP/v1.0/loader.js" type="text/javascript"></script>
1859 1860 1861 1862<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneFloorPlans_WebPartLoader_ctl00_ctl00_pnlFormInputs"> 1863 1864 </div> 1865 1866<!--FLOORPLANLOADER END--> 1867</div> 1868</div> 1869 1870<div class="sp-container"> 1871 1872 1873</div></section> 1874<section id="gallery" class="block-area container-fluid"><div id="" class="home-banner gallery-banner black-border row"><div class="banner-overlay"></div><div class="banner-content"> 1875<h2>Gallery</h2> 1876</div></div><div id="" class="clearfix"><div class="col-lg-2 col-md-1 col-sm-1"></div> 1877<div class="clearfix col-lg-8 col-md-10 col-sm-10 column-wrapper home-content-sub-content"> 1878 <div class="home-column"> 1879 <div class="wrapper"> 1880 <h1>The Franciscan Gallery</h1> 1881 <div class="main-content"> 1882 <div><span style="font-size: 16px;">This is just a taste of the premier lifestyle experience offered at The Franciscan. Enjoy an up close and personal view of what it's like to live at our community.</span><br /></div> 1883 </div> 1884 </div> 1885 </div> 1886</div> 1887<div class="col-lg-2 col-md-1 col-sm-1"></div> 1888</div><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_pnlContainer"> 1889 1890
1891<script type="text/javascript"> 1892 var nestedGalleryLocation = 'top'; 1893 var facebookBtnName = 'Facebook'; 1894 var instagramBtnName = 'Instagram'; 1895 var gallerySquareTilesLazyLoad = 'False'; 1896 var imageSize = '1920x1080'; 1897 var squareTilesObserver; 1898 1899 var defaultColumnCount= 'mosaic'; 1900 var itemsPerPageGallery = 'false'; 1901 1902 $(document).ready(function () { 1903 if (gallerySquareTilesLazyLoad.toLowerCase() == 'true' && navigator.userAgent.toLocaleLowerCase().indexOf('safari') == -1) { 1904 try { 1905 squareTilesObserver = new IntersectionObserver(gstIntersectCallback, intersectOptions); 1906 squareTilesObserver.observe(document.querySelector('#gstIntersect')); 1907 squareTilesObserver.observe(document.querySelector('#photosContainer')); 1908 squareTilesObserver.observe(document.querySelector('#gstFooterIntersect')); 1909 if ($('#head').length > 0) { 1910 squareTilesObserver.observe(document.querySelector('#head')); 1911 } 1912 } catch (err) { 1913 console.warn(err); 1914 } 1915 } else { 1916 f_buildGallery(); 1917 } 1918 1919 1920 if($(window).width() < 768) 1921 f_resize(); 1922 1923 $(window).resize(function() { 1924 f_resize(); 1925 }); 1926 }); 1927 1928 var gstIntersectCallback = function (entries, observer) { 1929 if (entries && entries[0].isIntersecting) { 1930 f_buildGallery(); 1931 squareTilesObserver.unobserve(document.querySelector('#gstIntersect')); 1932 squareTilesObserver.unobserve(document.querySelector('#photosContainer')); 1933 squareTilesObserver.unobserve(document.querySelector('#gstFooterIntersect')); 1934 } 1935 } 1936 1937 function f_buildGallery() { 1938 var playSlideShow = false; 1939 var galleryIndex = 0; 1940 1941 if ($('.side-container li').length <= 1) { 1942 $('.photolist').removeClass('nested-side'); 1943 $('.photolist').addClass('nested-top'); 1944 } else 1945 $('.side-container').removeClass('hide-side-cont'); 1946 1947 if ($('.top-container li').length > 1) { 1948 $('.top-container').removeClass('hide-top-cont'); 1949 } 1950 if (nestedGalleryLocation == 'dropdown' && $('.top-dropdown option').length > 1 || $(window).width() < 1025 && $('.top-dropdown option').length > 1) 1951 $('.top-dropdown').removeClass('hide-dropdown'); 1952 1953 var pixelRatio = ((window.devicePixelRatio) ? window.devicePixelRatio : 1); 1954 var windowWidth = Math.floor(window.innerWidth * 0.80 * pixelRatio); 1955 var windowHeight = Math.floor(window.innerHeight * 0.80 * pixelRatio); 1956 1957 var fullImageSizeString = windowWidth + 'x' + windowHeight; 1958 var defaultImageWidth = Math.floor($('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer').width() * pixelRatio / 3); 1959 var thumbImageSizeString = defaultImageWidth.toString() + 'x' + defaultImageWidth.toString(); 1960 1961 $('#widget_header_buttons .columnSelector').click(function() { 1962 $('#widget_header_buttons .columnSelector').removeClass('selected'); 1963 $('#widget_header_buttons .mosaic').removeClass('selected'); 1964 $(this).addClass('selected'); 1965 var columnCount = $(this).data('columns'); 1966 $('#photosContainer').removeAttr('class'); 1967 $('#photosContainer').addClass('columns' + columnCount); 1968 $('.photolist').hide(); 1969 1970 f_convertImages(fullImageSizeString, thumbImageSizeString, columnCount); 1971 1972 if ($('.nested-gst').length > 0 && $('.nested-gst:visible').length > 0) 1973 galleryIndex = $('.nested-gst.selected').attr('data-index'); 1974 else 1975 galleryIndex = $('.top-dropdown option:selected').attr('data-index'); 1976 1977 $('#photoList' + galleryIndex).show(); 1978 1979 1980 1981 $('.grid').hide(); 1982 1983 var minHeight = 0; 1984 $('.photolist img:visible').each(function() { 1985 if ($(this).height() > minHeight) 1986 minHeight = $(this).height(); 1987 }); 1988 $('.gallerySquareContainer .img_wrapper img').css('min-height', minHeight); 1989 1990 }); 1991 1992 $('#widget_header_buttons #btnMosaic').on('click', function() { 1993 $('#widget_header_buttons .columnSelector').removeClass('selected'); 1994 $(this).addClass('selected'); 1995 $('#photosContainer').removeAttr('class'); 1996 $('.photolist').hide(); 1997 $('.grid').hide(); 1998 1999 if ($('.nested-gst').length > 0 && $('.nested-gst:visible').length > 0) 2000 galleryIndex = $('.nested-gst.selected').attr('data-index'); 2001 else 2002 galleryIndex = $('.top-dropdown option:selected').attr('data-index'); 2003 2004 $('#grid' + galleryIndex).show(); 2005 2006 f_convertMosaicImages(fullImageSizeString, thumbImageSizeString); 2007 2008 if ($('.side-container li').length > 0 && $('.nested-gst').length > 1 && $(window).width() > 1024) { 2009 $('.grid').css('width', '80%'); 2010 } else 2011 $('.grid').css('width', '100%'); 2012 2013 $('.grid').masonry({ 2014 itemSelector: '.grid-item', 2015 columnWidth: '.grid-sizer', 2016 percentPosition: true 2017 }); 2018 2019 }); 2020 2021 $('#widget_header_buttons #btnPlaySlideshow').on('click', function(){ 2022 playSlideShow = true; 2023 2024 if ($('.nested-gst').length > 0 && $('.nested-gst:visible').length > 0) 2025 galleryIndex = $('.nested-gst.selected').attr('data-index'); 2026 else 2027 galleryIndex = $('.top-dropdown option:selected').attr('data-index'); 2028 2029 if ($('.headerButton.selected').attr('data-columns') == 'mosaic') 2030 $('#grid' + galleryIndex + ' a').first().trigger('click', [true]); 2031 else 2032 $('#photoList' + galleryIndex + ' a').first().trigger('click', [true]); 2033 }); 2034 2035 $('.nested-gst').click(function() { 2036 $('.nested-gst').removeClass('selected'); 2037 $(this).addClass('selected'); 2038 $('.top-dropdown option[data-index="' + $(this).attr('data-index') + '"]').prop('selected', true); 2039 2040 $('.grid').hide(); 2041 $('.photolist').hide(); 2042 2043 if ($('.headerButton.selected').attr('data-columns') == 'mosaic') { 2044 f_convertMosaicImages(fullImageSizeString, thumbImageSizeString); 2045 2046 $('#grid' + $(this).attr('data-index')).show(); 2047 2048 $('#grid' + $(this).attr('data-index')).masonry({ 2049 itemSelector: '.grid-item', 2050 columnWidth: '.grid-sizer', 2051 percentPosition: true 2052 }); 2053 } else { 2054 var column_count = $('.headerButton.selected').attr('data-columns'); 2055 f_convertImages(fullImageSizeString, thumbImageSizeString, column_count); 2056 2057 $('#photoList' + $(this).attr('data-index')).show(); 2058 2059 var minHeight = 0; 2060 $('.photolist img:visible').each(function() { 2061 if ($(this).height() > minHeight) 2062 minHeight = $(this).height(); 2063 }); 2064 $('.gallerySquareContainer .img_wrapper img').css('min-height', minHeight); 2065 } 2066 }); 2067 2068 $('.top-dropdown').change(function() { 2069 $('.grid').hide(); 2070 $('.photolist').hide(); 2071 2072 if ($('.headerButton.selected').attr('data-columns') == 'mosaic') { 2073 f_convertMosaicImages(fullImageSizeString, thumbImageSizeString); 2074 2075 $('#grid' + $('.top-dropdown option:selected').attr('data-index')).show(); 2076 2077 $('#grid' + $('.top-dropdown option:selected').attr('data-index')).masonry({ 2078 itemSelector: '.grid-item', 2079 columnWidth: '.grid-sizer', 2080 percentPosition: true 2081 }); 2082 } else { 2083 var column_count = $('.headerButton.selected').attr('data-columns'); 2084 f_convertImages(fullImageSizeString, thumbImageSizeString, column_count); 2085 $('#photoList' + $('.top-dropdown option:selected').attr('data-index')).show(); 2086 2087 var minHeight = 0; 2088 $('.photolist img:visible').each(function() { 2089 if ($(this).height() > minHeight) 2090 minHeight = $(this).height(); 2091 }); 2092 $('.gallerySquareContainer .img_wrapper img').css('min-height', minHeight); 2093 } 2094 }); 2095 2096 if (p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer.defaultView.toLowerCase() == 'mosaic') { 2097 $('#widget_header_buttons #btnMosaic').click(); 2098 } else 2099 $('.headerButton.column' + p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer.defaultView).click(); 2100 2101 if (p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer.hideColumnSelector.toUpperCase() == "TRUE") { 2102 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer .columnSelector').hide(); 2103 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer #widget_header_buttons #btnMosaic').hide(); 2104 } 2105 2106 $(".headerButton").tooltip({ 2107 position: { 2108 my: "center bottom-20", 2109 at: "center top", 2110 using: function( position, feedback ) { 2111 $( this ).css( position ); 2112 $( "<div>" ) 2113 .addClass( "arrow" ) 2114 .addClass( feedback.vertical ) 2115 .addClass( feedback.horizontal ) 2116 .appendTo( this ); 2117 } 2118 } 2119 }); 2120 2121 f_convertImages(fullImageSizeString, thumbImageSizeString, defaultColumnCount); 2122 2123 if ($(window).width() < 1025) { 2124 $('.photolist').removeClass('nested-side'); 2125 $('.photolist').addClass('nested-top'); 2126 } 2127 2128 $('.fancybox3').fancybox({ 2129 fullScreen: { 2130 autoStart: false 2131 }, 2132 thumbs: { 2133 autoStart: false, 2134 hideOnClose: true 2135 }, 2136 smallBtn: "auto", 2137 afterLoad: function (instance, current) { 2138 if (current.$image) { 2139 current.$image.attr('alt', current.opts.$orig.find('meta[itemprop="name"]').attr('content')); 2140 } 2141 var pixelRatio = window.devicePixelRatio || 1; 2142 2143 if ( pixelRatio > 1.5 ) { 2144 current.width = current.width / pixelRatio; 2145 current.height = current.height / pixelRatio; 2146 } 2147 } 2148 }); 2149 } 2150 2151 function f_convertImages(fullImageSizeString, thumbImageSizeString, defaultColumnCount) { 2152 var galleryIndex = 0; 2153 if ($('.nested-gst').length > 0 && $('.nested-gst:visible').length > 0) 2154 galleryIndex = $('.nested-gst.selected').attr('data-index'); 2155 else 2156 galleryIndex = $('.top-dropdown option:selected').attr('data-index'); 2157 2158 $('#photoList' + galleryIndex + ' a.fancybox3').each(function(index, imageContainer) { 2159 var imageSrc = $(imageContainer).attr('href'); 2160 var imageThumbSrc; 2161 2162 if ($('.top-dropdown option:selected').html() == instagramBtnName || $('.top-dropdown option:selected').html() == facebookBtnName) { 2163 imageThumbSrc = $(imageContainer).find('.img_wrapper').data('thumbnail-url'); 2164 } else if ($(window).width() > 1025 && $('.nested-gst.selected').length > 0 && $('.nested-gst.selected').html() == instagramBtnName || $('.nested-gst.selected').html() == facebookBtnName) { 2165 imageThumbSrc = $(imageContainer).find('.img_wrapper').data('thumbnail-url'); 2166 } else { 2167 $(imageContainer).attr('href', imageSrc.replace(imageSize, fullImageSizeString)); 2168 imageThumbSrc = imageSrc.replace('dimg', 'dimg-crop').replace(fullImageSizeString, thumbImageSizeString).replace(imageSize, thumbImageSizeString); 2169 var imageThumbAltText = $(imageContainer).find('.img_wrapper meta[itemprop="name"]').attr('content'); 2170 } 2171 $(imageContainer).find('.img_wrapper').css('background-image', 'url(' + imageThumbSrc.replace(imageSize, $(window).width() + 'x' + $(window).height()) + ')'); 2172 2173 $(imageContainer).addClass('fancybox3'); 2174 $(imageContainer).click(function(e, isFromPlayButton){ 2175 if (!isFromPlayButton){ 2176 var imageId = $(this).data('mediaid'); 2177 f_analyticsSendEvent('gallery', 'click-gallery-image', imageId.toString()); 2178 } 2179 }); 2180 }); 2181 2182 var minHeight = 0; 2183 $('.photolist img:visible').each(function() { 2184 if ($(this).height() > minHeight) 2185 minHeight = $(this).height(); 2186 }); 2187 $('.gallerySquareContainer .img_wrapper img').css('min-height', minHeight); 2188 2189 var gallery_tab = $('#photoList' + galleryIndex); 2190 f_createPaginationGallerySquares(gallery_tab, defaultColumnCount); 2191 } 2192 2193 function f_convertMosaicImages(fullImageSizeString, thumbImageSizeString) { 2194 var galleryIndex = 0; 2195 if ($('.nested-gst').length > 0 && $('.nested-gst:visible').length > 0) 2196 galleryIndex = $('.nested-gst.selected').attr('data-index'); 2197 else 2198 galleryIndex = $('.top-dropdown option:selected').attr('data-index'); 2199 2200 $('#grid' + galleryIndex + ' .mosaic-img').each(function() { 2201 var url = $(this).find('meta[itemprop="contentUrl"]').attr('content'); 2202 $(this).css('background-image', 'url(' + url.replace(imageSize, $(window).width() + 'x' + $(window).height()) + ')'); 2203 }); 2204 2205 $('#grid' + galleryIndex + ' a.fancybox3').each(function(index, imageContainer) { 2206 var imageSrc = $(imageContainer).attr('href'); 2207 var imageThumbSrc; 2208 2209 if ($('.top-dropdown option:selected').html() == instagramBtnName || $('.top-dropdown option:selected').html() == facebookBtnName) { 2210 imageThumbSrc = $(imageContainer).find('.img_wrapper').data('thumbnail-url'); 2211 } else if ($('.nested-gst.selected').length > 0 && $('.nested-gst.selected').html() == instagramBtnName || $('.nested-gst.selected').html() == facebookBtnName) { 2212 imageThumbSrc = $(imageContainer).find('.img_wrapper').data('thumbnail-url'); 2213 } else { 2214 $(imageContainer).attr('href', imageSrc.replace(imageSize, fullImageSizeString)); 2215 imageThumbSrc = imageSrc.replace('dimg', 'dimg-crop').replace(fullImageSizeString, thumbImageSizeString).replace(imageSize, thumbImageSizeString); 2216 var imageThumbAltText = $(imageContainer).find('.img_wrapper meta[itemprop="name"]').attr('content'); 2217 } 2218 $(imageContainer).find('.img_wrapper').html('<img src="' + imageThumbSrc + '" ' + (imageThumbAltText ? 'alt="' + imageThumbAltText + '"' : '') + ' />'); 2219 $(imageContainer).addClass('fancybox3'); 2220 $(imageContainer).click(function(e, isFromPlayButton){ 2221 if (!isFromPlayButton){ 2222 var imageId = $(this).data('mediaid'); 2223 f_analyticsSendEvent('gallery', 'click-gallery-image', imageId.toString()); 2224 } 2225 }); 2226 }); 2227 var gallery_tab = $('#grid' + galleryIndex); 2228 2229 f_createPaginationGallerySquares(gallery_tab, 'mosaic'); 2230 2231 } 2232 2233 2234 function f_createPaginationGallerySquares(gallery_tab, defaultColumnCount) { 2235 var gallery_tab_selector = '#' + gallery_tab.attr('id'); 2236 var galleryCount = 0; 2237 $(gallery_tab_selector + ' .pagination-item').each(function () { 2238
2238 galleryCount++; 2239 }); 2240 2241 2242 // If there is no need for the pagination don't create pagination 2243 if (itemsPerPageGallery == 'false' || itemsPerPageGallery >= galleryCount) { 2244 return; 2245 } 2246 // Create Pagination 2247 else { 2248 $(gallery_tab).attr('data-page', ''); 2249 $(gallery_tab_selector + ' .div-list-pagination-bot-gallery').remove(); 2250 2251 2252 var pageNum = (itemsPerPageGallery == '1' ? 0 : 1); 2253 if (itemsPerPageGallery == '0') 2254 return; 2255 else { 2256 $(gallery_tab_selector + ' .pagination-item').each(function (i, v) { 2257 // Increment page number whenever in a new page 2258 if (itemsPerPageGallery == '1' || (i + 1 > itemsPerPageGallery && (i + 1) % itemsPerPageGallery == 1)) 2259 pageNum++; 2260 $(v).attr('data-page', pageNum); 2261 }); 2262 if (pageNum > 1) { 2263 // TFS 3046412 WCAG 4.1.1: gallery_tab is a <ul>; wrap the pagination <div> in an <li> so it stays a valid list child. 2264 var botPaginationHtml = '<li class="div-list-pagination-wrapper"><div class="div-list-pagination-bot-gallery div-list-pagination-gallery"><ul class="list-pagination-bot list-pagination-gallery"><li><a aria-label="Previous" id="previous-page" onclick="f_previousPageGallerySquares(this);"><span aria-hidden="true">« Prev</span></a></li>'; 2265 for (var i = 1; i <= pageNum; i++) { 2266 botPaginationHtml += '<li class="page-numbers" data-page="' + i + '"><a onclick="f_loadPageGallerySquares(' + i + ', this)">' + i + '</a></li>'; 2267 } 2268 botPaginationHtml += '<li><a aria-label="Next" id="next-page" onclick="f_nextPageGallerySquares(this);"><span aria-hidden=""true"">Next » </span></a></li></ul></div></li>'; 2269 $(gallery_tab).append(botPaginationHtml); 2270 f_loadPageGallerySquares('1', gallery_tab); 2271 } 2272 } 2273 } 2274 2275 } 2276 2277 function f_loadPageGallerySquares(pageNum, elm) { 2278 if ($(elm).hasClass('pagination-parent')) { 2279 elmId = $(elm).attr('id'); 2280 } 2281 else { 2282 elmId = $(elm).parents('.pagination-parent').attr('id'); 2283 } 2284 var gallery_tab_selector = '#' + elmId; 2285 $(gallery_tab_selector + ' .pagination-item').hide(); 2286 $(gallery_tab_selector + ' .pagination-item[data-page="' + pageNum + '"]').show(); 2287 2288 if ($(gallery_tab_selector).hasClass('grid')) { 2289 var $grid = $(gallery_tab_selector).masonry({ 2290 initLayout: true, 2291 itemSelector: '.grid-item', 2292 columnWidth: '.grid-sizer', 2293 percentPosition: true 2294 }); 2295 // bind event 2296 $grid.masonry( 'on', 'layoutComplete', function() { 2297 console.log('layout is complete'); 2298 }); 2299 // trigger initial layout 2300 $grid.masonry(); 2301 } 2302 2303 $(gallery_tab_selector + ' .list-pagination-gallery li').removeClass('active-page'); 2304 $(gallery_tab_selector + ' .list-pagination-gallery li[data-page="' + pageNum + '"]').addClass('active-page'); 2305 2306 $(gallery_tab_selector + ' .list-pagination-gallery li').show(); 2307 $(gallery_tab_selector + ' .list-pagination-gallery li').each(function (i, v) { 2308 if (parseInt($(v).attr('data-page')) > (parseInt(pageNum) + 3) || parseInt($(v).attr('data-page')) < (parseInt(pageNum) - 3)) 2309 $(v).hide(); 2310 }); 2311 2312 if ($(gallery_tab_selector + ' .pagination-item[data-page="' + (parseInt(pageNum) + 1) + '"]').length == 0) 2313 $(gallery_tab_selector + ' .list-pagination-gallery li:last-child').hide(); 2314 if ($(gallery_tab_selector + ' .pagination-item[data-page="' + (parseInt(pageNum) - 1) + '"]').length == 0) 2315 $(gallery_tab_selector + ' .list-pagination-gallery li:first-child').hide(); 2316 2317 } 2318 2319 2320 2321 function f_nextPageGallerySquares(elm) { 2322 var gallery_tab_selector = '#' + $(elm).parents('.pagination-parent').attr('id'); 2323 2324 var currentPage = $(gallery_tab_selector + ' .pagination-item:visible').first().attr('data-page'); 2325 2326 if ($(gallery_tab_selector + ' .pagination-item[data-page="' + (parseInt(currentPage) + 1) + '"]').length > 0) 2327 f_loadPageGallerySquares(parseInt(currentPage) + 1, gallery_tab_selector); 2328 } 2329 2330 function f_previousPageGallerySquares(elm) { 2331 var gallery_tab_selector = '#' + $(elm).parents('.pagination-parent').attr('id'); 2332 2333 var currentPage = $(gallery_tab_selector + ' .pagination-item:visible').first().attr('data-page'); 2334 2335 if ($(gallery_tab_selector + ' .pagination-item[data-page="' + (parseInt(currentPage) - 1) + '"]').length > 0) 2336 f_loadPageGallerySquares(parseInt(currentPage) - 1, gallery_tab_selector); 2337 } 2338 2339 2340 function f_resize() { 2341 $('.gallerySquareContainer .img_wrapper img').css('min-height', 0); 2342 2343 if (nestedGalleryLocation == 'side' && $(window).width() < 1025) { 2344 $('.photolist').removeClass('nested-side'); 2345 $('.photolist').addClass('nested-top'); 2346 } else if(nestedGalleryLocation == 'side') { 2347 $('.photolist').addClass('nested-side'); 2348 $('.photolist').removeClass('nested-top'); 2349 } 2350 2351 if ($(window).width() < 1025 && $('.top-dropdown option').length > 1) 2352 $('.top-dropdown').removeClass('hide-dropdown'); 2353 if ($(window).width() > 1025 && nestedGalleryLocation != 'dropdown') 2354 $('.top-dropdown').addClass('hide-dropdown'); 2355 2356 if ($(window).width() < 768 && $('.headerButton.selected').attr('data-columns') == 'mosaic') { 2357 if (p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer.defaultView.toLowerCase() == '4') 2358 $('.headerButton.column4').click(); 2359 else 2360 $('.headerButton.column3').click(); 2361 } 2362 2363 var minHeight = 0; 2364 $('.photolist img:visible').each(function() { 2365 if ($(this).height() > minHeight) 2366 minHeight = $(this).height(); 2367 }); 2368 $('.gallerySquareContainer .img_wrapper img').css('min-height', minHeight); 2369 } 2370</script>
2370 2371 2372<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneGallery_WebPartLoader2_ctl00_GalleryContainer" class="gallerySquareContainer"> 2373 2374 <div id="gstIntersect" class="widget_head"> 2375 <div id="widget_header_buttons" aria-label="Photo Gallery Layout Selection Buttons"> 2376 <!--googleoff: all--> 2377 <button type="button" class="headerButton" id="btnPlaySlideshow" title="Play Slideshow" aria-label="Play Slideshow">Play Slideshow</button> 2378 <button type="button" class="headerButton columnSelector column3" data-columns="3" title="3 Columns" aria-label="3 Column Photo Gallery">3 Columns</button> 2379 <button type="button" class="headerButton columnSelector column4" data-columns="4" title="4 Columns" aria-label="4 Column Photo Gallery">4 Columns</button> 2380 <button type="button" class="headerButton mosaic" id="btnMosaic" data-columns="mosaic" title="Mosaic" aria-label="Mosaic Photo Gallery">Mosaic</button> 2381 <!--googleon: all--> 2382 </div> 2383 <ul class="top-container hide-top-cont"><li class="gallery-nav gallery-nav-top"><button type="button" class="nested-gst nested-gst-top selected" data-index="0" aria-label="Amenities">Amenities</button></li><li class="gallery-nav gallery-nav-top"><button type="button" class="nested-gst nested-gst-top" data-index="1" aria-label="Interiors">Interiors</button></li><li class="gallery-nav gallery-nav-top"><button type="button" class="nested-gst nested-gst-top" data-index="2" aria-label="Virtual Tours">Virtual Tours</button></li></ul> 2384 <select class="top-dropdown hide-dropdown" aria-label="Photo Layout Selection Dropdown Menu"><option class="gst-drop-item" data-index="0" aria-label="Amenities">Amenities</option><option class="gst-drop-item" data-index="1" aria-label="Interiors">Interiors</option><option class="gst-drop-item" data-index="2" aria-label="Virtual Tours">Virtual Tours</option></select> 2385 </div> 2386 <div id="photosContainer"> 2387 2388 <ul id="photoList0" class="photolist pagination-parent nested-top"><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684309/1920x1080/176684309.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684309/1920x1080/176684309.jpg"> 2389 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684309/1920x1080/176684309.jpg" /> 2390 <div class="meta name"> 2391 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2392 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684309/950x950/176684309.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2393 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg"> 2394 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg" /> 2395 <div class="meta name"> 2396 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2397 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684324/950x950/176684324.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2398 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Exterior of the Franciscan apartments" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg"> 2399 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg" /> 2400 <div class="meta name"> 2401 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Exterior of the Franciscan apartments"> 2402 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764636/950x950/176764636.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 2403 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Exterior of the Franciscan apartments" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg"> 2404 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg" /> 2405 <div class="meta name"> 2406 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Exterior of the Franciscan apartments"> 2407 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764638/950x950/176764638.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /></div> 2408 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684314/1920x1080/176684314.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684314/1920x1080/176684314.jpg"> 2409 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684314/1920x1080/176684314.jpg" /> 2410 <div class="meta name"> 2411 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2412 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684314/950x950/176684314.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2413 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg"> 2414 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg" /> 2415 <div class="meta name"> 2416 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Pool with lounge chairs"> 2417 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764632/950x950/176764632.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 2418 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764634/1920x1080/176764634.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764634/1920x1080/176764634.jpg"> 2419 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764634/1920x1080/176764634.jpg" /> 2420 <div class="meta name"> 2421 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Pool with lounge chairs"> 2422 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764634/950x950/176764634.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 2423 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764631/1920x1080/176764631.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764631/1920x1080/176764631.jpg"> 2424 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764631/1920x1080/176764631.jpg" /> 2425 <div class="meta name"> 2426 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Pool with lounge chairs"> 2427 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764631/950x950/176764631.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 2428 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764641/1920x1080/176764641.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764641/1920x1080/176764641.jpg"> 2429 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764641/1920x1080/176764641.jpg" /> 2430 <div class="meta name"> 2431 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Pool with lounge chairs"> 2432 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764641/950x950/176764641.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 2433 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684315/1920x1080/176684315.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684315/1920x1080/176684315.jpg"> 2434 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684315/1920x1080/176684315.jpg" /> 2435 <div class="meta name"> 2436 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2437 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684315/950x950/176684315.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2438 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764637/1920x1080/176764637.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764637/1920x1080/176764637.jpg"> 2439 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764637/1920x1080/176764637.jpg" /> 2440 <div class="meta name"> 2441 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Pool with lounge chairs"> 2442 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764637/950x950/176764637.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /></div> 2443 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684312/1920x1080/176684312.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684312/1920x1080/176684312.jpg"> 2444 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684312/1920x1080/176684312.jpg" /> 2445 <div class="meta name"> 2446 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2447 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684312/950x950/176684312.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2448 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684313/1920x1080/176684313.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684313/1920x1080/176684313.jpg"> 2449 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684313/1920x1080/176684313.jpg" /> 2450 <div class="meta name"> 2451 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2452 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684313/950x950/176684313.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2453 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176684319/1920x1080/176684319.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684319/1920x1080/176684319.jpg"> 2454 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684319/1920x1080/176684319.jpg" /> 2455 <div class="meta name"> 2456 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2457
2457 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684319/950x950/176684319.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2458 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Dog wash area" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764639/1920x1080/176764639.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764639/1920x1080/176764639.jpg"> 2459 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764639/1920x1080/176764639.jpg" /> 2460 <div class="meta name"> 2461 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Dog wash area"> 2462 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764639/950x950/176764639.jpg" /><meta itemprop="name" content="Dog wash area" /></div> 2463 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Aerial pool view" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764640/1920x1080/176764640.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764640/1920x1080/176764640.jpg"> 2464 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764640/1920x1080/176764640.jpg" /> 2465 <div class="meta name"> 2466 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Aerial pool view"> 2467 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764640/950x950/176764640.jpg" /><meta itemprop="name" content="Aerial pool view" /></div> 2468 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Aerial pool view" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764643/1920x1080/176764643.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764643/1920x1080/176764643.jpg"> 2469 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764643/1920x1080/176764643.jpg" /> 2470 <div class="meta name"> 2471 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Aerial pool view"> 2472 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764643/950x950/176764643.jpg" /><meta itemprop="name" content="Aerial pool view" /></div> 2473 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Aerial pool view" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg"> 2474 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg" /> 2475 <div class="meta name"> 2476 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Aerial pool view"> 2477 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764642/950x950/176764642.jpg" /><meta itemprop="name" content="Aerial pool view" /></div> 2478 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Aerial community view" data-fancybox="gallery-0" href="//capi.myleasestar.com/v2/dimg/176764633/1920x1080/176764633.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764633/1920x1080/176764633.jpg"> 2479 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764633/1920x1080/176764633.jpg" /> 2480 <div class="meta name"> 2481 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Aerial community view"> 2482 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764633/950x950/176764633.jpg" /><meta itemprop="name" content="Aerial community view" /></div> 2483 </div></a></li></ul><ul id="photoList1" class="photolist pagination-parent nested-top"><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg"> 2484 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg" /> 2485 <div class="meta name"> 2486 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2487 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684318/950x950/176684318.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2488 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684321/1920x1080/176684321.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684321/1920x1080/176684321.jpg"> 2489 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684321/1920x1080/176684321.jpg" /> 2490 <div class="meta name"> 2491 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2492 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684321/950x950/176684321.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2493 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684322/1920x1080/176684322.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684322/1920x1080/176684322.jpg"> 2494 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684322/1920x1080/176684322.jpg" /> 2495 <div class="meta name"> 2496 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2497 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684322/950x950/176684322.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2498 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open kitchen with stainless steal appli
2498ances" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684306/1920x1080/176684306.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684306/1920x1080/176684306.jpg"> 2499 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684306/1920x1080/176684306.jpg" /> 2500 <div class="meta name"> 2501 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open kitchen with stainless steal appliances"> 2502 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684306/950x950/176684306.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appliances" /></div> 2503 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open livingroom" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684316/1920x1080/176684316.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684316/1920x1080/176684316.jpg"> 2504 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684316/1920x1080/176684316.jpg" /> 2505 <div class="meta name"> 2506 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open livingroom"> 2507 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684316/950x950/176684316.jpg" /><meta itemprop="name" content="open livingroom" /></div> 2508 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684302/1920x1080/176684302.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684302/1920x1080/176684302.jpg"> 2509 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684302/1920x1080/176684302.jpg" /> 2510 <div class="meta name"> 2511 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2512 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684302/950x950/176684302.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2513 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open kitchen with stainless steal appli
2513ances" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg"> 2514 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg" /> 2515 <div class="meta name"> 2516 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open kitchen with stainless steal appliances"> 2517 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684307/950x950/176684307.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appliances" /></div> 2518 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684320/1920x1080/176684320.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684320/1920x1080/176684320.jpg"> 2519 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684320/1920x1080/176684320.jpg" /> 2520 <div class="meta name"> 2521 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2522 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684320/950x950/176684320.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2523 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Livingroom with coach" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684310/1920x1080/176684310.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684310/1920x1080/176684310.jpg"> 2524 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684310/1920x1080/176684310.jpg" /> 2525 <div class="meta name"> 2526 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Livingroom with coach"> 2527 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684310/950x950/176684310.jpg" /><meta itemprop="name" content="Livingroom with coach" /></div> 2528 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Fireplace" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434256/1920x1080/155434256.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434256/1920x1080/155434256.jpg"> 2529 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434256/1920x1080/155434256.jpg" /> 2530 <div class="meta name"> 2531 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Fireplace"> 2532 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434256/950x950/155434256.jpg" /><meta itemprop="name" content="Fireplace" /></div> 2533 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open livingroom" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684311/1920x1080/176684311.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684311/1920x1080/176684311.jpg"> 2534 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684311/1920x1080/176684311.jpg" /> 2535 <div class="meta name"> 2536 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open livingroom"> 2537 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684311/950x950/176684311.jpg" /><meta itemprop="name" content="open livingroom" /></div> 2538 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Detail picture of dark cabinets" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434316/1920x1080/155434316.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434316/1920x1080/155434316.jpg"> 2539 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434316/1920x1080/155434316.jpg" /> 2540 <div class="meta name"> 2541 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Detail picture of dark cabinets"> 2542 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434316/950x950/155434316.jpg" /><meta itemprop="name" content="Detail picture of dark cabinets" /></div> 2543 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Kitchen with white cabinets, white counters, and an island" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434285/1920x1080/155434285.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434285/1920x1080/155434285.jpg"> 2544 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434285/1920x1080/155434285.jpg" /> 2545 <div class="meta name"> 2546 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Kitchen with white cabinets, white counters, and an island"> 2547 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434285/950x950/155434285.jpg" /><meta itemprop="name" content="Kitchen with white cabinets, white counters, and an island" /></div> 2548 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Kitchen with white cabinets, white counters, and stainless steel appliances" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434287/1920x1080/155434287.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434287/1920x1080/155434287.jpg"> 2549 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434287/1920x1080/155434287.jpg" /> 2550 <div class="meta name"> 2551 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Kitchen with white cabinets, white counters, and stainless steel appliances"> 2552 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434287/950x950/155434287.jpg" /><meta itemprop="name" content="Kitchen with white cabinets, white counters, and stainless steel appliances" /></div> 2553 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Open kitchen leading to living room" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434259/1920x1080/155434259.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434259/1920x1080/155434259.jpg"> 2554 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434259/1920x1080/155434259.jpg" /> 2555 <div class="meta name"> 2556 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Open kitchen leading to living room"> 2557 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434259/950x950/155434259.jpg" /><meta itemprop="name" content="Open kitchen leading to living room" /></div> 2558 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open livingroom" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684297/1920x1080/176684297.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684297/1920x1080/176684297.jpg"> 2559 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684297/1920x1080/176684297.jpg" /> 2560 <div class="meta name"> 2561 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open livingroom"> 2562 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684297/950x950/176684297.jpg" /><meta itemprop="name" content="open livingroom" /></div> 2563 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Living room with couch, coffee table, and TV" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434257/1920x1080/155434257.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434257/1920x1080/155434257.jpg"> 2564 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434257/1920x1080/155434257.jpg" /> 2565 <div class="meta name"> 2566 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Living room with couch, coffee table, and TV"> 2567 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434257/950x950/155434257.jpg" /><meta itemprop="name" content="Living room with couch, coffee table, and TV" /></div> 2568 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Living room with large couch and coffee table" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434260/1920x1080/155434260.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434260/1920x1080/155434260.jpg"> 2569 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434260/1920x1080/155434260.jpg" /> 2570 <div class="meta name"> 2571 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Living room with large couch and coffee table"> 2572 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434260/950x950/155434260.jpg" /><meta itemprop="name" content="Living room with large couch and coffee table" /></div> 2573 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of washer and dryer" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684304/1920x1080/176684304.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684304/1920x1080/176684304.jpg"> 2574 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684304/1920x1080/176684304.jpg" /> 2575 <div class="meta name"> 2576 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="washer and dryer"> 2577 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684304/950x950/176684304.jpg" /><meta itemprop="name" content="washer and dryer" /></div> 2578 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of open livingroom" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684323/1920x1080/176684323.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684323/1920x1080/176684323.jpg"> 2579 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684323/1920x1080/176684323.jpg" /> 2580 <div class="meta name"> 2581 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="open livingroom"> 2582 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684323/950x950/176684323.jpg" /><meta itemprop="name" content="open livingroom" /></div> 2583 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Bedroom with large bed and mirror" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg"> 2584 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg" /> 2585 <div class="meta name"> 2586 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Bedroom with large bed and mirror"> 2587 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434321/950x950/155434321.jpg" /><meta itemprop="name" content="Bedroom with large bed and mirror" /></div> 2588 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Closet with stacked laundry machines" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434317/1920x1080/155434317.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434317/1920x1080/155434317.jpg"> 2589 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434317/1920x1080/155434317.jpg" /> 2590 <div class=
2590"meta name"> 2591 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Closet with stacked laundry machines"> 2592 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434317/950x950/155434317.jpg" /><meta itemprop="name" content="Closet with stacked laundry machines" /></div> 2593 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Hall closet" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434324/1920x1080/155434324.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434324/1920x1080/155434324.jpg"> 2594 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434324/1920x1080/155434324.jpg" /> 2595 <div class="meta name"> 2596 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Hall closet"> 2597 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434324/950x950/155434324.jpg" /><meta itemprop="name" content="Hall closet" /></div> 2598 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Bathroom with white cabinets and counters" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/155434322/1920x1080/155434322.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434322/1920x1080/155434322.jpg"> 2599 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/155434322/1920x1080/155434322.jpg" /> 2600 <div class="meta name"> 2601 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Bathroom with white cabinets and counters"> 2602 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434322/950x950/155434322.jpg" /><meta itemprop="name" content="Bathroom with white cabinets and counters" /></div> 2603 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of Apartment patio" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176764630/1920x1080/176764630.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764630/1920x1080/176764630.jpg"> 2604 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176764630/1920x1080/176764630.jpg" /> 2605 <div class="meta name"> 2606 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Apartment patio"> 2607 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764630/950x950/176764630.jpg" /><meta itemprop="name" content="Apartment patio" /></div> 2608 </div></a></li><li class="mix"><a class="fancybox3 gallery-item pagination-item" itemscope="itemscope" itemtype="http://schema.org/ImageObject" aria-label="Expand Image of outdoor patio" data-fancybox="gallery-1" href="//capi.myleasestar.com/v2/dimg/176684317/1920x1080/176684317.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684317/1920x1080/176684317.jpg"> 2609 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg/176684317/1920x1080/176684317.jpg" /> 2610 <div class="meta name"> 2611 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="outdoor patio"> 2612 <meta itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684317/950x950/176684317.jpg" /><meta itemprop="name" content="outdoor patio" /></div> 2613 </div></a></li></ul><ul id="photoList2" class="photolist pagination-parent nested-top"><li class="mix"><a class="fancybox3 fancybox3-tour pagination-item" aria-label="Expand Image of The Franciscan | Fitness Center" itemscope="itemscope" itemtype="http://schema.org/ImageObject" data-fancybox="gallery-2" data-src="https://my.matterport.com/show/?m=poHRVXzxaPU" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156464165/1920x1080/156464165.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156464165/1920x1080/156464165.png" title="Fitness Center"> 2614 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg/156464165/1920x1080/156464165.png" /> 2615 <div class="meta name"> 2616 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="The Franciscan | Fitness Center"> 2617 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156464165/950x950/156464165.png" /><meta itemprop="name" content="The Franciscan | Fitness Center" /></div></div> 2618 </a></li><li class="mix"><a class="fancybox3 fancybox3-tour pagination-item" aria-label="Expand Image of Two Bedroom" itemscope="itemscope" itemtype="http://schema.org/ImageObject" data-fancybox="gallery-2" data-src="https://my.matterport.com/show/?m=1KmMmrz34DX" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156440323/1920x1080/156440323.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156440323/1920x1080/156440323.png" title="Two Bedroom"> 2619 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg/156440323/1920x1080/156440323.png" /> 2620 <div class="meta name"> 2621 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Two Bedroom"> 2622 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156440323/950x950/156440323.png" /><meta itemprop="name" content="Two Bedroom" /></div></div> 2623 </a></li><li class="mix"><a class="fancybox3 fancybox3-tour pagination-item" aria-label="Expand Image of The Franciscan | One Bedroom" itemscope="itemscope" itemtype="http://schema.org/ImageObject" data-fancybox="gallery-2" data-src="https://my.matterport.com/show/?m=DGSeM39mtmE" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156440267/1920x1080/156440267.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156440267/1920x1080/156440267.png" title="One Bedroom"> 2624 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg/156440267/1920x1080/156440267.png" /> 2625 <div class="meta name"> 2626 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="The Franciscan | One Bedroom"> 2627 <meta itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156440267/950x950/156440267.png" /><meta itemprop="name" content="The Franciscan | One Bedroom" /></div></div> 2628 </a></li><li class="mix"><a class="fancybox3 fancybox3-tour pagination-item" aria-label="Expand Image of Courtyard" itemscope="itemscope" itemtype="http://schema.org/ImageObject" data-fancybox="gallery-2" data-src="https://my.matterport.com/show/?m=45LbuRvh9ks" data-type="iframe" href="" data-mediaid="" title="Courtyard"> 2629 <meta itemprop="contentUrl" content="" /> 2630 <div class="meta name"> 2631 <div class="img_wrapper" itemprop="thumbnail" itemscope="itemscope" itemtype="http://schema.org/ImageObject" role="img" aria-label="Courtyard"> 2632 <meta itemprop="contentUrl" content="" /><meta itemprop="name" content="Courtyard" /></div></div> 2633 </a></li></ul> 2634 <div id="grid0" class="grid pagination-parent" style="display:none"> 2635 <div class="grid-sizer"></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684309/1920x1080/176684309.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684309/1920x1080/176684309.jpg"> 2636 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684309/0x64
26360/176684309.jpg" /><meta itemprop="name" content="washer and dryer" /> 2637 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684324/1920x1080/176684324.jpg"> 2638 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684324/0x1200/176684324.jpg" /><meta itemprop="name" content="washer and dryer" /> 2639 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Exterior of the Franciscan apartments" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764636/1920x1080/176764636.jpg"> 2640 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764636/0x1200/176764636.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /> 2641 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Exterior of the Franciscan apartments" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764638/1920x1080/176764638.jpg"> 2642 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764638/0x1200/176764638.jpg" /><meta itemprop="name" content="Exterior of the Franciscan apartments" /> 2643 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684314/1920x1080/176684314.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684314/1920x1080/176684314.jpg"> 2644 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684314/0x1200/176684314.jpg" /><meta itemprop="name" content="washer and dryer" /> 2645 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764632/1920x1080/176764632.jpg"> 2646 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764632/0x1200/176764632.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /> 2647 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764634/1920x1080/176764634.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764634/1920x1080/176764634.jpg"> 2648 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764634/0x1200/176764634.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /> 2649 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764631/1920x1080/176764631.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764631/1920x1080/176764631.jpg"> 2650 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764631/0x640/176764631.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /> 2651 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764641/1920x1080/176764641.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764641/1920x1080/176764641.jpg"> 2652 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764641/0x1200/176764641.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /> 2653 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684315/1920x1080/176684315.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684315/1920x1080/176684315.jpg"> 2654 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684315/0x640/176684315.jpg" /><meta itemprop="name" content="washer and dryer" /> 2655 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Pool with lounge chairs" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764637/1920x1080/176764637.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764637/1920x1080/176764637.jpg"> 2656 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764637/0x1200/176764637.jpg" /><meta itemprop="name" content="Pool with lounge chairs" /> 2657 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684312/1920x1080/176684312.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684312/1920x1080/176684312.jpg"> 2658 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684312/0x1200/176684312.jpg" /><meta itemprop="name" content="washer and dryer" /> 2659 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684313/1920x1080/176684313.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684313/1920x1080/176684313.jpg"> 2660 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684313/0x1200/176684313.jpg" /><meta itemprop="name" content="washer and dryer" /> 2661 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176684319/1920x1080/176684319.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684319/1920x1080/176684319.jpg"> 2662 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684319/0x1200/176684319.jpg" /><meta itemprop="name" content="washer and dryer" /> 2663 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Dog wash area" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764639/1920x1080/176764639.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764639/1920x1080/176764639.jpg"> 2664 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764639/0x1200/176764639.jpg" /><meta itemprop="name" content="Dog wash area" /> 2665 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Aerial pool view" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764640/1920x1080/176764640.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764640/1920x1080/176764640.jpg"> 2666 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764640/0x1200/176764640.jpg" /><meta itemprop="name" content="Aerial pool view" /> 2667 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Aerial pool view" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764643/1920x1080/176764643.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764643/1920x1080/176764643.jpg"> 2668 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764643/0x1200/176764643.jpg" /><meta itemprop="name" content="Aerial pool view" /> 2669 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Aerial pool view" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764642/1920x1080/176764642.jpg"> 2670 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764642/0x1200/176764642.jpg" /><meta itemprop="name" content="Aerial pool view" /> 2671 </a></div><div class="grid-item pagination-item grid-item--width3 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of Aerial community view" data-fancybox="mosaic-gallery-0" href="//capi.myleasestar.com/v2/dimg/176764633/1920x1080/176764633.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764633/1920x1080/176764633.jpg"> 2672 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764633/0x1200/176764633.jpg" /><meta itemprop="name" content="Aerial community view" /> 2673 </a></div></div><div id="grid1" class="grid pagination-parent" style="display:none"> 2674 <div class="grid-sizer"></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684318/1920x1080/176684318.jpg"> 2675 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684318/0x640/176684318.jpg" /><meta itemprop="name" content="washer and dryer" /> 2676 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684321/1920x1080/176684321.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684321/1920x1080/176684321.jpg"> 2677 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684321/0x1200/176684321.jpg" /><meta itemprop="name" content="washer and dryer" /> 2678 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684322/1920x1080/176684322.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684322/1920x1080/176684322.jpg"> 2679 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684322/0x1200/176684322.jpg" /><meta itemprop="name" content="washer and dryer" /> 2680 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open kitchen with stainless steal appli
2680ances" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684306/1920x1080/176684306.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684306/1920x1080/176684306.jpg"> 2681 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684306/0x1200/176684306.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appliances" /> 2682 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open livingroom" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684316/1920x1080/176684316.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684316/1920x1080/176684316.jpg"> 2683 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684316/0x1200/176684316.jpg" /><meta itemprop="name" content="open livingroom" /> 2684 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684302/1920x1080/176684302.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684302/1920x1080/176684302.jpg"> 2685 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684302/0x1200/176684302.jpg" /><meta itemprop="name" content="washer and dryer" /> 2686 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open kitchen with stainless steal appli
2686ances" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684307/1920x1080/176684307.jpg"> 2687 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684307/0x1200/176684307.jpg" /><meta itemprop="name" content="open kitchen with stainless steal appliances" /> 2688 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684320/1920x1080/176684320.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684320/1920x1080/176684320.jpg"> 2689 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684320/0x640/176684320.jpg" /><meta itemprop="name" content="washer and dryer" /> 2690 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Livingroom with coach" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684310/1920x1080/176684310.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684310/1920x1080/176684310.jpg"> 2691 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684310/0x1200/176684310.jpg" /><meta itemprop="name" content="Livingroom with coach" /> 2692 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of Fireplace" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434256/1920x1080/155434256.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434256/1920x1080/155434256.jpg"> 2693 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434256/0x640/155434256.jpg" /><meta itemprop="name" content="Fireplace" /> 2694 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open livingroom" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684311/1920x1080/176684311.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684311/1920x1080/176684311.jpg"> 2695 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684311/0x1200/176684311.jpg" /><meta itemprop="name" content="open livingroom" /> 2696 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Detail picture of dark cabinets" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434316/1920x1080/155434316.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434316/1920x1080/155434316.jpg"> 2697 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434316/0x1200/155434316.jpg" /><meta itemprop="name" content="Detail picture of dark cabinets" /> 2698 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Kitchen with white cabinets, white counters, and an island" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434285/1920x1080/155434285.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434285/1920x1080/155434285.jpg"> 2699 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434285/0x1200/155434285.jpg" /><meta itemprop="name" content="Kitchen with white cabinets, white counters, and an island" /> 2700 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Kitchen with white cabinets, white counters, and stainless steel appliances" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434287/1920x1080/155434287.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434287/1920x1080/155434287.jpg"> 2701 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434287/0x1200/155434287.jpg" /><meta itemprop="name" content="Kitchen with white cabinets, white counters, and stainless steel appliances" /> 2702 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Open kitchen leading to living room" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434259/1920x1080/155434259.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434259/1920x1080/155434259.jpg"> 2703 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434259/0x1200/155434259.jpg" /><meta itemprop="name" content="Open kitchen leading to living room" /> 2704 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open livingroom" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684297/1920x1080/176684297.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684297/1920x1080/176684297.jpg"> 2705 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684297/0x1200/176684297.jpg" /><meta itemprop="name" content="open livingroom" /> 2706 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of Living room with couch, coffee table, and TV" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434257/1920x1080/155434257.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434257/1920x1080/155434257.jpg"> 2707 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434257/0x640/155434257.jpg" /><meta itemprop="name" content="Living room with couch, coffee table, and TV" /> 2708 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Living room with large couch and coffee table" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434260/1920x1080/155434260.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434260/1920x1080/155434260.jpg"> 2709 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434260/0x1200/155434260.jpg" /><meta itemprop="name" content="Living room with large couch and coffee table" /> 2710 </a></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3" aria-label="Expand Image of washer and dryer" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684304/1920x1080/176684304.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684304/1920x1080/176684304.jpg"> 2711 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684304/0x640/176684304.jpg" /><meta itemprop="name" content="washer and dryer" /> 2712 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of open livingroom" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684323/1920x1080/176684323.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684323/1920x1080/176684323.jpg"> 2713 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684323/0x1200/176684323.jpg" /><meta itemprop="name" content="open livingroom" /> 2714 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Bedroom with large bed and mirror" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434321/1920x1080/155434321.jpg"> 2715 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434321/0x1200/155434321.jpg" /><meta itemprop="name" content="Bedroom with large bed and mirror" /> 2716 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Closet with stacked laundry machines" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434317/1920x1080/155434317.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434317/1920x1080/155434317.jpg"> 2717 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434317/0x1200/155434317.jpg" /><meta itemprop="name" content="Closet with stacked laundry machines" /> 2718 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Hall closet" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434324/1920x1080/155434324.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434324/1920x1080/155434324.jpg"> 2719 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434324/0x1200/155434324.jpg" /><meta itemprop="name" content="Hall closet" /> 2720 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Bathroom with white cabinets and counters" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/155434322/1920x1080/155434322.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/155434322/1920x1080/155434322.jpg"> 2721 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/155434322/0x1200/155434322.jpg" /><meta itemprop="name" content="Bathroom with white cabinets and counters" /> 2722 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3" aria-label="Expand Image of Apartment patio" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176764630/1920x1080/176764630.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176764630/1920x1080/176764630.jpg"> 2723 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176764630/0x1200/176764630.jpg" /><meta itemprop="name" content="Apartment patio" /> 2724 </a></div><div class="grid-item pagination-item grid-item--width2"><a class="mosaic-img fancybox3" aria-label="Expand Image of outdoor patio" data-fancybox="mosaic-gallery-1" href="//capi.myleasestar.com/v2/dimg/176684317/1920x1080/176684317.jpg" data-mediaid="//capi.myleasestar.com/v2/dimg/176684317/1920x1080/176684317.jpg"> 2725 <meta data-u="image" itemprop="contentUrl" content="//capi.myleasestar.com/v2/dimg-crop/176684317/0x1200/176684317.jpg" /><meta itemprop="name" content="outdoor patio" /> 2726 </a></div></div><div id="grid2" class="grid pagination-parent" style="display:none"> 2727 <div class="grid-sizer"></div><div class="grid-item pagination-item grid-item--width2 grid-item--height2"><a class="mosaic-img fancybox3 fancybox3-tour" aria-label="Expand Image of The Franciscan | Fitness Center" data-fancybox="mosaic-gallery-2" data-src="https://my.matterport.com/show/?m=poHRVXzxaPU" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156464165/1920x1080/156464165.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156464165/1920x1080/156464165.png" title="Fitness Center"> 2728 <meta data-u="image" itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156464165/0x640/156464165.png" /> 2729 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3 fancybox3-tour" aria-label="Expand Image of Two Bedroom" data-fancybox="mosaic-gallery-2" data-src="https://my.matterport.com/show/?m=1KmMmrz34DX" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156440323/1920x1080/156440323.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156440323/1920x1080/156440323.png" title="Two Bedroom"> 2730 <meta data-u="image" itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156440323/0x640/156440323.png" /> 2731 </a></div><div class="grid-item pagination-item"><a class="mosaic-img fancybox3 fancybox3-tour" aria-label="Expand Image of The Franciscan | One Bedroom" data-fancybox="mosaic-gallery-2" data-src="https://my.matterport.com/show/?m=DGSeM39mtmE" data-type="iframe" href="https://capi.myleasestar.com/v2/dimg/156440267/1920x1080/156440267.png" data-mediaid="https://capi.myleasestar.com/v2/dimg/156440267/1920x1080/156440267.png" title="One Bedroom"> 2732 <meta data-u="image" itemprop="contentUrl" content="https://capi.myleasestar.com/v2/dimg-crop/156440267/0x640/156440267.png" /> 2733 </a></div><div class="grid-item pagination-item grid-item--width3 grid-item--height2"><a class="mosaic-img fancybox3 fancybox3-tour" aria-label="Expand Image of Courtyard" data-fancybox="mosaic-gallery-2" data-src="https://my.matterport.com/show/?m=45LbuRvh9ks" data-type="iframe" href="" data-mediaid="" title="Courtyard"> 2734 <meta data-u="image" itemprop="contentUrl" content="" /> 2735 </a></div></div> 2736 </div> 2737 2738 </div> 2739<div id="gstFooterIntersect" class="clear"></div> 2740 2741</div> 2742</section> 2743<section id="neighborhood" class="block-area container-fluid"><div id="" class="home-banner neighborhood-banner black-border row"><div class="banner-overlay"></div><div class="banner-content"> 2744<h2>Neighborhood</h2> 2745</div></div><div id="" class="map-plus-bar row"><div id="" class=""><div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneLocation_WebPartZone_WebPartZone_zone_WebPartLoader3_pnlContainer"> 2746 <div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneLocation_WebPartZone_WebPartZone_zone_WebPartLoader3_ctl00_pnlNeighborhoodFullWidth" class="widget neighborhood-widget"> 2747 2748 2749
2750<script src="/CMSScripts/Custom/RPWebParts/spiderfier/oms.min.js" type="text/javascript"></script>
2750 2751
2752<script type="text/javascript"> 2753// PME-507748 / WCAG 1.3.1 ââ¬â emit the marker-name <h4> only when the name has text. 2754// If name is blank, return '' so axe doesn't flag <h4><a></a></h4>. 2755function f_buildMarkerHeading(href, name) { 2756 var safeName = (name || '').toString().trim(); 2757 if (safeName.length === 0) { return ''; } 2758 return '<h4><a href="' + href + '" target="_blank" rel="noopener noreferrer">' + safeName + '<span class="sr-only"> (opens in a new tab)</span></a></h4>'; 2759} 2760var overrideGetDirections = 'https://www.google.com/maps/dir/Current+Location/601 Almarida Drive CA'; 2761var overridePropertyLink = 'https://www.google.com/maps/place/The+Franciscan/@37.2964248,-121.9415933,16z/'; 2762var propertyMarker; 2763var mapFullWidth; 2764var mapService; 2765var markersArray = []; 2766var origin; 2767var infoWindow; 2768var zoomLevels = { 2769 '402.33': 16, 2770 '804.67': 15, 2771 '1609.34': 14, 2772 '4023.36': 13, 2773 '8046.72': 12, 2774 '16093.4': 11, 2775 '32186.9': 10, 2776 '48280.3': 9 2777}; 2778var defaultZoom = (typeof searchRadius !== 'undefined') ? zoomLevels[searchRadius] : 15; 2779var currentRadius = (typeof searchRadius !== 'undefined') ? searchRadius : 804.67; 2780var currentKeyword = ''; 2781var currentIcon = ''; 2782var overlays = []; 2783var clicked = false; 2784var customMapPinsObj = '[]' ? JSON.parse('[]') : ''; 2785var oms; 2786//Google Maps Lazyloading 2787let lazyLoaded = false; 2788 2789$(document).on("ready", function () { 2790 let script = document.createElement('script') 2791 2792 // Load the map script once the widget container is actually visible. 2793 // Previously this was gated on scroll/resize/load DOM events re-checking 2794 // getBoundingClientRect(); if none of those events fired after the container 2795 // was already in view (e.g. an automated page check, or a user landing via 2796 // an in-page anchor), the map script never loaded ââ¬â silently, with no 2797 // console error. IntersectionObserver fires on real visibility directly, 2798 // including the "already visible when observed" case, so it doesn't depend 2799 // on a scroll/resize event happening to occur afterward. 2800 function smLoadMapScript() { 2801 if (lazyLoaded) { return; } 2802 lazyLoaded = true; 2803 $('.neighborhood-widget__loader').show(); 2804 // adds the script tag to the document 2805 if (document.getElementsByTagName('body')[0]) { 2806 document.getElementsByTagName('body')[0].appendChild(script) 2807 } else { 2808 document.getElementsByTagName('html')[0].appendChild(script) 2809 } 2810 2811 // baseline config for script tag 2812 script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyDS1oKsJ_hSSZqIslqkR4EdK1VndKUOPYM&libraries=places,geometry' 2813 script.async = true 2814 script.defer = true 2815 2816 //after the google map script has loaded we can call the widget script 2817 script.onload = function () { 2818 loadMap(); 2819 $('.neighborhood-widget__loader').hide('slow'); 2820 } 2821 } 2822 2823 var mapContainerEl = document.getElementById("mapFullWidth"); 2824 if (mapContainerEl && window.IntersectionObserver) { 2825 var mapObserver = new IntersectionObserver(function (entries) { 2826 entries.forEach(function (entry) { 2827 if (entry.isIntersecting) { 2828 smLoadMapScript(); 2829 mapObserver.disconnect(); 2830 } 2831 }); 2832 }); 2833 mapObserver.observe(mapContainerEl); 2834 } else if (mapContainerEl) { 2835 smLoadMapScript(); 2836 } 2837 }); 2838 //End Google Maps Lazyloading 2839 2840 2841 function loadMap() { 2842 2843 $(function () { 2844 initMap(); 2845 }); 2846 2847 function initMap() { 2848 origin = new google.maps.LatLng(latitude, longitude); 2849 2850 var stylesObj = [{elementType: 'geometry', 2851 stylers: [{ color: '#f5f5f5' }] 2852 }, 2853 { 2854 elementType: 'labels.icon', 2855 stylers: [{ visibility: 'off' }] 2856 }, 2857 { 2858 elementType: 'labels.text.fill', 2859 stylers: [{ color: '#616161' }] 2860 }, 2861 { 2862 elementType: 'labels.text.stroke', 2863 stylers: [{ color: '#f5f5f5' }] 2864 }, 2865 { 2866 featureType: 'administrative.land_parcel', 2867 elementType: 'labels.text.fill', 2868 stylers: [{ color: '#bdbdbd' }
2868] 2869 }, 2870 { 2871 featureType: 'poi', 2872 elementType: 'geometry', 2873 stylers: [{ color: '#eeeeee' }] 2874 }, 2875 { 2876 featureType: 'poi', 2877 elementType: 'labels.text.fill', 2878 stylers: [{ color: '#757575' }] 2879 }, 2880 { 2881 featureType: 'poi.park', 2882 elementType: 'geometry', 2883 stylers: [{ color: '#e5e5e5' }] 2884 }, 2885 { 2886 featureType: 'poi.park', 2887 elementType: 'labels.text.fill', 2888 stylers: [{ color: '#9e9e9e' }] 2889 }, 2890 { 2891 featureType: 'road', 2892 elementType: 'geometry', 2893 stylers: [{ color: '#ffffff' }] 2894 }, 2895 { 2896 featureType: 'road.arterial', 2897 elementType: 'labels.text.fill', 2898 stylers: [{ color: '#757575' }] 2899 }, 2900 { 2901 featureType: 'road.highway', 2902 elementType: 'geometry', 2903 stylers: [{ color: '#dadada' }] 2904 }, 2905 { 2906 featureType: 'road.highway', 2907 elementType: 'labels.text.fill', 2908 stylers: [{ color: '#616161' }] 2909 }, 2910 { 2911 featureType: 'road.local', 2912 elementType: 'labels.text.fill', 2913 stylers: [{ color: '#9e9e9e' }] 2914 }, 2915 { 2916 featureType: 'transit.line', 2917 elementType: 'geometry', 2918 stylers: [{ color: '#e5e5e5' }] 2919 }, 2920 { 2921 featureType: 'transit.station', 2922 elementType: 'geometry', 2923 stylers: [{ color: '#eeeeee' }] 2924 }, 2925 { 2926 featureType: 'water', 2927 elementType: 'geometry', 2928 stylers: [{ color: '#c9c9c9' }] 2929 }, 2930 { 2931 featureType: 'water', 2932 elementType: 'labels.text.fill', 2933 stylers: [{ color: '#9e9e9e' }] 2934 } 2935 ]; 2936 2937 mapFullWidth = new google.maps.Map(document.getElementById('mapFullWidth'), { 2938 center: origin, 2939 zoom: defaultZoom, 2940 mapTypeControl: false, 2941 scrollwheel: false, 2942 minZoom: 10, 2943 keyboardShortcuts: false 2944 //gestureHandling: 'greedy' 2945 2946 }); 2947 2948 mapService = new google.maps.places.PlacesService(mapFullWidth);
2949 2950 oms = new OverlappingMarkerSpiderfier(mapFullWidth, { 2951 markersWontMove: true, 2952 markersWontHide: true, 2953 basicFormatEvents: false, 2954 keepSpiderfied: true, 2955 nearbyDistance: 22, 2956 spiralFootSeparation: 28, 2957 spiralLengthStart: 18, 2958 spiralLengthFactor: 5 2959 }); 2960 2961 mapFullWidth.setOptions({ styles: stylesObj }); 2962 2963 var markerIconNormal = { 2964 path: 'M54.549,17.947c-12.314,0-22.332,10.02-22.332,22.334c0,11.854,20.262,39.548,21.125,40.721l0.805,1.096,c0.094,0.129,0.244,0.204,0.402,0.204c0.16,0,0.309-0.075,0.404-0.204l0.805-1.096c0.863-1.173,21.125-28.867,21.125-40.721,C76.883,27.967,66.863,17.947,54.549,17.947z M54.549,32.281c4.412,0,8,3.588,8,8c0,4.41-3.588,8-8,8c-4.41,0-8-3.59-8-8,C46.549,35.869,50.139,32.281,54.549,32.281z', 2965 fillColor: '#425563', 2966 fillOpacity: 1, 2967 scale: .75, 2968 strokeWeight: 0, 2969 anchor: new google.maps.Point(55, 80) 2970 }; 2971 2972 var markerOptions = { 2973 position: origin, 2974 map: mapFullWidth, 2975 icon: markerIconNormal, 2976 geometry: { 2977 location: origin 2978 }, 2979 title: name, 2980 name: name, 2981 vicinity: addressLine1, 2982 addressState: addressState, 2983 addressPostalCode: addressPostalCode, 2984 phonesNumber: phonesNumber, 2985 website: website, 2986 city: city 2987 }; 2988 2989 propertyMarker = new google.maps.Marker(markerOptions); 2990 2991 google.maps.event.addListener(propertyMarker, 'spider_format', function (status) { 2992 if (status == OverlappingMarkerSpiderfier.markerStatus.SPIDERFIED) { 2993 propertyMarker.setIcon({ 2994 path: 'M54.549,17.947c-12.314,0-22.332,10.02-22.332,22.334c0,11.854,20.262,39.548,21.125,40.721l0.805,1.096,c0.094,0.129,0.244,0.204,0.402,0.204c0.16,0,0.309-0.075,0.404-0.204l0.805-1.096c0.863-1.173,21.125-28.867,21.125-40.721,C76.883,27.967,66.863,17.947,54.549,17.947z M54.549,32.281c4.412,0,8,3.588,8,8c0,4.41-3.588,8-8,8c-4.41,0-8-3.59-8-8,C46.549,35.869,50.139,32.281,54.549,32.281z', 2995 fillColor: '#425563', 2996 fillOpacity: 1, 2997 scale: .5, 2998 strokeWeight: 0, 2999 anchor: new google.maps.Point(55, 45) 3000 }); 3001 } 3002 else { 3003 propertyMarker.setIcon({ 3004 path: 'M54.549,17.947c-12.314,0-22.332,10.02-22.332,22.334c0,11.854,20.262,39.548,21.125,40.721l0.805,1.096,c0.094,0.129,0.244,0.204,0.402,0.204c0.16,0,0.309-0.075,0.404-0.204l0.805-1.096c0.863-1.173,21.125-28.867,21.125-40.721,C76.883,27.967,66.863,17.947,54.549,17.947z M54.549,32.281c4.412,0,8,3.588,8,8c0,4.41-3.588,8-8,8c-4.41,0-8-3.59-8-8,C46.549,35.869,50.139,32.281,54.549,32.281z', 3005 fillColor: '#425563', 3006 fillOpacity: 1, 3007 scale: .75, 3008 strokeWeight: 0, 3009 anchor: new google.maps.Point(55, 80) 3010 }); 3011 } 3012 }); 3013 oms.addMarker(propertyMarker); 3014 3015 var content = '<div class="neighborhood-widget__marker neighborhood-widget__marker-property">' + 3016 f_buildMarkerHeading(overridePropertyLink, name) + 3017 '<p>' + addressLine1.replace(/,/g, '<br />') + '<br />' + city + ', ' + addressState + ' ' + addressPostalCode + '</p>' + 3018 '<p><strong>' + phonesNumber + '</strong></p>' + 3019 '<p><a href=" ' + overrideGetDirections + ' " target ="_blank" rel="noopener noreferrer"><strong>Get Directions</strong><span class="sr-only"> (opens in a new tab)</span></a></p>'; 3020 3021 content += '</div>'; 3022 3023 google.maps.event.addListener(propertyMarker, 'spider_click', function () { 3024 if (infoWindow != undefined) { 3025 infoWindow.close(); 3026 } 3027 infoWindow = new google.maps.InfoWindow({ content: content }); 3028 infoWindow.open(mapFullWidth, propertyMarker); 3029 3030 $('.neighborhood-widget__marker').parent().parent().parent().prev().find('> div').eq(7).css('border-top', '3px solid #425563;'); 3031 }); 3032 3033 var center; 3034 3035 function calculateCenter() { 3036 center = mapFullWidth.getCenter(); 3037 } 3038 3039 google.maps.event.addDomListener(mapFullWidth, 'idle', function () { 3040 calculateCenter(); 3041 }); 3042 3043 google.maps.event.addListener(mapFullWidth, 'spider_click', function (event) { 3044 infoWindow.close(); 3045 clicked = false; 3046 if ($(window).width() < 543) { 3047 hideCategories(); 3048 } 3049 }); 3050 3051 google.maps.event.addDomListener(window, 'resize', function () { 3052 mapFullWidth.setCenter(center); 3053 }); 3054 3055 google.maps.event.addListener(mapFullWidth, 'zoom_changed', boundsUpdated); 3056 3057 $(customMapPinsObj).each(function (i, v) { 3058 if (v.Category == null) { 3059 var generalIcon = { 3060 url: '\CMSScripts\Custom\RPWebParts\spiderfier\general.png', //placeResult.icon, 3061 scaledSize: new google.maps.Size(26, 26),
3062 anchor: new google.maps.Point(13, 13), 3063 }; 3064 var customMarkerOptions = { 3065 position: new google.maps.LatLng(v.Latitude, v.Longitude), 3066 map: mapFullWidth, 3067 icon: generalIcon, 3068 geometry: { 3069 location: new google.maps.LatLng(v.Latitude, v.Longitude) 3070 }, 3071 title: v.Name, 3072 name: v.Name, 3073 vicinity: v.Address, 3074 addressState: v.State, 3075 addressPostalCode: v.Zip, 3076 website: v.Url, 3077 city: v.City 3078 }; 3079 var customMarker = new google.maps.Marker(customMarkerOptions); 3080 markersArray.push(customMarker); 3081 3082 var customPin = '<div class="neighborhood-widget__marker neighborhood-widget__marker-custom">' + 3083 f_buildMarkerHeading(v.Url, v.Name) + 3084 '<p>' + v.Address + '<br />' + v.City + ', ' + v.State + ' ' + v.Zip + '</p>' + 3085 '<p><a href="https://www.google.com/maps/dir/?api=1&destination=' + v.Address.replace(/ /g, '+') + ',' + v.City.replace(/ /g, '+') + ',' + 3086 v.State + '" target="_blank" rel="noopener noreferrer"><strong>Get Directions</strong><span class="sr-only"> (opens in a new tab)</span></a></p></div>'; 3087 3088 google.maps.event.addListener(customMarker, 'spider_click', function () { 3089 if (infoWindow != undefined) { 3090 infoWindow.close(); 3091 } 3092 infoWindow = new google.maps.InfoWindow({ content: customPin }); 3093 infoWindow.open(mapFullWidth, customMarker); 3094 3095 $('.neighborhood-widget__marker').parent().parent().parent().prev().find('> div').eq(7).css('border-top', '3px solid #425563;'); 3096 }); 3097 } 3098 }); 3099 } 3100 3101 function circleDrawHandler(radius) { 3102 while (overlays[0]) { 3103 overlays.pop().setMap(null); 3104 } 3105 var circle = new google.maps.Circle({ 3106 center: origin, 3107 clickable: true, 3108 draggable: false, 3109 editable: false, 3110 fillColor: '#004de8', 3111 fillOpacity: 0.27, 3112 map: mapFullWidth, 3113 radius: radius, 3114 strokeColor: '#004de8', 3115 strokeOpacity: 0.62, 3116 strokeWeight: 1 3117 }); 3118 overlays.push(circle); 3119 google.maps.event.addListener(circle, 'rightclick', polygonDestructionHandler); 3120 }; 3121 3122 polygonDestructionHandler = function () { 3123 return this.setMap(null); 3124 }; 3125 3126 function boundsUpdated(event) { 3127 var z = mapFullWidth.getZoom(); 3128 var bounds = mapFullWidth.getBounds(); 3129 var center = mapFullWidth.getCenter(); 3130 var ne = bounds.getNorthEast();
3131 var sw = bounds.getSouthWest(); 3132 var nw = new google.maps.LatLng(ne.lat(), sw.lng()); 3133 var se = new google.maps.LatLng(sw.lat(), ne.lng()); 3134 3135 if (bounds && center) { 3136 var b = google.maps.geometry.spherical.computeDistanceBetween(nw, ne) / 2; 3137 var h = google.maps.geometry.spherical.computeDistanceBetween(center, ne); 3138 var radius = ((h - b) / 400); 3139 } 3140 } 3141 3142 function createMarker(placeResult, icon) { 3143 var iconList = ["entertainment", "schools", "food", "nightlife", "recreation", "professional", "residences", "shopping", "travel"]; 3144 3145 if (iconList.indexOf(icon) < 0) { 3146 icon = 'general'; 3147 } 3148 var markerIconUrl = '/templateresources/global/icons/map-icons/' + icon + '.png'; 3149 var markerIcon = { 3150 url: markerIconUrl, 3151 scaledSize: new google.maps.Size(26, 26), 3152 anchor: new google.maps.Point(13, 13), 3153 }; 3154 3155 var markerOptions = { 3156 map: mapFullWidth, 3157 position: placeResult.geometry.location, 3158 title: placeResult.name, 3159 icon: markerIcon, 3160 zIndex: 1 3161 }; 3162 3163 var marker = new google.maps.Marker(markerOptions); 3164 google.maps.event.addListener(marker, 'spider_format', function (status) { 3165 if (status == OverlappingMarkerSpiderfier.markerStatus.SPIDERFIABLE) { 3166 marker.setIcon({ 3167 url: '/CMSScripts/Custom/RPWebParts/spiderfier/general-plus.png', 3168 scaledSize: new google.maps.Size(26, 26), 3169 anchor: new google.maps.Point(13, 13) 3170 }); 3171 } 3172 else { 3173 marker.setIcon({ 3174 url: markerIconUrl, 3175 scaledSize: new google.maps.Size(26, 26), 3176 anchor: new google.maps.Point(13, 13), 3177 }); 3178 } 3179 }); 3180 oms.addMarker(marker); 3181 markersArray.push(marker); 3182 3183 google.maps.event.addListener(marker, 'spider_click', function () { 3184 clicked = true; 3185 3186 getPlaceDetails(placeResult, marker); 3187 this.setOptions({ zIndex: 10 }); 3188 }); 3189 3190 google.maps.event.addListener(marker, 'closeclick', function () { 3191 clicked = false; 3192 }); 3193 } 3194 3195 function isValid(input1, input2) { 3196 if (input1 != undefined || input2 != undefined) { 3197 return true; 3198 } 3199 else { 3200 return false; 3201 } 3202 } 3203 3204 function getPlaceDetails(placeResult, marker){ 3205 if (infoWindow != undefined) { 3206 infoWindow.close(); 3207 } 3208 3209 var request = { 3210 reference: placeResult.reference 3211 }; 3212 3213 mapService.getDetails(request, function(details, status) { 3214 var priceRating = ''; 3215 if (details.price_level != undefined) { 3216 for (i = 1; i <= details.price_level; i++) { 3217 priceRating += '$'; 3218 } 3219 } 3220 3221 var photoUrl = ''; 3222 if (details.photos != undefined) { 3223 if (details.photos.length > 0) { 3224 photoUrl = details.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 300 }); 3225 } 3226 } 3227 3228 var addr = details.address_components; 3229 var content = '<div class="neighborhood-widget__marker ' + ((photoUrl != '') ? 'has-photo' : '') + '">'; 3230 content += (photoUrl != '') ? '<div class="photo" style="background-image: url(' + photoUrl + ')"></div>' : ''; 3231 content += f_buildMarkerHeading(details.url, details.name); 3232 content += (details.rating != undefined) ? '<span class="rating">' + details.rating + '</span>' : ''; 3233 content += '<p>'; 3234 content += (getAddressComponent(addr, 'street_number') != undefined) ? getAddressComponent(addr, 'street_number') + ' ' : ''; 3235 content += (getAddressComponent(addr, 'route', 'short') != undefined) ? getAddressComponent(addr, 'route', 'short') : ''; 3236 content += (isValid(getAddressComponent(addr, 'street_number'), getAddressComponent(addr, 'route', 'short'))) ? '<br />' : ''; 3237 content += (getAddressComponent(addr, 'locality') != undefined) ? getAddressComponent(addr, 'locality') + ', ' : ''; 3238 content += (getAddressComponent(addr, 'administrative_area_level_1', 'short') != undefined) ? getAddressComponent(addr, 'administrative_area_level_1', 'short') + ' ' : ''; 3239 content += (getAddressComponent(addr, 'postal_code', 'short') != undefined) ? getAddressComponent(addr, 'postal_code', 'short') : ''; 3240 content += '</p>'; 3241 content += (details.formatted_phone_number != undefined) ? '<p><strong>' + details.formatted_phone_number + '</strong></p>' : ''; 3242 content += '<p><a href="https://www.google.com/maps/dir/?api=1&destination=' + details.formatted_address + '" target="_blank" rel="noopener noreferrer"><strong>Get Directions</strong><span class="sr-only"> (opens in a new tab)</span></a>' + ((priceRating != '') ? ' • <span class="price">' + priceRating + '</span>' : '') + '</p>'; 3243 content += '</div>'; 3244 3245 infoWindow = new google.maps.InfoWindow({ content: content }); 3246 3247 infoWindow.open(mapFullWidth, marker); 3248 }); 3249 } 3250 3251 function getAddressComponent(components, type, length){ 3252 var str; 3253 $(components).each(function(){
3254 if (this.types[0] == type){ 3255 str = (length == 'short') ? this.short_name : this.long_name; 3256 return; 3257 } 3258 }); 3259 return str; 3260 } 3261 3262 function findByKeyword(keyword, icon) { 3263 currentKeyword = keyword; 3264 currentIcon = icon; 3265 3266 var excludedKeywords = $.parseJSON('[]'); 3267 var excludedBusinesses = $.parseJSON('["strip","club","girl","smoke","dance","dancer","vape","gentlemen\'s","exotic","hookah","cigar","lounge","XXX"]'); 3268 var filteredWords = "sex,strip club,adult entertainment,strip bar,XXX,porn,escort,adult video,gentlemen's club,adult bookstore,adult club"; 3269 if (excludedKeywords.length > 0) { 3270 filteredWords += ',' + excludedKeywords.join(','); 3271 } 3272 if (excludedBusinesses.length > 0) { 3273 filteredWords += ',' + excludedBusinesses.join(','); 3274 } 3275 var fwordsArray = filteredWords.split(","); 3276 var request = { 3277 keyword: keyword, 3278 location: origin, 3279 radius: currentRadius 3280 }; 3281 3282 $('.neighborhood-widget__loader').show(); 3283 3284 mapService.nearbySearch(request, function (results, status) { 3285 deleteOverlays(); 3286 var customPinExists = false; 3287 $(customMapPinsObj).each(function (i, v) { 3288 $(v.Category).each(function (j, w) { 3289 if (w == icon || (!icon && keyword && w == keyword.trim())) { 3290 customPinExists = true; 3291 3292 var markerIconUrl = '/templateresources/global/icons/map-icons/' + (icon ? icon : 'general') + '.png'; 3293 var markerIcon = { 3294 url: markerIconUrl, 3295 scaledSize: new google.maps.Size(26, 26), 3296 anchor: new google.maps.Point(13, 13) 3297 }; 3298 3299 var customMarkerOptions = { 3300 position: new google.maps.LatLng(v.Latitude, v.Longitude), 3301 map: mapFullWidth, 3302 icon: markerIcon, 3303 geometry: { 3304 location: new google.maps.LatLng(v.Latitude, v.Longitude) 3305 }, 3306 title: v.Name, 3307 name: v.Name, 3308 vicinity: v.Address, 3309 addressState: v.State, 3310 addressPostalCode: v.Zip, 3311 website: v.Url, 3312 city: v.City 3313 }; 3314 var customMarker = new google.maps.Marker(customMarkerOptions); 3315 google.maps.event.addListener(customMarker, 'spider_format', function (status) { 3316 if (status == OverlappingMarkerSpiderfier.markerStatus.SPIDERFIABLE) { 3317 customMarker.setIcon({ 3318 url: '/CMSScripts/Custom/RPWebParts/spiderfier/general-plus.png', 3319 scaledSize: new google.maps.Size(26, 26), 3320 anchor: new google.maps.Point(13, 13) 3321 }); 3322 } 3323 else { 3324 customMarker.setIcon({ 3325 url: markerIconUrl, 3326 scaledSize: new google.maps.Size(26, 26), 3327 anchor: new google.maps.Point(13,
332713), 3328 }); 3329 } 3330 }); 3331 3332 oms.addMarker(customMarker); 3333 markersArray.push(customMarker); 3334 3335 var customPin = '<div class="neighborhood-widget__marker neighborhood-widget__marker-custom">' + 3336 f_buildMarkerHeading(v.Url, v.Name) + 3337 '<p>' + v.Address + '<br />' + v.City + ', ' + v.State + ' ' + v.Zip + '</p>' + 3338 '<p><a href="https://www.google.com/maps/dir/?api=1&destination=' + v.Address.replace(/ /g, '+') + ',' + v.City.replace(/ /g, '+') + ',' + 3339 v.State + '" target="_blank" rel="noopener noreferrer"><strong>Get Directions</strong><span class="sr-only"> (opens in a new tab)</span></a></p></div>'; 3340 3341 google.maps.event.addListener(customMarker, 'spider_click', function () { 3342 if (infoWindow != undefined) { 3343 infoWindow.close(); 3344 } 3345 infoWindow = new google.maps.InfoWindow({ content: customPin }); 3346 infoWindow.open(mapFullWidth, customMarker); 3347 3348 $('.neighborhood-widget__marker').parent().parent().parent().prev().find('> div').eq(7).css('border-top', '3px solid #425563;'); 3349 }); 3350 } 3351 }); 3352 }); 3353 3354 if (status == google.maps.places.PlacesServiceStatus.OK) { 3355 $(results).each(function () { 3356 var temp = 0; 3357 for (var i = 0; i < fwordsArray.length; i++) { 3358 var re = new RegExp('(^|\\s+)' + fwordsArray[i] + '(\\s+|$)', 'gi'); 3359 if (this.name.match(re) != null) { 3360 temp += this.name.match(re); 3361 } 3362 } 3363 if (temp == 0 && ('false' == 'false')) { 3364 createMarker(this, currentIcon); 3365 } 3366 }); 3367 3368 if (markersArray.length > 0) { 3369 var bounds = new google.maps.LatLngBounds(); 3370 3371 for (var i = 0; i < markersArray.length; i++) { 3372 bounds.extend(markersArray[i].getPosition()); 3373 } 3374 3375 bounds.extend(origin); 3376 3377 mapFullWidth.fitBounds(bounds); 3378 } 3379 } 3380 3381 if ((status == "ZERO_RESULTS" && !customPinExists) || (markersArray.length == 0)) { 3382 $('.search-no-results').addClass('show-message'); 3383 } 3384 else { $('.search-no-results').removeClass('show-message'); } 3385 $('.neighborhood-widget__loader').hide('slow'); 3386 }); 3387 } 3388 3389 function deleteOverlays() { 3390 if (markersArray) { 3391 while (markersArray[0]) { 3392 markersArray.pop().setMap(null); 3393 } 3394 } 3395 } 3396 3397 var categoriesHidden = false; 3398 3399 $(function () { 3400 var mainKeywords = 'schools|food|nightlife|professional|residences|travel'; 3401 $.each(mainKeywords.split('|'), function (idx, val) { 3402 if (val != '') { 3403 $('.neighborhood-widget__categories ul li[data-icon=' + val + ']').hide(); 3404 } 3405 }); 3406 3407 var customKeywords = $.parseJSON('["Dining","Schools","Transportation"]'); 3408 $.each(customKeywords, function (idx, val) { 3409 keywordItem = '<li role="button" aria-label="' + val + '" data-icon=""><span class="fa fa-circle-o"></span><div class="neighborhood-button-text"> ' + val + '</div></li>'; 3410 $('.neighborhood-widget__categories ul').append(keywordItem); 3411 }); 3412 3413 $('.neighborhood-widget__categories li').click(function () { 3414 $(this).addClass('active'); 3415 $(this).siblings().removeClass('active'); 3416 3417 findByKeyword($(this).text(), $(this).data('icon')); 3418 $('.neighborhood-widget__search input').val($(this).text()); 3419 3420 if ($(window).width() < 768) { 3421 hideCategories(); 3422 } 3423 }); 3424 3425 $('.neighborhood-widget__handle').click(function () { 3426 if (!categoriesHidden) { 3427 hideCategories(); 3428 } else { 3429 showCategories(); 3430 } 3431 }); 3432 3433 $('.neighborhood-widget__search input').click(function (e) { 3434 $('.search-no-results').removeClass('show-message'); 3435 showCategories(); 3436 if ($(window).width() < 768 && $('.neighborhood-widget__nav').hasClass('expanded')) { 3437 blur(); 3438 } 3439 }); 3440 3441 $('.neighborhood-widget__search input').keypress(function (e) { 3442 if (e.which == 13) { 3443 findByKeyword($(this).val(), 'general'); 3444 hideCategories(); 3445 $('.neighborhood-widget__categories li').removeClass('active'); 3446 $('.neighborhood-widget__search input').blur(); 3447 return false; 3448 } 3449 }); 3450 3451 $('.neighborhood-widget__search .fa-search').click(function () { 3452 findByKeyword($('.neighborhood-widget__search input').val(), 'general'); 3453 hideCategories(); 3454 $('.neighborhood-widget__categories li').removeClass('active'); 3455 }); 3456 3457 var navPosition = $('.neighborhood-widget__nav').position(); 3458 var walkScoreHeight = ($('.walk-score-container').length >
3458 0) ? $('.neighborhood-widget__walkscore').height() + 30 : 0; 3459 $('.neighborhood-widget__categories').css('max-height', $('.neighborhood-widget__categories').parent().parent().height() - (90 + navPosition.top) - walkScoreHeight); 3460 3461 function hideCategories() { 3462 $('.neighborhood-widget__categories').css({ 'margin-top': -$('.neighborhood-widget__categories').innerHeight(), 'opacity': 0 }) 3463 $('.neighborhood-widget__nav').removeClass('expanded'); 3464 categoriesHidden = true; 3465 } 3466 3467 function showCategories() { 3468 $('.neighborhood-widget__categories').css({ 'margin-top': 0, 'opacity': 1 }); 3469 $('.neighborhood-widget__nav').addClass('expanded'); 3470 categoriesHidden = false; 3471 } 3472 3473 $(window).resize(function () { 3474 var navPosition = $('.neighborhood-widget__nav').position(); 3475 var walkScoreHeight = ($('.walk-score-container').length > 0) ? $('.neighborhood-widget__walkscore').height() + 30 : 0; 3476 $('.neighborhood-widget__categories').css('max-height', $('.neighborhood-widget__categories').parent().parent().height() - (90 + navPosition.top) - walkScoreHeight); 3477 }); 3478 }); 3479 } 3480 </script>
3480 3481 3482 <div id="mapFullWidth"></div> 3483 3484 <div class="neighborhood-widget__loader"> 3485 <div class="loader"> 3486 <svg class="circular" viewbox="25 25 50 50"> 3487 <circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"></circle> 3488 </svg> 3489 </div> 3490 </div> 3491 3492 <div class="neighborhood-widget__nav expanded"> 3493 <div class="neighborhood-widget__search"> 3494 <div class="form-group"> 3495 <input type="text" class="form-control" placeholder="Search..." aria-label="search" tabindex="0" /> <span class="fa fa-search" aria-hidden="true"></span> 3496 </div> 3497 </div> 3498 3499 <div class="neighborhood-widget__categories"> 3500 <ul> 3501 <li data-icon="entertainment" role="button" aria-label="arts and entertainment"><span class="fa fa-paint-brush"></span><div class="neighborhood-button-text"> Arts & Entertainment</div></li> 3502 <li data-icon="schools" role="button" aria-label="colleges and universities"><span class="fa fa-graduation-cap"></span><div class="neighborhood-button-text"> Colleges & Universities</div></li> 3503 <li data-icon="food" role="button" aria-label="food"><span class="fa fa-cutlery"></span><div class="neighborhood-button-text"> Food</div></li> 3504 <li data-icon="nightlife" role="button" aria-label="nightlife spots"><span class="fa fa-beer"></span><div class="neighborhood-button-text"> Nightlife Spots</div></li> 3505 <li data-icon="recreation" role="button" aria-label="outdoors and recreation"><span class="fa fa-soccer-ball-o"></span><div class="neighborhood-button-text"> Outdoors & Recreation</div></li> 3506 <li data-icon="professional" role="button" aria-label="professional"><span class="fa fa-suitcase"></span><div class="neighborhood-button-text"> Professional</div></li> 3507 <li data-icon="residences" role="button" aria-label="residences"><span class="fa fa-building"></span><div class="neighborhood-button-text"> Residences</div></li> 3508 <li data-icon="shopping" role="button" aria-label="shops and services"><span class="fa fa-shopping-bag"></span><div class="neighborhood-button-text"> Shops & Services</div></li> 3509 <li data-icon="travel" role="button" aria-label="travel and transport"><span class="fa fa-bus"></span><div class="neighborhood-button-text"> Travel & Transport</div></li> 3510 </ul> 3511 </div> 3512 3513 <div class="neighborhood-widget__handle"> 3514 <span class="icon-bar"></span> 3515 <span class="icon-bar"></span> 3516 </div> 3517 </div> 3518 3519 <div class="neighborhood-widget__walkscore"></div> 3520 <div class="search-no-results">No Results Found</div> 3521 3522 </div> 3523 3524</div> 3525</div><div class="address-info-bar"> 3526 <div id="info-address" class="col-sm-8"><i class="fa fa-map-marker" aria-hidden="true"></i>601 Almarida Drive, Campbell, CA 95008 3527 </div> 3528 <a href="http://maps.google.com/?q=601 Almarida Drive, Campbell, CA 95008" target="_blank" id="directionsLink" role="button" class="col-sm-4">Get Directions</a> 3529 <div class="clearfix"></div> 3530</div><div id="" class="clearfix"><div class="col-lg-2 col-md-1 col-sm-1"></div> 3531<div class="clearfix col-lg-8 col-md-10 col-sm-10 column-wrapper home-content-sub-content"> 3532 <div class="home-column"> 3533 <div class="wrapper col-lg-12"> 3534 <h1>Your Future Campbell, CA Neighborhood</h1> 3535 <div class="main-content"> 3536 <span style="font-size: 16px;">The Franciscan is ideally situated in Campbell, CA giving you easy access to the best of what the area has to offer. Browse the interactive map for local services and attractions near our community.</span> 3537 </div> 3538 </div> 3539 </div> 3540</div></div></div></section> 3541 3542<section id="residents" class="block-area container-fluid"><div id="" class="home-banner residents-banner black-border row"><div class="banner-overlay"></div><div class="content"> 3543 <h2>Residents</h2> 3544 <ul class="resident-links resident-links-desktop"> 3545 3546 <li> 3547 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3548 Pay Rent 3549 </a> 3550 </li> 3551 3552 3553 <li> 3554 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3555 Resident Login 3556 </a> 3557 </li> 3558 3559 3560 <li> 3561 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3562 Service Request 3563 </a> 3564 </li> 3565 3566 </ul> 3567</div></div><ul class="resident-links resident-links-mobile"> 3568 3569 <li> 3570 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3571 Pay Rent 3572 </a> 3573 </li> 3574 3575 3576 <li> 3577 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3578 Resident Login 3579 </a> 3580 </li> 3581 3582 3583 <li> 3584 <a id="resident-login" class="resident-link" href="https://franciscanapts.activebuilding.com/" target="_blank"> 3585 Service Request 3586 </a> 3587 </li> 3588 3589</ul><div id="" class="clearfix"><div class="row res-row"> 3590 <div class="col-lg-2 col-md-1 col-sm-1"></div> 3591 <div class="clearfix col-lg-8 col-md-10 col-sm-10 column-wrapper home-content-sub-content"> 3592 <div class="home-column"> 3593 <div class="wrapper col-lg-12"> 3594 <h1>Convenient Online Services</h1> 3595 <div class="main-content"> 3596 <p style="text-align: center;"><span style="font-size: 16px;">Our resident portal provides a convenient way to pay rent, interact with management, find out about upcoming events, reserve amenities, and receive community alerts from The Franciscan. Visit our resident portal with a simple click of a button.</span></p><p></p> 3597 </div> 3598 3599 </div> 3600 </div> 3601 </div> 3602 <div class="col-lg-2 col-md-1 col-sm-1"></div> 3603</div> 3604</div></section> 3605<section id="contact" class="block-area container-fluid"><div class="col-lg-12"><hr class="floor-plans-divider" /></div><div class="contact-title-container"> 3606<h2 class="contact-title">Contact</h2> 3607</div><div id="" class="clearfix"><div class="col-lg-3 col-md-1 col-sm-1"></div> 3608<div class="clearfix col-lg-6 col-md-10 col-sm-10 column-wrapper home-content-sub-content"> 3609 <div class="home-column"> 3610 <div class="wrapper"> 3611 <h1>Learn More About Our Apartment Home Community In Campbell, CA</h1> 3612 <div class="main-content container-fluid"> 3613 <p style="text-align: center;"><span style="font-size: 16px;">Contact us by phone or send us a note using the form below. If in the area, drop by our leasing office and our professional leasing team will be delighted to give you a tour. We look forward to meeting you!</span></p><div style="text-align: center;"><span style="color: rgb(0, 0, 0);"><a href="https://www.liveatfranciscan.com/AccessibilityStatement.aspx" style="background-color: rgb(255, 255, 255);"><span style="font-size: 16px;">Accessibility Statement</span></a> | <a href="https://www.liveatfranciscan.com/FairHousingStatement.aspx" style="background-color: rgb(255, 255, 255);"><span style="font-size: 16px;">Fair Housing Statement</span></a> | </span><a href="https://www.greystar.com/privacy" target="_blank"><span style="font-size: 16px;">Greystar Privacy Policy</span></a></div><div style="text-align: left;"><p></p></div> 3614 </div> 3615 </div> 3616 </div> 3617</div> 3618<div class="col-lg-3 col-md-1 col-sm-1"></div> 3619</div><div class="container-fluid"> 3620<div class="row"> 3621<div class="col-lg-1"></div><div id="" class="col-lg-6 contact-form-container">
3622<script type="text/javascript"> 3623 var rpData = null; 3624 var listofReasons = ''; 3625 var defaultSource = ''; 3626 var hideRefer = 'false'; 3627 var hideBed = 'false'; 3628 var pmcName = 'Raintree-Evergreen Management LLC'; 3629 var overridePrivacy = 'href="/Privacy-Policy.aspx" target="_blank" rel="noopener noreferrer"'; 3630 var contactLeadSources = '<select tabindex="0" class="body-txt1" id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_usersource" name="usersource" aria-label="How did you find out about our rental community?"><option value="">-Select Source-</option><option value="af">Apartment Finder</option><option value="ag">Apartment Guide</option><option value="al">Apartment List</option><option value="ar">Apartment Ratings</option><option value="as">Apartment Search</option><option value="a">Apartments.com</option><option value="br">Brochure/Flyer</option><option value="cl">Craigslist</option><option value="db">Drive-by</option><option value="fb">Facebook</option><option value="g">Google</option><option value="gs">Greystar.com</option><option value="l">Locator</option><option value="payemail">Paid Email</option><option value="ps">Paid Search</option><option value="peek">Peek</option><option value="w">Property Website</option><option value="refcr">Referral - Current Resident</option><option value="reffr">Referral - Former Resident</option><option value="rp">RentPath</option><option value="Rooof">Rooof</option><option value="y">Yelp</option><option value="z">Zillow</option><option value="zb">Zillow Boost</option><option value="zu">Zumper</option></select>'; 3631 var internationalProperty = 'false'; //internationalProperty = 'true';//debug 3632 var disableReferralTracking = 'False'; 3633 var countryCode = 'USA'; 3634 var ipAddress = '54.172.198.37'; 3635 var enableRecaptcha = 'true'; 3636 var pageName = 'General'; 3637 var cmsSiteId = '73419'; 3638 var widgetName = 'rpWebpart_GoogleRecaptcha'; 3639 var timeoutValue = 120000; 3640 var googleAnalyticsId = ''; 3641 3642 var formSuccess = false; 3643 var captchaToken = ""; 3644 var o = {}; 3645 3646 var kpv = { 3647 "Studio+" : { "key" : 192, "bed" : 0, "bath" : 0 }, 3648 "S Bed /1 Bath" : { "key" : 192, "bed" : 5, "bath" : 1 }, 3649 "S Bed /1.5 Bath" : { "key" : 192, "bed" : 5, "bath" : 1.5 }, 3650 "1 Bed /1 Bath" : { "key" : 193, "bed" : 1, "bath" : 1 }, 3651 "1 Bed /1.5 Bath" : { "key" : 193, "bed" : 1, "bath" : 1.5 }, 3652 "1 Bed /2 Bath" : { "key" : 194, "bed" : 1, "bath" : 2 }, 3653 "1 Bed /2.5 Bath" : { "key" : 194, "bed" : 1, "bath" : 2.5 }, 3654 "2 Bed /1 Bath" : { "key" : 195, "bed" : 2, "bath" : 1 }, 3655 "2 Bed /1.5 Bath" : { "key" : 195, "bed" : 2, "bath" : 1.5 }, 3656 "2 Bed /2 Bath" : { "key" : 196, "bed" : 2, "bath" : 2 }, 3657 "2 Bed /2.5 Bath" : { "key" : 196, "bed" : 2, "bath" : 2.5 }, 3658 "3 Bed /1 Bath" : { "key" : 197, "bed" : 3, "bath" : 1 }, 3659 "3 Bed /1.5 Bath" : { "key" : 197, "bed" : 3, "bath" : 1.5 }, 3660 "3 Bed /2 Bath" : { "key" : 198, "bed" : 3, "bath" : 2 }, 3661 "3 Bed /2.5 Bath" : { "key" : 198, "bed" : 3, "bath" : 2.5 }, 3662 "3 Bed /3 Bath": { "key": 199, "bed": 3, "bath": 3 }, 3663 "3 Bed /3.5 Bath" : { "key" : 199, "bed" : 3, "bath" : 3.5 }, 3664 "4 Bed /1 Bath" : { "key" : 200, "bed" : 4, "bath" : 1 }, 3665 "4 Bed /1.5 Bath" : { "key" : 200, "bed" : 4, "bath" : 1.5 }, 3666 "4 Bed /2 Bath" : { "key" : 201, "bed" : 4, "bath" : 2 }, 3667 "4 Bed /2.5 Bath" : { "key" : 201, "bed" : 4, "bath" : 2.5 }, 3668 "4 Bed /3 Bath" : { "key" : 202, "bed" : 4, "bath" : 3 }, 3669 "4 Bed /3.5 Bath" : { "key" : 202, "bed" : 4, "bath" : 3.5 }, 3670 "4 Bed /4 Bath" : { "key" : 202, "bed" : 4, "bath" : 4 }, 3671 "5 Bed /1 Bath": { "key": 202, "bed": 5, "bath": 1 }, 3672 "5 Bed /1.5 Bath": { "key": 202, "bed": 5, "bath": 1.5 }, 3673 "5 Bed /2 Bath": { "key": 202, "bed": 5, "bath": 2 }, 3674 "5 Bed /2.5 Bath": { "key": 202, "bed": 5, "bath": 2.5 }, 3675 "5 Bed /3 Bath": { "key": 202, "bed": 5, "bath": 3 }, 3676 "5 Bed /3.5 Bath": { "key": 202, "bed": 5, "bath": 3.5 } 3677 }; 3678 3679 $(document).ready(function () { 3680 var datePicker_dateFormat = (internationalProperty == 'true') ? "dd/mm/yy" : "mm/dd/yy"; 3681 $('#userIpAddress').val(ipAddress); 3682 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate').datepicker({ 3683 startDate: new Date(), 3684 autoHide: true, 3685 dateFormat: datePicker_dateFormat, 3686 autoclose: true 3687 }); 3688 3689 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate').on('pick.datepicker', function (e) { 3690 var postDate = $(this).datepicker('formatDate', e.date); 3691 $(this).val(postDate); 3692 isFieldValid($(this)); 3693 $(this).data('post-data', postDate); 3694 }); 3695
3696 // WCAG 2.4.11 â close the datepicker when focus lands on a real element outside it, 3697 // so an open calendar can't obscure the next focused field. React to focus LANDING 3698 // somewhere (document-level focusin), not to #movedate blurring: the plugin's 3699 // month/year nav <li> arrows aren't focusable, so clicking them blurs #movedate 3700 // without focus landing anywhere, and a focusout-only check never gets a second 3701 // chance to run once #movedate is already blurred. 3702 var $movedateFloat = $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate'); 3703 $(document).on('focusin', function (e) { 3704 if (e.target === $movedateFloat[0]) return; 3705 if ($(e.target).closest('.datepicker-container').length) return; 3706 $movedateFloat.datepicker('hide'); 3707 }); 3708 3709 $.ajax({ 3710 type: 'GET', 3711 url: 'CmsSiteManager/callback.aspx?act=Proxy/GetFloorPlans', 3712 dataType: 'jsonp', 3713 timeout: timeoutValue, 3714 success: function (data) { 3715 rpData = data; 3716 buildBedRoomSelect(); 3717 }, 3718 error: function (response) { 3719 if (response.statusText === "timeout") { 3720 $('#pnlMobile').html("<div class='timeout-message'><div class='timeout-icon'><img src='/globalresources/widgets/images/TimeOutSessionIcon.png' alt='' /></div><div class='timeout-text-message'><b>Time Out Error</b>.<br> Refresh Page or Try Again Later</div></div>"); 3721 } 3722 } 3723 }); 3724 3725 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contactus-float-input-div.reason').append(contactLeadSources); 3726 if (hideBed.toLowerCase() == 'true') { 3727 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contactus-float-input-div.bed').hide(); 3728 } 3729 if (hideRefer.toLowerCase() == 'true') { 3730 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contactus-float-input-div.reason').hide(); 3731 } else 3732 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #contact .contactus-float-input-div.comments-txt').css('height', '186px'); 3733 3734 if (defaultSource == 0) 3735 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_usersource').val(''); 3736 else if (defaultSource) 3737 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_usersource').val(defaultSource); 3738 else 3739 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_usersource').val(''); 3740 3741 if (disableReferralTracking.toLowerCase() != 'true' && matchedSourceId) { 3742 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_usersource').val(matchedSourceId); 3743 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #contactusReason').hide(); 3744 } 3745 3746 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #dayPhone1').on("keyup", function () { 3747 var value = $(this).val(); 3748 var regex1 = /[^[0-9 +]]*/gi; 3749 var regex2 = /[^[0-9]]*/gi; 3750 var newValue = value.substring(0, 1).replace(regex1, '') + value.substring(1).replace(regex2, ''); 3751 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #dayPhone1').val(newValue); 3752 }); 3753 3754 }); 3755 3756 function buildBedRoomSelect() { 3757 var bathRooms = 0; 3758 var bedRooms = 0; 3759 3760 var countUnit = 1; 3761 3762 for (var i = 0; i < rpData.floorplans.length; i++) { 3763 var currentbathRooms = rpData.floorplans[i].bathRooms; 3764 var currentbedRooms = rpData.floorplans[i].bedRooms; 3765 if (bathRooms != currentbathRooms || bedRooms != currentbedRooms) { 3766 var str = currentbedRooms + ' Bed /' + currentbathRooms + ' Bath'; 3767
3768 try { 3769 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #bedbathid').append('<option value="' + kpv[str]["key"] + '" class="text">' + str + '</option>'); 3770 } catch (err) { 3771 //This error typically happens when it cannot find the str and consaquently cannot find the key. 3772 } 3773 3774 bathRooms = currentbathRooms; 3775 bedRooms = currentbedRooms; 3776 countUnit++; 3777 } 3778 } 3779 } 3780 3781 function f_getCookie(cookieName) { 3782 var cookieValue = document.cookie; 3783 var cookieStart = cookieValue.indexOf(" " + cookieName + "="); 3784 if (cookieStart == -1) { 3785 cookieStart = cookieValue.indexOf(cookieName + "="); 3786 } 3787 if (cookieStart == -1) { 3788 cookieValue = null; 3789 } 3790 else { 3791 cookieStart = cookieValue.indexOf("=", cookieStart) + 1; 3792 var cookieEnd = cookieValue.indexOf(";", cookieStart); 3793 if (cookieEnd == -1) { 3794 cookieEnd = cookieValue.length; 3795 } 3796 cookieValue = unescape(cookieValue.substring(cookieStart, cookieEnd)); 3797 } 3798 return cookieValue; 3799 } 3800 3801 function floatValidPhone(b) { 3802 var a = window.event ? b.keyCode : b.which; 3803 3804 if (internationalProperty == 'true' && $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #dayPhone1').val().length == 0 && b.shiftKey && b.keyCode == 43) 3805 return true; 3806 3807 if (a == 0 || a == 8) 3808 return true; 3809 if (a > 47 && a < 58) 3810 return true; 3811 else 3812 return false; 3813 } 3814 3815 3816</script>
3816 3817<style> 3818 .contact-mobile-form .reqErr { 3819 border: 1px solid red !important; 3820 } 3821 .contact-mobile-form .error-msg { 3822 display:inline-block; 3823 color:red; 3824 margin-top:10px; 3825 } 3826 .grecaptcha-badge{ 3827 bottom: 100px !important; 3828 } 3829 .contact-mobile-form input:focus-visible, 3830 .contact-mobile-form select:focus-visible, 3831 .contact-mobile-form textarea:focus-visible, 3832 .contact-mobile-form button:focus-visible, 3833 .contact-mobile-form input:focus, 3834 .contact-mobile-form select:focus, 3835 .contact-mobile-form textarea:focus, 3836 .contact-mobile-form button:focus { 3837 outline-offset: 2px; 3838 box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000 !important; 3839 } 3840</style> 3841 3842<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf"> 3843 3844 <div id="pnlMobile" class="mobile cf-pnlMobile timeout-error-contact"> 3845 <div class="contact-mobile-form"> 3846 <input name="pid" type="hidden" id="pid" /> 3847 <input name="lcid" type="hidden" id="lcid" /> 3848 <input name="cid" type="hidden" id="cid" /> 3849 <input name="userip" type="hidden" id="userIpAddress" /> 3850 <div id="contactusFirstName" class="contactus-float-input-div"> 3851 <input id="firstname" name="firstname" type="text" placeholder="First name" maxlength="40" tabindex="0" class="body-txt1 required" title="First name" aria-label="first name" autocomplete="given-name" aria-describedby="firstname-error" data-error-message="First name is required" /> 3852 <span class="required-field">*</span> 3853 <span id="firstname-error" class="field-error" role="alert"></span> 3854 </div> 3855 <div id="contactusLastName" class="contactus-float-input-div"> 3856 <input id="lastname" name="lastname" type="text" placeholder="Last name" maxlength="40" tabindex="0" class="body-txt1 required" title="Last name" aria-label="last name" autocomplete="family-name" aria-describedby="lastname-error" data-error-message="Last name is required" /> 3857 <span class="required-field">*</span> 3858 <span id="lastname-error" class="field-error" role="alert"></span> 3859 </div> 3860 <div id="contactusEmail" class="contactus-float-input-div"> 3861 <input id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_email" name="email" type="text" placeholder="Email" maxlength="40" tabindex="0" class="body-txt1 required email" title="Email" aria-label="email" autocomplete="email" aria-describedby="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_email-error" data-error-message="Valid email address is required" /> 3862 <span class="required-field">*</span> 3863 <span id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_email-error" class="field-error" role="alert"></span> 3864 </div> 3865 <div id="contactusEmailCtrl" class="contactus-float-input-div"> 3866 <input tabindex="-1" id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_e-mail" type="text" class="hpInput" aria-hidden="true" style="display:none" autocomplete="off" /><p style="display:none">Do not fill out this input form, it is for bot control purposes only.</p> 3867 </div> 3868 <div id="contactusPhone" class="contactus-float-input-div"> 3869 <input id="dayPhone1" name="dayPhone1" type="text" placeholder="Phone number" maxlength="21" tabindex="0" class="body-txt1 required" title="Phone number" aria-label="phone number" autocomplete="tel" aria-describedby="dayPhone1-error" data-error-message="Valid phone number is required" onkeypress="return floatValidPhone(event);" /> 3870 <span class="required-field">*</span> 3871 <span id="dayPhone1-error" class="field-error" role="alert"></span> 3872 </div> 3873 <div id="contactusBedBath" class="contactus-float-input-div bed"> 3874 <select id="bedbathid" name="bedbathid" tabindex="0" class="body-txt1" aria-label="bedrooms"> 3875 <option value="">Select Bedrooms</option> 3876 </select> 3877 </div> 3878 <div id="contactusMoveDate" class="contactus-float-input-div move-in"> 3879 <input id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate" name="movedate" tabindex="0" type="text" class="body-txt1 required" readonly="readonly" aria-label="move in date" title="Move In Date" placeholder="Move In Date" autocomplete="off" aria-describedby="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate-error" data-error-message="Move-in date is required" />
3880 <span class="required-field">*</span> 3881 <span id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_movedate-error" class="field-error" role="alert"></span> 3882 </div> 3883 <div id="contactusReason" class="contactus-float-input-div reason"></div> 3884 <div id="contactusComments" class="contactus-float-input-div comments-txt"> 3885 <textarea id="msg" name="msg" rows="3" cols="20" tabindex="0" class="body-txt1" title="Comments" placeholder="Comments" aria-label="comments"></textarea> 3886 </div> 3887 <div id="contactusPrivacy" class="contactus-float-input-div privacy"> 3888 <input id="privacyid" name="privacyid" type="checkbox" class="privacy-check required" value="Agree" tabindex="0" aria-label="privacy policy agreement" aria-describedby="privacyid-error" data-error-message="Privacy policy agreement is required" /> 3889 <label for="privacyid" class="required">By submitting this form, you agree to the </label> <a href="/Privacy-Policy.aspx" target="_blank" rel="noopener noreferrer">privacy policy<span class="sr-only"> (opens in a new tab)</span></a> 3890 <span class="required-field">*</span> 3891 <span id="privacyid-error" class="field-error" role="alert"></span> 3892 </div> 3893 <div class="required-info"><span>*</span> Required Information</div> 3894 <div class="submitbutton"> 3895 <button type="button" id="btnSubmit" class="cf-submit" aria-label="Submit Form" name="button">Submit</button> 3896 </div> 3897 <p id="errorMessage" class="error-msg" role="alert" aria-live="assertive"></p> 3898 <div class="disclaimerText"></div> 3899
3899<script type="text/javascript"> 3900 3901 function setFormErrorMessage(message) { 3902 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf #errorMessage').html(message); 3903 } 3904 3905 function setInputValidity($input, isValid) { 3906 var $errorSpan = $('#' + $input.attr('id') + '-error'); 3907 if (isValid) { 3908 $input.removeAttr("aria-invalid"); 3909 $input.removeClass('reqErr'); 3910 $errorSpan.text(''); 3911 } else { 3912 $input.attr("aria-invalid", "true"); 3913 $input.addClass('reqErr'); 3914 $errorSpan.text($input.attr('data-error-message') || ''); 3915 } 3916 } 3917 3918 function isFieldValid($input) { 3919 var bIsValid = false; 3920 if ($input.hasClass("email")) { 3921 bIsValid = validateEmail($input); 3922 } else if ($input.attr("id") === "dayPhone1") { 3923 bIsValid = validatePhoneNumber($input); 3924 } else if ($input.hasClass("privacy-check")) { 3925 if ($input.is(":not(:checked)")) { 3926 bIsValid = false; 3927 $("label[for=" + $input.attr("id") + "]").addClass('reqErr'); 3928 } else { 3929 bIsValid = true; 3930 $("label[for=" + $input.attr("id") + "]").removeClass('reqErr'); 3931 } 3932 } 3933 else { 3934 //just do a required check... field must have content 3935 bIsValid = $input.val() != ""; 3936 } 3937 3938 setInputValidity($input, bIsValid); 3939 3940 //check to see we need to clear out the error message 3941 if ($('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input.required.reqErr').length == 0) { 3942 setFormErrorMessage(""); 3943 } 3944 3945 return bIsValid; 3946 } 3947 3948 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input.required').blur(function () { 3949 isFieldValid($(this)); 3950 }); 3951 3952 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form select.required').blur(function () { 3953 isFieldValid($(this)); 3954 }); 3955 3956 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input.requiredR').blur(function () { 3957 isFieldValid($(this)); 3958 }); 3959 3960 function validateEmail($input) { 3961 var email = $input.val(); 3962 3963 // Email regex pattern 3964 var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 3965 3966 return reg.test(email); 3967 } 3968 3969 function validatePhoneNumber($input) { 3970 var phoneNumber = $input.val(); 3971 3972 // Regex pattern to match the phone number formats 3973 var reg = /^(?:\(\d{3}\)|\d{3}[-.\s]?)\d{3}[-.\s]?\d{4}$/; 3974 3975 return reg.test(phoneNumber); 3976 } 3977 3978 $('.contact-us-enhanced .required-group input[type="checkbox"]').each(function () { 3979 if ($(this).is(":not(:checked)")) { 3980 var msg = $(this).attr("aria-label"); 3981 $(this).attr("aria-invalid", "true"); 3982 $(this).addClass('validate-field'); 3983 $("label[for=" + $(this).attr("id") + "]").addClass('validate-field'); 3984 } else { 3985 $(this).removeAttr("aria-invalid"); 3986 $(this).removeClass('validate-field'); 3987 $("label[for=" + $(this).attr("id") + "]").removeClass('validate-field'); 3988 } 3989 }); 3990 3991 function changeMessage() { 3992 alert("error loading"); 3993 } 3994 3995 function getSubmitTimeStamp() { 3996 let date = new Date();
3997 var formattedDate = String(date.getUTCFullYear() + "-" + date.getUTCDate() + "-" + date.getUTCDay() + " " + date.getUTCHours() + ":" + date.getUTCMinutes() + ":" + date.getUTCSeconds()); 3998 console.log("Get UTC date time/stamp: " + formattedDate) 3999 return formattedDate; 4000 } 4001 4002 function sendContactInfo() { 4003 if (enableRecaptcha == "true") { 4004 o['cmsSiteId'] = cmsSiteId; 4005 o['pageName'] = pageName; 4006 o['widgetName'] = widgetName; 4007 } 4008 4009 o['googleAnalyticsId'] = googleAnalyticsId; 4010 o['ipaddress'] = ipAddress; 4011 o['leadtime'] = getSubmitTimeStamp(); 4012 4013 $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input").each(function () { 4014 var postData = $(this).data('post-data'); 4015 o[$(this).attr('name')] = (postData == null || postData == undefined) ? $(this).val() : postData; 4016 }); 4017 4018 $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form select").each(function () { 4019 if ($(this).attr('name') == 'usersource') 4020 o[$(this).attr('name')] = $('option:selected', this).text(); 4021 else 4022 o[$(this).attr('name')] = $(this).val(); 4023 }); 4024 4025 $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form textarea").each(function () { 4026 o[$(this).attr('name')] = escape($(this).val()); 4027 }); 4028 4029 if ($('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf_e-mail').val().length == 0) { 4030 var id = $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #bedbathid option:selected").val(); 4031 4032 $.ajax({
4033 type: "POST", 4034 dataType: "json", 4035 cache: false, 4036 timeout: timeoutValue, 4037 url: "CMSSiteManager/Callback.aspx?act=set_contact", 4038 data: o, 4039 success: function (json) { 4040 if (json.ErrorNumber) { 4041 formSuccess = false; 4042 setFormErrorMessage("Failed to submit guest card."); 4043 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('value', 'Submit'); 4044 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('disabled', false); 4045 } else { 4046 try { 4047 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-pnlMobile').hide(); 4048 let customDimensions = {} 4049 customDimensions.dimension15 = json.LeaseStarLeadId; 4050 if (json.Lead2LeaseLeadId != 0) 4051 customDimensions.dimension17 = json.Lead2LeaseLeadId; 4052 f_analyticsSendEvent('Contact', 'Information Request', 'Thank you', customDimensions); 4053 } catch (e) { 4054 } 4055 window.open('/Thank-You.aspx', '_self'); 4056 } 4057 }, 4058 beforeSend: function (json) { 4059 formSuccess = true; 4060 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('value', 'Sending...'); 4061 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('disabled', true); 4062 setFormErrorMessage(""); 4063 }, 4064 error: function (e) { 4065 formSuccess = false; 4066 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('value', 'Submit'); 4067 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .cf-submit').prop('disabled', false); 4068 setFormErrorMessage("There was an error submitting your information."); 4069 } 4070 }); 4071 } 4072 } 4073 4074 $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #btnSubmit").click(function () { 4075 4076 setFormErrorMessage(""); 4077 var bAllValid = true; 4078 4079 // Validate form 4080 $($("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input.required").get()).each(function () { 4081 if (!isFieldValid($(this))) { 4082 bAllValid = false; 4083 } 4084 }); 4085 4086 4087 4088 4089 if (bAllValid) { 4090 if (formSuccess == true) { 4091 return false; 4092 } 4093 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #pid').val(propertyId); 4094 4095 var lcid = f_getCookie('RP_LSWS_LCID'); 4096 lcid = lcid ? lcid : "4"; 4097 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #lcid').val(lcid); 4098 var cid = f_getCookie('RP_LSWS_SEM'); 4099 cid = cid ? cid : "Property Website"; 4100 if (cid != "Property Website") { 4101 $('#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form #cid').val(matchedSource); //The logic for setting the matchedSource based on the cid value in the commondata.ascx file 4102 } 4103 4104 googleAnalyticsId = f_getCookie('_ga'); 4105 4106 4107 4108 sendContactInfo(); 4109 4110 } else { 4111 $("#p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_ContactUs_Floating_rpcf .contact-mobile-form input.required.reqErr:last").focus(); 4112 setFormErrorMessage("Please enter all required information.") 4113 } 4114 }); 4115 </script>
4115 4116 </div> 4117 </div> 4118 4119</div></div><div class="col-lg-1"></div> 4120<div class="col-lg-4 col-sm-12 col-xs-12 contact-info-container"> 4121<div class="contact-info-wrapper"><div class="col-lg-12 col-sm-6 col-xs-12"> 4122<div class="contact-office-hours"><h3 class="home-contact-title">office hours</h3> 4123 4124<style> 4125 .contact-hours ul { 4126 margin: 0; 4127 padding: 0; 4128 list-style: none; 4129 } 4130</style> 4131 4132<div id="p_lt_zonePagePlaceholder_pageplaceholder_p_lt_zoneContact_WebPartZone4_WebPartZone4_zone_WebPartZone5_WebPartZone5_zone_ContactHours_pnlContactHours" class="widget"> 4133 4134 4135<div class="contact-hours"><ul class="contact-hours-list"><li><span class="contact-hours-day">Monday - Friday:</span><span class="contact-hours-time"> 9:00AM to 6:00PM</span></li><li><span class="contact-hours-day">Saturday:</span><span class="contact-hours-time"> 10:00AM to 5:00PM</span></li><li><span class="contact-hours-day">Sunday:</span><span class="contact-hours-text"> Closed</span></li></ul></div> 4136 4137 4138</div></div> 4139</div><div class="col-lg-12 col-sm-6 col-xs-12"> 4140<div class="contact-address"><h3 class="home-contact-title">address</h3><div class="prop-name">The Franciscan</div> 4141<a href="http://maps.google.com/?q=601 Almarida Drive, Campbell, CA 95008" target="_blank" id="footerDirectionsLink"> 4142 <div>601 Almarida Drive </div> 4143 <div>Campbell, CA 95008</div> 4144</a></div> 4145</div><div class="col-lg-12 col-sm-6 col-xs-12"> 4146<a class="seo-number" href="tel:(408) 539-9651" onclick="f_analyticsSendEvent('general', 'click-phone-number', '(408) 539-9651')">(408) 539-9651</a></div></div> 4147</div><div class="col-lg-1"></div> 4148</div> 4149</div></section></div> 4150</main> 4151 4152<footer id="footer" class="container-fluid"> 4153 <div class="row footer-row-2"> 4154 <div id="" class="col-lg-4 col-sm-12 footer-content-left"><div class="rplogo" id="rplogo_p_lt_zoneFooterRow2_WebPartZone3_WebPartZone3_zone_RealPageLogo_plcRealPageLogo"><a href="https://www.realpage.com/apartment-marketing/" target="_blank" rel="noopener noreferrer"><img src="/TemplateResources/Global/images/rplogo-white.png" alt="RealPage, Inc." /><span class="sr-only"> (opens in a new tab)</span></a></div><div id="" class="footer-icons"><div id="ADA-HUD-Links"><a id="link-HUD" href="https://www.hud.gov/program_offices/fair_housing_equal_opp" title="HUD" target="_blank" rel="noopener noreferrer" aria-label="HUD (opens in a new tab)"><svg id="housingSVG" aria-hidden="true" data-name="housingSVG" xmlns="http://www.w3.org/2000/svg" width="539.2" height="515.23" viewbox="0 0 539.2 515.23"> 4155 <title>HUD</title> 4156 <g> 4157 <polygon points="61.89 421.07 40.79 421.07 40.79 429.43 60.17 429.43 60.17 436.48 40.79 436.48 40.79 446.74 62.82 446.74 62.82 453.79 32.66 453.79 32.66 414.04 61.89 414.04 61.89 421.07 61.89 421.07" fill-rule="evenodd"></polygon> 4158 <path d="M202.69,476.83l4,3.75a9.67,9.67,0,0,1-4.48,1.06c-4.49,0-10.8-2.76-10.8-13.89s6.32-13.89,10.8-13.89S213,456.64,213,467.76a17.78,17.78,0,0,1-1.82,8.54L207,472.37l-4.26,4.46ZM221.46,486l-4.33-4.07c2.44-3.1,4.16-7.64,4.16-14.18,0-18.65-13.84-20.92-19.1-20.92s-19.09,2.26-19.09,20.92,13.84,20.92,19.09,20.92A20.52,20.52,0,0,0,212.37,486l4.71,4.49,4.37-4.49Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4159 <path d="M260.37,473.75c0,10.44-6.32,14.94-16.34,14.94-3.65,0-9.07-.88-12.62-4.81-2.15-2.42-3-5.66-3.09-9.63V447.89h8.47v25.78c0,5.56,3.21,8,7.08,8,5.71,0,8-2.76,8-7.59V447.89h8.48v25.85Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4160 <path d="M282.61,456.86h.12l4.92,15.72H277.51l5.1-15.72Zm-7.32,22.56H290l2.55,8.21h9l-14-39.75H278l-14.17,39.75h8.75l2.76-8.21Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4161 <polygon points="202.19 446.59 221.95 446.59 221.95 453.79 193.88 453.79 193.88 414.04 202.19 414.04 202.19 446.59 202.19 446.59" fill-rule="evenodd"></polygon> 4162 <polygon points="253.44 435.95 253.44 453.79 245.15 453.79 245.15 414.04 253.44 414.04 253.44 429.09 268.94 429.09 268.94 414.04 277.23 414.04 277.23 453.79 268.94 453.79 268.94 435.95 253.44 435.95 253.44 435.95" fill-rule="evenodd"></polygon> 4163 <path d="M407.18,467.76c0-11.12,6.32-13.89,10.79-13.89s10.81,2.76,10.81,13.89-6.31,13.89-10.81,13.89-10.79-2.76-10.79-13.89Zm-8.29,0c0,18.66,13.85,20.92,19.08,20.92s19.12-2.26,19.12-20.92S423.25,446.85,418,446.85s-19.08,2.26-19.08,20.92Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4164 <path d="M476.72,473.75c0,10.44-6.32,14.94-16.34,14.94-3.65,0-9.06-.88-12.62-4.81-2.16-2.42-3-5.66-3.09-9.63V447.89h8.46v25.78c0,5.56,3.22,8,7.1,8,5.7,0,8-2.76,8-7.59V447.89h8.47v25.85Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4165 <path d="M491.92,475.4c.07,2.21,1.19,6.42,8.43,6.42,3.93,0,8.31-.94,8.31-5.17,0-3.08-3-3.92-7.19-4.92l-4.27-1c-6.44-1.49-12.64-2.91-12.64-11.66,0-4.43,2.39-12.24,15.29-12.24,12.18,0,15.45,8,15.51,12.84h-8c-.22-1.76-.88-6-8.13-6-3.15,0-6.92,1.16-6.92,4.76,0,3.12,2.55,3.75,4.2,4.14l9.69,2.38c5.43,1.33,10.4,3.55,10.4,10.68,0,12-12.17,13-15.66,13-14.49,0-17-8.36-17-13.28Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4166 <polygon points="417.6 453.79 409.32 453.79 409.32 414.04 417.6 414.04 417.6 453.79 417.6 453.79" fill-rule="evenodd"></polygon> 4167 <polygon points="450.76 414.04 458.5 414.04 458.5 453.79 450.21 453.79 434 425.44 433.86 425.44 433.86 453.79 426.13 453.79 426.13 414.04 434.87 414.04 450.63 441.72 450.76 441.72 450.76 414.04 450.76 414.04" fill-rule="evenodd"></polygon> 4168 <path d="M600.42,466.22H617v21.42h-5.53l-.83-5c-2.1,2.41-5.14,6-12.4,6-9.57,0-18.25-6.86-18.25-20.8,0-10.84,6-21.09,19.42-21,12.2,0,17,7.9,17.43,13.4h-8.29c0-1.56-2.83-6.54-8.69-6.54S588.46,457.8,588.46,468c0,10.86,5.93,13.67,11.57,13.67,1.82,0,7.93-.71,9.63-8.75h-9.24v-6.69Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4169 <path d="M153.32,528.15c0-11.12,6.31-13.9,10.79-13.9s10.79,2.77,10.79,13.9-6.31,13.9-10.79,13.9-10.79-2.79-10.79
4169-13.9Zm-8.3,0c0,18.65,13.84,20.94,19.09,20.94s19.09-2.29,19.09-20.94-13.84-20.92-19.09-20.92S145,509.49,145,528.15Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4170 <path d="M206,526.81V515.12h6.59c5.14,0,7.3,1.62,7.3,5.5,0,1.77,0,6.19-6.21,6.19Zm0,6.87h9.51c10.69,0,12.67-9.08,12.67-12.67,0-7.8-4.64-12.73-12.34-12.73H197.66V548H206V533.68Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4171 <path d="M250.67,526.81V515.12h6.58c5.15,0,7.31,1.62,7.31,5.5,0,1.77,0,6.19-6.19,6.19Zm0,6.87h9.52c10.68,0,12.68-9.08,12.68-12.67,0-7.8-4.64-12.73-12.34-12.73H242.37V548h8.31V533.68Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4172 <path d="M293.63,528.15c0-11.12,6.29-13.9,10.8-13.9s10.79,2.77,10.79,13.9-6.32,13.9-10.79,13.9-10.8-2.79-10.8-13.9Zm-8.3,0c0,18.65,13.83,20.94,19.1,20.94s19.08-2.29,19.08-20.94-13.84-20.92-19.08-20.92-19.1,2.26-19.1,20.92Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4173 <path d="M346.1,525.77V515.12h10.34c4.87,0,5.8,3.12,5.8,5.22,0,3.93-2.09,5.43-6.41,5.43ZM337.95,548h8.16V532.46h8.56c6.15,0,6.49,2.1,6.49,7.53a26.77,26.77,0,0,0,.87,8h9.2v-1.07c-1.77-.65-1.77-2.1-1.77-7.89,0-7.45-1.77-8.65-5-10.09,3.93-1.32,6.13-5.09,6.13-9.45,0-3.44-1.93-11.24-12.5-11.24H337.95V548Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4174 <polygon points="287.36 514.17 279.06 514.17 279.06 481.46 267.05 481.46 267.05 474.42 299.38 474.42 299.38 481.46 287.36 481.46 287.36 514.17 287.36 514.17" fill-rule="evenodd"></polygon> 4175 <path d="M458.06,534.11c0,10.46-6.31,15-16.33,15-3.64,0-9.06-.92-12.61-4.85-2.16-2.42-3-5.64-3.09-9.62V508.28h8.46v25.78c0,5.54,3.22,8,7.09,8,5.7,0,8-2.79,8-7.6V508.28h8.47v25.84Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4176 <polygon points="384.11 474.42 391.87 474.42 391.87 514.17 383.55 514.17 367.33 485.82 367.25 485.82 367.25 514.17 359.48 514.17 359.48 474.42 368.22 474.42 384.01 502.1 384.11 502.1 384.11 474.42 384.11 474.42" fill-rule="evenodd"></polygon> 4177 <polygon points="415.29 514.17 406.97 514.17 406.97 474.42 415.29 474.42 415.29 514.17 415.29 514.17" fill-rule="evenodd"></polygon> 4178 <polygon points="447.7 514.17 439.4 514.17 439.4 481.46 427.41 481.46 427.41 474.42 459.72 474.42 459.72 481.46 447.7 481.46 447.7 514.17 447.7 514.17" fill-rule="evenodd"></polygon> 4179 <polygon points="491.11 514.17 482.8 514.17 482.8 499.16 469.08 474.42 478.87 474.42 487.12 491.7 494.99 474.42 504.39 474.42 491.11 499.27 491.11 514.17 491.11 514.17" fill-rule="evenodd"></polygon> 4180 <path d="M381.73,33.85l-267.6,131.8v61.91h30V413.27H617.36V227.56h36V165.65L381.73,33.85ZM559.46,357.34H202V187.62L381.73,95.76l177.73,91.86V357.34Z" transform="translate(-114.13 -33.85)" fill-rule="evenodd"></path> 4181 <polygon points="349.46 213.66 183.73 213.66 183.73 153.77 349.46 153.77 349.46 213.66 349.46 213.66" fill-rule="evenodd"></polygon> 4182 <polygon points="349.46 299.57 183.73 299.57 183.73 239.63 349.46 239.63 349.46 299.57 349.46 299.57" fill-rule="evenodd"></polygon> 4183 </g></svg></a><a id="link-ADA" href="https://www.hud.gov/program_offices/fair_housing_equal_opp/disabilities/accessibilityR" title="ADA" target="_blank" rel="noopener noreferrer" aria-label="ADA (opens in a new tab)"><svg id="handicapSVG" aria-hidden="true" data-name="handicapSVG" xmlns="http://www.w3.org/2000/svg" width="483.22" height="551.43" viewbox="0 0 483.22 551.43"> 4184 <title>ADA</title> 4185 <path d="M-54,93.12c25-2.3,44.36-23.81,44.36-49A49.25,49.25,0,0,0-58.81-5,49.25,49.25,0,0,0-108,44.16,51.06,51.06,0,0,0-101.83,68l17.52,246.47,180.4,0,74,173.37,97.14-38.1-15-35.82-54.37,19.63L126.22,268.28-41.51,269.4l-2.3-31.21,121.42,0V192.06l-126.05,0ZM127.42,446.59C97,506.78,33.25,546.43-34.73,546.43-134.57,546.43-216,465-216,365.16c0-70.1,42.49-135.24,105.88-164.12l4.1,53.54c-37.5,23.63-60.61,66.26-60.61,111,0,72.43,59.07,131.5,131.5,131.5,66.26,0,122.76-50.85,130.47-116.09Z" transform="translate(216 5)"></path> 4186</svg></a></div><em class="icon-no-smoking" title="Non-Smoking" aria-label="non-smoking"></em><em class="fa fa-paw" title="Pet Friendly" aria-label="pet friendly"></em></div></div><div id="" class="col-lg-4 col-sm-12 footer-content-center"><div class="content footer-content-social"><div id="p_lt_zoneFooterRow2_WebPartZone4_WebPartZone4_zone_SocialMedia_pnlSocialNetworks" class="social_media"> 4187 <ul class="social-list" style="list-style:none;margin:0;padding:0;"><li style="display:inline-block;"><a href="https://www.facebook.com/TheFranciscanApts/" class="facebook" title="" target="_blank" rel="noopener noreferrer" onclick="f_analyticsSendEvent('social', 'click-facebook-icon', 'https://www.facebook.com/TheFranciscanApts/')" role="button" aria-label="facebook (opens in a new tab)"> 4188 <em class="sicon-facebook" aria-hidden="true"></em></a></li><li style="display:inline-block;"><a href="https://www.instagram.com/thefranciscanapts/" class="instagram" title="" target="_blank" rel="noopener noreferrer" onclick="f_analyticsSendEvent('social', 'click-instagram-icon', 'https://www.instagram.com/thefranciscanapts/')" role="button" aria-label="instagram (opens in a new tab)"> 4189 <em class="sicon-instagram" aria-hidden="true"></em></a></li></ul> 4190</div><a href="" target="_blank"><img id="p_lt_zoneFooterRow2_WebPartZone4_WebPartZone4_zone_EditableImage1_ucEditableImage_imgImage" title="Raintree-Evergreen Management LLC" src="https://capi.myleasestar.com/v2/dimg/175158291/235x125/175158291.png" alt="Raintree-Evergreen Management LLC" /> 4191 4192</a></div></div><div id="" class="col-lg-4 col-sm-12 footer-content-right"><ul class="footer-links"><li><a class="privacy" href="https://www.greystar.com/renters-rights-resources" target="_blank" title="">Renters' rights and resources</a></li><li><a class="additional-footer-link" href="https://www.greystar.com/terms-of-use#Copyright%20Infringement%20Policy" target="_blank" title="Greystar DMCA Policy">DMCA Agent</a></li><li><a class="additional-footer-link" href="https://www.greystar.com/disclosures-and-lice
4192nses" target="_blank" title="Disclosures & Licenses">Disclosures & Licenses</a></li><li><a class="additional-footer-link" href="Greystar California, Inc. dba Greystar Corp. License No. 1525765 Broker: Gerard S. Donohue License No. 01265072" target="null" title="Greystar California, Inc. dba Greystar Corp. License No. 1525765 Broker: Gerard S. Donohue License No. 01265072">Greystar California, Inc. dba Greystar Corp. License No. 1525765 Broker: Gerard S. Donohue License No. 01265072</a></li><li><span class="copyright-text">© 2026 The Franciscan. All Rights Reserved. </span></li></ul></div> 4193 </div> 4194 <div class="row"> 4195 4196 </div> 4197</footer>
4198<script type="text/javascript"> 4199(function () { 4200 "use strict"; 4201 // TFS 3048913 - WCAG 1.1.1: an image that is the sole content of a link to 4202 // the site's home page must have a non-empty accessible name. Kentico's raw 4203 // "Editable Image" content region (used for the header logo on some pages) 4204 // renders alt="" whenever no alt text was entered, silently hiding a 4205 // meaningful logo from assistive tech - confirmed live on the Teracy 4206 // template (callenapartments.com). Mirrors the "Home" fallback already 4207 // shipped for the RPWebParts footer/header logo (TFS 2985968, 4208 // Footer.ascx.cs PropertyLogoAlt) - scoped narrowly to home links with no 4209 // existing accessible name, so genuinely decorative images are untouched. 4210 // 4211 // Inline (duplicated across all 10 template files in this ticket's scope) 4212 // rather than a shared external file: the shared-file approach requires 4213 // wiring via lsExternalResource, whose {StaticAssetsUrl} placeholder 4214 // resolves to a PER-SITE CDN path segment (confirmed: different sites of 4215 // the same template resolve to different /CWS/<id>/ paths) - so there is 4216 // no single hardcoded
4216<script src="src" type="text/javascript"> that works across every site of a 4217 // template, and the datafix needed to wire it per-site failed to actually 4218 // commit across multiple attempts. Inline code has no such dependency: it 4219 // deploys with the normal code release, no separate DB step required. 4220 function fixHomeLogoAlt() { 4221 var anchors = document.querySelectorAll("a[href]"); 4222 for (var i = 0; i < anchors.length; i++) { 4223 var a = anchors[i]; 4224 if (a.pathname !== "/" || a.host !== window.location.host) continue; 4225 if (a.getAttribute("aria-label") || a.getAttribute("aria-labelledby") || a.getAttribute("title")) continue; 4226 if (a.textContent && a.textContent.trim()) continue; 4227 var img = a.querySelector("img"); 4228 if (!img) continue; 4229 var alt = img.getAttribute("alt"); 4230 if (alt === null || alt.trim() === "") { 4231 img.setAttribute("alt", "Home"); 4232 } 4233 } 4234 } 4235 // TFS 3065125 - WCAG 4.1.1: a page must not contain duplicate id values. 4236 // Confirmed on all 17 S0088-Haute sites (Silktide check `duplicate-id`, OPEN on 4237 // every page scanned, cache-busted): the "Resident Services" block renders its 4238 // link list twice - once in ul.resident-links-desktop and once in 4239 // ul.resident-links-mobile - and BOTH copies hardcode id="resident-login". Two 4240 // Illustrator-exported inline SVGs contribute the rest (`Layer_1` x9, 4241 // `_x33_d_logo` x2). 4242 // 4243 // The widget emitting that markup is NOT in ws-Kentico - repo-wide and 4244 // sibling-repo searches find only the CSS for ul.resident-links, never the HTML - 4245 // so the source markup cannot be corrected from here; a DOM-level de-duplication 4246 // is the available code fix. 4247 // 4248 // Behaviour-neutral by construction: the FIRST occurrence always keeps its id and 4249 // only later duplicates are renamed. Nothing references these ids anyway (verified 4250 // against both the repo and the live scanned HTML: no `#id` CSS rules that apply to 4251 // this template, and zero url(#id) / xlink:href="#id" / getElementById hits), and 4252 // any reference that did exist already resolved to the first element and still does. 4253 function fixDuplicateIds() { 4254 var seen = {}; 4255 var nodes = document.querySelectorAll("[id]"); 4256 for (var i = 0; i < nodes.length; i++) { 4257 var el = nodes[i]; 4258 var id = el.getAttribute("id"); 4259 if (!id) continue; 4260 if (!Object.prototype.hasOwnProperty.call(seen, id)) { 4261 seen[id] = 1; 4262 continue; 4263 } 4264 seen[id] = seen[id] + 1; 4265 var candidate = id + "-" + seen[id]; 4266 while (document.getElementById(candidate)) { 4267 candidate += "x"; 4268 } 4269 el.setAttribute("id", candidate); 4270 } 4271 } 4272 4273 // Does this link already have an accessible name from any source that supplies one? 4274 // Deliberately boolean: the caller only needs to know whether to leave the link 4275 // alone, so resolving aria-labelledby to its referenced text would add DOM lookups 4276 // for no benefit - and returning a placeholder string instead would be a trap for 4277 // the next reader. 4278 function hasAccessibleName(a) { 4279 var label = a.getAttribute("aria-label"); 4280 if (label && label.trim()) return true; 4281 if (a.getAttribute("aria-labelledby")) return true; 4282 var title = a.getAttribute("title"); 4283 if (title && title.trim()) return true; 4284 if (a.textContent && a.textContent.trim()) return true; 4285 var imgs = a.querySelectorAll("img"); 4286 for (var i = 0; i < imgs.length; i++) { 4287 var alt = imgs[i].getAttribute("alt"); 4288 if (alt && alt.trim()) return true; 4289 } 4290 return false; 4291 } 4292 4293 // TFS 3065125 - WCAG 2.4.4: a link whose only content is an aria-hidden icon has 4294 // no accessible name at all. Confirmed on all 17 sites (Silktide check 4295 // `bad-anchor`, OPEN on every page scanned): the hero scroll cue renders as 4296 // <a href="#homeContent" class="rp-scroll"><i class="fa fa-angle-down" aria-hidden="true"></i></a> 4297 // That markup is authored editable content - it sits inside the hero-content 4298 // region and exists in no template or web part in this repo - so like the 4299 // duplicate ids above it is corrected at the DOM level. 4300 // 4301 // Strictly additive, and never invents wording: a name is only ADDED to a link 4302 // that has none, and only when it can be DERIVED from the element itself (a known 4303 // directional icon, or the number in a tel: href). A link we
4303cannot name honestly 4304 // - e.g. the third-party Canva embed link - is deliberately left untouched. 4305 function fixUnlabeledIconLinks() { 4306 var anchors = document.querySelectorAll("a"); 4307 for (var i = 0; i < anchors.length; i++) { 4308 var a = anchors[i]; 4309 if (hasAccessibleName(a)) continue; 4310 var name = ""; 4311 if (a.querySelector(".fa-angle-down, .fa-chevron-down, .fa-arrow-down, .fa-caret-down")) { 4312 name = "Scroll down to page content"; 4313 } else { 4314 var href = a.getAttribute("href") || ""; 4315 if (href.toLowerCase().indexOf("tel:") === 0) { 4316 var num = decodeURIComponent(href.slice(4)).trim(); 4317 if (num) name = "Call " + num; 4318 } 4319 } 4320 if (name) a.setAttribute("aria-label", name); 4321 } 4322 } 4323 4324 // TFS 3065303 - WCAG 1.1.1: the property logo is a meaningful image rendered 4325 // with alt="" (Silktide `img-marked-as-ignored`, "Check images have been 4326 // correctly defined as decorative" - 17/17 S0088-Haute sites, template defect). 4327 // 4328 // Confirmed by inspecting the live DOM on three sites: the element is the 4329 // property LOGO, not a decorative graphic and not a gallery image - 4330 // <a class="logo scroll-notice" href="/home" title="Home"> 4331 // <img id="..._EditableImage_ucEditableImage_imgImage" src="...300x60..." alt=""> 4332 // </a> 4333 // Natural sizes are logo-shaped (300x60, 300x53, 250x200) and it sits in the 4334 // header, inside the home link. 4335 // 4336 // fixHomeLogoAlt() above (TFS 3048913) does NOT reach it, for two reasons: 4337 // it requires a.pathname === "/" (this link is "/home"), and it bails when the 4338 // anchor already has a title (this one has title="Home"). Rather than widen that 4339 // function - which would change behaviour for the sites it was written for - 4340 // this handles the logo case specifically. 4341 // 4342 // The alt text is NOT invented: it is the CMS property name, the same value and 4343 // the same "Home" fallback that Footer.ascx.cs PropertyLogoAlt has used since 4344 // TFS 2985968. Injected server-side and JS-string-encoded so a name containing 4345 // quotes or apostrophes cannot break the script. 4346 var RP_PROPERTY_NAME = "The Franciscan"; 4347 4348 function fixPropertyLogoAlt() { 4349 var name = (RP_PROPERTY_NAME || "").replace(/^\s+|\s+$/g, ""); 4350 if (!name) name = "Home"; 4351 var imgs = document.querySelectorAll("a.logo img, a.header-logo img"); 4352 for (var i = 0; i < imgs.length; i++) { 4353 var img = imgs[i]; 4354 var alt = img.getAttribute("alt"); 4355 if (alt === null || alt.replace(/^\s+|\s+$/g, "") === "") { 4356 img.setAttribute("alt", name); 4357 } 4358 } 4359 } 4360 function runFixes() { 4361 fixHomeLogoAlt(); 4362 fixPropertyLogoAlt(); 4363 fixDuplicateIds(); 4364 fixUnlabeledIconLinks(); 4365 } 4366 function boot() { 4367 runFixes(); 4368 [800, 2000, 4500].forEach(function (d) { 4369 setTimeout(runFixes, d); 4370 }); 4371 } 4372 if (document.readyState === "loading") { 4373 document.addEventListener("DOMContentLoaded", boot); 4374 } else { 4375 boot(); 4376 } 4377})(); 4378</script>
4378 4379 4380 <button type="submit" tabindex="-1" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden">Submit</button> 4381 </script>
4381</form> 4382 4383 4384 4385 4386
4386<script type="text/javascript"> 4387 try { 4388 $(document).foundation(); 4389 } 4390 catch(err) {} 4391 </script>
4391 4392 <!-- ExternalResources_Footer --> 4393 <span id="cookie-preferences" hidden="hidden"></span> 4394 4395 <!-- /ExternalResources_Footer --> 4396</body> 4397</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.