*{
    font-family: 'Nunito', sans-serif;
    margin:0; padding:0;
    box-sizing: border-box;
    outline: none; border:none;
    text-decoration: none;
    transition: all .2s linear;
    text-transform: capitalize;
 }
 
 html{
    font-size: 62.5%;
    overflow-x: hidden;
 }
 
 body{
    background: #eee;
 }
 
 .container{
    max-width: 1200px;
    margin:0 auto;
    padding:3rem 2rem;
 }
 
 .container .title{
    font-size: 3.5rem;
    color:#444;
    margin-bottom: 3rem;
    text-transform: uppercase;
    text-align: center;
 }
 
 .container .products-container{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap:2rem;
 }
 
 .container .products-container .product{
    text-align: center;
    padding:3rem 2rem;
    background: #fff;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
    outline: .1rem solid #ccc;
    outline-offset: -1.5rem;
    cursor: pointer;
 }
 
 .container .products-container .product:hover{
    outline: .2rem solid #222;
    outline-offset: 0;
 }
 
 .container .products-container .product img{
    height: 12rem;
 }
 
 .container .products-container .product:hover img{
    transform: scale(.9);
 }
 
 .container .products-container .product h3{
    padding:.5rem 0;
    font-size: 2rem;
    color:#444;
 }
 
 .container .products-container .product:hover h3{
    color:#27ae60;
 }
 
 .container .products-container .product .price{
    font-size: 2rem;
    color:#444;
 }
 
 .products-preview{
    position: fixed;
    top:0; left:0;
    min-height: 100vh;
    width: 100%;
    background: rgba(0,0,0,.8);
    display: none;
    align-items: center;
    justify-content: center;
 }
 
 .products-preview .preview{
    display: none;
    padding:2rem;
    text-align: center;
    background: #fff;
    position: relative;
    margin:2rem;
    width: 40rem;
 }
 
 .products-preview .preview.active{
    display: inline-block;
 }
 
 .products-preview .preview img{
    height: 15rem;
 }
 
 .products-preview .preview .fa-times{
    position: absolute;
    top:1rem; right:1.5rem;
    cursor: pointer;
    color:#444;
    font-size: 4rem;
 }
 
 .products-preview .preview .fa-times:hover{
    transform: rotate(90deg);
 }
 
 .products-preview .preview h3{
    color:#444;
    padding:.5rem 0;
    font-size: 2.5rem;
 }
 
 .products-preview .preview .stars{
    padding:1rem 0;
    font-size: 1.7rem;
 }
 
 .products-preview .preview .stars i{
    color:#27ae60;
 }
 
 .products-preview .preview .stars span{
    color:#999;
 }
 
 .products-preview .preview p{
    line-height: 1.5;
    padding:1rem 0;
    font-size: 1.6rem;
    color:#777;
 }
 
 .products-preview .preview .price{
    padding:1rem 0;
    font-size: 2.5rem;
    color:#27ae60;
 }
 
 .products-preview .preview .buttons{
    display: flex;
    gap:1.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
 }
 
 .products-preview .preview .buttons a{
    flex:1 1 16rem;
    padding:1rem;
    font-size: 1.8rem;
    color:#444;
    border:.1rem solid #444;
 }
 
 .products-preview .preview .buttons a.cart{
    background: #444;
    color:#fff;
 }
 
 .products-preview .preview .buttons a.cart:hover{
    background: #111;
 }
 
 .products-preview .preview .buttons a.buy:hover{
    background: #444;
    color:#fff;
 }
 
 
 @media (max-width:991px){
 
    html{
       font-size: 55%;
    }
 
 }
 
 @media (max-width:768px){
 
    .products-preview .preview img{
       height: 15rem;
    }
 
 }
 
 @media (max-width:450px){
 
    html{
       font-size: 50%;
    }
 
 }