Mouse click doesnt seem to be hitting the right collider

I’m new to using raycasts and I think everything in script is working as it should, except the object I click on is not the object that gets effected. Basically There is a Card Class and a Deck class and I want the user to click on one of the cards that are displayed and have it move from one Deck to another. I am guessing I did something wrong with either my Ray creation or my RaycastHit2D creation. Any Ideas?

public delegate void ClickAction(Card card);
	public static event ClickAction OnClicked;
	void Update () {
		if (Input.GetMouseButtonDown (0)) {
			Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
			RaycastHit2D hit = Physics2D.Raycast (ray.origin, ray.direction);
			Debug.Log (hit.point);

			if (hit.collider != null) {
				Card cardScript = hit.collider.GetComponent<Card>();
					Debug.Log("Got Card");
					if(OnClicked != null){
			} else {
				Debug.Log ("Didn't click game object");

and if it matters the OnClicked event is …

  void OnEnable(){
    		ClickCard.OnClicked += MoveCardToBidHand;
    	void OnDisable(){
    		ClickCard.OnClicked -= MoveCardToBidHand;
    	public void MoveCardToBidHand(Card card){
    		Debug.Log ("Method was fired");
    		bidHand.getList ().Add (card);		
    		hand.getList ().Remove (card);
    		hand.getList ().TrimExcess ();


Try putting your card GameObject onto a layer and using a layer mask and also tagging your card as “Card”

LayerMask layerMask = 1 << 8;  //8  is normally the first slot that you can add in layers, use whatever number layer your card is on

if (Input.GetMouseButtonDown(0)) {

				RaycastHit2D hitCheck = Physics2D.Raycast(_camera.ScreenToWorldPoint(Input.mousePosition),, Mathf.Infinity, layerMask);

                            //make sure you're actually clicking on a collider
                           //Check tag of gameObject for collider is "Card"


Hope this works.