The Farfallino Alphabet The Task
Your task is to create a program or a function that, given a sentence, outputs it translated to the Farfallino language. 'Y' is treated as a consonant.
The usual rules for farfallino alphabet are based on the substitution of each vowel with a 3 letter sequence where the vowel itself is repeated with an interceding f.
house → hofoufusefe
lake → lafakefe
star → stafar
king → kifing
search → sefeafarch

More examples:
Hello World

Hefellofo Woforld

Code golfs are nice, yuppy!

Cofodefe gofolfs afarefe nificefe, yufuppy!

When you come across a double vowel syllable (the vowels must match, like door, boots, reed, etc.) you must omit the 2nd vowel.
This rule is mandatory
Cool game

WRONG: Cofoofol gafamefe
RIGHT: Cofofol gafamefe

More examples, again:
Aardvark → Afafardvafark
Artisan → Afartifisafan
ASCII → AfaSCIfifi
NASA → NAfaSAfa
Oobleck → Ofofobleck
I'M DEAD! → Ifi'M DEfeAfaD!
Abc → Afabc

Input
Your input must be an ASCII string.
&gt;2 consecutive vowels are not special. You have to handle 2 consecutive vowels:
AAAH → AfafaAfaH
AAAAH → AfafaAfafaH

How to win
The shortest source code in bytes for each language wins.
1, 2, 3... go!
Japt, v2.0a0, 7 bytes
r\v_²íf

Try it

Explanation
r           :Replace
 \v         :/[AEIOU]/gi
   _        :Pass each match through a function
    ²       :  Duplicate
     íf     :  Interleave &quot;f&quot;


Note: This solution was posted before the &quot;bonus&quot; of handling double vowels was made a requirement and before the (apparent) requirement that when repeating an uppercase vowel the second occurrence should be lowercased. I don't much feel like wasting time on a challenge whose spec is constantly changing and invalidating the solutions that have already been posted, nor do I feel I should be expected to sacrifice 90 rep by deleting a solution that was valid at the time of posting.