/**
Theme Name: Trinity Metro 2020
Theme URI: https://ridetrinitymetro.org
Author: Trinity Metro
Author URI: https://ridetrinitymetro.org
Description: Custom WordPress theme built with Underscores base theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: trinity-metro-2020
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Trinity Metro 2020 v2 is based on Underscores https://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 https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Root
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
  ## Menus
  ## Mobile Menu
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
  ## Comments
  ## Tables/Tablepress
  ## Pseudo Tables
  ## WP Bakery Tabs 
# Infinite scroll
# Media
	## Captions
  ## Galleries
  ## Videos
# Google Translate
# Searchbox
# Gov Delivery Form
# Pages & Layouts
	## Header
	## Footer
	## Homepage
  ## 404
  ## Ads
  ## Alerts / Main Blog Page
  ## Main Blog Page
  ## Rider Service Page
  ## Stops Page
  ## Vehicle Location Page
  ## Route Planner Page
  ## Route Schedule Page
  ## Sitemap Page
  ## TEXRail Schedule Page
  ## Meetings Page
  ## Single Routes Page
  ## Single Stations Page
  ## Train Stations Page
  ## Trip Planner

--------------------------------------------------------------*/

/* Document ========================================================================== */

/*--------------------------------------------------------------
# ROOT
--------------------------------------------------------------*/
:root {
  --tm-blue: #1d2758;
  --tm-blue-gray: #2e6194;
  --tm-red: #e90029;
  --tm-maroon: #a02134;
  --tm-dark-gray: #4f4c49;
  --tm-light-gray: #7b858c;
  --tm-black: #000000;
  --tm-white: #ffffff;
  --tm-off-white: #f3f3f3;
  --tm-border-gray: #e2e2e2;
  --tm-purple: #522b7f;
  --tm-orange: #F58220;
  --tm-light-purple: #6f6fad;
  --tm-blue-sky: #00809e;
  --tm-magenta: #ec3faa;
}

/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/
/*
  @media (max-width: 425px)
  @media (min-width: 544px)
  @media (max-width: 600px)
  @media (max-width: 768px)
  @media (min-width: 800px)
  @media (max-width: 950px)
  @media (max-width: 1080px)
  @media (min-width: 1088px) 
  @media (min-width: 1344px)
  @media (min-width: 320px) and (max-width: 768px) 
  @media (min-width: 517px) and (max-width: 768px) 
  @media (min-width: 1017px) and (max-width: 1266px)
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
  font-size: 16px;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
h2 {
  font-size: 1.5em;
}
h3 {
  font-size: 1.375em;
}
h4 {
  font-size: 1.25em;
}
h5 {
  font-size: 1.125em;
}
h6 {
  font-size: 1em;
}
.pseudo_heading {
  font-size: 2em;
  margin: 0.67em 0;
}
.pseudo_heading_two {
  font-size: 1.5em;
}
.pseudo_heading_three {
  font-size: 1.375em;
}
.pseudo_heading_four {
  font-size: 1.25em;
}
.pseudo_heading_five {
  font-size: 1.125em;
}
@media (max-width: 768px) {
  span.route_header_number {
    font-size: 3.3vw;
  }
}
/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: var(--tm-dark-gray);
  font-family: proxima-nova, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
a {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: var(--tm-off-white);
  font-family: proxima-nova, sans-serif;
  font-size: 16px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: proxima-nova, sans-serif;
  font-size: 16px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted var(--tm-dark-gray);
  cursor: help;
}

big {
  font-size: 125%;
}
.tm_text {
  font-size: 16px
}
.tm_white_text {
  color: var(--tm-white);
}
.tm_blue_text {
  color: var(--tm-blue);
}
.tm_blue_gray_text {
  color: var(--tm-blue-gray);
}
.tm_red_text {
  color: var(--tm-red);
}
.tm_black_text {
  color: var(--tm-black);
}
.tm_maroon_text {
  color: var(--tm-maroon);
}
.tm_dark_gray_text {
  color: var(--tm-dark-gray);
}
.tm_grey_header_text {
  color: var(--tm-blue);
  font-weight: bold; 
}
.pnblack {
  font-family: proxima-nova, sans-serif;
  font-weight: 900;
  font-style: normal;
}
.tm_blue_header_text {
  color: var(--tm-blue);
  font-weight: bold;
}
.tm_error {
  color: var(--tm-red);
  font-weight: bold;
}
/*--------------------------------------------------------------
# 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 https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: var(--tm-white);
  /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: var(--tm-light-gray);
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  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. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: var(--tm-blue-gray);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  background: var(--tm-blue);
  color: var(--tm-white);
  font-size: 16px;
  line-height: 1;
  padding: 0.9em 1.5em 0.9em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: var(--tm-blue-gray);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: var(--tm-blue-gray);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  background-color: var(--tm-light-gray);
  color: var(--tm-blue);
  border: 1px solid var(--tm-light-gray);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: var(--tm-dark-gray);
}

select {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
}

textarea {
  width: 100%;
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
}

select#direction,
select#time_of_day,
select#station,
select#departure_station_ddl {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 10px 35px;
  border-radius: 3px;
  -webkit-appearance: textfield;
  -webkit-appearance:none;
}
#s {
  background-color: var(--tm-white);
}

.tm_btn_blue {
  background-color: #1d2758;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_btn_red {
  background-color: #e90029;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_btn_maroon {
  background-color: #a02134;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_btn_blue_gray {
  background-color: #2E6194;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_btn_gray {
  background-color: #7b858c;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_btn_purple {
  background-color: #522b7f;
  color: var(--tm-white);
  padding: 15px 20px;
  text-decoration: none;
  margin: 0px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
span.tm_btn_blue > a,
span.tm_btn_red > a,
span.tm_btn_maroon > a,
span.tm_btn_blue_gray > a,
span.tm_btn_gray > a,
span.tm_btn_purple > a {
  color: var(--tm-white);
}
span.tm_btn_blue > a:visited,
span.tm_btn_red > a:visited,
span.tm_btn_maroon > a:visited
span.tm_btn_blue_gray > a:visited,
span.tm_btn_gray > a:visited,
span.tm_btn_purple > a:visited {
  color: var(--tm-white);
}
a.tm_btn_blue,
a.tm_btn_red,
a.tm_btn_maroon,
a.tm_btn_blue_gray,
a.tm_btn_gray,
a.tm_btn_purple {
  color: var(--tm-white);
}
a.tm_btn_blue:visited,
a.tm_btn_red:visited,
a.tm_btn_maroon:visited,
a.tm_btn_blue_gray:visited,
a.tm_btn_gray:visited,
a.tm_btn_purple:visited {
  color: var(--tm-white);
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Breadcrumbs
--------------------------------------------------------------*/
.breadcrumb {
  margin-top: -75px;
  padding: 15px 10px;
  background-color: var(--tm-off-white);
  color: var(--tm-blue);
  box-shadow: 0px 5px 5px #0000004d;
  opacity: 1;
  border-top: 1px solid var(--tm-border-gray);
}
@media (max-width: 768px) {
  .breadcrumb {
    margin-top: -10px;
  }
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: var(--tm-blue);
}

a:visited {
  color: var(--tm-blue);
}

a:hover,
a:focus,
a:active {
  color: var(--tm-blue);
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}
a.system_map_link {
  text-decoration: none;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5em;
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  border: 1px solid var(--tm-blue);
  padding: 10px 30px;
}
.services_link {
  text-decoration: none;
  color: var(--tm-white);
  font-size: 24px;
}
a.services_link:visited,
a.services_link:focus {
  color: var(--tm-white);
}
.employee_link {
  color: var(--tm-white);
  font-size: 24px;
}
a.employee_link:visited,
a.employee_link:focus {
  color: var(--tm-white);
}
.act_link_red {
  text-decoration: none;
  color: var(--tm-red);
  font-size: 36px;
}
.act_link {
  text-decoration: none;
  color: var(--tm-black);
}
a.act_link_red:visited,
a.act_link_red:focus {
  color: var(--tm-red);
}
a.act_link:visited,
a.act_link:focus {
  color: var(--tm-black);
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
/* Start Navigation Bar */
.menu-mainmenu-container {
  background-color: var(--tm-white);
  color: var(--tm-white);
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  width: 100vw;
  margin: 20px auto 0;
}
.menu-mainmenu-container .menu {
  display: -webkit-box;
  display: flex;
  position: relative;
  padding-left: 0px;
  margin-left: 0px;
  border-top: 1px solid var(--tm-dark-gray);
  border-bottom: 1px solid var(--tm-dark-gray);
}
.menu-mainmenu-container .menu li {
  -webkit-box-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: flex;
  text-align: center;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.menu-mainmenu-container .menu a {
  -webkit-box-flex: 1;
  flex: 1;
  -webkit-box-pack: center;
  justify-content: center;
  color: #7b858c;
  text-decoration: none;
  padding: 20px 20px 10px 20px;
  position: relative;
  font-weight: 500;
  text-transform: uppercase;
}
.menu-mainmenu-container .menu a > .fa {
  font-weight: bold;
  margin-left: 8px;
}
ul#primary-menu li.busnav:hover {
  background-color: var(--tm-blue-gray);
  color: var(--tm-white) !important;
  z-index: 999;
}
.menu-mainmenu-container .busnav:hover,
.menu-mainmenu-container .busnav:focus-within {
  background-color: var(--tm-blue-gray);
  color: var(--tm-white) !important;
  z-index: 999;
}
ul#primary-menu li.trainnav:hover {
  background-color: var(--tm-red);
  color: var(--tm-white) !important;
  z-index: 999;
}
.menu-mainmenu-container .trainnav:hover,
.menu-mainmenu-container .trainnav:focus-within {
  background-color: var(--tm-red);
  z-index: 999;
}
ul#primary-menu li.tripnav:hover {
  background-color: var(--tm-purple);
  color: var(--tm-white) !important;
  z-index: 999;
}
.menu-mainmenu-container .tripnav:hover,
.menu-mainmenu-container .tripnav:focus-within {
  background-color: var(--tm-purple);
  z-index: 999;
}
ul#primary-menu li.learnnav:hover {
  background-color: var(--tm-maroon);
  color: var(--tm-white) !important;
  z-index: 999;
}
.menu-mainmenu-container .learnnav:hover,
.menu-mainmenu-container .learnnav:focus-within {
  background-color: var(--tm-maroon);
  z-index: 999;
}
.menu-mainmenu-container .busnav:hover a svg .cls-1,
.menu-mainmenu-container .busnav:focus-within a svg .cls-1 {
  fill: var(--tm-white);
}
.menu-mainmenu-container .trainnav:hover a svg .cls-1,
.menu-mainmenu-container .trainnav:focus-within a svg .cls-1 {
  fill: var(--tm-white);
}
.menu-mainmenu-container .tripnav:hover a svg .cls-1,
.menu-mainmenu-container .tripnav:focus-within a svg .cls-1 {
  fill: var(--tm-white);
}
.menu-mainmenu-container .learnnav:hover a svg .cls-1,
.menu-mainmenu-container .learnnav:focus-within a svg .cls-1 {
  fill: var(--tm-white);
}
.menu-mainmenu-container .menu li:hover a {
  color: var(--tm-white);
}
.menu-mainmenu-container .menu li:focus-within a {
  color: var(--tm-white);
}
.menu-mainmenu-container .menu li:focus-within .sub-menu {
  display: -webkit-box;
  display: flex;
  box-shadow: 0px 5px 5px #0000004d;
  opacity: 1;
}
.menu-mainmenu-container .menu .sub-menu li:focus-within {
  background-color: transparent;
}
.menu-mainmenu-container .menu li:hover .sub-menu {
  display: -webkit-box;
  display: flex;
  box-shadow: 0px 5px 5px #0000004d;
  opacity: 1;
}
@supports (-ms-ime-align: auto) {
  .menu-mainmenu-container .menu li:hover .sub-menu {
    filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
    -webkit-filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
}
  .menu-mainmenu-container .menu li:focus-within .sub-menu {
    filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
    -webkit-filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
}
}
.menu-mainmenu-container .menu .sub-menu li:hover {
  background-color: transparent;
}
a.hasDropdown:after {
  position: absolute;
  bottom: -16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 0;
  width: 0;
  border: 8px solid transparent;
  border-top-color: var(--tm-blue);
  z-index: 2;
}
.busnav:hover a.hasDropdown:after,
.busnav:focus-within a.hasDropdown:after  {
  content: "";
  border-top-color: var(--tm-blue-gray);
}
.trainnav:hover a.hasDropdown:after,
.trainnav:focus-within a.hasDropdown:after {
  content: "";
  border-top-color: var(--tm-red);
}
.tripnav:hover a.hasDropdown:after,
.tripnav:focus-within a.hasDropdown:after {
  content: "";
  border-top-color: var(--tm-purple);
}
.learnnav:hover a.hasDropdown:after,
.learnnav:focus-within a.hasDropdown:after {
  content: "";
  border-top-color: var(--tm-maroon);
}
.menu-mainmenu-container .menu .sub-menu {
  display: none;
  position: absolute;
  top: 108px;
  left: 0;
  right: 0;
  background-color: var(--tm-blue);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.06);
  padding: 20px 0px;
  text-align: left;
  margin-left: 0px;
  z-index: 0;
}
.container__list {
  -webkit-box-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}
.container__list > a {
  -webkit-box-flex: 0;
  flex: 0 0 25%;
  padding: 10px 30px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.container.has-multi .container__list > a {
  flex-basis: 100%;
}
.container.has-multi .container__list {
  flex-basis: 33.333%;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}
.container.has-multi .container__list:not(:last-child) {
  border-right: solid 1px var(--tm-off-white);
  margin-right: 20px;
}
.firstText {
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
}
.lastText {
  font-size: 46px;
  font-weight: bold;
  line-height: 1.2;
}
/* Start Navigation Bar Media Queries */
/* @media (max-width: 768px) {
  .menu-mainmenu-container .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    margin: 0px 30px;
  }
  .menu-mainmenu-container .menu li:hover .sub-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: var(--tm-blue);
  }
  .menu-mainmenu-container .menu .sub-menu {
    position: static;
  }
  li:hover a.hasDropdown:after {
    display: none;
  }
  .menu-mainmenu-container .menu a {
    padding: 0px;
  }
  .menu-mainmenu-container .menu .sub-menu a {
    padding: 0px 20px;
    line-height: 36px;
  }
  .menu-mainmenu-container .menu .sub-menu li {
    background-color: var(--tm-blue);
  }
  .menu-mainmenu-container .menu li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid var(--tm-blue);
  }
  .menu-mainmenu-container .menu li > a {
    color: var(--tm-white);
  }
  .menu-item-type-custom {
    padding: 20px 0px;
  }
  .menu-mainmenu-container .menu li:hover {
    padding: 0px;
  }
  .site-navigation .primary-menu ul {
    margin: 0px;
  }
  .menu-mainmenu-container .menu li:hover .sub-menu {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
}
@media screen and (min-width: 768px) {
  .menu-toggle {
    display: none;
  }
} */

/*** Start Mobile Menu  ***/
@media screen and (min-width: 768px) {
  #mobile-menu-wrapper {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  #mobile-menu-wrapper {
    display: block !important;
  }
  #primary-menu {
    display: none;
  }
  .site-content {
    padding-top: 0px !important;
  }
  .menu-mainmenu-container {
    margin-top: 0px;
  }
  a.hasDropdown > svg {
    display: none;
  }
  ul#menu-mainmenu {
    list-style-type: none;
  }
  ul#menu-mobile-menu {
    list-style-type: none;
  }
  ul.sub-menu {
    list-style-type: none;
    display: none;
  }
  .menu-item-type-custom {
    padding: 0px 0px;
  }
  a.hasDropdown,
  a.hasDropdown:visited,
  a.hasDropdown:focus {
    color: var(--tm-white);;
  }
  #mobile-menu-wrapper {
    background-color: var(--tm-blue);
    padding-bottom: 1px;
    border-bottom: 3px solid #2e6194;
  }    
  ul#menu-mobile-menu > li {
    padding: 8px 0px;
  }
  ul.sub-menu {
    padding-left: 0px;
  }
  ul.sub-menu > li.menu-item {
    padding: 8px 0px;
  }
}
/*--------------------------------------------------------------
# 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 {
  background-color: var(--tm-off-white);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-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: #21759b;
  display: block;
  font-size: 16px;
  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;
}
select:focus {
  outline: 1px solid var(--tm-maroon);
}
/** FOCUS/ACTIVE style for ADA on WP Bakery Accordion and Tabs **/
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title>a:focus,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title>a:active,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a:focus,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a:active,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a:focus, 
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a:hover,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-modern .vc_tta-panel.vc_active .vc_tta-panel-title>a:focus,
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-modern .vc_tta-panel.vc_active .vc_tta-panel-title>a:active,
.wpb-js-composer .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left.vc_tta-panel-title>a:focus,
.wpb-js-composer .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left.vc_tta-panel-title>a:active {
  border: 2px solid var(--tm-maroon) !important;
}
/*--------------------------------------------------------------
# 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,
.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,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
}
/* .widget-title {
  text-align: center;
} */
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

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

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

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}
.post-entry-header {
  padding-top: 40px;
}
.entry-header {
  background-color: var(--tm-blue);
  color: var(--tm-white);
  padding: 20px 0px;
}
.entry-title {
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 500;
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
## Tables/Tablepress
--------------------------------------------------------------*/
.tablepress tfoot th, .tablepress thead th {
  background-color: var(--tm-blue) !important;
  color: var(--tm-white) !important;
}
/* .tablepress {
  width: 100vh !important;
} */
/* .tablepress thead th {
  background-color: var(--tm-blue) !important;
  color: #ffffff;
}
@media (min-width: 900px) {
  .tablepress {
    width: 100vh !important;
  }
} */
/* 3 columns */
.pseudo_table_heading_three {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  padding: 10px 15px;
}
.pseudo_table_body_three {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 10px 15px;
}
@media (max-width: 600px) {
  div.pseudo_table_heading_three div,
  div.pseudo_table_body_three div {
      padding: 10px 0px;
      display: block;
  }
  .pseudo_table_heading_three,
  .pseudo_table_body_three {
      grid-template-columns: none;
  }
  .vc_btn3-container.vc_btn3-center {
    order: 3;
    margin-top: 10px;
  }
}
/* 4 columns */
.pseudo_table_heading_four {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  padding: 10px 15px;
}
.pseudo_table_body_four {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  padding: 10px 15px;
}
@media (max-width: 600px) {
  div.pseudo_table_heading_four div,
  div.pseudo_table_body_four div {
      padding: 10px 0px;
      display: block;
  }
  .pseudo_table_heading_four,
  .pseudo_table_body_four {
      grid-template-columns: none;
  }
}
/*--------------------------------------------------------------
## WP Bakery Tabs 
--------------------------------------------------------------*/
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a  {
  background-color: var(--tm-blue) !important;
  color: var(--tm-white) !important;
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab.vc_active>a {
  background-color: var(--tm-blue-gray) !important;
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab.vc_active>a span.vc_tta-title-text { 
  color: var(--tm-white) !important;
}
.wpb-js-composer .vc_tta.vc_tta-spacing-1 .vc_tta-tab {
  margin-right: 5px !important;
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-heading {
  background-color: var(--tm-blue-gray) !important;
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-heading > h4 > a > span.vc_tta-title-text {
  color: var(--tm-white);
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
  background-color: var(--tm-blue) !important;
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading > h4 > a > span.vc_tta-title-text {
  color: var(--tm-white);
}
.vc_tta-title-text,
.vc_tta-controls-icon .vc_tta-controls-icon-plus {
  color: var(--tm-white);
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
  border-color: var(--tm-blue);
}
.wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-controls-icon::after, .wpb-js-composer .vc_tta-color-grey.vc_tta-style-classic .vc_tta-controls-icon::before {
  border-color: var(--tm-white) !important;
}
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}
/* class to center video embedded from WordPress CDN */
.video_flex_container {
  display: flex;
  justify-content: center;
}
/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
## Google Translate
--------------------------------------------------------------*/
#google_translate_element {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.goog-te-gadget {
  font-family: arial;
  font-size: 11px;
  color: transparent !important;
  white-space: nowrap;
}
.goog-te-gadget .goog-te-combo {
  margin: 0px 0px;
}
.goog-logo-link {
  display: none;
}
#google_translate_element select {
  color: var(--tm-blue);
  border: none;
}
.goog-te-banner-frame {
  display: none;
}
.goog-te-gadget {
  padding-top: 15px;
}
.goog-te-spinner-pos { 
  display: none;
}
/*--------------------------------------------------------------
## Searchbox
--------------------------------------------------------------*/
.searchContainer {
  display: -webkit-box;
  display: flex;
  display: -ms-flex;
  /* width: 310px; */
  border: 1px solid var(--tm-light-gray);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  overflow: hidden;
}
.searchContainer:focus-within i {
  display: none;
}
.searchContainer:focus-within .searchBox {
  grid-column: 1/4;
}
.searchContainer:focus-within .searchBox::-webkit-input-placeholder {
  color: transparent;
}
.searchContainer:focus-within .searchBox:-ms-input-placeholder {
  color: transparent;
}
.searchContainer:focus-within .searchBox::-ms-input-placeholder {
  color: transparent;
}
.searchContainer:focus-within .searchBox::-moz-placeholder {
  color: transparent;
}
.searchContainer:focus-within .searchBox::placeholder {
  color: transparent;
}
.searchIcon {
  padding: 0.5rem;
  grid-row: 1;
  grid-column: 1/2;
  z-index: 2;
}
.searchBox {
  border: 0;
  padding: 0.5rem;
  grid-column: 2/4;
  grid-row: 1;
  outline: none;
}
.searchButton {
  background: var(--tm-blue-gray);
  border: 0;
  color: var(--tm-white);
  padding: 0.5rem;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  grid-column: 4/5;
  grid-row: 1;
}
input[type="search"] {
  color: var(--tm-blue);
  border: 0px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}
.search-form input[type="submit"] {
  background-color: var(--tm-blue);
  color: var(--tm-white);
  border: 1px solid var(--tm-blue);
}
/*--------------------------------------------------------------
## Gov Delivery Form
--------------------------------------------------------------*/
#govDeliveryFormWrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
#govdev_form {
  margin-top: 10px;
}
.gdfLabels {
  color: var(--tm-white);
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 300;
}
li.sub_type_fields,
li.wireless_fields,
li.email_fields {
  background-color: transparent;
  padding:0px 0px 10px 0px !important;
  border-bottom: none;
}
#GD-snippet-form fieldset {
  border: none;
  padding-left: 20px;
  padding-right: 20px;
}
#GD-snippet-form ol {
  margin: 0;
}
.button_panel input[type="submit"] {
  float: right;
  background-color: var(--tm-blue);
  color: var(--tm-white);
  padding: 10px 30px;
}
.button_panel {
  padding-top: 10px;
}
select#subscription_type {
  background-color: var(--tm-white);
  color: var(--tm-blue);
  font-weight: bold;
  text-align: center;
  padding: 3px;
  width: 100%;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  -webkit-appearance:none;
}
select#country_code_display {
  background-color: var(--tm-white);
  color: var(--tm-blue);
  font-weight: bold;
  text-align: center;
  padding: 3px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  -webkit-appearance:none;
}
input#phone {
  background-color: var(--tm-white);
  color: var(--tm-blue);
  font-weight: bold;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  width: 100%;
}
.sub_type_fields {
  padding-bottom: 10px;
}
.email_fields input[type="text"] {
  background-color: var(--tm-white);
  color: var(--tm-blue);
  font-weight: bold;
  width: 100%;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
#GD-snippet-form input[type="submit"] {
  width: 100%;
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  border: 1px solid var(--tm-white);
}
::-webkit-input-placeholder {
  color: var(--tm-blue);
}
:-ms-input-placeholder {
  color: var(--tm-blue);
}
::-ms-input-placeholder {
  color: var(--tm-blue);
}
::-moz-placeholder {
  color: var(--tm-blue);
}
::placeholder {
  color: var(--tm-blue);
}
.form-header {
  color: var(--tm-white);
  text-transform: uppercase;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
}
.gdform-white {
  color: var(--tm-white);
}
/*--------------------------------------------------------------
# PAGES & LAYOUTS & SECTIONS
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## BODY LAYOUT DIV SECTIONS
--------------------------------------------------------------*/
.tm_grid_container {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding: 20px 0px;
}
.tm_row{
  padding: 20px 0px;
}
.tm_inner {
  padding-top: 20px;
  box-sizing: border-box;
  padding-left: 70px;
  padding-right: 70px;
  width: 100%;
}
/*--------------------------------------------------------------
## HEADER
--------------------------------------------------------------*/
.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  max-width: 100%;
}
.container_top {
  padding-top: 40px;
}
.site-content {
  padding-top: 50px;
}
/* #route_header_bar {
  padding: 25px 20px 0px 20px;
}
#route_header_bar {
  color: var(--tm-white);
} */
#route_header_top {
  display: -webkit-box;
  display: flex;
  margin-left: 20px;
}
#route_header_top img {
  padding-right: 15px;
}
@media (min-width: 544px) {
  .container {
    max-width: 100%;
  }
}
@media (max-width: 800px) { 
  #route_header_top {
    flex-direction: column;
  }
}
@media (min-width: 800px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1088px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1344px) {
  .container {
    max-width: 1200px;
  }
}
#top-header {
  /* display: -webkit-box;
  display: -ms-flexbox; */
  display: grid;
  /*grid-template-columns: 1fr 1fr 2fr 1fr 1fr;*/
  grid-template-columns: 1fr 2fr 1fr 1fr;
  padding: 20px 15px 20px 15px;
  /* -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  justify-items: center;
  /* -webkit-box-align: center;
  -ms-flex-align: center; */
  -webkit-box-align: center;
          align-items: center; 
  
}
.sitelogo {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}
/* .sitelogo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 65%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
} */
#masthead {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
}
@media (max-width: 600px) {
  #top-header {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .search-container {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
  }
}
/* .entry-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
} */
/*--------------------------------------------------------------
## FOOTER
--------------------------------------------------------------*/
footer {
  font-size: 16px;
  line-height: 1.7;
  padding-top: 25px;
}
#main_footer_wrapper {
  background-color: var(--tm-blue);
  color: var(--tm-blue);
  width: 100%;
  min-height: 350px;
}
#main_footer {
  display: -webkit-box;
  display: flex;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  /* justify-content: center; */
}
div#footer_one .widget-title,
div#footer_two .widget-title,
div#footer_three .widget-title,
div#footer_four .widget-title,
div#footer_five .widget-title {
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 24px;
  margin: 25px 0px 10px 0px;
  display: block;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
}
#bottom_bar {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  background-color: var(--tm-off-white);
  color: var(--tm-blue);
  width: 100%;
}
.site_info {
  padding-left: 10px;
  font-size: 16px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 300;
}
#bottom_bar_links {
  padding-right: 10px;
  margin: 0px 0px;
}
#bottom_bar_links .widget {
  margin: 0px 0px;
}
ul#bb-links {
  margin: 0px 0px;
}
ul#bb-links li {
  display:inline;
}
ul#bb-links li {
  text-decoration: none;
  padding-right: 5px;
}
ul#bb-links li a {
  text-decoration: none;
  font-size: 16px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 300;
}
.site_info > a {
  color: var(--tm-blue);
}
.widget-title {
  color: var(--tm-white);
}
ul.footer-links {
  list-style-type: none;
  margin-left: 0;
  color: var(--tm-white);
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
}
@supports (-ms-ime-align: auto) {
  ul.footer-links {
        padding-left: 0;
  }
}
ul.footer-links li a {
  text-decoration: none;
  color: var(--tm-white);
}
.social-media-links {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  flex-shrink: 0;
}
.social-media-links a {
  color: var(--tm-white);
}
.social-media-links div {
  padding: 0px 15px;
}
@media (min-width: 768px) and (max-width: 1088px) {
  #footer_four {
    padding-left: 8px;
  }
}
@media (max-width: 768px) {
  #main_footer_wrapper {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
  }
  #bottom_bar {
    padding-top: 15px;
  }
  #main_footer,
  #top_bar,
  #bottom_bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .site-info,
  .social-media-links {
    padding-top: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1088px) {
  #bottom_bar_links {
    padding-right: 10px;
    margin: 0px;
  }
  ul#bb-links {
    display: grid;
    grid-auto-columns: 1fr;
  }
  .social-media-links div {
    padding: 0px 5px;
  }
}
@media (max-width: 768px) {
  #logo-row-one {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    
    justify-content: space-around;
    padding-top: 10px;
  }
  #footer_one {
    padding-top: 10px;
  }
  /* #footer_one,
  #footer_two {
    width: 50%;
  } */
}

@media (max-width: 425px) {
  ul#primary-menu li a.hasDropdown {
    font-size: 14px;
  }
  svg{
    width: 100px;
  }
}
/*--------------------------------------------------------------
## HOMEPAGE
--------------------------------------------------------------*/
#homepage-wrapper {
  background-size: cover;
  width: 100%;
  min-height: 1000px;
  padding-top: 30px;
}
#image-wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
}
#home-page-image {
  width: 85%;
}
img#home-page-main-image {
  width: 100%;
}

/*--------------------------------------------------------------
## 404
--------------------------------------------------------------*/
.box.flex {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
}
#lost_content > div {
  padding-bottom: 15px;
}
#lost_content {
  margin-top: -405px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  align-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
ul#lost_links_list {
  margin: 0px 0px;
  list-style-type: none;
  text-decoration: none;
}
ul#lost_links_list li a {
  color: var(--tm-white);
}
@media (max-width: 1080px) {
  #lost_links_list {
    margin-top: -150px;
  }
}
@media (max-width: 950px) {
  #lost_content {
    margin-top: -250px;
    padding: 0px 10px;
  }
  ul#lost_links_list li {
    display:inline;
  }
}
@media (max-width: 768px) {
  #lost_content {
    margin-top: -290px;
  }
  #lost_header {
    background-color: #1d2758;
    padding-bottom: 200px;
  }
}

/*--------------------------------------------------------------
## ADS
--------------------------------------------------------------*/
#routeads {
  padding-left: 5px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
          justify-content: flex-start;
}
#purchaseTicketsDiv {
  border: solid 2px #000;
  background-color: var(--tm-blue);
  color: #ffffff;
  margin-top: 10px;
  padding-left: 10px;
}
#purchaseTicketsDiv > a {
  color: var(--tm-white);
}
a.ads-link {
  padding-right: 10px;
}
#train_route {
  margin-top: 30px;
}
.route_stop_bubbles {
  -webkit-box-align: stretch;
  align-items: stretch;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  -webkit-box-pack: start;
  justify-content: flex-start;
  overflow: visible;
  padding-right: 1rem;
}
.route_stop_bubble {
  -webkit-box-align: center;
  align-items: center;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  overflow: visible;
  position: relative;
  width: 1.5rem;
}
.route_stop_info {
  border-bottom: 1px solid var(--tm-border-gray);
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  width: 60%;
  padding-left: 5px;
}
.route_stop_bubble_color_line {
  background-color: var(--tm-blue);
}
.route_stop_bubble_color_line {
  border-width: 0;
  display: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 0 0%;
  min-height: 1rem;
  width: 0.375rem;
}
.route_stop_bubble svg {
  height: 1.5rem;
  overflow: visible;
  position: relative;
  -webkit-transform: translate(0.5px, 1px);
  transform: translate(0.5px, 1px);
  vertical-align: top;
  width: 1.5rem;
}
.route_bubble_stop circle {
  fill: #fff;
  stroke: #1c1e23;
  stroke-width: 0.125rem;
}
.route_bubble_stop_select circle {
  fill: #1d2758;
  stroke: #1c1e23;
  stroke-width: 0.125rem;
}
.effective_date {
  font-family: proxima-nova, sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 16px;
  color: var(--tm-red);
}
.post_title {
  color: var(--tm-blue);
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 24px;
}
.post_meta {
  color: var(--tm-blue);
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 500;
}
.post-thumbnail {
  padding-top: 20px;
}
.nav-links {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
}
.nav-links > div > a {
  background-color: var(--tm-blue);
  color: var(--tm-white);
  padding: 10px 10px;
}

/*--------------------------------------------------------------
## Alerts  /   Main Blog Page
--------------------------------------------------------------*/
  /** SINGLE ALERTS **/
  #alert_content {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  .alert_content_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-bottom: 10px;
  }
  .alert_content_flex {
    display: -webkit-box;
    display: flex;
    grid-template-columns: 1fr 1fr;
  }
  .alert_summary {
    border: 2px solid var(--tm-blue);
    border-radius: 5px;
    padding-left: 20px;
  }
  .alert_label {
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    padding-right: 10px;
  }
  .alert_label_content {
    padding-right: 10px;
  }
  #routes_effected_list {
    list-style-type: none;
  }
  /** END SINGLE ALERTS **/
#newsroom_header {
	font-family: proxima-nova, sans-serif;
	font-style: normal;
	font-weight: 900;
	color: var(--tm-blue);
	font-size: 24px;
}
.post_content {
	display: grid;
	grid-template-columns: 1fr 2fr;
	padding: 0px 25px;
}
.post_content_title {
	color: var(--tm-blue);
	font-size: 24px;
	font-family: proxima-nova, sans-serif;
	font-style: normal;
	font-weight: 900;
}
.post_date {
	color: var(--tm-blue);
	font-family: proxima-nova, sans-serif;
	font-style: normal;
	font-weight: 600;
}
.date_stop_bubbles { 
    -webkit-box-align: stretch;
    align-items: stretch;
    display: inline-block;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    -webkit-box-pack: start;
    justify-content: flex-start;
    overflow: visible;
    padding-right: 1rem;
}
.date_stop_bubble {  
    -webkit-box-align: center;
    align-items: center;
    display: inline-block;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    overflow: visible;
    position: relative;
    width: 1.5rem;
}
.date_stop_info {  
    display: inline-block;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    width: 60%;
    padding-left: 5px;
}
.date_stop_bubble_color_line {   
    background-color: var(--tm-blue);
}
.date_stop_bubble_color_line {
    border-width: 0;
    display: none;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 1;
    flex: 1 0 0%;
    min-height: 15rem;
    width: .375rem;
}
.date_stop_bubble svg {
    height: 1.5rem;
    overflow: visible;
    position: relative;
    -webkit-transform: translate(.5px,1px);
    transform: translate(.5px,1px);
    vertical-align: top;
    width: 1.5rem;
}
.date_bubble_stop circle {
    fill: #ffffff;
    stroke: #1c1e23;
    stroke-width: .125rem;
}
@media (max-width: 768px) {  
  .date_stop_bubble_color_line { 
    min-height: 20rem;
  }
}
#alert_posts_message {
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
}
#more_alerts {
    margin-top: 10px;
}
#image_wrapper,
#secondary_image_wrapper {
	display: -webkit-box;
  display: flex;
	justify-content: space-around;
	padding: 10px 0px;
  position: relative;
}
#featured_image_div {
    margin-top: -87px;
    background-color: var(--tm-blue-gray);
    padding: 10px 20px 10px 20px;
    position: absolute;
    width: 50%;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
}
#featured_image_title > a,
.secondary_featured_image_title > a {
    color: var(--tm-white);
    font-size: 24px;
    font-weight: 900;
    text-decoration: none;
}
@media (max-width: 768px) {
  #featured_image_title > a,
  .secondary_featured_image_title > a,
  .post_content_title {
    font-size: inherit;
  }
  #featured_image_div {
    width: auto;
    margin-top: -55px;
  }
  .secondary_featured_image_div {
    margin-top: -55px !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  #featured_image_title > a,
  .secondary_featured_image_title > a {
    font-size: 20px;
  }
  #featured_image_div {
    width: auto;
    margin-top: -65px;
  }
  .secondary_featured_image_div {
    margin-top: -65px !important;
  }
}
#featured_image_date > a,
#secondary_featured_image_date > a {
    color: var(--tm-white);
    font-weight: 500;
    text-decoration: none;
}
.secondary_featured_image_div {
    margin-top: -87px;
    background-color: var(--tm-blue-gray);
    padding: 10px 20px 10px 20px;
    position: absolute;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
}
.secondary_featured_image img {
    padding-right: 5px;
}
@media (max-width: 900px) {  
 #secondary_image_wrapper {
     -webkit-box-orient: vertical;
     -webkit-box-direction: normal;
             flex-direction: column;
     -webkit-box-pack: center;
             justify-content: center;
 }
 .secondary_featured_image img {
     width: 100%;
 }
}

/*--------------------------------------------------------------
## Main Blog Page
--------------------------------------------------------------*/
#posts_message {
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
}
#more_posts {
    margin-top: 10px;
}

/*--------------------------------------------------------------
## Rider Service Page
--------------------------------------------------------------*/
.services_column_row {
  min-height: 150px;
}

/*--------------------------------------------------------------
## Stops Page
--------------------------------------------------------------*/
#stops-wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding-bottom: 25px;
}
select#select_stop_ddl {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 12px 35px;
  border-radius: 3px;
  min-width: 350px;
  -webkit-appearance: textfield;
  -webkit-appearance:none;
}
input[type="text"].tm_textfield,
input[type="password"]#pwbox-9131 {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 10px 35px;
  border-radius: 3px;
  -webkit-appearance: textfield;
  -webkit-appearance: none;
}
/*--------------------------------------------------------------
## Vehicle Location Page
--------------------------------------------------------------*/
#formGetVehicles {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  width: 350px;
}
select#selectRoute {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 12px 35px;
  border-radius: 3px;
  min-width: 350px;
  -webkit-appearance: textfield;
  -webkit-appearance:none;
 }
 #route_selector_form {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding-bottom: 20px;
 }
#vl_error_message {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding-bottom: 10px;
}
/* @media (max-width: 425px) {
  select#selectRoute,
  #formGetVehicles {
    width: 300px;
  }
} */
/*--------------------------------------------------------------
## Route Planner Page / Route Schedules Page
--------------------------------------------------------------*/
#formselects {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding: 10px 0px;
}    
.routes_row {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding: 0px 0px 8px 0px;
}
.tm_form_fields {
  display: grid;
  grid-auto-columns: 1fr 1fr;
  padding: 5px 5px;
  /* justify-content: center; */
}
.tm_form_fields label {
  color: var(--tm-blue);
}
#tm_find_route_times_form fieldset {
  border: none;
}
select#tm_route_ddl, select#tm_day_ddl, select#direction_service_id_ddl, select#stop_id_ddl {
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  /* font-weight: bold; */
  padding: 10px 25px;
  border: 1px solid var(--tm-light-gray);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.tm_select_ddl {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 12px 35px;
  border-radius: 3px;
  width: 400px;
  -webkit-appearance: textfield;
  -webkit-appearance:none;
}
#tm_find_times,
#tm_find_time_page_reset {
  padding: 15px;
}
#tt_wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: space-evenly;
  justify-content: space-evenly;
}
@supports (-ms-ime-align: auto) {
  #tm_inbound_route_time_table, 
  #tm_outbound_route_time_table {
    margin: 0 auto;
  }
}
.inbound_stops_spinner,
.inbound_rs_stops_spinner,
.outbound_stops_spinner, 
.outbound_rs_stops_spinner {
background: url('/wp-admin/images/wpspin_light.gif') no-repeat;
background-size: 16px 16px;
display: none;
opacity: .7;
filter: alpha(opacity=70);
width: 16px;
height: 16px;
margin: 5px 5px 0;
}
#routes_wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  padding-bottom: 25px;
}
@media (max-width: 768px) {
  #formselects {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .routes_row {
      display: block;
      padding: 0px 0px;
  }
  .tm_select_ddl {
    width: 320px;
  }
}
#inbound_stop_times_label,
#outbound_stop_times_label {
  padding-bottom: 10px;
  color: var(--tm-blue);
  font-weight: 500;
}
#tm_outbound_rs_route_time_table,
#tm_inbound_rs_route_time_table {
    padding-left: 10px;
}
#tm_inbound_rs_route_time_table {
    margin-right: 5px;
}
.route_stops_table {
    background-color: var(--tm-off-white);
    color: var(--tm-dark-gray);
    height: 250px;
    overflow-y: auto;
    width: 75%;
    border: 2px solid var(--tm-border-gray);
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
}
#tm_rs_wrapper {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    width: 800px;
}
/* #rs_message {
  padding-left: 10px;
} */
/*--------------------------------------------------------------
## Route Schedules Page
--------------------------------------------------------------*/
#routegrid {
 padding-top: 20px;
}
.routes_cat_type {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-row-gap: 10px;
}
.route_link > a {
  text-decoration: none;
  padding: 10px 5px 10px 0px;
  line-height: 2.0;
}
.route_link > a:hover {
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
}
.route_short_name {
  font-weight: bold;
  padding: 0px 8px;
}
.route_link > a:hover.route_short_name {
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
}
ul.route_link_list {
list-style: none;
-webkit-columns: 3;
        -moz-columns: 3;
     columns: 3;
-webkit-column-gap: 10px;
        -moz-column-gap: 10px;
     column-gap: 10px;
margin: 0px 0px;
-webkit-padding-start: 0px;
        padding-inline-start: 0px;
}
@media (min-width: 320px) and (max-width: 768px) {
  ul.route_link_list {
  list-style: none;
  -webkit-columns: 1;
          -moz-columns: 1;
       columns: 1;
  -webkit-column-gap: 10px;
          -moz-column-gap: 10px;
       column-gap: 10px;
  }
}
@media (min-width: 517px) and (max-width: 768px) {
  #all-routes { 
      text-align: center;
  }
}
@media (min-width: 1017px) and (max-width: 1266px) {
  #all-routes {
      text-align: center;
  }
}

/*--------------------------------------------------------------
## Sitemap Page
--------------------------------------------------------------*/
.page_stop_bubbles { 
  -webkit-box-align: stretch;
  align-items: stretch;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  -webkit-box-pack: start;
  justify-content: flex-start;
  overflow: visible;
  padding-right: 1rem;
}
.page_stop_bubble {  
  -webkit-box-align: center;
  align-items: center;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  overflow: visible;
  position: relative;
  width: 1.5rem;
}
.page_stop_info {  
  border-bottom: 1px solid #e9eaed;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  width: 60%;
  padding-left: 5px;
}
.page_stop_bubble_color_line {   
  background-color: var(--tm-blue-gray);
}
.page_stop_bubble_color_line {
  border-width: 0;
  display: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 0 0%;
  min-height: 1rem;
  width: .375rem;
}
.page_stop_bubble svg {
  height: 1.5rem;
  overflow: visible;
  position: relative;
  -webkit-transform: translate(.5px,1px);
  transform: translate(.5px,1px);
  vertical-align: top;
  width: 1.5rem;
}
.page_bubble_stop circle {
  fill: #fff;
  stroke: #1c1e23;
  stroke-width: .125rem;
}

/*--------------------------------------------------------------
## TEXRail Schedule Page
--------------------------------------------------------------*/
/* .texrail_row {
	display: flex;
	justify-content: center;
	padding: 10px 0px;
}
.texrail_row_item {
    margin: 0 10px;
} */

/*--------------------------------------------------------------
## Meetings Page
--------------------------------------------------------------*/
.meeting_wrapper {
  padding: 30px 0px;
}
.current_meeting {
  padding-bottom: 20px;
}
.meeting_heading {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background-color: var(--tm-blue);
  color: var(--tm-white);
  padding: 10px 15px;
}
.meeting_body {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  padding: 10px 15px;
}
.previous_meetings {
  background-color: var(--tm-off-white);
  color: var(--tm-blue);
  padding: 10px 15px;
}
.public_meeting_heading {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr 1fr;
  background-color: var(--tm-blue);
  color: var(--tm-white);
  padding: 10px 15px;
}
.public_meeting_body {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr 1fr;
  padding: 10px 15px;
}
@media (max-width: 600px) {
  .current_meeting, 
  .previous_meeting_wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr auto;
      padding-bottom: 20px;
  }
  div.meeting_heading div,
  div.meeting_body div {
      padding: 10px 0px;
      display: block;
  }
  .meeting_heading,
  .meeting_body {
      grid-template-columns: none;
  }
  div.public_meeting_heading div,
  div.public_meeting_body div {
      padding: 10px 0px;
      display: block;
  }
  .public_meeting_heading,
  .public_meeting_body {
      grid-template-columns: none;
  }
}

/*--------------------------------------------------------------
## Single Routes Page
--------------------------------------------------------------*/
#srmap {
  height: 550px;
  width: 100%;
}
#tm_sr_find_route_times_form fieldset {
  border: none;
}
/* .tm_form_fields label {
  color: var(--tm-blue);
} */
select#tm_rp_day_ddl, 
select#direction_id_ddl, 
select#route_inbound_ddl, 
select#route_outbound_ddl {
  border: 1px solid var(--tm-light-gray);
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  padding: 10px 35px;
  border-radius: 3px;
  -webkit-appearance: textfield;
  -webkit-appearance:none;
}
#tm-rp-div-form {
  padding-right: 5px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
.grid_form_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 25px;
}
.grid_form_row_labels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 25px;
}
label {
  display: inline-block;
  color: var(--tm-blue-gray);
}
/* #tm_find_times,
#tm_find_time_page_reset {
  padding: 15px;
} */
/* #tt-wrapper {
  display: flex;
  justify-content: center;
} */
.sr_directions_spinner, 
.sr_stops_spinner {
  background: url('/wp-admin/images/wpspin_light.gif') no-repeat;
  background-size: 16px 16px;
  display: none;
  opacity: .7;
  filter: alpha(opacity=70);
  width: 16px;
  height: 16px;
  margin: 5px 5px 0;
}
#grid-container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
}
#postlinks {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 10px 20px;
}
#tm-rp-heading {
  padding: 10px;
  background-color: var(--tm-blue);
  color: var(--tm-white);
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
}
#tm-rp-div {
  padding-right: 15px;
}
#hours {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: start;
          align-items: flex-start;
}
#route_tabs {
  display: -webkit-box;
  display: flex;
}
.tab_title {
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125em; 
}
#route_sponsors {
  font-size: 18px;
  margin-top: 1.67em;
  margin-bottom: 0px;
}
#maps_tab, 
#schedule_tab,
#tickets_tab,
h5.ticket_link > a {
  color: var(--tm-blue);
}
#maps_tab, 
#schedule_tab,
#tickets_tab {
  padding: 10px 25px 0px 25px;
  background-color: var(--tm-white);
  font-weight: bold;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin: 0px 20px;
  width: 12%;
}
#maps_tab h5, 
#schedule_tab h5,
#tickets_tab h5 {
  padding: 0px 0px;
  margin: 0px 0px;
}
#weekday_hours,
#saturday_hours,
#sunday_hours {
  padding: 10px 10px;

}
.route_header_number {
  border: 2px solid var(--tm-white);
  padding: 5px 8px;
  border-radius: 5px;
}
.route_number_values {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.route_number_bubbles + .route_number_bubbles {
  margin-top: 12px;
  margin-left: 12px;
}
.route_number_bubbles {
  padding: 5px 8px;
  border-radius: 5px;
  font-weight: bold;
  margin-top: 12px;
  margin-left: 12px;
}
.route_number_bubbles > a {
  text-decoration: none;
}
@media screen and (max-width: 900px) { 
  #grid-container {
    grid-template-columns: 1fr;
  }
  #maps_tab, 
  #schedule_tab,
  #tickets_tab {
    width: 25%;
  }
}
@media screen and (max-width: 425px) {
  #route_tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  #maps_tab, 
  #schedule_tab, 
  #tickets_tab {
    width: 85%;
  }
}
.map_btn_wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
          justify-content: flex-start;
  padding: 25px 0px;
}
.map_btn {
  padding: 15px 15px;
  -webkit-box-flex:1;
          flex:1 1 auto;
  margin:5px;
}
div#routealerts {
  padding: 10px 10px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  background-color: var(--tm-red);
  }
  div#routealerts ul {
  margin: 0px 0px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  list-style: none;
  }
  div#routealerts ul li {
  padding: 10px 5px;
  }
  div#routealerts ul li a {
  font-size: 18px;
  font-weight: 500;
  color: var(--tm-white);
  }
.alerts_heading {
  margin: 0px 0px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
  color: var(--tm-white);
}
.route_text_color {
  font-family: proxima-nova, sans-serif;
  font-weight: 900;
  font-style: normal;
}
.route_pdf_link {
  font-family: proxima-nova, sans-serif;
  font-weight: 500;
  font-style: normal;
}
#times_table_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: space-around;
  padding-bottom: 25px;
}
#inbound_times_table, 
#outbound_times_table {
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray);
  height: 250px;
  overflow-y:auto;
  width: 75%;
  border: 2px solid var(--tm-border-gray);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
ul#inbound_times_list,
ul#outbound_times_list {
  margin: 0px 0px;
} 
ul#inbound_times_list li,
ul#outbound_times_list li{
  list-style: none;
}
.pdf_download_div {
  padding-top: 10px;
}
a.ftooltip  {
  text-decoration: none;
}
.ftooltiptext {
  background-color: var(--tm-off-white);
  color: var(--tm-blue-gray);
  text-align: center;
  border-radius: 3px;
  padding: 5px 5px;
  font-size: 14px;
  /* Position the tooltip */
  position: absolute;
  margin-top: -30px;
  margin-left: 30px;
  z-index: 1;
}

/*--------------------------------------------------------------
## Single Stations Page
--------------------------------------------------------------*/
#ssmap {
  height: 550px;
  width: 100%;
}
#route_header_bar {
  padding: 25px 20px 0px 20px;
  color: var(--tm-white);
  }
#route_header_bar {
  background-color: var(--tm-blue);
}
/* .map_btn:hover {
  border-color: var(--tm-blue);
} */
/* #maps_tab, 
#schedule_tab,
#tickets_tab,
h5.ticket_link > a {
  color: var(--tm-blue);
} */
.route_text_color {
  color: var(--tm-blue);
}
.station_number_bubbles {
  border: 2px solid var(--tm-blue);
  color: var(--tm-blue);
}
.station_number_bubbles:hover {
  background-color: var(--tm-blue);
  border: 2px solid var(--tm-blue);
  color: var(--tm-white);
}
.station_number_bubbles > a {
  color: var(--tm-blue);
  font-weight: bold;
}
.station_number_bubbles > a:hover {
  color: var(--tm-white);
}
/* #tm_sr_find_route_times_form fieldset {
border: none;
} */
/* .tm_form_fields {
  display: grid;
  grid-auto-columns: 1fr 1fr;
  padding: 5px 5px;
}
.tm_form_fields label {
color: var(--tm-blue);
} */
/* select#tm_route_ddl, select#tm_day_ddl, select#direction_service_id_ddl, select#stop_id_ddl {
  background-color: var(--tm-light-gray);
  color: var(--tm-dark-grey);
  font-weight: bold;
  padding: 10px 25px;
  border: 1px solid var(--tm-light-gray);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
} */
/* #tm_find_times,
#tm_find_time_page_reset {
  padding: 15px;
} */
/* #tt-wrapper {
  display: flex;
  justify-content: center;
} */
/* .sr_directions_spinner, 
.sr_stops_spinner {
background: url('/wp-admin/images/wpspin_light.gif') no-repeat;
background-size: 16px 16px;
display: none;
opacity: .7;
filter: alpha(opacity=70);
width: 16px;
height: 16px;
margin: 5px 5px 0;
} */
#grid_container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
}
/* #postlinks {
display: flex;
justify-content: space-between;
padding: 10px 20px;
} */
#tm_rp_div {
  padding-right: 15px;
}
/* #hours {
display: flex;
flex-direction: column;
align-items: flex-start;
} */
/* #route_tabs {
display: flex;
} */
/* #maps_tab, 
#schedule_tab,
#tickets_tab {
padding: 10px 25px 0px 25px;
background-color: var(--tm-white);
font-weight: bold;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
margin: 0px 20px;
width: 12%;
} */
/* #maps_tab h5, 
#schedule_tab h5,
#tickets_tab h5 {
padding: 0px 0px;
margin: 0px 0px;
} */
/* #weekday_hours,
#saturday_hours,
#sunday_hours {
padding: 10px 10px;

} */
/* .route_header_number {
padding: 5px 8px;
} */
/* .route_number_values {
display: flex;
flex-wrap: wrap;
flex-direction: row;
} */
.station_number_bubbles {
  padding: 5px 8px;
  border-radius: 5px;
  font-weight: bold;
  margin-top: 12px;
  margin-left: 12px;
}
.station_number_bubbles > a {
  text-decoration: none;
}
@media (max-width: 900px) { 
  #grid_container {
    grid-template-columns: 1fr;
  }
  #anemities {
    padding-bottom: 20px;
  }
}
/* .map_btn_wrapper {
display: flex;
  justify-content: flex-start;
padding: 25px 0px;
}
.map_btn {
padding: 15px 15px;
flex:1 1 auto;
margin:5px;
} */
/* div#routealerts {
padding: 10px 10px;
display: flex;
flex-direction: column;
justify-content: center;
background-color: var(--tm-red);
}
div#routealerts ul {
margin: 0px 0px;
display: flex;
flex-direction: column;
justify-content: center;
list-style: none;
}
div#routealerts ul li {
padding: 10px 5px;
}
div#routealerts ul li a {
font-size: 18px;
font-weight: 500;
color: var(--tm-white);
} */
/* .alerts_heading {
margin: 0px 0px;
color: var(--tm-white);
} */
/* .route_text_color {
font-family: proxima-nova, sans-serif;
font-weight: 900;
font-style: normal;
} */
/* .route_pdf_link {
font-family: proxima-nova, sans-serif;
font-weight: 500;
font-style: normal;
} */
#station_icons {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: space-evenly;
          justify-content: space-evenly;
}
@supports (-ms-ime-align: auto) {
  .station_stop_bubbles {
    width: 8%;
  }
}
@media (max-width: 600px) {
#station_icons {
  display: none;
}
}
.station_stop_bubble {
  display: -webkit-box;
  display: flex;
}
.station_stop_bubble_color_line {   
  background-color: var(--tm-blue);
}
.station_stop_bubble_last_line {
  background-color: var(--tm-white);
}
.station_stop_bubble_color_line,
.station_stop_bubble_last_line {
  border-width: 0;
  display: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 0 0%;
  height: 5px;
  width: 3.6em;
  margin-top: 6px;
}
.tab_inactive {
  border-bottom: 1px solid var(--tm-blue);
}
.tab_active {
  border-bottom: 0px;	
}
#station_icon_name {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  padding: 10px 0px 15px 0px;
}
.siname {
  color: var(--tm-blue-gray);
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 500;
}
.route_row {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 10px 0px;
}
/* .pdf_download_div {
padding-top: 10px;
} */
.tooltip .tooltiptext {
  visibility: hidden;
  width: auto;
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  text-align: center;
  border-radius: 3px;
  padding: 5px 5px;
  font-size: 14px;
  /* Position the tooltip */
  position: absolute;
  margin-top: 30px;
  margin-left: -10px;
  z-index: 1;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
}
/* a.ftooltip  {
text-decoration: none;
}
.ftooltiptext {
background-color: var(--tm-off-white);
color: var(--tm-blue-gray);
text-align: center;
border-radius: 3px;
padding: 5px 5px;
font-size: 14px;
position: absolute;
margin-top: -30px;
margin-left: 170px;
z-index: 1;
} */
/* #route_sponsors {
font-size: 18px;
margin-top: 1.67em;
  margin-bottom: 0px;
} */


/*--------------------------------------------------------------
## Train Stations Page
--------------------------------------------------------------*/
#tsroutegrid {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: space-evenly;
          justify-content: space-evenly;
  flex-wrap: wrap;
}
@supports (-ms-ime-align: auto) {
  #stations_col_one,
  #stations_col_two {
    margin: 0 auto;
  }
}

/* .tm_blue_header_text {
  color: var(--tm-blue);
  font-weight: bold;
} */
/* .tm_grey_header_text {
  color: var(--tm-blue);
  font-weight: bold; 
} */
/* .tm_inner {
  box-sizing: border-box;
  padding-left: 70px;
  padding-right: 70px;
  width: 100%;
} */
.icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: cover;
}

/* .route_short_name {
  color: var(--tm-blue);
  font-weight: bold;
  padding: 0px 8px;
} */
/* ul.route_link_list {
list-style: none;
margin: 0px 0px;
padding-inline-start: 0px;
} */

/* .route_stop_bubbles { 
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: inline-block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  overflow: visible;
  padding-right: 1rem;
} */
/* .route_stop_bubble {  
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: inline-block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: visible;
  position: relative;
  width: 1.5rem;
} */
.ts_route_stop_info {  
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 60%;
  padding-bottom: 15px;
  margin-left: 10px;
  margin-bottom: 1rem;
}
.ts_route_stop_info > a {
  text-decoration: none;
}
/* .route_stop_bubble_color_line {   
  background-color: var(--tm-blue);
}
.route_stop_bubble_color_line {
  border-width: 0;
  display: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 0%;
  -ms-flex: 1 0 0%;
  flex: 1 0 0%;
  min-height: 1rem;
  width: .375rem;
} */
/* .route_stop_bubble svg {
  height: 1.5rem;
  overflow: visible;
  position: relative;
  -webkit-transform: translate(.5px,1px);
  transform: translate(.5px,1px);
  vertical-align: top;
  width: 1.5rem;
} */
/* .route_bubble_stop circle {
  fill: #fff;
  stroke: #1c1e23;
  stroke-width: .125rem;
} */
.ts_route_stop_info {  
  border-bottom: none;
}
.route_stop_bubbles:hover > .ts_route_stop_info  > a {
  color: var(--tm-white);
  background-color: var(--tm-blue-gray);
  padding-left: 5px; 
}
.railicon {
  background-image: url('img/small-rail.svg');
}
.station_icon {
  background-image: url('img/small-rail.svg');
  height: 18px;
  width: 18px;
}
.route_stop_bubbles:hover > .route_stop_bubble > .station_icon {
  background-image: url('img/small-rail-hover.svg');
  height: 18px;
  width: 18px;
}

/*--------------------------------------------------------------
## Trip Planner Page
--------------------------------------------------------------*/
/* .routes_row {
  display: flex;
  justify-content: center;
  padding: 0px 0px 8px 0px;
} */
/* .tm_form_fields {
  display: grid;
  grid-auto-columns: 1fr 1fr;
  padding: 5px 5px;
}
.tm_form_fields label {
color: var(--tm-blue);
} */
/* @media (max-width: 768px) {
  .routes_row {
      display: block;
      padding: 0px 0px;
  }
} */
#startPoint, 
#destination, 
#time, 
#date,
#reset_trip {
  background-color: var(--tm-off-white);
  color: var(--tm-dark-gray); 
  font-size: 16px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  padding: 15px 40px;
  cursor: pointer; 
  text-decoration: none;
  border: 1px solid var(--tm-dark-gray);
  border-radius: 3px; 
}
#reset_trip {
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 600;
}
#startPoint::-webkit-input-placeholder, 
#destination::-webkit-input-placeholder,
#time::-webkit-input-placeholder,
#date::-webkit-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint:-ms-input-placeholder, 
#destination:-ms-input-placeholder,
#time:-ms-input-placeholder,
#date:-ms-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint::-ms-input-placeholder, 
#destination::-ms-input-placeholder,
#time::-ms-input-placeholder,
#date::-ms-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint::-webkit-input-placeholder, #destination::-webkit-input-placeholder, #time::-webkit-input-placeholder, #date::-webkit-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint::-moz-placeholder, #destination::-moz-placeholder, #time::-moz-placeholder, #date::-moz-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint:-ms-input-placeholder, #destination:-ms-input-placeholder, #time:-ms-input-placeholder, #date:-ms-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint::-ms-input-placeholder, #destination::-ms-input-placeholder, #time::-ms-input-placeholder, #date::-ms-input-placeholder {
  color: var(--tm-dark-gray); 
}
#startPoint::placeholder, 
#destination::placeholder,
#time::placeholder,
#date::placeholder {
  color: var(--tm-dark-gray); 
}
/* #trip_planner_wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
} */
/* #grid-container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
} */
@media(max-width: 768px) {
  #map-wrapper {
    padding: 5px 5px;
  }
}
#gmap_map {
  height: 550px;
  width: 100%;
}
#tp_div_form {
  padding-right: 5px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
.grid_form_row_full {
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 25px;
}
/* .grid_form_row {
display: grid;
 grid-template-columns: 1fr 1fr;
padding-top: 25px;
} */
/* .grid_form_row_labels {
display: grid;
  grid-template-columns: 1fr 1fr;
padding-top: 25px;
}  */
.grid_form_row_labels label,
.grid_form_row_full label { 
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 600;
}
#plan_trip {
  background-color: var(--tm-white);
  color: var(--tm-blue); 
  font-size: 16px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
  padding: 15px 40px;
  cursor: pointer; 
  text-decoration: none;
  border: 1px solid var(--tm-blue);
  border-radius: 3px; 
}
#purchase_tickets_div {
  background-color: var(--tm-blue-gray);
  color: var(--tm-white);
  font-size: 16px;
  font-family: proxima-nova, sans-serif;
  font-style: normal;
  font-weight: 900;
  padding: 15px 40px;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid var(--tm-blue-gray);
  border-radius: 3px;
}
a#ticketLink {
  text-decoration: none;
  cursor: pointer;
  color: var(--tm-white);
}
#gmap_error {
  padding-top: 5px;
  color: var(--tm-blue);
  font-weight: bold;
}
/* #route_sponsors {
font-size: 18px;
margin-top: 1.67em;
  margin-bottom: 0px;
} */
#gmap_ct #gmap_controls { width: calc(40% - 40px); height: 100%; padding: 0px 20px; overflow-y: auto; overflow-x: hidden; }
#gmap_ct #gmap_controls p { font-size: 1.1em; margin-bottom: 24px; }
#gmap_ct #gmap_controls input[type="text"], #gmap_ct #gmap_controls input[type="time"], #gmap_ct #gmap_controls input[type="date"] { padding: 12px; font-size: 1.1em; }
#gmap_ct #gmap_controls input[type="text"] { width: calc(100% - 24px); }
#gmap_ct #gmap_controls input[type="radio"] { width: 30px; height: 30px; vertical-align: middle; }

#gmap_ct #gmap_controls a#routeslink { margin-left: 12px; }
                                
#gmap_ct #gmap_controls #directions { background-color: #ffffff; padding: 24px; display: none; }
                                
#gmap_ct #gmap_controls #directions .adp-directions tr td { padding: 12px 0px; }
#gmap_ct #gmap_controls #directions .adp-directions tr td.adp-substep { line-height: 1.5em; }
#gmap_ct #gmap_controls #directions .adp-details { font-size: 0.9em; font-style: italic; }
#gmap_ct #gmap_controls #directions .adp-summary { padding-bottom: 12px; font-weight: bold; }
#gmap_ct #gmap_controls #directions .adp-agencies { line-height: 1.5em; }
#tp-grid-container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
}                              
@media screen and (max-width:768px) {
    #gmap_ct { 
        display: block; 
        height: auto; 
    }
    #gmap_ct #gmap_map { 
        width: 100%; 
        height: 350px; 
    }
    #gmap_ct #gmap_controls { 
        width: calc(100% - 40px); 
        height: auto; 
    }
    #tp-grid-container {
        display: grid;
        grid-template-columns: 1fr;
        padding: 10px 20px;
    }
}
#trip-planner-wrapper {
    width: 100%;
    height: calc(100% - 60px);
}
.adp-listheader {
    background-color: var(--tm-white);
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 24px;
}
.adp-listsel {
    background-color: var(--tm-border-gray);
    color: var(--tm-white);
    padding: 10px 0px !important;
}
li.adp-listsel > div.adp-summary-duration,
li.adp-listsel > div {
    color: var(--tm-blue);
}
 ol li {
    background-color: var(--tm-white);
    color: var(--tm-blue);
    border-bottom: 1px solid var(--tm-blue-gray);
    padding: 10px 0px 10px 10px !important;
}
.adp-list img, .adp-substep img {
    width: 25px;
    height: 25px
}
.adp-summary-duration {
    font-weight: bold;
    margin: 0px 7px;
}
.adp-fullwidth {
    width: 100%;
    background-color: #e10022;
    color: #fff;
    text-transform: uppercase;
}
#directions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
}
.adp-list {
    border: none;
    margin-top: 5px;
    margin-right: 5px;
    padding: 10px 0px !important;
}
li.adp-listsel > div {
    padding: 10px 0px 10px 5px;
    font-weight: bold;
}
.warnbox-content,
.warnbox-c1,
.warnbox-c2 {
    background: var(--tm-blue) !important;
    color: var(--tm-white) !important;
    font-weight: 500;
}
.adp table {
    width: 100%;
}
.adp b, .adp-list b {
    font-weight: 600;
}
.adp-text {
    text-align: center;
    background-color: var(--tm-white);
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 600;
}
img.adp-marker2 {
    padding: 7px;
}
.adp-summary {
    padding: 0px 0px 10px 0px;
    background-color: var(--tm-off-white);
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 600;
    padding: 10px 10px;
}
.adp-placemark {
    background-color: var(--tm-white);
    border: 1px solid var(--tm-blue);
}
.adp-table,
.adp-details,
.adp-substep {
    padding: 0px 0px 10px 0px;
    background-color: var(--tm-off-white);
    color: var(--tm-blue);
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 600;
    padding: 10px 10px;
    line-height: 1.8;
}
.adp-agencies,
.adp-legal {
    color: var(--tm-dark-gray);
}


/* div#routealerts {
	padding: 20px 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: var(--tm-orange);
}
div#routealerts ul {
	margin: 0px 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	list-style: none;
}
div#routealerts ul li {
	padding: 10px 5px;
}
div#routealerts ul li a {
	text-decoration: none;
	font-size: 18px;
	font-family: proxima-nova, sans-serif;
	font-style: normal;
	font-weight: 900;
	color: var(--tm-blue);
} */
/* .alerts_heading {
	margin: 0px 0px;
	font-family: proxima-nova, sans-serif;
	font-style: normal;
	font-weight: 900;
	color: var(--tm-blue);
} */
@media screen and (max-width: 425px) {
    .grid_form_row {
        grid-template-columns: 1fr;
    }
    #directions {
        grid-template-columns: 1fr;
    }
    #map_wrapper {
        padding-top: 15px;
    }
}

@media (max-width:767px){
  .page-template-fullwidth #primary.content-area  .vc_column_container > .vc_column-inner,
  .page-template-fullwidth #primary.content-area .vc_row 
  {
    padding-left: 15px !important;
    padding-right: 15px !important;
  
  }
  
  .previous_meeting_heading{
	  padding: 10px 10px;
font-size: 11px;
  }
  .previous_meeting_body, .meeting_body{
	  font-size:11px;
  }
 .page-template-meeting-two-template  .current_meeting, .page-template-meeting-two-template  .previous_meeting_wrapper{
	  display:inline-block;
	  width:100%;
  }
  .meeting_heading{
	  font-size:12px;
  }
  }

.twitterx {
  line-height: .75em;
  vertical-align: -25%;
}

.twitterx:after {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    content: "";
    width: 17px;
    height: 16px;
    background-image: url("data:image/svg+xml;charset=UTF-8, <svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 188 176'><path d='m283.94 167.31 386.39 516.64L281.5 1104h87.51l340.42-367.76L984.48 1104h297.8L874.15 558.3l361.92-390.99h-87.51l-313.51 338.7-253.31-338.7h-297.8Zm128.69 64.46h136.81l604.13 807.76h-136.81L412.63 231.77Z' style='fill:%231d2758;fill-rule:nonzero' transform='translate(-52.88 -31.43) scale(.18785)'/></svg>");
  }

.gopass {
  margin: 20px;
  max-width: 100px;
}

.video-section-wrap .vc_column-inner {
  padding-top: 0px !important;
}
body.page-id-23953 .entry-content.container {
  margin-top: 0px;
}

.custom-modal {
  display: none;
  
  position: fixed;
  z-index: 999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.custom-modal.show {
  display: block;
  opacity: 1;
}

.modal-content {
  text-align: left;
  background: #fff;
  margin: 10% auto;
  padding: 20px;
  width: 90%;
  max-width: 500px;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  position: relative;
}
.modal-content ol{
  margin: 0;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
}


.custom-modal h2 {
  text-align: center;
}

a#openModal {
  display: block;
  text-align: center;
  color: #ffff;
  margin: 0 0 15px 0;
  display: block;
  text-decoration: underline;
}

.button_panel a:focus {
    outline: navajowhite;
}