private function _convert_hsl_to_hex( $hue, $saturation, $luminance ) {
		if ( 49 >= $luminance ) {
			$max_hsl = 2.55 * ( $luminance + $luminance * ( $saturation / 100 ) );
			$min_hsl = 2.55 * ( $luminance - $luminance * ( $saturation / 100 ) );
		} else {
			$max_hsl = 2.55 * ( $luminance + ( 100 - $luminance ) * ( $saturation / 100 ) );
			$min_hsl = 2.55 * ( $luminance - ( 100 - $luminance ) * ( $saturation / 100 ) );
		}

		if ( 60 >= $hue ) {
			$red   = $max_hsl;
			$green = ( $hue / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
			$blue  = $min_hsl;
		} elseif ( 120 >= $hue ) {
			$red   = ( ( 120 - $hue ) / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
			$green = $max_hsl;
			$blue  = $min_hsl;
		} elseif ( 180 >= $hue ) {
			$red   = $min_hsl;
			$green = $max_hsl;
			$blue  = ( ( $hue - 120 ) / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
		} elseif ( 240 >= $hue ) {
			$red  = $min_hsl;
			$green = ( ( 240 - $hue ) / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
			$blue  = $max_hsl;
		} elseif ( 300 >= $hue ) {
			$red  = ( ( $hue - 240 ) / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
			$green = $min_hsl;
			$blue  = $max_hsl;
		} else {
			$red  = $max_hsl;
			$green = $min_hsl;
			$blue  = ( ( 360 - $hue ) / 60 ) * ( $max_hsl - $min_hsl ) + $min_hsl;
		}

		$red = sprintf( '%02s', dechex( round( $red ) ) );
		$green = sprintf( '%02s', dechex( round( $green ) ) );
		$blue = sprintf( '%02s', dechex( round( $blue ) ) );

		return '#' . $red . $green . $blue;
	}