html, body { color: #373737; font-family: franklin-gothic-urw, sans-serif; font-size: 18px; -webkit-font-smoothing: antialiased; }
.container { padding: 0; width: 100%; }
.row { margin: 0; }
.vertical-center > div { float: none; display: inline-block; margin-left: -.5%; vertical-align: middle; }
.vertical-center > div:first-of-type { margin: 0; }

/* Links */
a { transition: background-color .2s, color .2s; }
a:hover,
a:focus { text-decoration: none; }
.button { background-color: #c47; border-radius: 14px; border: 0; color: #fff; display: inline-block; letter-spacing: .05em; margin-top: 12px; padding: 4px 16px; transition: background-color .2s; }
.button:hover { background-color: #b16; color: #fff; }
.button:focus { color: #fff; }

a.link {
    text-decoration: underline;
    transition: filter 150ms ease-in-out;
    font-weight: 600;
}

a.link:hover {
    filter: brightness(80%);
}

#rail-safety .link:hover {
    color: #DFF5F2;
}

#skiptocontent { background-color: #fff; border-radius: 8px; box-shadow: 2px 2px 8px 0 #000; font-size: 1.3em; left: -9999px; padding: 3px 12px; position: absolute; top: -9999px; }
#skiptocontent:focus { left: 8px; top: 8px; }
.ada-element { left: -9999px; position: absolute; }

.vc:before { content: ""; display: inline-block; height: 100%; vertical-align: middle; }
.vc > * { display: inline-block; vertical-align: middle; }

.list-var { min-height: 110px; padding-left: 120px; position: relative; }
.list-var > img { left: 0; position: absolute; width: 100px; }

.circ { background: #c47; border-radius: 50%; height: 100px; line-height: 100px; text-align: center; width: 100px; }
.circ img { width: 60px; }

/* Headers */
h1 { font-size: 3.3em; margin: 30px 0 22px; }
h2 { font-size: 2.2em; margin: 12px 0 0; }
h3 { font-size: 1.8em; margin: 28px 0 0; }
h4 { font-size: 1.6em; margin: 28px 0 0; }
h5 { font-size: 1.4em; margin: 26px 0 0; }
h6 { font-size: 1.3em; margin: 26px 0 0; }

/* Paragraphs & Lists */
p { line-height: 1.5em; margin: 16px 0 6px; }
ul, ol { margin: 16px 0 10px; }
li { line-height: 1.4em; margin-bottom: 8px; }
img { max-width: 100%; }

/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; width: 100%; }
input[type="text"] { color: #000; margin-bottom: 8px; padding-left: 3px; width: 100%; }
textarea { height: 80px; margin-bottom: 8px; padding: 3px 5px; resize: none; width: 100%; }
input[type="checkbox"],
input[type="radio"] { margin: 0 4px 0 2px; }
input[type="checkbox"] + label,
input[type="radio"] + label { display: inline-block; margin-right: 14px; position: relative; top: -1px; width: auto; }
input[type="submit"],
input[type="reset"] { background-color: #189580; border-radius: 14px; border: 0; color: #fff; letter-spacing: .05em; margin-top: 14px; padding: 4px 16px; transition: background-color .2s; }
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover { background-color: #0c7765; }

/* Tables */
table { border: 1px solid #333; margin: 14px 0; width: 100%; }
table tr th { border: 1px solid #333; padding: 2px 4px; }
table tr td { border: 1px solid #333; padding: 2px 4px; }

/* Quick Header */
.header { background-color: #fff; color: #fff; height: 74px; padding: 12px 20px; position: relative; }
.header h1 { left: -9999px; position: absolute; }
.header img { height: 48px; margin-right: 6px; }
.header .nav { background: #fff; height: 100%; line-height: 74px; padding: 0; position: absolute; right: 16px; top: 0; }
.header .nav > ul { height: 100%; margin: 0; padding: 0; }
.header .nav > ul > li { float: left; height: 100%; margin: 0; padding: 0; position: relative; }
.header .nav > ul > li i { font-size: .9em; margin-left: 2px; transition: .5s; }
.header .nav > ul > li:after { background: #dbdbe4; content: ""; height: 22px; left: 100%; margin-left: -1px; margin-top: -11px; position: absolute; top: 50%; width: 2px; }
.header .nav > ul > li:last-of-type:after { display: none; }
.header .nav > ul > li > ul { background: #fff; left: -9999px; list-style-type: none; margin: 0; opacity: 0; padding: 0; position: absolute; top: 100%; width: 204px; z-index: 5; }
.header .nav > ul > li:hover > ul { left: 0; opacity: 1; transition: left 0s, opacity .2s; }
.header .nav > ul > li:hover i { margin-top: 1px; transform: rotateX(180deg); }
.header li a { background: #fff; color: #1e417c; display: block; font-size: .9em; font-weight: 700; height: 100%; line-height: 74px; padding: 0 21px; }
.header li a:hover { color: #102b59; }
.header .nav > ul > li > ul li { margin: 0; padding: 0; }
.header .nav > ul > li > ul li a { background: #fff; border-bottom: 1px solid #f2f2f2; font-weight: 400; height: auto; line-height: 1.4em; padding: 8px 10px; }
.header .nav > ul > li > ul li a:hover { background: #f2f2f2; font-weight: 400; }
#mobile-menu { background-color: transparent; border: 0; cursor: pointer; display: none; padding: 0 4px; }

#content > .row { padding: 74px 10% 86px; }
#content > .row > div { padding: 0 1.5% 12px; }
h2 { text-transform: uppercase; }
h3 { color: #1e417c; text-transform: uppercase; }
img[src*="tracks"] { height: 18px; }
img[src*="tracks"] + h3 { margin-top: 6px; }
.button-style { background: #1e417c; border-radius: 5px; color: #fff; display: inline-block; padding: 5px 11px; margin-top: 18px; }
.button-style:hover { background: #163466; color: #fff; }

/* HOMEPAGE */

#start-fade { background: #fff; height: 100%; left: 0; opacity: 1; position: fixed; width: 100%; z-index: 1; }
.animate #start-fade { left: -100%; opacity: 0; transition: left 0s ease-out 1.45s, opacity 1.4s; }

#first-page { background: #000; }
#first-page .header { position: relative; top: -74px; }
.animate #first-page .header { top: 0; transition: .7s ease-in-out .0s; }

#homepage-header { background-image: url("../images/hp-bg.jpg"); background-size: cover; background-position: absolute; padding-top: 108px; text-align: center; }
#homepage-header > img { height: 208px; opacity: 0; transform: rotate(-180deg); }
#homepage-header h2 { color: #fff; font-size: 2.2em; font-weight: 700; opacity: 0; position: relative; top: 38px; text-transform: none; }
#homepage-header h2 span { display: block; font-size: 1.6em; text-transform: uppercase; }
#homepage-header button { background: transparent; border: 0; margin: 86px 0 74px; opacity: 0; position: relative; top: 38px; }
#homepage-header button img { height: 84px; }

.animate #homepage-header > img { opacity: 1; transform: rotate(0deg); transition: opacity .8s ease-in-out .15s, transform 1.3s ease-in-out .35s; }
.animate #homepage-header h2 { opacity: 1; top: 0; transition: 1s ease-in-out .5s; }
.animate #homepage-header button { opacity: 1; top: 0; transition: 1s ease-in-out .75s; }

#about-project { background: #189580; color: #fff; text-align: center; }
#about-project p { font-size: 1.2em; }

#progress-updates { background-image: url("../images/bg-progress-updates.jpg"); background-size: cover; background-position: bottom; }
#progress-updates > div:first-of-type img { border-radius: 10px; box-shadow: 0 2px 6px -2px #666;  }

#slideshow { background: #1e417c; color: #fff; text-align: center; }

/* Image Slideshow */
.image-slideshow { margin-top: 20px; position: relative; width: 100%; }
.image-slideshow button { background: #333; background: rgba(0,0,0,.8); border: 0; color: #fff; position: absolute; top: 180px; transition: background .2s; z-index: 1; }
.image-slideshow button span { left: -9999px; position: absolute; }
.image-slideshow button:hover { background: #000; }
.slideshow-trigger { border-radius: 24px; height: 38px; line-height: 38px; margin: 12px; padding: 0; width: 38px; }
.slideshow-move { font-size: 1.6em; height: 50px; left: 0; line-height: 50px; margin-top: -25px; padding: 0 8px; top: 50%; z-index: 1; }
.slideshow-move.next { left: auto; right: 0; }
.image-slideshow-slides { margin-top: 40px; overflow: hidden; position: relative; }
.image-slideshow-slides > div { left: 20%; opacity: 0; position: absolute; transition: left .8s, top .5s, width .6s, opacity 0s; width: 60%; }
.image-slideshow-slides > div.active { opacity: 1; position: relative; top: 0; z-index: 4; }
.image-slideshow-slides > div.on-deck { left: 51%; opacity: .8; top: 60px; width: 42%; z-index: 2; }
.image-slideshow-slides > div.in-hole { left: 70%; opacity: .5; top: 100px; width: 30%; }
.image-slideshow-slides > div.on-first { left: 7%; opacity: .8; top: 60px; width: 42%; z-index: 2; }
.image-slideshow-slides > div.on-second { left: 0; opacity: .5; top: 100px; width: 30%; }
.image-slideshow-slides > div img { width: 100%; }
.caption { bottom: 20px; color: #fff; font-size: 1.1em; position: absolute; text-align: center; width: 100%; z-index: 1; }

.quintet .controls > button { background: transparent; display: inline-block; font-size: 2.2em; margin: 34px 0 0; position: static; transition: .2s; vertical-align: middle; }
.quintet .controls > button:hover { color: #189580; }
.quintet .controls ul { display: inline-block; margin: 20px 44px 0; padding: 0; vertical-align: middle; }
.quintet .controls ul li { display: inline-block;  margin: 0 4px; padding: 0; vertical-align: middle; }
.quintet .controls ul li button { background: #fff; border: 2px solid #fff; border-radius: 50%; height: 20px; margin: 0; position: static; transition: .2s; width: 20px; }
.quintet .controls ul li button:hover { background: #189580; border-color: #189580; }
.quintet .controls ul li.active button { background: transparent; }
.quintet .controls ul li span { left: -9999px; position: absolute; }

#project-overview { background-image: url("../images/bg-project-overview.jpg"); background-size: cover; background-position: bottom; }
#project-overview > div > div:last-of-type img { border-radius: 10px; box-shadow: 0 2px 6px -2px #666; margin: 18px 0 8px; width: 100%; }

#construction { background: #1e417c; color: #fff; } 
#construction a { color: #fff; text-decoration: underline; } 

#benefits { background: #189580; }
#benefits h3 { color: #fff; text-align: center; }
#benefits p { color: #fff; font-size: 1.2em; text-align: center; }
#benefits ul { display: flex; justify-content: space-between; list-style-type: none; margin-top: 24px; padding: 0; }
#benefits ul li { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #333; color: #2d2963; padding: 28px 26px 32px; text-align: center; width: 23%; }
#benefits ul li span { display: block; margin-top: 16px; }

#home-quote { background-image: url("../images/bg-homequote.jpg"); background-size: cover; background-position: center; color: #fff; text-align: center; text-transform: uppercase; }
#home-quote blockquote { border: 5px solid #fff; border-width: 5px 0 0; font-size: 2.5em; line-height: 1.3em; margin-top: 22px; margin-bottom: 60px; padding: 40px 36px 74px; position: relative; }
#home-quote blockquote img { left: 50%; margin: -3% 0 0 -3%; position: absolute; top: 100%; width: 6%; }
#home-quote blockquote:before,
#home-quote blockquote:after { background: #fff;content: "";  height: 5px; left: 0; position: absolute; top: 100%; width: 47.02%; }
#home-quote blockquote:after { left: 53%; }
#home-quote p { font-weight: 700; }

/* NOTIFICATIONS */

#subpage-header { background: #189580; color: #fff; padding: 74px 0 94px; text-align: center; }
#subpage-header.blue { background: #1e417c; }
#subpage-header.red { background: #7d4040; }
#subpage-header.gray { background: #373737; }
#subpage-header.purple { background: #50295e; }
#subpage-header h2 { font-size: 2.8em; }
#subpage-header img { display: block; margin: 14px auto 0; max-width: 600px; width: 80%; }

#construction-alerts { background-image: url("../images/bg-notifications.jpg"); background-size: cover; background-position: center; display: flex; flex-wrap: wrap; justify-content: space-between; }
#construction-alerts > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #666; text-align: center; }
#construction-alerts > div:first-of-type { padding: 22px 24px 18px; }
#construction-alerts > div:first-of-type img { height: 102px; }
#construction-alerts > div:last-of-type { background-image: url("../images/notifications.jpg"); background-size: cover; background-position: center; border: 12px solid #fff; width: 58%; }

/* #news-events { background-image: url("../images/bg-news2.jpg"); background-size: cover; background-position: center; }
#news-events h3 { color: #fff; text-align: center; } */
#event-list { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 34px; }
#event-list > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #333; padding: 18px 24px; width: 32%; }
#event-list > div img { max-width: 440px; width: 100%; }
#event-list > div h4 { color: #1e417c; text-transform: uppercase; }
#event-list > div h4 span { color: #189580; display: block; font-size: .8em; }
#event-list > div p { margin-top: 2px; }
#event-list > div a { color: #373737; font-weight: 700; text-decoration: underline; }

/* #news { background: #189580; color: #fff; }
#news h3 { color: #fff; margin-bottom: 28px; padding-left: 2%; }
#news p { font-size: 1.2em; }
#news .row { display: flex; flex-wrap: wrap; justify-content: space-between; }
#news .row > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #333; color: #373737; margin: 0; padding: 0 32px 18px; width: 31%; }
#news ul { padding-left: 28px; } */

#project-updates { background: #1e417c; color: #fff;}
#project-updates h3 { color: #fff; }

#news { background: #DFF5F2; }

.resource-list { list-style: none; padding: 0; }
.resource-list li { border-bottom: 1px dotted #1e417c; padding: 8px 130px 16px 40px; position: relative; }
.resource-list li img { height: 28px; left: 3px; margin-right: 8px; position: absolute; }
.resource-list li a { color: #1e417c; display: block; }
.resource-list li span { background: #1e417c; border-radius: 8px; color: #fff; padding: 3px 14px; position: absolute; right: 0; top: 6px; transition: .2s; }
.resource-list li a:hover span { background: #143367; }
 
/* PROGRESS */

#updates { background-image: url("../images/bg-planned-construction.jpg"); background-size: cover; background-position: center; }
#updates > div:first-of-type img { border-radius: 10px; box-shadow: 0 2px 6px -2px #666; width: 100%; }

#commitments { background: #1e417c; color: #fff; }
#commitments p { margin-bottom: 32px; }

#phasing { background: #1e417c; color: #fff; }
.phase { background: #fff; border-radius: 8px; color: #333; margin: 32px 0; padding: 1px 34px 33px; }
#phasing .hdr-lightbox { width: 80%; }

#explore-route { background-image: url("../images/bg-exploreroute.jpg"); background-size: cover; background-position: center; }
#explore-route h3 { text-transform: none; }
#explore-route > div { background: #fff; border-radius: 10px; box-shadow: 0 2px 6px -2px #222; padding: 0 32px 24px !important; }
#explore-route > div img { width: 100%; }

#phase-descriptions { background-image: url("../images/bg-phasedescriptions.jpg"); background-size: cover; background-position: center;  }
#phase-descriptions > div { background: #fff; border-radius: 10px; box-shadow: 0 2px 6px -2px #222; padding: 28px 24px !important;  }
#phase-descriptions .row > div:first-of-type img { box-shadow: 0 2px 6px -2px #aaa; }

#lane-closures { background-image: url("../images/bg-laneclosures.jpg"); background-size: cover; background-position: center; display: flex; flex-wrap: wrap; justify-content: space-between; }
#lane-closures > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #666; text-align: center; }
#lane-closures > div:first-of-type { padding: 22px 24px 18px; }
#lane-closures > div:first-of-type img { height: 102px; }
#lane-closures > div:last-of-type { background-image: url("../images/laneclosures.jpg"); background-size: cover; background-position: center; border: 12px solid #fff; width: 58%; }

#quiet-zones { background-image: url("../images/bg-quietzones.jpg"); background-size: cover; background-position: center; }
#quiet-zones p a { color: #373737; font-weight: 700; }
#quiet-zones p a:hover { color: #111; }
#quiet-zones > div:last-of-type img { border-radius: 10px; box-shadow: 0 2px 6px -2px #666; width: 100%; }

#photos { background: #189580; color: #fff; }

/* RESOURCES */

#event-materials h5 { color: #1e417c; font-size: 1.2em;}

#mitigation-plan { background-image: url("../images/bg-phasedescriptions.jpg"); background-size: cover; background-position: center;  }
#mitigation-plan .row > div:first-of-type img { box-shadow: 0 2px 6px -2px #aaa; }

#rail-safety { background: #1e417c; color: #fff; }
#rail-safety h3 { color: #fff; }
#rail-safety a { color: #fff; }
#rail-safety a:hover { color: #189580; }

/* Accordions */
.accordion-set { margin-bottom: 20px; }
.accordion-header { background: #189580; border: 0; border-radius: 8px ;color: #fff; cursor: pointer; font-size: .75em; padding: 8px 14px; text-align: left; transition: background .2s; width: 100%; }
.accordion-header:hover { background: #0f806d; }
.accordion:Nth-of-type(even) .accordion-header { background: #7471a4; }
.accordion:Nth-of-type(even) .accordion-header:hover { background: #636094; }
.accordion-header i { font-size: .5em; float: right; margin-left: 12px; padding: 8px 8px 0; transition: .45s; vertical-align: middle; }
.opened .accordion-header { border-radius: 8px 8px 0 0;  }
.opened .accordion-header i { margin-top: 7px; transform: rotateX(180deg); }
.accordion > div { background: #fff; color: #373737; padding: 2px 1%; }

#rail-safety .accordion > div { align-items: center; background: #DFF5F2; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 15px; }

#rail-safety .accordion p {
    margin-top: 0;
    margin-bottom: 15px;
}

#rail-safety .accordion a {
    color: #000;
    text-decoration: underline;
}

#rail-safety .acc-image { text-align: center;  width: 18%; }
#rail-safety .acc-image img { height: 100px; }
#rail-safety .accordion > div ul { background: #fff; margin: 0; padding: 20px 60px; width: 82%; margin-bottom: 20px; }

#phasing .accordion > div { border-radius: 0 0 8px 8px; padding: 1px 20px 10px; }

#rail-safety-resources h4 { font-size: 1.1em; margin-top: 36px; }
#rail-safety-resources ul { list-style: none; padding: 0; }
#rail-safety-resources li { display: inline-block; margin-right: 26px; }

#environmental-process { background-image: url("../images/bg-phasedescriptions.jpg"); background-size: cover; background-position: center;  }
#environmental-process > div { background: #fff; border-radius: 10px; box-shadow: 0 2px 6px -2px #222; padding: 28px 24px !important;  }
#environmental-process .row > div:first-of-type img { box-shadow: 0 2px 6px -2px #aaa; }

#environmental-study { background: #189580; }
#environmental-study .row { background: #fff; border-radius: 8px; padding: 16px 0; }

#resource-links { background: #DFF5F2; color: #fff; }
#resource-links h4 { color: #1e417c; margin-top: 44px; }
#resource-links p { font-size: 1.2em; }
#resource-links .row { display: flex; flex-wrap: wrap; justify-content: space-between; }
#resource-links .row > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #333; color: #373737; margin: 0; padding: 0 32px 18px; width: 46%; }


#res-maillist { background-image: url("../images/bg-laneclosures.jpg"); background-size: cover; background-position: center; display: flex; flex-wrap: wrap; justify-content: space-between; }
#res-maillist > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #666; text-align: center; }
#res-maillist > div:last-of-type { padding: 22px 24px 18px; }
#res-maillist > div:last-of-type img { height: 102px; }
#res-maillist > div:first-of-type { background-image: url("../images/resources-2.jpg"); background-size: cover; background-position: center; border: 12px solid #fff; width: 68%; }

/* CONTACT */

#get-in-touch { background-image: url("../images/bg-contact.jpg"); background-size: cover; background-position: center; display: flex; flex-wrap: wrap; justify-content: space-between; }
#get-in-touch > div { background: #fff; border-radius: 8px; box-shadow: 0 2px 6px -2px #666; width: 46%; }
#get-in-touch > div > img { margin: 15px 0; width: 100%; }
#get-in-touch ul { list-style-type: none; padding: 0; }
#get-in-touch li { min-height: 44px; padding-left: 54px; padding-top: 6px; position: relative; }
#get-in-touch li a { color: #373737; text-decoration: underline; }
#get-in-touch li a:hover { color: #111; }
#get-in-touch li img { height: 38px; left: 0; position: absolute; top: 0; }

/* Quick Footer */
.footer { background-color: #183463; border-top: 8px solid #69e6cf; color: #fff; }
.footer h2 { font-size: 1.4em; margin-bottom: 12px; text-transform: none; }
.footer h3 { color: #fff; font-size: 1.1em; margin: 8px 0; text-transform: none; }
.footer p { line-height: 1.2em; margin: 0; }
.footer a { color: #fff; }
.footer a:hover { color: #189580; }
#footer-nav li { line-height: 1.1em; margin: 10px 0; }
.footer > .row { display: flex; justify-content: space-between; padding: 32px 10% 44px; }
.footer > .row > div { border-right: 1px solid #fff; padding: 6px 3%; }
.footer > .row > div:last-of-type { border-right: 0; }
.footer > .row > div:first-of-type ul { list-style-type: none; margin: 8px 0 0; padding: 0; }
.footer > .row > div:first-of-type ul li { margin: 3px 0; }
.footer > .row > div:nth-of-type(3) { text-align: center; }
.footer > .row > div:last-of-type a { display: block; }
.footer > .row > div:last-of-type img { display: block; margin-bottom: 28px; max-width: 76px; }
.footer > .row > div:last-of-type a span { left: -9999px; position: absolute; }
.footer > .row .row > div { padding-left : 0 !important; }
#footer-bottom { background: #189580; }
#footer-bottom .row { padding: 12px 10% 14px; }
#footer-bottom ul { list-style-type: none; margin: 0; padding: 0; text-align: right; }
#footer-bottom li { display: inline-block; margin: 0 14px; }
#footer-bottom li a { color: #fff; }
#footer-bottom li a:hover { color: #183463; }

/* Modal Window */
.hdr-close-modal { display: none; }
.hdr-launch-modal { display: none; }
.has-hdr-modals .hdr-launch-modal { display: block; }
.hdr-modal-showing { overflow: hidden;}
.hdr-modal-window { display: none; height: 100%; left: 0; position: fixed; top: -100%; transition: 0; width: 100%; z-index: 1000; }
.hdr-modal-window.showing { top: 0; transition: top 1s; }
.hdr-modal-window > .hdr-close-modal { background-color: rgba(0,0,0,.75); border: 0; cursor: pointer; display: block; height: 100%; left: 0; margin: 0; position: absolute; top: 0; width: 100%; }
.hdr-modal-window .hdr-close-modal span { left: -9999px; position: absolute; }
.hdr-modal-window #hdr-modal-title { margin: 26px 36px 6px 0; }
.hdr-modal-window > div { background-color: #fff; bottom: auto !important; box-shadow: 4px 13px 28px 0 #111; max-height: 72%; overflow: auto; padding: 36px 3% 36px; position: absolute; }
.hdr-modal-window > div .hdr-close-modal { background: transparent; border: 0; color: #333; font-size: 3em; line-height: .6em; position: absolute; right: 6px; top: 8px; }
.hdr-modal-window > div .hdr-close-modal:hover { color: #666; }
.hdr-modal-window :focus { border-radius: 2px; outline: 2px groove #ddd; }

.intro-blurb {
    border: 4px solid #FFF;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 30px;
    margin-top: 30px;
}

.intro-blurb p {
    margin-top: 0;
    font-weight: 700;
    font-size: 1.15rem;
}

.header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100%;
    z-index: 100;
    box-shadow: 1px 0px 12px #2f2f2f;
}

/* Lightbox */
.showing-hdr-lightbox { overflow: hidden; }
.hdr-lightbox { margin: 0 auto; width: 60%; }
.hdr-lightbox img { width: 100%; }
.hdr-lightbox a { display: block;}
.hdr-lightbox > button { background-color: rgba(0,0,0,.75); border: 0; cursor: pointer; display: none; height: 0; left: -9999px; margin: 0; position: absolute; top: 0; transition: 0s; width: 100%; }
.hdr-lightbox button span { left: -9999px; position: absolute; }
.hdr-lightbox > div { top: 80px; }
.hdr-lightbox > div .hdr-close-lightbox { background: 0; border: 0; font-size: 3em; display: none; line-height: 1em; position: fixed; right: 14px; top: -4px; }
.hdr-lightbox.enhanced { height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 5555; }
.hdr-lightbox.enhanced > button { display: block; height: 100%; left: 0; transition: height .6s, left 0s; }
.hdr-lightbox.enhanced > div { background-color: #fff; border: 1px solid #333; box-shadow: 4px 13px 28px 0 #111; left: 6%; margin: 0; max-height: 80%; overflow: auto; position: absolute; top: 40px; transition: .8s; width: 86%; }
.hdr-lightbox.enhanced > div .hdr-close-lightbox { display: block; }

@media screen and (max-width: 992px) {
    .hdr-lightbox > div .hdr-close-lightbox { font-size: 2em; right: 8px; }
    .hdr-lightbox.enhanced img { max-width: 800%; width: 1000px !important; }
}

/*********************************************/
/****** Media Queries ************************/
/*********************************************/
/* Add more queries as needed; 992px is the column breakpoint for "medium"  columns in Bootstrap */

@media screen and (min-width: 2010px) {
    body { font-size: 22px;}
}

@media screen and (max-width: 1342px) {
    #homepage-header { padding-top: 52px; }
    #homepage-header img { height: 178px; }
    #homepage-header h2 { font-size: 1.8em; margin-top: 8px; }
    #homepage-header button { margin: 62px 0 36px; }
    
    #res-maillist > div:first-of-type { width: 58%; }
    #res-maillist > div:last-of-type { width: 38%; }
    
    #get-in-touch > div { margin-bottom: 20px;  width: 100%; }
    #get-in-touch > div > img { max-width: 450px; }
    
    .footer > .row { font-size: .9em; padding: 22px 0 32px 1%; }
    #footer-bottom .row { padding: 12px 3% 14px; }
}

@media screen and (max-width: 992px) {
    h1 { font-size: 2.2em; margin: 20px 0 6px; }
    h2 { font-size: 1.7em; margin: 12px 0 0; }
    h3 { font-size: 1.4em; margin: 20px 0 0; }
    h4 { font-size: 1.3em; margin: 28px 0 0; }
    h5 { font-size: 1.2em; margin: 26px 0 0; }
    h6 { font-size: 1.1em; margin: 26px 0 0; }
    p, li { font-size: .9em; line-height: 1.3em; }
    .button { font-size: .8em; border-radius: 12px; padding: 4px 12px 3px; }
    table tr { font-size: .8em; padding: 2px; }
    .vertical-center > div { margin: 0; }

    /* Quick Mobile Menu */
    #mobile-menu { color: #183463; display: inline-block; font-size: 1.2em; }
    .header { height: 48px; padding: 8px 0 8px 10px; }
    .header img { height: 32px; }
    .header .nav { line-height: 1.2em; padding: 14px 0; }
    .header .nav ul { background-color: #fff; box-shadow: 2px 4px 8px -4px #000; display: none; opacity: 0; position: absolute; right: 110%; top: 48px; width: 190px; z-index: 1; }
    .menu-opened .header .nav ul { opacity: 1; right: -4px; transition: right 0s, opacity .2s; }
    .header .nav li { border-bottom: 1px solid #888; display: block; left: 0; margin: 0; text-align: center; }
    .header .nav li:after { display: none; }
    .header .nav li:first-of-type { border-top: 1px solid #888; }
    .header .nav li a { line-height: 1.1em; padding: 8px 4px; }
    .header .nav > ul > li { float: none; height: auto; }
    .header .nav > ul > li i { display: none; }
    .header .nav > ul > li ul { display: none !important; }
    
    #homepage-header { padding-top: 32px; }
    #homepage-header img { height: 158px; }
    #homepage-header h2 { font-size: 1.6em; line-height: 1.3em; margin-top: 4px; }
    #homepage-header button { margin: 42px 0 28px; }
    #homepage-header button img { height: 64px; }

    #project-updates { padding-bottom: 52px !important;}

    #content > .row { padding: 42px 10% 24px; }
    #content > .row > div { padding: 0 1% 26px; }
    small { display: block; line-height: 1.1em; margin-top: 8px; }

    #about-project h2 { margin-top: 0; }
    #about-project p { font-size: 1em; }

    #benefits p { font-size: 1em; }
    #benefits ul { flex-wrap: wrap; }
    #benefits ul li { margin-bottom: 16px; width: 48.5%; }
    
    #home-quote blockquote { font-size: 1.6em; margin-bottoM: 40px; padding: 32px 14px 44px; }

    .slideshow-trigger { font-size: .8em; height: 26px; line-height: 26px; margin: 8px;  width: 26px; }
    .slideshow-move { font-size: 1.2em; height: 32px; line-height: 32px; margin-top: -16px; padding: 0 6px; }
    .caption { bottom: 4px; font-size: .85em; }    
    .image-slideshow button { top: 120px; }
    .image-slideshow-slides > div { left: 10%; width: 80%; }
    .image-slideshow-slides > div.on-deck { left: 54%; top: 30px; }
    .image-slideshow-slides > div.in-hole { top: 50px; }
    .image-slideshow-slides > div.on-first { left: 4%; top: 30px; }
    .image-slideshow-slides > div.on-second { top: 50px; }
    
    #subpage-header { padding: 54px 0 60px;  }
    #subpage-header h2 { font-size: 1.8em; padding: 0 18px; }
    #subpage-header img { display: block; margin: 14px auto 0; max-width: 500px; width: 80%; }

    #construction-alerts > div:first-of-type { padding: 20px 32px 18px; }
    #construction-alerts > div:last-of-type { height: 300px; margin-top: 18px; width: 100%; }
    #event-list > div { margin-bottom: 18px; width: 100%; }
    #news h3 { margin-bottom: 6px; }
    #news .row > div { margin-bottom: 18px; width: 100%; }

    .acc-image { display: none; }
    #rail-safety .accordion > div ul { padding: 18px 38px; width: 100%; }

    #explore-route { padding-bottom: 44px !important; }
    #explore-route > div { padding: 2px 32px 24px !important; }
    #phase-descriptions { padding-bottom: 44px !important; }
    #phase-descriptions div:first-of-type img { margin-bottom: 24px; }
    #lane-closures { padding-bottom: 44px !important; }
    #lane-closures > div:first-of-type { padding: 20px 32px 18px; }
    #lane-closures > div:last-of-type { height: 300px; margin-top: 18px; width: 100%; }

    #environmental-process .row > div:first-of-type img { margin-bottom: 22px; }
    #resource-links h3 { margin-bottom: 18px; }
    #resource-links .row > div{ margin-bottom: 18px; width: 100%; }
    #res-maillist > div:first-of-type { height: 240px; margin-bottom: 18px; width: 100%; }
    #res-maillist > div:last-of-type { padding: 18px 28px; width: 100%; }
    #res-maillist > div:last-of-type img { height: 60px; }

    #get-in-touch > div { padding: 4px 5% 16px !important; }
    
    .accordion-header i { padding: 6px 8px 0; }
    .opened .accordion-header i { margin-top: 6px; transform: rotateX(180deg); }

    .footer > .row { font-size: .85em; padding: 18px 2% 16px 1%; }
    .footer > .row { flex-wrap: wrap; }
    .footer a { display: block; line-height: 1em; word-wrap: break-word; }
    .footer > .row > div:first-of-type ul li { margin: 9px 0; }
    .footer > .row > div:last-of-type a { display: inline-block; }
    .footer > .row > div:last-of-type img { display: inline-block; margin: 24px 8px 0; }
    .footer > .row > div:first-of-type { width: 25%; }
    .footer > .row > div:nth-of-type(2) { width: 50%; }
    .footer > .row > div:last-of-type { text-align: center; width: 25%; }
    #footer-bottom { text-align: center; }
    #footer-bottom .row { padding: 8px 8% 10px; }
    #footer-bottom ul { text-align: center; }
}

@media screen and (max-width: 720px) {
    .hdr-modal-title { padding: 0; }
    .hdr-modal-window .hdr-modal-title { margin: 44px 0 0; }
    .hdr-modal-window > div { max-height: 88% !important; left: 8% !important; padding: 32px 20px 20px; top: 6% !important; width: 84% !important; }
    .hdr-modal-window > div .hdr-close-modal { font-size: 2em; }
}

@media screen and (max-width: 640px) {
    #homepage-header img { height: 118px; }
    #homepage-header h2 { font-size: 1.4em; line-height: 1.3em; margin-top: 4px; }
    #homepage-header button { margin: 36px 0 24px; }
    #homepage-header button img { height: 52px; }
    
    #benefits ul li { padding: 10px 12px 14px; width: 100%; }
    #benefits ul li img { height: 62px; }
    #benefits ul li span { margin-top: 4px; }

    #news li { padding-right: 0; }
    #news li a span { display: block; margin-top: 12px; position: static; text-align: center; width: 120px; }

    .quintet .controls > button { font-size: 1.1em; }
    .quintet .controls ul { margin: 21px 8px 0;  }
    .quintet .controls ul li { margin: 0 4px;  }
    .quintet .controls ul li button { height: 16px; width: 14px;  }
    
    #home-quote blockquote { font-size: 1.3em; margin-bottoM: 40px; padding: 22px 14px 34px; }
    #home-quote blockquote img { margin: -6% 0 0 -6%; width: 12%; }
    #home-quote blockquote:before, 
    #home-quote blockquote:after { width: 44.02%; }
    #home-quote blockquote:after { left: 56%; }

    #environmental-process h3 { font-size: 1.2em; }
    #environmental-process > div { padding: 18px 6px 22px !important; }
    
    .hdr-lightbox { width: 90%; }
    
    .footer > .row { font-size: .85em; padding: 8px 3%; }
    .footer h2 { margin-bottom: 4px; }
    .footer > .row > div:first-of-type { border-bottom: 1px solid #fff; border-right: 0; padding-bottom: 12px; width: 100%; }
    .footer > .row > div:first-of-type ul li { display: inline-block; margin: 0 12px 3px 0 !important; }
    .footer > .row > div:nth-of-type(2) { border: 0; border-bottom: 1px solid #fff; padding-bottom: 24px; width: 100%; }
    .footer > .row > div:nth-of-type(3) { width: 100%; }
    .footer > .row > div:nth-of-type(3) img { height: 32px; margin-top: 18px; }
    .footer > .row > div:last-of-type img { height: 38px; }
}