body, html { background-color: #fff; font-family: 'PT Sans', sans-serif; margin: 0px; min-height: 100%; overflow-x: hidden; padding: 0px; }
a:hover, a:focus { transition: .2s;  }
.container { padding: 0; width: 91%; }
.row { margin: 0; }
.row > div { padding: 0 1.5% 12px; }

h1,h2,h3,h4,h5,h6 { margin: 0; }
h2 {color: #003865; margin-bottom: 20px;}
/* h3 {color: #003865; font-size: 16px; padding-bottom: 10px; } */
h4 {color: #003865; font-size: 20px; padding-bottom: 10px; }
h3 { background-color: #e7f2fa; color: #00355f; font-size: 16px; font-weight: bold; margin-bottom: 10px; padding: 6px; }
p { margin-bottom: 1.6rem; }
ul { padding-left: 15px; }
ul li {margin-bottom: 0.5rem; color: #333;}
hr { border-bottom: 5px solid #003865; transform: skewX(45deg); }
a { color:#003865; text-decoration: underline; }
.button { background-color: #003865; 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: #78BE21; color: #fff; }
.button:focus { color: #fff; }

.closebtn { position: absolute; top: 0; right: 10px; font-size: 40px; margin-left: 50px; color: #003865;}


/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; width: 100%; }
input[type="text"] { 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: #003865; 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: #78BE21;; }

/* MAIN SCREEN */
div#screen { height: 100%; left: 0%; position: absolute; width: 100%; }
img.logo { display: block; width: 75%; padding: 15px; margin: 0 auto;}

/* LEFT MENU */
#menu { background-color: #fff; float: left; height: 100%; overflow: hidden; padding-bottom: 8px; width: 15%; }
#menu div { border: 1px solid #ddd; border-left: 0; border-right: 0; height: 40%; overflow-y: scroll; margin-right: -18px; position: relative; }
#menu ul { list-style-type: none; margin: 0; margin-right:0px; padding-left: 2%; position: absolute; width: 100%; }
#menu ul > li { margin-bottom: 5px; width: 100%; }
#menu ul > li > a { color: #333; display: block; height: 45px; line-height: 45px; padding: 0 7%; position: relative; width: 100%; }
#menu ul > li > a > i { background-color: #003865; color: #fff; font-size: 1.3em; height: 42px; line-height: 42px; margin-top: 4px; margin-right: 4%; position: absolute; text-indent: 6px; transition: background-color .2s, width .15s; width: 32px; }
#menu ul > li > a > i.showing { background-color: #78BE21;; }
#menu ul > li > a > span { display: inline-block; font-size: .7em; font-weight: 700; left: 40px; line-height: 12px; position: relative; vertical-align: middle; width: 62%; }
#menu ul > li > a:hover > i { width: 78%; }
#menu ul > li > a:hover > i:after { border: 21px solid transparent; border-width: 21px 6px; border-top-color: #003865; border-left-color: #003865; content: ""; height: 0; position: absolute; left: 100%; transition: border-color .2s; width: 0; }
#menu ul > li > a:hover > i.showing:after { border-top-color: #78BE21;; border-left-color: #78BE21;; }
#menu ul > li > a:hover > span { color: #fff; }
.menuArrow { border: 40px solid transparent; border-top-width: 18px; border-bottom: 18px solid #003865; display: block; height: 0; margin: 0 auto; margin-bottom: 15px; transition: border-color .3s; width: 0; }
.menuArrow:hover { border-bottom-color: #78BE21;; }
.menuArrow.bottom-arrow { border-top-color: #003865; border-bottom-color: transparent; margin: 0 auto; margin-top: 15px;}
.menuArrow.bottom-arrow:hover { border-top-color: #78BE21;; }
.menuArrow.disabled { border-bottom-color: #ddd; }
.menuArrow.bottom-arrow.disabled { border-bottom-color: transparent; border-top-color: #ddd; }

/* MAIN AREA - RIGHT SIDE */
#mainArea { float: left; height: 100%; overflow: hidden; position: relative; width: 85%; }
#mainArea > img { height: 100%; left: -2%; margin-left: -12%; position: absolute; transition: left .6s, margin-left 1.1s ease-out .5s; width: auto; opacity: 0.2 }
#topArea { position: relative; text-align: center; top: 14px; }
#topArea { margin-bottom: 18px; position: relative; text-align: center; top: 14px; }
#topArea h1 { color: #003865; font-weight: bold; font-size: 1.6em; line-height: 1.1em; margin-bottom: 10px; }
#topArea ul { line-height: 14px; margin: 0 auto; width: 80%; }
#topArea li { background-color: #003865; border-radius: 8px; cursor: pointer; display: inline-block; height: 16px; margin: 0 3px; transition: background-color .2s, height .45s; vertical-align: middle; width: 16px; }
#topArea li:hover { background-color: #78BE21;; transform: scale(1.3); }
#topArea li.showing { background-color: #78BE21;; height: 22px; }

/* MAIN AREA - NAV ARROWS */
a.arrow { background-color: rgba(0,0,0,.2); color: #fff; font-size: 4em; height: 100%; left: -12px; position: absolute; text-align: center; top: 0; transition: left .275s, right .275s, box-shadow .275s, background-color .275s; width: 7%; z-index: 1; }
a.arrow:after { content: ""; display: inline-block; height: 98%; vertical-align: middle; }
a.arrow:hover { background-color: #222; background-color: rgba(25,25,25,.7); left: 0; }
a.right-arrow { left: auto; right: -12px; }
a.right-arrow:hover { left: auto; right: 0; }
a.arrow:hover ~ img { left: 0; transition: left 1.1s, margin-left 1.1s; }
a.right-arrow:hover ~ img { left: -4%; }

/* SLIDE AREA */
#slides { height: 90%; position: relative; top: 32px; transition: transform .65s; width: 100%; }
#slides > div { height: 90%; left: 0; position: absolute; transition: left 0.8s, transform 0.5s; }
.slide { color: #aaa; float: left; height: 100%; }
.slide > div { background-color: rgba(255,255,255,.94); color: #333; height: 100%; margin: 0 auto; overflow-x: hidden; overflow-y: auto; padding: 24px 2%; width: 80%; } 
.slide img { width: 100%; }

/* MOBILE MENU */
a#menu-toggle { background-color: #003865; color: #fff; display: none; font-size: .75em; height: 60px; left: 20px; overflow: hidden; position: absolute; text-align: center; top: 14px; transition: background-color .25s; width: 60px; }
a#menu-toggle:hover { background-color: #78BE21;; }
a#menu-toggle span { background-color: #fff; display: block; height: 4px; margin: 7px auto; transition: margin .2s, transform .2s; width: 70%; }
a#menu-toggle.opened span:nth-of-type(1) { margin-top: 28px; transform: rotate(-45deg); }
a#menu-toggle.opened span:nth-of-type(2) { margin-left: 100px; }
a#menu-toggle.opened span:nth-of-type(3) { margin-top: -22px; margin-bottom: 40px; transform: rotate(45deg); }
#menuOffScreen { background-color: rgba(35,35,35,.3); cursor: pointer; display: none; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }

/* COMMENT BUTTON AND AREA*/
#contact { background-color: white; height: 100%; left: 100%; overflow-y: auto; padding: 12px; position: fixed; top: 0; width: 390px; }
.wrapper { width: 85%; margin: 0 auto;}
.wrapper h1 {color: #003865; font-weight: 300; font-family: 'Roboto', sans-serif;}
a#menuOffScreen { background-color: rgba(35, 35, 35, 0.3); cursor: pointer; display: none; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }
.closebtn { position: absolute; top: 0; right: 10px; font-size: 40px; margin-left: 50px; color:#78BE21;}

.buttons button { background: white; border: 0; box-sizing: border-box; top: 15px; right: 85px; overflow: hidden; box-shadow: inset 0 0 0 2px #003865; color: #003865; font-size: .8em; text-align: center; position: absolute; vertical-align: middle; padding: 5px; }
.buttons button::before, button::after { box-sizing: inherit; content: ''; position: absolute; width: 60px; height: 60px;}
.buttons button .far {font-size: 3em; padding: 5px 0 2px; }
   .draw { -webkit-transition: color 0.25s; transition: color 0.25s;}
   .draw::before, .draw::after { border: 2px solid transparent; width: 0; height: 0;}
   .draw::before {top: 0;left: 0;}
   .draw::after {bottom: 0; right: 0;}
   .draw:hover {color: #003865; }
   .draw:hover::before, .draw:hover::after { width: 100%; height: 100%; }
   .draw:hover::before { border-top-color: #003865; border-right-color: #003865; -webkit-transition: width 0.25s ease-out, height 0.25s ease-out 0.25s; transition: width 0.25s ease-out, height 0.25s ease-out 0.25s; }
   .draw:hover::after { border-bottom-color: #003865; border-left-color: #003865; -webkit-transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s; transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;}
   
   .meet:hover { color: #78BE21;}
   .meet::after { top: 0; left: 0;}
   .meet:hover::before { border-top-color: #78BE21; border-right-color: #78BE21;}
   .meet:hover::after {border-bottom-color: #78BE21; border-left-color: #78BE21; -webkit-transition: width 0.25s ease-out 0.25s; transition: width 0.25s ease-out 0.25s;}

/* LIGHTBOX */
#lightbox { height: 100%; position: fixed; top: -100%; transition: top .85s; width: 100%; z-index: 3; }
#lightbox > span { background-color: rgba(35,35,35,.5); cursor: pointer; height: 100%; position: absolute; top: 0; width: 100%; }
#lightbox > span span { color: #fff; font-size: 3.6em; line-height: .4em; padding: 15px; position: absolute; right: 0; top: 0; z-index: 5; }
#lightbox div { height: 40%; margin: -120px auto 0; height: 80%; overflow-y: auto; position: relative; transform: rotateX(90deg) translateY(-160px); transition: .24s; width: 88%; }
#lightbox img { display: block; width: 100%; background-color: white; padding: 15px; }
#lightbox.on { top: 0; }
#lightbox.on div { box-shadow: none; margin-top: 50px; transition: .8s ease-out .32s; transform: rotateX(0deg) translateY(0px); }
.slide img.lightbox { cursor: pointer; margin-bottom: 18px; }
img.launchbox:hover { box-shadow: 0 0 11px rgba(33,33,33,.2); transition: 0.2s all;}

/* PAVEMENT CONDITIONS */
#imagemap { position: relative; }
/* #imagemap img {width: 100%!important; } */
#imagemap > div > div {cursor: pointer; left: 0; position: absolute; top: 0;}
div.slide #imagemap > div > div img { display: none; position: absolute; width: 300px; max-width: 5000px; right: 100%; bottom: 100%;}


#imagemap > div > div:nth-of-type(1) div { border: 10px solid #003865; border-radius: 50%; }
#imagemap > div > div:nth-of-type(2) div { border: 10px solid #78BE21; border-radius: 50%; }
#imagemap > div > div:nth-of-type(3) div { border: 10px solid #510856; border-radius: 50%; }
#imagemap > div > div:nth-of-type(4) div { border: 10px solid #00abcd; border-radius: 50%; }


#imagemap > div > div:nth-of-type(1) { left: 92.5%; top: 25%; }
#imagemap > div > div:nth-of-type(1):hover img { display: block; }

#imagemap > div > div:nth-of-type(2) { left: 74%; top: 35%; }
#imagemap > div > div:nth-of-type(2):hover img { display: block; right: 100%; bottom: 100%; z-index: 5; padding-left: 55px;}

#imagemap > div > div:nth-of-type(3) { left: 42.5%; top: 61%; }
#imagemap > div > div:nth-of-type(3):hover img { display: block; left: -350%; bottom: 100%; z-index: 5; margin: 5px; padding-right: 35px;}

#imagemap > div > div:nth-of-type(4) { left: 37%; top: 69%; }
#imagemap > div > div:nth-of-type(4):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

/* MOBILITY MAP */
#mobilemap { position: relative; }
/* #imagemap img {width: 100%!important; } */
#mobilemap > div > div {cursor: pointer; left: 0; position: absolute; top: 0;}
div.slide #mobilemap > div > div img { display: none; position: absolute; width: 200px; max-width: 5000px; right: 100%; bottom: -50%;}

#mobilemap > div > div > div  { border: 6px solid rgba(255, 255, 255, 0.1); border-radius: 50%; }

#mobilemap > div > div:nth-of-type(1) { left: 92%; top: 18%; }
#mobilemap > div > div:nth-of-type(1):hover img { display: block; }

#mobilemap > div > div:nth-of-type(2) { left: 89.5%; top: 32%; }
#mobilemap > div > div:nth-of-type(2):hover img { display: block; right: 100%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(3) { left: 91.5%; top: 46%; }
#mobilemap > div > div:nth-of-type(3):hover img { display: block; right: 100%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(4) { left: 76%; top: 50%; }
#mobilemap > div > div:nth-of-type(4):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(5) { left: 64.5%; top: 54%; }
#mobilemap > div > div:nth-of-type(5):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(6) { left: 50%; top: 54%; }
#mobilemap > div > div:nth-of-type(6):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(7) { left: 48.5%; top: 65.5%; }
#mobilemap > div > div:nth-of-type(7):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(8) { left: 42%; top: 71.5%; }
#mobilemap > div > div:nth-of-type(8):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(9) { left: 37.5%; top: 75.5%; }
#mobilemap > div > div:nth-of-type(9):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }

#mobilemap > div > div:nth-of-type(10) { left: 27%; top: 82.5%; }
#mobilemap > div > div:nth-of-type(10):hover img { display: block; right: -850%; bottom: 100%; z-index: 5; }


/* SAFETY MAP */
#safetymap { position: relative; }
/* #imagemap img {width: 100%!important; } */
#safetymap > div > div {cursor: pointer; left: 0; position: absolute; top: 0;}
div.slide #safetymap > div > div img { display: none; position: absolute; width: 300px; max-width: 5000px; right: 100%; top: 100%; z-index: 5;}


#safetymap > div > div:nth-of-type(1) div { border: 10px solid #003865; border-radius: 50%; }
#safetymap > div > div:nth-of-type(2) div { border: 10px solid #78BE21; border-radius: 50%; }
#safetymap > div > div:nth-of-type(3) div { border: 10px solid #00abcd; border-radius: 50%; }


#safetymap > div > div:nth-of-type(1) { left: 91.5%; top: 26%; }
#safetymap > div > div:nth-of-type(1):hover img { display: block; }

#safetymap > div > div:nth-of-type(2) { left: 65%; top: 38%; }
#safetymap > div > div:nth-of-type(2):hover img { display: block; right: 0%; bottom: 100%; z-index: 5; padding-left: 50px;}

#safetymap > div > div:nth-of-type(3) { left: 38.5%; top: 66%; }
#safetymap > div > div:nth-of-type(3):hover img { display: block; left: -350%; bottom: 100%; z-index: 5; margin: 5px; padding-right: 50px;}

.sr-only {  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;}


.resp-container { position: relative; overflow: hidden; padding-top: 56.25%; }
.resp-iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* TRANSLATOR */
#google_translate_element2 {display:none;}
#langaugeselectcont select {margin-left:5%;width:90%}
#langaugeselectcont label {margin-left:5%;}

#container button { position: relative; display: inline-block; cursor: pointer; outline: none; border: 0; vertical-align: middle; text-decoration: none; background: transparent; padding: 0; font-size: inherit; font-family: inherit;}
#container button.learn-more { width: 12rem; height: auto; margin-bottom: 25px;}
#container button.learn-more .circle {-webkit-transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); position: relative; display: block; margin: 0; width: 3rem; height: 3rem; background: #003865; border-radius: 1.625rem; }
#container button.learn-more .circle .icon { -webkit-transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); position: absolute; top: 0; bottom: 0; margin: auto; background: #fff; }
#container button.learn-more .circle .icon.arrow { -webkit-transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); left: 0.625rem; width: 1.125rem; height: 0.125rem; background: none; }
#container button.learn-more .circle .icon.arrow::before { position: absolute; content: ''; top: -0.25rem; right: 0.0625rem; width: 0.625rem; height: 0.625rem; border-top: 0.125rem solid #fff; border-right: 0.125rem solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#container button.learn-more .button-text { -webkit-transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1); position: absolute;top: 0; left: 0; right: 0; bottom: 0; padding-bottom: 2px; padding-top: 2px; padding-left: 5px; margin: 0 0 0 2rem; color: #282936; font-weight: 700; line-height: 1.6; text-align: center; text-transform: uppercase;}

#container button:hover .circle { width: 100%;}
#container button:hover .circle .icon.arrow {background: #fff;-webkit-transform: translate(1rem, 0); transform: translate(1rem, 0);}
#container button:hover .button-text {color: #fff; }
#container button:hover .button-text a{color: #fff; }
   
   @supports (display: grid) {
         body { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 0.625rem; grid-template-areas: ". main main ." ". main main .";}
   
     #container { grid-area: main; align-self: center; justify-self: center; }
   }

/* MEDIA QUERIES */
@media screen and (max-width: 1310px) {
     #menu { width: 20%; }
     #mainArea { width: 80%; }
     .slide > div { width: 86%; margin: 0 auto; }
     a.arrow { font-size: 3em; left: -8px;}
     a.right-arrow { left: auto; right: -8px; }
     #contact-toggle { right: 80px; }
}

@media screen and (max-width: 1030px) {
     #menu { margin-left: -240px; width: 240px; }
     #menu div { height: 64%; }
     #mainArea { width: 100%; }
     img.logo { display: none; }
     #topArea { margin-left: 80px; margin-right: 80px; }
     #topArea h1 { font-size: 1.3em; }
     a#menu-toggle { display: block; }
     #contact-toggle { right: 20px; }
     button { right: 22px; }

     #slides { height: 84%; top: 36px; }
     .slide > div { width: 96%; }
     .slide p { line-height: 16px; }

     a.arrow { background-color: rgba(0,0,0,.5); bottom: 0; height: 8%; top: auto; width: 46%; }
     a.arrow:after { height: 108%; }
}

@media screen and (max-width: 960px) {
     #lightbox img { max-width: 8000%; width: 160%; }
}

@media screen and (max-width: 640px) {
     #slides { height: 75%; top: 85px; }
     .slide img { display:block; margin: 0 auto; }
     #topArea { margin-left: 0; margin-right: 0;  top: 60px; }
     #topArea h1 { font-size: 1.2em; line-height: 1em; margin: 8px auto; width: 94%; color: #003865;}
     #topArea ul { margin-top: 10px; }
     #topArea ul li { height: 14px; width: 14px;}
     #topArea ul li.showing { height: 18px; }

     img.logo { display: block; width: 50%; margin: 0 auto; padding-top: 15px;}
     a#menu-toggle { height: 32px; left: 16px; top: 16px; width: 32px; }
     a#menu-toggle span { margin: 5px auto; }
     a#menu-toggle.opened span:nth-of-type(1) { margin-top: 14px; }
     a#menu-toggle.opened span:nth-of-type(3) { margin-top: -18px; }
     #contact-toggle { font-size: .55em; height: 45px; right: 10px; top: 10px; width: 46px; }
     #contact-toggle .far { font-size: 2.3em; }
     #contact { width: 280px; }
     button { font-size: .7em; padding: 1px 6px 3px; right: 12px; top: 12px; }
     button .far { font-size: 2em; padding: 1px 0 0; }
     li { font-size: 14px; }
     .slide > div { padding: 12px 3%; }
     h2 { font-size: 1.5em; }
}

@media screen and (max-width: 530px) {
     a.arrow { height: 44px; line-height: 0px; }
     a.arrow span { font-size: .6em; }
     #slides { height: 74%; } 
     #lightbox img { width: 250%; }
}

@media screen and (max-height: 715px) {
     #slides { height: 76%; }
}

@media screen and (max-height: 595px) {
     #topArea h1, div#topArea ul { display: inline-block; margin: 0 14px; vertical-align: middle; }
     #topArea h1 { margin-bottom: 4px; }
     
     a#menu-toggle { height: 32px; left: 16px; top: 16px; width: 32px; }
     a#menu-toggle span { margin: 5px auto; }
     a#menu-toggle.opened span:nth-of-type(1) { margin-top: 14px; }
     a#menu-toggle.opened span:nth-of-type(3) { margin-top: -18px; }
     #contact-toggle { font-size: .55em; height: 45px; top: 10px; width: 46px; }
     #contact-toggle i { font-size: 2.5em; }
     a.arrow { font-size: 2.5em; }
}

@media screen and (max-height: 560px) {
     /* #topArea h1 { font-size: 1.1em !important; font-weight: 700; margin-bottom: 6px; } */
}