/* Stellar Colors */

.filters .input-group-addon,
.search .input-group-addon {
  background-color: #0f3880;
}

.panel-primary > .panel-heading {
  color: #fff;
  background-color: #0f3880;
  border-color: #0f3880;
}

.panel-primary {
  border-color: #0f3880;
}

.btn-primary {
  background-color: #0f3880;
  border-color: #0f3880;
}

.text-primary,
a.list-group-item-info,
button.list-group-item-info,
.btn-link,
.panel-info > .panel-heading {
  color: #0f3880;
}
.main-home {
  background-color: white;
}
#content {
  background-color: #f5f8fa;
}

.badge {
  display: none;
}

/* end Stellar Colors */

/* Skin Styles */

/* header styles */

header {
  font-family: 'Montserrat', sans-serif;
  position: relative;
  z-index:3;
}

header * {
  margin: 0;
}

header a:hover,
header a:focus{
  text-decoration: none;
}

header .header-container {
  display: block;
}

header .third-breakpoint-desktop-social-column,
header .second-breakpoint-desktop-online-bill-pay-wrapper,
header .mobile-call-us-expansion-button-row,
header .mobile-expansion-row,
header .submenu-container,
header .first-breakpoint-desktop-online-bill-pay-wrapper,
header .locations-row,
header .phone-bill-pay-li,
header .mobile-only.online-bill-pay-column{
  display:none;
}

header ul{
  list-style:none;
}

header .top-section{
  background:white;
  padding-bottom:15px;
}

header .inner-top-section{
  max-width:1170px;
  margin:0 auto;
}

header .right-column,
header .locations-list,
header .welcome-call-list,
header .social-list,
header .inner-top-section,
header .inner-lower-section,
header .nav-list{
  display:flex;
}

header .right-column{
  flex-grow:1;
}

header .inner-top-section,
header .locations-list,
header .inner-lower-section{
  justify-content: end;
}

header .inner-top-section{
  position:relative;
}

header .locations-list a{
  font-weight:600;
  line-height:1;
  color:black;
}

header .locations-list a:hover{
  color:#017fea;
}

header .welcome-call-list{
  column-gap:68px;
  justify-content: center;
}

header .phone-map-and-hours-list{
  display:flex;
  justify-content: center;
  column-gap:5px;
}

header .welcome-call-list li{
  text-align: center;
}

header .locations-list li{
  font-size:1.143em;
}

header .locations-list a i{
  color:#ec2931;
  margin-right:5px;
}

header .locations-list a:hover i{
  color:#f7c20c;
}

header .locations-column{
  padding-top:8px;
}

header .locations-list li:not(:last-child):after{
  content:"|";
  padding:0 3px;
  padding-right:7px;
  color:black;
  color:black;
  font-weight:600;
  line-height:1;
}

header .welcome-call-list a{
  font-size:1.429em;
  line-height:1;
  color:rgb(2,24,114);
  font-weight:600;
}

header .welcome-call-list a:hover{
  color:#927305;
}

header .welcome-call-list a i.fa-arrow-circle-o-right{
  color:#ec2931;
  font-size:0.8em;
  margin-right:6px;
}

header .welcome-call-list a:hover i{
  color:#017fea;
}

header .pay-bill-wrapper a{
  display:inline-flex;
  justify-content: center;
  align-items: center;
  font-weight:600;
  padding:1px 7px;
  border-radius:7px;
  background:rgb(70,150,202);
  color:white;
  line-height:1.429;
  height:38px;
}

header .social-list{
  background:black;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding:10px;
  padding-bottom:15px;
  column-gap:9px;
}

/* header .pay-bill-wrapper{
  visibility: hidden;
} */

header .social-list a{
  height:30px;
  width:30px;
  display:flex;
  justify-content: center;
  align-items: center;
  font-size:1.5em;
  color:white;
  border-radius:50%;
  transition:0.15s linear;
}

header .social-list li:nth-child(1) a{
  background:#517fa4;
}

header .social-list li:nth-child(2) a{
  background:#ED1E26;
}

header .social-list li:nth-child(3) a{
  background:#0071AF;
}

header .header-container .social-list li a:hover{
  background:white;
}

header .social-list li:nth-child(1) a:hover{
  color:#507fa4;
}

header .social-list li:nth-child(2) a:hover{
  color:#ee2930;
}

header .social-list li:nth-child(3) a:hover{
  color:#0171af;
}

header .desktop-full-width-view-only{
  margin-left:79px;
  margin-right:49px;
}

header .logo-column{
  position:absolute;
  left:0;
  max-width:194.531px;
  z-index:5;
}

header .logo-column a:hover{
  filter: drop-shadow(0 0 2px #000000);
}

header .locations-welcome-online-bill-pay-social-outer-wrapper{
  display:flex;
  flex-direction:column;
  row-gap:13px;
  margin-left:279px;
  margin-left: 332px;
  max-width:458px;
}

header .online-bill-pay-column{
  display:flex;
  margin-top:20px;
  margin-left:auto;
}

header .lower-section{
  background:#0f1321;
}

header .inner-lower-section{
  max-width:1170px;
  margin:0 auto;
}

header .nav-list>li>a{
  font-size:0.929em;
  font-weight:700;
  color:white;
  display:block;
  padding:0 9px 0 7px;
  line-height:42px;
  position: relative;
}

header .nav-list>li>a:hover{
  background:#027fe9;
}

header .nav-list>li>a:hover i{
  color:black;
}

header .nav-list>li:last-child{
  margin-left:15px;
  margin-right:1px;
}

header .nav-list>li>a>i{
  position:absolute;
  right:4px;
  top:51%;
  font-size:0.8em;
  color:#cfa411;
  transform:translateY(-50%);  
}

header .nav-list>li{
  position:relative;
}

header .submenu-container{
  position:absolute;
  width:max-content;
  left:0;
}

header .submenu{
  box-shadow: 0 6px 12px rgba(0,0,0,0.175);
  background:#191f36;
  min-width:250px;
}

header .submenu a{
  display:block;
  line-height:20px;
  padding:6px 15px;
  color:white;
}

header .submenu a:hover{
  background:#098ffe;
  color:black;
}

header .nav-list> li:hover .submenu-container{
  display:block;
}

header .drop-down-button{
  display:flex;
  justify-content: center;
}

header #call-us-drop-select{
  display:flex;
  align-items: center;
  justify-content: center;
  width:177.5px;
  height:37.5px;
  background: #4696ca;
  text-align: center;
  border-radius:10px;
  color:white;
  font-size:16px;
  font-weight:700;
  padding-right:7px;
}

header.call-now-selected-option-active .drop-down-text{ 
  display:block;
}

header .drop-down-text{
  display:none;
  margin-bottom:37px;
}

header .address-line{
  color:rgb(51,51,51);
  font-size:20px;
  font-weight:700;
  line-height:20px;
  margin-top:17px;
}

@media only screen and (min-width:992px){
  header .fake-space-below-header{
    height:33px;
  }
}

@media only screen and (max-width:1199px){
  header .inner-top-section,
  header .inner-lower-section{
    max-width:970px;
  }

  header .nav-list{
    flex-wrap: wrap;
    max-width: 800px;
    justify-content: end;
  }

  header .desktop-full-width-view-only{
    margin-right:0px;
    margin-top:40px;
  }

  header .welcome-pay-column{
    display:flex;
  }

  header .column-3{
    margin-left:18px;
  }

  header .locations-list{
    margin-right:28px;
  }

  header .welcome-call-list a{
    font-size:1.143em;
  }

  header .welcome-call-list a i{
    font-size:1em;
  }

  header .drop-down-button{
    justify-content: end;
    max-width:280px;
    margin-left:-13px;
  }
  header .phone-map-and-hours-list{
    line-height:24px;
  }
  header .drop-down-text{
    margin-bottom:42.5px;
  }
  header .phone-map-and-hours-list{
    justify-content: space-between;
  }
  header .locations-welcome-online-bill-pay-social-outer-wrapper{
    margin-left:275px;
    margin-top:3px;
  }
  header .welcome-call-list li{
    text-align: left;
  }
  header .address-line{
    font-size:16px;
  }
  header .welcome-call-list>li>a{
    margin-left:-10px;
  }
  header .welcome-call-list a i.fa-arrow-circle-o-right{
    font-size:1.05em;
  }

  header .locations-welcome-online-bill-pay-social-outer-wrapper{
    row-gap:6px;
  }

  header .top-section{
    padding-bottom:8px;
  }

  header .nav-list>li>a{
    font-size:0.643em;
    padding:0 15px;
  }
  header .nav-list>li>a>i{
    font-size:1.2em;
    right:4px;
  }
  header .nav-list>li:last-child{
    margin-right:0;
    margin-left:4px;
  }
}

@media only screen and (max-width:991px){
  header .inner-top-section, header .inner-lower-section{
    max-width:750px;
  }

  header .desktop-full-width-view-only.desktop-only{
    display:none;
  }

  header .column-3{
    margin-left:auto;
  }

  header .locations-welcome-online-bill-pay-social-outer-wrapper,
  header .welcome-pay-column,
  header .welcome-call-list{
    display:grid;
  }

  header .desktop-full-width-view-only{
    margin-bottom:20px;
  }
  header .desktop-full-width-view-only{
    display:flex;
    justify-content: end;
  }

  header .welcome-call-list a i{
    font-size:0.8em;
  }

  header .nav-list>li>a{
    white-space: nowrap;
  }
  header .nav-list>li:last-child{
    margin-left:24px;
  }
  header .nav-list{
    max-width:625px;
  }
  header .logo-column img{
    width:151.977px;
    height:125px;
  }
}

/* mobile header styles */
@media only screen and (max-width:767px){
  header .phone-bill-pay-li,
  header .third-breakpoint-desktop-social-column,
  header .locations-row,
  header .main-nav-column,
  header .mobile-submenu-container,
  header .social-links-wrapper{
    display:none;
  }
  header .call-us-button{
    visibility: hidden;
  }
  header .mobile-only.online-bill-pay-column{
    display:block;
  }
  header .pay-bill-wrapper a{
    width:160px;
    height:38px;
    margin-top:41px;
    margin-right:5px;
  }
  header .locations-welcome-online-bill-pay-social-outer-wrapper{
    margin-left:0;
  }
  header .column-3{
    margin-left: 0;
  }
  header .right-column{
    justify-content: end;
  }
  header .locations-column{
    max-width:218.5px;
    text-align: right;
  }
  header .welcome-call-list li{
    text-align: right;
  }
  header .welcome-call-list>li:first-child{
    line-height:20px;
  }
  header .welcome-call-list a{
    font-size:20px;
    font-weight:700;
    line-height:20px;
  }
  header .locations-column{
    max-width:100%;
  }
  header .locations-column{
    width:50vw;
    margin-left:auto;
    margin-right:auto;
    padding-left:150px;
  }
  header .pay-bill-wrapper a,
  header .desktop-full-width-view-only{
    margin-top:0;
  }
  header .welcome-call-list>li>a{
    margin-left:auto;
  }
  header .locations-column{
    margin-top:-10px;
  }
  header .welcome-call-list a i.fa-arrow-circle-o-right{
    font-size:0.8em;
  }
  header .address-line{
    font-size:20px;
    line-height:20px;
    padding:0 15px;
  }
  header .phone-map-and-hours-list{
    flex-direction: column;
    padding:0 15px;
  }
  header .mobile-call-us-expansion-button-row{
    display:flex;
    justify-content: space-between;
    margin-left:155px;
    height:46px;
    align-items: center;
  }
  header .mobile-expansion-column{
    padding:0 15px;
  }
  header .mobile-nav-list>li>a{
    display:block;
    padding:0 15px;
    line-height:42px;
    font-weight:600;
    font-size:0.857em;
    color:white;
  }
  header .mobile-nav-list>li>a:hover{
    background:#027fe9;
  }
  header .mobile-nav-list>li>a:hover i{
    color:black;
  }
  header .mobile-nav-list>li>a.mobile-submenu-header{
    line-height:42.5px;
  }
  header .mobile-nav-list>li>a i{
    color:#f5c00b;
    margin-left:4px;
  }
  header .top-section{
    padding-bottom:16px;
  }
  header .call-us-button a{
    display:flex;
    align-items: center;
    justify-content: center;
    max-width:126.77px;
    width:100%;
    column-gap:5px;
    background-color: #ffffff;
    color:black;
    font-size:1.286em;
    border:1px solid black;
    height:37.71px;
  }
  header .call-us-button a:hover{
    border-color:white;
    background:black;
    color:white;
  }
  header .call-us-button{
    width:100%;
  }
  header .logo-column{
    width:145px;
    height:160px;
  }
  header .inner-top-section,
  header .inner-lower-section{
    max-width:100%;
  }
  header .inner-lower-section{
    display:block;
  }
  header .logo-column img{
    max-width:145px;
    max-height:125px;
    width:100%;
    height:100%;
  }
  header .expansion-button{
    height:38px;
    width:43px;
    display:flex;
    align-items: center;
    justify-content: center;
    color:white;
    background:none;
    font-size:1.9em;
    margin-right:10px;
  }

  header .expansion-button:hover{
    color:#027fe9;
  }

  header .second-breakpoint-desktop-online-bill-pay-wrapper{
    text-align: right;
    margin-top:0;
    margin-right:6px;
  }

  header .right-column{
    padding-top:44px;
    padding-right:10px;
  }

  header .mobile-expansion-row{
    display:block;
    max-height:0;
    overflow: hidden;
    transition:0.3s linear;
  }

  header.skin-nav-menu-opened .mobile-expansion-row{
    max-height:900px;
  }

  header .submenu-opened .mobile-submenu-container{
    display:block;
  }

  header .mobile-submenu-container a{
    line-height:20px;
    background: #191f36;
    color: #ffffff;
    display:block;
    padding:5px 15px 5px 25px;
  }

  header .mobile-submenu-container a:hover{
    background:#098ffe;
    color:black;
  }
  header .desktop-full-width-view-only{
    margin-bottom:0;
  }
  header .social-column{
    display:flex;
    align-items: end;
   
  }
  header .drop-down-text{
    margin-bottom:35px;
  }
  header .right-column{
    display:block;
  }
  header .social-column.third-breakpoint-desktop-social-column{
    display:none;
  }
}

@media only screen and (max-width:500px){
  header .locations-column{
    transform:translateX(-20px);
  }
}

@media only screen and (max-width:400px){
  header .locations-column{
    transform:translateX(-45px);
  }
  header .right-column{
    padding-top:10px;
  }
  header.call-now-selected-option-active .drop-down-text{
    margin-left: -20px;
    margin-right:- 20px;
  }
}

/* footer styles */

footer {
  font-family: 'Montserrat', sans-serif;
}

footer ul{
  list-style:none;
}

footer .footer-container {
  display: block;
  background:#0f1321;
  padding:38px 0 30px;
}

footer * {
  margin: 0;
}

footer .inner-footer-container{
  max-width:1170px;
  margin:0 auto;
  padding:0 15px;
}

footer .location-buttons-list{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  /* column-gap:12px; */
  margin:0 -15px;
  margin-bottom:15px;
  row-gap:10px;
}

footer .location-buttons-list li{
  margin:0 5px;
}

footer .location-buttons-list button{
  color:white;
  background:#252525;
  display:block;
  width:100%;
  padding:10px;
  line-height:20px;
}

footer h2{
  margin:0;
  padding:0;
  border:none;
  font-size:1em;
}

footer h2 button{
  background:none;
  font-size:1.429em;
  color:#f7c20c;
  line-height:1;
  margin-bottom:15px;
  font-weight:600;
  text-transform: uppercase;
}

footer .inner-lower-row{
  display:flex;
}

footer a:hover,
footer a:focus{
  text-decoration: none;
}

footer .contact-us-column ul li{
  color:white;
  font-size:0.929em;
  font-weight:600;
  line-height:1;
  margin-bottom:10px;
}

footer .inner-lower-row>div{
  margin:0 15px;
}

footer .inner-lower-row>div:not(:first-child){
  margin-left:103px;
}

footer .contact-us-column ul li a{
  color:white;
}

footer .facebook-wrapper{
  line-height:1;
}

footer .facebook-wrapper a{
  color:#0071AF;
  font-size:2.143em;
}

footer .quick-links-column ul{
  margin-top:-1px;
  margin-left:-3px;
}

footer .quick-links-column ul li{
  font-weight:600;
  font-size:0.929em;
  line-height:1;
  margin-bottom:11px;
  margin-left:2px;
}

footer .quick-links-column ul li a{
  color:white;
}

footer .quick-links-column ul li a i{
  color: #469ae2;
  font-size:0.7em;
  margin-right:5px;
}

footer .hours-column ul li{
  color:white;
  font-size:0.929em;
  line-height:1;
}

footer .hours-column ul li>*{
  margin-bottom:10px;
}

footer .hours-column ul li span{
  display:block;
  font-weight: 600;
  color:#949498;
}

footer h3{
  font-size:1em;
  font-weight:600;
  line-height:1;
}

footer .social-list{
  display:flex;
  column-gap:9px;
}

footer .inner-lower-row>div.social-column{
  margin-left:190px;
  margin-right:0;
}

footer .social-list li a{
  font-size:1.5em;
  transition:0.12s linear;
}

footer .social-list li:nth-child(1) a{
  color:#007ec6;
}

footer .social-list li:nth-child(2) a{
  color: #517fa4;
}

footer .social-list li:nth-child(3) a{
  color:white;
}

footer .inner-footer-container .social-list li a:hover{
  color:white;
}

footer .inner-footer-container .social-list li:nth-child(3) a:hover{
  color:#ed1e26;
}

footer .newsletter-wrapper a{
  color: white;
  font-weight: 600;
  font-size: 0.929em;
  display: inline-flex;
  align-items: end;
}

footer *{
  white-space: nowrap;
}

footer .newsletter-wrapper a i{
  font-size:1.4em;
  margin-right:10px;
  color:#007ec6;
}

footer .newsletter-wrapper a:hover{
  color:#f7c20b;
}

footer .newsletter-wrapper a:hover i{
  color:white;
}

footer .newsletter-wrapper a,
footer .newsletter-wrapper a i{
  transition:0.12s linear;
}

footer .newsletter-wrapper{
  margin-top:5px;
}

footer .stellar-row{
  text-align: center;
  font-weight: bold;
  margin-top:15px;
}

footer .stellar-row a{
  color:white;
  transition:0.12s linear;
}

footer .stellar-row a:hover{
  color:#469ae2;
}

footer .location-buttons-list .active{
  background:#017fea;
}

footer .location-buttons-list .active:hover{
  cursor:default;
}

footer .location-buttons-list .active:hover,
footer .location-buttons-list button:hover,
footer .location-buttons-list button:focus,
footer .location-buttons-list .active:hover{
  background:#0660af;
  
}

footer .contact-us-column .column-container{
  min-width:172.414px;
}

footer .column-container a{
  transition:0.13s linear;
}

footer  .column-container a:hover{
  color:#469ae2;
}

footer .quick-links-column .column-container a i{
  transition:0.13s linear;
}

footer .quick-links-column .column-container a:hover i{
  color:white;
}

footer .location-header{
  display:none;
}

footer .contact-us-column .column-container .facebook-wrapper a{
  transition:0.1s linear;
}

footer .contact-us-column .column-container .facebook-wrapper a:hover{
  color:white;
}

footer:not(.south-portland-active) .social-list>li:first-child{
  display:none;
}

footer .mobile-menu-button:hover{
  cursor:default;
}

@media only screen and (max-width:1199px){
  footer .inner-footer-container{
    max-width:970px;
  }
  footer .inner-lower-row>div:not(:first-child){
    margin-left:0;
  }
  footer .inner-lower-row>div.quick-links-column{
    margin-left:83px;
  }
  footer .inner-lower-row>div.hours-column{
    margin-left:83px;
  }
  footer .inner-lower-row>div.social-column{
    margin-top:190px;
    margin-left:30px;
  }
  footer .stellar-row{
    margin-top:-21px;
  }
  footer .footer-container{
    padding-bottom:25px;
  }
  footer .newsletter-wrapper a{
    align-items: center;
  }
}

@media only screen and (max-width:991px){
  footer .inner-footer-container{
    max-width:750px;
  }
  footer .footer-container{
    padding-bottom:45px;
  }
  footer .inner-lower-row>div,
  footer .inner-lower-row>div.quick-links-column,
  footer .inner-lower-row>div.hours-column,
  footer .inner-lower-row>div.social-column{
    margin:0 15px;
  }
  footer .inner-lower-row{
    display:grid;
    grid-template-columns:50% 50%;
    row-gap:27px;
  }
  footer .hours-column{
    grid-column-start: 2;
  }
  footer .social-list li a{
    font-size:2.2em;
  }
  footer .social-list{
    column-gap:8px;
    align-items: center;
  }
  footer .social-list li:last-child a{
    font-size:1.8em;
  }
  footer .newsletter-wrapper{
    margin-top:0;
  }
  footer .stellar-row{
    margin-top:-26px;
    text-align: right;
  }
}

@media only screen and (max-width:767px){
  footer .inner-footer-container{
    max-width:100%;
    padding:0;
  }
  footer .location-buttons-list{
    margin:0;
    grid-template-columns:100%;
    margin:0 5px;
    row-gap:5px;
  }
  footer .column-container{
    max-height:0;
    overflow: hidden;
  }
  footer .inner-lower-row{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap:8px;
    margin-top:20px;
    text-align: center;
  }
  footer .social-list{
    justify-content: center;
    margin-top:-4px;
  }
  footer .stellar-row{
    margin-top:13px;
    text-align: center;
  }

  footer .facebook-wrapper a{
    font-size:1.9em;
  }

  footer .submenu-opened .column-container{
    max-height:9999px;
    margin-bottom:13px;
  }

  footer .mobile-menu-button{
    transition:0.1s linear;
    display:block;
    width:100%;
  }

  footer .mobile-menu-button:hover{
    color:#027fe9;
    cursor: pointer;
  }

  footer .inner-lower-row>div{
    width:100%;
    text-align: center;
  }

  footer.south-portland-active .location-header,
  footer:not(.south-portland-active) .contact-us-header{
    display:none;
  }

  footer:not(.south-portland-active) .location-header{
    display:block;
  }
}