
*{
  font-family: "open sans";
}

.header_logo{
  display: flex;
}

.header-logo-img{
  position: relative;
  height: 35px;
  width: 70px;
  margin-right: 0.5em;
}

.content_container{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 0 2em;
  margin-top: 5em;
}

.business-page-container, .area_page_container, .category_page_container{
  margin-top: 7em;
}

.breadcrumb_container{
  margin-top: 2em;
}

.breadcrumb_wrapper span+span:before {
     content: '\\';
     padding: 0 0.5em;
 }

 .text-primary{
   color: #2C87F0;
 }

 .primary_btn{
   background-color: #2C87F0;
   color: #fff;
   border: solid 2px #2C87F0;
   padding: 0.25em;
   border-radius: 4px;
   font-weight: 500;
   font-size: 1.1em;
   cursor: pointer;
 }

 .min_70vh{
   min-height: 70vh;
 }

 .primary-bg{
   background-color: #2C87F0;
   color: #fff;
 }

 .text-bold{
   font-weight: bold;
 }

 .align-justify{
   text-align: justify;
 }

 .content_container .page-heading{
   text-align: center;
 }

 .full-page-maps-container{
   width: 100%;
   height: 50vh;
   position: relative;
 }

 .main-sidebar {
      height:100%;  width:200px;
      position:fixed; top:0; left:0;
      z-index:10000000000000;  
      overflow-x:hidden; 
      padding-top:20px;
      background-color:#f2f2f2;
      transition: all 0.5s;
    }

.sidemenuRight {
       height:100vh;
      position:fixed; top:0; right:0;  
      overflow-x:hidden; 
      background-color: #000;
      opacity: 0.3;
      transition: all 0.5s;
      z-index: 100;
    }

 .carousel-container{
   padding: 1.5em 0;
 }


 .star_rating_container{
  display: flex;
  align-items: center;
}

.star_rating_wrapper{
  color: #ffd80e;
  font-size: 1.5em;
}

.star_rating_numbers{
  margin: 0 1em;
}

.justify_space_arround{
  justify-content: space-around;
}

.align-center{
  text-align: center;
}

.align-right{
  text-align: right;
}

.align-left{
  text-align: left;
}

.btn-transparent{
  background: none;
  border: none;
  cursor: pointer;
}

ul.simple-ul-list{
  margin: 0;
}

ul.simple-ul-list .simple-ul-item{
  margin: 0.5em 0;
}


 @media screen and (max-width: 1240px){
   .content_container{
     padding: 0 2% 2em;
   }
 }

@media screen and (max-width: 768px){
  .carousel-container .carousel-item picture{
    width: 100%;
  }

  .carousel-container .carousel-item picture img{
    max-height: 350px;
    width: 100%;
    object-fit: cover;
  }
 }

.sidebar-list{
  padding: 1em;
  list-style: none;
}

.sidebar-close{
  font-size: 1.5em;
  border: none;
  background: none;
  margin: 0.5em;
  outline: none;
}

.sidebar-list li{
  padding: 1em 0.5em;
  border-bottom: solid 1px rgba(0,0,0,0.08);
}

.sidebar-list li a{
  text-decoration: none;
  color: #2C87F0;
  font-weight: bold;
}
.title_description_container{
  padding: 1em 0;
}

.title-description-head{
  display: flex;
  align-items: center;
}

.title-description-head .icon{
  margin-right: 0.5em;
}

.title-description-head .icon img{
  height: 32px;
  width: 32px;
}

.title_description_container .title{
  font-size: 1.17em;
  font-weight: 700;
}

.title_description_container h1.title
{
  font-size: 1.5em;
  text-align: center;
}

.title_description_container .description_wrapper{
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}


.description{
  text-align: justify;
  overflow-wrap: anywhere;
  width: 100%;
  margin: 1em 0;
}

.description .links{
  color: #2c87f0;
}

.description a{
  color: #2c87f0;
  text-decoration: none;
  font-weight: bold;
}

.title_description_container .title_description_see_more{
  text-align: center;
  padding: 1em;
}

.title_description_container .title_description_see_more button{
  border: none;
  background: #0d6efd;
  color: #fff;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / 15%);
  font-weight: 700;
  padding: 0.6em 2em;
  border-radius: 11px;
  cursor: pointer;
  margin-top: 0.5em;
  outline: none;
}

.title_description_container .title_description_see_more button:hover{
  background: #1655b3;
}

.title_description_container .title_description_see_more a{
  border: none;
  background: #0d6efd;
  color: #fff;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / 15%);
  font-weight: 700;
  padding: 0.6em 2em;
  border-radius: 11px;
  cursor: pointer;
  margin: 0.5em;
  outline: none;
  text-decoration: none;
  display: inline-block;
}

.title_description_container .title_description_see_more a:hover{
  background: #1655b3;
}

.title_description_container .title_description_see_more a .icon{
  color: #fff;
}

.title_description_container iframe{
  border: none;
}

.heading{
  margin: 0;
}


@media screen and (max-width: 650px)
{
  .description_wrapper{
    flex-flow: column;
  }

}

@media screen and (max-width: 650px)
{
  .title_description_container .title_description_see_more a{
    padding: 0.3em 2em;
  }
}
.pills_item_wrapper{
  display: flex;
  flex-wrap: wrap;
}

.pills_item_wrapper a{
  text-decoration: none;
  color: #fff;
}

.pills_item {
    background-color: #2c87f0;
    padding: 0.5em 1em;
    border-radius: 4px;
    margin: 0.5em;
}

.pills_item_container .pills_section_see_more{
  text-align: center;
  padding: 1em;
}

.pills_item_container .pills_section_see_more button{
  border: none;
  background-color: #fff;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / 15%);
  padding: 0.5em 3em;
  border-radius: 20px;
  cursor: pointer;
  margin-top: 0.5em;
  outline: none;
}


.label-quote-list-wrapper{
  padding: 1em;
}

.label-quote-list-item{
  display: flex;
  align-items: center;
  margin: 0.5em 0;
}

.label-quote-list-item.bulleted:before{
  content: "●";
  color: #2c87f0;
  padding-right: 0.5em;
}

.label-quote-icon{
  margin-right: 0.5em;
}

.label-quote-icon img{
  height: 26px;
  width: 26px;
}



.label-quote-list-item .label-quote-label a{
  text-decoration: none;
  color: #2c87f0;
  font-weight: bold;
  text-transform: capitalize;
}

.label-quote-list-item .label-quote-link{
  font-size: 0.9em;
  color: #666;
  padding: 0 0.5em;
}

.label-quote-list-container .label-quote-list-container-see-more{
  text-align: center;
  padding: 1em;
}

.label-quote-list-container .label-quote-list-container-see-more button{
  border: none;
  background-color: #fff;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / 15%);
  padding: 0.5em 3em;
  border-radius: 20px;
  cursor: pointer;
  margin-top: 0.5em;
  outline: none;
}

.label-quote-list-container .label-quote-list-container-see-more a{
  border: none;
  background: #0d6efd;
  color: #fff;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / 15%);
  font-weight: 700;
  padding: 0.6em 2em;
  border-radius: 11px;
  cursor: pointer;
  margin: 0.5em;
  outline: none;
  text-decoration: none;
}

.label-quote-list-container .label-quote-list-container-see-more a.see-more-anchor{
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  margin: 0;
  color: #2c87f0;
  font-weight: bold;
  background: none;
}

.label-quote-list-container .label-quote-list-container-see-more a .icon{
  color: #fff;
}

@media screen and (max-width: 767px)
{
  .label-quote-list-wrapper{
    padding: 0;
  }
}
.review_item{
  position: relative;
}
.reviews .checked{
  color:#ffd700;
  padding: 2px;
  margin-left: 5px;
}
.review_user{
  position: relative;
}
.review_container{
  float: right;
}
.faq_container{
  padding: 1em 0;
}

.faq_container .title{
  font-size: 1.17em;
}

.faq_wrapper{
  padding: 0 0.5em;
  display: flex;
  flex-wrap: wrap;
  flex-flow: column;
}

.faq-container-head{
  display: flex;
  align-items: center;
}

.faq-container-head .icon{
  margin-right: 0.5em;
}

.faq-container-head .icon img{
  height: 32px;
  width: 32px;
}

.faq_wrapper .faq_item{
  margin: 0.5em 0;
  position: relative;
  box-shadow: 0 0 16px -6px rgb(0 0 0 / 20%);
  padding: 1em;
  border-radius: 4px;
  border-left: 4px solid #2c87f0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.faq_item .faq_question{
  font-weight: bold;
  margin-left: 1.2em;
  overflow-wrap: anywhere;
  display: flex;
  align-items: center;
}

.faq_question .icon{
  margin-right: 0.5em;;
}

.faq_question .icon img{
  height: 28px;
  width: 28px
}

.faq_item .faq_answer {
    padding-left: 1.2em;
    overflow-wrap: anywhere;
    color: #333;
    display: flex;
    align-items: center;
}

.faq_answer .icon{
  margin-right: 0.5em;
}

.faq_answer .icon img{
  height: 28px;
  width: 28px;
}

.faq-answer-txt.inside-quotes:before{
  content: "\201C";
  font-size: 1.5em;
}

.faq-answer-txt.inside-quotes:after{
  content: "\201D";
  font-size: 1.5em;
}

@media screen and (max-width: 600px){
  .faq_wrapper{
    padding: 0;
  }

  .faq_item .faq_answer, .faq_item .faq_question{
    padding-left: 0;
    margin-left: 0;
  }
}
.header_container{
  padding: 1em 0;
  box-shadow: 0 0 10px 10px rgb(0 0 0 / 20%);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 100;
}

.header_logo_txt a{
  font-family: "bebas neue";
  font-size: 1.8em;
  color: #000;
  text-decoration: none;
}

.header_wrapper{
 max-width: 1240px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.desktop_nav_container ul{
 margin: 0;
 padding: 0;
 list-style: none;
 display: flex;
}

.desktop_nav_container ul li a{
 text-decoration: none;
 color: #000;
 padding: 0 1em;
 display: flex;
 transition: 0.2s;
 align-items: center;
}

.desktop_nav_container ul li a .icon img{
  height: 32px;
  width: 32px;
}

.desktop_nav_container ul li a span.icon{
  padding-right: 0.5em
}

.desktop_nav_container ul li a:hover{
  color: #2C87F0;
}

.mobile-sidebar-show-button{
  display: none;
  margin-right: 2%;
}

.mobile-sidebar-show-button button{
  border: none;
  background: none;
  font-size: 1.5em;
}

@media screen and (max-width: 1240px){
  .header_logo{
    margin-left: 2%;
  }
}

@media screen and (max-width: 1024px)
{
  .desktop_nav_container{
    display: none;
  }

  .mobile-sidebar-show-button{
    display: block;
  }
}
.footer_container{
  padding: 2em 0;
  background-color: #2C87F0;
  width: 100%;
  position: absolute;
  left: 0;
}

.text-white{
  color: #fff;
}

.footer_wrapper{
  display: flex;
  flex-wrap: wrap;
  padding: 0 2em;
}

.footer_item{
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

.footer_item.full-width-item{
  width: 100%;
  color: #fff;
}

.footer_item.full-width-item span{
  margin: 0 3px;
}

.footer_container .line-list{
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.footer_container .line-list-item{
  margin: 0.5em;
}

.footer_container .line-list-item:not(:first-child):before{
  content: "|";
  color: #fff;
}

.footer_container .line-list-item a{
  text-decoration: none;
  color: #fff;
}

@media screen and (max-width: 600px)
{
  .footer_wrapper{
    flex-flow: column;
  }

  .footer_item{
    text-align: center;
  }

  .footer_container .line-list{
    flex-flow: column;
  }

  .footer_container .line-list-item:not(:first-child):before{
    content: none;
  }

  .footer_item.full-width-item{
    flex-wrap: wrap;
  }

  .footer_item.full-width-item span{
    margin: 0;
    width: 100%;
  }
}.businessCardWrapper {
    position: relative;
}

.business-card-container {
    position: absolute;
    background: #fff;
    z-index: 1;
    box-shadow: 0 0 8px -2px;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    padding: 1em;
    max-width: 450px;
    min-width: 380px;
}

.business-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    padding: 0 0.5em;
    width: 45%;
}

.business-card-icon img{
    height: 130px;
    width: 130px;
}

.business-rating{
    padding: 0.5em;
}


.rating-stars {
    color: #ffc107;
}

.rating-desc{
    font-size: 0.9em;
}

.business-card-info {
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-top: 0.5em;
    font-size: 0.9em;
    flex-grow: 1;
    max-width: 200px;
}

.business-intro{
    flex-grow: 1;
    width: 100%;
    display: flex;
    flex-flow: column;
}

.business-name{
    font-weight: 700;
    font-size: 1.1em;
}

.business-subheading{
    font-size: 0.9em;
    color: #333;
}

.business-card-cta {
    width: 100%;
    display: flex;
    height: 36px;
}

.business-card-info .business-card-cta a {
    border: none;
    background: #2c87f0;
    border-radius: 4px;
    color: #fff;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

.business-card-info .business-card-cta a:hover {
    color: #fff;
    background: #1655b3
}


.business-card-phone,
.business-card-email, 
.business-card-web,
a .business-card-phone,
a .business-card-email, 
a .business-card-web{
    margin: 0.5em;
    display: flex;
    word-break: break-all;
    font-size: 0.9em;
    color: #000;
}

.business-card-phone .icon, .business-card-email .icon, .business-card-web .icon {
    margin-right: 0.5em;
    color: #2c87f0;
}

@media screen and (max-width: 600px) {
    .business-card-container {
        left: 0 !important;
    }

    .business-card-container{
        max-width: 100%;
        min-width: 90%;
    }
}
.banner-img img{
    height: 225px;
    width: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.banner_title_container{
    margin-top: -40px;
}

.banner-title-icon img{
    height: 70px;
    width: 70px;
}

.banner-card-container{
    text-align: center;
}

.banner-title-card{
    display: inline-flex;
    max-width: 80%;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    padding: 1em;
    border-radius: 8px;
    margin: 0 auto;
    justify-content: center;
    margin-top: -57px;
    z-index: 1;
    position: relative;
    background: #fff;
    min-width: 600px;
    align-items: center;
    box-sizing: border-box;
}

.banner-title-icon{
    margin-right: 1em;
    display: flex;
}

.banner-title h1{
    word-break: break-all;
}

.banner-actions-options{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.banner-action-item a{
    text-decoration: none;
    color: #333;
    display: flex;
    align-items: center;
    margin: 0 0.5em;
    font-size: 0.9em;
}

.banner-action-item a:hover{
    color: #2c87f0;
}

.banner-action-item a .icon{
    margin-right: 0.3em;
    font-size: 1.5em;
}

@media screen and (max-width: 800px)
{
    .banner-title-card{
        min-width: 450px;
        max-width: 600px;
    }

    .banner-title-icon img {
        height: 50px;
        width: 50px;
    }
}

@media screen and (max-width: 600px){
    .banner-action-item a{
        margin: 0.5em;
    }
}

@media screen and (max-width: 550px){
    .banner-title-card{
        flex-flow: column;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .banner-title-icon {
        margin-right: 0;
    }
}

.tabular_section_container{
    display: flex;
    flex-wrap: wrap;
}

.tabular-column-item{
    flex-grow: 1;
    flex-basis: 0;
}

.tabular-column-head{
  display: flex;
  align-items: center;
}

.tabular-column-head .icon{
  margin-right: 0.5em;
}

.tabular-column-head .icon img{
  height: 32px;
  width: 32px;
}


.icon_label_wrapper{
    display: flex;
    align-items: center;
    max-width: 100%;
  }
  
  .icon_label_wrapper a{
    text-decoration: none;
    color: #000;
    display: flex;
    align-items: center;
  }
  
  .icon_label_wrapper .icon{
    color: #2C87F0;
    font-size: 1.5em;
  }
  
  .icon_label_wrapper .label{
    margin: 0 0.5em;
    overflow-wrap: anywhere;
  }

@media screen and (max-width: 767px)
{
    .tabular-column-item{
        flex-basis: auto;
    }
}

@media screen and (max-width: 650px)
{
    .icon_label_wrapper{
        margin: 0.5em 0;
    }
}.review-section-container {
  padding: 1em 0;
}

.review-section-head {
  display: flex;
  align-items: center;
}

.review-section-head .icon {
  margin-right: 0.5em;
}

.review-section-head .icon img {
  height: 32px;
  width: 32px;
}

.review-section-head .title {
  font-size: 1.17em;
}

.rating-wrapper{
  text-align: center;
}


.rating {
  --star-size: 3;
  /* use CSS variables to calculate dependent dimensions later */
  padding: 0;
  /* to prevent flicker when mousing over padding */
  border: none;
  /* to prevent flicker when mousing over border */
  unicode-bidi: bidi-override;
  direction: rtl;
  /* for CSS-only style change on hover */
  text-align: left;
  /* revert the RTL direction */
  user-select: none;
  /* disable mouse/touch selection */
  font-size: 3em;
  /* fallback - IE doesn't support CSS variables */
  font-size: calc(var(--star-size) * 1em);
  /* because `var(--star-size)em` would be too good to be true */
  cursor: pointer;
  display: inline-block;
  /* disable touch feedback on cursor: pointer - http://stackoverflow.com/q/25704650/1269037 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

/* the stars */
.rating>label {
  display: inline-block;
  color: #F09719;
  position: relative;
  width: 1.1em;
  /* magic number to overlap the radio buttons on top of the stars */
  width: calc(var(--star-size) / 3 * 1.1em);
}

.rating>*:hover,
.rating>*:hover~label,
.rating:not(:hover)>input:checked~label {
  color: transparent;
  /* reveal the contour/white star from the HTML markup */
  cursor: inherit;
  /* avoid a cursor transition from arrow/pointer to text selection */
}

.rating>*:hover:before,
.rating>*:hover~label:before,
.rating:not(:hover)>input:checked~label:before {
  content: "★";
  position: absolute;
  left: 0;
  color: gold;
}

.rating>input {
  position: relative;
  transform: scale(3);
  /* make the radio buttons big; they don't inherit font-size */
  transform: scale(var(--star-size));
  /* the magic numbers below correlate with the font-size */
  top: -0.5em;
  /* margin-top doesn't work */
  top: calc(var(--star-size) / 6 * -1em);
  margin-left: -2.5em;
  /* overlap the radio buttons exactly under the stars */
  margin-left: calc(var(--star-size) / 6 * -5em);
  z-index: 2;
  /* bring the button above the stars so it captures touches/clicks */
  opacity: 0;
  /* comment to see where the radio buttons are */
  font-size: initial;
  /* reset to default */
}

form.amp-form-submit-error [submit-error] {

  color: red;
}
.form-container{
  text-align: center;
}

.form-section-wrapper h3{
  font-weight: normal;
  font-size: 1.5em;
  margin-top: 0;
}


.form-section-wrapper{
  display: inline-block;
  width: 100%;
  max-width: 700px;
  border: solid 1px rgba(0,0,0,0.2);
  border-radius: 4px;
  padding: 2em;
  box-sizing: border-box;
  margin: 0.5em 0;
}

.simple-form-section-wrapper{
  max-width: 700px;
  margin: 0 auto;
}

.form-group{
  padding: 0.5em 0;
  text-align: left;
}

.form-group.align-center{
  text-align: center;
}

.inline-form-group{
  margin: 0.5em 0;
  display: flex;
  justify-content: center;
}

.col{
  display: inline-block;
  flex-grow: 1;
}

.col input{
  max-width: 98%;
}

.form-group input, .inline-form-group input, .form-group textarea, .form-group select{
  width: 100%;
  padding: 0.5em;
  font-size: 1em;
  box-sizing: border-box;
  border: solid 1px rgba(0,0,0,0.3);
}

input.width-120px{
  width: 120px;
}

.full-width{
  width: 100%;
}

.contact-form-success{
  background-color: #32c334;
  padding: 0.5em;
  margin: 0.5em 0;
  border-radius: 4px;
  color: #fff;
}

.contact-form-error{
  background-color: #ef2828;
  padding: 0.5em;
  margin: 0.5em 0;
  border-radius: 4px;
  color: #fff;
}

.form-error{
  background-color: #ef2828;
  padding: 0.5em;
  margin: 0.5em 0;
  border-radius: 4px;
  color: #fff;
  display: none;
}

.contact-form-success .reset-form{
  color: #fff;
  background: none;
  border: none;
  font-size: 1.5em;
  line-height: 1em;
  float: right;
}

.form-main-img{
  height: 100px;
}

.captcha-inline .col img, .captcha-inline .col amp-img{
  margin-right: 0.3em;
}

.captcha-inline .col input, .captcha-inline .col input{
  margin-left: 0.4em;
}

@media screen and (max-width: 600px)
{
  .form-section-wrapper{
    padding: 2em 1em;
  }
}

.modal_container{
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background: rgb(22,85,179, 0.2);
}

.modal-item{
    background: #fff;
    padding: 1em;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,0.2);
    display: none;
}

.modal-item.medium-modal{
    width: 600px;
}

.modal-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.modal-header .close-modal{
    width: 100%;
    flex-grow: 1;
    text-align: right;
}

.modal-header .icon-image img{
    height: 50px;
    margin-right: 1em;
}

.modal-header .head-title{
    flex-grow: 1;
}

.modal-header .head-title .title{
    font-size: 1.75em;
    margin: 0;
}

.modal-success{
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.modal-success-img img{
    height: 100px;
}