As the other answers say, you will have to put the checkbox above the h3.
However, if you really want the text "Hear a dog" to appear below the h3, you will have to change a bit more in both the HTML and the CSS.
#checkbark {
display: none
}
.bark {
visibility: hidden
}
#checkbark:checked + .bark {
visibility: visible
}
label[for='checkbark'] {
cursor: pointer;
}
label[for='checkbark']::before {
content: '\2610 ';
}
#checkbark:checked ~ label[for='checkbark']::before {
content: '\2611 ';
}
<input type="checkbox" class="title" id="checkbark">
<h3 class="bark">Bark Bark</h3>
<label for="checkbark">Hear a dog</label>
This snippet uses the fact that a label for a checkbox does not necessarily have to appear next to the checkbox itself. So we put the checkbox above the h3 and the label below it.
I also added some decoration to the label to make it look like the checkbox is in that location, but that's just cosmetic; you don't have to use it.