Custom shader doesn't apply alpha?

I’m trying to make a custom shader that takes a texture with alpha and applies a gradient texture on top of it. The gradient is basically preset lighting. So I create a new shader but I can’t seem to get alpha to work at all. Even if I hard code alpha to 0, no alpha is applied to my object. My lighting gradient doesn’t seem to be getting applied either, but the color is getting applied. So it’s like the shader is partially working. The shader code is below.

Shader "Resources/Shaders/TestShader" {
	Properties {
		_Color ("Color", Color) = (1,1,1,1)
		_MainTex ("Albedo (RGB)", 2D) = "white" {}
		_Glossiness ("Smoothness", Range(0,1)) = 0.5
		_Metallic ("Metallic", Range(0,1)) = 0.0
		_MaskTex ("Mask", 2D) = "white" {}
	SubShader {
		Blend SrcAlpha OneMinusSrcAlpha
        Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent"}
		LOD 200
		// Physically based Standard lighting model, and enable shadows on all light types
		#pragma surface surf Standard fullforwardshadows

		// Use shader model 3.0 target, to get nicer looking lighting
		#pragma target 3.0

		sampler2D _MainTex;
		sampler2D _MaskTex;

		struct Input {
			float2 uv_MainTex;

		half _Glossiness;
		half _Metallic;
		fixed4 _Color;

		void surf (Input IN, inout SurfaceOutputStandard o) {
			// Albedo comes from a texture tinted by color
			fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
			fixed4 c2 = tex2D (_MaskTex, IN.uv_MainTex);
			o.Albedo = c.rgb * c2.rgb;
			// Metallic and smoothness come from slider variables
			o.Metallic = _Metallic;
			o.Smoothness = _Glossiness;
			o.Alpha = c.a;
	FallBack "Legacy Shaders/Transparent/Diffuse"

You need to include alpha in the pragma line:

#pragma surface surf Standard fullforwardshadows alpha