body {
    background-color: #ebebeb;
}

*:focus {
    outline: none;
}
.navbar-padding {
    margin-top: 55px;
}
.container {
    padding-left: 20px;
    padding-right: 20px;
}
.navbar {
    padding-top: 3px;
    padding-left: 5px;
    padding-right: 5px;
    background: #ffffff;
    height: 50px;
    min-height: 40px;
}
.margin-horizontal {
    margin-left: 10px;
    margin-right: 10px;
}
.margin-vertical {
    margin-bottom: 10px;
    margin-top: 10px;
}
.show-all .hidden-xs {
    display: block; !important;
}

#dir-switcher .col-xs-6 {
    padding: 0;
}

#dir-switcher-mobile {
    padding: 0 5px 0 0;
}

.swipeable-container.inactive {
    margin-bottom: 56px;
}

.historical {
    min-height: 71px;
    box-sizing: content-box;
    margin-bottom: 5px;
}

.historical.number p {
    margin-top: 23px;
}

.historical a {
    margin-top: 23px;
    display: block;
    color: #ffffff;
    text-decoration: underline;
}

@media (max-width: 767px) {
    h1 {
        text-align: center;
    }
    #dir-switcher {
        display: none;
    }
    #links img.img-responsive {
        margin: 0 auto 20px;
    }
    #camera-desc h2 {
        font-size: 24px;
    }
    #cameras {
        max-width: 100%;
        overflow-x: hidden;
    }
}

#main-logo h1 {
    font-weight: bold;
    text-transform: uppercase;
    color: #262626;
    text-align: center;
    font-size: 28px;
    margin-bottom: 14px;
}

#main-logo > img {
    max-height: 250px;
    margin: 0 auto;
}

.rblink div,
#main-logo div {
    transition: transform 0.1s, box-shadow 0.1s;
    display: block;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 18px;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.1);
    margin-bottom: 10px;
}

.rblink:hover div,
#main-logo a:hover div {
    transform: translateX(-2px) translateY(-2px);
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.6);
}

.rblink.active:hover div {
    transform: none;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.1);
}

#button-strip {
    margin: 10px auto 0;
    float: none;
}

.rblink span {
    cursor: default;
}

.rblink a span {
    cursor: pointer;
}

.rblink div span,
.rblink div i,
#main-logo div span,
#main-logo div i {
    display: block;
    float: left;
    text-align: center;
    line-height: 45px;
    height: 45px;
}

.rblink div span,
#main-logo div span {
    background-color: #262626;
    width: 80%;
    font-weight: bold;
    letter-spacing: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rblink.active div span {
    color: #262626;
    background-color: #ffffff;
}

.rblink div span.small-text,
#main-logo div span.small-text {
    font-size: 12px;
}

.rblink div i,
#main-logo div i {
    background-color: #f50920;
    width: 20%;
}

.rblink.active div i {
    background-color: #004771;
}

.rblink .fa:before,
#main-logo .fa:before {
    font-size: 26px;
}

.rblink.slim .fa:before {
    font-size: 14px;
}

.alert-messages {
    background-color: #2b2b2b;
    color: #ffffff;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    padding: 26px 0 6px;
    position: relative;
    margin: 20px 0 40px;
    line-height: 1.2em;
}

#messages {
    font-size: 24px;
    line-height: 1.2em;
    font-weight: normal;
}

#messages h4 {
    font-weight: bold;
    font-size: 36px;
}

#messages .message-content a {
    display: block;
    text-align: right;
}

#notices h4 {
    text-align: center;
    text-transform: uppercase;
    color: #262626;
}

#camera-desc {
    position: relative;
    background-color: #2b2b2b;
    text-align: center;
    color: #ffffff;
    padding: 20px 0;
    margin: 20px 0 0;
    font-size: 16px;
}

#camera-desc h2 {
    color: #ffffff;
}

.alert-messages:before,
#camera-desc:before,
#cameras:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 40px 0 40px;
    border-color: #ebebeb transparent transparent transparent;
}

#cameras:before {
    border-color: #2b2b2b transparent transparent transparent;
}

#cameras {
    background-color: #004771;
    color: #ffffff;
    font-size: 36px;
    padding: 40px 0 20px;
    position: relative;
    margin-bottom: 20px;
}

.cameras {
    margin: 0 auto;
    max-width: 600px;
}

.camera-image span {
    margin-top: 12px;
    font-weight: bold;
}

#cameras .slick-prev,
#cameras .slick-next {
    top: 33%;
}

#cameras .slick-prev:before,
#cameras .slick-next:before {
    color: #ffffff;
    opacity: 0.999;
    font-size: 36px;
}

#cameras .slick-prev.slick-disabled:before,
#cameras .slick-next.slick-disabled:before {
    opacity: 0.25;
}

#cameras .slick-dots li button:before {
    color: #ffffff;
    font-size: 12px;
    opacity: 1;
}

#cameras .slick-dots li.slick-active button:before {
    color: #2b2b2b;
}

@media (min-width: 768px) {
    .container {
        padding-top: 5px;
    }

    #main-logo {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #notice-holder {
        /*background-image: url('/images/map-back.jpg'); */
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        padding: 20px 0;
    }

    .alert-messages {
        margin-bottom: 0;
    }

    #camera-desc {
        margin-top: 0;
    }

    #notices {
        border: 4px solid #616161;
        padding: 20px;
        font-size: 16px;
    }

    #notices > div:last-child {
        border-left: 2px solid #616161;
    }

    #dir-switcher-mobile {
        display: none;
    }

    .dir-button {
        background-color: #262626;
        border: none;
        border-radius: 5px;
        color: #ffffff;
        font-weight: bold;
        font-size: 56px;
        margin: 10px 0;
        padding: 10px 25px;
        display: block;
        width: 100%;
    }

    #dir-switcher .col-xs-6:first-child {
        padding: 0 35px 0 0;
    }

    #dir-switcher .col-xs-6:first-child img {
        float: right;
    }

    #dir-switcher .col-xs-6:last-child {
        padding: 0 5px 0 30px;
        text-align: right;
    }

    #dir-switcher .col-xs-6:last-child img {
        float: left;
    }

    .direction-northbound .slick-slider,
    .direction-northbound .swipeable-container.inactive {
        margin-right: 15px;
    }

    .direction-northbound .panel-density {
        margin-right: 20px;
    }

    .direction-southbound .slick-slider,
    .direction-southbound .swipeable-container.inactive,
    .direction-southbound .panel-density {
        margin-left: 15px;
    }

    #doc,
    #nzta {
        width: 50%;
        height: 400px;
        margin: 0;
        padding: 0;
        background-size: cover;
        float: left;
    }

    #links div div {
        width: 50%;
        margin: 50px;
        padding: 0;
    }

    #doc img {
        max-width: 334px;
    }

    #nzta img {
        max-width: 270px;
    }
}

#messages .badge {
    background-color: #ffffff;
    color: #444444;
    margin-left: 10px;
}

#messages .badge-info {
    background-color: #004771;
    color: #ffffff;
    font-size: 16px;
}

.alert.alert-danger {
    background: #F26048; /* Old browsers */
    background: -moz-linear-gradient(top, #F26048 0%, #EF352A 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #F26048 0%,#EF352A 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #F26048 0%,#EF352A 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.alert.alert-warning {
    background: #EC9F48; /* Old browsers */
    background: -moz-linear-gradient(top, #EC9F48 0%, #E68523 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #EC9F48 0%,#E68523 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #EC9F48 0%,#E68523 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.alert.alert-info {
    background: #BCBCBC; /* Old browsers */
    background: -moz-linear-gradient(top, #BCBCBC 0%, #b5b5b5 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #BCBCBC 0%,#b5b5b5 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #BCBCBC 0%,#b5b5b5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.direction-northbound .panel , .btn-primary {
    color: #ffffff;
    background: #34b3e4; /* Old browsers */
    background: -moz-linear-gradient(top, #34b3e4 0%, #01a0dc 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #34b3e4 0%,#01a0dc 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #34b3e4 0%,#01a0dc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border-radius: 5px;
}
/* @darkblue = #1E89B3*/
.direction-southbound .panel , .btn-success {
    color: #ffffff;
    background: #91C648; /* Old browsers */
    background: -moz-linear-gradient(top, #91C648 0%, #7CB830 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #91C648 0%,#7CB830 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #91C648 0%,#7CB830 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border-radius: 5px;
}
/* @darkgreen = #77A834 */
p.notice {
    line-height: 1.3em;
}
.alert {
    margin-bottom: 10px;
}
.panel table {
    width: 100%;
}
.panel table td {
    width: 33%;
}
.panel {
    margin: 2px 5px 4px 2px;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.panel .header-row {
    text-transform: uppercase;
    font-size: 1.0em;
    letter-spacing: -.05em;
    margin: 0 10px;
}
.panel {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.panel-recent .date-data {
    text-align: right;
}
.panel-recent .direction-data {
    text-align: center;
    text-transform: uppercase;
}

.panel-recent .car-data, .panel-recent .truck-data, .panel-recent .speed-data, .number  {
    font-size: 46.5px;
    font-weight: bold;
    line-height: 47px;
}
.bottom-box .number {
    font-size: 30px; line-height: 30px;
}
.truck-image, .car-image {
    display: inline-block !important;
     margin: 5px 0 0 -12px; height:14px
}
.icon {
    position: absolute;
}
.smaller {
    font-size: 85%;
}
.boxed-outer {
    padding: 6px 3px 0px;
}
.boxed {
    padding: 7px 5px;
    border-radius: 7px;
    border: 1.5px solid #fff;
}
.graph {
    min-height: 140px;
    height: 140px;
}
.key-a, .key-b, .key-c {
    display: block;
    border-radius: 3px;
    margin: 0 5px;
    padding: 5px 10px;
    vertical-align: bottom;
}
.key-a .small, .key-b .small {
    font-size: 70%;
}
.key .key-a, .key .key-b, .key .key-c {
    display: inline-block;
    width: 10px;
    height: 10px;
    padding: 0;
    margin-bottom: 6px;
}
/* graph colours */
.graph .ct-bar {
    fill: none;
    stroke-width: 20px;
}
.graph.sub-chart .ct-bar {
    fill: none;
    stroke-width: 10px;
}
.direction-southbound .ct-series-b .ct-point,
.direction-southbound .ct-series-b .ct-line,
.direction-southbound .ct-series-a .ct-bar,
.direction-southbound .ct-series-a .ct-slice-donut {
    stroke: #a9eaab; }
.direction-southbound .key-a { background: #a9eaab;}

.direction-southbound .ct-series-c .ct-point,
.direction-southbound .ct-series-c .ct-line,
.direction-southbound .ct-series-b .ct-bar,
.direction-southbound .ct-series-b .ct-slice-donut {
    stroke: #77A834; }
.direction-southbound .key-b {
    background: #77A834;
    color: #fff;
}

.direction-northbound .ct-series-b .ct-point,
.direction-northbound .ct-series-b .ct-line,
.direction-northbound .ct-series-a .ct-bar,
.direction-northbound .ct-series-a .ct-slice-donut {
    stroke: #c4e2f8; }
.direction-northbound .key-a {
    background: #c4e2f8; }

.direction-northbound .ct-series-c .ct-point,
.direction-northbound .ct-series-c .ct-line,
.direction-northbound .ct-series-b .ct-bar,
.direction-northbound .ct-series-b .ct-slice-donut {
    stroke: #1E89B3; }
.direction-northbound .key-b {
    background: #1E89B3;
    color: #fff;
}

.graph .ct-series-a .ct-line, .graph .ct-series-a .ct-point, .graph {
    stroke: #333333;
    /*stroke-width: 2px; */
    opacity: .7;
}
.direction-northbound .key-c, .direction-southbound .key-c {
    background: #333333;
    color: #fff;
}
.sub-chart .ct-point {
    stroke-width: 10px;
    stroke-linecap: round;
    opacity: 0.1 !important;
}

.graph .ct-label {
    fill: rgba(0,0,0,.6);
    color: rgba(0,0,0,.6);
    font-size: 1rem;
    line-height: 1;
}
.panel-speed .ct-label.ct-horizontal, .panel-volume .ct-label.ct-horizontal {
    text-decoration: underline;
    cursor: pointer;
}
.panel-speed .sub-chart .ct-label, .panel-volume .sub-chart .ct-label {
    text-decoration: none !important;
    cursor: default;
}
.panel-density div.small {
    font-size: 11px;
    line-height: 1.3em;
    margin-top: -10px;
}
.siteListing {
    padding-left: 5px;
}
.siteListing .col-xs-6.text-right {
    padding-right: 0px;
    font-size: 10px;
}
.siteListing .site-bar-container {
    padding-left: 5px;
    padding-right: 5px;
}

.site-bar {
    background: rgba(255,255,255, .6);
    height: 10px;
    border-radius: 5px;
    margin-top: 6px;
}
.overlay {
    position: fixed;
    top: 50px;
    bottom: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    z-index: 2200;
}
.box .overlay {
    display: none;
}

ul.slick-dots {
    position: static;
    max-height: 2em;
    overflow: hidden;
}

.dynamicContent .panel-body {
    min-height: 224px;
}
.dynamicContent .inactive .panel-body {
    min-height: 80px;
}

#contact {
    color: #ffffff;
    background-color: #262626;
    text-align: center;
    padding: 50px 0;
    position: relative;
}

#contact .arrow {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 40px 0 40px;
    border-color: #ebebeb transparent transparent transparent;
}

#contact h4 {
    color: #ffffff;
    font-size: 45px;
    font-weight: bold;
}

#contact h4 span {
    color: #f60a21;
}

#contact p {
    font-size: 16px;
}

#contact .btn {
    border-radius: 0;
    margin-top: 16px;
    font-size: 16px;
    padding: 6px 36px;
}

#links img {
    margin: 0 auto 32px;
}

#links p {
    margin: 0;
    padding: 0;
    line-height: 32px;
}

#links div div {
    color: #ffffff;
    font-size: 24px;
    text-align: center;
    padding: 20px 0;
}

#links a {
    margin-top: 32px;
    color: #ffffff;
    text-transform: uppercase;
    display: inline-block;
    padding: 4px 20px;
    border: 1px solid #ffffff;
}

#links a:hover {
    text-decoration: none;
    color: #000000;
    background-color: #ffffff;
}

#doc {
    background-color: #559642;
    background-image: url('/images/doc-back.jpg');
}

#doc div {
    float: right;
}

#doc a:hover {
    color: #559642;
}

#nzta {
    background-color: #004771;
    background-image: url('/images/nzta-back.jpg');
}

#nzta a:hover {
    color: #004771;
}

#built {
    background-color: #ffffff;
    padding: 40px 0;
    text-align: center;
    clear: both;
}

#built p,
#built div {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}

#copyright {
    padding: 20px 0;
    font-size: 16px;
    color: #676767;
    text-align: center;
}

.dynamicContent .panel-body {
    position: relative;
}

#sh7,
#tasman {
    background-color: #ffffff;
    position: relative;
    padding: 50px 0;
}

#tasman {
    background-color: #ebebeb;
}

#sh7 .arrow,
#tasman .arrow {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 40px 0 40px;
    border-color: #ebebeb transparent transparent transparent;
}

#tasman .arrow {
    border-color: #ffffff transparent transparent transparent;
}

#sh1 h4,
#sh7 h4,
#tasman h4 {
    text-align: center;
    color: #616161;
    font-size: 45px;
    font-weight: bold;
}

.chart-overlay {
    display: none;
    position: absolute;
    top: 33%;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,0.3);
    color: #ffffff;
    padding: 10px 0;
    text-align: center;
}

.site-data {
    position: relative;
    display: inline-block;
}

.site-data a {
    color: #ffffff;
    text-decoration: underline;
}

.site-data span {
    font-size: 18px;
    vertical-align: text-top;
    position: absolute;
    right: -20px;
    top: 3px;
}

@media (min-width: 767px) {
    .rblink.slim {
        line-height: 20px;
    }

    .rblink.slim div span,
    .rblink.slim div i {
        line-height: 20px;
        height: 20px;
    }
}

@media (max-width: 767px) {
    #contact {
        padding: 16px;
    }
    #contact h4 {
        font-size: 24px;
    }
    #links div div {
        font-size: 16px;
    }
    #contact p,
    #links p {
        line-height: 1.4em;
    }
    #links a {
        margin-top: 16px;
    }
    #tasman,
    #sh7 {
        padding: 16px 0;
    }
    #sh1 h4,
    #tasman h4,
    #sh7 h4 {
        font-size: 24px;
        text-transform: uppercase;
    }

    .site-data span {
        margin-left: 5px;
        position: static;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    #links div div {
        width: 80%;
        font-size: 20px;
    }

    #dir-switcher .col-xs-6:first-child span {
        z-index: 10;
        position: relative;
    }

    #dir-switcher .col-xs-6:first-child img {
        float: none;
        position: absolute;
        top: 20px;
        right: 60px;
    }
}

.marquee {
    width: 100%;
    margin: 0 auto 10px;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
    background: #afc83d;
    height: 30px;
}

.marquee span {
    line-height: 30px;
    font-size: 14px;
    font-weight: bold;
    color: #262626;
    display: inline-block;
    padding-left: 100%;  /* show the marquee just outside the paragraph */
    animation: marquee 15s linear infinite;
}

.marquee span:hover {
    animation-play-state: paused
}
/* Make it move */
@keyframes marquee {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(-100%, 0); }
}
.sh-link {
    background: #262626;
    display: block;
    color: white;
    text-decoration: none;
    line-height: 50px;
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0;
    border-radius: 5px;
}
.sh-link:active, .sh-link:hover, .sh-link:focus {
    color: white;
    text-decoration: none;
}
.sh-link span, .sh-link img { padding: 5px; }
.sh-link img { height: 45px; margin: 0 10px; }

.sh-buttons .col-xs-6:first-child { padding: 0 5px 0 0;}
.sh-buttons .col-xs-6:last-child { padding: 0 0 0 5px;}
@media (min-width: 768px) {
    .sh-buttons .col-xs-6:first-child {
        padding: 0 35px 0 0;
    }

    .sh-buttons .col-xs-6:last-child {
        padding: 0 5px 0 30px;
    }
}