/*-- Reset --*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

body{
    background: #111;
    font-family: sans-serif;
}

/*-- Header --*/
header{
    display: flex;
    justify-content: space-between;
    padding: 12px;
    background: #000;    
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 999;
}

header p{
    font-size: 14px;
}


main{
  display: grid;
  gap: 0px;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  grid-template-rows: masonry;
  margin-bottom: 42px;
}


main a{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
}

main a img{
    display: block;
    width: 100%;
    height: auto;    
    transition: all .2s ease-in-out;
}

main a:hover img{
    opacity: .3;    
}

main a:hover:before{
    display: block;
    position: absolute;
    content: 'DOWNLOAD';
    color: #fff;
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: bold;
    z-index: 99;
}

main a:active:before{
    font-size: 50px;
    content: '✅';    
}


footer{
    text-align: center;
    padding: 20px;
    color: #fff;
}

a{
    color: #fff;
}

@media only screen and (max-width: 768px) {

    a img{
        width: 100%;
        height: auto;
    }

}