



form {
  position: relative;
  width: 350px;
  margin: 0 auto;
  padding: 50px;
  border-top: 30px solid #542048;
  border-radius: 10px;
  background-color: #e8ebed;
  box-shadow: 0 0 80px rgba(0, 0, 0, .2);
}

form::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #adadae;
  box-shadow:
    20px 0 0 #adadae,
    40px 0 0 #adadae;
}




.tree {
  padding: 20px 0;
}

.tree::after {
  content: '';
  display: block;
  clear: left;
}

.tree div {
  clear: left;
}

input[type="checkbox"] {
  position: absolute;
  left: -9999px;
}

label {
  display: block;
  float: left;
  clear: left;
  position: relative;
  margin-left: 15px;
  padding: 5px;
  border-radius: 5px;
  color: #8c427b;
  text-decoration: none;
  cursor: pointer;
}

label::before, a::before {
  display: block;
  position: absolute;
  top: 6px;
  left: -25px;
  font-family: 'FontAwesome';
}

label::before {
  content: '\f07b'; /* closed folder */
}

input:checked + label::before {
  content: '\f07c'; /* open folder */
}

/* a::before {
  content: '\f068'; /* dash */  
}

input:focus + label, a:focus {
  outline: none;
  background-color: #b9c3c9;
}

.sub {
  display: none;
  float: left;
  margin-left: 30px;
}

input:checked ~ .sub {
  display: block;
}

input[type="reset"] {
  display: block;
  width: 100%;
  padding: 10px;
  border: none;
  border-radius: 10px;
  color: #e8ebed;
  background-color: #37102e;
  font-family: inherit;
  font-size: .9em;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type="reset"]:focus {
  outline: none;
  box-shadow: 0 0 0 4px #b9c3c9;
}