     private func positionVersePopup() -> CGPoint {
         let slider = self.scrubSlider
         let sliderPct: Float = (slider.value - slider.minimumValue) / (slider.maximumValue - slider.minimumValue)
-        let sliderValueToPixels: CGFloat = (CGFloat(sliderPct) * self.sliderRange) + self.sliderOrigin
+        
+        let sliderRange = slider.frame.size.width - self.thumbWidth
+        let sliderOrigin = slider.frame.origin.x + (self.thumbWidth / 2.0)
+        let sliderValueToPixels: CGFloat = (CGFloat(sliderPct) * sliderRange) + sliderOrigin
         return CGPoint(x: sliderValueToPixels, y: self.verseLabelYPos)
     }
     

        self.scrubSlider = scrub
        
        self.scrubSlider.translatesAutoresizingMaskIntoConstraints = false
        self.scrubSlider.topAnchor.constraint(equalTo: self.audioPanel.topAnchor, constant: 30.0).isActive = true
        self.scrubSlider.leadingAnchor.constraint(equalTo: self.audioPanel.leadingAnchor,
                                                  constant: 20.0).isActive = true
        self.scrubSlider.trailingAnchor.constraint(equalTo: self.audioPanel.trailingAnchor,

    private let panelHeight: NSLayoutConstraint
    private let panelBottom: NSLayoutConstraint
    // Precomputed for positionVersePopup
    private let thumbWidth: CGFloat
    // Transient State Variables
    private var scrubSliderDuration: CMTime
    private var scrubSliderDrag: Bool
