.mmg-grand {
  font-family: 'Roboto-Light', sans-serif;
}
.mmg-grand .mmg-icon-wrapper {
  background-color: gray;
  outline: 1px solid #bfbfbf;
}
.mmg-grand .mmg-icon-wrapper .mmg-icon-container {
  background-color: #fafafa;
}
.mmg-grand .mmg-icon-wrapper {
  -webkit-transition: 200ms ease-in-out;
  transition: 200ms ease-in-out;
}
.mmg-grand .mmg-icon-wrapper .mmg-icon-bg {
  -webkit-transition: 200ms ease-in-out;
  transition: 200ms ease-in-out;
  background-color: rgba(0, 0, 0, 0);
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.mmg-grand .mmg-caption {
  position: absolute;
  overflow: hidden;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  -webkit-transition: 1s ease-out;
  transition: 1s ease-out;
  opacity: 0;
}
.mmg-grand .mmg-caption > span {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.mmg-grand .mmg-f-caption {
  display: inline-block;
  position: relative;
  height: auto;
  width: 100%;
  vertical-align: middle;
  text-align: center;
}
.mmg-grand .owner-icon {
  top: 0;
  left: 0;
  position: relative;
  -webkit-transition: 400ms;
  transition: 400ms;
  border-radius: 100%;
}
.mmg-grand .mmg-descr,
.mmg-grand .mmg-footer,
.mmg-grand .mmg-title {
  top: 0;
  left: 0;
  position: relative;
  letter-spacing: 1px;
  color: white;
  margin: 10px 20px;
  opacity: 0;
  -webkit-transition: 200ms;
  transition: 200ms;
}
.mmg-grand .mmg-title {
  position: relative;
  color: white;
  font-weight: normal;
  letter-spacing: 1px;
  margin-bottom: 14px;
  margin-top: 14px;
  font-size: 20px;
  -webkit-transition: 300ms;
  transition: 300ms;
}
.mmg-grand .mmg-descr {
  font-size: 16px;
  letter-spacing: 1px;
  -webkit-transition: 250ms;
  transition: 250ms;
}
.mmg-grand .mmg-middle .mmg-descr {
  font-size: 14px;
}
.mmg-grand .mmg-middle .mmg-title {
  font-size: 18px;
}
.mmg-grand .mmg-small .mmg-descr {
  display: none;
}
.mmg-grand .mmg-small .mmg-title {
  font-size: 12px;
}
.mmg-grand .mmg-footer {
  font-size: 11px;
  letter-spacing: 1px;
}
.mmg-grand .mmg-hover .mmg-descr,
.mmg-grand .mmg-hover .mmg-footer,
.mmg-grand .mmg-hover .mmg-title,
.mmg-grand .mmg-hover .owner-icon {
  opacity: 1;
}
.mmg-grand .mmg-img.mmg-hover {
  z-index: 2;
}
.mmg-grand .mmg-img.mmg-hover .mmg-face-caption {
  opacity: 0;
}
.mmg-grand .mmg-img .before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 30%;
  z-index: 3;
  height: 100%;
}
.mmg-grand .mmg-img .after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 30%;
  z-index: 3;
  height: 100%;
}
.mmg-grand .mmg-img .top {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  z-index: 4;
  height: 20%;
}
.mmg-grand .mmg-img .bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  z-index: 4;
  height: 20%;
}
.mmg-grand .mmg-hover .mmg-icon-wrapper {
  -webkit-transform: scale3d(0.96, 0.96, 1);
  transform: scale3d(0.96, 0.96, 1);
}
.mmg-grand .mmg-hover .mmg-icon-wrapper:before,
.mmg-grand .mmg-hover .mmg-icon-wrapper:after {
  opacity: 0;
}
.mmg-grand .mmg-hover .mmg-icon-bg {
  background-color: rgba(255, 255, 255, 0);
}
.mmg-grand .mmg-hover .mmg-descr,
.mmg-grand .mmg-hover .mmg-footer,
.mmg-grand .mmg-hover .mmg-title,
.mmg-grand .mmg-hover .owner-icon {
  top: 0;
  left: 0;
}
.mmg-grand .left .mmg-icon-wrapper {
  -webkit-transform: perspective(1000px) rotate3d(0, 1, 0, -10deg);
  transform: perspective(1000px) rotate3d(0, 1, 0, -10deg);
}
.mmg-grand .left .mmg-icon-wrapper:after {
  opacity: 1;
}
.mmg-grand .left .mmg-icon-bg {
  background-color: rgba(0, 0, 0, 0.8);
  box-shadow: inset 40px 0 50px 0 rgba(0, 0, 0, 0.1);
}
.mmg-grand .left .mmg-descr,
.mmg-grand .left .mmg-footer,
.mmg-grand .left .mmg-title,
.mmg-grand .left .owner-icon {
  top: 0;
  left: -10px;
}
.mmg-grand .right .mmg-icon-wrapper {
  -webkit-transform: perspective(1000px) rotate3d(0, 1, 0, 10deg);
  transform: perspective(1000px) rotate3d(0, 1, 0, 10deg);
  -webkit-transform-origin: center;
  transform-origin: center;
}
.mmg-grand .right .mmg-icon-wrapper:before {
  opacity: 1;
}
.mmg-grand .right .mmg-icon-bg {
  background-color: rgba(0, 0, 0, 0.8);
  box-shadow: inset -40px 0 50px 0 rgba(0, 0, 0, 0.1);
}
.mmg-grand .right .mmg-descr,
.mmg-grand .right .mmg-footer,
.mmg-grand .right .mmg-title,
.mmg-grand .right .owner-icon {
  top: 0;
  left: 10px;
}
.mmg-grand .up .mmg-icon-wrapper {
  -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, 10deg);
  transform: perspective(1000px) rotate3d(1, 0, 0, 10deg);
}
.mmg-grand .up .mmg-icon-wrapper:before,
.mmg-grand .up .mmg-icon-wrapper:after {
  opacity: 1;
}
.mmg-grand .up .mmg-icon-bg {
  background-color: rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 40px 50px 0 rgba(0, 0, 0, 0.1);
}
.mmg-grand .up .mmg-descr,
.mmg-grand .up .mmg-footer,
.mmg-grand .up .mmg-title,
.mmg-grand .up .owner-icon {
  top: -10px;
  left: 0;
}
.mmg-grand .down .mmg-icon-wrapper {
  -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, -10deg);
  transform: perspective(1000px) rotate3d(1, 0, 0, -10deg);
}
.mmg-grand .down .mmg-icon-bg {
  background-color: rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 -40px 50px 0 rgba(0, 0, 0, 0.1);
}
.mmg-grand .down .mmg-descr,
.mmg-grand .down .mmg-footer,
.mmg-grand .down .mmg-title,
.mmg-grand .down .owner-icon {
  top: 10px;
  left: 0;
}
.mmg-grand .up .mmg-caption,
.mmg-grand .down .mmg-caption,
.mmg-grand .left .mmg-caption,
.mmg-grand .right .mmg-caption,
.mmg-grand .mmg-hover .mmg-caption {
  opacity: 1;
}
.mmg-grand .mmg-icon-wrapper {
  -webkit-transform: perspective(1000px);
  transform: perspective(1000px);
}
.mmg-grand .mmg-icon-wrapper:before {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width: 300px;
  background: transparent;
  -webkit-box-shadow: 0 15px 10px #0a0a0a;
  -moz-box-shadow: 0 15px 10px #0a0a0a;
  box-shadow: 0 15px 10px #0a0a0a;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  opacity: 0.6;
}
.mmg-grand .mmg-icon-wrapper:after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  right: 10px;
  left: auto;
  width: 50%;
  top: 80%;
  max-width: 300px;
  background: transparent;
  -webkit-box-shadow: 0 15px 10px #0a0a0a;
  -moz-box-shadow: 0 15px 10px #0a0a0a;
  box-shadow: 0 15px 10px #0a0a0a;
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  opacity: 0.6;
}
/* no-transform general */
.mmg-no-transform .mmg-img .mmg-icon-wrapper {
  transition: none;
  -webkit-transition: none;
}
.mmg-no-transform .mmg-img.mmg-hover .mmg-icon-wrapper {
  -webkit-transform: none;
  transform: none;
}
.mmg-no-transform .mmg-img.mmg-hover .mmg-icon-wrapper:before,
.mmg-no-transform .mmg-img.mmg-hover .mmg-icon-wrapper:after {
  opacity: 0;
}
.mmg-no-transform .mmg-img .mmg-caption .mmg-decor {
  -webkit-transform: scale3d(0, 0, 1);
  transform: scale3d(0, 0, 1);
}
.mmg-no-transform .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-decor {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
.mmg-no-transform.summer .mmg-img .mmg-caption .mmg-decor {
  -webkit-transform: none !important;
  transform: none !important;
}
.summer .mmg-img .mmg-caption .mmg-decor,
.mmg-mb .mmg-grid.summer .mmg-img .mmg-caption .mmg-decor {
  border: none !important;
  box-shadow: none !important;
  transition: none;
  -webkit-transition: none;
  opacity: 1;
  border-radius: 12px;
  overflow: hidden;
  transform: none;
  -webkit-transform: none;
}
.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-top,
.mmg-mb .mmg-grid.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-top,
.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-bottom,
.mmg-mb .mmg-grid.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-bottom {
  width: 100%;
}
.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-right,
.mmg-mb .mmg-grid.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-right,
.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-left,
.mmg-mb .mmg-grid.summer .mmg-img.mmg-hover:not(.left):not(.right):not(.up):not(.down) .mmg-caption .mmg-border-left {
  height: 100%;
}
.summer.mmg-ie9 .mmg-descr-b,
.summer.mmg-ie8 .mmg-descr-b,
.summer.mmg-ie9 .mmg-descr-t,
.summer.mmg-ie8 .mmg-descr-t,
.summer.mmg-ie9 .mmg-descr-l,
.summer.mmg-ie8 .mmg-descr-l,
.summer.mmg-ie9 .mmg-descr-r,
.summer.mmg-ie8 .mmg-descr-r {
  transform: none;
}
.summer.mmg-ie9 .mmg-descr-l,
.summer.mmg-ie8 .mmg-descr-l {
  bottom: 20%;
  left: -100%;
}
.summer.mmg-ie9 .mmg-descr-r,
.summer.mmg-ie8 .mmg-descr-r {
  top: 20%;
  left: 100%;
}
.summer.mmg-ie9 .mmg-descr-t,
.summer.mmg-ie8 .mmg-descr-t {
  top: -20%;
  left: 0;
}
.summer.mmg-ie9 .mmg-descr-b,
.summer.mmg-ie8 .mmg-descr-b {
  bottom: -20%;
  left: 0;
}
.summer.mmg-ie9 .mmg-title,
.summer.mmg-ie8 .mmg-title {
  top: -20%;
  left: 0;
}
.summer.mmg-ie9 .mmg-icon-bg,
.summer.mmg-ie8 .mmg-icon-bg {
  opacity: 1;
  display: none;
  background-color: rgba(120, 120, 120, 0.5);
}
.summer.mmg-ie8 img {
  border-width: 0;
}
.summer.mmg-ie8 .mmg-caption {
  display: none;
}
.summer.mmg-ie8 .mmg-icon-bg {
  background-color: #282828;
}
.summer.mmg-ie8 .mmg-decor {
  width: 92%;
  height: 92%;
  top: 4%;
  left: 4%;
  box-sizing: border-box;
}
.summer.mmg-ie8 .mmg-title {
  top: 20%;
}
.summer.mmg-ie8 .mmg-descr-b {
  bottom: 15%;
  left: 0;
}
.summer .mmg-hover .mmg-icon-bg {
  background-color: rgba(0, 0, 0, 0.8);
}
.summer .mmg-caption .mmg-border-top,
.summer .mmg-caption .mmg-border-left,
.summer .mmg-caption .mmg-border-right,
.summer .mmg-caption .mmg-border-bottom {
  background-color: white;
}
.summer .mmg-caption .mmg-decor {
  background-color: transparent;
  border: 1px solid white;
}
