.important-text {
    font-style: normal;
    border-bottom: 2px solid #87d716;
}

.store-locator {
    color: #2a2a2a;

    position: relative;
}
.store-locator:before {
    width: 100%;
    height: 100%;

    content: '';
    opacity: 0;
    display: block;
    pointer-events: none;
    background-color: #eee;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;

    transition: opacity 0.4s;
}
.store-locator--busy:before {
    opacity: 0.6;
    pointer-events: all;
}
.store-locator a {
    color: #4dca0e;
}

/* HEAD BAR */
.store-locator__head-bar {
    background-color: #eee;
}
.store-locator__head-bar-container {
    max-width: 1900px;

    display: flex;
    justify-content: space-between;

    margin: auto;
    /*padding: 50px 2.5% 38px;*/
    padding: 30px 2.5% 18px;
}

/* MAP */
.store-locator__map-wrapper {
    height: 100vh;

    position: relative;
}
.store-locator__map-placeholder {
    width: 100%;
    height: 100%;

    overflow: hidden;

    position: absolute!important;
    top: 0;
    left: 0;
    z-index: 1;
}
.gm-fullscreen-control,
.gm-svpc,
.gm-style-mtc {
    display: none;
}
/* MAP POPUP */
.si-float-wrapper {
    max-width: 290px;
}
.si-content-wrapper {
    color: #000;
}
/* MAP MESSAGES */
.store-locator__message {
    width: 95%;
    max-width: 370px;

    color: #000;
    display: none;
    background-color: #fff;
    box-sizing: border-box;
    justify-content: center;
    box-shadow: 4px 10px 10px rgba(0,0,0,0.05);

    position: absolute;
    /*top: 50%;*/
    top: 35%;
    left: calc(38.02083333% / 2 + 50%);
    z-index: 2;

    padding: 30px 50px;

    transform: translate(-50%, -50%);
}
.store-locator--no-search-done .store-locator__message {
    left: 50%;
}
.store-locator__message-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
}
.store-locator--no-search-done .store-locator__search-message,
.store-locator--no-results .store-locator__no-result-message {
    display: block;
}

/* STORES LIST */
.store-locator__stores-list {
    width: 38.02083333%;
    height: 100%;
    /*max-width: 730px;*/
    max-width: 660px;

    box-sizing: border-box;
    background-color: #000;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;

    padding: 0 30px 40px;
}
.store-locator--no-search-done .store-locator__stores-list {
    display: none;
}
.store-locator__stores-list-overflow {
    max-height: calc(100% - 110px);

    overflow: auto;
}
.store-locator__found-stores-label {
    display: flex;
    /*font-size: 21px;*/
    font-size: 18px;
    align-items: center;
    border-top: 1px solid #fff;

    padding: 25px 0 26px;
}
.store-locator__found-stores-count-label {
    display: none;
}
.store-locator__found-stores--singular .store-locator__found-stores-count-singular-label,
.store-locator__found-stores--plural .store-locator__found-stores-count-plural-label {
    display: inline-block;
}
.store-locator__found-stores-label--hidden {
    visibility: hidden;
}
.store-locator__found-stores-icon {
    margin-right: 20px;
}

/* POINT OF SALES */
.store {
    min-height: 110px;

    display: flex;
    cursor: pointer;
    background-color: #000;
    border-left: 10px solid transparent;

    padding: 14px 30px 14px 0;
}
.store:not(:first-child) {
    border-top: 1px solid #7d7d7d;
}
.store--hidden {
    display: none;
}
.store--selected {
    border-left: 10px solid #87d716;
}
.store__image {
    flex: 0 0 138px;

    content: '';
    display: inline-block;
    vertical-align: middle;
    background: url(../svg/pin-grey.svg) no-repeat center center/44px 55px;
}
.store--selected .store__image {
    background: url(../svg/pin-green.svg) no-repeat center center/82px 80px;
}
.store__informations {
    display: flex;
    font-size: 16px;
    align-items: center;
}

/* FILTERS */
.store-locator__filter {
    display: flex;
    flex-wrap: wrap;
}
.store-locator__filter-title {
    width: 100%;

    font-weight: 700;

    margin-bottom: 15px;
}
.store-locator__filter-content {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
}
/* LOCATION FILTER */
.store-locator__postal-code-input {
    height: 40px;

    box-sizing: border-box;

    padding: 5px 10px;
}

/* ERROR MESSAGES */
.store-locator__error-messages {
    display: none;
    font-size: 16px;

    position: absolute;
    top: calc(100% + 10px);
}
.store-locator--has-error .store-locator__error-messages {
    display: block;
}

@media screen and (max-width: 1600px) {
    .store-locator__product-type-checkbox {
        width: 45px;
        height: 45px;
    }
    .store-locator__product-type-filter {
        font-size: 16px;
    }
    .store-locator__postal-code-submit-input {
        width: 36px;
        height: 35px;

        line-height: 35px;
    }
    .store-locator__postal-code-input {
        height: 35px;
    }
    .store-locator__geolocation-filter {
        min-width: 208px;
        height: 35px;

        font-size: 17px;
    }
    .store-locator__location-filter-or {
        font-size: 18px;
    }
}
@media screen and (max-width: 1420px) {
    .store-locator__filter-title {
        font-size: 16px;
    }
    .store-locator__product-type-checkbox {
        width: 35px;
        height: 35px;
    }
    .store-locator__product-type-filter {
        font-size: 15px;
    }
    .store-locator__geolocation-filter {
        min-width: 201px;

        font-size: 16px;
    }
    /*.store-locator__found-stores-label {
        font-size: 19px;
    }*/
    .store__image {
        flex: 0 0 118px;
        background-size: 34px 45px;
    }
    .store--selected .store__image {
        background-size: 62px 60px;
    }
}
@media screen and (max-width: 1259px) {
    .store-locator__product-type-filter {
        font-size: 13px;

        align-items: center;
        flex-direction: column;
    }
    .store-locator__product-type-checkbox {
        width: 30px;
        height: 30px;

        margin: 0 0 12px 0;
    }
    .store-locator__error-messages {
        font-size: 14px;
    }

    .store-locator__stores-list {
        padding: 0 20px 40px 30px;
    }
    .store-locator__found-stores-label {
        font-size: 17px;
    }
    .store {
        border-left: 8px solid transparent;

        padding: 4px 30px 4px 0;
    }
    .store__image {
        flex: 0 0 74px;
        background-size: 27px 35px;
    }
    .store--selected {
        border-left: 8px solid #87d716;
    }
    .store--selected .store__image {
        background-size: 42px 40px;
    }
}
@media screen and (max-width: 1100px) {
    .store-locator__found-stores-icon {
        margin-right: 10px;
    }
    .store-locator__found-stores-label {
        font-size: 16px;
    }

    .store__image {
        flex: 0 0 60px;
        background-size: 20px 26px;
    }
    .store--selected .store__image {
        background-size: 32px 30px;
    }
    .store__informations {
        font-size: 14px;
    }
}
@media screen and (max-width: 991px) {
    .store-locator__filter-title {
        font-size: 15px;
    }
    .store-locator__location-filter-or {
        font-size: 16px;

        margin: 1px 25px 0;
    }

    .store-locator__stores-list {
        width: 100%;
        height: 300px;
        max-width: none;

        position: relative;

        padding: 0 20px 20px 30px;
    }
    .store-locator--no-results .store-locator__stores-list {
        height: 110px;
    }
    .store-locator__map-placeholder {
        position: relative!important;
    }
    .store-locator__message {
        left: 50%;
    }
}
@media screen and (max-width: 720px) {
    .store-locator__map-wrapper {
        height: 500px;
    }

    .store-locator__location-filter,
    .store-locator__product-types-filters {
        width: 100%;
    }
    .store-locator__location-filter .store-locator__filter-content {
        position: static;
    }
    .store-locator__product-types-filters {
        margin-top: 20px;
    }
    .store-locator__product-types-filters .store-locator__filter-title {
        display: none;
    }
    .store-locator__product-types-filters .store-locator__filter-content {
        justify-content: flex-start;
    }
    .store-locator__product-type-filter {
        flex-direction: row;
        align-items: flex-end;
    }
    .store-locator__product-type-filter:not(:first-child) {
        margin-left: 15px;
    }
    .store-locator__product-type-checkbox {
        margin: 0 12px 0 0;
    }
    .store-locator__location-filter-or {
        margin: 6px 25px 0;
    }
    .store-locator__error-messages {
        width: 100%;

        text-align: center;

        position: absolute;
        bottom: 15px;
        left: 0;
        top: auto;
    }
    .store-locator__location-filter .store-locator__filter-content {
        align-items: flex-start;
    }
}
@media screen and (max-width: 500px) {
    .store-locator__filter-title {
        text-align: center;
    }
    .store-locator__product-types-filters .store-locator__filter-content {
        justify-content: center;
    }
    .store-locator__message {
        width: 95%;
        max-width: 300px;

        padding: 30px;
    }

    .store-locator__stores-list {
        padding: 0 15px 10px;
    }
    .store-locator__found-stores-icon {
        width: 40px;

        margin-right: 8px;
    }
    .store-locator__found-stores-label {
        font-size: 14px;
    }
    .store {
        min-height: 80px;

        border-left: 5px solid transparent;
    }
    .store--selected {
        border-left: 5px solid #87d716;
    }
}
@media screen and (max-width: 420px) {
    .store-locator__filter-title {
        font-size: 14px;
    }
    .store-locator__product-type-checkbox {
        margin: 0 0 12px 0;
    }
    .store-locator__product-type-filter {
        align-items: center;
        flex-direction: column;
    }
    .store-locator__location-filter-or {
        margin: 6px 15px 0;
    }
    .store-locator__geolocation-filter {
        min-width: 140px;

        font-size: 13px;
        justify-content: center;

        padding: 0 15px;
    }
    .store-locator__geolocation-filter-icon {
        display: none;
    }
}
