public static function mix_colors($hex1, $hex2, $percentage)
{
$hex1 = self::sanitize_hex($hex1, false);
$hex2 = self::sanitize_hex($hex2, false);
$red = ($percentage * hexdec(substr($hex1, 0, 2)) + (100 - $percentage) * hexdec(substr($hex2, 0, 2))) / 100;
$green = ($percentage * hexdec(substr($hex1, 2, 2)) + (100 - $percentage) * hexdec(substr($hex2, 2, 2))) / 100;
$blue = ($percentage * hexdec(substr($hex1, 4, 2)) + (100 - $percentage) * hexdec(substr($hex2, 4, 2))) / 100;
$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);
}