/*
 Theme Name:   Dizplai - Hello Elementor Child Theme
 Description:  Child theme for Hello Elementor
 Author:       Daryl Brunsden
 Author URI:   https://darylbrunsden.co.uk
 Template:     hello-elementor
 Version:      1.0.0
*/

* {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html body {
	background: #11061B;
}
body .overflow-visible {
	overflow: visible !important;
}
h1,h2,h3,h4,h5,h6 {
	text-wrap: balance;
}
.hide-background-image-bug {
	background-image: none !important;
}
.hide-on-scroll {
	transition: transform 0.3s ease-in-out;
}
.hide-on-scroll.header-hidden {
	transform: translateY(-100%);
}
.wpcf7-response-output:empty {
  display: none !important;
}
.db-header {
	pointer-events: none;
}
.db-header .elementor-element {
	pointer-events: all;
}

.fill-on-scroll .elementor-heading-title {
	line-height: 0;
}
.fill-line {
	position: relative;
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	display: block;
	line-height: 1;
}
.fill-text {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
	display: block;
	line-height: 1;
	padding: 0.6vw 0;
}
.fill-grey {
	color: #433353;
	position: relative; /* beneath white text */
}
.fill-white {
	color: white;
	width: 0; /* hidden initially */
	overflow: hidden;
}
.fill-grey strong {
	color: #FF068F;
}
.fill-white strong {
	color: #7628FE;
}

.scale-loop {
  animation: scalePulse 2s ease-in-out infinite;
}
@keyframes scalePulse {
  0%, 100% {
	transform: scale(1);
  }
  50% {
	transform: scale(1.2);
  }
}

.elementor-social-icon svg {
	transition: .3s cubic-bezier(0.4, 0, 0.2, 1);
}

.work-tile-featured {
	background-position: center center;
	background-size: cover;
}
.work-tile-featured-overlay {
	opacity: 0;
	transition: .35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.work-tile-featured:hover .work-tile-featured-overlay {
	opacity: 1;
}
.work-tile-featured-logo {
	opacity: 1;
	transition: .35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.work-tile-featured:hover .work-tile-featured-logo {
	opacity: 0;
}

.logo-gallery .gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.logo-gallery .gallery-item img {
	object-fit: contain;
	width: 80%;
	max-height: 5vw;
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.6s ease, transform 0.6s ease;
}
@media (max-width: 767px) {
	.logo-gallery .gallery-item {
		max-width: 33.3333% !important;
	}
	.logo-gallery .gallery-item img {
		max-height: 7vw !important;
		width: 75% !important;
	}
}

/* Contact Form 7 Base Reset */
.wpcf7 form p {
  margin-bottom: 12px !important;
}

/* Scoped Contact Form 7 styling */
.wpcf7 input[type=date],
.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 input[type=password],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=url],
.wpcf7 select,
.wpcf7 textarea {
  border: 1px solid #5D5D5D;
  border-radius: 5px;
  padding: 0.75rem 1.5rem;
  transition: all .3s;
  width: 100%;
  color: #000;
  background: #fff;
}

/* Focus state */
.wpcf7 input[type=date]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=number]:focus,
.wpcf7 input[type=password]:focus,
.wpcf7 input[type=search]:focus,
.wpcf7 input[type=tel]:focus,
.wpcf7 input[type=text]:focus,
.wpcf7 input[type=url]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: #7628FE; /* nice blue highlight */
  box-shadow: none;
  outline: none;
}

/* Placeholder text */
.wpcf7 ::placeholder {
  color: #5D5D5D;
  opacity: 1;
}

/* Error styling */
.wpcf7 .wpcf7-not-valid {
  border-color: #FF068F !important;
}

.wpcf7 .wpcf7-response-output {
	margin-top: 1rem !important;
	padding: 12px 16px !important;
	border-radius: 5px;
	font-size: 16px !important;
	margin-left: 0px !important;
	border-color: #7628fe !important;
    background: #7628fe !important;
	color: #fff !important;
}

.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-acceptance-missing {
  background: #b91c1c;
  border: 1px solid #b91c1c;
  color: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background: #b91c1c;
	  border: 1px solid #b91c1c;
	  color: #fff;
}

.wpcf7 .wpcf7-mail-sent-ok, .wpcf7 form.sent .wpcf7-response-output {
  background: #7628FE !important;
  border: 1px solid #7628FE !important;
  color: #fff !important;
}
.read-more-form .wpcf7 .wpcf7-mail-sent-ok, .read-more-form .wpcf7 form.sent .wpcf7-response-output, .read-more-form .wpcf7 form.invalid .wpcf7-response-output, .read-more-form .wpcf7 form.unaccepted .wpcf7-response-output, .read-more-form .wpcf7 form.payment-required .wpcf7-response-output {
	background: #000 !important;
  border: 1px solid #000 !important;
  color: #fff !important;
}

/* Reset native arrow */
.wpcf7 select {
  appearance: none;       /* modern */
  -webkit-appearance: none; /* Safari */
  -moz-appearance: none;    /* Firefox */
  background: #fff url("data:image/svg+xml,%3Csvg width='18' height='9' viewBox='0 0 18 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 1L9 7.88345L1 1' stroke='%2311061B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
  background-size: 16px 16px;
  padding-right: 2.5rem; /* leave space for arrow */
}

/* For IE11 fallback */
.wpcf7 select::-ms-expand {
  display: none;
}

.wpcf7-not-valid-tip {
	color: #fff;
	font-size: 14px;
	background: #FF068F;
	padding: 10px 1.5rem;
	margin-top: -5px;
	border-radius: 5px;
}
.wpcf7-list-item {
	margin: 0;
}
.wpcf7-submit {
	margin-top: 25px;
}

.pointer-events-none {
	pointer-events: none !important;
}
.term-button-wrap {
	position: absolute !important;
	top: 35px;
	right: 35px;
	width: calc(100% - 70px);
	text-align: right;
	z-index: 15;
	pointer-events: none;
}
.term-button-wrap a {
	border: 1px solid #fff;
	color: #fff !important;
	background: rgba(0, 0, 0, 0.25);
	display: inline-block !important;
	transition: .35s cubic-bezier(0.4, 0, 0.2, 1) !important;
	padding: 0.5em 1em;
	border-radius: 5px;
	pointer-events: all;
}
.term-button-wrap a:hover {
	background: #FF068F;
}
.of-visible .swiper, .of-visible .swiper-wrapper {
	overflow: visible !important;
}
.news-tile-height {
	height: 100% !important;
}
.news-tile img {
	transition: 1s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.news-tile:hover img {
	transform: scale(1.1);
}

.background-blur {
  position: relative !important;
  overflow: hidden !important; /* prevent blur bleed */
  z-index: 0 !important;       /* create stacking context */
}
/* Blurred background layer */
.background-blur::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important; /* shorthand for top:0; right:0; bottom:0; left:0; */
  background: inherit !important; /* copies the section’s background (your gradient image) */
  background-size: cover !important;
  background-position: center !important;
  filter: blur(100px) !important;
  /*transform: scale(1.01) !important;*/
  z-index: -1 !important;
  display: block;
  pointer-events: none;
}
.background-blur-medium::before {
	filter: blur(50px) !important;
	pointer-events: none;
}
.background-blur-less::before {
	filter: blur(25px) !important;
	pointer-events: none;
}
.background-fade-in::before {
  background-position: center bottom !important;
  background-size: 100% 100% !important;
  z-index: 0 !important;
  filter: blur(0px) !important;
  transform: scale(0.5) translateY(0%) !important;
  transition: 4s cubic-bezier(0.5, 0, 0.3, 1) !important;
  opacity: 0 !important;
  pointer-events: none;
}
.background-fade-in-no-scale::before {
	transform: scale(1) translateY(-50%) !important;
}
.background-fade-in.active::before {
	transform: scale(1) translateY(0%) !important;
	opacity: 1 !important;
	pointer-events: none;
}
.background-fade-in::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: #11061B;
	z-index: -1 !important;
	display: block;
	pointer-events: none;
}
.background-fade-in-black::after {
	background: #000;
}
/* Content stays sharp */
.background-blur > * {
  position: relative;
  z-index: 1;
}
.hero-gradient {
	position: relative !important;
	overflow: hidden !important; /* prevent blur bleed */
	z-index: 0 !important;
}
.hero-gradient::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important; /* shorthand for top:0; right:0; bottom:0; left:0; */
  background: url('images/hero-grad-overlay.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  filter: blur(10px) !important;
  /*transform: scale(1.01) !important;*/
  z-index: 1 !important;
  display: block !important;
  opacity: 0.9 !important;
}
.hero-gradient > * {
  position: relative;
  z-index: 2 !important;
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.background-rotate::before {
	top: 0px !important;
	z-index: 0 !important;
	animation: spin 20s linear infinite;
}
.background-rotate::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: #000;
	z-index: -1 !important;
	display: block;
}
.background-rotate-light::after {
	background: #E9E9FF;
}
.background-rotate-transparent::after {
	display: none;
}

.footer-accord-wrap .e-n-accordion-item-title-text {
	color: #fff;
}
.newsletter-col label {
	color: #fff !important;
	font-size: 16px !important;
	line-height: 1.2;
}

.hero-ticker {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%);
	left: 0 !important;
	width: 100% !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	z-index: 0 !important;
}
.hero-ticker-bottom {
	top: auto !important;
	bottom: 0px !important;
	transform: translateY(0px);
}
.ticker-track {
  display: flex !important;
  width: max-content !important;
  animation: ticker 60s linear infinite !important;
}
.ticker-track span {
  display: inline-block !important;
  font-family: "CF Fortusnova", Sans-serif !important;
  line-height: 1 !important;
  font-size: 18vw !important;
  font-weight: 700 !important;
  color: rgba(0, 0, 0, 0.22) !important;
  padding-right: 4vw !important;
}
.ticker-track-light span {
	color: rgba(233, 233, 255, 0.08) !important;
}
@keyframes ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.elementor-widget-n-carousel .swiper-pagination-bullet {
	border: 1px solid #000 !important;
}
.swiper-pagination-bullet {
	opacity: 1 !important;
	background: #fff !important;
	transition: .35s cubic-bezier(0.4, 0, 0.2, 1);
}
.swiper-pagination-bullet:hover {
	background: #ff068f !important;
}
.elementor-widget-n-carousel .swiper-pagination-bullet-active {
	background: #ff068f !important;
}
.remove-background-bug {
	background: none !important;
}
.opacity-1 {
	opacity: 1 !important;
}

.entry-content .elementor-post-info {
	margin-bottom: 0px !important;
}
.entry-content p, .entry-content ul, .entry-content li {
	font-size: 18px !important;
	line-height: 1.5;
}
.entry-content h1 {
	font-size: 40px !important;
	line-height: 1.3;
}
.entry-content h2 {
	font-size: 40px !important;
	line-height: 1.3;
}
.entry-content h3 {
	font-size: 35px !important;
	line-height: 1.35;
}
.entry-content h4 {
	font-size: 30px !important;
	line-height: 1.4;
}
.entry-content h5 {
	font-size: 25px !important;
	line-height: 1.45;
}
.entry-content h6 {
	font-size: 20px !important;
	line-height: 1.5;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
	margin-block-end: 0.5rem !important;
	margin-block-start: 2rem !important;
}
.entry-content p, .entry-content figure, .entry-content ul, .entry-content ol, .entry-content table, .entry-content .iframe-video-wrap  {
	margin-block-end: 1.5rem !important;
}
.entry-content ul {
	padding-left: 16px;
}
.entry-content img, .entry-content video, .iframe-video-wrap {
	border-radius: 18px 18px 18px 18px !important;
}
body .light-content h1, body .light-content h2, body .light-content h3, body .light-content h4, body .light-content h5, body .light-content h6 {
	color: #fff !important;
}
figcaption {
	font-style: normal !important;
}
body .nom-h1 h1 {
	margin: 0px !important;
}
body .nom-h h1, body .nom-h h2, body .nom-h h3, body .nom-h h4, body .nom-h h5 {
	margin: 0px !important;
}
body .nom-top-h h1, body .nom-top-h h2, body .nom-top-h h3, body .nom-top-h h4, body .nom-top-h h5 {
	margin-top: 0px !important;
}
.side-form {
	flex-direction: row !important;
}
.side-form textarea {
	height: 120px;
}
.side-form label, .light-labels label {
	color: #fff;
}
.side-form {
	max-height: 100vh !important;
	overflow: auto !important;
}
.footer-tags a {
	transition: .35s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer-tags a:hover {
	color: #ff068f !important;
}

.left-shape:before {
	content: "";
	width: 18px;
	height: 100%;
	border-radius: 9px;
	background: #ff068f;
	position: absolute;
	left: 0;
	top: 0;
}
.left-shape-orange:before {
	background: #FF6A56;
}
.left-shape-purple:before {
	background: #7628FE;
}
.left-shape-black:before {
	background: #11061B;
}


body .elementor-button {
	line-height: 1.2 !important;
}
body .button-override {
	background-color: #ff068f !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-text-font-size) !important;
	font-weight: var(--e-global-typography-text-font-weight) !important;
	line-height: var(--e-global-typography-text-line-height) !important;
	color: var(--e-global-color-f6a3408) !important;
	border-style: none !important;
	border-radius: 15px 15px 15px 15px !important;
	padding: 13px 35px 13px 35px !important;
}
body .button-override:hover {
	background-color: #7628fe !important;
}
.make-buttons .elementor-post__read-more {
	background-color: #A5FD05 !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-text-font-size) !important;
	font-weight: var(--e-global-typography-text-font-weight) !important;
	line-height: var(--e-global-typography-text-line-height) !important;
	color: #000 !important;
	border-style: none !important;
	border-radius: 15px 15px 15px 15px !important;
	padding: 13px 35px 13px 35px !important;
	display: inline-block;
}
.make-buttons .elementor-post__read-more:hover {
	color: #fff !important;
	background-color: #FF068F !important;
}

.sticky-inner {
	transition: none !important;
	height: 80vh !important;
}
.sticky-fade-in {
	opacity: 0;
	transition: none !important;
}
.sticky-fade-out {
  transition: none !important;
}
.backdrop-blur {
	transition: 1s cubic-bezier(0.4, 0, 0.2, 1) !important;
	backdrop-filter: blur(0px) !important;
}
.backdrop-blur.active {
	backdrop-filter: blur(15px) !important;
}

.page-content, .elementor-location-single {
	overflow: hidden;
}

.header-share-buttons {
	line-height: 1;
}
.read-time {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2em;
	color: #fff;
}

/* Target headings inside the section if they are the first element */
.remove-first-h-top-m > h1:first-child,
.remove-first-h-top-m > h2:first-child,
.remove-first-h-top-m > h3:first-child,
.remove-first-h-top-m > h4:first-child,
.remove-first-h-top-m > h5:first-child,
.remove-first-h-top-m > h6:first-child {
	margin-top: 0 !important;
}

.read-more-reveal {
	visibility: hidden;
	opacity: 0;
	height: 0;
	overflow: hidden;
	transition: opacity 0.5s ease-in-out, height 0.5s ease-in-out !important;
}
.read-more-reveal.active {
	visibility: visible;
	opacity: 1;
	height: auto;
}
.read-more-form .wpcf7-submit:hover {
	background: #000 !important;
}

/* Responsive iframe wrapper */
.iframe-video-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.iframe-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.wp-embed-responsive .wp-block-embed__wrapper:before {
	padding-top: 0px !important;
}

@media (max-width: 1400px) {
	
	.ticker-track span {
		font-size: 20vw !important;
	}
	
	.entry-content p, .entry-content ul, .entry-content li {
		font-size: 17px !important;
	}
	.entry-content h1 {
		font-size: 30px !important;
	}
	.entry-content h2 {
		font-size: 30px !important;
	}
	.entry-content h3 {
		font-size: 26px !important;
	}
	.entry-content h4 {
		font-size: 22px !important;
	}
	.entry-content h5 {
		font-size: 20px !important;
	}
	.entry-content h6 {
		font-size: 18px !important;
	}
	
}

@media (min-width: 1025px) {
	
	.db-header .e-n-menu-heading {
		row-gap: 5px !important;
	}
	#mobile-extras {
		display: none !important;
	}
	.hide-desktop {
		display: none !important;
	}
	
	.footer-accord-wrap .e-n-accordion-item-title-icon {
		display: none !important;
	}
	.footer-accord-wrap details[open] > summary,
	.footer-accord-wrap details:not([open]) > summary {
		pointer-events: none; /* disable toggle clicks */
	}
	.footer-accord-wrap details {
		display: block !important; /* always render */
		open: open; /* not valid CSS, but see below */
	}  
	.footer-accord-wrap details > div[role="region"] {
		display: block !important; /* show the accordion body */
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
}

@media (max-width: 1024px) {
	
	.hide-mobile {
		display: none !important;
	}
	.db-header .e-n-menu-toggle {
		background: none !important;
		z-index: 9999 !important;
		position: relative !important;
		transform: translateX(15px) !important;
	}
	.db-header .db-logo {
		z-index: 9999 !important;
		position: relative !important;
	}
	body.no-scroll {
	  overflow: hidden !important;
	  position: fixed !important;
	  width: 100% !important;
	}
	.db-header .e-n-menu-wrapper {
		height: 100% !important;
		position: fixed !important;
		top: 0px !important;
		left: 0px !important;
		width: 100% !important;
		margin: 0px !important;
		padding: 100px 5% !important;
		z-index: 8888 !important;
		background: rgba(0, 0, 0, 0.4) !important;
		backdrop-filter: blur(25px) !important;
	}
	#mobile-extras {
		display: none !important;
	}
	#mobile-extras + .e-n-menu-content .hide-desktop {
		display: block !important;
	}
	.footer-bottom-menu ul li a, .footer-bottom-menu ul li {
		margin-right: 10px !important;
	}
	
	.entry-content p, .entry-content ul, .entry-content li {
		font-size: 16px !important;
	}
	.entry-content h1 {
		font-size: 24px !important;
	}
	.entry-content h2 {
		font-size: 24px !important;
	}
	.entry-content h3 {
		font-size: 22px !important;
	}
	.entry-content h4 {
		font-size: 20px !important;
	}
	.entry-content h5 {
		font-size: 18px !important;
	}
	.entry-content h6 {
		font-size: 16px !important;
	}
	.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
		margin-block-end: 0.5rem !important;
		margin-block-start: 1rem !important;
	}
	
	.max-width-bug-override .e-con-inner {
		max-width: 100% !important;
	}
	
	.background-rotate-no-mobile::before,
	.background-rotate-no-mobile::after {
		display: none !important;
	}
	.left-shape {
		padding-left: 38px !important;
	}
	.read-time {
		font-size: 18px;
	}
	
	.e-n-tab-title {
		transition: none !important;
	}

}

@media (max-width: 767px) { 
	
	.ticker-track span {
		font-size: 35vw !important;
	}
	.side-form {
		max-height: none !important;
		overflow: auto !important;
	}
	.hero-gradient::before {
	  background: url('images/hero-grad-overlay-mobile.png') !important;
	  background-position: center bottom !important;
	  background-size: cover !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
	}
	.podcast-mobile-fix .elementor-post {
		display: block !important;
	}
	.podcast-mobile-fix .elementor-post__thumbnail__link {
		margin: 0 0 20px 0 !important;
	}
	
}

.elementor-widget-reviews.elementor-pagination-type-bullets .swiper, .elementor-widget-reviews.elementor-pagination-type-bullets .swiper-container, .elementor-widget-reviews.elementor-pagination-type-fraction .swiper, .elementor-widget-reviews.elementor-pagination-type-fraction .swiper-container, .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper, .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper-container, .elementor-widget-testimonial-carousel.elementor-pagination-type-fraction .swiper, .elementor-widget-testimonial-carousel.elementor-pagination-type-fraction .swiper-container {
	padding-bottom: 75px;
}

/* Custom smaller fadeIn animations */

/* Right */
@keyframes fadeInRight25 {
  from {
	opacity: 0;
	transform: translate3d(25%, 0, 0); /* reduced from 100% */
  }
  to {
	opacity: 1;
	transform: translate3d(0, 0, 0);
  }
}

/* Left */
@keyframes fadeInLeft25 {
  from {
	opacity: 0;
	transform: translate3d(-25%, 0, 0);
  }
  to {
	opacity: 1;
	transform: translate3d(0, 0, 0);
  }
}

/* Up */
@keyframes fadeInUp25 {
  from {
	opacity: 0;
	transform: translate3d(0, 25%, 0);
  }
  to {
	opacity: 1;
	transform: translate3d(0, 0, 0);
  }
}

/* Down */
@keyframes fadeInDown25 {
  from {
	opacity: 0;
	transform: translate3d(0, -25%, 0);
  }
  to {
	opacity: 1;
	transform: translate3d(0, 0, 0);
  }
}

/* Force Elementor to use custom animations */
.animated.fadeInRight {
  animation-name: fadeInRight25 !important;
}
.animated.fadeInLeft {
  animation-name: fadeInLeft25 !important;
}
.animated.fadeInUp {
  animation-name: fadeInUp25 !important;
}
.animated.fadeInDown {
  animation-name: fadeInDown25 !important;
}
