body {
	background-color: var(--deep-purple)
}
.content-area.home-202504 {
  margin-top:-120px;
}
.promo-showing {
  padding-top:45px;
}

.promo-bar {
	border-bottom: 10px solid #fff00b !important;
}

/* Hero Full Width */
.row-1, .row-2, .row-3 {
	position:absolute;
}
.row-1 {
	top:-50px;
	z-index: 1 !important;
    max-height:695px;
}
.row-2 {
	top:50px;
	right:0;
	z-index: 50 !important;
}
.row-3 {
	top:190px;
	z-index: 100 !important;
}
.kb-buttons-wrap {
	font-weight: 500;
	z-index: 999999;
	position: relative;
}
.hero-fw h1 {
	z-index: 999999;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
	font-family: 'Vinila', sans-serif;
	font-weight:400;
	font-size: 120px;
	line-height: 1;
	letter-spacing: -0.5px;
	position:relative;
	max-width: 915px;
    margin: 145px 0 100px; 
}

h1 {
  font-family: 'Vinila', sans-serif;
  font-weight:400;
  font-size: 64px;
  line-height: 64px;
}
h2 {
	font-family: 'Vinila', sans-serif;
	font-weight:400;
	font-size: 48px;
	line-height: 64px;
}
h2.purple {
	font-family: 'Crimson Pro', sans-serif;
    font-weight: 300;
    font-style: italic;
	font-size:72px;
	line-height: 64px;
}
.portfolio-features {
  display: flex;
}

.portfolio-features .col1 {
  width: 30%;
}

.portfolio-features .col2 {
  width: 70%;
}

.portfolio-features .col1 h2 {
  cursor: pointer;
  padding: 10px;
}

.portfolio-features .col1 h2.active {
  background: #333;
  color: #fff;
}

.portfolio-features .col2 > div {
  display: none;
}

.portfolio-features p {
	font-weight: 300;
}
.portfolio-features p.medium {
	font-weight: 500;
}
#desktop-feature-head h2 {
	font-size:40px;
	font-weight:400;
	line-height:50px;
	margin-bottom:48px;
	cursor: pointer;
}
/* #desktop-feature-head h2.active,
#desktop-feature-head h2:hover {
	font-family: 'Crimson Pro';
	font-size: 48px;
	font-weight: 300;
	font-style: italic;
	color:#ffffff;
} */
#desktop-feature-head h2:hover {
  text-decoration: underline;
  color: white;
}
#desktop-feature-head h2.active {
  font-family: 'Crimson Pro';
  font-size: 48px;
  font-weight: 300;
  font-style: italic;
  color: #ffffff;
  text-decoration: none !important;
}
#desktop-feature-head h2.active::after,
#desktop-feature-head h2:hover::after {
  content: '';
  display: inline-block;
  width: 40px;
  height: 33px;
  margin-left: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='33' viewBox='0 0 40 33' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.025 0 40 16.5 25.013 33l-3.334-3.013 10.108-11.012H0v-4.95h31.637l-9.97-11.039L25.025 0z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
#mobile-feature-head {
  display: none;
}
#mobile-feature-head h2 {
  font-size:24px;
  font-weight:400;
  margin-bottom:16px;
  color:#c0c8df;
  cursor: pointer;
}
#mobile-feature-head h2.active {
  color: #e64c3c;
}
.medium {
	font-weight: 500
}
.kb-button.kb-btn-global-outline {
	border:1px solid #171223 !important;
	padding: 12.8px 48px 12.2px !important;
	border-radius: 48px !important;
	color: #171223 !important;
}
.portfolio-features .kb-button.kb-btn-global-outline {
	border:1px solid #ffffff !important;
	color: #ffffff !important;
}
.z0 {
	z-index: 0 !important;
} 
.yellow-bar,
.purple-strip {
	position:relative;
}
.promo-bar {
  z-index: 9999 !important;
}
.kb-button.kb-btn-global-outline.white-btn {
  color:#ffffff !important;
  border-color:#ffffff !important;
}

body.page-id-19344 .wp-block-kadence-advancedbtn a.kt-button:hover,
.kb-button.kb-btn-global-outline:hover {
  color: #171223 !important;
  background: #e64c3c !important;
  border: 1px solid #e64c3c !important;
}
.light {
  font-weight:300;
}
.light strong {
  font-weight: 400
}
.faded-text {
  color: #ffffff66 !important;
}
.faded-text strong {
  color:#ffffff;
}
h2 mark.kt-highlight {
  color:#905ed1 !important;
  font-size: 90px;
  line-height:88px;
  font-family: 'Crimson Pro', serif;
  font-weight:300;
  font-style: italic;
}
.faq__accordion-question-copy, .faq__accordion .kt-blocks-accordion-title-wrap {
    color: #fff;
    font-weight: 400;
    font-size: 32px;
    line-height: normal;
}
.faq__accordion {
    border-top: 0px solid #fff;
    border-bottom: 0px solid #fff;
    /* grid-column: 1 / -1; */
    margin-top: 0px;
    padding: 0;
}
.faq__accordion .kt-accordion-panel-inner {
    width: 95%;
}
.faq {
  background: #171223;
  padding: 0;
}
@media screen and (min-width: 1024px) {
  .faq {
    padding: 32px 0 96px;
  }
}
.kt-blocks-accordion-header {
  padding-bottom:0;
}
.faq__accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::before, 
.faq__accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::after {
  background-color: #cf4a02 !important;
}
.z1neg {
  z-index:-1;
}
.z-top {
  z-index: 999999999 !important;
}
.marquee-wrapper {
  overflow: hidden;
  width: 100%;
}

.marquee-track .kt-inside-inner-col {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  animation: marquee-1 440s linear infinite;
  will-change: transform;
  flex-direction: row !important;
  width: max-content;
}

.row-2 .marquee-track .kt-inside-inner-col {
  animation: marquee-2 440s linear infinite;
  left:-150px;
}

.row-3 .marquee-track .kt-inside-inner-col {
  animation: marquee-3 440s linear infinite;
}

.marquee-track figure {
  margin: 0;
  padding: 0;
  display: inline-block;
  flex-shrink: 0;
}

/* Optional: Add spacing between duplicate images */
.marquee-track figure + figure {
  margin-left: 50px;
}

/* Keyframes for each row */
@keyframes marquee-1 {
  0% {
    transform: translateX(0) scale(1);
  }
  100% {
    transform: translateX(-100%) scale(1);
  }
}

@keyframes marquee-2 {
  0% {
    transform: translateX(0) scale(1);
  }
  100% {
    transform: translateX(-100%) scale(1);
  }
}

@keyframes marquee-3 {
  0% {
    transform: translateX(0) scale(1);
  }
  100% {
    transform: translateX(-100%) scale(1);
  }
}
.page {
  overflow-x: hidden;
}
.carousel-top,
.carousel-bottom {
  height: 528px;
  overflow: hidden;
  position: relative;
  /* flex-direction: row; */
}
.carousel-top img,
.carousel-bottom img {
  height: 100%;
  /* width: auto; */
  object-fit: contain;
}
.carousel-top .kt-inside-inner-col,
.carousel-bottom .kt-inside-inner-col {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  animation-duration: 200s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.carousel-top .perfmatters-lazy.pmloaded, 
.carousel-top .perfmatters-lazy.pmloaded>img, 
.carousel-top .perfmatters-lazy>img.pmloaded, 
.carousel-top .perfmatters-lazy[data-ll-status=entered],
.carousel-bottom .perfmatters-lazy.pmloaded, 
.carousel-bottom .perfmatters-lazy.pmloaded>img, 
.carousel-bottom .perfmatters-lazy>img.pmloaded, 
.carousel-bottom .perfmatters-lazy[data-ll-status=entered] {
  animation:unset !important;
}
.carousel-top .kt-inside-inner-col {
  animation-name: scroll-left;
}

.carousel-bottom .kt-inside-inner-col {
  animation-name: scroll-right;
}
.hide-mobile {
  display:block;
}
.hide-desktop {
  display:none !important;
}
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes scroll-right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.animation video {
  max-width:100%;
}
.kt-blocks-accordion-header:hover .kt-blocks-accordion-title {
  text-decoration: underline;
}

.selling-row {
  background-position: 146% 101% !important;
  background-size: 70% auto !important;
}
.portfolio-features video {
  max-width:100%;
  margin:10px 0;
}
.scroll {
  background:rgba(62, 57, 69, 0.81) !important;
}
@media (max-width: 1024px) {
  .portfolio-features {
    height: 650px !important;
  }
  .row-1 {
    top:30px;
  }
  .hero-fw h1 {
    text-align:center;
    font-size:60px;
    line-height: 64px;
    max-width: 100%;
    margin: 100px 0 250px; 
  }
  h2 {
    font-size: 32px;
    line-height:40px;
  }
  h2.purple {
    font-size:40px;
    line-height:40px;
  }
  .mw340 {
    max-width:340px;
    margin-left:auto;
    margin-right: auto;
  }
  .kadence-column54_62180b-b5, .kt-inside-inner-col > .kadence-column54_62180b-b5:not(.specificity) {
    margin-bottom: 0 !important;
  }
  .selling-row {
      background-size: 136% !important;
      background-position: bottom right !important;
      background-attachment: scroll;
      background-repeat: no-repeat;
  }
}
@media (max-width: 768px) {
  .animation video {
    max-width: 125%;
    margin-left: -25%;
  }
  #mobile-feature-head {
    display:block;
  }
  .purple-line {
    background-color: #171223;
    height:2px;
    position:absolute;
    top:0;
    left:0;
    width:76px;
  }
  #desktop-feature-head h2 {
    display: none;
    font-family: 'Vinila', sans-serif !important;
    font-weight:400 !important;
  }
  #desktop-feature-head h2.active {
    display: block;
    margin-bottom:0;
    font-style: normal;
    font-size:40px;
  }
  #desktop-feature-head h2.active::after {
    display:none;
  }
  .features-row > .kt-row-column-wrap {
    padding-top:0 !important;
    gap: 0 !important;
  }
  .portfolio-features p {
    margin-top:0 !important;
  }
  .hide-mobile {
    display:none !important;
  }
  .hide-desktop {
    display:block !important;
  }
  .quote-border {
    width:350px;
    margin:0 auto;
    grid-column: 1 / -1;
    justify-self: center;
  }
  .hide-background > .kt-inside-inner-col {
    background-image:none !important;
  }
  .justify-start > .kt-inside-inner-col {
    justify-content: flex-start !important;
  }
  h2 mark.kt-highlight {
    font-size: 48px;
    line-height: 40px;
  }
  .faq__accordion-question-copy, .faq__accordion .kt-blocks-accordion-title-wrap {
    font-size:24px;
  }
  .selling-row {
    background-size: 83% auto !important;
  }
  .row-1 img, .row-2 img, .row-3 img {
    max-width:80%;
  }
}
@media (max-width: 550px) {
  .portfolio-features h2 {
    margin-left:0;
    margin-right:0;
  }
  .row-3 {
    top: 125px;
  }
  .carousel-top,
  .carousel-bottom,
  .carousel-top figure,
  .carousel-bottom figure {
    height:264px;
  }
  .carousel-top figure,
  .carousel-bottom figure {
    max-width: 416px;
  }
  .selling-row {
      background-position: -8% 101% !important;
      background-size: 129% auto !important;
  }
}

.flex-templates .carousel-top,
.flex-templates .carousel-bottom {
  height: 260px;
}
