public static function adjust_brightness($hex, $steps)
{
$hex = self::sanitize_hex($hex, false);
$steps = max(-255, min(255, $steps));
// Adjust number of steps and keep it inside 0 to 255.
$red = max(0, min(255, hexdec(substr($hex, 0, 2)) + $steps));
$green = max(0, min(255, hexdec(substr($hex, 2, 2)) + $steps));
$blue = max(0, min(255, hexdec(substr($hex, 4, 2)) + $steps));
$red_hex = str_pad(dechex($red), 2, '0', STR_PAD_LEFT);
$green_hex = str_pad(dechex($green), 2, '0', STR_PAD_LEFT);
$blue_hex = str_pad(dechex($blue), 2, '0', STR_PAD_LEFT);
return self::sanitize_hex($red_hex . $green_hex . $blue_hex);
}