/*!
 * Bootstrap Grid v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

/*# sourceMappingURL=bootstrap-grid.min.css.map */







a {
    color: #1b4ac5;
}

button:focus, a:focus, .btn:focus {
    outline: none;
    box-shadow: none;
}

.btn-link,
p.btn-link {
    color: #1B4AC5;
}

.form-control:focus,
select:focus {
    box-shadow:none !important;
    border-color: #ced4da;
}

.blue-color { color: #1b4ac5; }
.w-20 { width: 20%; }
.w-70 { width: 70%; }
.indent-line { display: inline-block; text-indent: 26px; }
.border-yellow {
    background-color:#f8d000;
    height: 4px;
    border-top: 0;
}
.smaller-font {font-size: 0.7rem;}

/*HEADER SECTION*/

.header-top {
    background-color: #01155a;
    color: white;
}

.header-top .logo-cc {
    text-indent: -9999px;
    background:url('../images/logo-cc.jpg') no-repeat;
    max-width: 267px;
    width: 100%;
    height: auto;
    min-height: 50px;
    display: block;
    background-size: contain;
} 

/*NAV BREADCRUMBS*/
ol.breadcrumb {
    background-color: transparent;
}

ol.breadcrumb .breadcrumb-item::before {
    content:'\003e';
    font-family: 'Segoe UI Semibold';
    font-weight: 500;
}

ol.breadcrumb .breadcrumb-item:first-child::before {
    content:'';
}

ol.breadcrumb .breadcrumb-item,
ol.breadcrumb .breadcrumb-item a {
    font-family: 'Segoe UI Semibold', sans-serif;
}

ol.breadcrumb .breadcrumb-item.active {
    color: #232323;
}

ol.breadcrumb .breadcrumb-item a:hover {
    text-decoration: none;
}

.store-locator h1 {
    font-size: 1.6rem;
}

.search-section .btn {
    background-color: #1b4ac5;
}

.thumb-location {
    max-height: 900px;
}

.thumb-location .card,
#listingDiv .item {
/*    border: none;*/
    overflow: visible;
}

.thumb-location .card::before,
#listingDiv .item::before {
    content: '';
    width: 94%;
    height: 1px;
    background-color: #eee;
    display: block;
    position: absolute;
    top:0;
    left: 0;
}

/*#listingDiv .item {
    position: relative;
}*/

.thumb-location .card:first-child::before,
#listingDiv .item:first-child::before {
    height: 0;
    display: none;
}


.thumb-location .card-title,
#listingDiv .item > a {
    position: relative;
    color: #1b4ac5  ; 
    padding-left: 15px;
    font-size:1.25rem;
}

a.text-blue {
    color: #1b4ac5;
    font-weight: 600;
}

/*.thumb-location .card-title::before,
#listingDiv .item .title::before {
    counter-increment: section;
    content: counter(section);
    position: absolute;
    right: 98%;
    color: white;
    background: url('../images/marker-locator.png') no-repeat top center;
    width: 24px;
    height: 33px;
    text-align: center;
    font-size: 0.9rem;
    padding-top: 2px;
}*/

#listingDiv .item a img {
    position: absolute;
    left:-16px;
    top: -3px;
    z-index: 1;
}

#listingDiv .item:hover {
    background-color: rgba(188,188,188,0.1);
    cursor: pointer;
}

.thumb-location .card-title a:hover,
#listingDiv .item a:hover {
    text-decoration: none;
}

.thumb-location .card-body,
#listingDiv .item {
    padding: 1.25rem 0.7rem 1.25rem 1.8rem;
}

.thumb-location .card-body address,
#listingDiv .item address {
    font-size: 1rem;
    color: black;
    padding-left: 1rem;
    padding-right: 1rem;
    line-height: 1.5rem;
}

.store-detail-address > * {
    margin-bottom: 0.4em;
    display: inline-block;
}

.store-location-info > .row p {
    margin-bottom: 5px;
}

.payment-accepted-list ul li a {
    display: inline-block;
}

.payment-accepted-list ul li a img {
    max-width: 80%;
}

.payment-accepted-list ul li:first-child {
    margin-left: 14px;
}

.brand-depot {
    width: 20%;
}

.brand-depot .centered{
    margin: 0 auto;
    max-width: 170px;
}

.brand-depot .centered a {
    margin-bottom: 1.2rem;
    display: block;
    text-align: center;
    min-height: 52px;
}

.nearby-stores .card {
    border: none;
}

.nearby-stores .card .card-body {
    padding: 1.25rem 0;
}

.nearby-stores .card-body .card-text.position-relative::before {
    content: '\f041';
    font-family: 'FontAwesome';
    position: absolute;
    right: 96%;
}

.nearby-stores .card-title {
    font-size: 1rem;
    font-family: 'Segoe UI Semibold', sans-serif;
    color: black;
}

.nearby-stores .card-text {
    font-size: 0.8rem;
    padding-left:14px;
}

@media screen and (max-width: 767px) {
    .store-location-info > div {
        border-radius: 17px;
        border: 1px solid #1b4ac5;
    }
    #app {min-height:auto;}
}

@media screen and (max-width: 575px) {
    .payment-accepted-list ul {
        padding-left: 10px;
        padding-right: 10px;
    }
    .payment-accepted-list ul li { 
        display: inline-block; 
        margin-bottom: 10px;
    }
    .brand-depot {
        margin: 0 auto 3rem;
    }
}

@media screen and (max-width: 250px) {
    .payment-accepted-list ul {
        margin: 0 auto;
    }
    .payment-accepted-list ul li {
        display: block;
    }
}

@media screen and (max-width:295px) {
    .header-top .logo-cc {
        min-height: auto;
    }
}

/*Store Info Detail Show/Hide*/

.store-info-detail {
    border: 1px solid #e5e5e5;
    top: 0;
    left: 100%;
    z-index: 1001;
    background-color: white;
    position: absolute;
    min-height: 900px;

    min-width: 348px;
    max-width: 348px;

  
}

.store-info-detail h3 {
    font: 18px 'Segoe UI Bold', sans-serif;
    color: white;
    background-color: #1b4ac5;
    padding: 13px;
    margin-bottom: 0;

    -webkit-user-select: none; /* Safari */
            user-select: none; /* Every other browser */      
}

.store-info-detail address {
    padding: 30px 20px;
    font-size: 16px;
}

.store-info-detail address span {
    color: #333;
}

.store-info-detail .address-container {
/*    display: table;*/
    margin-left: 20px;
    margin-right: 20px;
}

.store-info-detail .address-row {
    display: table-row;
}

.store-info-detail .address-cell {
    display: table-cell;
    padding-left: 4px;
    padding-right: 4px;
    font-size: 16px;
}

.store-info-detail .address-cell span {
    line-height: 1.5rem;
}

.store-info-detail .address-cell > ul {
    border-spacing: 0px 7px;
}

.store-info-detail p a,
.store-info-detail span a { color: #1b4ac5; }

.close-this {
    float:right;
    display: block;
}


.leaflet-popup-content-wrapper {border-radius: 0;}
.leaflet-popup-content {margin:0; line-height:0;width:auto;}
.leaflet-popup-content .store-info-detail {top: calc(100% - 47vh);left: auto;}
.leaflet-popup-tip-container { opacity:0; visiility:hidden; }
.leaflet-top.leaflet-left {display: none; opacity: 0; visibility: hidden;}

.text-smaller {
    font-size: 12px;
}

.clip-text {
    text-overflow: ellipsis;
    overflow: hidden;
}

/* Leaflet Map Content  */
.quiet {
    color: #888;
}

.map {
    position: absolute;
    /* left: 33.3333%; */
    /*width: 66.6666%;*/
    top: 0;
    bottom: 0;
}

/* #listingDiv {
    overflow: auto;
    float: left;
  } */

  .listings {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 60px;
  }

  .listings .item {
    display: block;
    border-bottom: 1px solid #eee;
    padding: 10px;
    text-decoration: none;
  }

  .listings .item:last-child {
    border-bottom: none;
  }

  .listings .item .title {
    display: block;
    color: #1b4ac5;
    font-weight: 700;
    margin-bottom: 10px;
  }

  .listings .item .title small {
    font-weight: 400;
  }

  .listings .item.active .title,
  .listings .item .title:hover {
    color: #1b4ac5;
    text-decoration: none;
  }
  /*#8cc63f*/

  .listings .item.active {
    background-color: #f8f8f8;
  }

  #storeinfo {
    padding: 10px 10px 20px 10px;
    display: none;
    background-color: gainsboro;
  }

   #app ::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    border-left: 0;
    background: rgba(0, 0, 0, 0.1);
  }

   #app ::-webkit-scrollbar-track {
    background: none;
  }

   #app ::-webkit-scrollbar-thumb {
    background: #1b4ac5;
    border-radius: 0;
  }

  #app .btn {
    background-color: #1b4ac5;
  }

  #app {min-height:919px;}

  /* .clearfix {
    display: block;
  }

  .clearfix:after {
    content: '.';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  } */

  .clear-float {
    clear: both;
  }

  .leaflet-container .leaflet-marker-icon {
    cursor: pointer;
  }

  .leaflet-popup h2 {
    font-size: 0.9rem;
  }


  .leaflet-container a.leaflet-popup-close-button {
    top: -421px;
    right: -256px;
    z-index: 1001;
    color:white;
    font: 26px/14px Tahoma, Verdana, sans-serif;
  }

  .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
/*    position: fixed;*/
/*    transform: none !important;*/
    left: calc(100vw / -3.39) !important;
/*    bottom: -3px !important;*/
  }

  /* #searchbox {
    width: 100%;
    height: 36px;
  }

  #search-input {
    font-size: 18px;
    width: 100%;
    margin-top: 5px;
    box-shadow: 0 1px lightgray;
    border: none;
  } */

  #closeButton {
    float: right;
  }

  #closeButton:hover,
   :focus {
    color: #b74042;
    cursor: pointer;
    /*padding: 5px;*/
  }

  #searchIcon:hover,
   :focus {
    color: inherit;
    cursor: pointer;
  }

  #infoClose {
    float: right;
  }

  #searchIcon {
    float: right;
    font-size: 16px;
    /* margin-top: 1px; */
  }

.map-trigger {
    width: 100%;
    cursor: pointer;
    position: relative;
    z-index: 1000;
    text-align: left;
    color: #1B4AC5;
    font-size: 14px;
    font-weight: 600;
}

@media screen and (max-width:991px) {
    .map-accordion #show-map{
        min-height: 220px;
    }
    .store-info-detail {
        left: 0;
        top: -216px;
        width: 100%;
        min-height: auto;
        background-color: rgba(255,255,255,0.6);
        min-width: 100%;
        max-width: 100%;
    }
    .store-info-detail > img,
    .store-info-detail hr,
    .store-info-detail .address-container > .mb-1,
    .store-info-detail .address-container > .mb-4 { display:none; }
    .store-info-detail .address-container { padding-top: 10px !important; padding-bottom: 10px !important; }
    .store-info-detail .address-container span { font-size: 0.8rem; }
    .store-info-detail h3 { color: inherit; background-color: transparent; padding-top: 10px; padding-bottom:0;}
}

.map-accordion label::after {
    content: '\f106';
    font-family: 'FontAwesome';
    margin-left: 10px;
}

.map-accordion input.collapsed+ label::after {
    content: '\f107';
}

.map-accordion input[type="checkbox"]:checked + label + #show-map[aria-expanded="false"] {
    min-height: 0;
}


  @media screen and (min-width:601px) and (max-width: 1199px) {
    .map {
      width: 100%;
      left:0;
    }
  }

  @media screen and (max-width:600px) {
    .map {
      margin-left: 20px;
      margin-right: 20px;
      width: auto;
      right: 0;
      left: 0;
    }
  }

  @media screen and (min-width: 1200px) {
    .map {
      left: 0;
      right: 0;
    }
  }



  @media screen and (max-width:968px) {
    /* h1 {
      font-size: 1.2em;
    } */
    #searchIcon {
      font-size: 16px;
    }
  }

  @media screen and (max-width: 768px) {
    .map-accordion {
        overflow: auto;
        max-height: 250px;
    }


  }

@-moz-document url-prefix() {
    .leaflet-popup-content .store-info-detail {top:calc(100% - 45vh);}
}

#search-store, 
#province-selection,
#city-selection,
#search-postal-code {
    min-height: 48px;
    appearance: none;
}

.no-store-found p {
    color: #1b4ac5;
    font: 700 1rem 'Segoe UI Regular', sans-serif;
}

#module-storelocator-storelocation .block-social.col-12,
.block-social.col-12 {max-width: fit-content;}

.lang-qc .store-info-detail { min-width: 380px; max-width: 380px; }
.lang-qc .leaflet-container a.leaflet-popup-close-button { right: -305px; }
.lang-qc .leaflet-popup-content p { margin: 10px 0; }
.lang-qc .store-info-detail .address-container { padding-top: 10px !important; padding-bottom: 10px !important; }
.item[tabindex="0"]:focus-visible{
    outline-offset: -3px;
}