.u-zoom-hover {
  display: block;
  overflow: hidden;
}
.u-zoom-hover img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.u-zoom-hover:hover img {
  transform: scale(1.05);
}

.u-underline-hover {
  position: relative;
  display: inline-block;
}
.u-underline-hover::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
  display: inline-block;
}
.u-underline-hover:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.u-underline-hover.u-underline-hover-white::before {
  background: #fff;
}

.u-underline-hover-hidden {
  position: relative;
  display: inline-block;
}
.u-underline-hover-hidden::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.3s;
  display: inline-block;
}
.u-underline-hover-hidden:hover::before {
  transform: scale(0.5, 1);
  transform-origin: left top;
}
.u-underline-hover-hidden.u-underline-hover-hidden-white::before {
  background: #fff;
}/*# sourceMappingURL=hover.css.map */


.u-hover-opacity {
  opacity: 1;
  transition: opacity 0.3s;
 }

.u-hover-opacity:hover {
  opacity: 0.6;
}