Fort Worth is located in the center of the United States, so it’s accessible from practically anywhere. And once you’re in town, it’s very easy to get around Fort Worth or travel to nearby cities.","meta_title":"Getting Around Fort Worth | Transportation Options","meta_description":"Explore Fort Worth easily with TexRail, buses, trolleys, rideshares, and bikes. Get transit info and maps for your perfect visit.","open_graph_title":"Fort Worth Transportation | Airport, Train, Rental Cars, Buses","open_graph_description":"Find detailed Fort Worth transportation information about the airport, shuttles, buses, car rentals, taxis, trains and more.","open_graph_image_id":"5d38a81010084e049872ac1c","custom_hidedropdown":false,"custom_showbooking":false,"parent_id":"6601d9b398dce6453431c598","parents_ids":["6601d9b398dce6453431c598"],"version_id":"6848a10193ca97e3d6e8fede","created":"2016-05-27T00:32:31.180Z","content_owner":"default","site_name":"primary","updated":"2025-06-10T21:17:53.690Z","title_sort":"transportation","site_section":"primary.main","published":true,"amp":false,"cms_title":"Transportation - /plan-your-stay/transportation/","cms_title_sort":"transportation - /plan-your-stay/transportation/","folderHref":"/plan-your-stay/transportation/","image":{"_id":"66fd8b621d005cab78eac76f","original_public_id":"clients/fortworth/barrel_racer_bus_11a3aaea-12bf-4735-bf04-171fa6888531","title":"Orange Line","created":"2024-10-02T18:05:22.344Z","resource_raw":{"asset_id":"2e269590020722dbaada9c72b284b74c","public_id":"clients/fortworth/barrel_racer_bus_11a3aaea-12bf-4735-bf04-171fa6888531","version":1727892316,"version_id":"c07dab62ee33705dd3c50278ee8cee0a","signature":"237d2f65be57f55685af09ec0a9696421e84e498","width":1600,"height":1067,"format":"jpg","resource_type":"image","created_at":"2024-10-02T18:05:16.000Z","pages":1,"bytes":1503431,"type":"upload","etag":"17c1cbb72508ab2a194a0e75695efe09","placeholder":false,"url":"http://res.cloudinary.com/simpleview/image/upload/v1727892316/clients/fortworth/barrel_racer_bus_11a3aaea-12bf-4735-bf04-171fa6888531.jpg","secure_url":"https://res.cloudinary.com/simpleview/image/upload/v1727892316/clients/fortworth/barrel_racer_bus_11a3aaea-12bf-4735-bf04-171fa6888531.jpg","folder":"clients/fortworth","access_mode":"public","exif":{"ApertureValue":"4/1","Artist":"KEN FITZGERALD","BodySerialNumber":"172056001727","ColorSpace":"65535","CustomRendered":"0","DateTime":"2024:09:15 20:55:46","DateTimeDigitized":"2024:09:13 07:00:13","DateTimeOriginal":"2024:09:13 07:00:13","ExifOffset":"266","ExifVersion":"48, 50, 51, 49","ExposureBiasValue":"0/1","ExposureMode":"0","ExposureProgram":"4","ExposureTime":"1/60","Flash":"16","FNumber":"4/1","FocalLength":"58/1","FocalPlaneResolutionUnit":"3","FocalPlaneXResolution":"61166933/32768","FocalPlaneYResolution":"61166933/32768","GPSInfo":"888","GPSMapDatum":"WGS-84","GPSStatus":"V","LensModel":"EF24-105mm f/4L IS II USM","LensSerialNumber":"8230011475","LensSpecification":"24/1, 105/1, 0/0, 0/0","Make":"Canon","MaxApertureValue":"4/1","MeteringMode":"5","Model":"Canon EOS 5D Mark IV","OffsetTime":"-05:00","OffsetTimeDigitized":"-05:00","OffsetTimeOriginal":"-05:00","PhotographicSensitivity":"400","RecommendedExposureIndex":"400","ResolutionUnit":"2","SceneCaptureType":"0","SensitivityType":"2","ShutterSpeedValue":"5906891/1000000","Software":"Adobe Photoshop Lightroom Classic 13.5.1 (Windows)","SubSecTimeDigitized":"00","SubSecTimeOriginal":"00","Compression":"6","JPEGInterchangeFormat":"1020","JPEGInterchangeFormatLength":"16890","XResolution":"300/1","YResolution":"300/1","WhiteBalance":"0"},"original_filename":"file","api_key":"756897581616859"},"alt_text_raw":"Orange Line","content_owner":"default","custom_show_credits":false,"title_sort":"orange line","updated":"2025-04-30T19:57:17.223Z","private":false,"deleted":false,"id":"66fd8b621d005cab78eac76f","type":"image","resource":{"raw":{"resource_type":"image","format":"jpg","pages":1,"public_id":"clients/fortworth/barrel_racer_bus_11a3aaea-12bf-4735-bf04-171fa6888531"}},"inAssetRequest":false,"alt_text":"Orange Line","expired":false},"locale_count":0,"open_graph_image":{"_id":"5d38a81010084e049872ac1c","original_public_id":"clients/fortworth/The_Dash_on_the_road_3d2d6a94-0c9d-45fa-8742-a544a468ec2a","title":"The Dash","created":"2019-07-24T18:48:48.693Z","resource_raw":{"public_id":"clients/fortworth/The_Dash_on_the_road_3d2d6a94-0c9d-45fa-8742-a544a468ec2a","version":1563994122,"signature":"1fee02859d71e65be74239893bd8af31f2167235","width":4000,"height":2670,"format":"jpg","resource_type":"image","created_at":"2019-07-24T18:48:42.000Z","pages":1,"bytes":1685772,"type":"upload","etag":"30f45f5ef12f85db452df58182590623","placeholder":false,"url":"http://res.cloudinary.com/simpleview/image/upload/v1563994122/clients/fortworth/The_Dash_on_the_road_3d2d6a94-0c9d-45fa-8742-a544a468ec2a.jpg","secure_url":"https://res.cloudinary.com/simpleview/image/upload/v1563994122/clients/fortworth/The_Dash_on_the_road_3d2d6a94-0c9d-45fa-8742-a544a468ec2a.jpg","access_mode":"public","exif":{"ApertureValue":"4970854/1000000","Artist":"Matthew David King","BodySerialNumber":"3065990","CFAPattern":"2, 0, 2, 0, 0, 1, 1, 2","ColorSpace":"1","Contrast":"0","CustomRendered":"0","DateTime":"2019:05:17 12:13:14","DateTimeDigitized":"2019:05:16 09:58:46","DateTimeOriginal":"2019:05:16 09:58:46","DigitalZoomRatio":"1/1","ExifOffset":"258","ExifVersion":"48, 50, 51, 49","ExposureBiasValue":"6/6","ExposureMode":"1","ExposureProgram":"1","ExposureTime":"1/160","FileSource":"3","Flash":"16","FNumber":"56/10","FocalLength":"480/10","FocalLengthIn35mmFilm":"48","FocalPlaneResolutionUnit":"3","FocalPlaneXResolution":"67122044/32768","FocalPlaneYResolution":"67122044/32768","GainControl":"0","LensModel":"24.0-120.0 mm f/4.0","LensSpecification":"240/10, 1200/10, 40/10, 40/10","LightSource":"0","Make":"NIKON CORPORATION","MaxApertureValue":"40/10","MeteringMode":"2","Model":"NIKON D810","OffsetTime":"-05:00","PhotographicSensitivity":"80","ResolutionUnit":"2","Saturation":"0","SceneCaptureType":"0","SceneType":"1","SensingMethod":"2","SensitivityType":"2","Sharpness":"1","ShutterSpeedValue":"7321928/1000000","Software":"Adobe Photoshop Lightroom Classic 8.3 (Macintosh)","SubjectDistanceRange":"0","SubSecTimeOriginal":"41","Compression":"6","JPEGInterchangeFormat":"1034","JPEGInterchangeFormatLength":"17810","XResolution":"72/1","YResolution":"72/1","WhiteBalance":"0"},"original_filename":"file"},"alt_text_raw":"The Dash","content_owner":"default","custom_show_credits":false,"title_sort":"the dash","updated":"2025-04-30T20:00:33.734Z","private":false,"deleted":false,"resource":{"raw":{"resource_type":"image","format":"jpg","pages":1,"public_id":"clients/fortworth/The_Dash_on_the_road_3d2d6a94-0c9d-45fa-8742-a544a468ec2a"}},"id":"5d38a81010084e049872ac1c","type":"image","inAssetRequest":false,"alt_text":"The Dash","expired":false},"id":"5747959f77cb37086e9a0244","parent_id_string":"6601d9b398dce6453431c598","version_id_string":"6848a10193ca97e3d6e8fede","href":"/plan-your-stay/transportation/","absoluteHref":"https://www.fortworth.com/plan-your-stay/transportation/","absoluteFolderHref":"https://www.fortworth.com/plan-your-stay/transportation/","metaTitle":"Getting Around Fort Worth | Transportation Options","rootCmsUrl":"/nav/sitemap/site_primary/section_main/"},"num":13,"guid":"4422430e-a0be-4589-b828-7257468192e2","data":{},"civ":{"instance":{"type":"widget","name":"plugins_common_social_share","site_name":"primary","saved":false,"created":"2024-03-25T18:33:41.595Z","updated":"2024-03-25T18:33:41.595Z","deleted":false,"id":"6601c37a98dce6453431c389","version_id_string":"6601c37a98dce6453431c38a"},"version":{"created":"2024-03-25T18:33:41.601Z","id":"6601c37a98dce6453431c38a","instance_id_string":"6601c37a98dce6453431c389","data":{}},"onTrunk":true,"civid":"6601c37a98dce6453431c389"},"name":"plugins_common_social_share"}};
socialShare.init("4422430e-a0be-4589-b828-7257468192e2", data)
});
Transportation
Fort Worth is located in the center of the United States, so it’s accessible from practically anywhere. And once you’re in town, it’s very easy to get around Fort Worth or travel to nearby cities.
Train to and from DFW Airport Cost: $2.00 for a single ride
","innerStart":0,"innerEnd":1279,"end":1279}},"custom_asset_credits":{"hitCount":190592,"raw":"{{:credits}}{{:custom_show_credits}} {{credits}}{{/}}{{/credits}}","html":"Ͼ:creditsϿϾ:custom_show_creditsϿ ϾcreditsϿϾ/ϿϾ/creditsϿ","context":{"tags":[{"label":"credits","labelArr":[{"label":"credits"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"","command":":","modifier":"","start":0,"end":137,"innerStart":10,"innerEnd":127,"tags":[{"label":"custom_show_credits","labelArr":[{"label":"custom_show_credits"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"","command":":","modifier":"","start":10,"end":127,"innerStart":32,"innerEnd":124,"tags":[{"label":"videoid","labelArr":[{"label":"videoid"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"","command":":","modifier":"","start":52,"end":71,"innerStart":62,"innerEnd":68,"tags":[],"inner":" video"},{"label":"credits","labelArr":[{"label":"credits"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":108,"end":117,"innerStart":117,"tags":[]}],"inner":" ϾcreditsϿ"}],"inner":"Ͼ:custom_show_creditsϿ ϾcreditsϿϾ/Ͽ"}],"start":0,"inner":"Ͼ:creditsϿϾ:custom_show_creditsϿ ϾcreditsϿϾ/ϿϾ/creditsϿ","innerStart":0,"innerEnd":137,"end":137}},"custom_responsive_image":{"hitCount":223235,"raw":"{{~setVar('useLazyLoading', data.useLazyLoading !== undefined ? data.useLazyLoading : true)}}\r\n\r\n{{~exec(function() {\r\n let asmActive = false;\r\n \r\n if (helpers.plugins.miscLib && helpers.plugins.sv_site) {\r\n // fallback for older collection helpers where miscLib/sv_site are not in goatee context\r\n asmActive = helpers.plugins.miscLib.varLookup(helpers.plugins.sv_site.siteConfig.custom, 'asm.active');\r\n }\r\n\r\n const asmSetting = asmActive ? { gravity: 'auto' } : {};\r\n const userSettings = data.cloudinarySettings || {};\r\n const errorMessage = `The responsive image template requires an asset and a config object. Please see core collection templates for examples.`;\r\n const formats = ['avif', 'webp', 'jpg']; // image formats\r\n const cloudinarySettings = { // used on every image\r\n crop: 'fill',\r\n quality: 65,\r\n sv: { gravity: 'focalPoint' },\r\n\t\t...userSettings,\r\n ...asmSetting,\r\n };\r\n let sizes;\r\n\r\n helpers.var.useLazyLoading = data.useLazyLoading !== undefined ? data.useLazyLoading : true;\r\n\r\n helpers.var.sources = [];\r\n\r\n // warn user if no config object was provided\r\n if (!data.config) {\r\n console.log(errorMessage);\r\n\r\n return ``;\r\n }\r\n\r\n // combine image sizes\r\n sizes = [\r\n ...data.config.mediaSources,\r\n {\r\n imageWidth: data.config.mobileImageRatio.width,\r\n imageHeight: data.config.mobileImageRatio.height,\r\n }\r\n ];\r\n\r\n helpers.var.sources = sizes.map(({ imageWidth, imageHeight, minScreenSize }) => {\r\n return formats.map(fetch_format => {\r\n return {\r\n src: data.asset.resource.getThumbnailUrl({\r\n ...cloudinarySettings,\r\n fetch_format,\r\n width: imageWidth,\r\n height: imageHeight\r\n }),\r\n format: fetch_format === 'jpg' ? 'jpeg' : fetch_format,\r\n minScreenSize,\r\n isDefault: minScreenSize === undefined && fetch_format.match(/jpe*g/) !== null,\r\n alt_text: data.asset.alt_text,\r\n width: imageWidth,\r\n height: imageHeight\r\n };\r\n });\r\n }).reduce((a, b) => a.concat(b), []);\r\n})}}\r\n\r\n{{:~equal(!!data.asset && !!data.asset.resource, true)}}\r\n\r\n {{#~var.sources}}\r\n {{!isDefault}}\r\n \r\n {{?}}\r\n \r\n {{/}}\r\n {{/}}\r\n\r\n{{?}}\r\n{{~log('No asset was passed into the repsonsive image partial. Please provide an asset.')}}\r\n\r\n{{/}}","html":"Ͼ~setVarԒ('useLazyLoading', data.useLazyLoading !== undefined ? data.useLazyLoading : trueԒ)Ͽ\r\n\r\nϾ~execԒ(function() {\r\n let asmActive = false;\r\n \r\n if (helpers.plugins.miscLib && helpers.plugins.sv_site) {\r\n // fallback for older collection helpers where miscLib/sv_site are not in goatee context\r\n asmActive = helpers.plugins.miscLib.varLookup(helpers.plugins.sv_site.siteConfig.custom, 'asm.active');\r\n }\r\n\r\n const asmSetting = asmActive ? { gravity: 'auto' } : {};\r\n const userSettings = data.cloudinarySettings || {};\r\n const errorMessage = `The responsive image template requires an asset and a config object. Please see core collection templates for examples.`;\r\n const formats = ['avif', 'webp', 'jpg']; // image formats\r\n const cloudinarySettings = { // used on every image\r\n crop: 'fill',\r\n quality: 65,\r\n sv: { gravity: 'focalPoint' },\r\n\t\t...userSettings,\r\n ...asmSetting,\r\n };\r\n let sizes;\r\n\r\n helpers.var.useLazyLoading = data.useLazyLoading !== undefined ? data.useLazyLoading : true;\r\n\r\n helpers.var.sources = [];\r\n\r\n // warn user if no config object was provided\r\n if (!data.config) {\r\n console.log(errorMessage);\r\n\r\n return ``;\r\n }\r\n\r\n // combine image sizes\r\n sizes = [\r\n ...data.config.mediaSources,\r\n {\r\n imageWidth: data.config.mobileImageRatio.width,\r\n imageHeight: data.config.mobileImageRatio.height,\r\n }\r\n ];\r\n\r\n helpers.var.sources = sizes.map(({ imageWidth, imageHeight, minScreenSize }) => {\r\n return formats.map(fetch_format => {\r\n return {\r\n src: data.asset.resource.getThumbnailUrl({\r\n ...cloudinarySettings,\r\n fetch_format,\r\n width: imageWidth,\r\n height: imageHeight\r\n }),\r\n format: fetch_format === 'jpg' ? 'jpeg' : fetch_format,\r\n minScreenSize,\r\n isDefault: minScreenSize === undefined && fetch_format.match(/jpe*g/) !== null,\r\n alt_text: data.asset.alt_text,\r\n width: imageWidth,\r\n height: imageHeight\r\n };\r\n });\r\n }).reduce((a, b) => a.concat(b), []);\r\n}Ԓ)Ͽ\r\n\r\nϾ:~equalԒ(!!data.asset && !!data.asset.resource, trueԒ)Ͽ\r\n\r\n Ͼ#~var.sourcesϿ\r\n Ͼ!isDefaultϿ\r\n \r\n Ͼ?Ͽ\r\n \r\n Ͼ/Ͽ\r\n Ͼ/Ͽ\r\n\r\nϾ?Ͽ\r\nϾ~logԒ('No asset was passed into the repsonsive image partial. Please provide an asset.'Ԓ)Ͽ\r\n\r\nϾ/Ͽ","context":{"tags":[{"label":"setVarԒ('useLazyLoading', data.useLazyLoading !== undefined ? data.useLazyLoading : trueԒ)","labelArr":[{"label":"setVar","argString":"'useLazyLoading', data.useLazyLoading !== undefined ? data.useLazyLoading : true"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"~","command":"","modifier":"","start":0,"end":93,"innerStart":93,"tags":[]},{"label":"execԒ(function() {\r\n let asmActive = false;\r\n \r\n if (helpers.plugins.miscLib && helpers.plugins.sv_site) {\r\n // fallback for older collection helpers where miscLib/sv_site are not in goatee context\r\n asmActive = helpers.plugins.miscLib.varLookup(helpers.plugins.sv_site.siteConfig.custom, 'asm.active');\r\n }\r\n\r\n const asmSetting = asmActive ? { gravity: 'auto' } : {};\r\n const userSettings = data.cloudinarySettings || {};\r\n const errorMessage = `The responsive image template requires an asset and a config object. Please see core collection templates for examples.`;\r\n const formats = ['avif', 'webp', 'jpg']; // image formats\r\n const cloudinarySettings = { // used on every image\r\n crop: 'fill',\r\n quality: 65,\r\n sv: { gravity: 'focalPoint' },\r\n\t\t...userSettings,\r\n ...asmSetting,\r\n };\r\n let sizes;\r\n\r\n helpers.var.useLazyLoading = data.useLazyLoading !== undefined ? data.useLazyLoading : true;\r\n\r\n helpers.var.sources = [];\r\n\r\n // warn user if no config object was provided\r\n if (!data.config) {\r\n console.log(errorMessage);\r\n\r\n return ``;\r\n }\r\n\r\n // combine image sizes\r\n sizes = [\r\n ...data.config.mediaSources,\r\n {\r\n imageWidth: data.config.mobileImageRatio.width,\r\n imageHeight: data.config.mobileImageRatio.height,\r\n }\r\n ];\r\n\r\n helpers.var.sources = sizes.map(({ imageWidth, imageHeight, minScreenSize }) => {\r\n return formats.map(fetch_format => {\r\n return {\r\n src: data.asset.resource.getThumbnailUrl({\r\n ...cloudinarySettings,\r\n fetch_format,\r\n width: imageWidth,\r\n height: imageHeight\r\n }),\r\n format: fetch_format === 'jpg' ? 'jpeg' : fetch_format,\r\n minScreenSize,\r\n isDefault: minScreenSize === undefined && fetch_format.match(/jpe*g/) !== null,\r\n alt_text: data.asset.alt_text,\r\n width: imageWidth,\r\n height: imageHeight\r\n };\r\n });\r\n }).reduce((a, b) => a.concat(b), []);\r\n}Ԓ)","labelArr":[{"label":"exec","argString":"function() {\r\n let asmActive = false;\r\n \r\n if (helpers.plugins.miscLib && helpers.plugins.sv_site) {\r\n // fallback for older collection helpers where miscLib/sv_site are not in goatee context\r\n asmActive = helpers.plugins.miscLib.varLookup(helpers.plugins.sv_site.siteConfig.custom, 'asm.active');\r\n }\r\n\r\n const asmSetting = asmActive ? { gravity: 'auto' } : {};\r\n const userSettings = data.cloudinarySettings || {};\r\n const errorMessage = `The responsive image template requires an asset and a config object. Please see core collection templates for examples.`;\r\n const formats = ['avif', 'webp', 'jpg']; // image formats\r\n const cloudinarySettings = { // used on every image\r\n crop: 'fill',\r\n quality: 65,\r\n sv: { gravity: 'focalPoint' },\r\n\t\t...userSettings,\r\n ...asmSetting,\r\n };\r\n let sizes;\r\n\r\n helpers.var.useLazyLoading = data.useLazyLoading !== undefined ? data.useLazyLoading : true;\r\n\r\n helpers.var.sources = [];\r\n\r\n // warn user if no config object was provided\r\n if (!data.config) {\r\n console.log(errorMessage);\r\n\r\n return ``;\r\n }\r\n\r\n // combine image sizes\r\n sizes = [\r\n ...data.config.mediaSources,\r\n {\r\n imageWidth: data.config.mobileImageRatio.width,\r\n imageHeight: data.config.mobileImageRatio.height,\r\n }\r\n ];\r\n\r\n helpers.var.sources = sizes.map(({ imageWidth, imageHeight, minScreenSize }) => {\r\n return formats.map(fetch_format => {\r\n return {\r\n src: data.asset.resource.getThumbnailUrl({\r\n ...cloudinarySettings,\r\n fetch_format,\r\n width: imageWidth,\r\n height: imageHeight\r\n }),\r\n format: fetch_format === 'jpg' ? 'jpeg' : fetch_format,\r\n minScreenSize,\r\n isDefault: minScreenSize === undefined && fetch_format.match(/jpe*g/) !== null,\r\n alt_text: data.asset.alt_text,\r\n width: imageWidth,\r\n height: imageHeight\r\n };\r\n });\r\n }).reduce((a, b) => a.concat(b), []);\r\n}"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"~","command":"","modifier":"","start":97,"end":2311,"innerStart":2311,"tags":[]},{"label":"equalԒ(!!data.asset && !!data.asset.resource, trueԒ)","labelArr":[{"label":"equal","argString":"!!data.asset && !!data.asset.resource, true"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"~","command":":","modifier":"","start":2315,"end":3203,"innerStart":2371,"innerEnd":3200,"tags":[{"label":"var.sources","labelArr":[{"label":"var"},{"label":"sources"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"~","command":"#","modifier":"","start":2388,"end":3186,"innerStart":2403,"innerEnd":3183,"tags":[{"label":"isDefault","labelArr":[{"label":"isDefault"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"","command":"!","modifier":"","start":2413,"end":2773,"innerStart":2425,"innerEnd":2770,"tags":[{"label":"src","labelArr":[{"label":"src"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2472,"end":2477,"innerStart":2477,"tags":[]},{"label":"equalԒ(data.minScreenSize !== undefined, trueԒ)","labelArr":[{"label":"equal","argString":"data.minScreenSize !== undefined, true"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"~","command":":","modifier":"","start":2496,"end":2637,"innerStart":2547,"innerEnd":2634,"tags":[{"label":"minScreenSize","labelArr":[{"label":"minScreenSize"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2599,"end":2614,"innerStart":2614,"tags":[]}],"inner":"\r\n media=\"screen and (min-width: ϾminScreenSizeϿ)\"\r\n "},{"label":"format","labelArr":[{"label":"format"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2667,"end":2675,"innerStart":2675,"tags":[]},{"label":"width","labelArr":[{"label":"width"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2701,"end":2708,"innerStart":2708,"tags":[]},{"label":"height","labelArr":[{"label":"height"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2735,"end":2743,"innerStart":2743,"tags":[]}],"inner":"\r\n \r\n "},{"labelArr":[],"elseTag":true,"ifElseTag":true,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2770,"end":3177,"innerStart":2773,"innerEnd":3174,"tags":[{"label":"src","labelArr":[{"label":"src"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2849,"end":2854,"innerStart":2854,"tags":[]},{"label":"alt_text","labelArr":[{"label":"alt_text"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"%","modifier":"","start":2878,"end":2889,"innerStart":2889,"tags":[]},{"label":"var.useLazyLoading","labelArr":[{"label":"var"},{"label":"useLazyLoading"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"~","command":":","modifier":"","start":2917,"end":2946,"innerStart":2939,"innerEnd":2943,"tags":[],"inner":"lazy"},{"labelArr":[],"elseTag":true,"ifElseTag":true,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":2943,"end":2954,"innerStart":2946,"innerEnd":2951,"tags":[],"inner":"eager"},{"label":"var.useLazyLoading","labelArr":[{"label":"var"},{"label":"useLazyLoading"}],"elseTag":false,"ifElseTag":true,"ifStarterTag":true,"backTrack":0,"lookup":"~","command":":","modifier":"","start":2988,"end":3016,"innerStart":3010,"innerEnd":3013,"tags":[],"inner":"low"},{"labelArr":[],"elseTag":true,"ifElseTag":true,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":3013,"end":3023,"innerStart":3016,"innerEnd":3020,"tags":[],"inner":"high"},{"label":"width","labelArr":[{"label":"width"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":3049,"end":3056,"innerStart":3056,"tags":[]},{"label":"height","labelArr":[{"label":"height"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":3083,"end":3091,"innerStart":3091,"tags":[]}],"inner":"\r\n \r\n "}],"inner":"\r\n Ͼ!isDefaultϿ\r\n \r\n Ͼ?Ͽ\r\n \r\n Ͼ/Ͽ\r\n "}],"inner":"\r\n\r\n Ͼ#~var.sourcesϿ\r\n Ͼ!isDefaultϿ\r\n \r\n Ͼ?Ͽ\r\n \r\n Ͼ/Ͽ\r\n Ͼ/Ͽ\r\n\r\n"},{"labelArr":[],"elseTag":true,"ifElseTag":true,"ifStarterTag":false,"backTrack":0,"lookup":"","command":"","modifier":"","start":3200,"end":3359,"innerStart":3203,"innerEnd":3356,"tags":[{"label":"logԒ('No asset was passed into the repsonsive image partial. Please provide an asset.'Ԓ)","labelArr":[{"label":"log","argString":"'No asset was passed into the repsonsive image partial. Please provide an asset.'"}],"elseTag":false,"ifElseTag":false,"ifStarterTag":false,"backTrack":0,"lookup":"~","command":"","modifier":"","start":3205,"end":3296,"innerStart":3296,"tags":[]}],"inner":"\r\nϾ~logԒ('No asset was passed into the repsonsive image partial. Please provide an asset.'Ԓ)Ͽ\r\n\r\n"}],"start":0,"inner":"Ͼ~setVarԒ('useLazyLoading', data.useLazyLoading !== undefined ? data.useLazyLoading : trueԒ)Ͽ\r\n\r\nϾ~execԒ(function() {\r\n let asmActive = false;\r\n \r\n if (helpers.plugins.miscLib && helpers.plugins.sv_site) {\r\n // fallback for older collection helpers where miscLib/sv_site are not in goatee context\r\n asmActive = helpers.plugins.miscLib.varLookup(helpers.plugins.sv_site.siteConfig.custom, 'asm.active');\r\n }\r\n\r\n const asmSetting = asmActive ? { gravity: 'auto' } : {};\r\n const userSettings = data.cloudinarySettings || {};\r\n const errorMessage = `The responsive image template requires an asset and a config object. Please see core collection templates for examples.`;\r\n const formats = ['avif', 'webp', 'jpg']; // image formats\r\n const cloudinarySettings = { // used on every image\r\n crop: 'fill',\r\n quality: 65,\r\n sv: { gravity: 'focalPoint' },\r\n\t\t...userSettings,\r\n ...asmSetting,\r\n };\r\n let sizes;\r\n\r\n helpers.var.useLazyLoading = data.useLazyLoading !== undefined ? data.useLazyLoading : true;\r\n\r\n helpers.var.sources = [];\r\n\r\n // warn user if no config object was provided\r\n if (!data.config) {\r\n console.log(errorMessage);\r\n\r\n return ``;\r\n }\r\n\r\n // combine image sizes\r\n sizes = [\r\n ...data.config.mediaSources,\r\n {\r\n imageWidth: data.config.mobileImageRatio.width,\r\n imageHeight: data.config.mobileImageRatio.height,\r\n }\r\n ];\r\n\r\n helpers.var.sources = sizes.map(({ imageWidth, imageHeight, minScreenSize }) => {\r\n return formats.map(fetch_format => {\r\n return {\r\n src: data.asset.resource.getThumbnailUrl({\r\n ...cloudinarySettings,\r\n fetch_format,\r\n width: imageWidth,\r\n height: imageHeight\r\n }),\r\n format: fetch_format === 'jpg' ? 'jpeg' : fetch_format,\r\n minScreenSize,\r\n isDefault: minScreenSize === undefined && fetch_format.match(/jpe*g/) !== null,\r\n alt_text: data.asset.alt_text,\r\n width: imageWidth,\r\n height: imageHeight\r\n };\r\n });\r\n }).reduce((a, b) => a.concat(b), []);\r\n}Ԓ)Ͽ\r\n\r\nϾ:~equalԒ(!!data.asset && !!data.asset.resource, trueԒ)Ͽ\r\n\r\n Ͼ#~var.sourcesϿ\r\n Ͼ!isDefaultϿ\r\n \r\n Ͼ?Ͽ\r\n \r\n Ͼ/Ͽ\r\n Ͼ/Ͽ\r\n\r\nϾ?Ͽ\r\nϾ~logԒ('No asset was passed into the repsonsive image partial. Please provide an asset.'Ԓ)Ͽ\r\n\r\nϾ/Ͽ","innerStart":0,"innerEnd":3359,"end":3359}},"custom_play_button":{"hitCount":125482,"raw":"\n","html":"\n","context":{"tags":[],"start":0,"inner":"\n","innerStart":0,"innerEnd":114,"end":114}}}},"modelName":"plugins_collections_type_custom_slides"}
Ride Sharing
Download the Uber or Lyft apps on your smart phone to pick up a ride in minutes. These apps will match you with a local driver who will take you to your destination, and you can simply pay with your phone at the end of your trip.
Bike-Sharing: Trinity Metro Bikes
Trinity Metro Bikes provides Fort Worth with a bike-sharing program that is an inexpensive, healthy and environmentally friendly way to get around. Simply pick up a bike at any bike-sharing station and ride it to any other station. You’ll find more than 40 docking stations throughout the city, including downtown, the Near Southside and the Cultural District.
Discover free parking by district.
Sundance Square customer parking validation is available for 2.5 hours at 265 W 5th Street.
Walking Maps
Ready to hoof it? Walking is a wonderful way to experience the major entertainment districts in addition to the Trinity Trails that connect several of our major districts.