/* remove number spinner */
.filters__range-slider input::-webkit-outer-spin-button,
.filters__range-slider input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* remove number spinner Firefox */
.filters__range-slider input[type=number] {
    -moz-appearance: textfield;
}

/* ------------------------------------------------------------ *\
	Filters
\* ------------------------------------------------------------ */
.filters {
    border: 0.1rem solid #D2D5D7;
    border-radius: 0.3rem;
}

@media (max-width: 1023px) {
    .filters {
        border-radius: 0;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background: #fff;
        z-index: 99;
        /*z-index: 1;*/
        overflow-x: hidden;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.4s, visibility 0.4s;
        transition: opacity 0.4s, visibility 0.4s;
        border: 0;
    }
}
@media (max-width: 1023px) {
    .filters.filters-active {
        opacity: 1;
        visibility: visible;
    }
}
.filters .filters__head {
    display: none;
    overflow: hidden;
}
@media (max-width: 1023px) {
    .filters .filters__head {
        display: block;
    }
}
.filters .filters__head-inner {
    background: #F8FAFB;
    border-bottom: 0.1rem solid #D2D5D7;
    padding: 1.5rem 6.5rem 1.6rem;
    text-align: center;
    position: relative;
    border-radius: 0.8rem 0.8rem 0 0;
}
.filters .filters__head-inner h5 {
    letter-spacing: 0;
    margin-bottom: 0;
}
.filters .filters__mobile-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1.5rem 1.6rem;
    border-bottom: 0.1rem solid #D2D5D7;
}
.filters .filters__mobile-btns a + a {
    margin-left: 1.6rem;
}
.filters .filters__mobile-btns a.btn-alt {
    text-align: center;
    min-width: auto;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 38.6%;
    flex: 0 0 38.6%;
    margin-right: 0;
    padding: 0.5rem 0.5rem;
}
.filters .filters__mobile-btns a.btn {
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    flex: 1 1;
}
.filters .filters__back {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.14;
    position: absolute;
    left: 1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.filters .filters__back svg {
    margin-right: 0.5rem;
}
.filters .filters__close {
    position: absolute;
    top: 2rem;
    right: 2.5rem;
    color: #727577;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
}
.filters .filters__head-content {
    padding: 2.4rem 2rem 1.3rem;
}
.filters .filters__group {
    border-top: 0.1rem solid #D2D5D7;
}
.filters .filters__group--insight {
    border-top: 0;
    background: #F8FAFB;
    border-bottom: 0.1rem solid #DD390C;
}
.filters .filters__group--insight .filters__group-head {
    background: #E6EFF5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.9rem 1rem 1.2rem 1.4rem;
    border-top: 0.2rem solid #DD390C;
}
.filters .filters__group--insight--size1 .filters__group-head {
    padding: 1.3rem 1rem 1.5rem 1.4rem;
}
.filters .filters__section {
    padding: 1.5rem 1.5rem;
    border-top: 0.1rem solid #D2D5D7;
    font-size: 1.4rem;
    line-height: 1.29;
}
@media (max-width: 1023px) {
    .filters .filters__section {
        padding: 1.55rem 1.6rem;
    }
}
/*nested filters: we don't want double padding*/
.filters .filters__section .filters__section  + .filters__section{
    padding-bottom: 0;
}
.filters .filters__section .filters__section {
    padding-right: 0;
    padding-left: 0;
}
.filters .filters__section.is-current:has(.filters__range-slider-element--with-labels) {
    padding-bottom: 0;
}

.filters .filters__section:first-child {
    border-top: 0;
}
.filters .filters__section--borderless {
    border: 0;
}
.filters .filters__section--first-border:first-child {
    border-top: 0.1rem solid #D2D5D7;
}
.filters .filters__row > p:not(.filters__label) {
    margin-bottom: 1.6rem;
}
.filters .filters__row + .filters__row {
    margin-top: 1.6rem;
}
.filters .filters__row + .filters__row--size1 {
    margin-top: 2.6rem;
}
.filters .filters__row.show-errors .filters__error-messages {
    display: block;
}
.filters .filters__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 0 -0.8rem;
}
.filters .filters__col {
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    flex: 1 1;
    padding: 0 0.8rem;
}
.filters .zip-radius-cols:first-child {
    flex: 0 0 48%;
}
.filters .zip-radius-cols {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 52%;
    flex: 0 0 52%;
}
@media (max-width: 1120px) {
    .filters .zip-radius-cols:first-child {
        flex: 0 0 43%;
    }
    .filters .zip-radius-cols {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 57%;
        flex: 0 0 57%;
    }
}
.filters .filters__col--full-width {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
}
.filters .filters__range-slider + .filters__error-messages {
    margin-top: 1.9rem;
}
.filters .filters__error-messages {
    font-size: 1.4rem;
    line-height: 1.29;
    color: #AA1313;
    margin-top: 1.3rem;
    display: none;
}
.filters .filters__error-messages p {
    margin-bottom: 1.5rem;
}
.filters .filters__error-messages p:last-child {
    margin: 0;
}
@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape) {
    .filters .filters__info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}
.filters .filters__info > p {
    margin: 0;
}
.filters .filters__selected-element {
    display: none;
    font-size: 1.4rem;
    line-height: 1.29;
    color: #727577;
    margin-left: 0.5rem;
    position: relative;
}
.filters .filters__selected-element:before {
    content: "-";
    display: inline-block;
    margin: 0 0.9rem 0 0.7rem;
}
@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape) {
    .filters .filters__selected-element {
        display: block;
    }
}
.filters .filters__field-controls input::-webkit-input-placeholder,
.filters .filters__field-controls input:-ms-input-placeholder,
.filters .filters__field-controls input::-moz-placeholder,
.filters .filters__field-controls input::-ms-input-placeholder,
.filters .filters__field-controls input::placeholder,
.filters .filters__range-slider-control input::-webkit-input-placeholder,
.filters .filters__range-slider-control input:-ms-input-placeholder,
.filters .filters__range-slider-control input::-moz-placeholder,
.filters .filters__range-slider-control input::-ms-input-placeholder,
.filters .filters__range-slider-control input::placeholder {
    color: #333333;
}

.filters .filters__range-slider-control input.pseudo-error::-webkit-input-placeholder,
.filters .filters__range-slider-control input.pseudo-error:-ms-input-placeholder,
.filters .filters__range-slider-control input.pseudo-error::-moz-placeholder,
.filters .filters__range-slider-control input.pseudo-error::-ms-input-placeholder,
.filters .filters__range-slider-control input.pseudo-error::placeholder,
.filters .filters__range-slider-control input.has-error::-webkit-input-placeholder,
.filters .filters__range-slider-control input.has-error:-ms-input-placeholder,
.filters .filters__range-slider-control input.has-error::-moz-placeholder,
.filters .filters__range-slider-control input.has-error::-ms-input-placeholder,
.filters .filters__range-slider-control input.has-error::placeholder,

.filters .field.has-error::placeholder,
.filters .field.pseudo-error::placeholder,

.field.has-error::placeholder,
.field.pseudo-error::placeholder,

.filters .filters__field-controls input.pseudo-error::-webkit-input-placeholder,
.filters .filters__field-controls input.pseudo-error:-ms-input-placeholder,
.filters .filters__field-controls input.pseudo-error::-moz-placeholder,
.filters .filters__field-controls input.pseudo-error::-ms-input-placeholder,
.filters .filters__field-controls input.pseudo-error::placeholder,
.filters .filters__field-controls input.has-error::-webkit-input-placeholder,
.filters .filters__field-controls input.has-error:-ms-input-placeholder,
.filters .filters__field-controls input.has-error::-moz-placeholder,
.filters .filters__field-controls input.has-error::-ms-input-placeholder,
.filters .filters__field-controls input.has-error::placeholder,
.field.has-error::placeholder,
.field.pseudo-error::placeholder{
    font-weight: 600;
    color: #DD390C;
}

.filters .filters__range-slider-control .has-error label,
.filters .filters__range-slider-control .pseudo-error label,
.field.has-error::placeholder,
.field.pseudo-error::placeholder{
    font-weight: 600;
    color: #DD390C;
}

.filters .filters__range-slider-control input.pseudo-error,
.filters .filters__range-slider-control input.has-error,

.filters .filters__field-controls input.pseudo-error,
.filters .filters__field-controls input.has-error,

.filters input.pseudo-error,
.filters input.has-error {
    font-weight: 600;
    color: #DD390C !important;

    border: .1rem solid #DD390C !important;
    box-shadow: inset 1px 1px #DD390C, 1px 1px #DD390C;

    /*border: .2rem solid #DD390C !important;*/
    /*-webkit-box-shadow: none;*/
    /*box-shadow: none;*/
}

.filters .filters__range-slider-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.filters .filters__range-slider-controls > span {
    display: block;
    margin: 0 1rem;
}
.filters .filters__range-slider-control {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    flex: 1 1;
}
.filters__range-slider:not(.slider-init) input.field--price {
    padding-left: 1.5rem;
}
.filters__range-slider.slider-init input.field--price {
    padding-left: 2.3rem;
}
.filters .filters__range-slider-control input.no-value.field--price {
    padding-left: 1.5rem;
}
.filters .filters__range-slider-control input.no-value ~ label {
    opacity: 0;
    visibility: hidden;
}
.filters .filters__range-slider-control label:not(.invalidField) {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 1.5rem;
    font-size: 1.4rem;
    line-height: 1;
    display: block;
}
#s4_sort:not(.select-init) {
    /*width: 14rem;*/
    width: fit-content;
}

.filters__range-slider label.error {
    display: none !important;
}

@media (max-width: 1023px) {
    .filters .filters__range-slider-element {
        pointer-events: none;
    }
    .filters .filters__range-slider-element  .ui-slider-handle {
        pointer-events: auto;
    }
}

.filters .filters__range-slider.hidden-inputs .filters__range-slider-controls{
    margin-bottom: .3rem;
}
.filters .filters__range-slider-element {
    border: 0;
    height: 0.6rem;
    margin: 1.6rem 1rem 0.9rem;
    position: relative;
    border-radius: 0;
}
.filters .filters__range-slider-element.inputs-visible {
    margin-top: 2.1rem;
}
.filters .filters__range-slider-element--with-labels {
    margin-top: 1.9rem;
    /*margin-bottom: 3rem;*/
    margin-bottom: 2rem;
}
.filters .filters__range-slider-element:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.05rem;
    right: -1.05rem;
    background: #D2D5D7;
    border-radius: 0.3rem;
}
.filters .filters__range-slider-element .ui-slider-range-min {
    left: -1.05rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.filters .filters__range-slider-element--multiple .ui-slider-range {
    background: none;
    -webkit-transition: background 0.4s;
    transition: background 0.4s;
}
.filters .filters__range-slider-element:not(.no-value) .ui-slider-range,
.filters .filters__range-slider-element--multiple:not(.no-value) .ui-slider-range {
    background: #006FB9;
}
.filters .filters__range-slider-element--with-labels.filters__range-slider-element .ui-slider-range{
    background: none;
}
.filters .filters__range-slider-element .ui-slider-handle {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: #fff;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    margin-left: -1.05rem;
    color: #333333;
}
.filters .ui-slider-handle:focus:before,
.filters .ui-slider-handle:focus-visible:before {
    opacity: 1;
    visibility: visible;
}
.filters .ui-slider-handle:before {
    content: "";
    position: absolute;
    top: -0.5rem;
    left: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    border: 0.2rem solid #006FB9;
    opacity: 0;
    border-radius: 50%;
    visibility: hidden;
    -webkit-transition: opacity 0.4s, visibility 0.4s;
    transition: opacity 0.4s, visibility 0.4s;
}
.filters .ui-slider-handle:after {
    content: "";
    background-image: url(../../images/icons/car.svg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1.9rem;
}
.filters .filters__range-slider-element--with-labels.filters__range-slider-element:not(.no-value) .ui-slider-handle:after {
    background-image: url(../../images/icons/car-blue.svg);
}
.filters .ui-slider-handle .slider-text {
    text-wrap: nowrap;
    position: absolute;
    bottom: 140%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1;
    display: inline-block;
    font-size: 14px;
    padding-left: 0.2rem;
}
.filters .filters__range-slider-element.ui-slider-pips {
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-pip.ui-slider-pip-initial {
    font-weight: 400;
}
.filters .filters__range-slider-element.ui-slider-pips:not(.ui-slider-disabled) .ui-slider-pip:hover .ui-slider-label {
    font-weight: 400;
    color: inherit;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-pip.ui-slider-pip-selected {
    color: inherit;
    font-weight: 400;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-pip {
    width: auto;
    height: auto;
    line-height: 1;
    color: #333333;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
    margin-left: -1.05rem;
    top: 2.4rem;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-pip.ui-slider-pip-last {
    left: auto !important;
    right: 0;
    margin-left: 0;
    margin-right: -1.05rem;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-line {
    display: none;
}
.filters .filters__range-slider-element.ui-slider-pips .ui-slider-label {
    position: static;
    width: auto;
    font-size: 1.4rem;
    margin: 0;
}
.filters .slider-text-extra .js-tooltip{
    position: relative;
    top: 1px;
}
.filters .slider-text {
    display: flex;
    font-weight: normal;
}
.filters .filters__checkboxes {
    padding: 0.5rem 0 0.2rem;
}
.filters .filters__checkboxes--size1 {
    padding: 0 0 0.3rem;
}
.filters .filters__checkboxes--no-padding {
    padding: 0;
}
.filters .filters__checkboxes-scrollable {
    max-height: 30.6rem;
    overflow-y: auto;
    overflow-x: hidden;
    margin: -0.5rem;
    padding: 0.5rem;
}
.filters .filters__color-swatch {
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
    border-radius: 50%;
    margin-right: 1rem;
}
.filters .filters__color-swatch--white {
    background: #fff;
    border: 0.1rem solid #B9B9B9;
}
.filters .filters__tooltip-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
/*  Filters secondary  */
.filters--secondary .filters__head {
    display: block;
}
.filters--secondary .filters__head-inner {
    padding-right: 5rem;
    text-align: left;
    padding-left: 1.5rem;
}
.filters--secondary .filters__btn-block {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-filter: none;
    filter: none;
}


.filters .filters__field {
    margin-top: 1.5rem;
}
.filters .filters__field:has(.filters__range-slider) {
    margin-top: 1rem;
}

.nested__label.filters__label {
    padding-bottom: 1.6rem;
 }
 .filters__label {
    font-size: 1.4rem;
    display: block;
    line-height: 1.29;
    font-weight: 600;
    margin-bottom: 0;
    margin-right: 0.6rem;
}
.filters__label:has(~ .filters__range-slider .filters__range-slider-element--with-labels) {
    /* less padding for pip-slider-v3 */
    padding-bottom: .8rem;
}
.accordion__head-inner > .filters__label {
    /* no padding for direct children of an accordion */
    padding-bottom: 0;
}
/* ------------------------------------------------------------ *\
	Accordion filters
\* ------------------------------------------------------------ */
.accordion-filters .accordion__section.is-expanded .responsive_accordion__head > svg {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.accordion-filters .responsive_accordion__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    position: relative;
}
.accordion-filters .accordion__collapse-btn {
    /* expand the hit-box for this button */
    padding: 2rem 0 1.7rem;
    margin: -1rem 0 0;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    z-index: 3;
}
.accordion-filters .accordion__collapse-btn:after {
    content: "";
    position: absolute;
    top: -0.2rem;
    left: -0.5rem;
    right: -0.5rem;
    bottom: 0;
    border: 0.2rem solid currentColor;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.4s, visibility 0.4s;
    transition: opacity 0.4s, visibility 0.4s;
}
.accordion-filters .accordion__collapse-btn:focus-visible:after {
    opacity: 1;
    visibility: visible;
}
.accordion-filters .responsive_accordion__head.filters__section:not(.filters__section--borderless) {
    border-bottom: 0.1rem solid #D2D5D7;
}
.accordion-filters .accordion__head-inner {
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    flex: 1 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: -1.2rem;
    padding-right: 1.2rem;
}
.accordion-filters .responsive_accordion__head p {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    margin: 0 0.6rem 0 0;
}
.accordion-filters .responsive_accordion__head > svg {
    width: 1.2rem;
    height: 1.2rem;
    -webkit-transform-origin: 50%;
    -ms-transform-origin: 50%;
    transform-origin: 50%;
    color: #727577;
}

/*Location tweaks*/

.filters__section.location_section {
    background-color: #e6eff5;
}
#attr_Location {
    padding-left: 3.5rem;
}
.zip-pin-icon {
    position: absolute;
    margin: 1rem 0 0 0.8rem;
}
