/*! elementor-pro - v3.21.0 - 20-05-2024 */ (()=>{"use strict";class Screenshot extends elementorModules.ViewModule{getDefaultSettings(){return{empty_content_headline:"Empty Content.",crop:{width:1200,height:1500},excluded_external_css_urls:["https://kit-pro.fontawesome.com"],external_images_urls:["https://i.ytimg.com"],timeout:15e3,render_timeout:5e3,timerLabel:null,timer_label:`${ElementorScreenshotConfig.post_id} - timer`,image_placeholder:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=",isDebug:elementorCommonConfig.isElementorDebug,isDebugSvg:!1,...ElementorScreenshotConfig}}getDefaultElements(){const e=jQuery(ElementorScreenshotConfig.selector),t=e.find(".elementor-section-wrap > .elementor-section, .elementor > .elementor-section");return{$elementor:e,$sections:t,$firstSection:t.first(),$notElementorElements:elementorCommon.elements.$body.find("> *:not(style, link)").not(e),$head:jQuery("head")}}onInit(){return super.onInit(),this.log("Screenshot init","time"),this.timeoutTimer=setTimeout(this.screenshotFailed.bind(this),this.getSettings("timeout")),this.captureScreenshot()}captureScreenshot(){return this.elements.$elementor.length||(elementorCommon.helpers.consoleWarn("Screenshots: The content of this page is empty, the module will create a fake conent just for this screenshot."),this.createFakeContent()),this.removeUnnecessaryElements(),this.handleIFrames(),this.removeFirstSectionMargin(),this.handleLinks(),this.loadExternalCss(),this.loadExternalImages(),Promise.resolve().then(this.createImage.bind(this)).then(this.createImageElement.bind(this)).then(this.cropCanvas.bind(this)).then(this.save.bind(this)).then(this.screenshotSucceed.bind(this)).catch(this.screenshotFailed.bind(this))}createFakeContent(){this.elements.$elementor=jQuery("
").css({height:this.getSettings("crop.height"),width:this.getSettings("crop.width"),display:"flex",alignItems:"center",justifyContent:"center"}),this.elements.$elementor.append(jQuery("

").css({fontSize:"85px"}).html(this.getSettings("empty_content_headline"))),document.body.prepend(this.elements.$elementor)}loadExternalCss(){const e=[this.getSettings("home_url"),...this.getSettings("excluded_external_css_urls")].map((e=>`[href^="${e}"]`)).join(", ");jQuery("link").not(e).each(((e,t)=>{const s=jQuery(t),n=s.clone();n.attr("href",this.getScreenshotProxyUrl(s.attr("href"))),this.elements.$head.append(n),s.remove()}))}loadExternalImages(){const e=this.getSettings("external_images_urls").map((e=>`img[src^="${e}"]`)).join(", ");jQuery(e).each(((e,t)=>{const s=jQuery(t);s.attr("src",this.getScreenshotProxyUrl(s.attr("src")))}))}handleIFrames(){this.elements.$elementor.find("iframe").each(((e,t)=>{const s=jQuery(t),n=jQuery("
",{css:{background:"gray",width:s.width(),height:s.height()}});s.before(n),s.remove()}))}removeUnnecessaryElements(){let e=0;this.elements.$sections.filter(((t,s)=>{let n=!1;return e>=this.getSettings("crop.height")&&(n=!0),e+=jQuery(s).outerHeight(),n})).each(((e,t)=>{t.remove()})),this.elements.$notElementorElements.remove()}handleLinks(){elementorCommon.elements.$body.find("a").attr("href","/")}removeFirstSectionMargin(){this.elements.$firstSection.css({marginTop:0})}createImage(){const e=new Promise((e=>{window.addEventListener("load",(()=>{e()}))})),t=new Promise((e=>{setTimeout((()=>{e()}),this.getSettings("render_timeout"))}));return Promise.race([e,t]).then((()=>{if(this.log("Start creating screenshot."),this.getSettings("isDebugSvg"))return domtoimage.toSvg(document.body,{imagePlaceholder:this.getSettings("image_placeholder")}).then((e=>this.download(e))),Promise.reject("Debug SVG.");return/^((?!chrome|android).)*safari/i.test(window.userAgent)?(this.log('Creating screenshot with "html2canvas"'),html2canvas(document.body).then((e=>e.toDataURL("image/png")))):(this.log('Creating screenshot with "dom-to-image"'),domtoimage.toPng(document.body,{imagePlaceholder:this.getSettings("image_placeholder")}))}))}download(e){const t=jQuery("",{href:e,download:"debugSvg.svg",html:"Download SVG"});elementorCommon.elements.$body.append(t),t.trigger("click")}createImageElement(e){const t=new Image;return t.src=e,new Promise((e=>{t.onload=()=>e(t)}))}cropCanvas(e){const t=this.getSettings("crop.width"),s=this.getSettings("crop.height"),n=document.createElement("canvas"),i=n.getContext("2d"),o=t/e.width;return n.width=t,n.height=s>e.height?e.height:s,i.drawImage(e,0,0,e.width,e.height,0,0,e.width*o,e.height*o),Promise.resolve(n)}save(e){return new Promise(((t,s)=>{elementorCommon.ajax.addRequest("screenshot_save",{data:{post_id:this.getSettings("post_id"),screenshot:e.toDataURL("image/png")},success:e=>{this.log(`Screenshot created: ${encodeURI(e)}`),t(e)},error:()=>{this.log("Failed to create screenshot."),s()}})}))}markAsFailed(){return new Promise(((e,t)=>{elementorCommon.ajax.addRequest("screenshot_failed",{data:{post_id:this.getSettings("post_id")},success:()=>{this.log("Marked as failed."),e()},error:()=>{this.log("Failed to mark this screenshot as failed."),t()}})}))}getScreenshotProxyUrl(e){return`${this.getSettings("home_url")}?screenshot_proxy&nonce=${this.getSettings("nonce")}&href=${e}`}screenshotSucceed(e){this.screenshotDone(!0,e)}screenshotFailed(e){this.log(e,null),this.markAsFailed().then((()=>this.screenshotDone(!1)))}screenshotDone(e,t=null){clearTimeout(this.timeoutTimer),this.timeoutTimer=null,window.parent.postMessage({name:"capture-screenshot-done",success:e,id:this.getSettings("post_id"),imageUrl:t},"*"),this.log(`Screenshot ${e?"Succeed":"Failed"}.`,"timeEnd")}log(e,t="timeLog"){this.getSettings("isDebug")&&(console.log("string"==typeof e?`${this.getSettings("post_id")} - ${e}`:e),t&&console[t](this.getSettings("timer_label")))}}jQuery((()=>{new Screenshot}))})();{"id":1763,"date":"2023-05-17T20:36:57","date_gmt":"2023-05-17T20:36:57","guid":{"rendered":"https:\/\/ktjkrug.com\/?p=1763"},"modified":"2023-10-03T07:53:23","modified_gmt":"2023-10-03T07:53:23","slug":"flight-and-hotel-packages-puerto-rico","status":"publish","type":"post","link":"https:\/\/ktjkrug.com\/flight-and-hotel-packages-puerto-rico\/","title":{"rendered":"flight and hotel packages puerto rico"},"content":{"rendered":"

Flight and Hotel Packages Puerto Rico: An Overview<\/h2>\n

Puerto Rico Travel Packages: A Comprehensive Guide<\/b><\/p>\n

Explore the enchanting island of Puerto Rico and save money with Puerto Rico travel packages that combine flight and hotel accommodations. These bundled packages offer an array of choices for travelers, from budget-friendly to luxury options.<\/p>\n

Travelers can choose a package that includes everything they need, such as flights, airport transfers, hotel stay, meals, and even tours or activities. With so many options available, it’s easy to find the perfect package to suit any traveler’s needs.<\/p>\n

Discover Puerto Rico’s<\/a> rich culture, stunning beaches, delicious cuisine, and thrilling adventure opportunities with these fantastic packages. Whether you’re looking for a romantic getaway or a family vacation<\/a>, there is something for everyone in these travel packages.<\/p>\n

Take advantage of exclusive deals and discounts available in these packages while enjoying the convenience and peace of mind that comes with booking everything at once. Don’t miss out on the chance to explore all that Puerto Rico<\/a> has to offer with these unbeatable travel packages.<\/p>\n

The best time to book flight and hotel packages in Puerto Rico<\/a>? When your boss announces your mandatory vacation days.<\/em><\/p>\n

Best Time to Book Flight and Hotel Packages in Puerto Rico<\/h2>\n

For those planning a trip to Puerto Rico<\/a>, timing is key when booking flight and hotel packages. It’s essential to plan and book early to secure the best deals without sacrificing quality. One of the most critical factors in determining the ideal time to book<\/a> is understanding peak tourist seasons and factoring in important events or festivals that could affect pricing.<\/p>\n

Additionally, it’s worth considering outside factors such as weather patterns<\/b> that may influence prices. If you’re looking for the best value, it’s recommended to avoid booking during high season for tourists and holidays like Christmas, New Year’s Eve, and Easter. Instead, look for deals during the shoulder season months of May through December.<\/p>\n

A little-known tip is that many hotels and airlines offer discounts for bookings made on specific days of the week, such as Tuesdays or Wednesdays. Always keep an eye out for promotional emails or newsletters from travel companies that offer more substantial discounts on certain dates.<\/p>\n

Interestingly enough, one fact often overlooked by travelers is that Puerto Rico experiences<\/a> a second high season from mid-July through August due to summer vacations taken by natives of the island rather than foreign tourists. Knowing these unique details can help save money while still enjoying all Puerto Rico<\/a> has to offer.<\/p>\n

Puerto Rico has a rich history of attracting visitors seeking beautiful beaches<\/a>, stunning architecture, and unique culture. While some things have evolved over time, knowing when to book flights and hotels remains essential today as ever before. Get ready for a Puerto Rico<\/a> adventure that won’t break the bank, thanks to these top airlines’ flight and hotel packages!<\/p>\n

Top Airlines Offering Flight and Hotel Packages to Puerto Rico<\/h2>\n

In Puerto Rico<\/a>, there are great deals available from airlines that combine flights and hotel stays. This is a convenient and cost-effective way to travel. Here are six top airlines offering flight and hotel packages to Puerto Rico:<\/a><\/p>\n