.rangeslider__fill{
    background: #4A98FD;
}

.eacf7-range-slider-wrap {
    display: flex;
    position: relative;

    &.style-1 {
        gap: 10px;

        .range-slider-inner {
            width: 100%;

            .eacf7-range-slider {
                padding: unset;
            }

            .rangeslider {
                margin: 7px 0;
                height: 10px;

                .rangeslider__fill {
                    background: #4A98FD;
                }

                .rangeslider__handle {
                    top: -5px;
                    width: 20px;
                    height: 20px;
                    background: #1E62B9;
                    border: 0;
                }
            }
        }

        .eacf7-range-slider-value {
            text-align: center;
            font-weight: normal;
            border: 1px solid #ddd;
            padding: 3px 5px;
            line-height: 1;
        }
    }

    &.style-2 {
        margin-top: 30px;

        input[type="range"]:focus+.rangeslider .rangeslider__handle {
            box-shadow: 0 0 0 rgb(0 0 0 / 90%);
        }

        .rangeslider {
            background-color: #fff;
            border-radius: 0;
            border-radius: 10px;
            height: 10px;
            width: 100%;

            .rangeslider__fill {
                background: #4A98FD;
            }

            .rangeslider__handle {
                background: #1E62B9;
                border-color: #1E62B9;
                width: 20px;
                height: 20px;
                margin-top: 5px;
                position: absolute;
                transition: transform 0.3s ease-in-out;
                -moz-transition: transform 0.3s ease-in-out;
                -webkit-transition: transform 0.3s ease-in-out;
            }

            .rangeslider__value-bubble {
                position: absolute;
                top: auto;
                left: 50%;
                bottom: 22px;
                transform: translate(-50%, 0);
                -webkit-transform: translate(-50%, 0);
                -ms-transform: translate(-50%, 0);
                text-align: center;
                background-color: #1E62B9;
                border-radius: 3px;
                padding: 4px 12px;
                color: #fff;
                width: auto;
                margin: 0;
                white-space: nowrap;

                &::before {
                    content: "";
                    width: 0;
                    height: 0;
                    border-left: 10px solid transparent;
                    border-right: 10px solid transparent;
                    border-top: 10px solid #1E62B9;
                    position: absolute;
                    top: auto;
                    left: 50%;
                    bottom: -10px;
                    transform: translate(-50%, -45%);
                    -webkit-transform: translate(-50%, -45%);
                    -ms-transform: translate(-50%, -45%);
                }
            }
        }
    }

    &.style-3 {
        margin-top: 30px;

        .rangeslider {
            height: 10px;

            .rangeslider__fill {
                position: absolute;
                top: 0;
                z-index: 1;
                height: 100%;
                background-color: #4A98FD;
                border-radius: 5px;
            }

            .rangeslider__handle {
                transition: background-color 0.2s;
                box-sizing: border-box;
                width: 20px;
                height: 20px;
                border-radius: 100%;
                background-color: #1E62B9;
                touch-action: pan-y;
                cursor: pointer;
                display: inline-block;
                position: absolute;
                z-index: 3;
                top: -5px;
                border-color: #1E62B9;

                .rangeslider__handle__value {
                    transition: background-color 0.2s, box-shadow 0.1s, transform 0.1s;
                    box-sizing: border-box;
                    text-align: center;
                    padding: 4px 10px;
                    line-height: 20px;
                    font-size: 14px;
                    background-color: #1e62b9;
                    border-radius: 5px;
                    color: white;
                    left: -10px;
                    top: -45px;
                    position: absolute;
                    white-space: nowrap;
                    border-top: 1px solid #007acc;
                    box-shadow: 0 -4px 1px rgba(0, 0, 0, 0.07), 0 -5px 20px rgba(0, 0, 0, 0.3);

                    &::before {
                        transition: border-top-color 0.2s;
                        position: absolute;
                        bottom: -6px;
                        left: calc(50% - 5px);
                        content: "";
                        width: 0;
                        height: 0;
                        border-left: 6px solid transparent;
                        border-right: 6px solid transparent;
                        border-top: 6px solid;
                        border-top-color: #1e62b9;
                    }
                }
            }

            .rangeslider__labels {
                position: absolute;
                width: 100%;
                z-index: 2;
                display: flex;
                justify-content: space-between;

                .rangeslider__labels__label {
                    font-size: 0.75em;
                    position: relative;
                    padding-top: 15px;
                    color: gray;

                    &:first-child {
                        &:before {
                            transform: translateX(-48%);
                            background-color: #0099FF;
                        }
                    }

                    &:last-child{
                        &:before{
                            left: auto;
                            right: 0;
                        }
                    }

                    &:before {
                        position: absolute;
                        top: 10px;
                        left: 50%;
                        transform: translateX(-50%);
                        content: "";
                        width: 1px;
                        height: 6px;
                        border-radius: 1px;
                        background-color: rgba(128, 128, 128, 0.5);

                    }
                }
            }
        }
    }
}

input[type="range"]:focus+.rangeslider .rangeslider__handle {
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
    -webkit-box-shadow: 0 0 8px rgb(0 0 0 / 90%);
    box-shadow: 0 0 8px rgb(0 0 0 / 90%);
}

.rangeslider {
    margin-top: 15px;
}