Building Bridges Raises OHare Airport Lights to Clear a Path for the New I-490 Tollway

The Illinois Tollway is building four unusual bridges along the western edge of O’Hare International Airport that won’t carry cars, trucks or even pedestrians.
As part of its work to build the new I-490 Tollway, the Tollway is constructing the bridges to support the specialized approach lights used to help guide commercial jets to safe landings on O’Hare Airport runways.
The new I-490 Tollway will run near the edge of O’Hare Airport and its planned path will take it directly through approach lighting systems for four runways. At each runway location, a string of more than a dozen approach lights flash sequentially to direct jets during the landing process.
Building the narrow steel bridges will raise several of the approach lights for each runway above the I-490 right-of-way so the new road can be built underneath, while jets can continue to use the lights as a navigational aid to safely land at O’Hare at night or when visibility is poor. Based on its location, each bridge will hold either three or four of the light towers.
The key to building the bridges, according to Tollway engineers, is maintaining the required distance between each of the lights so incoming jets can hold the proper height and descent angle as they approach the runways.
Because the distance between the lights is critical, engineers and construction crews have to ensure that each light on the new bridges will be spaced between 90 and 105 feet apart—maintaining the same spacing required of the other lights on the ground at either end of the bridges.
The timing of the construction has been challenging, given the importance of the approach lights to daily airline operations at O’Hare.
Since all of the approach lights at the western end of each runway must be taken out of service during construction of each new bridge, the Tollway has been limited to constructing one bridge annually to limit the impact of the work on daily flights.
The first of the four new bridges is in operation at Runway 10 Left near the southern end of O’Hare after being completed last year.
Crews currently are building the second bridge at the end of Runway 9 Left, with that work scheduled to be completed this year.
The two additional bridges are scheduled to be built in 2024 and 2025.
Failed to "?eval" string with this error:
---begin-message---
Syntax error in ?eval-ed string in line 1, column 53:
Lexical error: encountered "u" (117), after "\"Reaching New Milestones \\".
---end-message---
The failing expression:
==> imageJSON?eval [in template "20157#20197#1153404" at line 152, column 41]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign imageStr = imageJSON?eval [in template "20157#20197#1153404" at line 152, column 21]
----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the left panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<style>
10 img {
11 max-width: 100%;
12 width: auto\9;
13 height: auto;
14 vertical-align: middle;
15 border: 0;
16 -ms-interpolation-mode: bicubic;
17 }
18
19 .image-large{
20 width: 100%
21 }
22
23 .image-medium{
24 padding-top: 10px;
25 max-height: 100%;
26 }
27
28 .image-small{
29 display: block;
30 width: 100%;
31 height: 0px;
32 background-size: cover;
33 background-position: center;
34 background-repeat: no-repeat;
35 padding-bottom:100%;
36 }
37
38 .separator {
39 border-top: 1px dotted #bfbfbf !important;
40 }
41
42 /* Avoid buttons being croped in small devices*/
43 .taglib-page-iterator .lfr-pagination-buttons>li>a{
44 width: auto !important;
45 }
46
47 @media screen and (max-width: 750px) {
48 .navbar-search.pull-right{
49 max-width: 100%;
50 }
51 }
52
53 @media screen and (max-width: 979px){
54 .form-search .btn[type="submit"]{
55 display: block !important;
56 position: inherit !important;
57 margin-top: 10px !important;
58
59 -webkit-border-radius: 14px 14px 14px 14px !important;
60 -moz-border-radius: 14px 14px 14px 14px !important;
61 border-radius: 14px 14px 14px 14px !important;
62 }
63
64 .navbar-search.pull-right{
65 max-width: 90%;
66 }
67 }
68
69 .entry-content {
70 margin-bottom: 0px;
71 }
72 .entry-body p {
73 line-height: 18px;
74 margin-bottom: 10px;
75 }
76
77 .entry-date {
78 color: #999;
79 }
80 .entry-footer:after {
81 display: inline;
82 content: initial;
83 }
84
85 .pagination-bar {
86 align-items: center;
87 display: flex;
88 flex-wrap: wrap;
89 clear: both;
90 height: auto;
91 width: auto;
92 }
93
94 .pagination-bar .pagination .page-item .page-link{
95 color: #009c34;
96 }
97 .pagination-bar .pagination .page-item .page-link:hover {
98 color: #0B3D16;
99 text-decoration: none;
100 }
101 .pagination-bar .pagination .page-item .page-link:focus {
102 box-shadow: 0 0 0 0.2rem #28a7453d;
103 }
104 .pagination-bar .pagination .page-item.disabled .page-link {
105 color: #6c757d;
106 }
107 .page-link:active, .page-link.active, .nav-underline .tab.active a.page-link {
108 background-color: #009c34;
109 border-color: #009c34;
110 }
111 .entry-title h2 {
112 margin-right: 0px;
113 }
114 .page-item.active .page-link, .nav-underline .tab.active a.page-item .page-link, .page-item.show .page-link {
115 background-color: #009c34;
116 border-color: #009c34;
117 color: #FFF !important;
118 cursor: default;
119 z-index: 3;
120 }
121 .twitter-share-button.twitter-share-button-rendered.twitter-tweet-button {
122 width: initial !important;
123 }
124
125</style>
126
127
128 <#if entries?has_content>
129
130 <h3 style="color:black !important;">PREVIOUS POSTS</h3>
131
132 <#list entries as curEntry>
133 <#-- -- > ${curEntry?index} -->
134 <div class="entry col-md-12" style="padding-bottom: 10px;">
135 <div class="" style="padding-right: 0px; padding-left: 0px;">
136 <#assign
137 assetRenderer = curEntry.getAssetRenderer()
138 journalArticle = assetRenderer.getAssetObject()
139 doc = saxReaderUtil.read(journalArticle.getContentByLocale("en_US"))
140 rootElement = doc.getRootElement()
141 dynamicElements = rootElement.elements()
142 />
143
144
145
146
147 <#list dynamicElements>
148 <#items as dynamicElement>
149
150 <#if "BigImage" == dynamicElement.attributeValue("name") >
151 <#assign imageJSON = dynamicElement.element("dynamic-content").getText()>
152 <#assign imageStr = imageJSON?eval>
153 <#assign imageURL = "/c/document_library/get_file?uuid=" + imageStr.uuid+ "&groupId=" + imageStr.groupId/>
154
155
156 <div class="col-md-4 col-sm-12" style="padding-right: 0px; padding-left: 0px;">
157
158
159 <div class="image-small" style="background-image: url("${imageURL}")">
160
161 </div>
162 </div>
163
164
165
166 </#if>
167
168
169
170
171 <#if "Title" == dynamicElement.attributeValue("name") >
172 <#assign title = dynamicElement.element("dynamic-content").getText()>
173 <div class="col-md-8 col-sm-12">
174
175 <div class="entry-content">
176 <div class="entry-title">
177 <h2><a href="${themeDisplay.getPortalURL()+"/-/"+assetRenderer.getUrlTitle()}" style="color: #009c34">${title} </a></h2>
178 </div>
179 </div>
180
181
182
183 </#if>
184
185 <#if "DisplayDate" == dynamicElement.attributeValue("name") >
186 <#assign displayDate = dynamicElement.element("dynamic-content").getText()>
187
188
189 <div class="entry-footer">
190 <span class="entry-date">
191 <span class=" lfr-portal-tooltip" title="Date">
192 <img id="mefv__column1__1" src="https://www.illinoistollway.com/o/istha-public/images/common/date.png" alt="Date" title="Date">
193 <span class="taglib-text hide-accessible">Date</span>
194 </span>
195 ${displayDate}
196 </span>
197 </div>
198
199 </div>
200 </#if>
201
202 </#items>
203 <div class="col-md-12 col-sm-12">
204 <div class="separator"><!-- --></div>
205 </div>
206 </#list>
207 </div>
208 </div>
209 </#list>
210</#if>