*{
    margin: 0; padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: capitalize;
    transition:all .2s cubic-bezier(.34,1.12,.68,1.31);
}
h1{
	font-weight:normal;
	font-size:35px;
	position:relative;
	margin: 0;
}
h1::before{
	content: '';
	position:absolute;
	width:100px;
	height:3px;
	background-color:crimson;
	bottom:-10px;
	left:50%;
	transform:translatex(-50%);
	animation:animate 4s linear infinite;
}
@keyframes animate{
	0%{
		width:100px;
	}
	50%{
		width:200px;
	}
	100%{
		width:100px;
	}
}
.gallery{
    min-height: 100vh;
    background:#eee;
    padding-bottom: 100px;
	width:100%;
	text-align:center;
}

.gallery .controls{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding:20px 0;
    list-style: none;
}

.gallery .controls .buttons{
    height:40px;
    width: 140px;
    background:#fff;
    color:#666;
    font-size: 20px;
    line-height: 40px;
    cursor: pointer;
    margin:20px;
    box-shadow: 0 3px 5px rgba(0,0,0,.3);
    text-align: center;
}

.gallery .controls .buttons.active{
    background:coral;
    color:#fff;
}

.gallery .image-container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.gallery .image-container .image{
    height:250px;
    width: 350px;
    overflow: hidden;
    border:15px solid #fff;
    box-shadow: 0 3px 5px rgba(0,0,0,.3);
    margin: 20px;
}

.gallery .image-container .image img{
    height: 100%;
    width:100%;
    object-fit: cover;
}

.gallery .image-container .image:hover img{
    transform: scale(1.4);
}