html, body { color: #231f20; font-family: "Fira Sans", sans-serif; font-size: 16px; height: 100%; -webkit-font-smoothing: antialiased; }
.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; }

#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; }

.img-full {
    width: 100%;
    height: auto;
}

/* 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"] { 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: #c47; 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: #b16; }

/* 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; }

/*********************************************/
/******   Custom CSS  ************************/
/*********************************************/


/* Quick Header */
.header { background-color: #e8f4f6; color: #fff; position: relative; text-align: center; z-index: 10; }
.header h1 { display: inline-block; font-size: 1.3em; margin: 0; }
.header ul { margin: 0; margin-left: 160px; padding: 0; display: flex; flex-wrap: wrap; align-items: flex-end;}
.header li { display: inline-block; margin-bottom: 0; flex: 1; height: 100%;}
.header li a { color: #231f20; display: block; font-weight: 700; padding: 15px; position: relative; }
.header li a:hover { color: #5f6263; }
.header li a:before { background: #1a8da8; bottom: 0; content: ""; height: 8px; left: 0; margin-left: -8%; position: absolute; transition: width .3s linear; width: 0%; }
.header li:first-of-type a { padding: 20px 0; }
.header li:first-of-type a:before { margin-left: 0; width: 100%; }
.header li a.looked-at:before { width: 108%; }
.header > img { height: 34px; left: 2%; position: absolute; top: 14px; }
.header .has-share-links { position: absolute; right: 1%; top: 14px; }
.header .has-share-links img { height: 34px; }
#mobile-menu { background-color: transparent; border: 0; cursor: pointer; display: none; padding: 0 4px; }

.container { height: 100%; padding: 0; position: relative; width: 100%; }
#content {padding-top: 80px; position: absolute; top: 0; width: 100%; }
.row { margin: 0; padding: 40px 3% 96px 11%; }
#content .row > div { padding: 0 2.5% 12px; }
h2 { color: #1a8da8; font-weight: 900; }
h3 { color: #c32032; font-size: 1.5em; font-weight: 700; margin-top: 14px; margin-bottom: 16px; }

@keyframes rock {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(-3deg); }
    100% { transform: rotate(0deg); }
}

#intro-screen { background: #fff; background-image: url("../images/home-bg.jpg"); background-repeat: no-repeat; background-position: center; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 300; }
#intro-screen h1 { opacity: 0; position: absolute; right: 2.25%; text-align: right; top: 58px; transition: .8s ease-in-out .2s; }
#intro-screen.started h1 { opacity: 1; top: 0;}
#intro-screen h1 span { display: block; font-size: .4em; font-weight: 700; margin-top: 18px; }
#intro-screen div { left: 47%; margin-top: -38px; opacity: 0; position: absolute; top: 53%; transition: .8s ease-in-out .6s; width: 28%; }
#intro-screen.started div { margin-top: 0; opacity: 1; }
#intro-screen div p { font-size: 1.2em;font-weight: 700; }
#intro-screen p span { color: #c32032; }
#intro-screen a { animation-name: rock; animation-iteration-count: infinite; animation-duration: 1.8s; background: url("../images/letsgo_box.svg"); background-size: 100% 100%; background-repeat: no-repeat; bottom: 40px; color: #1a8dab; font-size: 1.5em; font-weight: 900; height: 76px; line-height: 74px; position: absolute; right: 52px; text-align: center; transition: .45s, font-size 1s; width: 170px; }
#intro-screen a:hover { bottom: 25px; font-size: 2em; height: 104px; line-height: 104px; right: 37px; width: 200px; }

#intro-screen.fade-out h1 { margin-top: 48px; opacity: 0; transition: .4s ease-in-out .1s; }
#intro-screen.fade-out div { margin-top: -48px; opacity: 0; transition: .4s ease-in-out .1s; }
#intro-screen.fade-out a { opacity: 0; transition: .4s ease-in-out .1s; }
#intro-screen.fade-out { left: -100%; height: 200%; margin-top: -100%; opacity: 0; top: -250%; transition: 2s ease-in-out .4s, left 0s ease 1.5s, opacity .8s ease-in-out .4s, top 0s ease 1.5s; }

.screen { background-image: url("../images/smallarrow_bg.svg"); background-repeat: no-repeat; background-position: bottom left; background-size: 11%; left: -100%; min-height: 100%; opacity: 0; position: absolute; top: -9999px; width: 100%;}
.screen.active { left: 0; top: 0; opacity: 1; transition: opacity 0s ease .6s, opacity .6s; }
.screen > a { bottom: 36px; color: #1a8da8; font-size: 1.43em; font-weight: 900; position: absolute; right: 76px; }
.screen > a:hover { color: #07748e; }
.screen > a img { position: absolute; right: -30px; top: 14px; transition: .5s; width: 50px; }
.screen > a:hover img { right: -40px; top: 6px; transform: rotate(-24deg); width: 60px; }
.screen p span { color: #c32032; font-weight: 700; }
.screen p span.blue { color: #1a8da8; }

#innovative-solution h2 span { background: #c32032; color: #fff; font-weight: 400; padding: 3px 8px;}
#innovative-solution .row img { margin-top: 18px; width: 100%; }
#innovative-solution .col-sm-3 { padding: 0 0 0 2.5% !important; }

.video { float: left; margin: 0 2% 18px 0; width: 44%;  }
.video h4 {font-weight: bold; font-size: 18px;}

#design-in-mind img { }

#map-area { height: auto; overflow: hidden; position: relative; }
#map-area img {  width: 100%; }
#map-area img.zoomed { left: 0; max-width: 9000%; position: absolute; top: 0; transition: .4s; }
#map-area > div { border: 1px solid #444; position: absolute; }
#map-area > span { left: 0; padding: 5px 9px; position: absolute; top: 0; }

#next-steps ul { list-style-type: none; padding: 0; }
#next-steps li { float: left; margin-right: 1%; padding-left: 114px; padding-right: 2%; position: relative; width: 24%; }
#next-steps li:last-of-type { padding-right: 12%; width: 48%; }
#next-steps li div { border: 6px solid #fcd105; border-radius: 50%; left: 0; padding: 18px; position: absolute; top: 6px; }
#next-steps h3 { font-size: 2em; margin-bottom: 2px; }

#keep-in-touch ul { list-style-type: none; margin-top: 24px; padding: 0; }
#keep-in-touch li { float: left; margin-right: 1%; text-align: center; width: 30%; }
#keep-in-touch li a { display: block; }
#keep-in-touch li div { border: 6px solid #fcd105; border-radius: 50%; display: inline-block; padding: 18px; }
#keep-in-touch li span { color: #231f20; display: block; font-size: 1.2em; font-weight: 700; margin-top: 12px; transition: color .2s; }
#keep-in-touch li a:hover span { color: #545657; }

#keep-in-touch .has-share-links { bottom: 36px; position: absolute; right: 76px; }
#keep-in-touch .has-share-links > a { color: #1a8da8; font-size: 1.43em; font-weight: 900; }
#keep-in-touch .has-share-links > a:hover { color: #07748e; }
#keep-in-touch .has-share-links > a img { position: absolute; right: -40px; top: -8px; transition: .5s; width: 34px; }
#keep-in-touch .has-share-links > a:hover img { right: -44px; top: -18px; transform: rotate(-24deg); width: 40px; }

.has-share-links div { bottom: 100%; left: -9999px; margin-bottom: -30px; opacity: 0; position: absolute; transition: .2s, left 0s ease .2s; width: 150px; }
.has-share-links.showing div { left: 0; margin-bottom: 24px; opacity: 1; transition: .3s, left 0s; }
.has-share-links div a { border-top: 3px solid transparent; display: inline-block; margin-right: 6px; padding-top: 3px; transition: border .2s; }
.has-share-links div a:hover { border-top-color: #1a8da8; }

.header .has-share-links div { background: #e8f4f6; bottom: auto; left: auto; margin-right: 13px; padding: 0 0 6px 6px; right: 9999px; top: 1px; transition: 0s; }
.header .has-share-links.showing div { right: 100%; transition: right 0s, opacity .2s; }
.header .has-share-links div img { height: 22px; }


.panel-default {
    border: 0;
    box-shadow: none;
}

.panel-group .panel {
    margin-bottom: 15px;
    border-bottom: 4px solid #1a8da8;
}

.panel-group .panel-heading {
    padding: 0;
    background-color: transparent;
}
.panel-group .panel-heading a {
    position: relative;
    display: block;
    padding: 20px 34px 20px 0; 
    font-size: 1.25rem;
    font-weight: 700;
}

.panel-group .panel-heading a::after {
    content: "";
    width: 20px;
    height: 10px;
    background-image: url('../images/accordion-arrow.svg');
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(50%);
    transition: rotate 300ms ease-in-out;
    rotate: 180deg;
}

.panel-group .panel-heading a[aria-expanded="false"]::after {
    rotate: 0deg;
    transform: translateY(-50%);
}

.panel-group .panel-body {
    border-top: 0 !important;
    padding: 30px 10px;
}

.panel-group .panel-body .row {
    padding: 0;
    margin: 0 -3%;
}

.panel-group .panel-body p {
    margin-top: 5px;
    margin-bottom: 20px;
}


.interactive-map {
    position: relative;
    overflow: auto;
}

.interactive-map .inner{
    position: relative;
    min-width: 500px;
}

.interactive-map .map-point {
    position: absolute;
    width: 30px;
    height: 30px;
    display: block;
    background-color: #63b354;
    border-radius: 100%;
    transition: filter 150ms ease-in-out;
}

.interactive-map .map-point:hover {
    cursor: pointer;
    filter: brightness(80%);
}

.interactive-map #mp-1 {
    top: 22%;
    left: 41%;
}
.interactive-map #mp-2 {
    top: 39%;
    left: 70%;
}
.interactive-map #mp-3 {
    top: 43%;
    left: 41%;
}
.interactive-map #mp-4 {
    top: 79%;
    left: 36%;
}


.video { float: left; margin: 0 2% 18px 0; width: 44%;  }
.video h4 {font-weight: bold; font-size: 18px;}


.modal .modal-footer .btn {
    background-color: #1a8da8;
    color: #FFF;
    font-size: 1rem;
    display: inline-block;
    padding: 10px;
    font-weight: 600;
    transition: background-color 150ms ease-in-out;
}

.modal .modal-footer .btn:hover {
    background-color: #07748e;
}

.yellow-h3 {
    background-color: #fcd105;
    color: #000;
    font-weight: 800;
    font-size: 1.5rem;
    padding: 15px;
    margin-top: 0;
    margin-bottom: 20px;
}

.purple-h3 {
    background-color: #4200AA;
    color: #FFF;
    font-weight: 800;
    font-size: 1.5rem;
    padding: 15px;
    margin-top: 0;
    margin-bottom: 20px;
}


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

@media screen and (min-width: 1974px) {
    body { font-size: 20px; }
    .row { padding-bottom: 90px; }

    #keep-in-touch ul { margin-top: 36px; }
}



@media screen and (max-width: 1268px) {
    #intro-screen.started h1 { top: -12px; }
    #intro-screen h1 span { font-size: .375em; }
    #intro-screen h1 img { height: 55px; }
    #intro-screen div { font-size: .9em; left: 43%; top: 47%; width: 32%; }
    
    .header ul { float: right; margin: 0 1.75% 0 0; }
    .header li a { font-size: .85em; padding: 20px 0 20px 10px; }
    .header img:last-of-type { display: none; }

    #innovative-solution .col-sm-3 { width: 30%; }

    #next-steps li { width: 46%; }
    #next-steps li:last-of-type { margin-top: 36px; width: 94%; }

    #keep-in-touch li div { border-width: 4px; padding: 12px; }
}

@media screen and (max-height: 650px) and (min-width: 992px) {
    #intro-screen.started h1 { top: -15px; }
    #intro-screen h1 span { font-size: .35em; }
    #intro-screen h1 img { height: 45px; }
    #intro-screen div { font-size: .8em; left: 44.5%; top: 50%; }
    #intro-screen div h2 { font-size: 1.8em; }
}

@media screen and (max-height: 550px) and (min-width: 992px) {
    #intro-screen { height: 550px; }
    #intro-screen div { font-size: .8em; left: 44%; top: 46%; }
    #intro-screen div p { line-height: 1.4em; }
}



@media screen and (max-width: 992px) {
    h1 { font-size: 2.5em; margin-top: 26px; }
    h2 { font-size: 1.7em; margin: 12px 0 0; }
    h3 { font-size: 1.4em; margin: 20px 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: #231f20; display: inline-block; float: right; font-size: 1.4em; padding: 8px 8px; }
    .header { padding: 8px 10px; }
    .header .nav ul { background-color: #fff; box-shadow: 1px 3px 8px -2px #000; display: none; opacity: 0; position: absolute; right: 110%; top: 46px; width: 210px; z-index: 1; }
    .menu-opened .header .nav ul { opacity: 1; right: 0; transition: right 0s, opacity .2s; }
    .header .nav li { border-top: 1px solid #fff; display: block; margin: 0; padding: 0; text-align: center; }
    .header .nav li a { font-size: .9em; padding: 6px 16px; text-align: left; }
    .header .nav li a:before { bottom: auto; display: none; height: 100%; left: 0; margin: 0; top: 0; width: 5px; }
    .header .nav li:first-of-type a:before,
    .header .nav li a.looked-at:before { display: block; }
    .header img { left: 10px;}

    #intro-screen { background-size: 160% 380px; background-position: 70% 0; }
    #intro-screen h1 img { height: 42px; }
    #intro-screen h1 span { margin-top: 8px; }
    #intro-screen div { font-size: .9em; left: 31%; top: 210px; width: 48%; }
}

@media screen and (max-height: 530px) and (max-width: 992px) and (min-width: 680px) {
    #intro-screen { background-size: 160% 340px; background-position: 90% 0; }
    #intro-screen div { font-size: .8em; left: 19%; top: 170px; width: 48%; }
}

@media screen and (max-height: 410px) and (max-width: 992px) and (min-width: 680px) {
    #intro-screen { height: 410px; }
}


@media screen and (max-width: 768px) {
    #innovative-solution .col-sm-3 { float: left; width: 42%; }
    #innovative-solution .col-sm-3:nth-of-type(2) { width: 90%; }
}


@media screen and (max-width: 680px) {
    .row { margin: 0; padding: 14px 5% 96px 8%; }
    
    #intro-screen { background-size: 170% 260px; background-position: 94% 0; }
    #intro-screen.started h1 { top: -22px; }
    #intro-screen h1 img { height: 32px; }
    #intro-screen div { font-size: .8em; left: 11%; top: 150px; width: 68%; }

    .screen > a { bottom: 10px; font-size: 1.1em; padding-left: 20%; padding-bottom: 8px;  right: 54px; }
    
    #innovative-solution .col-sm-3 { width: 72%; }

    .video { width: 74%; }

    #next-steps li { margin-top: 34px !important; width: 94%; }
    #next-steps li:first-of-type { margin-top: 0 !important; }

    #keep-in-touch li { margin-right: 18px; width: auto; }
    .interactive-map #mp-4 {top: 74%; left: 36%;}
}

@media screen and (max-height: 540px) and (max-width: 680px) {
    #intro-screen { height: 540px; }
    #intro-screen div { font-size: .75em; left: 8%; top: 140px; width: 78%; }

}


/* LIGHTBOX */
#lightbox {
    height: 0%;
    position: fixed;
    top: -100%;
    transition: top .85s, height .5s;
    width: 100%;
    z-index: 999;
}

#lightbox>span {
    background-color: rgba(35, 35, 35, .8);
    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 {
    box-shadow: 0 8px 15px 0 #000;
    margin: -120px auto 0;
    max-height: 80%;
    overflow: auto;
    position: relative;
    transform: rotateX(90deg) translateY(-160px);
    transition: .24s;
    width: 88%;
}

#lightbox img {
    display: block;
    width: 100%;
    background-color: #FFF;
}

#lightbox.on {
    top: 0;
    height: 100%;
}

#lightbox.on div {
    margin-top: 50px;
    transition: .8s ease-out .32s;
    transform: rotateX(0deg) translateY(0px);
}

.lightbox {
    cursor: pointer;
    margin-bottom: 5px;
}

.document-link {
    border-bottom: 3px solid #fcd105;
    padding-bottom: 5px;
    display: inline-block;
    font-weight: 600;
    font-size: 1.15rem;
    transition: all 0.5s;
    margin-bottom: 10px;
}

.document-link:hover {
    border-color: #1a8dab;
}