/*Image overlay*/
.overlayed {
  position: relative;
  overflow: hidden;
  display: block;
  max-width: 100%;
  float: left;
}
.overlay {
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: 2;
  background-color: rgba(34,34,34,0.25);
  webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.overlay i {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  font-size: 18px;
  color: #ffffff;
  text-align: center;
  width: 40px;
  height: 40px;
  -webkit-transition: all linear 0.2s;
  -moz-transition: all linear 0.2s;
  -o-transition: all linear 0.2s;
  -ms-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.node--view-mode-teaser .overlay i::before {
  content: "\f0c1";
}
.overlay i:before {
  line-height: 42px;
}
.image-listing-item .overlay i {
  font-size: 10px;
  width: 25px;
  height: 25px;
}
.image-listing-item .overlay i:before {
  line-height: 27px;
}
/*image caption*/
.image-caption {
  margin-top: 15px;
}
.with-image .image-caption {
  color: #ffffff;
  position: absolute;
  width: 100%;
  z-index: 3;
  bottom: 0;
  padding: 20px;
  background: transparent -moz-linear-gradient(bottom, #000000 0%, transparent 100%) repeat scroll 0 0;
  background: transparent -webkit-linear-gradient(bottom, #000000 0%,transparent 100%) repeat scroll 0 0;
  background: transparent linear-gradient(to top, #000000 0%, transparent 100%) repeat scroll 0 0;
}
.image-caption span {
  margin-right: 15px;
}
.with-image .image-caption span a {
  color: #ffffff;
}
.node--view-mode-teaser .overlay i::before {
  content: "\f0c1";
}
/*overlay on hover state*/
.overlayed:hover {
  color: #ffffff!important;
  text-decoration: none;
}
.overlayed:hover .overlay {
  opacity: 1;
  filter: alpha(opacity=100);
}
