.M--comment-form {
    display: block;
    position: relative;
    .container {
        width: 100%;
        max-width: 720px;
    }
    .block--header {
        margin-bottom: 24px;
        text-align: left;
        .header__label {
            font-size: 1.65rem;
            line-height: 1.5;
            text-align: left;
        }
    }
    .form--comment {
        display: block;
        position: relative;
        padding: 24px;
        overflow: hidden;
        background: #fff;
        &.-has-border {
            border: 1px solid $border-color;
        }
        &.-rounded {
            @include border-radius(6px);
        }
        &.-has-shadow {
            @include box-shadow(1px 2px 8px rgba(0,0,0,.2));
        }
        &.-is-loading {
            .form__disabled {
                display: block;
                z-index: 4;
            }
        }
        .form__disabled {
            display: none;
        }
        .form__avatar {
            display: block;
            margin-right: 24px;
            width: 80px;
            height: 80px;
            overflow: hidden;
            background: #f5f5f5;
            @include border-radius(64px);
        }
        .form__field {
            display: block;
            position: relative;
            &.-has-divider {
                border-top: 1px solid $border-color;
            }
            &.-is-error {
                .form__textbox {
                    color: red;
                }
                .form__textbox::-webkit-input-placeholder {
                    color: red;
                }
                .form__textbox::-moz-placeholder {
                    color: red;
                }
                .form__textbox:-ms-input-placeholder {
                    color: red;
                }
                .form__textbox:-moz-placeholder {
                    color: red;
                }
            }
            .form__component {
                display: block;
            }
            .form__textbox {
                display: block;
                margin: 0;
                padding: 0;
                width: 100%;
                height: 40px;
                font-size: 1.45rem;
                border: 0;
                outline: 0;
                background: #fff;
            }
            .form__textbox::-webkit-input-placeholder {
                color: #d7d7d7;
            }
            .form__textbox::-moz-placeholder {
                color: #d7d7d7;
            }
            .form__textbox:-ms-input-placeholder {
                color: #d7d7d7;
            }
            .form__textbox:-moz-placeholder {
                color: #d7d7d7;
            }
            .form__textarea {
                height: auto;
                resize: none;
                font-size: 1.6rem;
            }
        }
        .form__comment {
            display: block;
            margin-top: 16px;
            padding-top: 16px;
            border-top: 1px solid $border-color;
        }
        .form__message {
            display: block;
            margin: 0;
            &.-is-hide {
                display: none;
            }
            &.-is-error {
                .message__label {
                    color: red;
                }
            }
            &.-is-success {
                .message__label {
                    color: #76b743;
                }
            }
            .message__label {
                display: block;
                font-size: 1.45rem;
                line-height: 1.55;
            }
        }
        .form__action {
            display: block;
            margin-top: 16px;
        }
        .button--send-comment {
            position: relative;
            margin-left: 16px;
            &.-is-loading {
                .button__label {
                    visibility: hidden;
                }
                .button__loader {
                    visibility: visible;
                }
            }
            .button__loader {
                visibility: hidden;
                svg {
                    display: block;
                    margin: auto;
                }
            }
        }
    }
}

.M--comment-list {
    display: block;
    position: relative;
    .container {
        max-width: 720px;
    }
    .comment__lists {
        display: block;
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
        .comment__item {
            display: block;
            margin: 24px 0 0;
            padding: 24px;
            list-style: none;
            overflow: hidden;
            background: #fff;
            &.-has-border {
                border: 1px solid $border-color;
            }
            &.-rounded {
                @include border-radius(6px);
            }
            &.-has-shadow {
                @include box-shadow(1px 2px 8px rgba(0,0,0,.2));
            }
            .comment__avatar {
                display: block;
                margin-right: 24px;
                width: 64px;
                height: 64px;
                overflow: hidden;
                background: #f5f5f5;
                @include border-radius(80px);
                img {
                    display: block;
                    width: 100%;
                    height: auto;
                }
            }
            .comment__author {
                display: block;
                margin: 0;
                font-size: 1.6rem;
                line-height: 1.6;
            }
            .comment__date {
                display: block;
                margin-top: 2px;
                font-size: 1.3rem;
                color: #777;
                line-height: 1.4;
            }
            .comment__content {
                display: block;
                margin-top: 16px;
                font-size: 1.55rem;
            }
            .comment__action {
                display: block;
                margin-top: 16px;
                font-size: 0;
                line-height: 0;
                .button--action {
                    display: inline-block;
                    margin: 0 24px 0 0;
                    padding: 8px 0;
                    font-size: 1.4rem;
                    color: $secondary-color;
                    line-height: 1.55;
                    border: 0;
                    outline: 0;
                    background: none;
                    &:hover {
                        text-decoration: underline;
                    }
                    .label--default {
                        display: block;
                    }
                    .label--active {
                        display: none;
                    }
                    &.-is-active {
                        .label--default {
                            display: none;
                        }
                        .label--active {
                            display: block;
                        }
                    }
                }
            }
            .comment__reply--form {
                display: none;
                &.-is-active {
                    display: block;
                    padding-top: 16px;
                    .block--header {
                        display: none;
                    }
                }
            }
            .comment__reply--replies {
                display: none;
                &.-is-active {
                    display: block;
                }
            }
        }
    }
    .button--show-comments {
        display: block;
        position: relative;
        margin: 24px 0 0;
        padding: 24px;
        width: 100%;
        overflow: hidden;
        outline: 0;
        background: #fff;
        border: 1px solid $border-color;
        @include border-radius(6px);
        .button__label {
            display: block;
            font-size: 1.45rem;
            font-weight: 600;
        }
        .button__loader {
            visibility: hidden;
            svg {
                display: block;
                margin: auto;
            }
        }
        &.-is-loading {
            .button__label {
                visibility: hidden;
            }
            .button__loader {
                visibility: visible;
            }
        }
    }
}

.M--comments {
    background: #f5f5f5;
}