/**** columns ****/
.grid {
  display: flex;
}
.grid  .element-item.element-item1 {
  width: 100%;
}
.grid  .element-item.element-item2 {
  width: 50%;
}
.grid  .element-item.element-item3 {
  width: 33.3333%;
}
@media only screen and (max-width: 992px) {
.grid  .element-item.element-item1 {
  width: 100%;
}
.grid  .element-item.element-item2 {
  width: 100%;
}
.grid  .element-item.element-item3 {
  width: 100%;
} 
}  
/**** columns end ****/

/**** gap option ****/
.grid.gap {
  display: flex;
  margin-left: -15px;
  margin-top: -15px;
}
.grid.gap .element-item {
  position: relative;
  padding: 15px;
  min-height: 1px;
}
.grid.gap .overlay {
  margin-left: 15px;
  margin-bottom: 15px;
  width: calc(100% - 30px);
}
.grid.gap .element-item:hover .overlay {
  height: calc(100% - 30px);
}
/**** gap option end ****/

/**** hover ****/
.element-item a.imagepopup {
  position: absolute;
  width: 100%;
  height: 100%; 
}  
.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #008CBA;
  overflow: hidden;
  width: 100%;
  height: 0;
  transition: .5s ease;
}  
.element-item:hover .overlay {
  height: 100%;
}
.text {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}
.text h2 {
  font-size: 20px;
  margin: 0;
  padding: 0;
}
.text p {
  font-size: 16px;
  margin: 0;
  padding: 0;
}
/**** hover end ****/
.button-group {
  margin-bottom: 30px;
}
