mixin powvideo(url, thumbname, title, videotitile, blacktitile="", isYouTube=true)
    article.comvideo
        .comvideo__box
            if isYouTube
                a.comvideo__screen(href=url, data-youtube)
                    span(class="comvideo__txt " + blacktitile) !{videotitile}
                    img(src=thumbname, alt="")
            else
                a.comvideo__screen(href=url, target="_blank")
                    span(class="comvideo__txt " + blacktitile) !{videotitile}
                    img(src=thumbname, alt="")
        if title
            h4.h4.pt-2.comvideo__title !{title}
        else 
            .pt-1
        .comvideo__descr.pt-1
            block