#contactable {
  text-align: left;
}

#contactable label {
  width: auto;
}

#contactable.opened #contactable_inner {
  background-position: 0 59px;
}

#contactable.opened #contactable-cnt-selected {
   display: none;
}

#contactable .selected-items {
   position: absolute;
   font-size: 12px;
   top: 41px;
   left: 0;
   color: #888;
   width: 100%;
   height: 18px;
   white-space: nowrap;
   font-weight: normal;
   padding-left: 25px;
   padding-right: 37px;
   overflow: hidden;
   text-overflow: ellipsis;
   line-height: normal;
   text-transform: lowercase;
}

#contactable #contactable_inner {
  background-image: url(../images/feedback.d336531f.png);
  color: #FFFFFF;
  background-color: #333333;
  cursor: pointer;
  height: 59px;
  top: 0;
  right: 0;
  overflow: hidden;
  position: absolute;
  text-indent: 119px;
  *margin-top: 10px;
  width: 200px;
  z-index: 2;
}

.map-controls {
  background-color: #57b94a;
  cursor: pointer;
  height: 59px;
  top: 0;
  right: 200px;
  overflow: hidden;
  position: absolute;
  *margin-top: 10px;
  width: 248px;
  z-index: 2;
}

a.map-type {
  display: inline-block;
  width: 62px;
  height: 59px;
  font-size: 11px;
  line-height: 59px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}

#contactable-cnt-selected {
   line-height: 62px;
}

#contactable .category {
    border: 1px solid #9b9b9b;
    height: 64px !important;
    width: 408px;
    max-width: 100%;
    margin-bottom: 21px;
    float: left;
    margin-right: 21px;
    background-image: url(../images/category-arrow.bcf92e58.png);
    background-repeat: no-repeat;
    background-position: right 22px;
    position: relative;
}

#contactable .category.opened {
    background-position: right -35px;
}

#contactable .category a {
    padding-left: 23px;
    line-height: 62px;
    display: block;
    color: #2b2e34;
    font-weight: bold;
    font-size: 1em;
    overflow: hidden;
}

#contactable .category ul ul {
    padding-left: 15px !important;
    margin-left: 0 !important;
    display: block;
}

#contactable .category > ul {
    opacity: 1 !important;
    width: 408px !important;
    padding-left: 23px !important;
    margin-left: -1px !important;
    background-color: #fff;
    border: 1px solid #9b9b9b;
    position: absolute;
    z-index: 1;
    margin-top: 0;
    padding-top: 23px;
    padding-bottom: 23px;
    max-height: 250px;
    overflow: auto;
}

#contactable .category ul {
  display: none;
}

#contactable #mapFiltersForm {
  background-color: #FFF;
  margin-top: -679px;
  color: #FFFFFF;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

#contactable #mapFiltersForm .category-list {
    padding-left: 5vw;
    padding-top: 50px;
    overflow: auto;
  height: 380px;
  padding-bottom: 100px;
}

#contactable #mapFiltersForm input, #contactable #mapFiltersForm textarea {
  background:#FFFFFF none repeat scroll 0 0;
  outline-style:none;
  outline-width:medium;
  width: 325px;
  padding: 5px;
  border: 1px solid #dfdfdf;
  font-family: georgia;
  font-size: 1em;
  margin-bottom: 10px;
}

#contactable a.button {
  background-color: #57b94a;
  display: block;
  color: #fff;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 18px;
  margin-top: 24px;
}

#contactable #mapFiltersForm .submit {
  background: #F5410F none repeat scroll 0 0;
  outline-style: none;
  outline-width: medium;
  width: 325px;
  padding: 5px;
  border: 3px solid #F52D0F;
  outline-color:-moz-use-text-color;
  font-family: georgia;
  font-size: 1em;
  cursor: pointer;
  color: #FFF;
  text-transform: uppercase;
  font-weight: bolder;
  font-family: Helvetica;
  margin-top: 10px;
}

#contactable #mapFiltersForm p {
  font-size: 1em;
}

#contactable #mapFiltersForm .disclaimer {
  *margin-left:20px;
}

#contactable #mapFiltersForm .red {
  color:  #F5410F;
}

#contactable #overlay {
  background-color:#666666;
  display:none;
  height: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

#contactable .error { background-color: #EDBE9C !important; }

#contactable #name.error { background-color: #EDBE9C; } 
#contactable #email.error { background-color: #EDBE9C; }
#contactable #comment.error { background-color: #EDBE9C; }

#contactable #mapFiltersForm h3 {
  font-size: 33px;
  margin-top: 30px;
}

#contactable #mapFiltersForm h5 {
  margin-left: 26px;
  margin-top: 7px;
  margin-bottom: 3px;
  font-size: 1em;
}

#contactable #mapFiltersForm p {
  margin: 3px 20px 3px 26px;
  color: #666;
}

#contactable #mapFiltersForm .subheader {
    padding-top: 72px;
    padding-bottom: 70px;
    padding-left: 5vw;.
  color: #fff;
  background-color: #55b046;
  font-size: 17px;
}

.category-pad {
    padding-left: 11px;
}

#contactable #mapFiltersForm .subheader p,
#contactable #mapFiltersForm .subheader h3 {
    color: #fff;
    margin-left: 11px;
}

#contactable #mapFiltersForm .subheader h3 {
    margin-top: 0;
    margin-bottom: 14px;
}

#contactable #mapFiltersForm p.actions {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0 0 0;
    margin: 0;
    text-align: right;
    background: #fff;
}

#contactable #filter-apply-button {
    margin-right: 5em;
}

#contactable .actions button {
  width: 120px;
  font-size: 1em;
}

#contactable .actions button.action {
  background-color: #57b94a;
  color: #fff;
}

#contactable .actions button.reset {
  background-color: #9b9b9b;
  color: #fff;
  font-weight: normal;
}

#contactable #mapFiltersForm label {
  font-size: 16px;
  padding-top: 0;
}

#contactable #mapFiltersForm input[type=checkbox] {
    float: left;
    display: inline-block;
    width: 36px;
    clear: left;
    margin-top: 5px;
}

#contactable #mapFiltersForm label{
    display: inline-block;
}

#contactable #mapFiltersForm #loading {
  background: url(../images/ajax-loader.gif) no-repeat;
  width:55px;
  height:55px;
  margin: 100px auto;
  display:none;
}

#contactable #callback {
  font-family: georgia;
  font-size:1.1em;
  color: #FFF;
  width:325px;
  margin: 100px auto; 
  display:none;
}


#contactable .holder {
  margin:0 auto;
  *margin-left:20px;
  padding-top:20px; 
}

.bottom-journey-widget {
    padding-top: 35px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 41px;
    background: #c8f0c3;
}

.bottom-journey-widget h4 {
  color: #2c5f25;
  font-size: 31px;
  line-height: 45px;
}

.route-summary {
  position: absolute;
  top: 59px;
  right: 0;
  z-index: 0;
  max-width: 448px;
  width: 100%;
  background-color: #fff;
  display: none;
}

.route-summary.opened {
  display: block;
}

.route-summary .route-title {
  margin: 20px;
}

.route-summary .btn {
  margin-left: 20px;
} 

@media screen and (max-width: 400px) {
  .route-summary {
    top: 155px;
  }
}

@media screen and (max-width: 78.76923em) {
    #contactable #filter-apply-button {
       margin-right: 5vw;
    }
}

@media screen and (max-width: 400px) {

    .category-pad {
       overflow: hidden;
       padding-bottom: 40px;
    }

    #contactable .selected-items {
       position: relative;
       top: -21px;
       display: block;
    }

    #contactable #mapFiltersForm {
       top: 100px;
    }

    #contactable #contactable_inner {
       background-image: url(../images/feedback-mobile.253dfc31.png);
       width: 100%;
       background-color: #5ab031;
       background-repeat: no-repeat;
       background-position: center 0;
       right: 0;
       top: 100px;
       height: 55px;
       text-indent: 249px;
    }

    #contactable-cnt-selected {
      line-height: 57px;
    }

    #contactable.opened #contactable_inner {
       background-position: right -59px; 
    }

    #contactable #mapFiltersForm .subheader {
       background-color: #5ab031;
       padding-top: 55px;
       padding-bottom: 30px;
       padding-left: 5vw;.
    }

    #contactable #mapFiltersForm h3 {
     font-size: 22px;
    }

    #contactable #mapFiltersForm p {
       font-size: 15px;
    }

    #contactable .actions button {
       width: 50%;
       margin: 0;
       display: block;
       float: left;
       padding: 0;
       border-radius: 0;
       line-height: 68px;
    }

    #contactable #filter-apply-button {
       margin-right: 0;
    }

    #contactable #mapFiltersForm p.actions {
       position: fixed;
       padding: 1px 0 0 0;
       display: none;
    }

    #contactable.opened #mapFiltersForm p.actions {
       display: block;
       z-index: 2;
    }

    #contactable #mapFiltersForm .category-list {
       height: auto;
       overflow: visible;
       padding-bottom: 10px;
    }

    #contactable .category {
       border-left: 0;
       border-right: 0;
       margin-bottom: 0;
       margin-top: -1px;
    }

    #contactable .category a {
       font-weight: normal;
       padding-left: 0;
    }

    #contactable .category {
       background-position: right -95px;
       position: static;
    }

    #contactable .category ul {
       height: auto !important;
       padding: 0 0 0 15px !important;
       margin: 0 !important;
       top: 0 !important;
       width: auto !important;
       opacity: 1 !important;
       display: none !important;
    }

    #contactable .category.opened {
       top: 40px !important;
       background: #5ab031;
       position: absolute;
       border: none;
    }

    #contactable .category.opened ul {
       display: block !important;
    }

    #contactable .category.opened a {
       font-size: 1.3em;
       color: #fff;
       padding-left: 40px;
       background-image: url(../images/left-arrow.6462161f.png);
       background-repeat: no-repeat;
       background-position: 0 20px;
    }

    #contactable .category > ul {
       max-height: none;
       height: auto !important;
       top: 55px !important;
       padding: 25px 23px 25px 30px !important;
       margin: 0 0 0 -31px !important;
       width: 100% !important;
       min-height: 600px;
       border: none;
    }

    #contactable .selected-items {
       padding-left: 0;
    }

    #contactable .category.opened .selected-items {
       display: none;
    }

    .map-controls {
      display: none;
    }
}
