Building bridges brings the Illinois Tollway and communities together

Bridges-blog_0621 copy.jpg

At the Illinois Tollway, the start of every good construction project begins with coordination with local communities.
 
Reaching out to counties and communities when project planning begins provides the opportunity for the Tollway to ensure all are aware of potential impacts to local roads. It also opens the door to coordinate improvements and cost sharing, making public funds go farther.    
 
This summer, the Tollway’s work includes coordinated efforts to rebuild two local crossroad bridges – one in Gurnee crossing the Tri-State Tollway (I-94) and another in Oak Brook crossing ramps connecting the Reagan Memorial Tollway (I-88) and the Tri-State Tollway (I-294). Both bridges are scheduled to be complete by the end of 2021.
 
“More than ever, we – counties, communities and the state – are all working together to achieve shared goals: stimulate the economy, create jobs and improve mobility throughout the region,” said Illinois Tollway Executive Director José Alvarez. “While these may be small projects, collaborating to build local bridges represents all that is right about investments in infrastructure – our commitment to smart transportation planning, our capacity to share funding and our ability to improve travel.”
 
In Gurnee, the Tollway, Village of Gurnee and Lake County Division of Transportation are working together to replace the 70-year-old Stearns School Road Bridge over the Tri-State Tollway. The new bridge structure has been designed to provide for three lanes of tra¿c, wider shoulders, as well as additional bicycle and pedestrian access.  Currently, up to 15,900 vehicles use the Stearns School Road Bridge daily.
 
Because the Illinois Tollway typically constructs new bridges with a 75-year service life, the new bridge is being built to accommodate future local roadway improvements anticipated by the village and the county, so the $12 million project includes $5.4 million in local cost participation from Village of Gurnee and Lake County for the extra improvements.
 
In Oak Brook, the Tollway is contributing $7.5 million to rebuild the Windsor Drive Bridge carrying local tra¿c over the Tollway ramps connecting I-88 and I-294. The new, wider bridge will provide four lanes on Windsor Drive along with a 10-foot-wide landscaped median and sidewalks in both directions and is needed to accommodate work underway by the Village of Oak Brook to widen Windsor Drive Swift Road and Cermak Road. 
 
Currently, up to 6,500 vehicles use the Windsor Drive Bridge daily, which includes some of the heaviest volumes of passenger and truck freight tra¿c in the Village of Oak Brook. The Tollway’s work to replace the bridge, supports work by Oak Brook to improve the frequently congested area and allow drivers to travel more safely, reliably and e¿ciently in DuPage County.

An error occurred while processing the template.
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(&quot;${imageURL}&quot;)"> 
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}&nbsp;</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>