.img-right {
  padding: 0;              /* No top/bottom padding so nothing gets pushed down */
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;        /* Contains the float */
}

/* Image on the right */
.img-right .image-wrapper {
  float: right;
  width: calc(50% - 20px); /* Half width minus gutter */
  margin-left: 20px;       /* Gutter between text and image */
  margin-bottom: 20px;     /* Space below image */
  margin-top: 0;           /* Remove extra top offset */
  margin-right: 0;
  box-sizing: border-box;
}

/* Text */
.img-right p {
  margin-top: 0;           /* Remove default top margin */
  margin-bottom: 1em;      /* Normal bottom spacing, tweak as needed */
  overflow: hidden;        /* Put this back as you requested */
}

/* Image itself */
.img-right .image-wrapper img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.4);
}

/* Responsive Design */
@media (max-width: 1024px) {
  .img-right .image-wrapper {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}
