* { box-sizing: border-box; }

body {
  font-family: sans-serif;
}

/* ---- button ---- */
.filters-button-group{
  text-align: center;
}

.button {
  display: inline-block;
  padding: 10px 18px;
  margin-bottom: 30px;
  background: #EEE;
  border: none;
  color: #222;
  font-family: sans-serif;
  font-size: 16px;
  cursor: pointer;
}

.button:hover {
  background-color: #8CF;
  color: #fff!important;
}

.button:active,
.button.is-checked {
  background-color: #28F;
}

.button.is-checked {
  color: white;
}

.button:active {

}

/* ---- button-group ---- */

.button-group:after {
  content: '';
  display: block;
  clear: both;
}

.button-group .button {
  border-radius: 0;
  margin-left: 0;
}

.button-group .button:first-child {}
.button-group .button:last-child {}

/* ---- isotope ---- */
.
.grid {
  margin-left: -15px;
  margin-right: -15px;
}

/* clear fix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .element-item ---- */

.element-item {
  position: relative;
  float: left;
  width: 25%;
}
.port{
  float:left;
  width:100%;
  position: relative;
}
.port .image{
  position: relative;
}
.port .image:before{
  content: '';
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: .8;
}
.port img{
  max-width: 100%;
  height:100%;
}
.port h6{
  text-align: center;
  padding:13px 0px 0px 0px;
  margin-bottom: 0px;
  text-align: center;
  color:#222;
}
.port p{
  text-align: center;
  padding:0px 0px 3px 0px;
  color:#aaa;
}
.port-content{
  float:left;
  width:100%;
  padding:0px 0 10px 0px ;
}
.cat-list{
  float:left;
  width:100%;
  text-align: center;
}
.cat-item{
  display: inline-block;
  color:#aaa;
  font-size: small;
}
.cat-list .cat-item:after{
  content:'/';
}
.cat-list .cat-item:last-child:after{
  content:' ';
}

/* Hover CSS Area */
.port:hover .image:before{
  background: #222;
  -moz-transition: all 0.20s ease;
  -webkit-transition: all 0.20s ease;
  -ms-transition: all 0.20s ease;
  -o-transition: all 0.20s ease;
}


@media only screen and (min-width: 541px) and (max-width: 912px) {
  .grid {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .element-item{
    width: 50%;
    display: inline-block;
  }
}
@media only screen and (min-width: 320px) and (max-width: 540px) {
  .grid {
    width: 65%;
    margin-left: auto;
    margin-right: auto;
  }
  .element-item{
    width: 100%;
    display: inline-block;
  }
}