.ova-icon-box {
  background-color: var(--heading);
  padding: 25px 25px 25px 45px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1500px) {
  .ova-icon-box {
    padding: 25px 25px 25px 30px;
  }
}
@media (max-width: 767px) {
  .ova-icon-box {
    padding: 20px;
  }
}
.ova-icon-box:hover .content .title {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
}
.ova-icon-box:hover .background {
  transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transform: scale(1.07);
}
.ova-icon-box:hover .overlay {
  transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
}
.ova-icon-box:hover .icon {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
}
.ova-icon-box:hover .icon i {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
}
.ova-icon-box .background {
  transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-position: center right;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.15;
  z-index: 1;
}
.ova-icon-box .overlay {
  transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #000;
}
.ova-icon-box .content {
  margin: 20px 0;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .ova-icon-box .content {
    margin: 10px 0 20px;
  }
}
.ova-icon-box .content .sub-title {
  margin: 0;
}
@media (max-width: 767px) {
  .ova-icon-box .content .sub-title {
    font-size: 14px;
  }
}
.ova-icon-box .content a:hover .title {
  color: var(--primary);
}
.ova-icon-box .content .title {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  margin: 0;
  font-size: 36px;
  line-height: 1.2;
  color: #fff;
  white-space: pre-line;
}
@media screen and (min-width: 1025px) and (max-width: 1480px) {
  .ova-icon-box .content .title {
    font-size: 32px;
  }
}
@media (max-width: 767px) {
  .ova-icon-box .content .title {
    font-size: 25px;
  }
}
.ova-icon-box .icon {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  position: relative;
  background-color: var(--primary);
  border-radius: 50%;
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
@media (max-width: 1480px) {
  .ova-icon-box .icon {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 767px) {
  .ova-icon-box .icon {
    width: 90px;
    height: 90px;
  }
}
.ova-icon-box .icon i {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  display: inline-flex;
  font-size: 64px;
  color: #fff;
}
@media (max-width: 1480px) {
  .ova-icon-box .icon i {
    font-size: 55px;
  }
}
@media (max-width: 767px) {
  .ova-icon-box .icon i {
    font-size: 40px;
  }
}
.ova-icon-box.template1 .content {
  display: inline-block;
}
@media screen and (min-width: 1025px) and (max-width: 1480px) {
  .ova-icon-box.template1 .content {
    display: block;
  }
}
@media (max-width: 380px) {
  .ova-icon-box.template1 .content {
    display: block;
  }
}
.ova-icon-box.template1 .icon {
  float: right;
}
@media screen and (min-width: 1025px) and (max-width: 1480px) {
  .ova-icon-box.template1 .icon {
    float: left;
  }
}
@media (max-width: 380px) {
  .ova-icon-box.template1 .icon {
    float: left;
  }
}
.ova-icon-box.template2 {
  padding: 95px 0 60px 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  -webkit-mask-image: url("../../img/mask-image/mask-image-iconbox.png");
  mask-image: url("../../img/mask-image/mask-image-iconbox.png");
  -webkit-mask-size: cover;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
}
@media (max-width: 1024px) {
  .ova-icon-box.template2 {
    padding: 50px 0;
  }
}
@media (max-width: 767px) {
  .ova-icon-box.template2 {
    -webkit-mask-size: auto;
  }
}
.ova-icon-box.template2:hover .icon {
  background-color: var(--primary);
}
.ova-icon-box.template2:hover .icon:after {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  width: 130%;
  height: 130%;
}
.ova-icon-box.template2:hover .icon i {
  color: #fff;
}
.ova-icon-box.template2 .background {
  background-position: center;
  opacity: 0.5;
}
.ova-icon-box.template2 .content {
  margin: 0;
}
.ova-icon-box.template2 .content .title {
  font-size: 40px;
  text-align: center;
}
@media (max-width: 1250px) {
  .ova-icon-box.template2 .content .title {
    font-size: 30px;
  }
}
.ova-icon-box.template2 .icon {
  background-color: #fff;
  width: 90px;
  height: 90px;
  margin: 0 0 30px 0;
}
@media (max-width: 767px) {
  .ova-icon-box.template2 .icon {
    width: 60px;
    height: 60px;
  }
}
.ova-icon-box.template2 .icon:after {
  transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  width: 120%;
  height: 120%;
  border-radius: 50%;
}
.ova-icon-box.template2 .icon i {
  font-size: 32px;
  color: var(--primary);
}
@media (max-width: 1024px) {
  .ova-icon-box.template2 .icon i {
    font-size: 25px;
  }
}