Show latest record if latest date is older than 3 months...?

Afternoon all,

I'm struggeling, I can't seem to work out how i'd display employees name and latest booking date if only the latest booking date in a joined table was older than 3 months. Hope that makes sense... Test tables:-

CREATE TABLE Temp_Employee
(
Employee_ID INT,
FirstName VARCHAR(20),
LastName VARCHAR(20),
);
INSERT INTO Temp_Employee VALUES (1, 'John', 'Smith');
INSERT INTO Temp_Employee VALUES (2, 'Sarah', 'Green');


CREATE TABLE Temp_Booking
(
Booking_ID INT,
Employee_ID INT,
BookingName VARCHAR(20),
BookingDate DATE,
);
INSERT INTO Temp_Booking VALUES (1, 1, 'first booking', '2018-02-22');
INSERT INTO Temp_Booking VALUES (2, 1, 'second booking', '2018-03-07');
INSERT INTO Temp_Booking VALUES (3, 2, 'third booking', '2018-02-21');
INSERT INTO Temp_Booking VALUES (4, 2, 'fourth booking', '2018-06-06');

The result I'd want would be:
'1' 'John' 'Smith' 'Second Booking' '2018-03-07'

Any idea how I'd go about this?

Thanks

Dave

Select 
Employee_ID	
,FirstName	
,LastName	
,BookingName
,BookingDate	
from (
		select  ROW_NUMBER() over (partition by b.Employee_ID order by BookingDate desc)rn,
		 a.*
		,b.BookingDate
		,BookingName
		from  Temp_Employee a 
		left join Temp_Booking  b on a.Employee_ID = b.Employee_ID 
)table_X 
where 
	BookingDate <= dateadd(month,-3,getdate()) 
and rn = 1

Wow, perfect! Thank you very much!