{"version":3,"sources":["0.0--js-file-start.js","99--js-file-end.js","1.3--global-functions.js","1.1--global-define.js","1.2--mobile-class.js","999--drupal-behaviours.js"],"names":["TipiThemeGetCookie","name","value","document","cookie","parts","split","length","pop","shift","filterblog","e","jQuery","isotope","filter","filteramenity","this","parent","addClass","IE_polyfill","fitie","t","c","call","g","m","a","boxSizing","display","overflow","replace","l","d","border","margin","padding","height","width","opacity","h","videoWidth","s","videoHeight","u","v","createElement","appendChild","parentNode","replaceChild","p","runtimeStyle","b","i","f","o","n","r","Math","round","marginLeft","marginTop","currentStyle","test","clientWidth","clientHeight","nodeName","toLowerCase","addEventListener","attachEvent","removeEventListener","detachEvent","complete","init","body","querySelectorAll","setTimeout","navigator","userAgent","getLastPart","url","lastIndexOf","blog_filters","itemSelector","layoutMode","amenity_filters","amenity_load_more","find","removeClass","create_lead_on_register","dataflow","console","log","usrName","val","usrSurName","usrEmail","usrMobile","usrPostcode","usrHowdidyouHear","usrHowdidyouHearFix","text","usrterms","usrprefEmail","is","usrprefPhone","Source","usrPrefComm","formData","FirstName","LastName","Email","MobilePhone","PostalCode","HowDidYouHearAboutUs","AgreeToToSandPP","PreferredCommunication","css","show","ajax","type","data","success","textStatus","jqXHR","hide","flowObject","JSON","parse","localStorage","getItem","click","append","code","error","errorThrown","user_status_check","post","hasLead","hasViewing","validateEmail","$email","validate_acc_creation_popup","valid","isEmail","attr","match","email","validate_booking_terms","String","prototype","padStart","Object","defineProperty","configurable","writable","targetLength","padString","repeat","slice","ready","$","topFunction","animate","scrollTop","scrollFunction","documentElement","getCookie","cname","decodedCookie","decodeURIComponent","ca","charAt","substring","indexOf","showReadMore","$this","benefitCount","each","cta","next","wrapper","maxHeight","window","innerHeight","reRunBlazy","Blazy","bLazy","revalidate","parents","tmpl","id","cache","encReg","encMap","<",">","&","\"","'","encode","define","amd","module","exports","deviceAgent","toggleClass","prepend","offset","top","scroll","hasClass","selecty","appendTo","element","on","stopPropagation","queryVars","preFilter","location","search","trim","substr","q","toString","qlbF","href","preventDefault","img","innerWidth","modal","onscroll","hash","getUrlParameter","sParam","sParameterName","sPageURL","sURLVariables","undefined","urlparAlt","urlpar","utmcookie","expireCookie","Date","setTime","getTime","expireMinutes","toUTCString","setItem","testSrc","cookieval","cookstrings","stringify","splitter","cookiesrc","cookiemed","combcookie","flowType","unitSize","unitRent","unitFurn","unitBeds","unitImage","unitName","unitNID","str","x","str_split","arr","push","unitNumber","unitBuilding","unitNid","hover","siblings","remove","stickyOffset","sticky","imageCarousel","scrolled","top_of_element","bottom_of_element","outerHeight","bottom_of_screen","top_of_screen","trigger","resize","$sticky","$scrollToTop","stickytop","breakpoints","src","copy","prev","dest","equalheight","container","$el","currentTallest","currentRowStart","topPosition","currentDiv","rowDivs","position","textLength","title","shortText","join","resizeTimer","clearTimeout","obj","filt","fromCTA","filledBar","calc","startSticky","stiky","stikyWrap","stickyButtons","pageYOffset","removeAttr","collapse","datepickerOptions","changeMonth","changeYear","monthNamesShort","dayNamesMin","firstDay","dateFormat","minDate","beforeShow","input","inst","closest","dpDiv","onChangeMonthYear","year","month","margin-bottom","onClose","minDateAttr","datepicker","ajaxSuccess","readyState","Drupal","drupalSettings","behaviors","tipiBootstrapTheme","attach","context","settings","pardotUID","change","blur","dataLayer","event","contents","nodeType","textContent","replaceWith","triggeringElement","relatedTarget","parentUnitCard","tipi","node_type","node_title","unitDataMarkup","unit_markup","insertBefore","first","building","rent","rooms","minRent","floor","maxRent","getElementById","querySelector","removeAttribute","setAttribute","classList","add","innerHTML","parseInt","checked","html","searchFilters","parking","storage","pets","terrace","balcony","gym","furnished","rentMin","rentMax"],"mappings":"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","file":"app.min.js","sourcesContent":["// JAVASCRIPT LAYER [APP.JS]  =========================================================================================\n\nfunction TipiThemeGetCookie(name) {\n  var value = \"; \" + document.cookie;\n  var parts = value.split(\"; \" + name + \"=\");\n  if (parts.length == 2) return parts.pop().split(\";\").shift();\n}\n\n// Blog Filters\nfunction filterblog(e) {\n    if(e === '*'){\n        jQuery('.m-filter-results').isotope({ filter: e });\n        jQuery('.m-articles').isotope({ filter: e });\n\n    }\n    else {\n        jQuery('.m-filter-results').isotope({ filter: '.'+e });\n        jQuery('.m-articles').isotope({ filter: '.'+e });\n\n    }\n}\n\nfunction filteramenity() {\n    jQuery(this).parent().addClass('active-filter');\n}\n\nfunction IE_polyfill() {\n    // IE OBJECT FIT POLYFILL\n    this.fitie=function(t){function e(){c.call(t,g+m,e);var a={boxSizing:\"content-box\",display:\"inline-block\",overflow:\"hidden\"};\"backgroundColor backgroundImage borderColor borderStyle borderWidth bottom fontSize lineHeight height left opacity margin position right top visibility width\".replace(/\\w+/g,function(t){a[t]=l[t]}),d.border=d.margin=d.padding=0,d.display=\"block\",d.height=d.width=\"auto\",d.opacity=1;var h=t.videoWidth||t.width,s=t.videoHeight||t.height,u=h/s,v=document.createElement(\"object-fit\");v.appendChild(t.parentNode.replaceChild(v,t));for(var p in a)v.runtimeStyle[p]=a[p];var b;\"fill\"===i?f?(d.width=o,d.height=n):(d[\"-ms-transform-origin\"]=\"0% 0%\",d[\"-ms-transform\"]=\"scale(\"+o/h+\",\"+n/s+\")\"):(r>u?\"contain\"===i:\"cover\"===i)?(b=n*u,d.width=Math.round(b)+\"px\",d.height=n+\"px\",d.marginLeft=Math.round((o-b)/2)+\"px\"):(b=o/u,d.width=o+\"px\",d.height=Math.round(b)+\"px\",d.marginTop=Math.round((n-b)/2)+\"px\")}var i=t.currentStyle[\"object-fit\"];if(i&&/^(contain|cover|fill)$/.test(i)){var o=t.clientWidth,n=t.clientHeight,r=o/n,a=t.nodeName.toLowerCase(),d=t.runtimeStyle,l=t.currentStyle,h=t.addEventListener||t.attachEvent,c=t.removeEventListener||t.detachEvent,g=t.addEventListener?\"\":\"on\",f=\"img\"===a,m=f?\"load\":\"loadedmetadata\";h.call(t,g+m,e),t.complete&&e()}},this.fitie.init=function(){if(document.body)for(var t=document.querySelectorAll(\"img,video\"),e=-1;t[++e];)fitie(t[e]);else setTimeout(fitie.init)},/MSIE|Trident/.test(navigator.userAgent)&&this.fitie.init();\n}\n\nif (!String.prototype.padStart) {\n  Object.defineProperty(String.prototype, 'padStart', {\n    configurable: true,\n    writable: true,\n    value: function (targetLength, padString) {\n      targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\n      padString = String(typeof padString !== 'undefined' ? padString : ' ');\n      if (this.length > targetLength) {\n        return String(this);\n      } else {\n        targetLength = targetLength - this.length;\n        if (targetLength > padString.length) {\n          padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n        }\n        return padString.slice(0, targetLength) + String(this);\n      }\n    },\n  });\n}\n\njQuery(document).ready(function($) {\n\n// IE_polyfill();\n\n\njQuery('.m-sub-menu li a.is-active').parents('li').addClass('is-active'); // ​\n\n// jQuery('.amenity-filter').click(function(){\n//\n//     var filterby = jQuery(this).data('filter');\n//\n//     jQuery('.m-filters ul li').removeClass('active');\n//     jQuery(this).parent().addClass('active');\n//\n//     if(filterby === '*'){\n//         jQuery('.m-filter-results').isotope({ filter: filterby });\n//         jQuery('.m-articles').isotope({ filter: filterby });\n//\n//     }\n//     else {\n//         jQuery('.m-filter-results').isotope({ filter: '.'+filterby });\n//         jQuery('.m-articles').isotope({ filter: '.'+filterby });\n//\n//     }\n//\n//     setTimeout(function(){\n//         amenity_load_more();\n//         jQuery('.a-load-more').click();\n//         console.log('showall');\n//     }, 50);\n// });\n","// FILE END +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nif (getLastPart(window.location.href) === 'blog') {\n    setTimeout(function(){\n        blog_filters();\n    }, 50);\n}\n\nif ($('#amenity-list').length){\n    setTimeout(function(){\n        amenity_filters();\n    }, 50);\n}\n\n});\n\nfunction getLastPart(url) {\n    var parts = url.split(\"/\");\n    return (url.lastIndexOf('/') !== url.length - 1 ? parts[parts.length - 1] : parts[parts.length - 2]);\n}\n\nfunction blog_filters() {\n    jQuery('.m-filter-results').isotope({\n        // options\n        itemSelector: '.blog-list-card',\n        layoutMode: 'fitRows'\n    });\n}\n\n\nfunction amenity_filters() {\n    jQuery('.m-articles').isotope({\n        // options\n        itemSelector: '.amenity',\n        layoutMode: 'fitRows'\n    });\n}\n\nfunction amenity_load_more() {\n    jQuery('.m-articles').find(\".dont-show\").removeClass(\"dont-show\");\n\n    setTimeout(function(){\n        jQuery('.m-articles').isotope({\n            itemSelector: '.amenity',\n            layoutMode: 'fitRows'\n        });\n    }, 100);\n\n}\n\nfunction create_lead_on_register(dataflow) {\n  console.log(dataflow);\n  var usrName = jQuery('.m-acc-register').find('input[name=\"FirstName\"]').val();\n  var usrSurName = jQuery('.m-acc-register').find('input[name=\"Surname\"]').val();\n  var usrEmail = jQuery('.m-acc-register').find('input[name=\"Email\"]').val();\n  var usrMobile = jQuery('.m-acc-register').find('input[name=\"Mobile\"]').val();\n  var usrPostcode = jQuery('.m-acc-register').find('input[name=\"Postcode\"]').val();\n  var usrHowdidyouHear = jQuery('.m-acc-register').find('select[name=\"HowdidyouHear\"]').val();\n  var usrHowdidyouHearFix = jQuery('.reg-lead + .selecty').find('.selecty-options .selected').text();\n  usrHowdidyouHear = !usrHowdidyouHear.length && usrHowdidyouHearFix.length > 0 ? usrHowdidyouHearFix : usrHowdidyouHear ;\n  var usrterms = jQuery('.m-acc-register').find('input[name=\"cterms\"]').val();\n  var usrprefEmail = jQuery('.m-acc-register').find('input#cEmail').is(':checked');\n  var usrprefPhone = jQuery('.m-acc-register').find('input#cPhone').is(':checked');\n  var Source = jQuery('.m-acc-register').find('input[name=\"custom_source\"]').val();\n\n  console.log(usrName);\n  console.log(usrSurName);\n  console.log(usrEmail);\n  console.log(usrMobile);\n  console.log(usrPostcode);\n  console.log(usrHowdidyouHear);\n  console.log(usrterms);\n  console.log(usrprefEmail);\n  console.log(usrprefPhone);\n  console.log(Source);\n\n  var usrPrefComm = typeof usrprefEmail != 'undefined' && usrprefEmail ? 'Email' : 'Phone' ;\n\n  console.log(usrPrefComm);\n\n  var formData = {FirstName:usrName,LastName:usrSurName,Email:usrEmail,MobilePhone:usrMobile,PostalCode:usrPostcode,HowDidYouHearAboutUs:usrHowdidyouHear,AgreeToToSandPP:usrterms, PreferredCommunication: usrPrefComm, Source:Source};\n\n\n  jQuery('.o-create-account-tipi .button-text').css('opacity', '0');\n  jQuery('.o-create-account-tipi .button-loader').show();\n\n  jQuery.ajax({\n    url : \"/olj-lead\",\n    type: \"POST\",\n    data : formData,\n    success: function(data, textStatus, jqXHR)\n    {\n\n      if (data.success){\n        jQuery('.o-reserve-process .reservation-step-holder-item').hide('slow');\n\n        if (dataflow == 'booking'){\n          jQuery('.o-create-account-tipi .button-text').css('opacity', '1');\n          jQuery('.o-create-account-tipi .button-loader').hide();\n          var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n          jQuery('.book-a-viewing-date').show('slow');\n          jQuery('.right-desktop .unit-data-rent').text(flowObject['unitRent']);\n          jQuery('.right-desktop .unit-data-bedrooms').text(flowObject['unitBeds']);\n          jQuery('.right-desktop .unit-data-size').text(flowObject['unitSize']);\n          jQuery('.right-desktop .unit-data-building').text(flowObject['unitBuilding']);\n          jQuery('.right-desktop .unit-data-unit-number').text(flowObject['unitNumber']);\n          jQuery('.left-desktop .unit-image').css('background-image', 'url(' + flowObject['unitImage'] + ')');\n          jQuery('.ui-state-active').click();\n        } else if(dataflow == 'reservation') {\n          jQuery('.o-reserve-step-one').show('slow');\n        }\n\n      } else {\n        jQuery('.o-create-account-tipi .m-acc-register').append('<div class=\"generic-validation\">Something went wrong, we were unable to register your account, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>');\n      }\n\n    },\n    error: function (jqXHR, textStatus, errorThrown)\n    {\n\n    }\n  });\n}\n\n// function get_booking_avail_slot(oljdate) {\n//\n//   jQuery('.timeslot-help-text').hide();\n//\n//   var formData = {Date:oljdate};\n//\n//   console.log(formData);\n//\n//   jQuery('.timeslot-loader').show();\n//   jQuery('.slot').removeClass('active-slot');\n//   jQuery('.slot').removeClass('hide-slot');\n//   jQuery('.slot').css('visibility', 'hidden');\n//\n//   jQuery.ajax({\n//     url : \"/olj-slots\",\n//     type: \"POST\",\n//     data : formData,\n//     success: function(data, textStatus, jqXHR)\n//     {\n//       if (data.success) {\n//         console.log(data.slots);\n//         jQuery.each(data.slots, function (key, value) {\n//           console.log('looping through slots');\n//           if (value === false) {\n//             console.log('if any slots are false');\n//             console.log(key);\n//             jQuery('.slot[data-slot=\"'+key+'\"]').addClass('hide-slot');\n//           }\n//           else {\n//             jQuery('.slot[data-slot=\"'+key+'\"]').removeClass('hide-slot');\n//           }\n//         });\n//         jQuery('.book-a-viewing-date .book-a-viewing-info .generic-validation').remove();\n//         jQuery('.timeslot-loader').hide();\n//         jQuery('.slot').css('visibility', 'visible');\n//       }\n//       else {\n//         jQuery('.book-a-viewing-date .book-a-viewing-info .generic-validation').remove();\n//         jQuery('.book-a-viewing-date .book-a-viewing-info').append('<div class=\"generic-validation\">Something went wrong, we were unable to find available slots for your viewing, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>');\n//       }\n//     },\n//     error: function (jqXHR, textStatus, errorThrown)\n//     {\n//\n//     }\n//   });\n//\n// }\n\n\n// function createBooking() {\n//   var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n//   var unitId = jQuery('.bg-flow').attr('data-unitnide');\n//   var viewingDataObject = JSON.parse(localStorage.getItem('viewingDataObject'));\n//   var activeSlot = jQuery('.active-slot').attr('data-slot');\n//   var bookingDate = viewingDataObject.viewingDate.split(' ');\n//   console.log(unitId);\n//\n//   console.log(bookingDate);\n//   console.log(activeSlot);\n//   if (typeof activeSlot == 'undefined') {\n//     jQuery('.book-a-viewing-date .book-a-viewing-info').append('<div class=\"generic-validation\">Please select a date and time slot to book your viewing.</div>');\n//     return;\n//   }\n//\n//   var formData = { Date:bookingDate[2]+'-'+bookingDate[1]+'-'+bookingDate[0], Time:activeSlot, Type:viewingDataObject.viewingPref, Unit:unitId};\n//\n//   console.log(formData);\n//\n//   jQuery('.book-a-viewing-date .button-text').css('opacity', '0');\n//   jQuery('.book-a-viewing-date .button-loader').show();\n//\n//   jQuery.ajax({\n//     url : \"/olj-viewing\",\n//     type: \"POST\",\n//     data : formData,\n//     success: function(data, textStatus, jqXHR)\n//     {\n//       console.log(data.success);\n//       if (data.success){\n//         console.log(data.slots);\n//         jQuery.each( data.slots, function( key, value ) {\n//           console.log(value);\n//           if(value === false){\n//             console.log('one of them is false');\n//             if(jQuery('.slot').attr('data-slot') === key){\n//               jQuery(this).hide();\n//               console.log(jQuery(this));\n//             }\n//           }\n//         });\n//         jQuery('.book-a-viewing-date .button-text').css('opacity', '1');\n//         jQuery('.book-a-viewing-date .button-loader').hide();\n//         jQuery('.o-reserve-process .reservation-step-holder-item').hide('slow');\n//         jQuery('.book-a-viewing-confirmation').show('slow');\n//       } else {\n//         jQuery('.book-a-viewing-date .book-a-viewing-info').append('<div class=\"generic-validation\">Something went wrong, we were unable to create your viewing, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>');\n//       }\n//\n//     },\n//     error: function (jqXHR, textStatus, errorThrown)\n//     {\n//\n//     }\n//   });\n//\n// }\n\n\n// function SaveAccDetails() {\n//\n//   var FirstName = jQuery('.m-edit-profile').find('input[name=\"FirstName\"]').val();\n//   var LastName = jQuery('.m-edit-profile').find('input[name=\"Surname\"]').val();\n//   // var Email = jQuery('.m-edit-profile').find('input[name=\"Email\"]').val();\n//   var MobilePhone = jQuery('.m-edit-profile').find('input[name=\"Mobile\"]').val();\n//   var PreferredCommunication = jQuery('input[name=\"prefMethod\"]:checked').val();\n//   var PostalCode = jQuery('.m-edit-profile').find('input[name=\"Postcode\"]').val();\n//   var Type  = jQuery('.m-edit-profile').find('input[name=\"tO\"]').val();\n//\n//   var valid = true;\n//\n//   var formData = { FirstName:FirstName, LastName:LastName, MobilePhone:MobilePhone, PreferredCommunication:PreferredCommunication, PostalCode:PostalCode, Type:Type };\n//\n//\n//\n//   jQuery('.save-profile .button-text').css('opacity', '0');\n//   jQuery('.save-profile .button-loader').show();\n//\n//   jQuery.ajax({\n//     url : \"/olj-account\",\n//     type: \"POST\",\n//     data : formData,\n//     success: function(data, textStatus, jqXHR)\n//     {\n//       if (data.success){\n//         jQuery('.o-my-account-page .m-acc-register .olj-success-wrapper').remove();\n//         console.log('data saved');\n//         jQuery('.save-profile .button-text').css('opacity', '1');\n//         jQuery('.save-profile .button-loader').hide();\n//         jQuery('.o-my-account-page .m-acc-register .generic-validation').remove();\n//         jQuery('.o-my-account-page .m-acc-register').prepend('<div class=\"olj-success-wrapper\"><p>Your account has been updated!</p></div>');\n//\n//       } else {\n//         console.log('data could not be saved');\n//         jQuery('.save-profile .button-text').css('opacity', '1');\n//         jQuery('.save-profile .button-loader').hide();\n//         jQuery('.o-my-account-page .m-acc-register .generic-validation').remove();\n//         jQuery('.o-my-account-page .m-acc-register').prepend('<div class=\"generic-validation\">Something went wrong, we were unable to update your account, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>');\n//         jQuery('.o-my-account-page .m-acc-register .olj-success-wrapper').remove();\n//       }\n//\n//     },\n//     error: function (jqXHR, textStatus, errorThrown)\n//     {\n//\n//     }\n//   });\n//\n// }\n\n\nfunction user_status_check(){\n  var login_Status = JSON.parse(localStorage.getItem('loginstatus'));\n\n  if(login_Status == 'no'){\n\n  } else {\n    jQuery('.reservation-step-holder-item').hide();\n    jQuery.post(\n      '/olj-status' ,\n      {} ,\n      function(data) {\n        console.log(\"Status?\")\n        console.log(data);\n        if (data.success) {\n          console.log('I am logged in now');\n          if(data.hasLead){\n            var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n            console.log('I have a lead now');\n\n            if(flowObject['flowType'] == 'reservation') {\n              jQuery('.o-reserve-step-one').show();\n            } else {\n              if(data.hasViewing) {\n                jQuery('.o-already-have-booking').show();\n              } else {\n                jQuery('.book-a-viewing-date').show();\n              }\n            }\n          } else {\n            jQuery('.o-create-account-tipi').show();\n            console.log('I do not have a lead yet');\n          }\n        }\n        else {\n          jQuery('.o-register-with-tipi').show();\n        }\n      }\n    );\n\n  }\n\n}\n\n// function get_ancilliries(){\n//   jQuery('.show-step-two .button-text').css('opacity', '0');\n//   jQuery('.show-step-two .button-loader').show();\n//\n//   var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n//   var unitId = jQuery('.bg-flow').attr('data-unitnide');\n//   var formData = { Unit:unitId };\n//\n//   jQuery.ajax({\n//     url : \"/olj-ancillaries\",\n//     type: \"POST\",\n//     data : formData,\n//     success: function(data, textStatus, jqXHR)\n//     {\n//       console.log(data);\n//       if (data.success){\n//         jQuery('.show-step-two .button-loader').show();\n//         jQuery('.show-step-two .button-text').css('opacity', '0');\n//         jQuery('.parking-price').text(data.prices.parking);\n//         jQuery('.one-cat-val').attr('data-value' , data.prices.cat);\n//         jQuery('.two-cat-val').attr('data-value' , data.prices['2 cats']);\n//         jQuery('.one-dog-val').attr('data-value' , data.prices.dog);\n//         jQuery('.two-dog-val').attr('data-value' , data.prices['2 dogs']);\n//         jQuery('.one-small-value').attr('data-value' , data.prices['small animal']);\n//         jQuery('.two-small-value').attr('data-value' , data.prices['2 small animals']);\n//         jQuery('.o-reserve-process .reservation-step-holder-item').hide('slow');\n//         jQuery('.o-reserve-step-two').show('slow');\n//       } else {\n//         jQuery('.o-reserve-process .reserve-step-one').append('<div class=\"generic-validation\">Something went wrong, we were unable to continue your reservation, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>');\n//       }\n//\n//     },\n//     error: function (jqXHR, textStatus, errorThrown)\n//     {\n//\n//     }\n//   });\n//\n// }\n\n\n// function reserve_unit(){\n//   jQuery('.show-res-confirmed .button-text').css('opacity', '0');\n//   jQuery('.show-res-confirmed .button-loader').show();\n//\n//   var Step1Data = JSON.parse(localStorage.getItem('reservationStepOne'));\n//   var Step2Data = JSON.parse(localStorage.getItem('reservationStepTwo'));\n//   var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n//   var Term = Step1Data.leaseTerm.replace(/\\D/g,'');\n//   console.log(Step1Data.reservationDate);\n//   var bookingDate = Step1Data.reservationDate.split(' ');\n//\n//   var parking;\n//   if (Step2Data.selectedParking == 'Parking'){\n//     parking = 'true';\n//   } else {\n//     parking = 'false';\n//   }\n//\n//   var formData = { Unit:flowObject.unitNid, MoveInDate:bookingDate[2]+'-'+bookingDate[1]+'-'+bookingDate[0], Parking:parking, Cats:Step2Data.animalsCat,Dogs:Step2Data.animalsDog,Small:Step2Data.animalsSmall,Term:Term };\n//\n//\n//   console.log(formData);\n//\n//   jQuery.ajax({\n//     url : \"/olj-reserve\",\n//     type: \"POST\",\n//     data : formData,\n//     success: function(data, textStatus, jqXHR)\n//     {\n//       if (data.success){\n//         jQuery('.show-res-confirmed .button-loader').show();\n//         jQuery('.show-res-confirmed .button-text').css('opacity', '0');\n//\n//           jQuery('.o-reserve-process .reservation-step-holder-item').hide('slow');\n//           jQuery('.o-reservation-confirmed').show('slow');\n//       } else {\n//         jQuery('<div class=\"generic-validation\">Something went wrong, we were unable to complete your reservation, please contact us at 020 3918 7350<br />Your error code is '+data.code+'</div>').insertBefore(jQuery('.o-reserve-process .pay-reserve.show-res-confirmed'));\n//       }\n//\n//     },\n//     error: function (jqXHR, textStatus, errorThrown)\n//     {\n//\n//     }\n//   });\n//\n// }\n\n// function validate_acc_edit() {\n//   var valid = true;\n//   if(jQuery('.m-edit-profile .reg-postcode').val() === \"\"){\n//     jQuery('.m-edit-profile .reg-postcode').addClass('needs-val');\n//     valid = false;\n//   } else {\n//     // jQuery('.reg-postcode').removeClass('needs-val');\n//     if (jQuery('.m-edit-profile .reg-postcode').val().replace(' ','').match(/^[0-9a-zA-Z]+$/) == null) {\n//       jQuery('.m-edit-profile .reg-postcode').addClass('needs-val');\n//       valid = false;\n//     }\n//     else {\n//       jQuery('.m-edit-profile .reg-postcode').removeClass('needs-val');\n//     }\n//   }\n//\n//   if(!valid) {\n//     jQuery('.m-edit-profile .form-not-validated').show();\n//     return false;\n//\n//   } else {\n//     jQuery('.m-edit-profile .form-not-validated').hide();\n//     return true;\n//\n//   }\n// }\n\nfunction validateEmail($email) {\n  var emailReg = /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$/;\n  return emailReg.test( $email );\n  console.log('why not');\n}\n\nfunction validate_acc_creation_popup() {\n  // var usrName = jQuery('.m-acc-register').find('input[name=\"FirstName\"]');\n  // var usrSurName = jQuery('.m-acc-register').find('input[name=\"Surname\"]');\n  // var usrEmail = jQuery('.m-acc-register').find('input[name=\"Email\"]');\n  // var usrMobile = jQuery('.m-acc-register').find('input[name=\"Mobile\"]');\n  // var usrPostcode = jQuery('.m-acc-register').find('input[name=\"Postcode\"]');\n  var usrHowdidyouHear = jQuery('.m-acc-register').find('select[name=\"HowdidyouHear\"]').val();\n  var usrHowdidyouHearFix = jQuery('.reg-lead + .selecty').find('.selecty-options .selected').text();\n  var usrterms = jQuery('.m-acc-register').find('input[name=\"cterms\"]');\n  // var usrpref = jQuery('.m-acc-register').find('input[name=\"prefMethod\"]');\n\n  console.log(usrHowdidyouHear);\n  console.log(usrHowdidyouHearFix);\n\n  var valid = true;\n\n  if (!usrterms.is(':checked')) {\n    jQuery('#cterms + .checkmark').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('#cterms + .checkmark').removeClass('needs-val');\n  }\n\n  if(jQuery('.reg-fname').val() === \"\"){\n    jQuery('.reg-fname').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('.reg-fname').removeClass('needs-val');\n  }\n\n  if(jQuery('.reg-surname').val() === \"\"){\n    jQuery('.reg-surname').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('.reg-surname').removeClass('needs-val');\n  }\n\n  if(jQuery('.reg-email').val() === \"\"){\n    jQuery('.reg-email').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('.reg-email').removeClass('needs-val');\n  }\n\n  if (!isEmail(jQuery('.reg-email').val())){\n    jQuery('.reg-email').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('.reg-email').removeClass('needs-val');\n  }\n\n  if(jQuery('.reg-mobile').val() === \"\"){\n    jQuery('.reg-mobile').addClass('needs-val');\n    valid = false;\n  } else {\n    if (jQuery('.reg-mobile').val() == jQuery('.reg-mobile').attr('data-code')) {\n      jQuery('.reg-mobile').addClass('needs-val');\n      valid = false;\n    }\n    else {\n      if (jQuery('.reg-mobile').val().length < 8) {\n        jQuery('.reg-mobile').addClass('needs-val');\n        valid = false;\n      }\n      jQuery('.reg-mobile').removeClass('needs-val');\n    }\n  }\n\n  console.log(usrHowdidyouHear.length);\n  console.log(usrHowdidyouHear.length == 0);\n  console.log(usrHowdidyouHearFix.length);\n  console.log(usrHowdidyouHearFix.length == 0);\n  console.log(usrHowdidyouHear.length == 0 && usrHowdidyouHearFix.length == 0);\n\n  if(usrHowdidyouHear.length == 0 && usrHowdidyouHearFix.length == 0){\n    jQuery('.selecty-selected').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('.selecty-selected').removeClass('needs-val');\n  }\n\n  if(jQuery('.reg-postcode').val() === \"\"){\n    jQuery('.reg-postcode').addClass('needs-val');\n    valid = false;\n  } else {\n    // jQuery('.reg-postcode').removeClass('needs-val');\n    if (jQuery('.reg-postcode').val().replace(' ','').match(/^[0-9a-zA-Z]+$/) == null) {\n      jQuery('.reg-postcode').addClass('needs-val');\n      valid = false;\n    }\n    else {\n      jQuery('.reg-postcode').removeClass('needs-val');\n    }\n  }\n\n\n  if(!valid) {\n    jQuery('.form-not-validated').show();\n    return false;\n\n  } else {\n    jQuery('.form-not-validated').hide();\n    return true;\n\n  }\n\n}\n\n\nfunction isEmail(email) {\n  var regex = /^([a-zA-Z0-9_.+-])+\\@(([a-zA-Z0-9-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n  return regex.test(email);\n}\n\n\nfunction validate_booking_terms() {\n  var valid = true;\n  var usrterms = jQuery('.agree-reservation-fee').find('input[name=\"termsc\"]');\n  if (!usrterms.is(':checked')) {\n    jQuery('#termsc + .checkmark').addClass('needs-val');\n    valid = false;\n  } else {\n    jQuery('#termsc + .checkmark').removeClass('needs-val');\n  }\n  if(!valid) {\n    jQuery('.form-not-validated').show();\n    return false;\n\n  } else {\n    jQuery('.form-not-validated').hide();\n    return true;\n\n  }\n}\n\n","// JAVASCRIPT LAYER [APP.JS]  =========================================================================================\n\n// ====== INDEX  ======================================================================================================\n// ==\n// == A. BURGER MENU\n// == B. HOMEPAGE CAROUSEL\n// ==\n// ====== INDEX  ======================================================================================================\n\n// A. SHOW/HIDE +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n// A.1. BURGER MENU ---------------------------------------------------------------------------------------------------\n\n// $(\".reveal\").click(function (e) {\n//   var target = $(this).attr(\"href\");\n//\n//   if ($(target).hasClass(\"hidden\")) {\n//     $(target).removeClass(\"hidden\");\n//     $(\".reveal\").addClass(\"close\");\n//   } else {\n//     $(target).addClass(\"hidden\");\n//     $(\".reveal\").removeClass(\"close\");\n//   }\n//   e.preventDefault();\n// });\n\n$(\".a-nav-icon\").click(function (e) {\n  $(this).toggleClass(\"open\");\n  $(\".m-menu\").toggleClass(\"slide-out\", \"slide-in\");\n  $(\".o-header\").toggleClass(\"open\");\n});\n\n$(\"div.m-menu-items ul li\").each(function () {\n  if ($(this).find(\"ul.m-sub-menu\").length !== 0) {\n    //$(this).addClass('has-dropdown');\n    $(this).prepend(\n      '<button class=\"d-inline-block d-lg-none toggle-submenu a-mobile-caret\">EXPAND</button>'\n    );\n  }\n});\n\n$(\".a-mobile-caret\").click(function (e) {\n  $(this).toggleClass(\"active\");\n});\n\n// A.1. END -----------------------------------------------------------------------------------------------------------\n\n// A.2. GENERAL SHOW --------------------------------------------------------------------------------------------------\n\nvar isIE11 = !!navigator.userAgent.match(/Trident.*rv\\:11\\./);\nif (isIE11) {\n  jQuery(\"body\").addClass(\"ie-11\");\n}\n\n// $(\".showhide\").click(function (e) {\n//   var target = $(this).attr(\"href\");\n\n//   if ($(target).hasClass(\"hidden\")) {\n//     $(target).removeClass(\"hidden\");\n//     $(\".showhide\").addClass(\"close\");\n//   } else {\n//     $(target).addClass(\"hidden\");\n//     $(\".showhide\").removeClass(\"close\");\n//   }\n\n//   e.preventDefault();\n// });\n\n// A.2. END -----------------------------------------------------------------------------------------------------------\n\n// A.2. END -----------------------------------------------------------------------------------------------------------\n\n// A.2.1. TOGGLE DIV ----------------------------\n\n// var currentContent = \"\";\n// $(\".toggle-div\").on(\"click\", function () {\n//   currentContent = $(this).attr(\"name\");\n//   if ($(\"#\" + currentContent).hasClass(\"on\")) {\n//     $(\"#\" + currentContent).removeClass(\"on\");\n//     $(\"body\").removeClass(\"modal-open\");\n//   } else {\n//     hideAllContent();\n//     showCurrentContent(currentContent);\n//   }\n// });\n\n// function hideAllContent() {\n//   $(\".toggle-content\").removeClass(\"on\");\n//   $(\"body\").removeClass(\"modal-open\");\n// }\n\n// function showCurrentContent(currentContentDiv) {\n//   $(\"#\" + currentContentDiv).addClass(\"on\");\n//   $(\"body\").addClass(\"modal-open\");\n// }\n\n// A.2.1. END -----------------------------------------\n\n// A.2.2. MODAL POPUPS --------------------------------\n\n// var modalContent = \"\";\n// $(\".modal-open\").on(\"click\", function () {\n//   modalContent = $(this).attr(\"name\");\n//   if ($(\"#\" + modalContent).hasClass(\"on\")) {\n//     $(\"#\" + modalContent).removeClass(\"on\");\n//     $(\"body\").removeClass(\"modal-open\");\n//   } else {\n//     hideAllContent();\n//     showmodalContent(modalContent);\n//   }\n// });\n\n// function hideAllContent() {\n//   $(\".o-modal-full\").removeClass(\"on\");\n//   $(\"body\").removeClass(\"modal-open\");\n// }\n\n// function showmodalContent(modalContentDiv) {\n//   $(\"#\" + modalContentDiv).addClass(\"on\");\n//   $(\"body\").addClass(\"modal-open\");\n// }\n\n// var featureVid = document.getElementById(\"modal--video-player\");\n\n// function pauseFeaturedVid() {\n//   featureVid.pause();\n// }\n\n// $(\".a-modal-close\").on(\"click\", function () {\n//   $(\"body\").removeClass(\"modal-open\");\n//   $(\".o-modal-full\").removeClass(\"on\");\n//   pauseFeaturedVid();\n// });\n\n// A.2.2. END -----------------------------------------\n\n// A.2.3. MOBILE SHOWHIDE -----------------------------\n\n//(function ($) {\n// if ($(\"html\").hasClass(\"mobile\")) {\n//   $(\".a-config\").on(\"click\", function () {\n//     //e.preventDefault();\n//     if ($(\".a-config\").hasClass(\"active\")) {\n//       $(\".a-config\").removeClass(\"active\");\n//       $(\"body\").removeClass(\"fixed\");\n//     } else {\n//       $(\".a-config\").addClass(\"active\");\n//       $(\"body\").addClass(\"fixed\");\n//     }\n//   });\n// }\n\n// A.2.4. GRID APARTMENTS -----------------------------\n// if($('html').hasClass('mobile')){\n//   $('.o-grid-apartments .m-block .m-link').on('click', function(e){\n//     if ($(this).hasClass('clicked')) {\n//       return true;\n//     } else {\n//       $(this).addClass('clicked');\n//       e.preventDefault();\n//     }\n//   });\n// }\n\n// A.2.4. END -----------------------------------------\n//})(jQuery);\n\n// A.2.3. END -----------------------------------------\n\n// A.2. END -----------------------------------------------------------------------------------------------------------\n\n// A.3. SCROLL TO LINK ------------------------------------------------------------------------------------------------\n\n// $(\".textLink, .bob-backUp\").click(function (event) {\n//   event.preventDefault();\n//\n//   //calculate destination place\n//   var dest = 0;\n//   if ($(this.hash).offset().top > $(document).height() - $(window).height()) {\n//     dest = $(document).height() - $(window).height();\n//   } else {\n//     dest = $(this.hash).offset().top;\n//   }\n//\n//   //go to destination\n//   $(\"html,body\").animate({ scrollTop: dest }, 1000, \"swing\");\n//\n//   //add class to burger\n//   $(\"#mobi-nav\").addClass(\"hide-nav\");\n// });\n\n// A.3. END -----------------------------------------------------------------------------------------------------------\n\n// $(\".cta-hook a\").click(function (event) {\n//   event.preventDefault();\n//   //calculate destination place\n//   var dest = 0;\n//   if ($(this.hash).offset().top > $(document).height() - $(window).height()) {\n//     dest = $(document).height() - $(window).height();\n//   } else {\n//     dest = $(this.hash).offset().top;\n//   }\n\n//   //go to destination\n//   $(\"html,body\").animate(\n//     { scrollTop: dest - $(\".o-header\").height() },\n//     1000,\n//     \"swing\"\n//   );\n// });\n\n// if ($(\".webform-confirmation__message\").length) {\n//   dest = $(\".register-interest-form\").offset().top;\n//   $(\"html,body\").animate(\n//     { scrollTop: dest - $(\".o-header\").height() },\n//     1000,\n//     \"swing\"\n//   );\n// }\n\n// A.4. SHOW HIDE LOGO ------------------------------------------------------------------------------------------------\n\nvar t = $(\"html\").offset().top;\n\n$(document).scroll(function () {\n  if (document.documentElement.clientWidth > 640) {\n    // Hide the logo, and show as you scroll\n    if ($(this).scrollTop() > t) {\n      $(\".logo\").css({ display: \"block\" });\n    } else {\n      $(\".logo\").css({ display: \"none\" });\n    }\n  } else {\n  }\n});\n\n// A.4. END -----------------------------------------------------------------------------------------------------------\n\n// A.5. SCREEN SIZE CHECK ---------------------------------------------------------------------------------------------\n\nvar screen = $(window).width();\nif ($(\"body\").hasClass(\"adminimal-admin-toolbar\")) {\n  // console.log('I am a device, and my width is: ' + screen);\n}\n\n// A.5. END -----------------------------------------------------------------------------------------------------------\n\n// A.6. RESOURCE PATHS ------------------------------------------------------------------------------------------------\n\nvar icons = \"assets/includes/icons/\";\n\n// A.6. END -----------------------------------------------------------------------------------------------------------\n\n// A.7. SELECTY -------------------------------------------------------------------------------------------------------\n$(\".selecty\").each(function () {\n  if (!$(this).hasClass(\"selecty-enabled\")) {\n    $(this).addClass(\"selecty-enabled\");\n    $(this).selecty();\n  }\n});\n// A.7. END -----------------------------------------------------------------------------------------------------------\n\n// A.8. CAROUSELS -----------------------------------------------------------------------------------------------------\n\nif ($(window).width() <= 768) {\n  jQuery(\".building \").addClass(\"open-building\");\n}\n\nif ($(window).width() <= 990) {\n  jQuery(\".main-menu-phone\").parent().css(\"border-bottom\", \"0\");\n  jQuery(\".main-menu-phone\").appendTo(\".m-menu-items-right\");\n  jQuery(\".main-menu-phone\").addClass(\"mobile-phone-menu\");\n}\n\n// Unit hero mobile counter\n// $(\".unit-hero-carousel, .m-marketing-page-hero\").on(\n//   \"initialized.owl.carousel changed.owl.carousel\",\n//   function (e) {\n//     if (!e.namespace) {\n//       return;\n//     }\n//     var carousel = e.relatedTarget;\n//     $(\".slider-counter\").text(\n//       carousel.relative(carousel.current()) + 1 + \"/\" + carousel.items().length\n//     );\n//   }\n// );\n\n// Building gallery mobile counter\n// $(\".m-building-listing-slide\").on(\n//   \"initialized.owl.carousel changed.owl.carousel\",\n//   function (e) {\n//     if (!e.namespace) {\n//       return;\n//     }\n//     console.log(\"this happened\");\n//     var carousel = e.relatedTarget;\n//     $(\".slider-counter .a-current\").text(\n//       carousel.relative(carousel.current()) + 1\n//     );\n//     $(\".slider-counter .a-total\").text(carousel.items().length);\n//   }\n// );\n\n// 2021 - Hero owl carousel progress bar END\n\n// $(\".owl-carousel\").each(function () {\n//   var options = false;\n//   if ($(this).hasClass(\"unit-apartment-carousel\")) {\n//     options = {\n//       dots: true,\n//       autoplay: false,\n//       nav: true,\n//       loop: true,\n//       items: 1,\n//     };\n//   }\n//   if (options !== false) {\n//     $(this).owlCarousel(options);\n//   }\n// });\n\n// A.35. 2021 gallery lightbox nav left/right\n\n// 2021 Image carousel twigger prev/next on scroll pad START\n// var timestamp_mousewheel = 0;\n// var Image2021Carousel = $(\".m-2021-image-carousel\");\n// Image2021Carousel.on(\"mousewheel\", \".owl-stage\", function (a) {\n//   var d = new Date();\n//   if (d.getTime() - timestamp_mousewheel > 1000) {\n//     //minimum time difference\n//     timestamp_mousewheel = d.getTime();\n//     if (a.deltaY < 0) Image2021Carousel.trigger(\"next.owl\");\n//     else Image2021Carousel.trigger(\"prev.owl\");\n//     a.preventDefault();\n//   }\n// });\n\n// A.35. END -----------------------------------------------------------------------------------------------------------\n\nfunction stopOwlPropagation(element) {\n  jQuery(element).on(\"to.owl.carousel\", function (e) {\n    e.stopPropagation();\n  });\n  jQuery(element).on(\"next.owl.carousel\", function (e) {\n    e.stopPropagation();\n  });\n  jQuery(element).on(\"prev.owl.carousel\", function (e) {\n    e.stopPropagation();\n  });\n  jQuery(element).on(\"destroy.owl.carousel\", function (e) {\n    e.stopPropagation();\n  });\n}\n\nstopOwlPropagation(\".owl-carousel\");\n\n// A.27. STAR RATINGS -------------------------------------------------------------------------------------------------------\n// jQuery(\".m-star-rating\").each(function () {\n//   var val = jQuery(this).find(\".a-value\").text();\n//   var filledBar = jQuery(this).find(\".a-filled\");\n\n//   var calc = (val / 5) * 100 + \"%\";\n//   filledBar.css(\"width\", calc);\n// });\n// A.27. END -----------------------------------------------------------------------------------------------------------\n\n// $(\".o-2021-hero-image-gallery .m-thumbnail\").click(function () {\n//   var slide = $(this).attr(\"data-slide-to\");\n//   var owl = $(\".m-2021-gallery-modal\");\n//   owl.trigger(\"to.owl.carousel\", [slide, 0]);\n// });\n\n// $(\".o-2021-instagram .m-img\").click(function () {\n//   var slide = $(this).attr(\"data-slide-to\");\n//   var owl = $(\".m-2021-instagram-modal\");\n//   owl.trigger(\"to.owl.carousel\", [slide, 0]);\n// });\n\n// $('.owl-carousel').on('touchstart', 'img', function(e) {\n// \t$(this).closest('.owl-carousel').trigger('stop.owl.autoplay');\n// });\n// $('.owl-carousel').on('touchend', 'img', function(e) {\n// \t$(this).closest('.owl-carousel').trigger('play.owl.autoplay');\n// });\n// $('.owl-carousel').on('click', '.owl-dots, .owl-nav', function(e) {\n// \t$(this).closest('.owl-carousel').trigger('stop.owl.autoplay');\n// \t$(this).closest('.owl-carousel').trigger('play.owl.autoplay');\n// });\n\n// A.8. END -----------------------------------------------------------------------------------------------------------\n\n// A.10 SEARCH UNITS SHOW MORE ---------------------------------------------------------------------------------------\n\n// $(\".o-search-units .more a\").on(\"click\", function () {\n//   $(\".o-unit-search-result.hidden\")\n//     .slice(0, 8)\n//     .css(\"opacity\", \"0\")\n//     .removeClass(\"hidden\")\n//     .animate({ opacity: \"1\" }, 500);\n//   if (!$(\".o-unit-search-result.hidden\").length) {\n//     $(this).closest(\"div\").addClass(\"hidden\");\n//     $(\"<p>No more filtered results</p>\").insertBefore($(this).closest(\"div\"));\n//   }\n// });\n\n// A.10 APARTMENT HERO GALLERY AND TOUR OPEN/CLOSE\n\n// A.10.1 OPEN GALLERY/TOUR\n\n// $(\".js--a-btn-gallery\").click(function () {\n//   $(\".o-hero-scaling\").addClass(\"closed\");\n//   $(\".o-apartment-gallery\").addClass(\"open\");\n//   var owl = $(this).closest(\".o-block\").parent(\"div\").find(\".owl-carousel\");\n//   owl.trigger(\"to.owl.carousel\", [0, 0]);\n// });\n// $(\".js--a-virtual-tour\").click(function () {\n//   $(\".o-hero-scaling\").addClass(\"closed\");\n//   $(\".m-virtual-tour\").addClass(\"open\");\n// });\n\n// A.10.1 END --------------------------------------------------------------------------------------------------------\n\n// A.10.2 CLOSE GALLERY/TOUR\n\n// $(\".js--a-btn-gallery-close\").click(function () {\n//   $(\".o-hero-scaling\").removeClass(\"closed\");\n//   $(\".o-apartment-gallery\").removeClass(\"open\");\n//   var owl = $(this).closest(\".m-container\").prev(\".owl-carousel\");\n//   owl.trigger(\"to.owl.carousel\", [0, 0]);\n// });\n\n// $(\".js--a-btn-tour-close\").click(function () {\n//   $(\".o-hero-scaling\").removeClass(\"closed\");\n//   $(\".m-virtual-tour\").removeClass(\"open\");\n// });\n\n// A.10.2 END ---------------------------------------------------------------------------------------------------------\n\n// A.10 END ----------------------------------------------------------------------------------------------------------\n\n// A.11 BUILDING HERO GALLERY OPEN/CLOSE\n\n// A.11.1 OPEN GALLERY\n\n// $(\".js--a-building-gallery\").click(function () {\n//   $(\".o-hero-image-carousel\").addClass(\"closed\");\n//   $(\".o-apartment-gallery\").addClass(\"open\");\n//   var owl = $(this).closest(\".o-block\").parent(\"div\").find(\".owl-carousel\");\n//   owl.trigger(\"to.owl.carousel\", [0, 0]);\n// });\n\n// A.11.1 END ---------------------------------------------------------------------------------------------------------\n\n// A.11.2 CLOSE GALLERY\n\n// $(\".js--a-building-gallery-close\").click(function () {\n//   $(\".o-hero-image-carousel\").removeClass(\"closed\");\n//   $(\".o-apartment-gallery\").removeClass(\"open\");\n//   var owl = $(this).closest(\".m-container\").prev(\".owl-carousel\");\n//   owl.trigger(\"to.owl.carousel\", [0, 0]);\n// });\n\n// A.11.2 END ---------------------------------------------------------------------------------------------------------\n\n// A.11 END ----------------------------------------------------------------------------------------------------------\n\n// A.12 TABS TRANSITION\n\n// $(\".o-tab .a-nav-link\").click(function () {\n//   if ($(this).attr(\"href\") == \"#available\") {\n//     $(\".a-scroll-line\").addClass(\"move\");\n//   } else {\n//     $(\".a-scroll-line\").removeClass(\"move\");\n//   }\n// });\n\n// A.12 END ----------------------------------------------------------------------------------------------------------\n\n// A.13 BODY LOADED --------------------------------------------------------------------------------------------------\n$(\"body\").addClass(\"loaded\");\n// A.13 END ----------------------------------------------------------------------------------------------------------\n\nvar queryVars = {};\nvar preFilter = false;\nif (document.location.search.trim() != \"\") {\n  jQuery.each(document.location.search.substr(1).split(\"&\"), function (c, q) {\n    var i = q.split(\"=\");\n    if (typeof i[1] !== \"undefined\") {\n      queryVars[i[0].toString()] = i[1].toString();\n    }\n  });\n  preFilter = typeof queryVars.qlbF !== \"undefined\" && !!queryVars.qlbF == true;\n}\n\n// localStorage.setItem(\"tipi-filters-limit\", \"6\");\n// A.14 RESET FILTERS ON SEARCH CTA ----------------------------------------------------------------------------------\n// $(\"a.a-find-a-home\").on(\"click\", function (e) {\n//   localStorage.setItem(\"tipi-filters-limit\", \"6\");\n//   var newFilters = {};\n//   newFilters = JSON.stringify(newFilters);\n//   localStorage.setItem(\"tipi-filters\", newFilters);\n//   var expireFilters = new Date(new Date().getTime() + 15 * 60000);\n//   localStorage.setItem(\"tipi-filters-expire\", expireFilters / 1);\n// });\n// A.14 END ----------------------------------------------------------------------------------------------------------\n// console.log('split1');\n\n// A.15 SET FILTERS ON SEARCH CTA BAR --------------------------------------------------------------------------------\n// $('.looking-for-cta button[type=\"submit\"]').on(\"click\", function (e) {\n//   var newFilters = {};\n//   $(this)\n//     .closest(\".looking-for-cta\")\n//     .find(\"select\")\n//     .each(function () {\n//       var value = $(this).val();\n//       if (value.length) {\n//         value = value.split(\"|\");\n//         newFilters[value[0]] = value[1] == \"true\" ? true : false;\n//       }\n//     });\n//   newFilters = JSON.stringify(newFilters);\n//   localStorage.setItem(\"tipi-filters\", newFilters);\n//   var expireFilters = new Date(new Date().getTime() + 15 * 60000);\n//   localStorage.setItem(\"tipi-filters-expire\", expireFilters / 1);\n//   localStorage.setItem(\"tipi-filters-lfcta\", true);\n// });\n\n// A.15 END ----------------------------------------------------------------------------------------------------------\n\n// A.16 SCROLL TO ON CONTENT WITH BACKGROUND PARAGRAPHS --------------------------------------------------------------\n// $(\".o-content-with-background a.a-link.scroll-to\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   var target = $($(this).attr(\"data-href\"));\n//   var dest = 0;\n//   if (target.offset().top > $(document).height() - $(window).height()) {\n//     dest = $(document).height() - $(window).height();\n//   } else {\n//     dest = target.offset().top;\n//   }\n//   // ensure we leave room for the main menu\n//   dest -= $(\".o-header.fixed-top\").outerHeight();\n//   //go to destination\n//   $(\"html,body\").animate({ scrollTop: dest }, 1000, \"swing\");\n//   return false;\n// });\n// A.16 END ----------------------------------------------------------------------------------------------------------\n// A.17 COOKIE MODULE ------------------------------------------------------------------------------------------------\n// setTimeout(function() {\n//   $('#ccc #ccc-module #ccc-content #cc-panel #ccc-end #ccc-dismiss-button').animate({opacity: 1}, 500);\n// }, 5000);\n// var sawCookies = TipiThemeGetCookie(\"cookieNotified\");\n// if (typeof sawCookies == \"undefined\") {\n//   var oneYearFromNow = new Date();\n//   oneYearFromNow.setFullYear(oneYearFromNow.getFullYear() + 1);\n//   $(\".o-cookie-notification a.a-cookie-close-link\").fadeOut(0);\n//   setTimeout(function () {\n//     $(\".o-cookie-notification\").animate({ right: \"0px\" }, 750);\n//   }, 250);\n//   setTimeout(function () {\n//     $(\".o-cookie-notification a.a-cookie-close-link\").fadeIn(750);\n//   }, 6000);\n//   $(\".o-cookie-notification a\").on(\"click\", function (e) {\n//     e.preventDefault();\n//     e.stopPropagation();\n//     document.cookie =\n//       \"cookieNotified=true; expires=\" +\n//       oneYearFromNow.toUTCString() +\n//       \"; path=/\";\n//     $(\".o-cookie-notification\").animate({ right: \"-500px\" }, 500);\n//     setTimeout(function () {\n//       $(\".o-cookie-notification\").remove();\n//     }, 750);\n//     return false;\n//   });\n// }\n\n// Add class to main navigation on development pages\nif (window.location.href.indexOf(\"development\") > -1) {\n  jQuery(\".m-main-menu li:first-child a\").addClass(\"is-active\");\n}\n// A.17 END ----------------------------------------------------------------------------------------------------------\n\n// A.17 SCROLL TO ON CONTENT WITH BACKGROUND PARAGRAPHS --------------------------------------------------------------\n// $('.o-webform .webform-button--submit.button.form-submit').on('click', function(e) {\n//   var foundErrors = false;\n//   $(this).closest('form').find('.required').each(function() {\n//     $(this).removeClass('error');\n//     $(this).find('input').removeClass('error');\n//     if (!$(this).val().length || ($(this).val() == 'Minimum' && $(this).hasClass('selecty')) || ($(this).val() == 'Maximum' && $(this).hasClass('selecty'))) {\n//       foundErrors = true;\n//       $(this).addClass('error');\n//       $(this).find('input').addClass('error');\n//     }\n//   });\n//   if (foundErrors) {\n//     $(this).closest('.o-webform').append('<div data-drupal-messages><div role=\"alert\"><ul><li>Please review the highlighted items below.</li></ul></div></div>');\n//     $(this).closest('.o-webform').on('click', context, function() {\n//       $(this).find('div[data-drupal-messages]').fadeOut(750, function() {\n//         $(this).remove();\n//       });\n//     });\n//   }\n// });\n// A.17 END ----------------------------------------------------------------------------------------------------------\n\n// A.18 WHO IS HERE ARTICLES - LOAD MORE --------------------------------------------------------------\n\n// $(\".a-load-more\").click(function (e) {\n//   e.preventDefault();\n//   $(\".o-who-is-here-articles\").addClass(\"load-more\");\n// });\n\n// A.18 END ----------------------------------------------------------------------------------------------------------\n\n// A.19 ARTICLE SELECTOR - LOAD MORE --------------------------------------------------------------\n\n// $('.a-read-more').click(function(e) {\n//   e.preventDefault();\n//   $('.o-article-selector').addClass('load-more');\n// });\n\n// A.19 END ----------------------------------------------------------------------------------------------------------\n\n// A.20 RELATED ARTICLES - LOAD MORE --------------------------------------------------------------\n\n// $(\".o-related-articles article\").slice(0, 3).show();\n// if ($(\".o-related-articles article:hidden\").length != 0) {\n//   $(\"#js--loadMore\").show();\n// }\n\n// $(\"#js--loadMore\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   $(\".o-related-articles article:hidden\").slice(0, 4).slideDown();\n//   if ($(\".o-related-articles article:hidden\").length == 0) {\n//     $(\"#js--loadMore\").fadeOut(\"slow\");\n//   }\n// });\n\n// A.20 END ----------------------------------------------------------------------------------------------------------\n\n// UNIT LEVEL FEATURES - LOAD MORE START --------------------------------------------------------------\n\n// var unitLevelFeatureCards = $(\n//   \".o-2021-units-page .m-unit-features .m-features\"\n// );\n\n// if (unitLevelFeatureCards.find(\".m-feature\").length > 8) {\n//   $(\".o-2021-units-page .m-unit-features\").append(\n//     \"<a class='a-cta _more' href='#'>View more</a>\"\n//   );\n// }\n\n// function hideUnitLevelFeatureCards() {\n//   $(\".o-2021-units-page .m-unit-features .m-features .m-feature\")\n//     .slice(0, 8)\n//     .addClass(\"shown\");\n//   $(\".o-2021-units-page .m-unit-features .m-features .m-feature\")\n//     .not(\".shown\")\n//     .hide();\n// }\n// hideUnitLevelFeatureCards();\n\n// $(\".o-2021-units-page .m-unit-features .a-cta._more\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   $(\".o-2021-units-page .m-unit-features .m-features .m-feature\")\n//     .not(\".shown\")\n//     .toggle(300);\n//   $(this).toggleClass(\"_showless\");\n//   if ($(this).hasClass(\"_showless\")) {\n//     $(this).text(\"View less\");\n//   } else {\n//     $(this).text(\"View more\");\n//   }\n// });\n// UNIT LEVEL FEATURES - LOAD MORE END --------------------------------------------------------------\n\n// 2021 BUILDING FEATURES - LOAD MORE START --------------------------------------------------------------\n\n// var buildingFeatureCards = $(\".o-building-features .m-features\");\n\n// if (buildingFeatureCards.find(\".m-feature\").length > 8) {\n//   $(\".o-building-features\").append(\n//     \"<a class='a-cta _more' href='#'>View more</a>\"\n//   );\n// }\n\n// function hideBuildingFeatureCards() {\n//   $(\".o-2021-units-page .m-unit-features .m-features .m-feature\")\n//     .slice(0, 8)\n//     .addClass(\"shown\");\n//   $(\".o-2021-units-page .m-unit-features .m-features .m-feature\")\n//     .not(\".shown\")\n//     .hide();\n// }\n// hideBuildingFeatureCards();\n\n// $(\".o-building-features .a-cta._more\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   $(\".o-building-features .m-feature\").not(\".shown\").toggle(300);\n//   $(this).toggleClass(\"_showless\");\n//   if ($(this).hasClass(\"_showless\")) {\n//     $(this).text(\"View less\");\n//   } else {\n//     $(this).text(\"View more\");\n//   }\n// });\n\n// 2021 BUILDING FEATURES - LOAD MORE END --------------------------------------------------------------\n\n// $('.m-card .a-copy').each(function() {\n//   $( this ).parent().addClass( \"a-expand\" );\n// });\n\n// A.20 BUILDING FEATURES MODAL + VIRTUAL TOUR ----------------------------------------------------------------------------------------------------------\n\n$(\n  \".o-marketing-page-hero .a-cta-left, .o-features .a-gallery, .a-building-gallery\"\n).on(\"click\", function (e) {\n  e.preventDefault();\n  $(\"body\").addClass(\"gallery-open\");\n  // if($('html').hasClass('mobile')){\n  // e.stopPropagation();\n  // var featuresContainer = $('.o-features');\n  // $('html,body').animate({scrollTop:featuresContainer.offset().top - $('.o-header').height()}, 1000,'swing');\n  // }\n  //else {\n  // var modalFeatures = $('.o-features .m-container-wrap').html();\n  // $('#o-features').on('shown.bs.modal', function() {\n  //  $('#o-features').find('.modal-body').html(modalFeatures);\n  //});\n  //}\n});\n\n$(\n  \"#o-gallery-marketing-modal, #o-gallery-apartment-features-modal, #o-gallery-building-features-modal, #o-gallery-unit-modal\"\n).on(\"hidden.bs.modal\", function (e) {\n  $(\"body\").removeClass(\"gallery-open\");\n  $(\"body\").removeClass(\"mobile-message\");\n});\n\n$(\".o-2021-modal\").on(\"shown.bs.modal\", function (e) {\n  $(\".b-lazy\").each(function () {\n    var img = $(this);\n    img.attr(\"src\", img.data(\"src\"));\n  });\n});\n\n// Show landscape suggestion popup on mobile START\n\nif (window.innerHeight > window.innerWidth) {\n  $(\n    \"#o-gallery-marketing-modal, #o-gallery-building-features-modal, #o-gallery-unit-modal\"\n  ).on(\"shown.bs.modal\", function (e) {\n    $(\"#o-mobile-message\").modal(\"show\");\n    $(\"body\").addClass(\"mobile-message\");\n  });\n\n  $(\"#o-mobile-message\").on(\"hidden.bs.modal\", function (e) {\n    $(\"body\").removeClass(\"mobile-message\");\n  });\n\n  $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n    \"right\",\n    \"0\"\n  );\n  $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n    \"top\",\n    \"0\"\n  );\n} else {\n  $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n    \"right\",\n    \"-15px\"\n  );\n  $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n    \"top\",\n    \"15px\"\n  );\n}\n\nwindow.addEventListener(\n  \"resize\",\n  function () {\n    // Get screen size (inner/outerWidth, inner/outerHeight)\n    if (window.innerHeight < window.innerWidth) {\n      $(\"#o-mobile-message\").modal(\"hide\");\n      $(\"body\").removeClass(\"mobile-message\");\n      $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n        \"right\",\n        \"-15px\"\n      );\n      $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n        \"top\",\n        \"15px\"\n      );\n    } else {\n      $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n        \"right\",\n        \"0\"\n      );\n      $(\".o-video .modal-dialog .modal-content .modal-header .close\").css(\n        \"top\",\n        \"0\"\n      );\n    }\n  },\n  false\n);\n\n// Show landscape suggestion popup on mobile END\n\n// $(\".o-marketing-page-hero .a-cta-right:not(.a-virtual-tour)\").on(\"click\", function(e) {\n// $(\".o-marketing-page-hero .a-cta-right.a-features\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   e.stopPropagation();\n//   var featuresContainer = $(\".o-features\");\n//   $(\"html,body\").animate(\n//     { scrollTop: featuresContainer.offset().top - $(\".o-header\").height() },\n//     1000,\n//     \"swing\"\n//   );\n// });\n\n// $(\".o-marketing-page-hero .a-cta-right:not(.a-features)\").on(\n//   \"click\",\n//   function (e) {\n//     e.preventDefault();\n//     e.stopPropagation();\n//     var dest = $(this).attr(\"href\");\n//     $(\"html,body\").animate(\n//       { scrollTop: $(dest).offset().top - $(\".o-header\").height() },\n//       1000,\n//       \"swing\"\n//     );\n//   }\n// );\n\n// $(\".o-scroll-to .a-scroll\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   e.stopPropagation();\n//   var dest = $(this).attr(\"href\");\n//   $(\"html,body\").animate(\n//     { scrollTop: $(dest).offset().top - $(\".o-header\").height() },\n//     1000,\n//     \"swing\"\n//   );\n// });\n\n// $(\".o-marketing-page-hero .a-cta-right\").on(\"click\", function(e) {\n//     e.preventDefault();\n//     e.stopPropagation();\n//     var virtualTourContainer = $('.virtual-tour-intro');\n//     $('html,body').animate({scrollTop:virtualTourContainer.offset().top - $('.o-header').height()}, 1000,'swing');\n// });\n\n// $(\".o-marketing-page-hero .a-cta-right.a-virtual-tour\").on(\n//   \"click\",\n//   function (e) {\n//     e.preventDefault();\n\n//     if ($(\"html\").hasClass(\"mobile\")) {\n//       e.stopPropagation();\n//       var virtualTourContainer = $(\".virtual-tour-intro\");\n//       $(\"html,body\").animate(\n//         {\n//           scrollTop:\n//             virtualTourContainer.offset().top - $(\".o-header\").height(),\n//         },\n//         1000,\n//         \"swing\"\n//       );\n//     } else {\n//       $(\"body\").addClass(\"o-virtual\");\n//       var modalTour = $(\".virtual-tour-frame\").html();\n//       $(\"#o-virtual-tour\").on(\"shown.bs.modal\", function () {\n//         $(\"#o-virtual-tour\").find(\".iframe-wrap\").html(modalTour);\n//       });\n//     }\n//   }\n// );\n\n// $(\"#o-virtual-tour .a-close\").on(\"click\", function (e) {\n//   $(\"body\").removeClass(\"o-virtual\");\n// });\n\n// $(\"#o-video-search\").on(\"shown.bs.modal\", function (e) {\n//   $(\"#o-video-search video\").get(0).play();\n// });\n\n// $(\"#o-video-search\").on(\"hidden.bs.modal\", function (e) {\n//   $(\"#o-video-search video\").get(0).pause();\n//   $(\"#o-video-search video\").get(0).currentTime = 0;\n// });\n\n// $(\"#o-video-features\").on(\"shown.bs.modal\", function (e) {\n//   $(\"#o-video-features video\").get(0).play();\n// });\n\n// $(\"#o-video-features\").on(\"hidden.bs.modal\", function (e) {\n//   $(\"#o-video-features video\").get(0).pause();\n//   $(\"#o-video-features video\").get(0).currentTime = 0;\n// });\n\n// $(\"#o-video-marketing\").on(\"shown.bs.modal\", function (e) {\n//   $(\"#o-video-marketing video\").get(0).play();\n// });\n\n// $(\"#o-video-marketing\").on(\"hidden.bs.modal\", function (e) {\n//   $(\"#o-video-marketing video\").get(0).pause();\n//   $(\"#o-video-marketing video\").get(0).currentTime = 0;\n// });\n\n// $(\"#o-seo-video\").on(\"shown.bs.modal\", function (e) {\n//   $(\"#o-seo-video video\").get(0).play();\n// });\n\n// $(\"#o-seo-video\").on(\"hidden.bs.modal\", function (e) {\n//   $(\"#o-seo-video video\").get(0).pause();\n//   $(\"#o-seo-video video\").get(0).currentTime = 0;\n// });\n\n// $(\"#o-2021-video-modal\").on(\"shown.bs.modal\", function (e) {\n//   $(\"#o-2021-video-modal video\").get(0).play();\n// });\n\n// $(\"#o-2021-video-modal\").on(\"hidden.bs.modal\", function (e) {\n//   $(\"#o-2021-video-modal video\").get(0).pause();\n//   $(\"#o-2021-video-modal video\").get(0).currentTime = 0;\n// });\n\n// $(\".o-2021-video._building-gallery\").on(\"shown.bs.modal\", function (e) {\n//   var videoId = \"#\" + this.id + \" video\";\n//   $(videoId).get(0).play();\n// });\n\n// $(\".o-2021-video._building-gallery\").on(\"hidden.bs.modal\", function (e) {\n//   var videoId = \"#\" + this.id + \" video\";\n//   $(videoId).get(0).pause();\n//   $(videoId).get(0).currentTime = 0;\n// });\n\n// $(\".o-video-component .a-video\").controls = false;\n\nsetTimeout(function () {\n  $(\".handle-a a\").each(function () {\n    if ($(this).attr(\"data-filter-on\") == \"true\") {\n      $(this).parents(\"li\").addClass(\"active\");\n    }\n  });\n}, 5);\n\n$(\".o-search-component .m-filters .handle-a a\").on(\"click\", function (e) {\n  var parent = $(this).parents(\"li\");\n\n  setTimeout(function () {\n    if (parent.find('a[data-filter-on=\"true\"]').length == 0) {\n      $(parent).removeClass(\"active\");\n    } else {\n      $(parent).addClass(\"active\");\n    }\n  }, 5);\n});\n\n// function windowWidth(maxLength) {\n//   var showChar = maxLength;\n//   var ellipsestext = \"...\";\n\n//   $(\".o-whats-coming .m-container .content-wrap .m-card .m-block .a-copy\").each(\n//     function () {\n//       var content = $(this).html();\n//       if (content.length > showChar) {\n//         var c = content.substr(0, showChar);\n//         var h = content;\n//         var html =\n//           '<div class=\"truncate-text\" style=\"display:block\">' +\n//           c +\n//           '<span class=\"moreellipses\">' +\n//           ellipsestext +\n//           '&nbsp;&nbsp;<a href=\"\" class=\"moreless more\">more</a></span></span></div><div class=\"truncate-text\" style=\"display:none\">' +\n//           h +\n//           '<a href=\"\" class=\"moreless less\">Less</a></span></div>';\n\n//         $(this).html(html);\n//       }\n//     }\n//   );\n\n//   $(\".moreless\").click(function () {\n//     var thisEl = $(this);\n//     var cT = thisEl.closest(\".truncate-text\");\n//     var tX = \".truncate-text\";\n\n//     if (thisEl.hasClass(\"less\")) {\n//       cT.prev(tX).toggle();\n//       cT.slideToggle();\n//     } else {\n//       cT.toggle();\n//       cT.next(tX).fadeToggle();\n//     }\n//     return false;\n//   });\n\n//   // $('.o-whats-coming .m-container .content-wrap .m-card .m-block .a-copy').each(function() {\n\n//   //     if($(this).text().length >= maxLength) {\n//   //         var text = $(this).text(),\n//   //         truncated = text.substr(0,maxLength) +\n//   //         '<span class=\"a-bold more\">...</span><span class=\"text\" style=\"display:none\">'+text.substr(maxLength)+'</span>';\n//   //         $(this).html(truncated);\n//   //     }\n\n//   //     $($(this) + ' .more').on('click', function(e) {\n//   //         console.log($(this));\n//   //     });\n//   // });\n// }\n\n// jQuery(\"#inTouch\").on(\"click\", function () {\n//   // jQuery('.communication-types').toggle('slow');\n\n//   if (jQuery(\"#inTouch\").is(\":checked\")) {\n//     jQuery(\".communication-types input\").prop(\"checked\", true);\n//   } else {\n//     jQuery(\".communication-types input\").prop(\"checked\", false);\n//   }\n// });\n\nfunction topFunction() {\n  jQuery(\"html, body\").animate({ scrollTop: 0 }, 500);\n}\n\njQuery(\".scroll-to-top\").on(\"click\", function () {\n  topFunction();\n});\n\nwindow.onscroll = function () {\n  scrollFunction();\n};\n\nfunction scrollFunction() {\n  if (\n    document.body.scrollTop > 350 ||\n    document.documentElement.scrollTop > 350\n  ) {\n    if (jQuery(\".scroll-to-top\").css(\"visibility\") == \"hidden\") {\n      jQuery(\".scroll-to-top\").css(\"visibility\", \"visible\");\n    }\n  } else {\n    jQuery(\".scroll-to-top\").css(\"visibility\", \"hidden\");\n  }\n}\n\nif (document.body.clientWidth < 992) {\n  jQuery(\".m-menu-items-right\").prepend('<div id=\"mobile-menu-call\"></div>');\n  jQuery(\".o-phone-menu\").appendTo(\"#mobile-menu-call\");\n}\n\n// function summarizeText() {\n//   if (document.body.clientWidth < 992) {\n//     windowWidth(10000);\n//   } else if (\n//     document.body.clientWidth >= 992 &&\n//     document.body.clientWidth < 1092\n//   ) {\n//     windowWidth(225);\n//   } else if (\n//     document.body.clientWidth >= 1092 &&\n//     document.body.clientWidth < 1200\n//   ) {\n//     windowWidth(265);\n//   } else if (\n//     document.body.clientWidth >= 1200 &&\n//     document.body.clientWidth < 1300\n//   ) {\n//     windowWidth(180);\n//   } else if (\n//     document.body.clientWidth >= 1300 &&\n//     document.body.clientWidth < 1450\n//   ) {\n//     windowWidth(200);\n//   } else if (\n//     document.body.clientWidth >= 1450 &&\n//     document.body.clientWidth < 1550\n//   ) {\n//     windowWidth(220);\n//   } else if (\n//     document.body.clientWidth >= 1550 &&\n//     document.body.clientWidth < 1650\n//   ) {\n//     windowWidth(230);\n//   } else if (\n//     document.body.clientWidth >= 1650 &&\n//     document.body.clientWidth < 1750\n//   ) {\n//     windowWidth(250);\n//   } else if (\n//     document.body.clientWidth >= 1750 &&\n//     document.body.clientWidth < 1850\n//   ) {\n//     windowWidth(285);\n//   } else if (\n//     document.body.clientWidth >= 1850 &&\n//     document.body.clientWidth < 1950\n//   ) {\n//     windowWidth(310);\n//   }\n// }\n\n// jQuery(window).on(\"load\", summarizeText);\n\n// A.20 END ----------------------------------------------------------------------------------------------------------\n\n// function scrollIt(destination, duration, easing, callback) {\n\n//   duration = 200;\n//   easing = 'linear';\n\n//   const easings = {\n//     linear(t) {\n//       return t;\n//     },\n//     easeInQuad(t) {\n//       return t * t;\n//     },\n//     easeOutQuad(t) {\n//       return t * (2 - t);\n//     },\n//     easeInOutQuad(t) {\n//       return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n//     },\n//     easeInCubic(t) {\n//       return t * t * t;\n//     },\n//     easeOutCubic(t) {\n//       return (--t) * t * t + 1;\n//     },\n//     easeInOutCubic(t) {\n//       return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n//     },\n//     easeInQuart(t) {\n//       return t * t * t * t;\n//     },\n//     easeOutQuart(t) {\n//       return 1 - (--t) * t * t * t;\n//     },\n//     easeInOutQuart(t) {\n//       return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t;\n//     },\n//     easeInQuint(t) {\n//       return t * t * t * t * t;\n//     },\n//     easeOutQuint(t) {\n//       return 1 + (--t) * t * t * t * t;\n//     },\n//     easeInOutQuint(t) {\n//       return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t;\n//     }\n//   };\n\n//   const start = window.pageYOffset;\n//   const startTime = 'now' in window.performance ? performance.now() : new Date().getTime();\n\n//   const documentHeight = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);\n//   const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;\n//   const destinationOffset = typeof destination === 'number' ? destination : destination.offsetTop;\n//   const destinationOffsetToScroll = Math.round(documentHeight - destinationOffset < windowHeight ? documentHeight - windowHeight : destinationOffset);\n\n//   if ('requestAnimationFrame' in window === false) {\n//     window.scroll(0, destinationOffsetToScroll);\n//     if (callback) {\n//       callback();\n//     }\n//     return;\n//   }\n\n//   function scroll() {\n//     const now = 'now' in window.performance ? performance.now() : new Date().getTime();\n//     const time = Math.min(1, ((now - startTime) / duration));\n//     const timeFunction = easings[easing](time);\n//     window.scroll(0, Math.ceil((timeFunction * (destinationOffsetToScroll - start)) + start));\n\n//     if (window.pageYOffset === destinationOffsetToScroll) {\n//       if (callback) {\n//         callback();\n//       }\n//       return;\n//     }\n\n//     requestAnimationFrame(scroll);\n//   }\n\n//   scroll();\n// }\n\n// A. END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nsetTimeout(function () {\n  if (window.location.hash == \"#open-form\") {\n    jQuery(\".a-btn-text\").click();\n  } else {\n    // Fragment doesn't exist\n  }\n}, 5);\n\n// console.log(module);\n// jQuery('.o-whats-coming .m-container .content-wrap .m-card .m-block .a-copy p').each(function(){\n//     console.log(jQuery(this));\n//     setTimeout(function(){\n//         $clamp(jQuery(this).html(), {\n//             clamp: 6\n//         });\n//     }, 5);\n// });\n\n// setTimeout(function(){\n//     if(jQuery('.m-sub-menu').find('.is-active').length !== 0) {\n//         var active_sub = jQuery('.m-sub-menu').find('.is-active');\n//         var li_men = jQuery(active_sub).parent();\n//         var ul_men = jQuery(li_men).parent();\n//         var main_li_men = jQuery(ul_men).parent();\n//         jQuery(main_li_men + ' a').addClass('is-active');\n//         console.log(active_sub);\n//     }\n// }, 5);\n\nvar getUrlParameter = function getUrlParameter(sParam) {\n  var sPageURL = window.location.search.substring(1),\n    sURLVariables = sPageURL.split(\"&\"),\n    sParameterName,\n    i;\n\n  for (i = 0; i < sURLVariables.length; i++) {\n    sParameterName = sURLVariables[i].split(\"=\");\n\n    if (sParameterName[0] === sParam) {\n      return sParameterName[1] === undefined\n        ? true\n        : decodeURIComponent(sParameterName[1]);\n    }\n  }\n};\n\nfunction getCookie(cname) {\n  var name = cname + \"=\";\n  var decodedCookie = decodeURIComponent(document.cookie);\n  var ca = decodedCookie.split(\";\");\n  for (var i = 0; i < ca.length; i++) {\n    var c = ca[i];\n    while (c.charAt(0) == \" \") {\n      c = c.substring(1);\n    }\n    if (c.indexOf(name) == 0) {\n      return c.substring(name.length, c.length);\n    }\n  }\n  return \"\";\n}\n\nvar urlparAlt =\n  getUrlParameter(\"outm_source\") + \",\" + getUrlParameter(\"outm_medium\");\nvar urlpar =\n  getUrlParameter(\"utm_source\") + \",\" + getUrlParameter(\"utm_medium\");\n\nvar utmcookie = getCookie(\"utmcook\");\n\n// console.log('utmcookie',utmcookie);\n// console.log('urlPar',urlpar);\n// console.log('urlparAlt', urlparAlt);\n\nvar expireCookie = new Date();\nvar expireMinutes = 30;\nexpireCookie.setTime(expireCookie.getTime() + expireMinutes * 60 * 1000);\n\n// do we have url params\nif (urlpar.length > 0 && urlpar.indexOf(\"undefined,undefined\") == -1) {\n  // console.log('urlpar');\n  // do we have an existing cookie that's different from our new value\n  if (utmcookie.length > 0 && utmcookie != urlpar) {\n    // console.log('utmcookie.length && utmcookie != urlpar');\n    document.cookie =\n      \"utmcook=\" + urlpar + \";expires=\" + expireCookie.toUTCString();\n    localStorage.setItem(\"usersrc\", urlpar);\n  } else if (utmcookie.length > 0) {\n    localStorage.setItem(\"usersrc\", utmcookie);\n  }\n  var testSrc = localStorage.getItem(\"usersrc\");\n  if (testSrc === null) {\n    localStorage.setItem(\"usersrc\", urlpar);\n    document.cookie =\n      \"utmcook=\" + urlpar + \";expires=\" + expireCookie.toUTCString();\n  }\n} else if (\n  urlparAlt.length > 0 &&\n  urlparAlt.indexOf(\"undefined,undefined\") == -1\n) {\n  // console.log('else urlparAlt');\n  // do we have an existing cookie\n  if (utmcookie.length > 0 && utmcookie != urlparAlt) {\n    // console.log('utmcookie.length && utmcookie != urlparAlt');\n    document.cookie =\n      \"utmcook=\" + urlparAlt + \";expires=\" + expireCookie.toUTCString();\n    localStorage.setItem(\"usersrc\", urlparAlt);\n  } else if (utmcookie.length > 0) {\n    localStorage.setItem(\"usersrc\", utmcookie);\n  }\n  var testSrc = localStorage.getItem(\"usersrc\");\n  if (testSrc === null) {\n    localStorage.setItem(\"usersrc\", urlparAlt);\n    document.cookie =\n      \"utmcook=\" + urlparAlt + \";expires=\" + expireCookie.toUTCString();\n  }\n} else {\n  // console.log('else');\n  // do we have an existing cookie\n  if (utmcookie.length === 0) {\n    // console.log('utmcookie.length == 0');\n    var cookieval = getCookie(\"__adal_ca\");\n    if (cookieval.length > 0) {\n      var cookstrings = JSON.stringify(cookieval);\n      var splitter = cookstrings.split(\"&\");\n      var cookiesrc = splitter[0].split(\"=\");\n      var cookiemed = splitter[1].split(\"=\");\n      var combcookie = cookiesrc[1] + \",\" + cookiemed[1];\n      document.cookie =\n        \"utmcook=\" + combcookie + \";expires=\" + expireCookie.toUTCString();\n      localStorage.setItem(\"usersrc\", combcookie);\n    } else {\n      localStorage.setItem(\"usersrc\", \"direct,none\");\n    }\n  } else {\n    localStorage.setItem(\"usersrc\", utmcookie);\n  }\n}\n\n// if (utmcookie.length > 0) {\n// } else {\n//   var now = new Date();\n//   var minutes = 30;\n//   now.setTime(now.getTime() + (minutes * 60 * 1000));\n//\n//   if(urlpar.length > 0) {\n//     if (urlpar.indexOf(\"undefined,undefined\") >= 0) {\n//       var cookieval = getCookie('__adal_ca');\n//       if(cookieval.length > 0) {\n//         var cookstrings = JSON.stringify(cookieval);\n//         var splitter = cookstrings.split(\"&\");\n//         var cookiesrc = splitter[0].split(\"=\");\n//         var cookiemed = splitter[1].split(\"=\");\n//         var combcookie = cookiesrc[1] + ',' + cookiemed[1];\n//         document.cookie = \"utmcook=\"+combcookie+\";expires=\"+now.toUTCString();\n//       }\n//     } else {\n//       document.cookie = \"utmcook=\"+urlpar+\";expires=\"+now.toUTCString();\n//     }\n//   }\n//\n// }\n\n// setTimeout(function () {\n// console.log(\"HERE\");\n// var lastVisit = localStorage.getItem('lastvisit');\n// localStorage.setItem('lastvisit', new Date().getTime());\n// var userSrc = localStorage.getItem(\"usersrc\");\n// jQuery('[name=\"custom_source\"]').each(function () {\n//   jQuery(this).val(userSrc);\n// });\n// 3600 * 1000 = 1 hour since last visit\n// var newVisit = userSrc === null || userSrc.trim() === '' || lastVisit === null || new Date().getTime() - lastVisit > (3600 * 1000);\n// console.log('newVisit', newVisit);\n// console.log(utmcookie);\n// console.log(utmcookie.indexOf(\"undefined\") >= 0);\n// if (utmcookie.indexOf(\"undefined\") >= 0) {\n//   jQuery('[name=\"custom_source\"]').each(function () {\n//     if (urlparAlt.length > 0 && urlparAlt.indexOf(\"undefined,undefined\") == -1) {\n//       jQuery(this).val(urlparAlt);\n//     }\n//     else {\n//       jQuery(this).val(urlpar);\n//     }\n//     // if (newVisit) {\n//     //   localStorage.setItem('usersrc', urlpar);\n//     // }\n//   });\n// }\n// else {\n//   jQuery('[name=\"custom_source\"]').each(function () {\n//     jQuery(this).val(utmcookie);\n//     // if (newVisit) {\n//     //   localStorage.setItem('usersrc', utmcookie);\n//     // }\n//   });\n// }\n// }, 2000);\n\n// @TODO REMOVE THIS ONCE THE CALENDARS ARE MOVED TO THEIR INDIVIDUAL SCREENS JS FILES\n// jQuery(\".slot\").on(\"click\", function () {\n//   jQuery(\".timeslots .slot\").removeClass(\"active-slot\");\n//   jQuery(this).addClass(\"active-slot\");\n// });\n\n// jQuery(\".parking-item\").on(\"click\", function () {\n//   jQuery(\".parking-selector .parking-item\").removeClass(\"active-parking-item\");\n//   jQuery(this).addClass(\"active-parking-item\");\n// });\n\n// jQuery(\".selected-pet-quant\").on(\"click\", function (e) {\n//   var selector = jQuery(this).parent().find(\".pet-quant-select\");\n//   jQuery(selector).show();\n// });\n\n// jQuery(\".pet-quant-select li\").on(\"click\", function (e) {\n//   var container = jQuery(\".pet-quant-select\");\n//   var selectorVal = jQuery(this).attr(\"data-value\");\n//   var selectorTextVal = jQuery(this).text();\n//   var quantitytoUpdate = jQuery(this)\n//     .parent()\n//     .parent()\n//     .find(\".selected-pet-quant\");\n//   jQuery(quantitytoUpdate).text(selectorTextVal);\n//   jQuery(quantitytoUpdate).attr(\"data-pet-amount\", selectorVal);\n//   // console.log(selectorVal);\n//   jQuery(this).parent().css(\"display\", \"none\");\n\n//   if (selectorVal > 0) {\n//     jQuery(quantitytoUpdate).addClass(\"selected\");\n//   } else {\n//     jQuery(quantitytoUpdate).removeClass(\"selected\");\n//   }\n\n//   jQuery(\".cat-price\").text(jQuery(\".amountCat\").attr(\"data-pet-amount\"));\n//   jQuery(\".small-animal-price\").text(\n//     jQuery(\".amountSmall\").attr(\"data-pet-amount\")\n//   );\n//   jQuery(\".dog-price\").text(jQuery(\".amoutDog\").attr(\"data-pet-amount\"));\n// });\n\n// jQuery(document).mouseup(function (e) {\n//   var container = jQuery(\".pet-quant-select\");\n\n//   // if the target of the click isn't the container nor a descendant of the container\n//   if (!container.is(e.target) && container.has(e.target).length === 0) {\n//     container.hide();\n//   }\n// });\n\n// jQuery(\".cancel-process\").on(\"click\", function (e) {\n//   jQuery(\"#reserveModal .close\").click();\n//   jQuery(\".o-reserve-process .reservation-step-holder-item\").hide();\n//   jQuery(\".book-a-viewing-date\").show();\n// });\n\njQuery(\"#reserveModal .close\").on(\"click\", function (e) {\n  jQuery(\".o-reserve-process .reservation-step-holder-item\").hide();\n  jQuery(\".book-a-viewing-date\").show();\n});\n\n// jQuery(\".show-acc-create\").on(\"click\", function (e) {\n//   jQuery(\".o-reserve-process .reservation-step-holder-item\").hide();\n//   jQuery(\".o-create-account-tipi\").show();\n// });\n\n// jQuery('.save-profile').on('click', function(e) {\n//\n//   var validation = validate_acc_edit();\n//   if (validation) {\n//     SaveAccDetails();\n//   }\n// });\n\n// jQuery(\".show-step-one\").on(\"click\", function (e) {\n//   var validation = validate_acc_creation_popup();\n\n//   if (validation == true) {\n//     if (window.location.pathname.indexOf(\"viewing\") >= 0) {\n//       create_lead_on_register(\"booking\");\n//     } else if (window.location.pathname.indexOf(\"reserve\") >= 0) {\n//       create_lead_on_register(\"reservation\");\n//     }\n//   }\n// });\n\n// jQuery('.show-step-two').on('click', function(e){\n//   var day = jQuery('#reserve-calendar').datepicker('getDate').getDate();\n//   var month = jQuery('#reserve-calendar').datepicker('getDate').getMonth() + 1;\n//   var year = jQuery('#reserve-calendar').datepicker('getDate').getFullYear();\n//\n//   var reservationDate = day+\" \"+month+\" \"+year;\n//   var leaseTerm = jQuery('.active-term strong').text();\n//\n//   var reservationStepOne = { 'reservationDate': reservationDate,  'leaseTerm':leaseTerm};\n//\n//   // Put the object into storage\n//   localStorage.setItem('reservationStepOne', JSON.stringify(reservationStepOne));\n//\n//   get_ancilliries();\n//\n// });\n\n// jQuery('.show-payment-step').on('click', function(e){\n//   jQuery('.o-reserve-process .reservation-step-holder-item').hide('slow');\n//   jQuery('.o-reserve-payment-step').show('slow');\n//\n//   var selectedParking = jQuery('.active-parking-item strong').text();\n//   var animalsDog = jQuery('.amoutDog').text().split('');\n//   var animalsCat = jQuery('.amountCat').text().split('');\n//   var animalsSmall = jQuery('.amountSmall').text().split('');\n//\n//   var reservationStepTwo = { 'selectedParking': selectedParking,  'animalsDog':animalsDog[0], 'animalsCat':animalsCat[0], 'animalsSmall':animalsSmall[0] };\n//\n//   localStorage.setItem('reservationStepTwo', JSON.stringify(reservationStepTwo));\n//\n//   var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n//   var StepOne = JSON.parse(localStorage.getItem('reservationStepOne'));\n//   var StepTwo = JSON.parse(localStorage.getItem('reservationStepTwo'));\n//\n//   // jQuery('.selected-apartment-details .unit-name').text(flowObject['unitNumber']+\" \"+flowObject['unitBuilding']);\n//   // jQuery('.selected-apartment-details .unit-price strong').text(\"£\"+flowObject['unitRent']);\n//   if(StepTwo['animalsDog'] === '0') {\n//     dogs = '';\n//   } else {\n//     if (StepTwo['animalsDog'] > 1) {\n//       var dogString = \" Dogs \";\n//     } else {\n//       var dogString = \" Dog \";\n//     }\n//     var dogs = \" | \"+StepTwo['animalsDog']+ dogString;\n//   }\n//\n//   if(StepTwo['animalsCat'] === '0') {\n//     cats = '';\n//   } else {\n//     if (StepTwo['animalsCat'] > 1) {\n//       var catString = \" Cats \";\n//     } else {\n//       var catString = \" Cat \";\n//     }\n//     var cats = \" | \"+StepTwo['animalsCat']+catString;\n//   }\n//\n//   if(StepTwo['animalsSmall'] === '0') {\n//     smallanimals = '';\n//   } else {\n//     if (StepTwo['animalsSmall'] > 1) {\n//       var smlAnimalString = \" Small Animals \";\n//     } else {\n//       var smlAnimalString = \" Small Animal \";\n//     }\n//     var smallanimals = \" | \"+StepTwo['animalsSmall'] + smlAnimalString;\n//   }\n//\n//\n//   jQuery('.selected-apartment-details .unit-specs').text(flowObject['unitBeds']+\" | \"+flowObject['unitFurn']+\" | \"+flowObject['unitSize']+\"sqm \"+cats+dogs+smallanimals+\" | \"+StepTwo['selectedParking']);\n//   // jQuery('.selected-apartment-image').css('background-image', 'url(' + flowObject['unitImage'] + ')');\n// });\n\n// jQuery('.show-viewing-confirmation').on('click', function(e){\n//\n//   var day = jQuery('#book-a-viewing-calendar').datepicker('getDate').getDate();\n//   var month = jQuery('#book-a-viewing-calendar').datepicker('getDate').getMonth() + 1;\n//   var year = jQuery('#book-a-viewing-calendar').datepicker('getDate').getFullYear();\n//\n//   if(month < 10) {\n//     var newmonth = '0'+month;\n//   } else {\n//     var newmonth = month;\n//   }\n//\n//\n//   var viewingDate = day+\" \"+newmonth+\" \"+year;\n//   var timeSlot = jQuery('.active-slot').text();\n//   var viewingPref = jQuery('input[name=\"viewing-method\"]:checked').val();\n//   var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n//   var viewingDataObject = { 'viewingDate': viewingDate,  'timeSlot':timeSlot,  'viewingPref':viewingPref};\n//\n//   // Put the object into storage\n//   localStorage.setItem('viewingDataObject', JSON.stringify(viewingDataObject));\n//\n//   // D d M Y\n//   $.post(\n//     '/olj-date',\n//     {\n//       Date: year+'-'+newmonth+'-'+day ,\n//       Format: 'D d M Y'\n//     },\n//     function(data) {\n//       jQuery('.confirmation-message .selected-date').text(data.date);\n//     }\n//   );\n//   jQuery('.confirmation-message .selected-timeslot').text(timeSlot);\n//   createBooking();\n//\n// });\n\n// jQuery('.show-res-confirmed').on('click', function(e){\n// var validation = validate_booking_terms();\n// if (validation) {\n// var flowObject = JSON.parse(localStorage.getItem('flowObject'));\n// jQuery('.desktop-right-column .unit-image').css('background-image', 'url(' + flowObject['unitImage'] + ')');\n// jQuery('.left-col-desltop .unit-image').css('background-image', 'url(' + flowObject['unitImage'] + ')');\n// reserve_unit();\n// });\n\n//Reservation Flow Object\n\njQuery(\".data-flow\").on(\"click\", function () {\n  var flowType = jQuery(this).attr(\"data-flow\");\n  var unitSize = jQuery(this).attr(\"data-unit-size\");\n  var unitRent = jQuery(this).attr(\"data-unit-rent\");\n  var unitFurn = jQuery(this).attr(\"data-unit-furnished\");\n  var unitBeds = jQuery(this).attr(\"data-unit-beds\");\n  var unitImage = jQuery(this).attr(\"data-unit-image\");\n  var unitName = jQuery(this).attr(\"data-unit-name\");\n  var unitNID = jQuery(this).attr(\"data-nid\");\n\n  var r = /\\d+/;\n  var str = unitName;\n  var x = $.trim(str.match(r).toString());\n  var str_split = str.split(x);\n  var arr = [];\n  $.each(str_split, function (i, val) {\n    arr.push($.trim(val));\n    arr.push(x.toString());\n  });\n  arr.pop();\n\n  var flowObject = {\n    flowType: flowType,\n    unitSize: unitSize,\n    unitRent: unitRent,\n    unitFurn: unitFurn,\n    unitBeds: unitBeds,\n    unitImage: unitImage,\n    unitNumber: arr[1],\n    unitBuilding: arr[2],\n    unitNid: unitNID,\n  };\n\n  // Put the object into storage\n  localStorage.setItem(\"flowObject\", JSON.stringify(flowObject));\n\n  user_status_check();\n});\n\njQuery(\".building\").hover(function () {\n  jQuery(this).toggleClass(\"open-building\");\n});\n\n// jQuery(\".show-acc-res\").on(\"click\", function () {\n//   jQuery(\".m-profile-blob\").show();\n//   jQuery(\".m-upcommings-viewing\").hide();\n//   jQuery(\".m-find-a-home\").hide();\n//   jQuery(\".m-edit-profile\").hide();\n//   jQuery(\".m-finalize-reservation\").show();\n// });\n\n// jQuery(\".show-viewing-res\").on(\"click\", function () {\n//   jQuery(\".m-profile-blob\").show();\n//   jQuery(\".m-upcommings-viewing\").show();\n//   jQuery(\".m-find-a-home\").hide();\n//   jQuery(\".m-edit-profile\").hide();\n//   jQuery(\".m-finalize-reservation\").hide();\n// });\n\n// jQuery(\".show-acc-find-home\").on(\"click\", function () {\n//   jQuery(\".m-profile-blob\").show();\n//   jQuery(\".m-upcommings-viewing\").hide();\n//   jQuery(\".m-find-a-home\").show();\n//   jQuery(\".m-edit-profile\").hide();\n//   jQuery(\".m-finalize-reservation\").hide();\n// });\n\n// jQuery(\".show-acc-edit\").on(\"click\", function () {\n//   jQuery(\".m-profile-blob\").hide();\n//   jQuery(\".m-upcommings-viewing\").hide();\n//   jQuery(\".m-find-a-home\").hide();\n//   jQuery(\".m-edit-profile\").show();\n//   jQuery(\".m-finalize-reservation\").hide();\n// });\n\n// jQuery(\".info-icon\").on(\"click\", function () {\n//   jQuery(\".info-icon-content\").hide(\"slow\");\n//   var infocontent = jQuery(this).find(\".info-icon-content\");\n//   jQuery(infocontent).toggle(\"slow\");\n// });\n\n// jQuery(document).mouseup(function (e) {\n//   var container = jQuery(\".info-icon\");\n\n//   // if the target of the click isn't the container nor a descendant of the container\n//   if (!container.is(e.target) && container.has(e.target).length === 0) {\n//     jQuery(\".info-icon-content\").hide(\"slow\");\n//   }\n// });\n\njQuery(\"#auth0-login-container\").on(\"DOMNodeInserted\", function (e) {\n  // console.log('button is ready');\n\n  if (\n    jQuery(\n      \"button[data-provider=google-oauth2] .auth0-lock-social-button-text\"\n    ).text() === \"Log in with Google\"\n  ) {\n    jQuery(\n      \"button[data-provider=google-oauth2] .auth0-lock-social-button-text\"\n    ).text(\"Continue with Google\");\n  }\n\n  if (\n    jQuery(\n      \"button[data-provider=facebook] .auth0-lock-social-button-text\"\n    ).text() === \"Log in with Facebook\"\n  ) {\n    jQuery(\n      \"button[data-provider=facebook] .auth0-lock-social-button-text\"\n    ).text(\"Continue with Facebook\");\n  }\n\n  if (\n    jQuery(\n      \"button[data-provider=apple] .auth0-lock-social-button-text\"\n    ).text() === \"Log in with Apple\"\n  ) {\n    jQuery(\"button[data-provider=apple] .auth0-lock-social-button-text\").text(\n      \"Continue with Apple\"\n    );\n  }\n});\n\nsetTimeout(function () {\n  jQuery(\".auth0-lock-form\").find('.auth-lock-social-buttons-pane').siblings().remove();\n  jQuery(\".auth0-lock-widget-container\").find('.auth0-lock-submit').remove();\n}, 3000);\n// if (document.getElementById('book-a-viewing-calendar')) {\n//   jQuery( \"#book-a-viewing-calendar\" ).datepicker({\n//     minDate: 3,\n//     onSelect: function(dateText) {\n//       var splitter = this.value.split(\"/\");\n//       var oljdate = splitter[2]+'-'+splitter[0]+'-'+splitter[1];\n//       get_booking_avail_slot(oljdate);\n//       jQuery('body').addClass('calendar-loaded');\n//       jQuery('.book-a-viewing-date .book-a-viewing-info .generic-validation').remove();\n//     }\n//   });\n// } else {\n//   // do stuff\n// }\n\n// A.21 STICKY HEADER START ----------------------------------------------------------------------------------------------------------\nvar stickyOffset = $(\".o-header\").offset().top,\n  sticky = $(\".o-header\");\nif ($(\".o-header\").length) {\n  if (\n    $(\"body\").hasClass(\"adminimal-admin-toolbar\") &&\n    !$(\"body\").hasClass(\"toolbar-tray-open\")\n  ) {\n    stickyOffset -= 39;\n  } else if (\n    $(\"body\").hasClass(\"adminimal-admin-toolbar\") &&\n    $(\"body\").hasClass(\"toolbar-tray-open\")\n  ) {\n    stickyOffset -= 79;\n  }\n}\n$(window)\n  .on(\"resize\", function () {\n    if ($(\".o-header\").length) {\n      $(window).scroll(function () {\n        var scroll = $(window).scrollTop();\n        if (scroll > stickyOffset) {\n          $(\"html\").addClass(\"fixed-nav\");\n          sticky.addClass(\"fixed-top\");\n        } else {\n          $(\"html\").removeClass(\"fixed-nav\");\n          sticky.removeClass(\"fixed-top\");\n        }\n      });\n    }\n    if ($(\".o-2021-image-carousel\").length) {\n      var imageCarousel = $(\".o-2021-image-carousel\");\n      var scrolled = false;\n      $(window).scroll(function () {\n        var top_of_element = imageCarousel.offset().top;\n        var bottom_of_element =\n          imageCarousel.offset().top + imageCarousel.outerHeight();\n        var bottom_of_screen = $(window).scrollTop() + $(window).innerHeight();\n        var top_of_screen = $(window).scrollTop();\n        if (\n          bottom_of_screen > top_of_element &&\n          top_of_screen < bottom_of_element &&\n          !scrolled\n        ) {\n          scrolled = true;\n          setTimeout(function () {\n            $(\".o-2021-image-carousel .m-2021-image-carousel\").trigger(\n              \"next.owl\"\n            );\n          }, 350);\n        }\n      });\n    }\n  })\n  .resize();\n\n// A.21 END ----------------------------------------------------------------------------------------------------------\n\n// 2021 STICKY UNIT PAGE DETAIL CONTROLS START\n\nvar $sticky = $(\".m-block._mobile\");\nvar $scrollToTop = $(\".scroll-to-top\");\nif ($sticky.length && window.innerWidth < 768) {\n  var stickytop = $(window).height() + 80; // $sticky.offset().top;\n\n  $(window).scroll(function () {\n    var scroll = $(window).scrollTop() + $(window).height();\n\n    if (scroll >= stickytop) {\n      $sticky.addClass(\"sticky\");\n      $scrollToTop.css(\"bottom\", \"105px\");\n    } else {\n      $sticky.removeClass(\"sticky\");\n      $scrollToTop.css(\"bottom\", \"5%\");\n    }\n  });\n}\n\n// 2021 STICKY UNIT PAGE DETAIL CONTROLS END\n\n// A.22 LOAD BLAZY PLUGIN ----------------------------------------------------------------------------------------------------------\n\nvar bLazy = new Blazy({\n  breakpoints: [\n    {\n      width: 767, // max-width\n      src: \"data-src-small\",\n    },\n    {\n      width: 768, // max-width\n      src: \"data-src-medium\",\n    },\n  ],\n});\n\njQuery(\".owl-carousel\").on(\"changed.owl.carousel\", bLazy.revalidate);\n\n$(\".o-2021-building-gallery .m-thumbnail\").click(function () {\n  bLazy.revalidate();\n});\n// A.22 END ----------------------------------------------------------------------------------------------------------\n\n// A.23 READ MORE/LESS START ----------------------------------------------------------------------------------------------------------\nvar maxHeight;\nfunction showReadMore() {\n  $this = jQuery(\".m-copy-wrap .m-copy\");\n  var benefitCount = jQuery(\n    \".o-seo-benefits-listing .m-block-wrap .m-block\"\n  ).length;\n  if ($this) {\n    jQuery(\".m-copy-wrap .m-copy\").each(function () {\n      var parent = jQuery(this).parent();\n      var cta = parent.next();\n      if (jQuery($this).height() > jQuery($this).parent().height()) {\n        cta.css({ display: \"inline-block\" });\n      } else {\n        cta.css({ display: \"none\" });\n      }\n    });\n  }\n  if (benefitCount > 4) {\n    var count = 0;\n    var wrapper = jQuery(\".o-seo-benefits-listing .m-block-wrap\");\n    jQuery(\".o-seo-benefits-listing .m-cta-wrap\").addClass(\"show\");\n    if (jQuery(window).width() <= 767) {\n      maxHeight =\n        jQuery(\".o-seo-benefits-listing .m-block-wrap .m-block\").innerHeight() *\n        2;\n    } else {\n      maxHeight = jQuery(\n        \".o-seo-benefits-listing .m-block-wrap .m-block\"\n      ).innerHeight();\n    }\n    wrapper.css(\"max-height\", maxHeight);\n  }\n}\nshowReadMore();\njQuery(window).on(\"load\", function () {\n  showReadMore();\n});\n\njQuery(\".o-seo-benefits-listing .a-cta\").on(\"click\", function (e) {\n  e.preventDefault();\n  if (jQuery(this).text() == \"Show me more\") {\n    //   //jQuery(\"#expand-copy\").removeAttr('id');\n    jQuery(this).text(\"Show me less\");\n    jQuery(this).removeClass(\"_down-arrow\");\n    jQuery(this).addClass(\"_up-arrow\");\n    jQuery(\".o-seo-benefits-listing .m-block-wrap\").css(\n      \"max-height\",\n      \"inherit\"\n    );\n  } else {\n    jQuery(this).text(\"Show me more\");\n    jQuery(this).addClass(\"_down-arrow\");\n    jQuery(this).removeClass(\"_up-arrow\");\n    jQuery(\".o-seo-benefits-listing .m-block-wrap\").css(\n      \"max-height\",\n      maxHeight\n    );\n  }\n});\n\njQuery(\".js--show-more\").on(\"click\", function (e) {\n  e.preventDefault();\n  var copy = jQuery(this).prev();\n  //jQuery(this).text((jQuery(this).text() == 'Show me more') ? 'Show me less' : 'Show me more');\n  if (jQuery(this).text() == \"Show me more\") {\n    //   //jQuery(\"#expand-copy\").removeAttr('id');\n    jQuery(this).text(\"Show me less\");\n    jQuery(this).removeClass(\"_down-arrow\");\n    jQuery(this).addClass(\"_up-arrow\");\n    copy.addClass(\"open\");\n  } else {\n    jQuery(this).text(\"Show me more\");\n    jQuery(this).addClass(\"_down-arrow\");\n    jQuery(this).removeClass(\"_up-arrow\");\n    copy.removeClass(\"open\");\n  }\n});\n\n// A.23 END ----------------------------------------------------------------------------------------------------------\n\n// A.24 SEO HEADER SLIDER START ----------------------------------------------------------------------------------------------------------\n\njQuery(\".o-seo-page-hero .m-cta-wrap .a-cta[href*='#']\").each(function () {\n  jQuery(this).addClass(\"_down-arrow\");\n  jQuery(this).on(\"click\", function (e) {\n    e.preventDefault();\n    e.stopPropagation();\n    var dest = jQuery(this).attr(\"href\");\n    jQuery(\"html,body\").animate(\n      { scrollTop: $(dest).offset().top - $(\".o-header\").height() },\n      1000,\n      \"swing\"\n    );\n  });\n});\n\n// A.24 END ----------------------------------------------------------------------------------------------------------\n\n// A.25 EQUAL HEIGHTS START ----------------------------------------------------------------------------------------------------------\n\nvar equalheight;\nequalheight = function (container) {\n  var currentTallest = 0,\n    currentRowStart = 0,\n    topPosition = 0,\n    currentDiv = 0,\n    rowDivs = [],\n    $el;\n  $(container).each(function () {\n    $el = $(this);\n    $($el).height(\"auto\");\n    topPosition = $el.position().top;\n\n    if (currentRowStart !== topPosition) {\n      for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {\n        rowDivs[currentDiv].height(currentTallest);\n      }\n      rowDivs.length = 0; // empty the array\n      currentRowStart = topPosition;\n      currentTallest = $el.height();\n      rowDivs.push($el);\n    } else {\n      rowDivs.push($el);\n      currentTallest =\n        currentTallest < $el.height() ? $el.height() : currentTallest;\n    }\n    for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {\n      rowDivs[currentDiv].height(currentTallest);\n    }\n  });\n};\nvar textLength = 0;\nif (jQuery(window).width() > 767 && jQuery(window).width() < 1024) {\n  textLength = 75;\n} else if (jQuery(window).width() >= 1024 && jQuery(window).width() < 1100) {\n  textLength = 60;\n} else if (jQuery(window).width() >= 1100 && jQuery(window).width() < 1200) {\n  textLength = 55;\n} else if (jQuery(window).width() >= 1200) {\n  textLength = 95;\n}\n\nif (jQuery(window).width() > 767) {\n  jQuery(\".o-seo-landing-page-widgets .m-body .a-copy\").each(function () {\n    var title = jQuery(this).text();\n    if (title.length > textLength) {\n      var shortText =\n        jQuery\n          .trim(title)\n          .substring(0, textLength)\n          .split(\" \")\n          .slice(0, -1)\n          .join(\" \") + \"...\";\n      jQuery(this).text(shortText);\n    }\n  });\n}\n\n// 2021 - Homeviews carousel character limit START\nvar homeviewsTitleLength = 200;\nvar homeviewsDescriptionLength = 200;\njQuery(\".o-2021-homeviews-carousel .m-body .a-title\").each(function () {\n  var title = jQuery(this).text();\n  if (title.length > homeviewsTitleLength) {\n    var shortText =\n      jQuery\n        .trim(title)\n        .substring(0, homeviewsTitleLength)\n        .split(\" \")\n        .slice(0, -1)\n        .join(\" \") + \"...\";\n    jQuery(this).text(shortText);\n  }\n});\njQuery(\".o-2021-homeviews-carousel .m-body .a-copy\").each(function () {\n  var title = jQuery(this).text();\n  if (title.length > homeviewsDescriptionLength) {\n    var shortText =\n      jQuery\n        .trim(title)\n        .substring(0, homeviewsDescriptionLength)\n        .split(\" \")\n        .slice(0, -1)\n        .join(\" \") + \"...\";\n    jQuery(this).text(shortText);\n  }\n});\n// 2021 - Homeviews carousel character limit END\n\njQuery(window).on(\"load\", function () {\n  if (jQuery(window).width() > 767) {\n    equalheight(\".o-seo-landing-page-widgets .m-card .m-body\");\n    equalheight(\".o-apartment-listing .o-unit-card .m-card-body\");\n    // equalheight(\".o-grid-apartments .m-card .m-body\");\n  }\n  equalheight(\n    \".o-dashboard-viewings .m-cards._multiple .o-unit-card .m-card-body\"\n  );\n});\n\nvar resizeTimer;\n$(window).resize(function () {\n  clearTimeout(resizeTimer);\n  resizeTimer = setTimeout(function () {\n    if (window.innerWidth > 767) {\n      equalheight(\".o-seo-landing-page-widgets .m-card .m-body\");\n      equalheight(\".o-apartment-listing .o-unit-card .m-card-body\");\n      // equalheight(\".o-grid-apartments .m-card .m-body\");\n    }\n    equalheight(\n      \".o-dashboard-viewings .m-cards._multiple .o-unit-card .m-card-body\"\n    );\n  }, 250);\n});\n\n// A.25 END ----------------------------------------------------------------------------------------------------------\n\n// A.26 SEO PAGE UNIT FILTER START ----------------------------------------------------------------------------------------------------------\n\njQuery(\".o-facelift-search-block .o-seo-show-more .a-link\").text(\n  \"Show me more\"\n);\n\njQuery(\".m-filter-wrap .a-cta\").on(\"click\", function (e) {\n  e.preventDefault();\n  e.stopPropagation();\n  jQuery(this).parent().toggleClass(\"open\");\n  if (jQuery(this).parent().hasClass(\"open\")) {\n    jQuery(\".m-filter-wrap .a-cta\").removeClass(\"_down-arrow\");\n    jQuery(\".m-filter-wrap .a-cta\").addClass(\"_up-arrow\");\n  } else {\n    jQuery(\".m-filter-wrap .a-cta\").removeClass(\"_up-arrow\");\n    jQuery(\".m-filter-wrap .a-cta\").addClass(\"_down-arrow\");\n  }\n});\n\nif (jQuery(window).width() > 767) {\n  jQuery(\".features-included span\").on(\"click\", function (e) {\n    jQuery(this).toggleClass(\"open\");\n  });\n}\n\nsetTimeout(function () {\n  if (jQuery(\".preselected-filters\")[0]) {\n    jQuery(\".a-btn-clear\").click();\n    jQuery(\".pr-filt\").each(function (i, obj) {\n      var filt = jQuery(obj).text();\n      jQuery(\".o-search-component \" + filt).click();\n    });\n  } else {\n    // are we coming from the CTA bar (TIPIS-755)\n    var fromCTA = localStorage.getItem(\"tipi-filters-lfcta\");\n    if ((typeof fromCTA == \"undefined\" || !fromCTA) && !preFilter) {\n      // console.log('clearing filters');\n      jQuery(\".a-btn-clear\").click();\n    } else {\n      setTimeout(function () {\n        localStorage.setItem(\"tipi-filters-lfcta\", false);\n      }, 2000);\n    }\n  }\n}, 1500);\n\n// A.26 END ----------------------------------------------------------------------------------------------------------\n\n// A.27. STAR RATINGS -------------------------------------------------------------------------------------------------------\njQuery(\".m-star-rating\").each(function () {\n  var val = jQuery(this).find(\".a-value\").text();\n  var filledBar = jQuery(this).find(\".a-filled\");\n\n  var calc = (val / 5) * 100 + \"%\";\n  filledBar.css(\"width\", calc);\n});\n// A.27. END -----------------------------------------------------------------------------------------------------------\n\n// A.28. STICKY BUTTONS IN UNIT HERO\n\nif (document.body.clientWidth <= 991) {\n  var stiky = $(\".o-unit-hero .m-sticky\");\n  var stikyWrap = $(\".o-unit-hero .m-sticky-wrap\");\n  var startSticky,\n    scrollTop = 0;\n  var stickyButtons = function () {\n    if (stiky.length !== 0) {\n      startSticky =\n        stikyWrap.offset().top -\n        $(\".o-header\").outerHeight() +\n        $(\".o-unit-hero .m-sticky-wrap\").outerHeight() +\n        17;\n      scrollTop =\n        window.pageYOffset !== undefined\n          ? window.pageYOffset +\n            $(window).height() -\n            $(\".o-header\").outerHeight()\n          : (\n              document.documentElement +\n                $(window).height() -\n                $(\".o-header\").outerHeight() ||\n              document.body.parentNode +\n                $(window).height() -\n                $(\".o-header\").outerHeight() ||\n              document.body\n            ).scrollTop +\n            $(window).height() -\n            $(\".o-header\").outerHeight();\n      if (scrollTop > startSticky && $(this).scrollTop() != t) {\n        $(\".o-unit-hero .m-sticky\").addClass(\"fixed\");\n        $(\".recaptcha-terms\").css(\n          \"margin-bottom\",\n          $(\".o-unit-hero .m-sticky\").outerHeight()\n        );\n        if (document.body.clientWidth <= 767) {\n          if ($(\"html\").hasClass(\"ios\")) {\n            $(\".scroll-to-top\").css(\"bottom\", \"85px\");\n          } else {\n            $(\".scroll-to-top\").css(\"bottom\", \"75px\");\n          }\n        } else {\n          $(\".scroll-to-top\").css(\"bottom\", \"80px\");\n        }\n      } else {\n        $(\".o-unit-hero .m-sticky\").removeClass(\"fixed\");\n        $(\".recaptcha-terms\").removeAttr(\"style\");\n        $(\".scroll-to-top\").css(\"bottom\", \"5%\");\n      }\n    }\n  };\n  document.addEventListener(\"touchmove\", stickyButtons, false);\n  document.addEventListener(\"scroll\", stickyButtons, false);\n  document.addEventListener(\"resize\", stickyButtons, false);\n  document.addEventListener(\"gesturechange\", stickyButtons, false);\n}\n// A.28. END -----------------------------------------------------------------------------------------------------------\n\n// A.31. SHOW MORE/LESS ON UNIT PAGE HEROS -------------------------------------------------------------------------------------------------------\n\n// function AddReadMore() {\n//   var carLmt = 165;\n//   var readMoreTxt = \"Show me more\";\n//   var readLessTxt = \"Show me less\";\n\n//   $(\".addReadMore\").each(function () {\n//     if ($(this).find(\".firstSec\").length) return;\n\n//     var allstr = $(this).text();\n//     if (allstr.length > carLmt) {\n//       var firstSet = $.trim(allstr)\n//         .substring(0, carLmt)\n//         .split(\" \")\n//         .slice(0, -1)\n//         .join(\" \");\n//       var firstSet2 = allstr.substring(0, carLmt);\n//       var secdHalf = allstr.substring(carLmt, allstr.length);\n\n//       if (document.body.clientWidth <= 976) {\n//         var strtoadd =\n//           \"<span class='hideMe'>\" +\n//           firstSet +\n//           \"</span>\" +\n//           \"<span class='SecSec'>\" +\n//           firstSet2 +\n//           secdHalf +\n//           \"</span><span class='readMore'  title='Click to Show More'>\" +\n//           readMoreTxt +\n//           \"</span><span class='readLess' title='Click to Show Less'>\" +\n//           readLessTxt +\n//           \"</span>\";\n//       } else {\n//         var strtoadd =\n//           firstSet +\n//           \"<span class='SecSec'>\" +\n//           firstSet2 +\n//           secdHalf +\n//           \"<span class='readLess' title='Click to Show Less'>\" +\n//           readLessTxt +\n//           \"</span></span><span class='readMore'  title='Click to Show More'>\" +\n//           readMoreTxt +\n//           \"</span>\";\n//       }\n//       $(this).html(strtoadd);\n//     }\n//   });\n//   //Read More and Read Less Click Event binding\n//   $(document).on(\"click\", \".readMore,.readLess\", function () {\n//     $(this)\n//       .closest(\".addReadMore\")\n//       .toggleClass(\"showlesscontent showmorecontent\");\n//     if (document.body.clientWidth <= 976) {\n//       $(this).closest(\".addReadMore\").toggleClass(\"hideMe\");\n//     }\n//   });\n\n//   if ($(\".o-unit-hero\").find(\".o-unit-features\").length > 0) {\n//     $(\".o-unit-hero\").addClass(\"_features\");\n//   }\n// }\n// AddReadMore();\n\n// A.31. END -----------------------------------------------------------------------------------------------------------\n\n// A.33. Open concessions accordion if coming from concessions terms link\nif (window.location.href.indexOf(\"#collapse0\") > -1) {\n  $(\"#collapse0\").collapse();\n}\n// A.33. END -----------------------------------------------------------------------------------------------------------\n\n// 2021 - Push footer to bottom of screen START\n\n$(\".o-2021-logo-black-strip\")\n  .parent()\n  .parent()\n  .parent()\n  .css(\"margin-top\", \"auto\");\n\n// 2021 - Push footer to bottom of screen END\n\n// 2021 - Basic cards character limit START\n\n// var basicCardDescriptionLength = 200;\n// jQuery(\".o-2021-basic-image-cards .m-body .a-copy\").each(function () {\n//   var title = jQuery(this).text();\n//   if (title.length > basicCardDescriptionLength) {\n//     var shortText =\n//       jQuery\n//         .trim(title)\n//         .substring(0, basicCardDescriptionLength)\n//         .split(\" \")\n//         .slice(0, -1)\n//         .join(\" \") + \"...\";\n//     jQuery(this).text(shortText);\n//   }\n// });\n\n// END -----------------------------------------------------------------------------------------------------------\n\n// MODALS -------------------------------------------------------------------------------------------------------------\n\n// $(\".a-info-icon\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   e.stopPropagation();\n//   console.log(\"this happened\");\n//   $(\"body\").toggleClass(\"modal-open\");\n//   $(\".o-benefits-modal\").toggleClass(\"_is-open\");\n// });\n\n// $(\".a-modal-close-modal\").on(\"click\", function (e) {\n//   e.preventDefault();\n//   e.stopPropagation();\n//   $(\"body\").removeClass(\"modal-open\");\n//   $(\".modal-backdrop\").remove();\n//   $(\".o-benefits-modal\").removeClass(\"show\");\n//   $(\".o-benefits-modal\").attr(\"aria-hidden\", \"true\");\n//   $(\".o-benefits-modal\").css(\"display\", \"none\");\n// });\n\n// END: MODALS --------------------------------------------------------------------------------------------------------\n\n// Cookie PRO scroll to bottom Safari bug fix START\n\n// Cookie PRO scroll to bottom Safari bug fix END\n\n// START: WEBFORM DATEPICKER ------------------------------------------\nvar datepickerOptions = {\n  changeMonth: false,\n  changeYear: false,\n  monthNamesShort: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\",\n  ],\n  dayNamesMin: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  firstDay: 1,\n  dateFormat: \"dd/mm/yy\",\n  minDate: new Date(),\n  beforeShow: function (input, inst) {\n    setTimeout(function () {\n      if ($(window).width() < 767) {\n        $(inst.input)\n          .closest(\".js-form-type-date\")\n          .css(\"margin-bottom\", inst.dpDiv.outerHeight() + 40 + \"px\");\n      }\n      inst.dpDiv.css({\n        top: $(input).offset().top + 69,\n      });\n    }, 1);\n  },\n  onChangeMonthYear: function (year, month, inst) {\n    setTimeout(function () {\n      if ($(window).width() < 767) {\n        $(inst.input)\n          .closest(\".js-form-type-date\")\n          .css({ \"margin-bottom\": inst.dpDiv.outerHeight() + 40 + \"px\" });\n      }\n    }, 1);\n  },\n  onClose: function () {\n    $(this).closest(\".js-form-type-date\").css(\"margin-bottom\", \"\");\n  },\n};\n\n$(\"form.enquire-about-unit.o-webform .js-form-type-date input.hasDatepicker\").each(function () {\n  var minDateAttr = $(this).attr(\"min\");\n  datepickerOptions.minDate = minDateAttr.length ? minDateAttr : new Date();\n  $(this).datepicker(\"option\", datepickerOptions);\n});\n\n$(document).ajaxSuccess(function () {\n  if (\n    $(\n      \"form.enquire-about-unit.o-webform .js-form-type-date input.hasDatepicker\"\n    ).length > 0\n  ) {\n    $(\n      \"form.enquire-about-unit.o-webform .js-form-type-date input.hasDatepicker\"\n    ).datepicker(\"option\", datepickerOptions);\n  }\n});\n\n// END: WEBFORM DATEPICKER ------------------------------------------\n\n// Re-run blazy\nfunction reRunBlazy() {\n  if (typeof Blazy !== \"undefined\") {\n    bLazy.revalidate();\n  }\n}\n\nif (document.readyState === 'complete') {\n  reRunBlazy();\n} else {\n  document.addEventListener('readystatechange', function() {\n    if (document.readyState === 'complete') {\n      reRunBlazy();\n    }\n  });\n}\n","/*\n * JavaScript Templates Runtime\n * https://github.com/blueimp/JavaScript-Templates\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/MIT\n */\n\n/* global define */\n\n;(function ($) {\n    'use strict'\n    var tmpl = function (id, data) {\n        var f = tmpl.cache[id]\n        return data ? f(data, tmpl) : function (data) {\n            return f(data, tmpl)\n        }\n    }\n    tmpl.cache = {}\n    tmpl.encReg = /[<>&\"'\\x00]/g // eslint-disable-line no-control-regex\n    tmpl.encMap = {\n        '<': '&lt;',\n        '>': '&gt;',\n        '&': '&amp;',\n        '\"': '&quot;',\n        \"'\": '&#39;'\n    }\n    tmpl.encode = function (s) {\n        return (s == null ? '' : '' + s).replace(\n            tmpl.encReg,\n            function (c) {\n                return tmpl.encMap[c] || ''\n            }\n        )\n    }\n    if (typeof define === 'function' && define.amd) {\n        define(function () {\n            return tmpl\n        })\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = tmpl\n    } else {\n        $.tmpl = tmpl\n    }\n}(this))\n\n\n\n","// JAVASCRIPT LAYER [APP.JS]  =========================================================================================\n\n// ====== INDEX  ======================================================================================================\n// ==\n// == A. MOBILE CLASS\n// ==\n// ====== INDEX  ======================================================================================================\n\n// A. SHOW/HIDE +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n// A.1. MOBILE CLASS --------------------------------------------------------------------------------------------------\n\n\n  var deviceAgent = navigator.userAgent.toLowerCase();\n\n  $('html').addClass('desktop');\n\n  if (deviceAgent.match(/(iphone|ipod|ipad)/)) {\n    $('html').removeClass('desktop');\n    $('html').addClass('ios');\n    $('html').addClass('mobile');\n  }\n\n\n  if (deviceAgent.match(/android/)) {\n    $('html').removeClass('desktop');\n    $('html').addClass('android');\n    $('html').addClass('mobile');\n  }\n\n  if (deviceAgent.match(/blackberry/)) {\n    $('html').removeClass('desktop');\n    $('html').addClass('blackberry');\n    $('html').addClass('mobile');\n  }\n\n  if (deviceAgent.match(/(symbianos|^sonyericsson|^nokia|^samsung|^lg)/)) {\n    $('html').removeClass('desktop');\n    $('html').addClass('mobile');\n  }\n\n  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {\n    $('html').addClass('safari-mac'); // provide a class for the safari-mac specific css to filter with\n  }\n\n  if (navigator.userAgent.indexOf('Chrome') != -1 && navigator.userAgent.indexOf('Mac') != -1) {\n    $('html').addClass('chrome-mac'); // provide a class for the safari-mac specific css to filter with\n  }\n\n// A.1. END -----------------------------------------------------------------------------------------------------------\n\n// A. END +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n","(function ($, Drupal, drupalSettings) {\n  Drupal.behaviors.tipiBootstrapTheme = {\n    attach: function (context, settings) {\n      $('a[href=\"/message-modal/open?type=council_tax\"]').each(function () {\n        var href = $(this).attr('href');\n        $(this).attr('href', href + '&screen=' + ((window.innerWidth < 768) ? 'mobile' : 'desktop' ));\n      });\n\n      $('input[type=\"hidden\"][name=\"pardot_visitor_id\"]').each(function () {\n        const pardotUID = TipiThemeGetCookie(\"visitor_id506241\");\n        $(this).val(pardotUID).change().blur();\n      });\n\n      if (TipiThemeGetCookie(\"gtm_custom_cookie\")) {\n        // console.log('the gtm cookie now works');\n        window.dataLayer.push({\n          event: \"tipi_ajax_form_submission\",\n        });\n        document.cookie =\n          \"gtm_custom_cookie=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;\";\n      }\n\n      // Replace the drupal error messages except the partner's enquire form,\n      // we are using the error message content to show error modal on partner's enquire form page.\n      if ($('article[about$=\"/partners/enquire-about-unit\"]').length === 0) {\n        $(\"div[data-drupal-messages] div[role=alert]\").each(function () {\n          $(this)\n            .contents()\n            .filter(function () {\n              return this.nodeType == 3 && this.textContent.trim().length;\n            })\n            .replaceWith(\n              \"Sorry, we found a little problem with your selection. Please update the relevant field below and try again.\"\n            );\n        });\n      }\n\n      // selecty for material style select boxes\n      $(\"select.selecty\").each(function () {\n        if (!$(this).hasClass(\"selecty-enabled\")) {\n          $(this).addClass(\"selecty-enabled\");\n          $(this).selecty();\n        }\n      });\n\n      // Book a viewing populate hidden dropdown on min/max rent change\n      $(\".js-form-item-rent-min .selecty .selecty-options li\").click(\n        function () {\n          // $('.js-form-item-rent-min')\n          $(\".js-form-item-rent-min .a-dropdown\").val(\"\");\n        }\n      );\n      $(\".js-form-item-rent-max .selecty .selecty-options li\").click(\n        function () {\n          // $('.js-form-item-rent-min')\n          $(\".js-form-item-rent-max .a-dropdown\").val(\"\");\n        }\n      );\n\n      $(\".o-modal.cta-modal\").on(\"show.bs.modal\", context, function (e) {\n        // pull through the filters\n        // tipi_dynamic__unit_name\n\n        const triggeringElement = $(e.relatedTarget);\n        var parentUnitCard = triggeringElement.closest(\".o-unit-search-card\");\n\n        if (settings.tipi.node_type == \"unit\") {\n          $(this)\n            .find('input[name=\"tipi_dynamic__unit_name\"]')\n            .val(settings.tipi.node_title);\n          $(this)\n            .find(\"span.tipi_dynamic__unit_name\")\n            .text(settings.tipi.node_title);\n          const unitDataMarkup = settings.tipi.unit_markup;\n          $(this)\n            .find(\".m-block-content.m-modal-panel.form-wrapper.unit-details\")\n            .remove();\n          $(unitDataMarkup).insertBefore(\n            $(this)\n              .find(\n                \".m-modal-header + .form-elements.form-wrapper .m-block-content\"\n              )\n              .first()\n          );\n          $(this)\n            .find(\".m-block-content.m-modal-panel.form-wrapper.unit-details\")\n            .next(\".m-block-content\")\n            .hide();\n        } else if (\n          settings.tipi.node_type == \"building_marketing_page\" ||\n          settings.tipi.node_type == \"page\"\n        ) {\n          if (\n            settings.tipi.node_type == \"building_marketing_page\" ||\n            settings.tipi.node_type == \"page\"\n          ) {\n            if (!parentUnitCard) {\n              parentUnitCard = triggeringElement.closest(\".o-unit-search-card\");\n            }\n            if (parentUnitCard.length) {\n              $(this)\n                .find('input[name=\"tipi_dynamic__unit_name\"]')\n                .val(parentUnitCard.find(\".a-unit-title a\").text());\n              $(this)\n                .find(\"span.tipi_dynamic__unit_name\")\n                .text(parentUnitCard.find(\".a-unit-title a\").text());\n              // if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Madison\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Madison\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Landsby\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Landsby\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Montana & Dakota\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Montana & Dakota\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Alto\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Alto\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Alameda\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Alameda\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Ferrum\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Ferrum\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Beton\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Beton\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"Canada Gardens\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"Canada Gardens\"]').attr('checked', 'checked');\n              // } else if ($(this).find('span.tipi_dynamic__unit_name').text().indexOf(\"The Robinson\") >= 0) {\n              //   $(this).find('input[name=\"building\"][value=\"The Robinson\"]').attr('checked', 'checked');\n              // }\n              const building = parentUnitCard.data(\"building\");\n              const rent = parentUnitCard.data(\"rent\");\n              const rooms = parentUnitCard.data(\"beds\");\n\n              const minRent = Math.floor(rent / 100) * 100;\n              const maxRent = minRent + 100;\n\n              $(this)\n                .find('input[name=\"building\"][value=\"' + building + '\"]')\n                .attr(\"checked\", \"checked\");\n\n              document.getElementById(\"edit-rent-min--4\").value = minRent;\n              document\n                .querySelector(\"#edit-rent-min--4 option\")\n                .removeAttribute(\"selected\");\n              document\n                .querySelector(\n                  '#edit-rent-min--4 option[value=\"' + minRent + '\"]'\n                )\n                .setAttribute(\"selected\", \"selected\");\n              document\n                .querySelector(\"#edit-rent-min--4+.selecty .selecty-options li\")\n                .classList.remove(\"selected\");\n              document\n                .querySelector(\n                  '#edit-rent-min--4+.selecty .selecty-options li[data-value=\"' +\n                    minRent +\n                    '\"]'\n                )\n                .classList.add(\"selected\");\n              document.querySelector(\n                \"#edit-rent-min--4+.selecty .selecty-selected\"\n              ).innerHTML = minRent + \" pcm\";\n\n              document.getElementById(\"edit-rent-max--4\").value = maxRent;\n              document\n                .querySelector(\"#edit-rent-max--4 option\")\n                .removeAttribute(\"selected\");\n              document\n                .querySelector(\n                  '#edit-rent-max--4 option[value=\"' + maxRent + '\"]'\n                )\n                .setAttribute(\"selected\", \"selected\");\n              document\n                .querySelector(\"#edit-rent-max--4+.selecty .selecty-options li\")\n                .classList.remove(\"selected\");\n              document\n                .querySelector(\n                  '#edit-rent-max--4+.selecty .selecty-options li[data-value=\"' +\n                    maxRent +\n                    '\"]'\n                )\n                .classList.add(\"selected\");\n              document.querySelector(\n                \"#edit-rent-max--4+.selecty .selecty-selected\"\n              ).innerHTML = maxRent + \" pcm\";\n\n              if (parseInt(rooms) === 0) {\n                document.getElementById(\n                  \"edit-bedrooms-studio--4\"\n                ).checked = true;\n              } else if (parseInt(rooms) === 1) {\n                document.getElementById(\n                  \"edit-bedrooms-1-bed--4\"\n                ).checked = true;\n              } else if (parseInt(rooms) === 2) {\n                document.getElementById(\n                  \"edit-bedrooms-2-bed--4\"\n                ).checked = true;\n              } else if (parseInt(rooms) === 3) {\n                document.getElementById(\n                  \"edit-bedrooms-3-bed--4\"\n                ).checked = true;\n              } else if (parseInt(rooms) === 4) {\n                document.getElementById(\n                  \"edit-bedrooms-4-bed--4\"\n                ).checked = true;\n              }\n            }\n          }\n        } else {\n          // have we clicked on book a viewing on a search result?\n          if (!parentUnitCard.length)\n            parentUnitCard = triggeringElement.closest(\n              \".o-apartment-search-card\"\n            );\n          if (parentUnitCard.length) {\n            $(this)\n              .find('input[name=\"tipi_dynamic__unit_name\"]')\n              .val(\n                parentUnitCard\n                  .find('.meta div[data-key=\"unit-title\"]')\n                  .attr(\"data-value\")\n              );\n            $(this)\n              .find(\"span.tipi_dynamic__unit_name\")\n              .text(\n                parentUnitCard\n                  .find('.meta div[data-key=\"unit-title\"]')\n                  .attr(\"data-value\")\n              );\n            // place the unit data into the form\n            const unitDataMarkup = parentUnitCard\n              .find(\".meta .unit-form-markup\")\n              .html();\n            $(this)\n              .find(\".m-block-content.m-modal-panel.form-wrapper.unit-details\")\n              .remove();\n            $(unitDataMarkup).insertBefore(\n              $(this)\n                .find(\n                  \".m-modal-header + .form-elements.form-wrapper .m-block-content\"\n                )\n                .first()\n            );\n            $(this)\n              .find(\".m-block-content.m-modal-panel.form-wrapper.unit-details\")\n              .next(\".m-block-content\")\n              .hide();\n          }\n        }\n\n        const searchFilters = JSON.parse(localStorage.getItem(\"tipi-filters\"));\n        if (typeof searchFilters != \"undefined\" && searchFilters != null) {\n          // tipi_filter__has_parking\n          const parking =\n            typeof searchFilters[\".has-parking\"] != \"undefined\"\n              ? searchFilters[\".has-parking\"]\n              : false;\n          if (parking)\n            $(this).find('input[name=\"tipi_filter__has_parking\"]').val(parking);\n          // tipi_filter__has_storage\n          const storage =\n            typeof searchFilters[\".has-storage\"] != \"undefined\"\n              ? searchFilters[\".has-storage\"]\n              : false;\n          if (storage)\n            $(this).find('input[name=\"tipi_filter__has_storage\"]').val(storage);\n          // tipi_filter__has_pets\n          const pets =\n            typeof searchFilters[\".has-pets\"] != \"undefined\"\n              ? searchFilters[\".has-pets\"]\n              : false;\n          if (pets)\n            $(this).find('input[name=\"tipi_filter__has_pets\"]').val(pets);\n          // tipi_filter__has_terrace\n          const terrace =\n            typeof searchFilters[\".has-terrace\"] != \"undefined\"\n              ? searchFilters[\".has-terrace\"]\n              : false;\n          if (terrace)\n            $(this).find('input[name=\"tipi_filter__has_terrace\"]').val(terrace);\n          // tipi_filter__has_balcony\n          const balcony =\n            typeof searchFilters[\".has-balcony\"] != \"undefined\"\n              ? searchFilters[\".has-balcony\"]\n              : false;\n          if (balcony)\n            $(this).find('input[name=\"tipi_filter__has_balcony\"]').val(balcony);\n          // tipi_filter__has_gym\n          const gym =\n            typeof searchFilters[\".has-balcony\"] != \"undefined\"\n              ? searchFilters[\".has-gym\"]\n              : false;\n          if (gym) $(this).find('input[name=\"tipi_filter__has_gym\"]').val(gym);\n          // tipi_filter__furnished_yes\n          const furnished =\n            typeof searchFilters[\".furnished-yes\"] != \"undefined\"\n              ? searchFilters[\".furnished-yes\"]\n              : false;\n          if (furnished)\n            $(this)\n              .find('input[name=\"tipi_filter__furnished_yes\"]')\n              .val(furnished);\n          // rent\n          const rentMin =\n            typeof searchFilters[\".rent-min\"] != \"undefined\"\n              ? searchFilters[\".rent-min\"]\n              : false;\n          const rentMax =\n            typeof searchFilters[\".rent-max\"] != \"undefined\"\n              ? searchFilters[\".rent-max\"]\n              : false;\n          if (rentMin) {\n            $(this)\n              .find('select[name=\"rent_min\"] option[value=\"' + rentMin + '\"]')\n              .attr(\"selected\", \"selected\");\n            $(this)\n              .find('select[name=\"rent_min\"]')\n              .next(\".selecty\")\n              .find('.selecty-options li[data-value=\"' + rentMin + '\"]')\n              .addClass(\"selected\");\n            $(this)\n              .find('select[name=\"rent_min\"]')\n              .next(\".selecty\")\n              .find(\".selecty-selected\")\n              .text(\n                $(this)\n                  .find('select[name=\"rent_min\"]')\n                  .next(\".selecty\")\n                  .find('.selecty-options li[data-value=\"' + rentMin + '\"]')\n                  .text()\n              );\n          }\n          if (rentMax) {\n            $(this)\n              .find('select[name=\"rent_max\"] option[value=\"' + rentMax + '\"]')\n              .attr(\"selected\", \"selected\");\n            $(this)\n              .find('select[name=\"rent_max\"]')\n              .next(\".selecty\")\n              .find('.selecty-options li[data-value=\"' + rentMax + '\"]')\n              .addClass(\"selected\");\n            $(this)\n              .find('select[name=\"rent_max\"]')\n              .next(\".selecty\")\n              .find(\".selecty-selected\")\n              .text(\n                $(this)\n                  .find('select[name=\"rent_max\"]')\n                  .next(\".selecty\")\n                  .find('.selecty-options li[data-value=\"' + rentMax + '\"]')\n                  .text()\n              );\n          }\n        }\n      });\n    },\n  };\n})(jQuery, Drupal);\n"]}