.comments h3 {
    font-weight: bold;
    padding: 4px;
    padding-left: 0;
    margin: 0;
    //display: none;
}
.comments.active h3 {
    display: block;
}

.comments .icon svg {
    width: 12px;
    height: 12px;
}

.add-comment {
    box-sizing: border-box;
    width: 100%;
    height: 30vh;
    padding-top: 8px;
    padding-left: 4px;

    .buttons {
        display: none;
        &.active {
            display: block;
        }
    }
    input, button {
        height: 36px;
    }
    input {
        width: calc(50% - 8px);
    }
    .buttons {
        &.login {
            input {
                width: calc(100% - 8px);
            }
        }
    }
    input.invalid,
    textarea.invalid {
        border-bottom: 1px solid purple;
    }

    textarea,
    input {
        padding: 4px;
        margin-left: 0;
        margin-top: 4px;
        margin-bottom: 4px;
        margin-right: 4px;
        background: none;
        color: white;
        border: 1px solid green;
    }
    textarea {
        width: calc(100% - 8px);
        height: 100px;
        display: block;
    }
    button {
        background: black;
        color: white;
        border: solid 1px green;
        padding: 8px;
    }
    button:hover,
    button:active {
        border: solid 1px lightgreen;
        cursor: pointer;
    }
}
@media(max-width:768px) {
    .add-comment {
        padding-left: 4px;
        input {
            width: calc(100% - 8px);
        }
        .buttons {
            &.login {
                input {
                    width: calc(100% - 8px);
                }
            }
        }
    }
}

.comment {
    padding: 4px;
    border-bottom: 1px solid blueviolet;
}

.comment .text {
    white-space: pre-line;
}

.comments h3 {
    cursor: pointer;
}

.comments.collapsed .block {
    display: none;
}

.comments .meta  {
    color: gray;
}

button.publish-comment {
    border: 0;
    margin: 0;
    background: none;
    cursor: pointer;
    svg {
        width: 16px;
        height: 16px;
    }
}