Added half-day calculation, made floating holidays dynamic