.banner-inner {
  position: relative;
  z-index: 1;
}
.banner-inner a.banner-img {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.banner-inner a.banner-img::after {
  background: rgba(0, 0, 0, 0) url("effect-bg.png") repeat scroll 0 0;
  transform: scale(1.3);
}
.banner-inner a.banner-img::before, .banner-inner a.banner-img::after {
  content: "";
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.3s linear 0s;
  visibility: hidden;
  width: 100%;
  z-index: 2;
}
.banner-inner a.banner-img::before {
  background: rgba(0, 0, 0, 0.3) none repeat scroll 0 0;
}
.banner-inner img {
  transform: scale(1);
  transition: all 1s linear 0s;
}
.banner-text::before {
  border-top-left-radius: 10px;
  left: 0;
  top: 0;
}
.banner-text::before, .banner-text::after {
  background: rgba(255, 255, 255, 0.6) none repeat scroll 0 0;
  content: "";
  height: calc(100% + 20px);
  opacity: 0;
  position: absolute;
  transition: all 0.5s ease-in-out 0s;
  visibility: hidden;
  width: calc(100% + 20px);
  z-index: -1;
}
.banner-text::after {
  border-bottom-right-radius: 10px;
  bottom: 0;
  right: 0;
}
.banner-text-1 {
  bottom: 50px;
  left: calc(100% - 100px);
  position: absolute;
  writing-mode: vertical-lr;
  z-index: 5;
}
.banner-text {
  background: transparent none repeat scroll 0 0;
  color: #fff;
  position: absolute;
  transition: all 0.2s linear 0s;
  z-index: 3;
  text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
}
.banner-heading {
  color: #fff !important;
  font-size: 30px;
  font-weight: 900;
  text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
}
.banner-title {
  font-size: 24px;
  font-weight: normal;
}
.banner-inner:hover a::before {
  opacity: 1;
  visibility: visible;
}
.banner-inner:hover a::after {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}
.banner-inner:hover img {
  transform: scale(1.1);
}
.banner-inner:hover .banner-text::before, .banner-inner:hover .banner-text::after {
  opacity: 1;
  visibility: visible;
}
.banner-inner:hover .banner-text::before {
  left: -18px;
  top: -18px;
}
.banner-inner:hover .banner-heading {
  color: #4171a0 !important;
  text-shadow:
    -1px -1px 0 #4171a0 !important;
    1px -1px 0 #4171a0 !important;
    -1px 1px 0 #4171a0 !important;
    1px 1px 0 #4171a0 !important;
}
.banner-inner:hover .banner-text::after {
  bottom: -18px;
  right: -18px;
}
.banner-text-2 {
  bottom: 46px;
  right: 54px;
}
.banner-text-3 {
  left: 35px;
  top: 100px;
}
.banner-text-4 {
  bottom: 40px;
  right: 23px;
}
.banner-text-5 {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}