/*
GTG Red:  #D41F32
Dk Gray:  #555555
*/
/* Breadcrumb
-----------------------------------------------------------------------------*/
#breadcrumb {
  white-space: nowrap;
  background: #555;
  font-size: 0.9rem;
  line-height: 0.95rem;
  color: #EEE;
  vertical-align: middle !important;
}
#breadcrumb a {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 9px 12px 9px 12px;
  color: #EEE;
}
#breadcrumb a:hover, #breadcrumb a:focus {
  text-decoration: none;
  background-color: rgba(0, 0, 0, .2);
}
#breadcrumb i {
  display: inline-block;
  font-style: normal;
  padding: 9px 0 9px 0;
}
/* Page Title
-----------------------------------------------------------------------------*/
#pageTitles {
  background-color: #195A95;
  background-image: url('/media/static/images/plumbing-icons-blue.png');
  background-position: center center;
  background-attachment: fixed;
  -webkit-background-size: 100%;
  -moz-background-size: 100%;
  -ms-background-size: 100%;
  -o-background-size: 100%;
  background-size: 100%;
  text-align: center;
  padding: 48px 0 48px 0;
  box-shadow: inset -12px 0 24px rgba(0,0,0,.2);
}
#pageTitles h1 {
  margin: 0 0 24px 0;
  text-wrap: balance;
  color: #FFF;
  font-size: 2.4rem;
  line-height: 2.6rem;
  font-weight: 100;
}
#pageTitles h2 {
  margin: 0 0 0 0;
  text-wrap: balance;
  color: #FFF;
}
#pageTitles .intro {
  font-weight: 400;
  font-size: 1.0rem;
  line-height: 1.4rem;
  margin-bottom: 24px;
  color: #FFF;
}
#pageTitles .intro a {
  color: #FFF;
  text-decoration: underline dotted rgba(255,255,255, .5) !important;
  text-underline-offset: 6px;
  text-wrap: balance;
}
#pageTitles .GoogleReviews {
  height: 24px;
  width: auto;
  margin: 12px 0 0 0;
}
/* On This Page
-----------------------------------------------------------------------------*/
#onThisPage {
  background: #EFEFEF;
  font-size: 0.9rem;
  line-height: 1.0rem;
  text-align: center;
  color: #333;
}
#onThisPage strong {
  display: inline-block;
  padding: 10px 4px 10px 4px;
}
#onThisPage i {
  display: inline-block;
  padding: 10px 4px 10px 4px;
}
#onThisPage a {
  display: inline-block;
  padding: 10px 4px 10px 4px;
  text-decoration: none;
  color: #333;
}
#onThisPage a:hover,#onThisPage a:focus {
  background: #DDD;
}


#city-map {
  overflow: hidden;
  background: #CCC;
  border-top: 1px solid #555;
  border-bottom: 1px solid #555;
}
.mapBox {
  background-color: #444;
  background-size: cover;
  background-position: center center;
  height: 300px;
}

/* Sidebar (News)
-----------------------------------------------------------------------------*/
.sidebar {
  font-size: 0.9rem;
  line-height: 1.4rem;
}
.sidebar nav {
  border-bottom: 1px solid #555555;
  padding: 0 0 24px 0;
  margin: 0 0 24px 0;
}
.sidebar li {
  padding: 1px 0 2px 0;
}
.sidebar li a {
  text-decoration: none;
}
.sidebar li a:hover, .sidebar li a:focus {
  text-decoration: underline;
}
#newsSidebar a {
  display: block;
  border-bottom: 1px solid #CCC;
  margin: 0 0 12px 0;
  padding: 0 8px 12px 0;
  color: #111;
}
#newsSidebar a:hover, #newsSidebar a:focus {
  text-decoration: none;
  padding: 0 0 12px 8px;
}
.sidebar h3 {
  color:#D12F19;
  font-weight: 700;
  margin: 0 0 6px 0;
  padding: 0 0 0 0;
}
#byline {
  line-height: 2.0rem;
  border-bottom: 1px solid #555555;
  padding: 0 0 24px 0;
  margin: 0 0 24px 0;
}
a.newsAd {
  display: block;
  background: #EFEFEF;
  border-left: 2px solid #D41F32;
  padding: 24px;
  margin: 12px 0 18px 0;
  color: #222;
}
a.newsAd:hover, a.newsAd:focus {
  scale: .98;
  text-decoration: none;
}
/* Accordions
-----------------------------------------------------------------------------*/
.accordionTitle {
  cursor: pointer;
  padding: 8px 8px 8px 0;
  border: none;
  border-bottom: 1px dotted #CCC;
  width: 100%;
  text-align: left;
  outline: none;
  transition: 0.4s;
  font-size: 1.0rem;
  line-height: 1.1rem;
  color: #D41F32;
  background: #FFF;
  font-weight: 700;
  text-wrap: balance;
}
.accordionActive,
.accordionTitle:hover,
.accordionTitle:focus {
  background-color: #EFEFEF;
  color: #000;
  padding: 8px 8px 8px 8px;
}
.accordionBody {
  padding: 0 18px;
  margin-bottom: 12px;
  background-color: #FFF;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.accordionBody ul {
  columns: 1;
}
.accordionTitle:after {
  content: '+';
  color: #555555;
  float: right;
  margin-left: 5px;
}
.accordionActive:after {
  content: "-";
}
/* FAQs
-------------------------------------------*/
#faqs {
  background-color: #195A95;
  background-image: url('/media/static/images/plumbing-icons-blue.png');
  background-position: center center;
  background-attachment: fixed;
  -webkit-background-size: 100%;
  -moz-background-size: 100%;
  -ms-background-size: 100%;
  -o-background-size: 100%;
  background-size: 100%;
  padding: 48px 0 60px 0;
  box-shadow: inset -12px 0 24px rgba(0,0,0,.2);
}
#faqs h2 {
  font-size: 2.0rem;
  line-height: 2.1rem;
  font-weight: 400;
  color: #FFF;
  margin: 0 0 24px 0;
  text-wrap: balance;
}
.faq {
  padding: 8px 8px 8px 12px !important;
  font-size: 1.3rem;
  line-height: 1.6rem;
  color: #333 !important;
  font-weight: 400 !important;
}
.faq:hover,
.faq:focus {
  background-color: #DDD;
  padding: 8px 8px 8px 18px !important;
}
.faqVote {
  border-top: 1px solid #DDD;
  margin: 12px 0 12px 0;
  padding: 12px 0 0 0;
}
/* MEDIA ELEMENTS
-----------------------------------------------------------------------------*/
.mediaElements {
  width: 36%;
  float: right;
  margin: 0 0 24px 24px;
}
.mediaElements img {
  margin: 0 0 6px 0;
}
/* Sitemap
-----------------------------------------------------------------------------*/
#sitemap em {
  float: right;
  font-size: .9rem;
  font-style: normal;
}
#sitemap li {
  border-top: 1px solid #DDD;
}
/* Contact
-----------------------------------------------------------------------------*/
#contact {
  padding: 36px 0 36px 0;
  background-color: #EFEFEF;
}
.publicForm {
  width: 70%;
  margin: 0 auto 12px auto;
}
.publicForm input:not([type=submit]):not([type=radio]):not([type=checkbox]) {
  font-size: 1.2rem;
  padding: 10px;
  background: rgba(60, 193, 205, .02);
  border-bottom: 1px solid rgba(60, 193, 205, 1);
  border-bottom: 1px solid #CCC;
  margin: 0 0 18px 0;
}
.publicForm textarea {
  font-size: 1.2rem;
  padding: 10px;
  background: rgba(60, 193, 205, .02);
  border-bottom: 1px solid rgba(60, 193, 205, 1);
  border-bottom: 1px solid #CCC;
  margin: 0 0 18px 0;
}
.publicForm select {
  font-size: 1.2rem;
  padding: 10px;
  background: rgba(60, 193, 205, .02);
  border-bottom: 1px solid rgba(60, 193, 205, 1);
  border-bottom: 1px solid #CCC;
  margin: 0 0 18px 0;
}
.publicForm button {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  text-align: center;
  width: 40%;
  padding: 10px 0 10px 0;
  font-size: 1rem;
  color: #FFF;
  border: none;
  background: #D41F32;
}
.publicForm button:hover, .publicForm button:focus {
  background: rgba(0, 0, 0, .7);
  color: #FFF;
  text-decoration: none;
}
@media only screen and (max-width: 749px) {
  .publicForm {
    width: 100%;
  }
  .mediaElements {
    width: 100%;
  }
  .accordionBody ul {
    columns: 1;
  }
}