How do i maintain the same speed in the air?

Hello, i’m making a movement script. I used Brackeys his first person movement script.
Here is the link: FIRST PERSON MOVEMENT in Unity - FPS Controller - YouTube
But every time i jump, the speed of the character is the same as the normal walk speed. But i want it to have the same speed it has when i run for example. Could someone help with it?
Here is my code:


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Movement : MonoBehaviour
public CharacterController controller;

public float speed = 5f;
public float runSpeed = 10f;
public float gravity = -8.81f;
public float jumpHeight = 3f;

public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;

Vector3 velocity;
bool isGrounded;

// Update is called once per frame
void Update()
    isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);

    if (isGrounded && velocity.y < 0)
        velocity.y = -2f;

    float x = Input.GetAxis("Horizontal");
    float z = Input.GetAxis("Vertical");

    Vector3 move = transform.right * x + transform.forward * z;

    controller.Move(move * speed * Time.deltaTime);

    if (Input.GetKey(KeyCode.LeftShift) && isGrounded)
        controller.Move(move * runSpeed * Time.deltaTime);

    if (Input.GetButtonDown("Jump") && isGrounded)
        velocity.y += Mathf.Sqrt(jumpHeight * -2f * gravity);

    velocity.y += gravity * Time.deltaTime;

    controller.Move(velocity * Time.deltaTime);



You can only run if Input.GetKey(KeyCode.LeftShift) && isGrounded. Therefore, if you’re not grounded, you will only be able to walk. Either, remove the isGrounded condition, or, use another bool that checks once you’ve jumped, whether you jumped holding shift or not, then allowing you to move with runspeed in air, if you jumped with shift.