WPML Flags in Top Menu

  1. from WPML > "Language switcher options" section
  2. "Language switcher in the WP Menu" sub-section > tick the box "Display the language switcher in the WP Menu" and choose your mainmenu
  3. "Language switcher style" sub-section > choose "Horizontal"
  4. "What to include in the language switcher" sub-section > choose "Flag"

Then add CSS like this :

  1. From Appearance > Themes Options > General (bottom Custom CSS) add this
li.menu-item-language img
{border:1px solid #e7e7e7;
}
@media screen and (min-width: 750px) {
li.menu-item-language,
li.menu-item-language a
{margin:6px 0 0 0 !important; padding:0 2px 18px 0 !important;
}

li.menu-item-language-current a
{margin:6px 0 0 50px !important
}

}

@media screen and (max-width: 751px) { 
li.menu-item-language,
li.menu-item-language a
{display:inline !important;}
}

Huge thanks for Julien for posting a solution! You rock!