a {
  word-wrap: break-word;
}
.table-responsive {
  width: 100%;
  overflow-y: hidden;
  min-height: 0.01%;
  overflow-x: auto;
}
.visible-mobile {
  display: none !important;
}
.mobile-menu-container {
  display: none;
}
.responsive-test {
  display: none;
  width: 2px;
}
.standard-columns {
  -webkit-columns: 200px 2;
  -moz-columns: 200px 2;
  columns: 200px 2;
}
/* tramroutes pages (built for mobile) */
.tramroutes-template-default .post_content > p {
  margin: 0;
}
.tramroutes-template-default #content.default h1 {
  color: black;
  margin-top: 15px;
}
.tram-schedule,
.tram-stop {
  list-style-type: none;
  margin: 0;
}
.tramroutes .subheading {
  font-weight: bold;
  font-size: 17.5px !important;
  margin: 10px 0;
}
.tramroutes-stops,
.tramroutes-schedule {
  padding: 15px 0;
}
#content.default .archive-item-container {
  padding: 5px 5px 15px 5px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
#content.default .archive-item-container .list-item-image {
  width: 180px;
  margin: 5px;
}
#content.default .archive-item-container .list-item-content {
  flex-grow: 2;
  margin: 5px;
}
#link-button-set-container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  padding: 5px;
}
#link-button-set-container .span4 {
  padding: 0;
  width: 200px;
  margin: 5px;
  margin-left: 5px !important;
  /* override of style.jr */
}
.google-map-canvas {
  box-sizing: border-box;
}
.nav-container {
  padding: 18px 0 0 0;
}
/* revised flexible homepage promo */
.app-feature-wrapper {
  background-color: white;
}
.app-feature-container {
  display: flex;
  max-width: 980px;
  margin: 0 auto;
  padding: 45px 40px 0 45px ;
}
.app-feature-container .app-feature-content {
  padding: 0;
  max-width: 876px;
  margin: 0 auto;
  margin-left: 50px;
}
.app-feature-container .app-feature-content .app-feature-desc {
  padding-bottom: 20px;
}
.app-feature-container .app-feature-content .app-flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  overflow-y: hidden;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
.app-feature-container .app-feature-image {
  margin: 0 auto;
  min-width: 222px;
  overflow-y: hidden;
}
.app-feature-container .store-button-container {
  margin: 0;
}
.app-feature-container .store-button-container a.app-store-button,
.app-feature-container .store-button-container a.google-play-button {
  display: inline-block;
  margin: 10px 10px;
  width: 176px;
}
.app-feature-container .store-button-container a.google-play-button {
  background-position: -180px;
}
.ui-datepicker-unselectable.ui-state-disabled > span {
  opacity: 0.5;
}
.subsidy-table th:first-child {
  width: 40% !important;
}
.subsidy-table th:nth-child(2) {
  width: 20% !important;
}
.subsidy-table th:nth-child(3) {
  width: 20% !important;
}
#auxusc-passthrough {
  margin-top: 1em;
  text-align: center;
}
#auxusc-passthrough button {
  background-color: #700;
  outline: 0;
  color: #fff;
  background-color: #900;
  border: 0;
  height: 60px;
  font-size: 20px;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  padding: 0 20px;
  margin: 0 auto;
  display: block;
  margin-top: 15px;
}
@media screen and (max-width: 1024px) {
  .js-safety-links .dropdown {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .responsive-test {
    width: 1px;
  }
  /**********  HOME PAGE AND GENERAL CSS **********/
  .hidden-mobile {
    display: none !important;
  }
  .visible-mobile {
    display: block !important;
  }
  body {
    width: 100%;
    min-width: 320px;
    padding: 0;
    overflow-x: hidden;
    /* temp fix: something is stretching the window */
  }
  .navbar {
    box-shadow: none;
  }
  .row-fluid [class*="span"] {
    padding: 0 20px;
  }
  .footer .row-fluid [class*="span"] {
    padding: 0 20px 0 45px;
  }
  .navbar-fixed-top,
  .navbar-fixed-bottom,
  .navbar-static-top,
  .footer {
    margin: 0;
  }
  #mobile-menu-button,
  #logo,
  #usc-shield-header {
    position: absolute;
    top: 50%;
  }
  #mobile-menu-button {
    left: 20px;
    padding: 0;
    transform: translate(0, -15px);
    -webkit-transform: translate(0, -15px);
    border: none;
    background: #990000;
  }
  #mobile-menu-button span {
    height: 25px;
    width: 25px;
    display: block;
    background-size: contain;
  }
  .mobile-menu-button-open {
    background: url('images/menu-open.png') no-repeat;
  }
  .mobile-menu-button-close {
    background: url('images/menu-close.png') no-repeat;
  }
  #logo {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
  }
  #logo img {
    height: 24px;
  }
  #usc-shield-header {
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
  }
  #usc-shield-header img {
    height: 42px;
  }
  .navbar {
    margin-bottom: 0;
  }
  .navbar .navbar-inner {
    margin: 0;
    padding: 0;
  }
  .navbar .navbar-inner .nav-container {
    height: 60px;
    padding: 0;
    margin: 0;
  }
  .navbar .navbar-inner .nav-container .brand {
    margin: 0 !important;
    padding: 0 !important;
  }
  .home #content {
    margin-top: 30px;
    margin-bottom: 0;
  }
  .post_content > p:last-child {
    margin-bottom: 10px;
  }
  .flexslider.page-homepage {
    margin-bottom: 0px;
  }
  .home .flex-caption-container {
    display: none;
  }
  .flex-caption-container {
    position: static;
  }
  .flex-caption-container-inner.span8 {
    display: none;
  }
  .mobile-promo-container {
    background-color: #7F0000;
    margin: 30px 20px 0;
    color: white;
    display: -webkit-box !important;
    display: -moz-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    /* min-height: 160px; */
    align-items: center;
    flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    -webkit-flex-wrap: wrap-reverse;
    padding: 25px 20px;
  }
  .mobile-promo-container .promo-logo {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    box-sizing: border-box;
    flex-basis: 30%;
    flex-grow: 2;
    padding-bottom: 15px;
    height: 80px;
    background: url('../img/aaa_logo_200.png') no-repeat;
    background-size: contain;
    background-position: center;
  }
  .mobile-promo-container .promo-text {
    box-sizing: border-box;
    flex-basis: 70%;
    min-width: 190px;
    flex-grow: 2;
    padding: 0;
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    font-size: 20px;
    line-height: 30px;
  }
  .mobile-promo-container .promo-text a {
    margin: 0;
    font-size: 16px;
  }
  .mobile-promo-container .promo-text a span {
    margin-bottom: -5px;
  }
  .homepage-feature-content .span4 {
    padding-bottom: 20px;
  }
  .homepage-feature-content .span4 .top-box {
    height: auto;
  }
  .homepage-feature-content .span4 .top-box h4 {
    line-height: 28px;
  }
  .homepage-feature-content .span4 .top-box .homepage-feature-text {
    height: auto;
    padding-bottom: 15px;
  }
  .homepage-feature-image,
  .top-box .homepage-feature-image {
    width: 100%;
    padding-top: 65.50632911%;
    /* caclulation required because bus image is a background */
    height: auto;
  }
  /*
	#content .span4 {
		margin-bottom: 40px;
	} */
  .app-feature-container .app-feature-content {
    margin: 0;
  }
  .app-feature-container .app-feature-content .app-feature-desc {
    padding-bottom: 20px;
  }
  .app-feature-container .store-button-container {
    margin: 0 auto;
  }
  .app-feature-container .store-button-container a.app-store-button,
  .app-feature-container .store-button-container a.google-play-button {
    display: block;
  }
  .flexslider.page-default {
    margin-bottom: 0;
  }
  #main article {
    padding: 30px;
    background-color: #fff;
  }
  #main article:last-child {
    padding-bottom: 30px;
  }
  #content.default {
    background-color: inherit;
    box-shadow: none;
    -webkit-box-shadow: none;
    margin: 0 0 40px 0;
  }
  #content.default #main {
    padding: 30px 15px 0 15px;
  }
  #content.default h1 {
    line-height: 48px;
  }
  #content.default h3 {
    line-height: 28px;
  }
  #content.search-page {
    width: auto;
    margin: 20px;
  }
  #content.search-page article {
    padding: 0;
  }
  #content.search-page form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0;
    padding: 0;
  }
  #content.search-page form #s,
  #content.search-page form .s,
  #content.search-page form input[type="search"] {
    flex-grow: 2;
    box-shadow: 0;
    -webkit-box-shadow: 0;
  }
  #content.search-page form #searchsubmit,
  #content.search-page form .searchsubmit {
    height: 40px;
    width: 40px;
    margin-top: 0;
    background-position: center;
  }
  a.tramroute-button {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  a.tramroute-button .btn-inner {
    height: 80px;
    margin: 0;
    position: relative;
  }
  a.tramroute-button .btn-inner .btn-text {
    float: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    margin-left: 100px;
    margin-right: 20px;
  }
  a.tramroute-button .btn-inner .btn-icon {
    float: none;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    margin-left: 20px;
  }
  .tramroute-button:first-of-type {
    margin-top: 15px;
  }
  /**********  BUS MAP AND SCHEDULES CSS **********/
  #route-tabs {
    background-color: #fff;
  }
  #route-tabs .ui-tabs-panel {
    padding: 15px 0 !important;
    border: none !important;
  }
  .ui-dialog {
    max-width: 100% !important;
  }
  .bus-schedule-and-stops .route-title {
    line-height: normal;
  }
  #route-dropdown .dropdown-toggle {
    position: relative;
    border: none;
    height: 70px;
    padding-left: 20px;
    background-color: #eeeeee;
    width: 100%;
    display: block;
    text-align: left;
  }
  #route-dropdown .dropdown-toggle-box {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    height: 70px;
    width: 70px;
    background-color: #9e9e9e;
    color: white;
    border: none;
  }
  #route-dropdown .dropdown-toggle-triangle {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #ffffff transparent transparent transparent;
  }
  #route-dropdown .dropdown-menu {
    width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    background-color: #eeeeee;
  }
  #route-dropdown .dropdown-menu li button {
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    padding: 5px 5px 5px 20px;
    height: 70px;
  }
  #route-dropdown .dropdown-menu li button:hover,
  #route-dropdown .dropdown-menu li button:focus {
    background-color: #9e9e9e;
  }
  /****** Interactive Map Pages *******/
  .js-safety-links .dropdown {
    display: block;
    float: none;
  }
  .js-safety-links .dropdown a {
    margin: 5px 0;
  }
  .js-safety-links .dropdown #bus-routes-dropdown-list {
    box-sizing: border-box;
    width: 100%;
  }
  .js-safety-links .dropdown #bus-routes-dropdown-list:before {
    display: none;
  }
  /*** MOBILE MENU CSS ***/
  .mobile-menu-container {
    display: none;
    position: absolute;
    top: 60px;
    z-index: 900;
    background-color: #fff;
    width: 100%;
    min-width: 320px;
    padding: 0;
    border-bottom: 1px solid #ddd;
  }
  .mobile-menu-container #menu-top-menu-mobile {
    margin: 0;
    padding: 0;
  }
  .mobile-menu-container #menu-top-menu-mobile li a {
    text-transform: uppercase;
    padding: 20px;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    position: relative;
    color: #990100;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container {
    display: none;
    height: auto;
    box-shadow: none;
    float: none;
    width: 100%;
    height: auto !important;
    /* use !important to override JS changes that don't apply to mobile */
    min-height: auto !important;
    padding: 0;
    margin: 0;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container li {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container a {
    display: block;
    color: black !important;
    padding-left: 40px !important;
    border-bottom: 1px solid #ddd;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container a:hover,
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container a:focus {
    background-color: #eeeeee;
    text-decoration: none;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container .dropdown-submenu {
    display: none;
    padding: 0;
  }
  .mobile-menu-container #menu-top-menu-mobile li .dropdown-menu-container .dropdown-submenu li a {
    padding-left: 60px;
    text-transform: none;
  }
  .mobile-menu-container .mobile-menu-icon {
    position: absolute;
    right: 30px;
    width: 14px;
    height: 14px;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    background-image: url('images/mobile-menu-icons.png');
  }
  .mobile-menu-container .mobile-menu-icon.closer {
    background-position: 14px;
  }
  .mobile-menu-container .dropdown-menu-container .mobile-menu-icon {
    background-image: url('images/mobile-menu-icons-black.png');
  }
  .mobile-menu-container .spacer {
    height: 20px;
    border-bottom: 1px solid #ddd;
    background-color: #f3f3f3;
  }
  .mobile-menu-container #menu-quick-help-1 {
    padding: 0 20px;
  }
  .mobile-menu-container #menu-quick-help-1 .show-search-box {
    display: none;
  }
  .mobile-search-container {
    border-bottom: 1px solid #ddd;
  }
  .mobile-search-container .input-append {
    margin-bottom: 0;
    width: 100%;
  }
  .mobile-search-container .input-append #s,
  .mobile-search-container .input-append .s,
  .mobile-search-container .input-append input[type="search"] {
    border-right: none;
  }
  .mobile-search-container .input-append button {
    height: 40px;
    width: 40px;
    background: url('images/search-image.png') no-repeat;
    background-position: right 10px top 50%;
    background-color: #F3F3F3;
    box-sizing: border-box;
    border: 5px solid #e4e4e4;
    border-left: none;
    border-radius: none;
    text-shadow: none;
  }
  #searchform,
  .searchform {
    position: relative;
    margin: 20px;
  }
  #searchform button,
  .searchform button {
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background: url('images/search-image.png') center no-repeat;
    height: 40px;
    width: 40px;
    margin-top: 0;
  }
  #s,
  .s,
  input[type="search"] {
    margin: 20px;
    box-sizing: border-box;
    width: 100%;
    padding: 15px;
    margin: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
  }
  .copyright-container {
    position: relative;
  }
  .back-to-top-button-container {
    width: auto;
    float: none;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translate(0, -50%);
  }
  .copyright {
    float: none;
    padding-right: 80px;
    font-size: 12px;
  }
  table.tablepress.table-gas-prices {
    float: none;
  }
}
/***** iPad Fixes *****/
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .navbar-inner {
    padding: 5px;
  }
  .flex-caption-container {
    max-width: 95%;
  }
  .dropup,
  .dropdown {
    position: static;
  }
  #menu-top-menu > li > .dropdown-menu-container {
    left: 0;
    right: 0;
  }
  .flexslider.page-default {
    margin-top: -20px;
  }
  #menu-top-menu {
    float: none;
    width: 100%;
    text-align: left;
  }
  .navbar .nav > li > a {
    padding-bottom: 6px;
  }
  .navbar .brand {
    float: none;
  }
  .navbar-fixed-top {
    position: static;
    margin-bottom: 0;
  }
  body,
  body.home {
    padding-top: 0 !important;
    /* override style-jr */
  }
  .dropdown-menu-column {
    border-right: none;
  }
  .homepage-feature-content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .homepage-feature-content .span4 {
    -webkit-box-shadow: 1px 1px 2px 0 rgba(13, 9, 8, 0.25);
    box-shadow: 1px 1px 2px 0 rgba(13, 9, 8, 0.25);
    background-color: white;
  }
  .homepage-feature-content .top-box {
    box-shadow: none;
    -webkit-box-shadow: none;
  }
  .homepage-feature-content .box-content {
    border: none;
  }
  .top-box,
  .top-box .homepage-feature-text {
    height: auto;
  }
  .textarea-wrap label {
    width: 100% !important;
    /* override of form css */
  }
  table.tablepress.table-gas-prices {
    float: none;
  }
  .ninja-forms-form-wrap form.ninja-forms-form .recaptcha-wrap {
    padding: 0 !important;
  }
  /* Main content and sidebar styling for internal pages */
  .page-template-default #content,
  .page-template-default #content.default {
    display: flex;
    flex-direction: column;
    background-color: #E5E4E3;
    box-shadow: none;
  }
  .page-template-default #content #main,
  .page-template-default #content.default #main {
    background-color: white;
    order: 1;
    flex-grow: 2;
    width: auto;
    padding: 30px;
    margin: 0;
    box-shadow: 1px 1px 2px 0 rgba(13, 9, 8, 0.25);
  }
  .page-template-default #content .sidebar,
  .page-template-default #content.default .sidebar {
    margin-top: 20px;
    background-color: white;
    order: 2;
    flex-grow: 2;
    width: auto;
    min-height: 0 !important;
    max-width: 100%;
    text-align: left;
    padding: 0 20px 30px;
    box-shadow: 1px 1px 2px 0 rgba(13, 9, 8, 0.25);
  }
  .page-template-default #content .sidebar .sidebar-header,
  .page-template-default #content.default .sidebar .sidebar-header {
    background-color: #2E2E2E;
    padding: 20px;
    text-align: left;
    margin: 0 -20px 20px;
    color: white;
  }
  .page-template-default #content .sidebar > ul,
  .page-template-default #content.default .sidebar > ul {
    text-align: left;
    columns: 2;
    padding: 0;
  }
  .page-template-default #content .sidebar > ul li,
  .page-template-default #content.default .sidebar > ul li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .page-template-default .sidebar .sidenav li.current_page_item > a {
    background-color: white;
    font-weight: bold;
  }
  .page-template-default .sidebar .sidenav li.current_page_item > a:before {
    content: '\25b6 \00a0';
  }
  .page-template-default .sidebar .sub-menu > li a {
    padding-left: 10px;
  }
  .page-template-default .sidebar .sub-menu > li a:after {
    content: '';
  }
}
@media screen and (max-width: 520px) {
  .app-feature-container .app-feature-content .app-flex-container {
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
  }
  .app-feature-container .app-feature-content .app-flex-container .app-feature-image {
    width: 111px;
    min-width: 0;
    height: 145px;
    margin: 0;
    background-size: contain;
  }
  .app-feature-container .app-feature-content .app-flex-container .store-button-container {
    margin-left: 10px;
    margin-right: 0;
    flex-grow: 2;
  }
  .app-feature-container .app-feature-content .app-flex-container .store-button-container a.app-store-button,
  .app-feature-container .app-feature-content .app-flex-container .store-button-container a.google-play-button {
    width: 120px;
    margin: 0 auto;
    background-size: contain;
    background-position: 0;
  }
  .app-feature-container .app-feature-content .app-flex-container .store-button-container a.app-store-button {
    background-image: url('../img/app-store-button.png');
  }
  .app-feature-container .app-feature-content .app-flex-container .store-button-container a.google-play-button {
    background-image: url('../img/google-play-button.png');
  }
}
@media screen and (max-width: 320px) {
  #content.default {
    margin: 0;
  }
  #content.default #main {
    padding: 0;
  }
  #link-button-set-container {
    padding: 0px;
  }
  #link-button-set-container .span4 {
    margin: 5px auto !important;
  }
}
