.ct-text-media-banner-section {
  position: relative;
  isolation: isolate;
}
.ct-text-media-banner-section .text-media-outer-wrapper.page-width {
  width: 100%;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-outer-wrapper.page-width {
    padding: 0;
  }
}
.ct-text-media-banner-section .text-media-wrapper {
  position: relative;
  isolation: isolate;
  display: flex;
  width: 100%;
  padding: 64px 0;
  background: var(--bg-colour);
  -webkit-clip-path: unset;
          clip-path: unset;
}
@media only screen and (min-width: 992px) {
  .ct-text-media-banner-section .text-media-wrapper:not(:has(.background-border)).bevel-bottom-right .content-wrapper {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 87%, 89% 100%, 20% 100%, 0 100%, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 87%, 89% 100%, 20% 100%, 0 100%, 0 0);
  }
  .ct-text-media-banner-section .text-media-wrapper:not(:has(.background-border)).bevel-top-right .content-wrapper {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 91%, 92% 100%, 20% 100%, 0 100%, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 91%, 92% 100%, 20% 100%, 0 100%, 0 0);
  }
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper:not(:has(.background-border)) {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 94%, 94% 100%, 20% 100%, 0 100%, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 94%, 94% 100%, 20% 100%, 0 100%, 0 0);
  }
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper {
  overflow: hidden;
  border-left: solid 2px var(--bg-colour);
  background: none;
  -webkit-clip-path: unset;
          clip-path: unset;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper {
    margin: 0 0 20px;
  }
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper::after, .ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper::before {
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  left: 0px;
  z-index: -1;
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper::before {
  height: 20px;
  bottom: 0px;
  border: solid 2px var(--bg-colour);
  border-width: 0px 3px 2px 0px;
  transform: skew(-45deg);
  transform-origin: right top;
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-bottom-right .content-wrapper::after {
  height: calc(100% - 24px);
  top: 0px;
  border: 2px solid var(--bg-colour);
  border-width: 2px 2px 0px 0px;
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper {
  overflow: hidden;
  border-left: solid 2px var(--bg-colour);
  background: none;
  -webkit-clip-path: unset;
          clip-path: unset;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper {
    margin: 0 0 20px;
  }
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper::after, .ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper::before {
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  left: 0px;
  z-index: -1;
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper::before {
  height: 20px;
  top: 0px;
  border: solid 2px var(--bg-colour);
  border-width: 2px 3px 0px 0px;
  transform: skew(45deg);
  transform-origin: right bottom;
}
.ct-text-media-banner-section .text-media-wrapper:has(.background-border).bevel-top-right .content-wrapper::after {
  height: calc(100% - 24px);
  bottom: 0px;
  border: 2px solid var(--bg-colour);
  border-width: 0px 2px 2px 0px;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border) .media-wrapper,
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border) .video-wrapper {
    aspect-ratio: 390/310;
  }
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border) .media-wrapper::after,
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border) .video-wrapper::after {
    content: "";
    background: linear-gradient(to top, var(--bg-colour-mobile), transparent);
    position: absolute;
    inset: auto 0 0 0;
    height: 80px;
    width: 100%;
    z-index: 1;
  }
}
@media only screen and (min-width: 992px) {
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).left::before, .ct-text-media-banner-section .text-media-wrapper:has(.background-border).right::before {
    position: absolute;
    z-index: 0;
    height: 100%;
    width: 100%;
    opacity: 0.5;
  }
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).left::before {
    content: "";
    inset: 0 auto 0 0;
    background: linear-gradient(to right, black 25%, transparent 80%);
  }
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).right::before {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    background: linear-gradient(to left, black 15%, transparent 70%);
  }
  .ct-text-media-banner-section .text-media-wrapper:has(.background-border).center::before {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -50% -50%;
    z-index: 0;
    background: radial-gradient(circle, black 15%, transparent 70%);
    width: auto;
    height: 100%;
    opacity: 0.3;
    aspect-ratio: 1;
  }
}
.ct-text-media-banner-section .text-media-wrapper.right > .page-width {
  justify-content: flex-end;
}
.ct-text-media-banner-section .text-media-wrapper.left > .page-width {
  justify-content: flex-start;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper {
    padding: 0;
    background: var(--bg-colour-mobile);
  }
  .ct-text-media-banner-section .text-media-wrapper, .ct-text-media-banner-section .text-media-wrapper.left, .ct-text-media-banner-section .text-media-wrapper.right {
    flex-flow: var(--layout-mobile) nowrap;
  }
}
.ct-text-media-banner-section .text-media-wrapper > .page-width {
  pointer-events: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column nowrap;
  flex-flow: row nowrap;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper > .page-width {
    background: var(--bg-colour-mobile);
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper,
.ct-text-media-banner-section .text-media-wrapper .content-wrapper {
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column nowrap;
  gap: 13px;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper,
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper,
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper {
    gap: 11px;
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper {
  overflow: hidden;
  isolation: isolate;
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper {
    position: relative;
    aspect-ratio: 387/227;
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper img:not(.video-wrapper img), .ct-text-media-banner-section .text-media-wrapper .media-wrapper svg, .ct-text-media-banner-section .text-media-wrapper .media-wrapper video,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper img:not(.video-wrapper img),
.ct-text-media-banner-section .text-media-wrapper .video-wrapper svg,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-desktop,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-desktop {
  display: block;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-desktop,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-desktop {
    display: none;
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-mobile,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-mobile {
  display: none;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-mobile,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-mobile {
    display: block;
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper.video-wrapper img.play-icon, .ct-text-media-banner-section .text-media-wrapper .media-wrapper.video-wrapper img.pause-icon,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper.video-wrapper img.play-icon,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper.video-wrapper img.pause-icon {
  display: none;
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-desktop,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-desktop {
  display: block;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-desktop,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-desktop {
    display: none;
  }
}
.ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-mobile,
.ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-mobile {
  display: none;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .media-wrapper .media-mobile,
  .ct-text-media-banner-section .text-media-wrapper .video-wrapper .media-mobile {
    display: block;
  }
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper {
  isolation: isolate;
  position: relative;
  width: 100%;
  max-width: 480px;
  min-height: 290px;
  background: var(--bg-colour);
  padding: 75px 78px 65px;
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-middle {
  align-items: center;
  text-align: center;
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-right {
  align-items: flex-end;
  text-align: right;
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-left {
  align-items: flex-start;
  text-align: left;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper {
    background: none;
    padding: 37px 20px 37px;
  }
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-left, .ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-right, .ct-text-media-banner-section .text-media-wrapper .content-wrapper.content-middle {
    text-align: left;
    align-items: flex-start;
  }
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .title, .ct-text-media-banner-section .text-media-wrapper .content-wrapper .body {
  color: var(--text-colour);
  width: 100%;
  max-width: 450px;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper .title, .ct-text-media-banner-section .text-media-wrapper .content-wrapper .body {
    color: var(--text-colour-mobile);
  }
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper .title, .ct-text-media-banner-section .text-media-wrapper .content-wrapper .body {
    max-width: 400px;
  }
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .title {
  font-size: 40px;
  line-height: 1.4;
}
@media only screen and (max-width: 767.98px) {
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper .title {
    font-size: 30px;
  }
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .body,
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .body * {
  font-size: 14px;
  line-height: 1.3;
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .body.sub-text, .ct-text-media-banner-section .text-media-wrapper .content-wrapper .body.sub-text *,
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .body *.sub-text,
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .body *.sub-text * {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.ct-text-media-banner-section .text-media-wrapper .content-wrapper .content-btn {
  margin-top: 10px;
  text-transform: uppercase;
}
@media only screen and (max-width: 575.98px) {
  .ct-text-media-banner-section .text-media-wrapper .content-wrapper .content-btn {
    font-size: 14px;
    padding: var(--button-v-padding) 35px;
  }
}
.ct-text-media-banner-section .text-media-wrapper.no-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: transparent linear-gradient(67deg, var(--unnamed-color-121617) 0%, rgba(18, 22, 23, 0) 100%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(67deg, #121617 0%, rgba(18, 22, 23, 0) 100%) 0% 0% no-repeat padding-box;
}
.ct-text-media-banner-section .text-media-wrapper.no-bg .content-wrapper {
  background: unset !important;
}
.ct-text-media-banner-section .bg-svg {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: -1;
  opacity: 0.2;
  pointer-events: none;
}
@media only screen and (max-width: 991.98px) {
  .ct-text-media-banner-section .bg-svg {
    display: none;
  }
}
