Enemy flying

so im creating a enemy in a game where it will go after a building but if the player come withing a distance its attacking the play but i have a problem where if the enemy is attacking a building its flying and i dont want it to fly how do i stop it from flying? this is the script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GroundEnemyController : MonoBehaviour
{
public GameObject Player;
public GameObject Enemy;
public GameObject Building;
public float MoveSpeed = 5f;
public float MaxDist = 10f;
public float MinDist = 5f;
public float lookRadius = 10f;
public float attackRadius = 100f;
public float Health = 100f;

// Start is called before the first frame update
void Start()
{
    Player = GameObject.FindGameObjectWithTag("Player");
    Enemy = GameObject.FindGameObjectWithTag("Enemy");
    Building = GameObject.FindGameObjectWithTag("Building");
}

// Update is called once per frame
void Update()
{
    if ((Player.transform.position - transform.position).sqrMagnitude <= lookRadius * lookRadius)
    {
        transform.LookAt(Player.transform);
        transform.position += transform.forward * MoveSpeed * Time.deltaTime;
    } else if ((Building.transform.position - transform.position).sqrMagnitude <= attackRadius * attackRadius)
    {
        transform.LookAt(Building.transform);
        transform.position += transform.forward * MoveSpeed * Time.deltaTime;
    }

}

void OnDrawGizmosSelected()
{
    Gizmos.color = Color.red;
    Gizmos.DrawWireSphere(transform.position, lookRadius);
}

public void TakeDamage(float amnt)
{
    Health -= amnt;
    if (Health <= 0)
    {
        print("Enemy Has died!!!");
        Destroy(Enemy);
    }

    print("Enemy took some damage");
}

}

I bet it because your building Y position is not zero.
Maybe you can do something like that for moving to building

Vector3 vect;
vect = Building.transform.position;
vect.y = 0;
transform.LookAt(vect);
transform.position += transform.forward * MoveSpeed * Time.deltaTime;