@charset "utf-8";
/* CSS Document */
.float-left {
    float: left !important;
    clear: none !important;
}

.float-right {
    float: right !important;
    clear: none !important;
}

.clear-both {
    clear: both !important;
}

#referralUpgradeStatusBar {
    height: 3px;
    width: 124px;
    margin: 13px 0;
    background: #ccc;
}

#referralUpgradeStatusBar div {
    height: 3px;
    background: #0072bc;
}

#location-name {
    background: url("../images/left-nav-arrow.png") no-repeat 140px center;
    display: block;
    font-size: 16px;
    padding: 17px 0px 17px 17px;
    text-align: left;
    text-decoration: none;
    color: #000;
    width: 155px;
    overflow: hidden;
}

#left-top-nav > a:hover {
    background-color: white;
}

#left-top-nav ul.encouraged {
    display: block;
}

#left-top-nav ul li.currentLocation {
    background-color: #EFFFEC;
}

#left-top-nav ul li:not(.loc-del-confirm):hover {
    cursor: pointer;
}

#left-top-nav ul li.loc-del-confirm {
    display: none;
    margin-top: 0px;
    overflow: auto;
}

#left-top-nav ul li.loc-del-confirm.active {
    display: list-item;
}

#left-top-nav ul li.active {
    display: none;
}

#left-top-nav ul li .button.right {
    float: right;
    margin: 11px 14px 11px 0;
    padding: 0 11px;
}

#left-top-nav ul li .button {
    float: right;
    margin: 11px 14px;
    padding: 0 11px;
}

#left-top-nav #location-search > .button {
    float: none;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    position: relative;
    top: 10px;
    left: -8px;
}

#left-top-nav ul li .button.left {
    float: right;
    margin: 11px 0 11px 14px;
    padding: 0 11px;
}

#left-top-nav ul li.new-location {
    background-color: #4b5059;
    border-bottom: none;
}

#location-menu #location-search a {
    padding: 0;
}

#location-menu li > a {
    cursor: pointer;
}

#location-search button {
    width: 218px;
    font-weight: bold;
    color: white;
    margin: 8px;
}


div.upgrade {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9999999;
    cursor: pointer;
    width: 146px;
    background-color: #f26522;
    text-align: center;
    padding: 12px;
    line-height: 20px;
    color: #fff;
}

div.upgrade .lead {
    font-size: 14px;
    font-weight: bold;
    padding: 10px 15px;
}

div.upgrade .follow {
    font-size: 13px;
    padding-bottom: 15px;
    opacity: .7;
}

div.upgrade .button {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .26);
    padding: 13px 9px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-color: #70b912;
    background-image: -o-linear-gradient(bottom, #70b912 0%, #7ac419 100%);
    background-image: -webkit-linear-gradient(bottom, #70b912 0%, #7ac419 100%);
    background-image: linear-gradient(to bottom, #70b912 0%, #7ac419 100%);
}

div.upgrade:hover {
    background: #ccc;
    color: #333;
}

@media all and (max-height: 845px) {
    div.upgrade .follow {
        display: none;
    }
}

@media all and (max-height: 760px) {
    div.upgrade .lead {
        display: none;
    }
}

.header-routing {
    height: 40px !important;
    background-color: #253444 !important;
    border-bottom: 1px solid #fff;
}


#forecastLocationHeadingDiv {
    padding: 17px 0 0 0;
    font-weight: bold;
}

.setup-alerts-button {
    top: 175px;
    left: 754px;
}

button.darkGreyGradient {
    display: inline-block;
    vertical-align: baseline;
    margin: 0 2px;
    outline: none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    /* font: 14px/100% Arial, Helvetica, sans-serif; */
    font: inherit;
    padding: .5em 2em .55em;
    -webkit-border-radius: .25em;
    -moz-border-radius: .25em;
    border-radius: .25em;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
    /* custom color dark grey */
    border: solid 1px #1d212a;
    color: LightGray;
    background: #464a53;
    background: -webkit-gradient(linear, left top, left bottom, from(#51555e), to(#3f434c));
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#51555e', endColorstr='#3f434c')";
}

button.darkGreyGradient:hover {
    text-decoration: none;
    background: #616161;
    background: -webkit-gradient(linear, left top, left bottom, from(#757575), to(#4b4b4b));
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575', endColorstr='#4b4b4b')";
}

button.darkGreyGradient:active {
    position: relative;
    top: 1px;
    /* color:grey, not customised */
    color: #afafaf;
    background: -webkit-gradient(linear, left top, left bottom, from(#575757), to(#888));
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#575757', endColorstr='#888888')";
}

button.delete-location {
    right: 0;
    position: absolute;
}

button.delete-location:hover {
    text-decoration: none;
    /* white */
    /*    background: #ededed;
        background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
        -ms-filter:  "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc')"; */
    color: white;
    background: red;
    font-weight: bold;
}

button.delete-location:active {
    position: relative;
    top: 1px;
    /* white */
    color: #999;
    background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fff));
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff')";
}

/* end */

/* observations */
.observationsViewport {
    position: relative;
    width: 100%;
}

.gmap_observations {
    overflow: hidden;
    width: 100%;
    height: 496px;
    z-index: 0;
}

#observationPanel {
    position: relative;
    width: 100%;
    height: 35px;
}

#observationPanel #playButton {
    position: absolute;
    left: 0px;
    width: 90px;
    height: 100%
}

#observationPanel #sliderPanel {
    position: absolute;
    left: 90px;
    width: auto;
    height: 100%;
    right: 120px
}

#observationPanel #graphsButton {
    position: absolute;
    right: 60px;
    width: 60px;
    height: 100%
}

#observationPanel #optionsButton {
    position: absolute;
    right: 0px;
    width: 60px;
    height: 100%
}

#observationPanel #playHider {
    position: absolute;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.75;
    filter: alpha(opacity=75)
}

#sliderPanel #slider {
    z-index: 1;
}

button.spriteButton {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.spriteButton .clicker:hover {
    cursor: pointer;
}

#observationOptionsPanel {
    position: absolute;
    z-index: 1;
    right: 0px;
    bottom: -1px;
    width: 145px;
    padding-left: 5px;
    background-color: black;
    box-shadow: 0px 0px 8px black;
    -moz-box-shadow: 0px 0px 8px black;
    -webkit-box-shadow: 0px 0px 8px black;
    -o-box-shadow: 0px 0px 8px black;
    -ms-box-shadow: 0px 0px 8px black;
}

#observationOptionsPanel h3 {
    margin: 0px;
}

#observationOptionsPanel button {
    width: 100%;
    background-color: black;
    border: 0px;
    padding: 0px;
    margin: 0px;
    text-align: left;
}

#observationOptionsPanel div {
    float: left;
    margin: 5px 6px 3px 8px;
    width: 8px;
    height: 8px;
    background: url(../images/animation_controls.png) -16px 0px;
    visibility: hidden;
}

#observationOptionsPanel button.selected div {
    visibility: inherit;
}

#observationOptionsPanel button:active div {
    visibility: inherit;
    opacity: 0.5;
    filter: alpha(opacity=50);
}

#observationOptionsPanel span {
    font-size: 10px;
    color: white;
}

* + html .spriteButton.hover .pressedButton {
    visibility: inherit;
}

* + html .spriteButton.hover .normalButton {
    visibility: hidden;
}

.spriteButton.hover .buttonHover {
    visibility: inherit;
    display: block;
}


.mapObservationsLegend {
    padding-top: 10px;
    padding-right: 40px;
    float: right;
    font-size: 10px;
}

.observationsDialogContainer {
    position: absolute;
    top: 60px;
    left: 50%;
    margin-left: -279px;
    width: 558px;
    z-index: 1;
}

.observationsLastUpdated {
    position: absolute;
    top: 6px;
    left: 6px;
}

.observationsGraph {
    position: relative;
    width: 520px;
    height: 250px;
    margin-left: 15px;
    margin-bottom: 15px;
    text-align: left;
}

.observationsGraphDialog {
    position: relative;
    height: 1150px;
    text-align: left;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.observationsDialogLegendLabel {
    width: 113px;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
    text-align: left;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}

.gmapLabelShadow {
    box-shadow: 1px 1px 4px grey;
    -moz-box-shadow: 1px 1px 4px grey;
    -webkit-box-shadow: 1px 1px 4px grey;
    -o-box-shadow: 1px 1px 4px grey;
    -ms-box-shadow: 1px 1px 4px grey;
}

.dialogBoxShadow {
    box-shadow: 0px 0px 100px black;
    -moz-box-shadow: 0px 0px 100px black;
    -webkit-box-shadow: 0px 0px 100px black;
    -o-box-shadow: 0px 0px 100px black;
    -ms-box-shadow: 0px 0px 100px black;
}

.observationsGraphUpgradeDialog {
    position: relative;
    height: 50px;
    padding: 5px;
    margin-top: 50px;
    background-color: white;
    border: 1px outset;
    text-align: left;
}

.observationsButtons {
    position: absolute;
    top: 6px;
    right: 6px;
}

.observationsCameraIcon {
    position: absolute;
    top: 8px;
    right: 50px;
}

.observationsCameraCloseDialog {
    cursor: pointer;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 19px;
    line-height: 19px;
    text-align: center;
    font-weight: bold;
    background-color: black;
    color: white;
}

.observationsCameraDialog {
    position: relative;
    width: 558px;
    height: 505px;
    background-color: black;
    z-index: 100;
}

.observationsCameraFrame {
    width: 558px;
    height: 505px;
    border: 0px;
}

#graphContainer {
    padding-top: 5px;
    padding-bottom: 5px;
    color: #05A;
    text-align: center
}

.graphSection {
    height: 275px;
    margin-left: 5px;
    margin-right: 5px;
    position: relative;
}

.graphLegendContainer td {
    vertical-align: middle;
    padding: 1px;
}

.graphLegendContainer table {
    border-collapse: separate;
    border-spacing: 2px;
    border-color: gray;
}


/** HINTS **/

.hintAnchor {
    /* overflow: hidden; */
    margin: 0px;
    padding: 0px;
    border: 0px;
}

.hintClose {
    position: absolute;
    width: 11px;
    height: 11px;
    background-image: url("../images/tip-x.png");
    position: absolute;
    opacity: .5;
    cursor: pointer;
    top: 9px;
    right: 9px;
}

.hintClose:hover {
    opacity: 1;
}

.hintContent {
    position: absolute;
    font-family: arial, helvetica;
    background: #fff;
    border: 1px solid #d4d4d4;
    padding: 27px 27px 27px 27px;
    -moz-box-shadow: 0 3px 7px rgba(7, 7, 7, .2), inset 0 0 0 1px rgba(255, 255, 255, .5);
    -webkit-box-shadow: 0 3px 7px rgba(7, 7, 7, .2), inset 0 0 0 1px rgba(255, 255, 255, .5);
    box-shadow: 0 3px 7px rgba(7, 7, 7, .2), inset 0 0 0 1px rgba(255, 255, 255, .5);
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    color: #333;
    font-size: 12px;
    line-height: 20px;
}

/* Weird tricks to create a little arrow. Several different directions. */

.hintContent > div::after, .hintContent > div::before {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.hintContent > div::after {
    border-width: 10px;
}

.hintContent > div::before {
    border-width: 11px;
}

/* Tip to the right */

.hintContent > div.hintRight::after,
.hintContent > div.hintRight::before {
    right: 100%;
}

.hintContent > div.hintRight::after {
    border-right-color: #fff;
    top: 50%;
    margin-top: -10px;
}

.hintContent > div.hintRight::before {
    border-right-color: #d4d4d4;
    top: 50%;
    margin-top: -11px;
}

/* Tip to the left */


.hintContainer.hintLeft {
    margin-left: -310px;
}


.intro-tip.left .icon {
    float: right;
}

.hintContent > div.hintLeft::after,
.hintContent > div.hintLeft::before {
    left: 100%;
}

.hintContent > div.hintLeft::after {
    border-left-color: #fff;
    top: 50%;
    margin-top: -10px;
}

.hintContent > div.hintLeft::before {
    border-left-color: #d4d4d4;
    top: 50%;
    margin-top: -11px;
}

/* Tip to the bottom */

.hintContent > div.hintAbove::after {
    top: 100%;
}

.hintContent > div.hintAbove::after {
    border-top-color: #fff;
    left: 50%;
    margin-left: -10px;
}

.hintContent > div.hintAbove::before {
    border-top-color: #d4d4d4;
    left: 50%;
    margin-left: -11px;
    bottom: 28px;
    margin-bottom: -50px;
    background: no-repeat
}

/* Tip to the top plus a rule for hintLeft that maybe should not be there ?? */

.hintContent > div.hintBelow::after,
.hintContent > div.hintLeft::before {
    bottom: 100%;
}

.hintContent > div.hintBelow::after {
    border-bottom-color: #fff;
    left: 50%;
    margin-left: -10px;
}

.hintContent > div.hintBelow::before {
    border-bottom-color: #d4d4d4;
    left: 50%;
    margin-left: -11px;
    top: 28px;
    margin-top: -50px;
    background: no-repeat
}

/* little red/grey i icon uses similar logic */

.hintContainer {
    z-index: 100000;
    text-align: left;
}

.hintContainer > * {
    display: none;
}

.hintContainer.active > * {
    display: block;
}

/* alternative style of hints */

.tip-wrapper.intro {
    position: absolute;
}

/* end page hints */

/* Site intro slideshow */
#site_intro {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 10000;
    margin: 0px;
    border: 0px;
    padding: 0px;
    background: #001D3B url(../images/bg.png) repeat-x scroll 0 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#site_intro_dialog {
    position: absolute;
    top: 30px;
    left: 50%;
    margin-left: -349px;
    width: 698px;
    height: 515px;
}

#site_intro_close_x {
    position: absolute;
    right: -11px;
    top: -11px;
    z-index: 1000;
}

#site_intro_dialog_frame {
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -379px;
    z-index: 700
}

#site_intro_buttons {
    position: absolute;
    left: 100%;
    bottom: 0px;
    height: auto;
    width: 100%;
}

#site_intro_slides {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    white-space: nowrap;
}

#site_intro_buttons,
#site_intro_slides {
    transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
}

#site_intro_slides img {
    position: absolute;
    left: 0%;
    top: 0px;
    width: 100%;
    height: 86.6304347%;
}

#site_intro .slide1 {
    left: 0%;
    height: 100%;
}

#site_intro .slide2 {
    left: 100%;
}

#site_intro .slide3 {
    left: 200%;
}

#site_intro .slide4 {
    left: 300%;
}

#site_intro .slide5 {
    left: 400%;
}

#site_intro .slide6 {
    left: 500%;
}

#site_intro .slide7 {
    left: 600%;
    height: 100%;
}

#site_intro_prev {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 50%;
    height: 15%;
    z-index: 1000;
    display: none;
}

#site_intro_next {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 15%;
    z-index: 1000;
}

#site_intro_actions {
    position: absolute;
    left: 600%;
    top: 0%;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

#site_intro_clipper {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#site_intro_login {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    display: none;
}

#site_intro_register {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    display: none;
}

#site_intro_forgot {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    display: none;
}

#site_intro_close {
    background-color: white;
    opacity: 0;
    filter: alpha(opacity=0);
    position: absolute;
    bottom: 2%;
    left: 30%;
    width: 40%;
    height: 10%;
}

/* end site intro slideshow */

/* misc? */
.mapNotes {
    font-size: 12px;
    color: #555;
    padding: 10px;
}

.mapNotes li {
    padding: 2px 0;
}

.iPhoneExcluded {
    display: inline;
}

.iPhoneOnly {
    display: none;
}

/* Router */
.gmap_router_outer_container {
    width: 742px;
    height: 420px;
}

.gmap_router {
    overflow: hidden;
    width: 100%;
    height: 400px;
}

.routerWarningIntro {
    font-size: 14px;
    font-weight: bold;
    color: red;
}

.closeX {
    position: absolute;
    cursor: pointer;
    text-align: right;
    font-weight: bold;
    top: -10px;
    right: -10px;
    width: 20px;
    height: 20px;
    padding-top: 14px;
    padding-right: 16px;
}

.routerMessageArea {
    padding: 10px;
    background-color: white;
    border: 1px outset;
    position: absolute;
    top: 34px;
    border-radius: 3px;
    font-size: 14px;
    left: 30px;
    right: 180px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    -moz-box-shadow: 0 2px 7px rgba(7, 7, 7, .25);
    -webkit-box-shadow: 0 2px 7px rgba(7, 7, 7, .25);
    box-shadow: 0 2px 7px rgba(7, 7, 7, .25);
}

td.positionLabel {
    background-repeat: no-repeat;
    background-origin: content-box;
    display: inline-block;
    width: 110px;
    text-align: left;
    margin-right: 0px;
}

tr td.positionLabel {
    background-image: url('../images/location-waypoint-table.png');
}

tr:first-child td.positionLabel {
    background-image: url('../images/location-start-table.png');
}

tr:last-child td.positionLabel {
    background-image: url('../images/location-end-table.png');
}

td.table-input.inactive input {
    width: 100%;
    color: inherit;
}

td.table-input.left .setButton {
    box-sizing: border-box;
}

div.left.input.start-time {
    min-width: 284.828px;
}

.old-checkboxes input[type=checkbox] {
    display: inline;
}

#djDebug input[type=checkbox] {
    display: inline;
}

.route-setting-buttons .button {
    white-space: nowrap;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
}

.asterix {
    text-align: center;
    font-size: 12px;
    color: #a2a2a2;
}

#id_boatPolarPower,
#id_boatPolarBasic,
#id_boatPolarAdvanced {
    font-size: 14px;
    color: rgb(85, 85, 85);
}

.table-round.small tbody th {
    vertical-align: middle;
}

input[type="text"].small {
    box-sizing: content-box;
    -moz-box-sizing: content-box;
}

.input.start-time > div {
    white-space: nowrap;
}

.input.start-time > div input.button {
    float: none;
    height: 27px;
}

.form-page-wrapper.routing .start-time input[type="text"] {
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    margin-right: 7px;
}

.form-page-wrapper.routing .form-section {
    width: 755px;
}

.routing .trackingSettingsForms {
    position: absolute;
    top: 20px;
    left: 568px;
    white-space: nowrap;
}

.routing .trackingSettingsForms > * {
    display: inline-block;
    float: none;
    vertical-align: top;
}

#trackingGroupSettings button {
    float: none;
    height: 27px;
}

.prev-route {
    clear: both;
    color: #999;
    text-align: center !important;
    width: 642px;
    background: #eaeaea;
    padding: 15px 0;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    margin: 0 0 40px 25px;
}

.prev-route::before {
    content: "See ";
}

.prev-route.open::before {
    content: "Hide ";
}

.bt-3-wrap {
    padding: 20px;
    font-size: 14px;
    color: #555555;
    display: inline-block;
    text-align: left;
    vertical-align: top;
}

.bt-3-wrap .button {
    margin-top: 10px;
}

/* location list page */
.forecast-alerts-table .loc-row.delete-check {
    margin-left: -744px;
}

/* solutions pages */
.form-section .lead-image {
    margin-top: -34px;
    margin-left: -34px;
}

/* feedback */
.feedback .form-section.radios label {
    float: none;
    padding-bottom: 15px;
}

.feedback .form-section.radios label:last-child {
    padding-bottom: 0px;
}

.feedback .form-section p {
    margin-bottom: 13px;
    font-size: 14px;
    color: #999;
}

.feedback textarea {
    width: 100%;
}

.feedback .form-section .button.submit {
    margin-top: 20px;
    margin-left: 0px;
}

/* map spacer */

.map.spacer {
    width: 9px;
    background: url("../images/map-spacer.png");
    height: 480px;
    display: inline-block;
    position: static;
    margin: 0;
    float: none;
}

/* Password rest process */
.login-box .reset-password {
    margin-top: 0px;
    margin-left: 0px;
    opacity: 1;
    position: static;
}

.login-switch-wrap {
    position: relative;
    margin-top: -20px;
}

.login-box .reset-confirmation {
    margin-top: 30px;
}

/* intro overlay */
.forecast-views-highlight {
    height: 448px;
}

/* print button */
.routing #printButtons .button {
    float: none;
    position: relative;
}


/* .circle is getting overloaded */
.progress .circle {
    border: none;
    margin-right: 0;
}

/* FIXME: use of jQuery to show and hide would avoid needing this override */
.routing-option-select .bt-pref {
    display: block;
}

span.hintAnchor {
    cursor: default !important;
    display: inline !important;
    height: auto !important;
    margin: 0 !important;
    vertical-align: initial !important;
    width: auto !important;
    background: initial !important;
}

/* GPS Tracking */
.legend_tracking {
    position: absolute;
    z-index: 2;
    right: 0px;
    bottom: 15px;
    color: black;
    border-collapse: separate;
    border-spacing: 2px;
}

/* Find location / Custom Location */
#id_searchText, #LocationName {
    /* round corners on left, not right*/
    -webkit-border-top-left-radius: 3px;
    -webkit-border-bottom-left-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -moz-border-radius-bottomleft: 3px;
    border-color: #bababa;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;

    -webkit-border-top-right-radius: 0px;
    -webkit-border-bottom-right-radius: 0px;
    -moz-border-radius-topright: 0px;
    -moz-border-radius-bottomright: 0px;
    border-color: #bababa;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

#saveLocationDiv .closeButton {
    position: absolute;
    top: 2px;
    right: 6px;
    cursor: pointer;
}

#searchContainer, #saveLocationControls {
    display: inline-table;
}

#searchContainer > div, #saveLocationControls > div {
    display: table-row;
}

#searchButton, #saveLocation {
    cursor: pointer;
    color: white;
    text-transform: uppercase;
    background: #74bd14;
    padding-left: 18px;
    padding-right: 18px;
    font-weight: bold;
    border: solid 1px #618d14;
    /* rounded corners */
    -webkit-border-top-right-radius: 3px;
    -webkit-border-bottom-right-radius: 3px;
    -moz-border-radius-topright: 3px;
    -moz-border-radius-bottomright: 3px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

span.redDot {
    display: inline-block;
    height: 10px;
    width: 10px;
    background: url('../images/map_marker_normal.png') 50% 50% no-repeat;
}

#searchHelpText {
    padding-top: 17px;
    color: #989898;
}

#searchHelpText p {
    margin: 5px 0;
}

#mapInstructions {
    display: none;
    width: 785px;
    color: white;
    background-color: #42464f;
    margin-top: 5px;
    padding: 15.5px 0;
}

#mapInstructions > div {
    padding: 7px 0;
}

#addNewLocationHeading {
    background: url('../images/insetMapPinIcon.jpg') 50% 0% no-repeat;
    width: 650px;
    padding-top: 160px;
    margin: 30px 16px 32px 70px;
    font-size: 33px;
    color: #545251;
    font-family: "Arial";
    font-weight: bold;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
    text-transform: uppercase;
}

/* Note padding-top on this element must match margin-top for #addNewLocationHeading! */
.locationForms {
    padding-top: 30px;
}

body.mapShown .locationForms {
    padding-top: 20px;
}

#addNewLocationHeading, #saveLocationDiv h2 {
    text-align: center;
    font-weight: bold;
    color: #545452;
}

body.mapShown #addNewLocationHeading, #saveLocationDiv h2 {
    /* Perhaps missing a second body.mapShown above but no proof! */
    background-image: none;
    padding: 0;
    margin-top: 0px;
    margin-bottom: 20px;
    font-size: 18px;
}

#lhs-menu-hider {
    display: none;
    position: fixed;
    z-index: 501;
    left: 0;
    top: 54px;
    bottom: 0;
    width: 170px;
    background-color: rgba(0, 39, 78, 1);
}

body.mapShown #lhs-menu-hider {
    display: block;
}

#searchButton, #id_searchText, #LocationName, #saveLocation {
    display: table-cell;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 15px;
    margin: 0px;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

/* Magically appearing location search map */
body.mapShown #searchHelpText {
    display: none;
}

body.mapShown #mapDivContainer, body.mapShown #mapDiv, body.mapShown #mapInstructions {
    display: block;
}

form.search {
    text-align: center;
    width: 785px;
}

form[name=save_location] {
    padding: 0;
    margin: 0 0 0 10px;
}

#saveLocationDiv {
    position: absolute;
    z-index: 10;
    background-color: #e9e9e9;
    width: 520px;
    height: 110px;
    left: 50%;
    top: 30%;
    margin-left: -260px;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
    box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
}

#mapDivContainer {
    position: relative;
    height: 500px;
    width: 785px;
}

#mapDiv {
    height: 500px;
}

a.iridium-go-link {
    text-decoration: underline;
}

a.iridium-go-link:visited {
    color: blue;
}

/* Graphs on routing page */

.routingGraph {
    width: 550px;
    margin-left: 30px;
}

.routingGraph > .axes {
    height: 400px;
}

.routingGraph::before {
    content: attr(data-y-axis);
    display: block;
    -webkit-transform: rotate(270deg);
    -webkit-transform-origin: left top;
    -ms-transform: rotate(270deg);
    -ms-transform-origin: left top;
    height: 30px;
    width: 400px;
    position: relative;
    top: 400px;
    left: -30px;
}

/* 'next forecast update' page element */
.accordion-item.nextUpdate {
    display: none;
}

#zero a.nextUpdate-link {
    font-size: 11px;
    white-space: normal;
    width: 100%;
    height: auto;
    line-height: normal;
    padding: 6px 0;
    text-align: center;
    cursor: pointer;
}

#zero a.nextUpdate-link::before {
    content: none;
}

#hintContainer_nextUpdate {
    position: fixed;
    left: 180px;
    top: 64px;
    width: 0px;
    height: 176px;
}

#hintContainer_nextUpdate.active {
    width: 283px;
}

#hintContainer_nextUpdate.discouraged {
    display: none;
}

.nextUpdate-hintContent {
    padding: 0;
    line-height: normal;
    color: #797979;
    background-color: #eee;
    border: none;
    border-top: 4px solid Black;
    border-bottom: 4px solid #eee;
    border-radius: 4px;
}

.nextUpdate-table > thead {
    background-color: Black;
}

.nextUpdate-table th.nextUpdate-title {
    color: white;
}

.nextUpdate-title > strong {
    font-size: 16px;
}

div.leaflet-zoom-hide {
    position: absolute;
}

/* Contact Support menu item has no href */
.help-support > a {
    cursor: pointer;
}

/* graph legend */

label.graphLocation {
    display: inline-block;
    width: 46px;
    height: 14px;
    margin-top: 6px;
    border: 1px solid rgba(0, 0, 0, 0.67);
    background-color: #424750;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    background-image: url("../images/toggle-switch-bg.png");
    background-position: -31px 0;
    cursor: pointer;
    -webkit-transition: all 0.1s ease-in;
    -moz-transition: all 0.1s ease-in;
    -ms-transition: all 0.1s ease-in;
    -o-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
}

.toggle-switch-ball {
    background-image: url("../images/toggle-switch-ball.png");
    background-repeat: no-repeat;
    background-origin: content-box;
    display: inline-block;
    width: 17px;
    height: 18px;
    position: relative;
    padding-right: 30px;
    top: -1px;
    -webkit-transition: all 0.1s ease-in;
    -moz-transition: all 0.1s ease-in;
    -ms-transition: all 0.1s ease-in;
    -o-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
}

input[type=checkbox]:checked + label.graphLocation {
    background-position: 0px;
}

input[type=checkbox]:checked + label.graphLocation .toggle-switch-ball {
    padding-left: 30px;
    padding-right: 0;
}

.form-section.radios .button.green,
.form-section.hints .button.green {
    margin-left: 0;
    margin-top: -3px;
}


/* Atlas map fix */
canvas.atlas.map {
    float: none;
    margin: 0;
}

/* 404 page */
.pageNotFound {
    margin-top: 250px;
    text-align: center;
    line-height: initial;
}

.pageNotFound > img + p {
    margin: 50px 0 10px;
}

/* Language switcher */
#language-switcher {
    float: right;
    width: 150px;
}
#language-switcher:hover > :first-child,
#language-switcher:not(:hover)>:nth-child(2),
.language-children{
    display: none;
}

#language-switcher button {
    white-space: nowrap;
    text-align: left;
}

#language-switcher button.language-current {
    height: 54px;
    background-color: #1a3c5f;
    border-color: transparent;
    color: #7e93a6;
    cursor: default;
    font-size: 14px;
}
/* overwrites the styles of language button in the logged out page */
.loggedout-wrapper #language-switcher button {
    background-color: transparent;
    color: #7e93a6;
    border: none;
}
.loggedout-wrapper .language-current{
    background-color: transparent;
}

.loggedout-wrapper #language-switcher button:hover{
    background-color: rgba(216,216,216,0.4);
}
#language-switcher > :first-child > button.language-current {
    background-color: transparent;
    width: auto;
}

#language-switcher > :first-child {
    text-align: end;
}

#language-switcher button {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 10px;
    border: solid thin #dadada;
    border-top: none;
    text-align: start;
    background-color: White;
    cursor: pointer;
    font-size: 13px;
    font-family: "acumin-pro", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#language-switcher button > img {
    vertical-align: middle;
    margin-right: 10px;
}
/* language button styles in base sales page */
.base-sales #language-switcher{
    text-align: right;
}
.base-sales #language-switcher button{
    border: none;
    background-color: white;
    color: #000000;
}
.base-sales #language-switcher button.language-current{
    color: white;
    background: transparent;
}
.base-sales #language-switcher:hover > :first-child{
    display: unset;
}
.base-sales #language-switcher > :nth-child(2){
    display: none;
}
.base-sales #language-switcher .language-children button:hover{
    background: #2792fc;
    color: white;
}
.base-sales .language-children::before{
    bottom: 7px;
    left: -15px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: relative;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
    border-width: 8px;
}
.base-sales .children-wrap{
    border-radius: 4px;
    overflow: hidden;
    padding: 5px 0;
    background: white;
}
.base-sales .language-children{
    position: absolute;
    top: 50px;
    width: 150px;
}

/* ----- Billing -----*/

.plan-wrap .form-section.hints .button {
    margin-top: 10px;
    margin-bottom: -15px;
}

.plan-wrap .plan-name {
    font-size: 30px;
    font-weight: bold;
    display: inline-block;
}

.plan-wrap .plan-detail {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.plan-wrap .plan-detail .light {
    color: #b5b5b5;
    margin-left: 10px;
}

iframe#update-credit-card.form-section {
    padding: 8px 34px;
}

/* ------  Website tables ------ */
/* Clever scrolling is mostly set up in common.css, tweaked for desktop here */
#tablePageBody #container {
    height: calc(100vh - 55px);
    overflow-y: hidden;
}

/* Merely cosmetic */
.forecastTable {
    font-size: 12px;
}

/* 500 template for an embedded iframe */
body.error-500 {
    background-color: White;
    line-height: normal;
}