.promo-banner {
  position: relative;
  overflow: hidden;
}
.promo-banner .banner-image img {
  width: 100%;
}
.promo-banner .banner-image:not(.wd-without-height) img,
.promo-banner .banner-image:not(.wd-without-height) picture {
  height: inherit;
  object-fit: cover;
  object-position: inherit;
}
.promo-banner .wrapper-content-banner {
  z-index: 2;
  display: flex;
  overflow: hidden;
  padding: 30px;
}
.promo-banner .content-banner {
  position: relative;
  width: 100%;
}
.promo-banner .content-banner > div:first-child {
  margin-top: 0;
}
.promo-banner .banner-title-wrap .banner-subtitle:first-child,
.promo-banner .banner-title-wrap .banner-title:first-child {
  margin-top: 0;
}
.promo-banner .banner-title-wrap:empty {
  display: none;
}
.promo-banner .banner-subtitle,
.promo-banner .banner-title,
.promo-banner .banner-inner {
  margin-top: 7px;
}
.promo-banner .banner-title {
  display: block;
  margin-bottom: 0;
  line-height: 1.3;
}
.promo-banner .banner-btn-wrapper {
  margin-top: 15px;
}
.promo-banner .banner-inner p:first-child:empty {
  display: none;
}
.banners-carousel-wrapper .owl-dots {
  margin-top: 10px;
}
.banner-increased-padding .wrapper-content-banner {
  padding: 7%;
}
.banner-hover-zoom {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.banner-hover-zoom .banner-image {
  transition: transform 0.5s cubic-bezier(0, 0, 0.44, 1.18);
}
.banner-hover-zoom:hover .banner-image {
  transform: scale(1.09);
}
.banner-hover-zoom-reverse {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.banner-hover-zoom-reverse .banner-image {
  transition: transform 0.5s cubic-bezier(0, 0, 0.44, 1.18);
  transform: scale(1.09);
}
.banner-hover-zoom-reverse:hover .banner-image {
  transform: none;
}
.banner-hover-background,
.banner-hover-border {
  backface-visibility: hidden;
}
.banner-hover-background .banner-image,
.banner-hover-border .banner-image {
  transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}
.banner-hover-background:hover .banner-image,
.banner-hover-border:hover .banner-image {
  transform: scale(1.09);
}
.banner-hover-background:not(.banner-background) .wrapper-content-banner,
.banner-hover-border:not(.banner-border) .wrapper-content-banner {
  overflow: hidden;
  padding: 40px;
}
.banner-hover-background:not(.banner-background) .wrapper-content-banner:after,
.banner-hover-border:not(.banner-border) .wrapper-content-banner:after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.05, 0.2, 0.1, 1),
    opacity 0.35s cubic-bezier(0.05, 0.2, 0.1, 1);
  transform: scale(0.5);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.banner-hover-background:not(.banner-background) .content-banner,
.banner-hover-border:not(.banner-border) .content-banner {
  z-index: 4;
}
.banner-hover-background:not(.banner-background):hover
  .wrapper-content-banner:after,
.banner-hover-border:not(.banner-border):hover .wrapper-content-banner:after {
  opacity: 1;
  transform: scale(1);
}
.banner-hover-background.banner-border .wrapper-content-banner,
.banner-hover-border.banner-background .wrapper-content-banner {
  padding: 30px;
}
.banner-hover-background.banner-border .wrapper-content-banner:after,
.banner-hover-border.banner-background .wrapper-content-banner:after {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.banner-hover-background:not(.banner-background) .wrapper-content-banner:after {
  background-color: rgba(0, 0, 0, 0.9);
}
.banner-hover-background.color-scheme-dark:not(.banner-border)
  .wrapper-content-banner:after {
  background-color: rgba(255, 255, 255, 0.9);
}
.banner-hover-border:not(.banner-border) .wrapper-content-banner:after {
  border: 5px solid rgba(255, 255, 255, 0.3);
}
.banner-hover-border.color-scheme-dark:not(.banner-border)
  .wrapper-content-banner:after {
  border-color: rgba(0, 0, 0, 0.1);
}
.banner-mask .wrapper-content-banner {
  background-color: rgba(0, 0, 0, 0.3);
  transition: background-color 0.5s cubic-bezier(0, 0, 0.44, 1.18);
}
.banner-mask.color-scheme-dark .wrapper-content-banner {
  background-color: rgba(255, 255, 255, 0.3);
}
.banner-mask.banner-hover-zoom:hover .wrapper-content-banner,
.banner-mask.banner-hover-zoom-reverse:hover .wrapper-content-banner {
  background-color: rgba(0, 0, 0, 0.6);
}
.banner-mask.banner-hover-zoom.color-scheme-dark:hover .wrapper-content-banner,
.banner-mask.banner-hover-zoom-reverse.color-scheme-dark:hover
  .wrapper-content-banner {
  background-color: rgba(255, 255, 255, 0.6);
}
.banner-shadow {
  box-shadow: 0 10px 20px -9px rgba(0, 0, 0, 0.5);
}
.banner-background .wrapper-content-banner,
.banner-border .wrapper-content-banner {
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  overflow: hidden;
}
.banner-background .wrapper-content-banner {
  background-color: rgba(0, 0, 0, 0.8);
}
.banner-background.color-scheme-dark .wrapper-content-banner {
  background-color: rgba(255, 255, 255, 0.8);
}
.banner-content-background .wrapper-content-banner {
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  backface-visibility: hidden;
  perspective: 800px;
}
.banner-content-background .wrapper-content-banner.wd-items-top {
  bottom: auto;
}
.banner-content-background .wrapper-content-banner.wd-items-middle {
  top: 50%;
  bottom: auto;
  transform: translate3d(0, -50%, 0);
}
.banner-content-background .wrapper-content-banner.wd-items-bottom {
  top: auto;
}
.banner-content-background .wrapper-content-banner.wd-justify-left {
  right: auto;
}
.banner-content-background .wrapper-content-banner.wd-justify-center {
  right: auto;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}
.banner-content-background
  .wrapper-content-banner.wd-justify-center.wd-items-middle {
  transform: translate3d(-50%, -50%, 0);
}
.banner-content-background .wrapper-content-banner.wd-justify-right {
  left: auto;
}
.banner-content-background.color-scheme-dark .wrapper-content-banner {
  background-color: rgba(255, 255, 255, 0.8);
}
.banner-border .wrapper-content-banner {
  border: 5px solid rgba(255, 255, 255, 0.3);
}
.banner-border.color-scheme-dark .wrapper-content-banner {
  border-color: rgba(0, 0, 0, 0.1);
}
@media (min-width: 1025px) {
  .banner-btn-position-hover .content-banner {
    transition: transform 0.25s ease;
  }
  .banner-btn-position-hover .banner-inner p:first-child:empty ~ p:last-child {
    margin-top: -10px;
    margin-bottom: 0;
  }
  .banner-btn-position-hover .banner-btn-wrapper {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    transform: translateY(15px);
  }
  .banner-btn-position-hover:hover .content-banner {
    transition: transform 0.3s ease;
  }
  .banner-btn-position-hover:hover .banner-btn-wrapper {
    opacity: 1;
    transition: opacity 0.4s ease, transform 0.4s ease;
    transform: translateY(0);
  }
  .banner-btn-position-hover.banner-btn-size-extra-small:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-21px);
  }
  .banner-btn-position-hover.banner-btn-size-extra-small:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-43px);
  }
  .banner-btn-position-hover.banner-btn-size-small:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-25px);
  }
  .banner-btn-position-hover.banner-btn-size-small:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-51px);
  }
  .banner-btn-position-hover.banner-btn-size-default:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-28px);
  }
  .banner-btn-position-hover.banner-btn-size-default:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-57px);
  }
  .banner-btn-position-hover.banner-btn-size-large:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-31px);
  }
  .banner-btn-position-hover.banner-btn-size-large:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-63px);
  }
  .banner-btn-position-hover.banner-btn-size-extra-large:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-35px);
  }
  .banner-btn-position-hover.banner-btn-size-extra-large:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-71px);
  }
  .banner-btn-position-hover.banner-btn-style-link:hover
    .wrapper-content-banner.wd-items-middle
    > div {
    transform: translateY(-19px);
  }
  .banner-btn-position-hover.banner-btn-style-link:hover
    .wrapper-content-banner.wd-items-bottom
    > div {
    transform: translateY(-39px);
  }
}
@media (min-width: 1200px) {
  .banner-increased-padding .banner-subtitle.wd-fontsize-xs {
    font-size: 1vw;
  }
  .banner-increased-padding .banner-subtitle.wd-fontsize-s {
    font-size: 1.1vw;
  }
  .banner-increased-padding .banner-subtitle.wd-fontsize-m {
    font-size: 1.3vw;
  }
  .banner-increased-padding .banner-title.wd-fontsize-s {
    font-size: 1.2vw;
  }
  .banner-increased-padding .banner-title.wd-fontsize-l {
    font-size: 1.6vw;
  }
  .banner-increased-padding .banner-title.wd-fontsize-xl {
    font-size: 2vw;
  }
  .banner-increased-padding .banner-title.wd-fontsize-xxl {
    font-size: 2.3vw;
  }
}
@media (max-width: 1200px) {
  .banner-subtitle.wd-fontsize-xs {
    font-size: 1vw;
  }
  .banner-subtitle.wd-fontsize-s {
    font-size: 1.1vw;
  }
  .banner-subtitle.wd-fontsize-m {
    font-size: 1.3vw;
  }
  .banner-title.wd-fontsize-s {
    font-size: 1.2vw;
  }
  .banner-title.wd-fontsize-l {
    font-size: 1.6vw;
  }
  .banner-title.wd-fontsize-xl {
    font-size: 2vw;
  }
  .banner-title.wd-font-size-xxl {
    font-size: 2.3vw;
  }
}
@media (max-width: 1024px) {
  .banner-inner.wd-fontsize-m {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .banner-btn-position-hover .banner-btn-wrapper {
    display: none;
  }
  .banner-btn-wrapper .btn-size-default,
  .banner-btn-wrapper .btn-size-large,
  .banner-btn-wrapper .btn-size-extra-large {
    padding: 10px 14px;
    font-size: 12px;
    line-height: 16px;
  }
  .banner-btn-wrapper .btn-style-link {
    padding: 0;
  }
  .owl-items-sm-1 .banner-subtitle {
    font-size: 3vw;
  }
  .owl-items-sm-1 .banner-title {
    font-size: 5vw;
  }
  .banner-inner.wd-fontsize-s,
  .banner-inner.wd-fontsize-m {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .promo-banner .banner-subtitle {
    font-size: 3vw;
  }
  .promo-banner .banner-title {
    font-size: 5vw;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .vc_col-sm-6 .banner-subtitle.wd-fontsize-xs,
  .owl-items-md-2 .banner-subtitle.wd-fontsize-xs {
    font-size: 1vw;
  }
  .vc_col-sm-6 .banner-subtitle.wd-fontsize-s,
  .owl-items-md-2 .banner-subtitle.wd-fontsize-s {
    font-size: 1.3vw;
  }
  .vc_col-sm-6 .banner-title.wd-fontsize-s,
  .owl-items-md-2 .banner-title.wd-fontsize-s {
    font-size: 1.6vw;
  }
  .vc_col-sm-6 .banner-title.wd-fontsize-l,
  .owl-items-md-2 .banner-title.wd-fontsize-l {
    font-size: 2vw;
  }
  .vc_col-sm-6 .banner-title.wd-fontsize-xl,
  .owl-items-md-2 .banner-title.wd-fontsize-xl {
    font-size: 2.3vw;
  }
}
@media (min-width: 576px) and (max-width: 768px) {
  .owl-items-sm-3 .banner-subtitle,
  .owl-items-sm-2 .banner-subtitle {
    font-size: 2vw;
  }
  .owl-items-sm-3 .banner-title,
  .owl-items-sm-2 .banner-title {
    font-size: 3vw;
  }
}
