## Initialisation

Chaque option du menu select (.old-select) est copiée afin de créer une nouvelle option dans le nouveau menu select (.new-select) qui portera dans un "data" sa "value". Le choix d'une option est ensuite fait afin de remplir le bloc ".selection". Si une des options porte l'attribut "selected", elle est choisis. Sinon, la première est sélectionnée. Une fois toutes les options "reconstruite", on inverse les z-index afin que la première soit devant, la deuxieèe ensuite, etc.

## Ouverture / Fermeture

Les "new-option" étant positionnées en "absolute", on alterne simplement entre deux états avec des règles CSS différentes. Quelques règles diffèrent pour les trois dernières afin de respecter le design.

## Sélection

Quand une "new-option" est selectionnée, ses données sont récupérées afin de :
- Indiquer la selection dans le "new-select"
- Intégrer l'attribut "selected" à l'option qui porte la même "value", après suppression pour celle qui le portait déjà.
Bien que visuellement, aucun changement ne se produit dans le "old-select", l'attribut est bien pris en compte lors de l'envoi du formulaire.

Design tiré du site flatuicolors.com