/*
Theme Name: Cape Anne Transit Authority
Theme URI: https://github.com/Trillium-Solutions/cata
Author: Trillium Transit
Author URI: http://trilliumtransit.com
Description: A Master Template for Transit Themes
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cata
Tags:

Cape Anne Transit Authority Theme is built on Underscores http://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
input,
select,
textarea {
  color: #5a6069;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.45;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin-bottom: 23.2px;
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: 39.0625px;
  font-size: 2.44140625rem;
  margin-top: 0;
}

h2 {
  font-size: 31.25px;
  font-size: 1.953125rem;
  margin-top: 34.8px;
}

h3 {
  font-size: 25px;
  font-size: 1.5625rem;
  margin-top: 34.8px;
}

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 23.2px;
}

h5, h6 {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 23.2px;
}

p {
  margin-bottom: 23.2px;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  margin: 11.6px 23.2px;
  color: #a8adb4;
}

address {
  margin: 0 0 23.2px;
}

pre {
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 34.8px;
  max-width: 100%;
  overflow: auto;
  padding: 23.2px;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
}

blockquote, q {
  quotes: "" "";
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

hr {
  background-color: #d2d6d9;
  border: 0;
  height: 1px;
  margin-bottom: 23.2px;
}

#content,
#header-content,
#footer-content {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
#content section,
#header-content section,
#footer-content section {
  float: left;
  padding: 0 50px 20px 0;
}
#content section:first-child,
#header-content section:first-child,
#footer-content section:first-child {
  padding-right: 35px;
}
#content section h2,
#header-content section h2,
#footer-content section h2 {
  margin-top: 0;
  margin-bottom: 7px;
}
#content #custom_html-2,
#header-content #custom_html-2,
#footer-content #custom_html-2 {
  width: 50%;
}
#content #footer-navigation,
#header-content #footer-navigation,
#footer-content #footer-navigation {
  width: 50%;
}
#content #footer-navigation ul,
#header-content #footer-navigation ul,
#footer-content #footer-navigation ul {
  margin-top: 0;
  margin: 15px 20px 10px 0;
}
#content #footer-navigation ul li,
#header-content #footer-navigation ul li,
#footer-content #footer-navigation ul li {
  width: 50%;
  float: left;
  list-style-type: none;
}
#content #footer-navigation ul li a,
#header-content #footer-navigation ul li a,
#footer-content #footer-navigation ul li a {
  text-decoration: none;
}
#content #footer-navigation ul li a:hover,
#header-content #footer-navigation ul li a:hover,
#footer-content #footer-navigation ul li a:hover {
  color: #aad3f5;
}
@media only screen and (max-width: 968px) {
  #content,
  #header-content,
  #footer-content {
    max-width: 100%;
  }
  #content .widget:nth-of-type(1),
  #header-content .widget:nth-of-type(1),
  #footer-content .widget:nth-of-type(1) {
    padding-right: 0 !important;
  }
  #content section,
  #header-content section,
  #footer-content section {
    width: 50%;
    padding-bottom: 0;
    padding-right: 0;
  }
  #content #custom_html-2,
  #header-content #custom_html-2,
  #footer-content #custom_html-2 {
    width: 100%;
  }
  #content #footer-navigation,
  #header-content #footer-navigation,
  #footer-content #footer-navigation {
    width: 100%;
  }
  #content #footer-navigation ul,
  #header-content #footer-navigation ul,
  #footer-content #footer-navigation ul {
    margin-top: 0;
  }
}

@media only screen and (max-width: 968px) {
  #header-content {
    width: 95%;
  }
}

#footer-content {
  font-size: 0.9em;
}
#footer-content .widget:nth-of-type(1) {
  padding-right: 4em;
}

ul, ol {
  margin: 23.2px 0 23.2px 34.8px;
}

ul {
  list-style: disc;
  padding: 0;
}

ol {
  list-style: decimal;
}

li {
  margin-bottom: 5.8px;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-top: 0;
  margin-left: 23.2px;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 23.2px 23.2px;
}

img, svg {
  height: auto; /* Make sure images are scaled correctly. */
  max-width: 100%; /* Adhere to container width. */
}

figure {
  margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

.hidden {
  display: none;
}

.icon {
  display: inline-block;
}

.icon svg {
  position: relative;
  fill: #5a6069;
  width: auto;
}

.icon-small svg {
  height: 16px;
  top: 2px;
  margin-right: 4px;
}

.icon-medium svg {
  height: 20px;
  top: 3px;
  margin-right: 6px;
}

.icon-large svg {
  height: 25px;
  top: 4px;
  margin-right: 8px;
}

.content-wrap {
  padding: 23.2px;
}

table {
  margin: 23.2px 0 23.2px;
  border: 1px solid #ddd;
  width: 100%;
  overflow: auto;
}

th {
  text-align: center;
  border-left: 1px solid #ddd;
}
th:first-child {
  border-left: 0px solid #ededed;
}

td, th {
  padding: 0.5em;
}

td {
  text-align: center;
  padding: 1em 0.5em;
  border: 1px solid #ddd;
}
td:first-child {
  border-left: 0px solid #ededed;
}

#report-list th, #report-list td {
  vertical-align: top;
  text-align: left;
}
#report-list th p, #report-list td p {
  margin-top: 0;
}

#job-list h2, #report-list h2, #procurement-list h2 {
  display: none;
}

@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
  #report-list table, #report-list thead, #report-list tbody, #report-list th, #report-list td, #report-list tr, #job-list table, #job-list thead, #job-list tbody, #job-list th, #job-list td, #job-list tr, #procurement-list table, #procurement-list thead, #procurement-list tbody, #procurement-list th, #procurement-list td, #procurement-list tr, .rfp table, .rfp thead, .rfp tbody, .rfp th, .rfp td, .rfp tr {
    display: block;
  }
  #report-list thead tr, #job-list thead tr, #procurement-list thead tr, .rfp thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  #report-list tr, #job-list tr, #procurement-list tr, .rfp tr {
    border: 0 solid #ccc;
  }
  #report-list tr:nth-of-type(even), #job-list tr:nth-of-type(even), #procurement-list tr:nth-of-type(even), .rfp tr:nth-of-type(even) {
    background: #ffffff;
  }
  #report-list tr:nth-of-type(even) td:before, #job-list tr:nth-of-type(even) td:before, #procurement-list tr:nth-of-type(even) td:before, .rfp tr:nth-of-type(even) td:before {
    background: #ededed;
  }
  #report-list tr:nth-of-type(odd) td:before, #job-list tr:nth-of-type(odd) td:before, #procurement-list tr:nth-of-type(odd) td:before, .rfp tr:nth-of-type(odd) td:before {
    background: #f5f5f5;
  }
  #report-list td, #job-list td, #procurement-list td, .rfp td {
    border: none;
    border-left: 1px solid #dbdbdb;
    border-bottom: 1px solid #dbdbdb;
    position: relative;
    padding-left: 50%;
  }
  #report-list td:before, #job-list td:before, #procurement-list td:before, .rfp td:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0px;
    width: 45%;
    padding-top: 16px;
    padding-left: 6px;
    padding-right: 10px;
    white-space: nowrap;
    z-index: 0;
    font-weight: 600;
    border-right: 1px solid #ddd;
  }
  #job-list td:nth-of-type(1):before {
    content: "Posted";
  }
  #job-list td:nth-of-type(2):before {
    content: "Title";
  }
  #job-list td:nth-of-type(3):before {
    content: "Closing";
  }
  #report-list td:nth-of-type(1):before {
    content: "Title";
  }
  #report-list td:nth-of-type(2):before {
    content: "Description";
  }
  #report-list td:nth-of-type(3):before {
    content: "Report ( PDF )";
  }
  #report-list td:nth-of-type(4):before {
    content: "Posted";
  }
  #procurement-list td:nth-of-type(1):before {
    content: "Posted";
  }
  #procurement-list td:nth-of-type(2):before {
    content: "Title";
  }
  #procurement-list td:nth-of-type(3):before {
    content: "Type";
  }
  #procurement-list td:nth-of-type(4):before {
    content: "Status";
  }
  #procurement-list td:nth-of-type(5):before {
    content: "Documents";
  }
  #procurement-list td:nth-of-type(6):before {
    content: "Closing";
  }
  .rfp table td:nth-of-type(1):before {
    content: "Posted";
  }
  .rfp table td:nth-of-type(2):before {
    content: "Type";
  }
  .rfp table td:nth-of-type(3):before {
    content: "Status";
  }
  .rfp table td:nth-of-type(4):before {
    content: "Documents";
  }
  .rfp table td:nth-of-type(5):before {
    content: "Closing";
  }
}
/*************************************
**             FORMS                **
*************************************/
.btn, button {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  background: #025ba7;
  border: #025ba7;
  color: #fff;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn:visited, button:visited {
  color: #fff;
}
.btn:hover, button:hover {
  background: #0c77ce;
  color: #fff;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: #0c77ce;
}
a:visited {
  color: #025ba7;
}
a:hover, a:focus, a:active {
  color: #d9b310;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  display: block;
  float: right;
  top: 6px;
  position: relative;
}
.main-navigation ul {
  display: block;
  list-style: none;
  margin: 0 auto;
  padding-left: 0;
}
.main-navigation ul a {
  text-transform: uppercase;
}
.main-navigation ul a .route-circle, .main-navigation ul a .tcp_alerts .route-circle-list .route-circle, .tcp_alerts .route-circle-list .main-navigation ul a .route-circle {
  font-weight: 600;
  font-size: 0.9em;
  padding-top: 4px;
}
.main-navigation ul ul {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 50px solid transparent;
  z-index: 1;
}
.main-navigation ul ul:before {
  content: "";
  position: absolute;
  top: -15px;
  right: 15%;
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-bottom: 18px solid #024e8c;
}
.main-navigation ul ul:last-of-type {
  left: auto;
  right: 0;
}
.main-navigation ul ul a {
  text-transform: capitalize;
}
.main-navigation ul ul ul a {
  text-transform: capitalize;
}
.main-navigation ul ul li {
  background: #024e8c;
  opacity: 1;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(7, 105, 186, 0.3);
  border-width: thin;
}
.main-navigation ul ul a {
  width: 250px;
  display: flex;
  display: -ms-flexbox;
  flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-direction: row;
  padding: 15px 12px 15px 12px;
}
.main-navigation ul ul a div {
  padding-top: 4px;
  padding-left: 5px;
}
.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
  background: #014a87;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  display: block !important;
  transition: all 0.3s ease-in-out;
}
.main-navigation ul li:hover > ul:before,
.main-navigation ul li.focus > ul:before {
  opacity: 1;
}
.main-navigation ul li:hover > ul li,
.main-navigation ul li.focus > ul li {
  display: block;
}
.main-navigation ul li:hover > ul li:nth-of-type(1):before,
.main-navigation ul li.focus > ul li:nth-of-type(1):before {
  width: 50px;
  height: 50px;
  background: #999999;
}
.main-navigation li {
  float: left;
  position: relative;
  padding: 0 8px;
}
.main-navigation a {
  display: inline-block;
  text-decoration: none;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 600;
  padding: 10px;
  line-height: 1.4em;
}

/* Route circle */
.route-circle, .tcp_alerts .route-circle-list .route-circle, .route-circle-small {
  font-size: 0.9em;
  height: 30px;
  min-width: 30px;
  padding-top: 5px;
  margin-right: 7px;
  border-radius: 2px;
  background: #cccccc;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 968px) {
  .desktop-hidden {
    display: none !important;
  }
}
@media screen and (max-width: 968px) {
  .mobile-hidden {
    display: none !important;
  }
}
@media screen and (max-width: 890px) {
  .site-branding span {
    display: none;
  }
  .main-navigation li {
    float: none;
    position: initial;
  }
  .main-navigation ul ul {
    width: 100%;
    border-top: 40px solid transparent;
  }
  .main-navigation ul ul a {
    width: 100%;
  }
  .main-navigation ul ul:before {
    display: none;
  }
  .main-navigation ul ul:last-of-type {
    left: auto;
    right: 0;
    top: 29px;
  }
}
@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: block;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 23.2px;
  overflow: hidden;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

#colophon .menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  width: 100%;
}
#colophon .menu ul > li {
  display: inline-block;
  padding: 23.2px;
}
#colophon .menu ul > li a {
  text-decoration: none;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #5a6069;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.content-area:before,
.content-area:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.content-area:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  /* Make sure select elements fit in widgets. */
}
.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Site-wide elements
--------------------------------------------------------------*/
#masthead {
  background: #025ba7;
  color: #fff;
  border-bottom: 1px solid rgba(1, 81, 142, 0.5);
  border-width: thin;
}
#masthead a {
  color: rgb(255, 255, 255);
}
#masthead p {
  margin: 0;
}
#masthead .site-branding {
  margin-top: 20px;
  margin-bottom: 9px;
}
#masthead .site-branding a {
  float: left;
}
#masthead .site-branding img {
  margin-bottom: 10px;
  max-width: 148px;
  width: 100%;
  height: 59px;
}
#masthead .site-branding span {
  width: 80px;
  float: left;
  font-size: 0.93em;
  margin-left: 12px;
  margin-top: -4px;
  line-height: 1.42em;
  font-weight: 550;
  letter-spacing: 0.001em;
}
@media (max-width: 925px) {
  #masthead .site-branding span {
    display: none;
  }
  #masthead .site-branding a {
    max-width: 115px;
  }
}
@media (max-width: 389px) {
  #masthead .site-branding a {
    max-width: 95px;
  }
}
@media (max-width: 425px) {
  #masthead .site-branding .custom-logo-link img {
    height: 35px;
  }
}
#masthead .custom-logo-link {
  display: block;
  max-width: 95%;
  max-height: 80px;
}
#masthead .custom-logo-link img {
  width: auto;
  height: 48px;
}
#masthead #google_translate_element {
  width: 100%;
  background: #ee1c2d;
  text-align: right;
  padding: 8px;
  border: 0;
}
#masthead #google_translate_element .goog-te-menu-value,
#masthead #google_translate_element .goog-te-gadget-simple {
  background: transparent;
  border: 0px;
}
#masthead #google_translate_element .goog-te-menu-value a span, #masthead #google_translate_element .goog-te-menu-value span,
#masthead #google_translate_element .goog-te-gadget-simple a span,
#masthead #google_translate_element .goog-te-gadget-simple span {
  color: #ffffff !important;
}
#masthead #google_translate_element a {
  color: #000000;
}
#masthead #google_translate_element img, #masthead #google_translate_element svg {
  width: inherit;
  height: inherit;
}
#masthead #google_translate_element img:first-child, #masthead #google_translate_element svg:first-child {
  width: 19px;
}

#colophon {
  margin-top: 3%;
  background: #024e8c;
  color: #fff;
  padding: 23.2px 23.2px 34.8px;
}
#colophon a {
  color: #fff;
}
#colophon .site-info {
  font-size: 13.6px;
  font-size: 0.85rem;
  position: absolute;
  right: 0;
}

.system-alert {
  width: 100%;
  padding: 12px 12px 12px 35px;
  text-align: center;
  vertical-align: middle;
  background: #fde891;
}
.system-alert a {
  color: #222222;
  font-style: italic;
  font-size: 1em;
  font-weight: 700;
  text-decoration: none;
}
.system-alert a:hover {
  text-decoration: underline;
}
.system-alert a span {
  font-weight: 500;
}

/*--------------------------------------------------------------
## Collapse styles
--------------------------------------------------------------*/
.collapse {
  display: block;
  max-height: auto;
  overflow: auto;
  transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}
.collapse.show {
  max-height: 99em;
  transition: max-height 0.5s ease-in-out;
}

.page #content, .single #content {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.page .content-wrap, .single .content-wrap {
  padding: 0;
}
.page #primary, .single #primary {
  width: 90%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}

.single-route .full-map-link {
  text-decoration: none;
  font-weight: bold;
  color: #4e5256;
  text-align: right;
  width: 100%;
  display: inline-block;
}
.single-route .excluded-dates {
  font-style: italic;
  font-size: small;
  text-align: left;
  width: 100%;
  margin: 10px 0 15px auto;
}
@media (max-width: 925px) {
  .single-route .excluded-dates {
    width: 100%;
  }
}
.single-route .timetable-page-label,
.single-route .route-color-swatch-large,
.single-route .effective-date {
  display: none;
}
.single-route h1.page-title.route-title {
  padding: 18px 20px;
  font-size: 30.4px;
  font-size: 1.9rem;
  margin-bottom: 5px;
}
.single-route h1.page-title.route-title div {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.single-route #content {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.single-route .content-wrap {
  padding: 0;
}
.single-route #primary {
  width: 90%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.single-route .tcp_alerts {
  margin: 0;
  padding: 1em 0 0 0;
}
.single-route .tcp_alerts .container {
  margin: 0;
  padding: 0;
}
.single-route .tcp_panel {
  padding: 0 0 15px 0;
  background: #ffffff;
  margin: 15px auto 1.4em auto;
  border: 1px solid #cecece;
  border-width: thin;
}
.single-route .tcp_panel h3 {
  margin-top: 0;
  padding: 15px;
  background: #ffe781;
  border-width: thin;
}
.single-route .tcp_panel h3 a {
  color: #333333;
}
.single-route .tcp_panel .panel_subheading,
.single-route .tcp_panel .panel_description {
  padding: 15px 15px 0px 15px;
  margin: 0;
}
.single-route .entry-content #timetables, .single-route .entry-content #route-map {
  margin-top: 30px;
}
.single-route .entry-content .table-container::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 20px;
}
.single-route .entry-content .table-container::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #d6d6d6;
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}
.single-route .entry-content #route-map {
  text-align: right;
}
.single-route .entry-content #route-map .btn {
  width: 100%;
  border-radius: 0;
  margin-bottom: 10px;
  text-decoration: none;
}
@media (max-width: 925px) {
  .single-route .entry-content {
    flex-direction: column;
  }
  .single-route .entry-content #timetables .timetable {
    margin: 0 0 25px 0;
  }
  .single-route .entry-content #route-map {
    text-align: center;
  }
  .single-route .entry-content #route-map .btn, .single-route .entry-content #route-map iframe {
    width: 100%;
  }
}

iframe {
  width: 100%;
  min-height: 450px;
}

.nav-links {
  display: none;
}

.timestable {
  display: none;
}

.hide {
  display: none;
}

.show {
  display: block;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.hentry {
  margin: 23.2px 0 23.2px 0;
}
.hentry h2 {
  font-size: 1.8em;
  margin: 1em 0;
  padding-bottom: 0;
  letter-spacing: 0.01em;
}

.entry-title {
  width: 100%;
  padding: 18px 20px;
  font-size: 30.4px;
  font-size: 1.9rem;
  margin-bottom: 5px;
  color: #025ba7;
  background: #f5f5f5 !important;
}
.entry-title div {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0 0 1em 0;
}

.page-links {
  clear: both;
  margin: 0 0 23.2px;
}

#full-page-map {
  width: 100%;
  min-height: 500px;
}

.edit-link {
  display: none !important;
}

/*--------------------------------------------------------------
## Transit Custom Post types
--------------------------------------------------------------*/
/*******************
# Static Front Page
********************/
.home #main {
  overflow: auto;
}
.home #main .row {
  display: flex;
  display: -ms-flexbox;
  float: left;
  width: 100%;
  padding: 0;
  margin: 0 0 3em 0;
}
.home #main .row section {
  flex: 50%;
  -ms-flex: 45%;
  margin: 0 0 2em 0;
  /* IE9, IE10, IE11 */
}
@media screen and (min-width: 0\0 ) {
  .home #main .row section {
    width: 47%;
  }
}
.home #main .row:nth-of-type(1) section:nth-of-type(2) {
  border-left: 70px solid #ffffff;
}
.home #main .row:nth-of-type(2) section:nth-of-type(2) {
  border-left: 50px solid #ffffff !important;
}
@media (max-width: 800px) {
  .home #main .row {
    margin: 0;
    flex-direction: column;
  }
  .home #main .row section {
    flex: 100%;
    -ms-flex: 100%;
  }
  .home #main .row:nth-of-type(1) {
    margin-bottom: 0;
  }
  .home #main .row:nth-of-type(1) section:nth-of-type(2) {
    border-left: 0px solid #ffffff;
  }
  .home #main .row:nth-of-type(2) section:nth-of-type(2) {
    border-left: 0px solid #ffffff !important;
  }
}
.home #main section {
  padding: 0;
}
.home #main section h2 {
  color: #333333;
  font-weight: 600;
  font-size: 2.3em;
  margin: 0.2em 0.5em 0.5em 0em;
}
.home #main #link-blocks {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-direction: row;
  display: block \9 ;
  text-align: center;
  padding-top: 50px;
  width: 47%;
  /* IE9, IE10, IE11 */
}
@media screen and (min-width: 0\0 ) {
  .home #main #link-blocks {
    display: block;
  }
}
.home #main #link-blocks .link-block {
  display: flex;
  display: -ms-flexbox;
  flex: nowrap;
  -ms-flex: nowrap;
  flex-direction: row;
  justify-content: left;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  width: 100%;
  padding: 7px;
  text-align: left;
  margin: 5px 0;
  font-size: 1.05em;
  text-decoration: none;
  color: #ffffff;
  font-weight: 600;
  background: #ff4b59;
  border-radius: 3px;
  /* Targets IE9 Only */
}
@media screen and (min-width: 0\0 ) and (-webkit-min-device-pixel-ratio: 0), screen and (min-width: 0\0 ) and (min-resolution: 0.001dpcm) {
  .home #main #link-blocks .link-block {
    display: block;
  }
  .home #main #link-blocks .link-block:nth-of-type(2), .home #main #link-blocks .link-block:nth-of-type(3) {
    margin-top: 20px;
  }
  .home #main #link-blocks .link-block .link-icon, .home #main #link-blocks .link-block .material-icons {
    display: inline-block;
    width: 30%;
    height: 50px;
    max-width: 100px;
    text-align: left;
  }
  .home #main #link-blocks .link-block .link-title {
    display: inline-block;
    width: 55%;
    height: 60px;
  }
}
.home #main #link-blocks .link-block:hover {
  background: #ee1c2d;
}
.home #main #link-blocks .link-block:nth-of-type(2) {
  background: #4B389C;
}
.home #main #link-blocks .link-block:nth-of-type(2):hover {
  background: #632C98;
}
.home #main #link-blocks .link-block:nth-of-type(3) {
  background: #149123;
}
.home #main #link-blocks .link-block:nth-of-type(3):hover {
  background: #0f751b;
}
.home #main #link-blocks .material-icons, .home #main #link-blocks .far, .home #main #link-blocks .fas, .home #main #link-blocks .fa {
  font-size: 60px;
  margin: 10px 20px 10px 10px;
}
.home #main #link-blocks .icon-bus {
  content: url("images/icons/icon-bus.svg");
  fill: #ffffff;
  width: 70px;
  top: 3px;
  position: relative;
  margin: 10px 15px 10px 5px;
}
.home #main #link-blocks .link-title {
  display: flex;
  display: -ms-flexbox;
  justify-content: left;
  align-items: center;
  -ms-flex-align: center;
  text-align: left;
  font-size: 1.25em;
}
.home #main #link-blocks .link-icon {
  justify-content: left;
  align-items: center;
  -ms-flex-align: center;
  text-align: left;
}
.home #main #alerts {
  padding: 0.5em;
  color: #333333;
  background: #f7f7f7;
}
.home #main #alerts h2 {
  margin: 0.5em;
  margin-left: 0.5em;
}
.home #main #alerts h2 span {
  margin-right: 0.4em;
  font-weight: 700;
  font-size: 0.75em;
}
.home #main #alerts h2 i {
  color: #f5d97d;
  font-size: 0.7em;
  margin-top: -10px;
}
.home #main #alerts .tcp_panel {
  padding: 0.5em 0;
  list-style-type: none;
  border-top: 1px solid #ece8cd;
}
.home #main #alerts .tcp_panel h3 {
  font-size: 1.65em;
}
.home #main #alerts .tcp_panel h3 a {
  color: #025ba7;
}
.home #main #alerts .tcp_panel h3 a:hover {
  color: #024e8c;
}
.home #main #alerts .tcp_panel .route-circle {
  width: auto;
  height: 25px;
  padding: 7px 10px 5px 10px;
  margin: 0 10px 10px 0;
  border-radius: 3px;
  font-size: 0.55em;
  opacity: 0.8;
  text-transform: uppercase;
}
.home #main #news {
  background: #edf3f7;
  color: #333333;
  padding: 0.5em 1em;
}
.home #main #news h2, .home #main #news ul {
  margin: 0.5em;
}
.home #main #news h2 {
  margin-left: 0.5em;
}
.home #main #news .news-item {
  display: flex;
  display: -ms-flexbox;
  padding: 1.2em 0 0 0;
  list-style-type: none;
  border-top: 1px solid #d6e0e6;
}
.home #main #news .news-item .news-icon {
  float: left;
  padding: 4px 0 0 0;
  text-transform: uppercase;
  text-align: center;
  /* Targets IE9 Only */
}
.home #main #news .news-item .news-icon span {
  width: 100%;
  font-size: 0.9em;
  font-weight: 600;
}
.home #main #news .news-item .news-icon span:nth-of-type(1) {
  float: left;
  padding: 5px 17px;
  background: #0c77ce;
  color: #ffffff;
}
.home #main #news .news-item .news-icon span:nth-of-type(2) {
  float: left;
  width: 100%;
  background: #ffffff;
  border-right: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
  padding: 5px 17px;
}
.home #main #news .news-item .news-icon svg {
  width: 60px;
  height: 60px;
}
@media screen and (min-width: 0\0 ) and (-webkit-min-device-pixel-ratio: 0), screen and (min-width: 0\0 ) and (min-resolution: 0.001dpcm) {
  .home #main #news .news-item .news-icon {
    padding-right: 10px;
  }
}
.home #main #news .news-item .news-content {
  flex: 1;
  -ms-flex: 1;
  margin: 0 0 0 15px;
}
.home #main #news .news-item p {
  margin-top: 0.3em;
  font-size: 0.9em;
}
.home #main #news .news-item:last-of-type {
  border-bottom: 0;
}
.home #main #news .item-title {
  text-decoration: none;
  font-size: 1.28em;
  font-weight: 600;
  color: #222222;
  color: #025ba7;
}
.home #main #news .item-title:hover {
  color: #024e8c;
}
.home #main #news .date {
  display: none;
}
@media only screen and (max-width: 1047px) {
  .home #main section {
    width: 50%;
  }
}
@media only screen and (max-width: 800px) {
  .home #main section {
    width: 100%;
  }
  .home #main #link-blocks {
    flex-direction: column;
    width: 100%;
    padding-top: 0;
    text-align: center;
  }
  .home #main #link-blocks .link-block .link-title {
    width: auto;
  }
}
@media only screen and (max-width: 800px) {
  .home #main #trip-planner #additional-settings .form-row .form-control label,
  .home #main #trip-planner #additional-settings .form-row:nth-of-type(2) label {
    font-size: 0.7em;
  }
}

#trip-planner {
  min-width: 270px;
  border: 0;
  text-align: center;
  font-size: 14px;
  margin: 0 0 0 0;
}
#trip-planner #planner-header {
  text-align: left;
}
#trip-planner #planner-header h1 {
  color: #025ba7;
  font-weight: 600;
  font-size: 3.1em;
  margin-top: 45px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 968px) {
  #trip-planner #planner-header h1 {
    margin-top: 10px;
  }
}
#trip-planner #planner-body {
  padding: 1.5em;
  background: #f1f1f1;
  text-align: left;
}
#trip-planner .form-control {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: no-wrap;
  -ms-flex-wrap: no-wrap;
  align-items: flex-end;
  width: 100%;
}
#trip-planner .form-control label {
  margin-right: 10px;
  vertical-align: text-bottom;
  text-align: right;
  min-width: 50px;
  font-size: 13px;
}
@media screen and (min-width: 0\0 ) and (-webkit-min-device-pixel-ratio: 0), screen and (min-width: 0\0 ) and (min-resolution: 0.001dpcm) {
  #trip-planner .form-control label {
    padding: 0;
    margin: 0;
    min-width: auto;
    text-align: left;
  }
}
#trip-planner .form-control input {
  width: 100%;
  margin-top: 10px;
  /* Targets IE9 Only */
}
@media screen and (min-width: 0\0 ) and (-webkit-min-device-pixel-ratio: 0), screen and (min-width: 0\0 ) and (min-resolution: 0.001dpcm) {
  #trip-planner .form-control input {
    padding: 0;
    margin: 0;
    min-width: auto;
  }
}
#trip-planner #additional-settings .form-row {
  float: right;
  display: flex;
  display: -ms-flexbox;
  width: 100%;
  max-width: 410px;
  margin-top: 0px;
}
#trip-planner #additional-settings .form-row .form-control {
  flex: 1;
  -ms-flex: 1;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  /* IE9, IE10, IE11 */
}
#trip-planner #additional-settings .form-row .form-control input {
  width: auto;
  margin: auto 7px auto auto;
}
#trip-planner #additional-settings .form-row .form-control input:nth-of-type(1) {
  margin-left: 7px;
}
#trip-planner #additional-settings .form-row .form-control label {
  margin-right: auto;
}
@media screen and (min-width: 0\0 ) {
  #trip-planner #additional-settings .form-row .form-control {
    width: 20%;
    float: left;
  }
}
#trip-planner #additional-settings .form-row:nth-of-type(2) {
  display: none;
  border-top: 1px solid #dddddd;
  border-width: thin;
  margin-top: 10px;
  padding-top: 25px;
  float: right;
}
#trip-planner #additional-settings .form-row:nth-of-type(2) label {
  margin-top: 0.5em;
}
#trip-planner input {
  font-size: 15px;
  background: none;
  width: auto;
  padding: 4px 6px;
  outline: 0;
  border: 0;
  border-radius: 2px;
  border-bottom: 1px solid;
  border-color: #a8adb4;
}
#trip-planner .form-row {
  margin-bottom: 13px;
}
#trip-planner .form-row label {
  display: block;
  color: #222;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
#trip-planner .form-row button.crosshair-icon {
  font-size: 12px;
  font-size: 0.75rem;
  float: right;
  border: none;
  background: transparent;
  color: #a9a9a9;
  display: none;
}
#trip-planner .form-row button.crosshair-icon .icon-small svg {
  height: 12px;
}
#trip-planner .form-row button.crosshair-icon:hover {
  color: #d9b310;
}
#trip-planner .form-row button.crosshair-icon:hover svg {
  fill: #d9b310;
  height: 12px;
}
#trip-planner #default-settings div > div {
  display: inline-block;
}
#trip-planner #default-settings button {
  font-size: 13.6px;
  font-size: 0.85rem;
  background: transparent;
  color: #0c77ce;
  border: 1px solid #0c77ce;
  padding: 2px 4px;
  margin-left: 2px;
}
#trip-planner button[type=submit] {
  width: auto;
  margin: 0.8em auto;
  padding: 18px 45px;
  margin: 1.8em auto;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  background: #ee1c2d;
  border-color: #ee1c2d;
  border-radius: 0px;
}
#trip-planner button[type=submit]:hover {
  color: #ffffff;
  background: #ff4b59;
}
#trip-planner #ftime, #trip-planner #fdate {
  display: inline-block;
  text-align: center;
}
#trip-planner #ftime {
  width: 90px;
  margin-right: 25px;
}
#trip-planner #fdate {
  width: 110px;
}

/*****************
# Routes	
******************/
.route-circle, .tcp_alerts .route-circle-list .route-circle {
  position: relative;
  margin-right: 5px;
  padding-top: 7px;
  font-style: normal;
  display: inline-block;
  text-align: center;
  border: 0 solid #fff;
  font-weight: 500;
  font-size: 0.7em;
}

.route-circle-small, .tcp_alerts .route-circle-list .route-circle {
  font-size: 10px;
  width: 15px;
  height: 15px;
  line-height: 20px;
  text-align: center;
}

.route-circle-medium {
  font-size: 16px;
  width: 32px;
  height: 32px;
  line-height: 28px;
  border-radius: 16px;
}

.route-circle-large {
  font-size: 19px;
  width: 44px;
  height: 44px;
  line-height: 40px;
  border-radius: 22px;
}

/*****************
# Alerts
*****************/
.tcp_alerts {
  margin: 0 0.5em;
}
.tcp_alerts .tcp_alert_header {
  margin: 0;
  padding: 0.5rem;
  background: #e4572e;
  color: #fff;
}
.tcp_alerts .container {
  padding: 0.1em 0.5em;
}
.tcp_alerts h3 {
  margin: 0.3em 0;
}
.tcp_alerts h3 a {
  text-decoration: none;
  color: #454545;
  text-decoration: none;
  font-size: 0.8em;
  font-weight: 600;
}
.tcp_alerts .tcp_affected_routes {
  font-style: italic;
  color: #777777;
  font-size: 14.4px;
  font-size: 0.9rem;
}
.tcp_alerts .panel_body a {
  display: none;
}
.tcp_alerts .panel_subheading {
  margin-top: 1rem;
  margin-bottom: 0.3rem;
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0.01em;
  font-size: 14.4px;
  font-size: 0.9rem;
  font-style: italic;
  font-weight: 400;
  color: #999999;
}
.tcp_alerts .panel_description {
  margin-top: 0.3em;
  margin-bottom: 1rem;
  overflow-wrap: break-word;
}
/*****************
# Timetables
*****************/
#timetables {
  overflow: auto;
}
#timetables .description {
  display: none;
}
#timetables .timetable {
  margin-top: 0;
  overflow: initial;
}
#timetables .timetable .table-container {
  overflow: scroll;
}
#timetables .timetable .table-container a:link {
  text-decoration: none;
}
#timetables .timetable .service-notes {
  display: none;
}
#timetables .timetable .excluded-dates {
  display: none;
}
#timetables .timetable thead {
  background: transparent;
}
#timetables .timetable thead th {
  border: 0px solid #ffffff;
}
#timetables .timetable thead th .stop-name {
  display: block;
  width: 130px;
  height: auto;
  margin: 45px auto;
  transform: rotate(-45deg);
}
#timetables .timetable .timetable-bottom {
  border-top: 0;
}
#timetables .timetable .table-container,
#timetables .timetable table {
  transform: rotateX(180deg);
  -ms-transform: rotateX(180deg); /* IE 9 */
  -webkit-transform: rotateX(180deg); /* Safari and Chrome */
  overflow-x: auto;
}
#timetables .timetable .table-container {
  margin-top: 23.2px;
}
#timetables .timetable ::-webkit-scrollbar:horizontal {
  background: #ededed;
}
#timetables .timetable ::-webkit-scrollbar:vertical {
  background: #ffffff;
}
#timetables #direction-title,
#timetables #days-title {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important; /* 2 */
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.timetable th.stop-header, .timetable th.run-header {
  background: #ededed;
}

/*****************
# Social media if footer
*****************/
.social-media-footer {
  display: inline-block;
  margin-bottom: 0 !important;
  margin-top: 0;
}
.social-media-footer a {
  float: left;
  margin-right: 10px;
}
.social-media-footer a svg {
  fill: #ffffff;
  max-height: 30px;
  max-width: 30px;
  height: 100%;
  width: 100%;
}

.postid-2191 #direction {
  display: block !important;
}/*# sourceMappingURL=style.css.map */