import { createRequire } from "https://deno.land/std@0.173.0/node/module.ts";
// Loads native module polyfill.

import { JSDOM } from "npm:jsdom"

const dom = new JSDOM(`
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <base href="/">
    <title>JetBlue</title><link rel="preload" href="/avenir-next-demi.491bd2d50f3c5235.woff2" type="font/woff2" as="font" crossorigin="anonymous"><link rel="preload" href="/avenir-next-regular.13d777ec9ed091ad.woff2" type="font/woff2" as="font" crossorigin="anonymous"><link rel="preload" href="/din-bold.eecd33507563aa88.woff2" type="font/woff2" as="font" crossorigin="anonymous"><link rel="preload" href="/din.a9c169a83761deac.woff2" type="font/woff2" as="font" crossorigin="anonymous">
    <link rel="preload" href="/styles.3d5ee7d1d2582bd7.css" type="text/css" as="style">
    <link href="/styles.3d5ee7d1d2582bd7.css" type="text/css">

    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover">
    <meta name="description" content="JetBlue offers flights to 90+ destinations with free inflight entertainment, free brand-name snacks and drinks, lots of legroom and award-winning service.">
    <meta name="keywords" lang="en" content="JetBlue airline, flights, vacations, low airfare, cheap fare, jetblue.com">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="#00205b">
    <meta name="theme-color" content="#f6f6f6">
    
    
    
    
    
    
    
    <script type="text/javascript" id="shape" src="/js/src/jb-74873.js"></script>
    <link rel="canonical" href="https://www.jetblue.com/">
    
    <link rel="preconnect" href="https://jbrest.jetblue.com">

    <link href="/ui-assets/favicon/iphone5_splash.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/iphone6_splash.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/iphoneplus_splash.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/iphonex_splash.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/iphonexr_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/iphonexsmax_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/ipad_splash.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/ipadpro1_splash.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/ipadpro3_splash.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">
    <link href="/ui-assets/favicon/ipadpro2_splash.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">

    <link rel="apple-touch-icon" sizes="180x180" href="/ui-assets/favicon/apple-touch-icon.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/ui-assets/favicon/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="/ui-assets/favicon/favicon-16x16.png">
    <link rel="mask-icon" href="/ui-assets/favicon/safari-pinned-tab.svg" color="#00205b">
    <link rel="manifest" href="manifest.json" crossorigin="use-credentials">
    <meta name="apple-mobile-web-app-title" content="JetBlue">
    <meta name="application-name" content="JetBlue">
    <meta name="msapplication-TileColor" content="#00205b">
    <meta name="theme-color" content="#f6f6f6">
    <script type="text/javascript" id="config">
  window.__DOTCOM_ENV_CONFIG = {"analytics":{"orgId":"A553776A5245AE600A490D44@AdobeOrg","rsId":"jetbluecom2","rsIdNative":"jetblueiphone","trackingServer":"omnistats.jetblue.com","trackingServerSecure":"somnistats.jetblue.com"},"api":{"bffServiceUrl":"https://jbrest.jetblue.com/bff/bff-service","bffServiceUrlObj":{"latest":"https://azrest.jetblue.com/bff/bffservice","legacy":"https://jbrest.jetblue.com/bff/bff-service"},"bffApiKey":"94ee94248cd740849432430696cedf55","resetPasswordApiKey":"49fc015f1ba44abf892d2b8961612378","abTestConfigUrl":"/abtest","routeMapDestinationsUrl":"/magnoliapublic/.rest/jetblue/v4/route-map/customDelivery/route","oktaJbWrapperServiceUrl":"https://azrest.jetblue.com","iamServiceUrl":"https://jbrest.jetblue.com/iam","iamServiceKey":"dummy-dummy-dymmy-dummy","receiptRequestUrl":"https://az-api.jetblue.com/receiptRequest","myTripsServiceUrl":"https://azrest.jetblue.com/jb","myTripsServiceApiKey":"e6aefb47a2344cc68b9064ef2466fde2","myTripsServiceKey":"dummy-dummy-dymmy-dummy","odServiceUrl":"https://jbrest.jetblue.com/od/od-service","odServiceKey":"dummy-dummy-dymmy-dummy","infoServiceUrl":"https://jbrest.jetblue.com/info","infoServiceKey":"dummy-dummy-dymmy-dummy","googleMapKey":"AIzaSyBLUrD_RQBgVTfBiLoIa0wbe9-G7KBLtZs","googleMapId":"a80ee4a848cea8e9","language":"en","lfsServiceUrl":"https://jbrest.jetblue.com/lfs","lfsServiceKey":"dummy-dummy-dymmy-dummy","flightStatusServiceUrl":"https://az-api.jetblue.com/flight-status","flightStatusApiKey":"49fc015f1ba44abf892d2b8961612378","flightStatusServiceKey":"dummy-dummy-dymmy-dummy","rwbCartUrl":"https://www.jetblue.com/booking/cart","rwbCheckoutUrl":"https://www.jetblue.com/booking/checkout","baseDomain":"https://www.jetblue.com","magnoliaUrl":"/magnoliapublic","mobileBaseUrl":"https://mobile.jetblue.com","dealsServiceUrl":"https://jbrest.jetblue.com/seo-deals/deals","flightListServiceUrl":"https://jbrest.jetblue.com/seo-deals/deals","baseTrueBlue":"https://trueblue.jetblue.com","routeMapCityIdUrl":"/magnoliapublic/.rest/jetblue/v4/fares/customDelivery/city-id","baseVacations":"https://www.jetbluevacations.com","rendertronUrl":"https://rendertron.jetblue.com/render/","travelBankUrl":"https://travelbank.prod.sabre.com","preferenceCenterServiceUrl":"https://az-api.jetblue.com","profileServiceCreditCardUrl":"https://azrest.jetblue.com","baseBook":"https://book.jetblue.com","loginOrchestratorUrl":"https://jbrest.jetblue.com/iam/login","loginOrchestratorApiKey":"e6aefb47a2344cc68b9064ef2466fde2","sessionCookieRedirectUrl":"https://accounts.jetblue.com/login/sessionCookieRedirect","azApiUrl":"https://azrest.jetblue.com","contactUsUrl":"https://az-api.jetblue.com/contactus/dotcom-email-service/sendmail","groupTravelUrl":"https://az-api.jetblue.com/contactus/dotcom-email-service/sendmail","leanProfileUrl":"https://azrest.jetblue.com/profile/v1/leanProfile","leanProfileApiKey":"e6aefb47a2344cc68b9064ef2466fde2","opaqueProfileLookupUrl":"https://azrest.jetblue.com/profile/v1/searchOpaqueProfile","opaqueProfileLookupApiKey":"e6aefb47a2344cc68b9064ef2466fde2","rwbBookerUrl":"https://www.jetblue.com/booking/flights","loggedInShoppingCartUrl":"https://jbrest.jetblue.com/cart-rwb/getShoppingCartForLoggedIn","shoppingCartUrl":"https://jbrest.jetblue.com/cart-rwb/getCarts","rwbProfileUrl":"https://jbrest.jetblue.com/iam-rwb/v1/book/profile","guestShoppingCartUrl":"https://jbrest.jetblue.com/cart-rwb/getFromShoppingCart","configUrl":"/magnoliapublic/.rest/jetblue/v4/jetbluedotcom/customDelivery/config","googleSearchUrl":"https://www.jetblue.com/api/site-search","vacationsServiceUrl":"https://www.jetbluevacations.com"},"buildId":"23.2.2-rc-0","environment":"prddotcom1","sentry":{"url":"https://08b1aeee56aa4725bc842fc4e774cb7a@sentry.io/225409","dsn":"https://e77fa73853ea4f1b852338fa14b401bb@o83455.ingest.sentry.io/5952685","tracingOrigins":"https://www-dev2.jetblue.com/, https://www-int2.jetblue.com/, https://www-stg2.jetblue.com/, https://www-qa2.jetblue.com/, https://jetblue.com"},"appDynamics":{"appdKey":"AD-AAB-AAK-YAF","isAppDynamicsEnabled":"True","monitoring":{"controllerHostName":"jetblue.saas.appdynamics.com","controllerPort":"443","controllerSslEnabled":"True","accountName":"jetblue","accountAccessKey":"c444c2db-7b81-4261-95bb-e994400ddaef","applicationName":"dotcom-prd","tierName":"dotcom-ui","nodeName":"dotcom-ui","reuseNode":"True","reuseNodePrefix":"dotcom-ui","maxProcessSnapshotsPerPeriod":"0","debug":"False"}},"cookiePolicy":"GP","widgets":{"gladlyConfig":{"appId":"dc4bd94a-7a22-11e8-90f7-c3539b6f5bd9","gladlyHelp":"https://cdn.gladly.com/chat-sdk/widget.js","src":"https://cdn.gladly.com/chat-sdk/widget.js"},"asappConfig":{"hostname":"jetblue.asapp.com","appId":"jetblue"},"captchaConfig":{"blacklistedCountries":"BD,CN,EG,ID,PK,PH,RU,TW,TH,TR,UA,VN","resolvedDuration":"120000","siteKey":"6LeWO7oUAAAAACnCVFiHm4gYZi3KShnESd4KnDGE"},"cookieConsent":{"src":"https://consent.trustarc.com/notice?domain=jetblue.com&c=teconsent&js=nj&noticeType=bb&gtm=1"},"jtpSdk":{"src":"https://sdk.jetbluevacations.com/jtpsdk/api/v1?client=jetbluecom"},"sherpaConfig":{"appId":"spY3MjM0OT","affiliateId":"jetblue"}},"contactUs":{"oauth":{"resource":"19ed6698-37b2-47c0-bf78-3f0086775ddd","clientId":"5743da29-b579-4bf6-894b-af829e8ddbeb","clientSecret":"@ZTVu2?gsxsF77hyzvK4e:yqueARqTc."}},"shoppingCartConfig":{"apiVersion":"v3","applicationType":"DOTCOM"},"flags":{"clm5":"true","loadCaptchaWidget":"true","loadAppdynamics":"true","oktaFlow":"true","preferenceCenterFlow":"true","rwbFlowEnabled":"true","displayCartInfo":"false","useAug2020CMSHeader":"true","isCMSFallbackEnabled":"true","useOIE":"false","lazyLoadImages":"true","dynamicMetaThemeColor":"false","mybEnableHealthCheckService":"false","useHeaderMobileV2":"true","enableUIDebuging":"false","newTBSignedIn":"true","mybEmailUpdateURL":"/manage-trips/add-trip-email","cookieConsent":"true","newTBSignedOut":"true","logPartialPageResponse":"true","mybReplaceLastNameAccents":"true","mybEnablePNRService":"true","ASAPPChatInstead":"both","allowBffCaching":"true","disableFRWhenRoutingToNGB":"true","apiUrlsForFrenchTranslation":"magnoliaUrl, myTripsServiceUrl, uiAssets","enableSentry":"true","loadASAPPWidget":"true","browserWarningOptions":"{\\"warningScriptUrl\\":\\"/browser-warning/browser-warning.js\\",\\"showOnce\\":\\"true\\",\\"showOnceCookieName\\":\\"FIRST_VISIT_WITH_UNSUPPORTED_BROWSER\\",\\"showOnceCookieDays\\":\\"1\\",\\"browserBlackList\\":{\\"ie\\":\\"11\\",\\"edge\\":\\"79\\",\\"android\\":\\"8\\",\\"chrome\\":\\"72\\",\\"firefox\\":\\"73\\",\\"opera\\":\\"11\\",\\"ios\\":\\"13\\",\\"safari\\":\\"11\\"}}","mybGoToDX":"false"},"sharedWebCredentials":{"appIDs":"WFTGUDV3AL.com.jetblue.jetBlueiPhone,WFTGUDV3AL.com.jetblue.jetBlueiPhoneQA","componentPath":"/test_universal_links/*","componentComment":"Matches any URL whose path starts with /test_universal_links","webCredentialsApps":["WFTGUDV3AL.com.jetblue.jetBlueiPhone","WFTGUDV3AL.com.jetblue.jetBlueiPhoneQA"]},"fsConfig":{"prd":"4HV1Q","nonPrd":"JMN70"},"mybConfig":{"pnrServiceUrl":"https://azrest.jetblue.com/myb/pnr/b6-record-locator","sabreDXUrl":"https://managetrips.jetblue.com/dx/B6DX/#/myb","healthCheckServiceUrl":"https://azrest.jetblue.com/myb/pnr-health-check","sabreDXTripsUrl":"https://managetrips.jetblue.com/dx/B6DX/#/home?tabIndex=1","pnrEmailLocatorUrl":"https://azrest.jetblue.com/myb/qualifier/b6-record-locator-email","pnrServiceAppId":"DOTCOM","pnrServiceApiKey":"45804e33f26b44d1b144090af2788abf","ssoUrl":"https://azrest.jetblue.com/sso/session","ssoAPIKey":"7c3ddf1637d248f49eb191dc275cb2c8","sabreOpenTokenCookieName":"b6dcsso","sabreReturnUrlCookieName":"b6dcreturnurl","sabreOpenTokenCookieTimeout":"2700"},"okta":{"auth":{"client_id":"0oa6pzarfiDxq8sn32p7","idp":"0oa6qe03vy6TWGN9o2p7","frenchIdp":"0oaluqtd53SL0rQPS2p7","issuer":"https://accounts.jetblue.com/oauth2/aus63a5bs52M8z9aE2p7","expire_early_time":"240"},"oktaAuthCookie":"B6auth","oktaLogout":{"contentType":"application/x-www-form-urlencoded","oktaSessionUrl":"https://azrest.jetblue.com/logout/api/v1/users/","oauthTokens":"true","apikey":"e6aefb47a2344cc68b9064ef2466fde2","deleteCookies":"B6auth,SSWEB2TGC,jbAuthentication,jbFSIdentify,b6dcsso","deleteLocalStorage":"","domains":"https://book.jetblue.com/B6/ProfileThirdPartyLogoutAction.do,https://login.jetbluevacations.com/sw-signout,https://trueblue.jetblue.com/logout,https://www.jetblue.com/booking/logout","jbSessions":{"session2":{"cookie":"DUMMY","url":"DUMMY"}},"whitelistedDomains":"jetblue.com,localhost","oktaLogoutDelayTime":"2000"},"oauthTokenApiKey":"0256da388b134af9b47abb7bb4112e22","clientId":"5743da29-b579-4bf6-894b-af829e8ddbeb","clientSecret":"xj-9z3u~2vEY7~khJAA-q7.K-rXmbfo3M8","resource":{"emailReset":"bb627fa4-03c3-41d6-90a0-808b7e00654e","forgotPasswordReset":"c037ec4c-39b1-4033-9ad0-07e4aee258af"}},"preferenceCenter":{"membersApiKey":"65e8826fb65c46d696d497d582d083c8","creditCardApiKey":"b82c387fdc82453baf07abcf199b0830","futureBookingHref":"https://book.jetblue.com/B6/ReservationSearch.do"},"bookerCalendars":{"autoLoad":"true","roundTripDefaultTripLength":"7","autoLoadRootMargin":"100px","roundTripServiceSuccessPointsReturn":"Showing per person, lowest recent fares plus taxes & fees from $5.60 for trips departing [DEPART-DATE].","autoLoadDelay":"500","roundTripPricedRoutes":"ACC, ADD, AMM, AMS, ATH, BCN, BDA, BER, BGO, BKK, BOG, BRU, BUE, CLO, CMB, CPH, CPT, DAR, DEL, DOH, DPS, DUB, DUR, DUS, EBB, FRA, GEO, GLA, HAM, HEL, HKT, HRE, ISB, JKT, JNB, JRO, KGL, KHI, KRT, KUL, KWI, LHE, LON, LUN, LXR, LYS, MAD, MAN, MBJ, MCT, MEX, MIL, MLE, MTY, MUC, MUX, NAP, NBO, OSL, PAR, PEW, REK, RIO, ROM, SAO, SCL, SEZ, SIN, SKB, SKT, SLL, STO, TLV, WDH, ZNZ, ZRH","roundTripServiceSuccessPointsDepart":"Showing per person, lowest recent fares plus taxes & fees for [TRIP-LENGTH] day trips.","autoLoadPercentInView":"0.7","showCalendarRoundtripPrices":"false","roundTripServiceSuccessCashDepart":"Showing per person, lowest recent fares for [TRIP-LENGTH] day trips.","roundTripServiceSuccessCashReturn":"Showing per person, lowest recent fares for trips departing [DEPART-DATE]."},"ASAPP":{"ASAPPWhitelistedPhoneNumbers":"18005382583, 18001234567","whiteListedURLs":"/contact-us,/contact-us/chat","authenticationEnabled":"false"},"cookieLists":{"RWBCookie":["NGB-test"]},"linkDefaults":{"internal":"Internal Link should open in a new window.","external":"External Link should open in a new window operated by external parties and may not conform to the same accessibility policies as JetBlue.","document":"Opens the pdf document file."},"BFF":{"intersectionRootMargin":"0px","defaultMonthsToLoad":"2","autoLoadMonths":"true","intersectionThreshold":"0.33","intersectionDebounce":"1000"},"paths":[{"flightBlockImagePrefix":"/ui-assets/imagery/destinations/large","imagesRootPath":"/magnoliapublic/dam/ui-assets"}],"JTP":{"topVacationDestinations":"XFL,ZLA,XBO,XSF,PUJ,CUN,AUA,MBJ,MCO,LAS,FLL,SJU,NAS,NYC,SXM,RSW,TPA,POP,PLS,UVF,SJD,LAX,BGI,SJO,MSY,BNA,CUR,SDQ,BDA,BOS,PBI,WAS,SFO,CTG,SAV,GND,CHS,ANU,PVR"},"directoryForwarding":{"JbMpExclude":"DF","forceFixDoubleFr":"true","browserUrlDF":"true"},"supportedLanguages":{"en":"jetblue.com","fr":"jetblue.com","es":"hola.jetblue.com"},"bookerRestrictedOriginsModalWarning":{"ZZZ":[{"content":"Flights from Paris will be available on JetBlue starting April 3. In the meantime please see other options to book.","title":"This trip is not available yet on jetblue.com","continueButton":"false","linkButtons":[{"target":"_self","href":"https://www.jetblue.com/flying-with-us/uk-and-europe","title":"See other booking options"},{"target":"_self","href":"https://www-qa3.jetblue.com/flying-with-us/uk-and-europe-fr","title":"Autres options de réservation"}]}],"ZXZ":[{"title":"title","content":"content","continueButton":"true"}]},"polling":{"shortPollFlightTrackerDurationInSeconds":"0"},"additionalSitemapRoutes":{"_forgot-password_email-entry":"internal"},"templateVersionDefaults":{"global":"v3","cms":"v3"}};
  </script>
    <script type="text/javascript" id="abtest-config">window.__ABTEST_CONFIG = {"jbCampaign":[{"platform":"Desktop","global":"global","name":"nfs-booker-prices_20230321","dateend":"2023-03-20T14:54:29.850-04:00","userAgent":"All","datestart":"2023-03-20T14:54:29.843-04:00","path":["/home/sale/big-spring-sale-23"],"cookieParam":[{"name":"nfs-booker-prices_20230321","reset":"true","days":"4","hours":"0"}],"experience":[{"name":"A","split":"0.5","track":"true"},{"name":"B","split":"0.5","track":"true"},{"name":"C","split":"0","track":"true"},{"name":"D","split":"0","track":"true"}]},{"platform":"All","global":"global","name":"JBC_PB2AB_20230729","dateend":"2023-07-31T23:59:18.513-04:00","userAgent":"All","datestart":"2023-07-29T00:00:18.503-04:00","path":["/home"],"cookieParam":[{"hours":"0","name":"JBC_PB2AB_20230729","reset":"true","days":"3"}],"experience":[{"name":"A","split":".50","track":"true"},{"name":"B","split":".50","track":"true"},{"name":"C","split":"0","track":"false"},{"name":"D","split":"0","track":"false"}]}]};</script>
    
    <script type="text/javascript" id="appdynamics-config" src="/ui-assets/monitoring/adrum-config.js"></script>
    <script type="text/javascript" id="appdynamics" src="/ui-assets/monitoring/adrum.js"></script>
  <style>@font-face{font-family:JBAvenir;src:url(avenir-next-regular.cb5cb023d11e44c7.eot);src:url(avenir-next-regular.cb5cb023d11e44c7.eot?#iefix) format("eot"),url(avenir-next-regular.13d777ec9ed091ad.woff2) format("woff2"),url(avenir-next-regular.f4e88afbd53929ed.woff) format("woff"),url(avenir-next-regular.b2ccd97d3c62f0b4.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JBAvenir;src:url(avenir-next-regular.cb5cb023d11e44c7.eot);src:url(avenir-next-regular.cb5cb023d11e44c7.eot?#iefix) format("eot"),url(avenir-next-regular.13d777ec9ed091ad.woff2) format("woff2"),url(avenir-next-regular.f4e88afbd53929ed.woff) format("woff"),url(avenir-next-regular.b2ccd97d3c62f0b4.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JBAvenir;src:url(avenir-next-demi.e7867a04ac7b3c32.eot);src:url(avenir-next-demi.e7867a04ac7b3c32.eot?#iefix) format("eot"),url(avenir-next-demi.491bd2d50f3c5235.woff2) format("woff2"),url(avenir-next-demi.11d495d8a8ae2d26.woff) format("woff"),url(avenir-next-demi.bb0cb42e2fa03152.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JBAvenir;src:url(avenir-next-demi.e7867a04ac7b3c32.eot);src:url(avenir-next-demi.e7867a04ac7b3c32.eot?#iefix) format("eot"),url(avenir-next-demi.491bd2d50f3c5235.woff2) format("woff2"),url(avenir-next-demi.11d495d8a8ae2d26.woff) format("woff"),url(avenir-next-demi.bb0cb42e2fa03152.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:JBAvenir;src:url(avenir-next-demi.e7867a04ac7b3c32.eot);src:url(avenir-next-demi.e7867a04ac7b3c32.eot?#iefix) format("eot"),url(avenir-next-demi.491bd2d50f3c5235.woff2) format("woff2"),url(avenir-next-demi.11d495d8a8ae2d26.woff) format("woff"),url(avenir-next-demi.bb0cb42e2fa03152.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}html{font-family:JBAvenir,avenir,arial;font-size:1rem;line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}svg:not(:root){overflow:hidden}html,body,div{box-sizing:border-box}@supports (-webkit-overflow-scrolling: touch){body{cursor:pointer;-webkit-tap-highlight-color:#fff}}:root{--jb-show-asapp-chat:none}</style><link rel="stylesheet" href="styles.3d5ee7d1d2582bd7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.3d5ee7d1d2582bd7.css"></noscript>
   <meta name="version" content="4c6a0382a" >
   </head>

  <body>
    <style>
      .loader {
        height: 100vh;
        width: 100vw;
        display: flex;
        justify-content: center;
        align-items: center;
        fill: #00205b;
      }
      @-webkit-keyframes animation1 {
        0%,
        16.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        8.33% {
          opacity: 0.1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        91.67% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        83.33% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        41.67%,
        75% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        50%,
        58.33%,
        66.67% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      @keyframes animation1 {
        0%,
        16.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        8.33% {
          opacity: 0.1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        91.67% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        83.33% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        41.67%,
        75% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        50%,
        58.33%,
        66.67% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      @-webkit-keyframes animation3 {
        0%,
        8.33%,
        91.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        16.67%,
        83.33% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        75% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        66.67% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        41.67%,
        50%,
        58.33% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      @keyframes animation3 {
        0%,
        8.33%,
        91.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        16.67%,
        83.33% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        75% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        66.67% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        41.67%,
        50%,
        58.33% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      @-webkit-keyframes animation2 {
        0%,
        83.33%,
        91.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        75%,
        8.33% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        16.67%,
        66.67% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        58.33% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        41.67%,
        50% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      @keyframes animation2 {
        0%,
        83.33%,
        91.67%,
        to {
          opacity: 0.2;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        75%,
        8.33% {
          opacity: 0.4;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        16.67%,
        66.67% {
          opacity: 0.6;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        25%,
        58.33% {
          opacity: 0.8;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
        33.33%,
        41.67%,
        50% {
          opacity: 1;
          transform-box: fill-box;
          -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
        }
      }
      #kebab * {
        -webkit-animation-duration: 1.2s;
        animation-duration: 1.2s;
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
        -webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);
        animation-timing-function: cubic-bezier(0, 0, 1, 1);
      }
    </style>
    <jb-app>
      <div class="loader">
        <svg id="kebab" xmlns="http://www.w3.org/2000/svg" width="5em" height="5em" viewBox="0 0 42 5" focusable="false">
          <style></style>
          <circle cx="2.5" cy="2.5" r="2.5" style="
              -webkit-animation-name: animation2;
              animation-name: animation2;
              -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
              animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
            "></circle>
          <circle cx="20.5" cy="2.5" r="2.5" style="
              -webkit-animation-name: animation3;
              animation-name: animation3;
              -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
              animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
            "></circle>
          <circle cx="38.5" cy="2.5" r="2.5" style="
              -webkit-animation-name: animation1;
              animation-name: animation1;
              -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
              animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
            " class=""></circle>
        </svg>
      </div>
    </jb-app>

    
    <script type="text/javascript" id="cookie-consent">
 if (window && window.__DOTCOM_ENV_CONFIG && window.__DOTCOM_ENV_CONFIG.flags && window.__DOTCOM_ENV_CONFIG.flags.cookieConsent === 'true') {
  const div = document.createElement('div', { id: 'consent_blackbar' });
  document.body.appendChild(div);
  const scriptSrc = window.__DOTCOM_ENV_CONFIG.widgets.cookieConsent.src;
 const head = document.getElementsByTagName('head')[0];
 const script = document.createElement('script');
 script.type = 'text/javascript';
 script.src = scriptSrc;
 script.async = 'async';
 script.crossorigin = 'true';
 document.head.appendChild(script);
 }</script>
    <script type="text/javascript" id="initial-sitemap" src="/initial-sitemap.js"></script>
    <script type="text/javascript" delay="/browser-warning/browser-detector.js" async="" defer></script>
  <script src="runtime.89acb4e594c96bc6.js" type="module"></script><script src="polyfills.bfdaeee7173081a2.js" type="module"></script><script src="vendor.3c3ec326b1ff0d76.js" type="module"></script><script src="main.a62f118cd33f28b0.js" type="module"></script>

</body></html>`, {
    // url: "https://www.jetblue.com/booking/flights?from=JFK&to=STT&depart=2023-09-14&return=2023-09-16&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
    url: "https://www.jetblue.com",
    // window.location，document.URL
    // referrer: "https://www.jetblue.com/booking/flights?from=JFK&to=STT&depart=2023-09-14&return=2023-09-16&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
    referrer: "https://www.jetblue.com/",
    // document.referrer
    contentType: "text/html",
    // document.contentType
    // userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    // UA
    includeNodeLocations: false // 保留由HTML解析器生成的位置信息，允许使用nodeLocation()方法

});