How to display 3 post per slide

There are two popular solutions for this. You can:

Alternative 1:

Add a counter to the while, and do something special if the counter reaches 3:

$i = 0;
while(...) {
  $i++;
  if ($i == 3) {
    ...
    $i = 0;
  }
}

This is difficult to do here because you will probably end up with an empty or unclosed li.

Alternative 2:

Use get_posts instead of WP_Query (probably what you should use anyway).
Use array_chunk to split the array of posts into chunks.