.theme-block {
  border-radius: 15px;
  padding: 20px;
  overflow: hidden;
  box-sizing: border-box;
  margin-bottom: 15px;
  position: relative;
}

.theme-block .counter {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 1.2em;
  color: green;
}

.theme-block .counter span {
  font-weight: bold;
}


.theme-block.open {
  border-radius: 15px 15px 0 0;
  box-shadow: none;
  margin-bottom: 0;
}

.task-list-container {
  background-color: white;
  padding: 10px 0 0 0;
  margin-top: 0;
  display: none;
  border: 2px solid;
  border-top: 0;
  border-radius: 0 0 15px 15px;
  box-sizing: border-box;
}

.theme-block.open+.task-list-container {
  display: block;
  border-radius: 0 0 15px 15px;
  margin-bottom: 15px;
}

.task-list-container.open {
  display: block;
}

.task-list-container ul {
  list-style-type: none;
  padding-left: 0;
}

.task-list-container li {
  padding: 10px 10px 10px 26.2px;
  border-bottom: 1px solid #ccc;
}

.task-list-container li.completed {
  padding: 10px 10px 10px 10px;

  color: green;
  display: flex;
  align-items: center;
  height: 30px;
}

.task-list-container li.completed::before {
  content: '\2713';
  font-size: 1.2em;
  color: green;
  margin-right: 10px;
  margin-top: 0;
}

.task-list-container li {
  display: flex;
  align-items: center;
  color: black;
  height: 30px;
}

.task-list-container li::before {
  content: '';
  margin-right: 10px;
}

.task-list-container li:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

input[type="checkbox"] {
  margin-right: 10px;
}

label {
  cursor: pointer;
}

@media (max-width: 767px) {
  .theme-block {
    margin: 10px;
  }
}