private void SetupConfig()
    {
        allCards = FindObjectOfType <AllCards>();

        halfHeight = Camera.main.orthographicSize;
        halfWidth  = Camera.main.aspect * halfHeight;

        cardPlayLine       = halfHeight + halfHeight / 9;
        cardSizeMultiplier = halfWidth * 0.19f;
        handMiddlePos      = halfHeight / 1.48f;

        cardWidth = allCards.GetSampleCard().GetComponentInChildren <SpriteRenderer>().bounds.size.x *cardSizeMultiplier;

        float margin = halfWidth / 15.72f;

        handStartPos  = Camera.main.transform.position.x - halfWidth + margin + (cardWidth / cardSizeMultiplier / 2);
        handEndPos    = Camera.main.transform.position.x + halfWidth - margin - (cardWidth / cardSizeMultiplier / 2);
        handMiddlePos = halfHeight / 1.48f;

        // Tweak for narrow screens
        if (handStartPos - (Camera.main.transform.position.x - halfWidth) > halfWidth / 4)
        {
            handStartPos = Camera.main.transform.position.x - halfWidth * .55f;
            handEndPos   = Camera.main.transform.position.x + halfWidth * .55f;
        }
    }