Funky selection changer

css animate content via checkbox selection

by moob

HTML

<input id="blue" type="checkbox" />
<input id="red" type="checkbox" />
<input id="green" type="checkbox" />
<input id="purple" type="checkbox" />
<div id="wrapper">
<div class="container">
    <label for="blue">
      <div><span>You picked blue. <em>change selection</em></span></div>
    </label>
    <label for="red">
      <div><span>You picked red. <em>change selection</em></span></div>
    </label>
    <label for="green">
      <div><span>You picked green. <em>change selection</em></span></div>
    </label>
    <label for="purple">
      <div><span>You picked purple. <em>change selection</em></span></div>
    </label>
  </div>
</div>

CSS

@import url("https://fonts.googleapis.com/css?family=Lato:300");
* {
  -webkit-transition: all 0.7s ease;
  transition: all 0.7s ease;
  box-sizing: border-box;
}

body {
    min-width:100%;
    min-height:100%;
    margin:0;
}

#wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 100vh;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  overflow: hidden;
  background-color:#ccc;
}

#wrapper .container {
  background: #fff;
  width: 416px;
  height: 128px;
  border-radius: 16px;
  color: #000;
  font-size: 16px;
  z-index: 1;
  overflow: hidden;
  position:relative;
  box-shadow:0px 20px 60px -40px #000;
 padding:8px;
}
#wrapper .container label:hover {
  cursor: pointer;
}
#wrapper .container label[for="blue"] div {
  background: blue;
  margin-left: 32px;
  margin-top: 32px;
}
#wrapper .container label[for="red"] div {
  background: red;
  margin-top: 32px;
  margin-left: 128px;
}
#wrapper .container label[for="green"] div {
  background: green;
  margin-top: 32px;
  margin-left: 224px;
}
#wrapper .container label[for="purple"] div {
  background: purple;
  margin-top: 32px;
  margin-left: 320px;
}
#wrapper .container div{
color: #fff;
}
#wrapper .container div span {
    display:inline-block;
    padding:20px;
    opacity:0;
}
body input[type="checkbox"] {
    position:absolute;
    opacity:0.001;
}


  
  
#wrapper .container label div {
    display:block;
    width:100%;
    min-width:64px;
    min-height:64px;
    max-width: 64px;
  max-height: 64px;
  border-radius: 8px;
  box-shadow:0 0 0px 8px rgba(0,0,0,0.1);
  z-index: 2;
  position: absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
}
#wrapper .container label:hover div {
   ...