/* Globals */

@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&display=swap');

html {
  
  background: #f2f2f2;
  
}

body {
  background: #fff;  
  max-width: 1920px;
  min-height: 100vh;
  margin: 0px auto;
}

* {
  font-family: 'Hind', sans-serif;
  line-height: 1.4;
}

h1,h2,h3,h4 {
    
    text-transform: uppercase;
    font-weight: 600;
    margin: 20px 0px 10px;
    
}

#tpc {
  
  min-height: calc(100vh - 294px);
  
}

.card h1,h2,h3,h4 {
  
  margin: 10px 0px;
  
}

a .card {
  
  transition: border 0.15s ease-in-out, margin 0.15s ease-in-out;
  
  text-decoration: none !important
  
}

a .card:hover {
  
  border-color: #e31e3b;
  border-width: 2px;
  margin: -1px;
  
}

a .card .card-link {
  
  color: #ce203a;
  transition: color 0.15s ease-in-out;
  
}

a .card:hover .card-link {
  
  color: #e31e3b;
  
}


.news-img {
  
  width: 600px;
  
  max-width: 100%;
  
  margin: 12px 0px 24px;
  
}

blockquote {
  
  color: #444645;
  
  border-left: 2px solid #444645;
  
  padding-left: 10px;
  
}

.news-short {
  
  padding: 15px 0px 15px 2px;
  
  border-top: 1px solid #cacfce;
  
}

.card-bio {
  
  margin-bottom: 20px;
  
}

.card-bio img {
  
  width: 100%;
  max-width: 80px;
  max-height: 80px;
  margin-bottom: 15px;
  
}

.card-img-top {
  
  border-radius: 0px;
  
}

.card-overlay {
  
  margin-top: -60px;
  background: rgba(225,225,225,0.9);
  padding-top: 20px;
  
}

.card-link {
  
  font-size: 1.1em;
  font-weight: 500;
  
}

.card-link i {
  
  float: right;
  
}

nav.container {
    
    margin-top: 10px;
    
}

.navbar-brand img {
    
    height: 80px;
    
}

.bg-pale  {
  
  background-color: #cacfce;
  
}

.bg-pale-grey {
  
  background: #9c9e9d;
  
}

.card {
  
  border-color: #cacfce;
  border-radius: 0px;
  
}

.highlight {
  
  color: #ce203a;
  
}

.text-semibold {
  
  font-weight: 500;
  
}

a {
  
  color: #ce203a;
  text-decoration: none;
  transition: color 0.15s ease-in-out;
  
}

a:hover {
  
  color: #e31e3b;
  text-decoration: underline;
  
}

a:hover span {
  
  text-decoration: none !important;
  
}

a .fa-space-after {
  
  margin-right: 3px;
  
}

#header-text {
  
  background-color: white;
  margin-top: 20px;
  padding: 0px 20px 10px;
  
}

p {
  
  margin-bottom: 10px;
  
}

#header-text p {
  
  font-size: 1.1em;
  
}

#header-text p:last-of-type {
  
  margin-bottom: 0px;
  
}

#tpc .my-4 .row:first-of-type {
  
  margin: 0px;
  
}

/* Mobile */

.navbar-toggler {

  border: 0px;
  font-size: 1.5em;
  
}

@media (max-width: 991px) { 
  
  .container {
  
    overflow-x: scroll;
    
  }
  
  .navbar {
    
    background: #cacfce;
    
  }
  
  .navbar-collapse {
    
    margin-top: 20px;
    
  }
  
  .nav-item {
    
    margin-left: 15px;
    
  }
  
  #header-text {
    
    margin-left: auto;
    
  }
  
  
 }

/* #ce203a */

/* Main overrides */

#hero {
    
    background-image: url('hero.jpg');
    
    width: 100vw;
    
    margin: -136px auto 0px auto;
    
    height: 850px;
    
    background-size: 1920px 1280px;
    
    background-repeat: no-repeat;
    
    background-image: url('hero.jpg');
    
    background-position: right 0px top -170px;
    
    max-width: 1920px;
    
}

#hero-text {
  
  width: 550px; 
  
  height: 135px; 
  
  margin-top: -135px; 
  
  color: #fff; 
  
  font-weight: 300; 
  
  font-size: 1.8em; 
  
  letter-spacing: 0.3px; 
  
  line-height: 1.3; 
  
  -webkit-font-smoothing: antialiased;
  
}

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

.align-right {
  
  text-align: right;
  
}

footer {
  
  background: #444645;
  
  padding: 30px 0px;
  
}

footer a {
  
  color: #bbb;
  
}

footer a:hover {
  
  color: #ddd;
  
}

footer img {
  
  height: 60px;
  
}

footer .socials {
  
  font-size: 1.8em;
  padding-top: 10px;
  
}

footer .cic {
  
  color: #bbb;
  margin-top: 10px;
  font-size: 0.8em;
  
}

footer .email {
  
  font-size: 1.1em;
  
  padding-top: 16px;
  
}

@media (max-width: 1399px) { 
 
 #hero-text {
   
   margin-top: -500px;
   
   height: 500px;
   
   width: 600px;
   
   margin-left: auto;
   
   margin-right: auto;
   
   text-align: center;
   
 } 
  
}


@media (max-width: 991px) { 
  
  .nav-item {
    
    margin: 0px;
    
  }
  
  #hero {
    
    height: 500px;
    background-position: right;
    background-size: cover;
    
  }
  
  #hero-text {
    
    width: 100%;
    
    max-width: 500px;
    
    margin-top: 0px;
    
    color: #000;
    
    height: auto;
    
    padding: 20px 0px;
    
    text-align: left !important;
    
  }
  
  footer .col-sm-8.align-right {
    
    text-align: left;
    
  }
  
  
}

/* Services table */

.nav-tabs .nav-link, .list-group-item {
  
  border-radius: 0px !important;
  
}

.nav-tabs .nav-link h5, .list-group-item h5 {
  
  margin: 0px;
  
}

.list-group-item h5 {
  
  padding-top: 3px;
  
}

.list-group-item .text-semibold {
  
  margin-top: 6px;
  
}

.list-group-item.active {
  
  background: #ce203a;
  
  border-color: #ce203a;
  
}

.nav-tabs .nav-link {
  
  color: #ce203a;  
  
}

.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
 
 color: #e31e3b;
  
}

.nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover {
 
 color: inherit;
  
}

.tab-pane {
  
  max-width: 100vw;
  
  overflow-x: scroll;
  
}

table {
  
  width: 100%;
  
}

tr td {

  border-top: 1px solid #999;

  text-align: center;

  padding: 3px 10px 0px;

  font-variant-numeric: tabular-nums;

}

tr th {

  text-align: center;

}

tr.no-border td, tr.no-border th {
  
  border-bottom: 0px;
  
}

tr.intermediate td {
  
  border-top: 1px solid #ddd;
  
}

tr.large-border-top td {

  border-top: 2px solid #333;

}


tr td:nth-child(even) {

  background: #eee;
  
}

td.station {

  width: 35px;
  background-image: url('station.png');
  background-size: 30px;
  background-position-y: center;
  padding-left: 0px;
  padding-right: 0px;

}

td.station-start {

  background-image: url('station-start.png');

}

td.station-end {

  background-image: url('station-end.png');

}

td.station-alt-start {

  background-image: url('station-alt-start.png');

}

td.station-alt-end {

  background-image: url('station-alt-end.png');

}

td.station-alt {

  background-image: url('station-alt.png');

}

td.station-diverted {

  background-image: url('station-diverted.png');

}

td.station-name {

  text-align: left;
  min-width: 180px;
  color: #D0203B;
  padding-left: 0px;
  padding-right: 0px;
  background: none !important;

}

td.station-name-important {

  font-weight: 500;

}

td.type {

  padding-left: 20px;
  text-align: right;
  color: #464646;
  font-weight: 300;
  padding-left: 0px;

}

.station-note {

  font-size: 0.8em;
  color: #464646;
  margin-top: -6px;
  font-weight: 400;

}

.accordion-button:not(.collapsed) {
  
  color: #fff;
  
  background: #ce203a;
  
}

.accordion-button:not(.collapsed)::after {
  
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  
}

.accordion-item {
  
  border-color: #cacfce;
  
}