I used the LTC2387 which is a 1- or 2-lane DDR output ADC (I used only one lane) with a MAX10. The tricky bit for me was using the returned clock along with the data lane and do the DDR to SDR conversion in the FPGA.
For you, I suspect that as long as you make sure that your LVDS inputs are all actually going to pins that are a) correctly paired and b) can be constrained to meet timing, you'll be golden. It looks like you're using the FPGA to serialize the data, rather than use it in the FPGA itself. I was doing the opposite (deserializing the ADC data and embedding it in gigabit ethernet frames along with other information).
Just double and triple check the FPGA datasheet, configure all the pins in Vivado, write the timing constraint file and make sure that the FPGA will actually do what you ask it to do; I've been surprised by "special cases" where an LVDS input pair could not be used because I was using some other I/O standard on the same bank (even with the same VDDIO), or that an LVDS input pair was actually emulated LVDS, which meant that its timing was worse than the rest of the pairs and made timing closure trickier, that perhaps the PLL I was using couldn't actually send its output to that specific GCLK, etc., etc. Test everything before going to layout. :-)
Oh - I don't see any termination resistors; does your FPGA have internal termination? I had to sprinkle my LVDS lines 100R 0201 resitors just outside the FPGA's courtyard.