/* Solution Item Box and Video Overlay Styles */
.solution-item__box {
  position: relative;
  overflow: hidden;
}

.solution-item__box > img,
.solution-item__box > .solution-video {
  display: block;
  width: 100%;
  height: 100%;
}

.solution-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  object-fit: cover;
  background: #000;
}

.solution-item__box > img {
  position: relative;
  z-index: 0;
}

.solution-item__box .uk-overlay {
  position: absolute;
  z-index: 2;
}

.solution-item__box {
    position: relative;
    overflow: hidden;
}

.solution-item__placeholder {
    display: block;
    width: 100%;
    height: auto;
    visibility: hidden;
    pointer-events: none;
}

.solution-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    background: transparent;
}

.solution-item__box .uk-overlay {
    position: absolute;
    z-index: 2;
}

/* Generic video helpers */
video {
  display: block;
}

/* Hero slider videos */
.s-hero .swiper-slide,
.s-hero .swiper-slide > div {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.s-hero .swiper-slide video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  z-index: 1;
}

.s-hero .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

/* Reason and news tile videos */
.reason-item__media,
.new-item__media {
  position: relative;
  overflow: hidden;
}

.reason-item__media video,
.new-item__media video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  z-index: 1;
}

.reason-item__media img,
.new-item__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* Content typography for CMS sections */
p {
  font-size: 17px;
  line-height: 1.7;
  margin: 0 0 15px 0;
  font-weight: 400;

}

h5 {
  font-size: 23px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 12px 0;
  letter-spacing: 0.3px;
  color: #111;
}


div[style*="text-align:justify"] {
  font-size: 17px;
  line-height: 1.7;
}

ul {
  margin: 10px 0 15px 20px;
  padding: 0;
}

ul li {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 6px;
  font-weight: 400;

}

strong {
  font-weight: 600;
}

a {
  color: inherit;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

/* Spacing between sections */
h5 + div,
h5 + p,
h5 + ul {
  margin-top: 5px;
}

br {
  line-height: 1;
}
