.flexible-banner__block {
  --banner-background-color: #4f2d7f;
  --banner-title-text-color: #fff;
  --banner-descriptions-text-color: #fff;
  --breadcrumb-text-color: #2b144d;
  --banner-right-background-color: #4f2d7f;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 960px) {
  .has-menu-v3 .flexible-banner__block {
    margin-top: 16px;
  }
  .has-menu-v3 .no-above-breadcrumbs .flexible-banner__block {
    margin-top: 40px;
  }
}
.flexible-banner__block.core-purple {
  --banner-right-background-color: #4f2d7f;
}
.flexible-banner__block.core-purple .banner-contents {
  box-shadow: none;
}
.flexible-banner__block.dark-purple {
  --banner-background-color: #2b144d;
  --banner-title-text-color: #fff;
  --banner-descriptions-text-color: #fff;
  --banner-right-background-color: #2b144d;
}
.flexible-banner__block.white,
.flexible-banner__block.grey {
  --banner-background-color: #fff;
  --banner-title-text-color: #4f2d7f;
  --banner-descriptions-text-color: #4f2d7f;
  --breadcrumb-text-color: #4f2d7f;
}
@media (min-width: 960px) {
  .flexible-banner__block.white,
  .flexible-banner__block.grey {
    margin-bottom: 0;
  }
}
@media (min-width: 1300px) {
  .flexible-banner__block.white,
  .flexible-banner__block.grey {
    margin-top: 24px;
    margin-bottom: 32px;
  }
}
.flexible-banner__block.white {
  --banner-right-background-color: #fff;
}
.flexible-banner__block.grey {
  --banner-background-color: #e0dcd7;
  --banner-title-text-color: #2b144d;
  --banner-descriptions-text-color: #2b144d;
  --banner-right-background-color: #e0dcd7;
}
.flexible-banner__block.hide-right__column .banner-left__column::after {
  content: none;
}
@media (min-width: 960px) {
  .flexible-banner__block.hide-right__column .banner-left__column::after {
    content: "";
  }
}
.flexible-banner__block.hide-right__column .banner-right__column {
  display: none;
}
@media (min-width: 960px) {
  .flexible-banner__block.hide-right__column .banner-right__column {
    display: flex;
  }
}
.flexible-banner__block .flexible-image__banner,
.flexible-banner__block .flexible-video__banner {
  overflow: hidden;
}
@media (max-width: 959px) {
  .flexible-banner__block .flexible-image__banner,
  .flexible-banner__block .flexible-video__banner {
    border-radius: 0 128px 0 0;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block .flexible-image__banner,
  .flexible-banner__block .flexible-video__banner {
    border-bottom-left-radius: 160px;
  }
}
.flexible-banner__block .banner-left__column {
  background: var(--banner-background-color);
  position: relative;
  display: flex;
  justify-items: center;
  justify-content: center;
  flex-flow: column nowrap;
}
.flexible-banner__block .banner-left__column::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8.7rem;
  width: 100%;
  height: 88px;
  background: var(--banner-background-color);
}
@media (max-width: 959px) {
  .flexible-banner__block .banner-left__column::after {
    height: 128px;
    bottom: -127px;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-left__column::after {
    height: 100%;
    width: 160px;
    right: -159px;
    left: auto;
    top: 0;
    bottom: auto;
  }
}
.flexible-banner__block .banner-contents {
  width: 100%;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  margin: auto;
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-contents {
    display: flex;
    min-height: 28rem;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-contents {
    box-shadow: 0px 4px 8px 0px rgba(43, 20, 77, 0.16);
    border-radius: 40px;
    width: calc(100% - 32px);
  }
  .flexible-banner__block .banner-contents > .container {
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .flexible-banner__block .banner-contents > .container {
    width: 100%;
  }
}
@media (min-width: 1300px) {
  .flexible-banner__block .banner-contents {
    width: calc(114rem + 128px);
  }
  .flexible-banner__block .banner-contents > .container {
    width: 1172px;
  }
}
@media (min-width: 1680px) {
  .flexible-banner__block .banner-contents {
    width: calc(114rem + 160px);
  }
}
.flexible-banner__block .banner-contents .svg-graphic-texture {
  top: 0;
  right: 0;
}
.flexible-banner__block
  .banner-contents
  .svg-graphic-texture
  .svg-graphic-texture-group-path {
  transform: translateY(35%) translateX(18%);
}
.flexible-banner__block .banner-contents.full-width__column {
  background: none;
}
.flexible-banner__block
  .banner-contents.full-width__column
  .banner-right__column {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 960px) {
  .flexible-banner__block
    .banner-contents.full-width__column
    .banner-right__column
    .banner-background.mobius
    .mobius-svg {
    right: 45%;
  }
}
.flexible-banner__block
  .banner-contents.full-width__column
  .banner-left__column {
  position: relative;
  z-index: 1;
  background: none;
}
.flexible-banner__block
  .banner-contents.full-width__column
  .banner-left__column::after {
  content: none;
}
.flexible-banner__block
  .banner-contents.full-width__column
  .svg-graphic-texture-group-path {
  transform: translateY(35%) translateX(10%);
  color: var(--svg-graphic-texture--color, #fff);
}
.flexible-banner__block .banner-contents.mobius-animation {
  --banner-title-text-color: #fff;
  --banner-descriptions-text-color: #fff;
}
.flexible-banner__block .banner-background {
  position: relative;
  background: var(--banner-right-background-color, #2b144d);
  width: 100%;
  min-height: 35rem;
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-background {
    height: 100%;
    min-height: 0;
  }
}
.flexible-banner__block .banner-background.white {
  --banner-right-background-color: #fff;
  --svg-graphic-texture--color: #2b144d;
}
.flexible-banner__block .banner-background.core-purple {
  --banner-right-background-color: #4f2d7f;
  --svg-graphic-texture--color: #a06dff;
}
.flexible-banner__block .banner-background.dark-purple {
  --banner-right-background-color: #2b144d;
  --svg-graphic-texture--color: #a06dff;
}
.flexible-banner__block .banner-background.grey {
  --banner-right-background-color: #e0dcd7;
  --svg-graphic-texture--color: #2b144d;
}
.flexible-banner__block .banner-background.gradient-primary__bright {
  background: linear-gradient(135deg, #4f2d7f 0%, #a06dff 100%);
}
.flexible-banner__block .banner-background.gradient-secondary__coral {
  background: linear-gradient(135deg, #4f2d7f 0%, #ff5149 100%);
}
.flexible-banner__block .banner-background.gradient-primary__dark {
  background: linear-gradient(135deg, #2b144d 0%, #4f2d7f 100%);
}
.flexible-banner__block .banner-background.gradient-secondary__teal {
  background: linear-gradient(135deg, #4f2d7f 0%, #00a4b3 100%);
}
.flexible-banner__block .banner-background.gradient-primary__bright,
.flexible-banner__block .banner-background.gradient-secondary__coral,
.flexible-banner__block .banner-background.gradient-primary__dark,
.flexible-banner__block .banner-background.gradient-secondary__teal {
  height: 100%;
}
.flexible-banner__block .banner-background .lazyload-banner__img {
  background-size: cover;
  background-position: top center;
}
.flexible-banner__block .banner-background img {
  object-fit: cover;
  object-position: center;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
}
.flexible-banner__block
  .banner-background.flexible-video__banner
  .flexible-banner__background {
  width: 100%;
  height: 100%;
}
.flexible-banner__block
  .banner-background.flexible-video__banner
  .video-background {
  position: absolute;
  direction: ltr;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  overflow: hidden;
  object-fit: cover;
  max-width: 110%;
  max-height: 110%;
}
.flexible-banner__block
  .banner-background.flexible-video__banner
  .background-underlay {
  background: var(--banner-right-background-color);
}
.flexible-banner__block .banner-background.mobius {
  --banner-right-background-color: #4f2d7f;
}
.flexible-banner__block .banner-background.mobius .mobius-svg {
  left: 20%;
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-background.mobius .mobius-svg {
    right: 85%;
    left: auto;
  }
}
.flexible-banner__block .banner-background.mobius .background-underlay {
  background: var(--banner-right-background-color);
}
.flexible-banner__block .banner-background.bg-gradient-animate {
  --svg-graphic-texture--color: #fff;
}
@media (min-width: 768px) {
  .flexible-banner__block
    .banner-background.bg-gradient-animate
    .background-underlay::before {
    background-size: 200% 100%;
    top: -350px;
    bottom: -350px;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block
    .banner-background.bg-gradient-animate
    .background-underlay::before {
    background-size: 150% 100%;
    top: -200px;
    bottom: -200px;
  }
}
.flexible-banner__block .lazyload-banner__img,
.flexible-banner__block .preload-banner__img {
  height: 100%;
}
.flexible-banner__block .banner-title {
  color: var(--banner-title-text-color);
}
.flexible-banner__block .banner-descriptions {
  margin-top: 24px;
  color: var(--banner-descriptions-text-color);
}
.flexible-banner__block .flexible-cta__button {
  margin-right: auto;
}
@media (max-width: 479px) {
  .flexible-banner__block .flexible-cta__button {
    width: auto;
  }
}
@media (max-width: 1023px) {
  .flexible-banner__block .flexible-cta__button {
    margin-top: 24px;
  }
}
@media (min-width: 1024px) {
  .flexible-banner__block .flexible-cta__button {
    margin-top: 40px;
  }
}
.flexible-banner__block {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .flexible-banner__block {
    margin-top: 40px;
  }
}
@media (max-width: 959px) {
  .flexible-banner__block.has-margin {
    margin-top: 16px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 16px;
    padding-right: 16px;
  }
  .flexible-banner__block.has-margin:before,
  .flexible-banner__block.has-margin:after {
    content: " ";
    display: table;
  }
  .flexible-banner__block.has-margin:after {
    clear: both;
  }
  .flexible-banner__block.has-margin .dynamic-container,
  .flexible-banner__block.has-margin .container {
    width: auto;
    padding: 0;
  }
  .flexible-banner__block.has-margin .dynamic-container .row,
  .flexible-banner__block.has-margin .container .row {
    margin-left: 0;
    margin-right: 0;
  }
  .flexible-banner__block.has-margin .dynamic-container {
    max-width: 100%;
  }
  .flexible-banner__block.has-margin [class*="col-"] .container .row {
    margin-left: -16px;
    margin-right: -16px;
  }
}
@media (max-width: 959px) and (max-width: 768px) {
  .flexible-banner__block.has-margin {
    width: 100%;
  }
}
@media (max-width: 959px) and (min-width: 768px) {
  .flexible-banner__block.has-margin {
    width: calc(100% - 64px);
  }
}
@media (max-width: 959px) and (min-width: 1024px) {
  .flexible-banner__block.has-margin {
    width: calc(100% - 64px);
  }
}
@media (max-width: 959px) and (min-width: 1300px) {
  .flexible-banner__block.has-margin {
    width: 1172px;
  }
}
.flexible-banner__block .banner-left__column {
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (max-width: 767px) {
  .flexible-banner__block .banner-left__column {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width: 768px) {
  .flexible-banner__block .banner-left__column {
    padding-left: 48px;
    padding-right: 48px;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-left__column {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media (min-width: 1300px) {
  .flexible-banner__block .banner-left__column {
    padding-left: 64px;
  }
}
@media (min-width: 1680px) {
  .flexible-banner__block .banner-left__column {
    padding-right: 40px;
    padding-left: 80px;
  }
}
.flexible-banner__block .banner-right__column {
  border-radius: 24px;
  overflow: hidden;
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-right__column .svg-graphic-texture {
    height: 125%;
  }
}
@media (max-width: 959px) {
  .flexible-banner__block .banner-right__column .svg-graphic-texture {
    height: 110%;
    transform: translateX(35%);
    display: block;
  }
}
.flexible-banner__block .banner-right__column .banner-background {
  height: 100%;
}
.flexible-banner__block .banner-title {
  max-width: 948px;
  margin: 0;
}
.flexible-banner__block .gt-category {
  --gt-category--font-size: $size-regular;
  margin-bottom: 24px;
}
.flexible-banner__block .banner-contents {
  border-radius: 24px;
}
@media (min-width: 960px) {
  .flexible-banner__block .banner-contents {
    min-height: 23rem;
  }
}
@media (min-width: 1200px) {
  .flexible-banner__block .banner-contents {
    min-height: 28rem;
  }
}
@media (max-width: 959px) {
  .flexible-banner__block .banner-contents {
    min-height: auto;
  }
}
.flexible-banner__block .mobius-svg {
  right: 35%;
}
@media (min-width: 960px) {
  .case-study-page .flexible-banner__block .background {
    min-height: 0;
  }
}
@media (min-width: 960px) {
  .t9-insight-page .thin-banner__block .banner-left__column {
    padding-bottom: 40px;
    padding-top: 40px;
  }
}
@media (min-width: 1300px) {
  .t9-insight-page .thin-banner__block .banner-left__column {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media (min-width: 960px) {
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-gray,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-inverse__none,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-inverse__grey,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-gray,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-inverse__none,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-inverse__grey,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-gray,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-inverse__none,
  .flexible-banner__block
    + .t44-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-inverse__grey,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-gray,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-inverse__none,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-gray)
    .bg-inverse__grey,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-gray,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-inverse__none,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__none)
    .bg-inverse__grey,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-gray,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-inverse__none,
  .flexible-banner__block
    + .t43-page
    .top-contents_area
    > div
    div[class*="block"]:first-child:has(.bg-inverse__grey)
    .bg-inverse__grey {
    padding-top: 0;
  }
}
@media (min-width: 960px) {
  .profile-listing-page
    .flexible-banner__block
    + .extended-search
    .extended-search-bar,
  .tombstone-listing-page
    .flexible-banner__block
    + .extended-search
    .extended-search-bar {
    padding-top: 24px;
  }
}
.tombstone-listing-page .tombstone-readmore__section .content-hub__intro {
  margin-top: 56px;
}

/*# sourceMappingURL=flexible-banner-compact.css.map */
