body
{
    font-family: 'haffer_xh-trialregular';
}
body:not(.home) header {
    position: relative;
}
h1 {
	font-size: 55px;
	line-height: 1.3;
}
.fs-64 {
    font-size: 64px;
}
.fw-bold {
	font-family: 'haffer_xh-trialbold';
}

.fw-medium {
	font-family: 'haffer_xh-trialmedium';
}

/* HOME SLIDER */
/* Hero Container */
.site-hero {
    position: relative;
    background-color: #000;
    border: 1px solid #000;
}

.site-hero__item {
    height: 85vh; /* Full screen height */
    min-height: 600px;
}

/* Background Image with Overlay */
.site-hero__bg {
    height: 100%;
    object-fit: cover;
    filter: brightness(0.5); /* Dims the image for text readability */
}

/* Centering the Content */
.site-hero__caption {
    bottom: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    left: 0;
    right: 0;
}

.site-hero__subtitle {
    font-size: 1.1rem;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 1rem;
}

.site-hero__title {
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.site-hero__text {
    max-width: 800px;
    font-size: 1.2rem;
    opacity: 0.9;
}

/* Branding Colors (Deda Purple) */
#hero-carousel .carousel-caption h1 span {
    color: rgba(229, 0, 238, 1) !important; /* The purple dots */
}

.btn-primary.site-hero__btn {
    background: linear-gradient(90deg, #8b2cf5, #6a11cb);
    border: none;
    padding: 12px 40px;
    border-radius: 8px;
    font-weight: 600;
    transition: transform 0.2s;
}

.btn-primary.site-hero__btn:hover {
    transform: scale(1.05);
}

/* Carousel Indicators Styling */
.site-hero__indicators [data-bs-target] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin: 0 5px;
}
.carousel-indicators [data-bs-target] {
	opacity: 1;
}

.carousel-indicators .active {
    background: linear-gradient(240.5deg, #E500EE 0%, #5B19E8 69.85%);
    background-repeat: no-repeat;
}
header {
	position: absolute;
	width: 100%;
	z-index: 2;
}
.wrapper {
    padding: 0;
}
h3 {
	font-size: 20px;
	line-height: 32px;
}

.container-banner {
    max-width: 1020px;
}

.carousel-indicators [data-bs-target] {
	border-top: 0;
	border-bottom:0;
}

/*.carousel-indicators {
	bottom: 18%;
}*/

.gradient-btn {
    padding: 12px 25px;
	background: linear-gradient(238.5deg, #E500EE 0%, #5B19E8 69.85%) !important;
    border-radius: 8px !important;
    color: #fff !important;
    text-decoration: none !important;
    /*line-height: 1.2 !important;*/
}

ul#main-menu {
	gap:50px;
}

ul#main-menu li a {
	color: #fff;	
}

.fs-24 {
	font-size: 24px;
}

.bg-black {
	background-color: #fff;
}

.deda-card {
    padding: 40px 18px 30px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    height: 100%;
}

.deda-card a {
	color: #fff;
	text-decoration: none;
	margin-bottom: 15px;
}
.ml-4 {
    margin-left: 15px;
}

h2 {
	font-size: 40px;	
}

h4 {
	font-size:24px;
}

.card-counter p {
	font-size: 24px;
}

.card-counter {
    font-size: 130px;
    font-weight: 500;
    max-width: 321px;
    border-right: none; 
    background-image: linear-gradient(to bottom, 
        #000 0%,      /* Black at the top */
        #fff 20%,     /* Fade into white quickly */
        #fff 80%,     /* Stay white through the middle */
        #000 100%     /* Fade back to black at the bottom */
    );
    background-size: 3px 100%; /* 3px wide (your border thickness), 100% tall */
    background-repeat: no-repeat;
    background-position: right;
}

.col-counter:last-child .card-counter {
 		background-image:none;
 		max-width: 100%;
}
.counter-digit {
  background: linear-gradient(to right, #7b2ff7, #f107d9);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.resources h3 {
	font-size: 23.1px;
	line-height: 1.2;
}

.blog-list-card-content {
    margin-top: -200px;
    padding-top: 222px !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.blog-list-card {
    border-radius: 8px;
    overflow: hidden;
	background: rgba(19, 19, 19, 1);
	height: 100%;    
}
.category {
	font-size: 12.6px;
}
.excerpt {
	font-size: 11.2px;
}

.ghost-btn2 {
    display: inline-block;
    padding: 6px 15px;
    /* font-family: 'Poppins', sans-serif; */
    font-weight: 500;
    font-size: 16px;
    /* text-transform: uppercase; */
    text-decoration: none;
    color: #fff !important;
    border-radius: 8px;
    border: 1.5px solid #00000000;
    background: linear-gradient(#131313, #131313) padding-box, linear-gradient(to right, #6F26F8 0%, #E238E2 100%) border-box;
    transition: all 0.3s ease-in-out;
}

.ghost-btn2:hover {
  /* This fills the button with the gradient on hover */
  background: 
    linear-gradient(to right, #6F26F8 0%, #E238E2 100%) border-box;
    
  color: #ffffff; /* White text looks sharp against the gradient */
  
  /* Simple transform for interaction feel */
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(111, 38, 248, 0.2); /* A soft purple glow */
}


.resources-feature-image img {
    width: 100%;        /* Fill the width of the column */
    height: 200px;      /* Set a fixed height so all cards align */
    object-fit: cover;  /* Magic property: crops the image to fit without stretching */
    object-position: center; /* Ensures the middle of the photo is visible */
    display: block;
}

.fs-33 {
	font-size: 33px;
}
.wpcf7 {
	max-width: 100%;
	font-size: 14.99px;
}

.wpcf7 .field-settings textarea, .wpcf7 .field-settings select {
	height: 38px !important;
	padding: 0 !important;
	border: none !important;
	border-bottom:1px solid rgba(173, 140, 243, 1) !important;
	border-radius: 0 !important;	
}

.wpcf7 .field-settings input  {
	border: none !important;
	border-bottom:1px solid rgba(173, 140, 243, 1) !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.wpcf7 input:focus  {
	outline: none !important;
	box-shadow: none !important;
}
.cf7-note {
    margin-bottom: 40px;
}
.contact-form-setting span.required {
	color: red;
	margin-left: 3px;
}
span.wpcf7-list-item.first.last {
    margin: 0;
}
span.wpcf7-list-item-label {
    margin-left: 8px;
}
.wpcf7-spinner {
	display: none;
}
.submit-btn {
	width: 150px !important;
	border: none !important;
	border-radius: 8px !important;
	color:#fff !important;
	padding: 12px !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
    background: hsla(298, 100%, 47%, 1) !important;
    background: linear-gradient(225deg, hsla(298, 100%, 47%, 1) 0%, hsla(259, 82%, 50%, 1) 100%) !important;
    background: -moz-linear-gradient(225deg, hsla(298, 100%, 47%, 1) 0%, hsla(259, 82%, 50%, 1) 100%) !important;
    background: -webkit-linear-gradient(225deg, hsla(298, 100%, 47%, 1) 0%, hsla(259, 82%, 50%, 1) 100%) !important;
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr="#E500EE", endColorstr="#5B19E8", GradientType=1 ) !important;    
}
li#mega-menu-item-889 {
    background-image: linear-gradient(to bottom, #000 0%, /* Black at the top */ #fff 20%, /* Fade into white quickly */ #fff 80%, /* Stay white through the middle */ #000 100% /* Fade back to black at the bottom */);
    background-size: 3px 100%;
    background-repeat: no-repeat;
    background-position: right;
}


li#mega-menu-item-889 {
    background-image: linear-gradient(to bottom, #ffffff00 0%, /* Black at the top */ #fff 50%, /* Fade into white quickly */ #fff 50%, /* Stay white through the middle */ #00000000 100% /* Fade back to black at the bottom */) !important;
    background-size: 2px 100% !important;
    background-repeat: no-repeat !important;
    background-position: right;
}

nav.footer-nav > ul {
    display: flex;
}

nav.footer-nav ul {
    list-style: none;
    padding: 0;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 14px;
    margin-bottom: 0;
}
nav.footer-nav ul li a {
    text-decoration: none;
    color: #fff;
}
nav.footer-nav ul.sub-menu li {
    margin-bottom: 5px;
}
ul#menu-footer-menu-1 > li > a {
    font-family: 'haffer_xh-trialbold';
}

.bottom-footer {
    background: rgba(20, 20, 20, 1);
    line-height: 1.2;
}

.bottom-footer p {
    margin-bottom: 0;
    font-size: 11.66px;
}

.bottom-footer img {
    width: 150px;
}

ul#menu-bottom-footer-top {
    list-style: none;
    display: flex;
    gap: 40px;
    font-size: 18.32px;
    margin-bottom: 10px;
	justify-content:flex-end;
}

ul#menu-bottom-footer-top li a, ul#menu-bottom-footer-under li a {
    color: #fff;
    text-decoration: none;
}

ul#menu-bottom-footer-under {
    list-style: none;
    padding: 0;
    display: flex;
/*    gap: 40px;*/
    font-size: 11.66px;
	justify-content:flex-end;
}
ul#menu-bottom-footer-under li {
    border-right: 1px solid #fff;
    margin-right: 15px;
    padding-right: 15px;
}
ul#menu-bottom-footer-under li:last-child {
    border-right:none;
	padding-right:0;
	margin-right:0;
}
.inside-page-banner p {
    font-size: 20px;
        font-family: 'haffer_xh-trialregular';

}

.dark-gray-text a {
    color: rgba(90, 85, 85, 1);
    text-decoration: none;
    position: relative;
}

.dark-gray-text a:hover {
    color: rgba(173, 6, 212, 1);
}

.dark-gray-text a:hover:after {
    content: "";
    height: 2px;
    width: 100%;
    background: rgba(173, 6, 212, 1);
    display: block;
    position: absolute;
    bottom: -17px;
}

.gradient-hover-icon path {
  transition: stroke 0.4s ease;
  cursor: pointer;
}

a:hover .gradient-hover-icon path {
  /* This tells the path to use the gradient defined in the SVG's <defs> */
  stroke: url(#icon-gradient);
}
.current-section .gradient-hover-icon path {
      stroke: url(#icon-gradient);
}
.cpu-icon path {
  transition: stroke 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.current-section div{
    color: rgba(173, 6, 212, 1);
}
.current-section .cpu-icon path {
      stroke: url(#cpu-gradient);
}
.current-section:after {
    content: "";
    height: 2px;
    width: 100%;
    background: rgba(173, 6, 212, 1);
    display: block;
    position: absolute;
    bottom: -17px;    
}
a:hover .cpu-icon path {
  /* Links to the ID inside the <defs> tag above */
  stroke: url(#cpu-gradient);
}

.line-seperator {
    border-bottom: 1px solid rgba(90, 85, 85, 1);
}

.rounded-button {
    padding: 8px 20px !important;
    display: inline-block !important;
    border-radius: 100px !important;
    border: 1.5px solid #00000000 !important;
    background: linear-gradient(#131313, #131313) padding-box, linear-gradient(to left top, #6F26F8 0%, #E238E2 100%) border-box !important;
    transition: all 0.3s ease-in-out !important;    
    color: #fff !important;
}

.fs-40 {
    font-size: 40px;
}
.fs-20 {
    font-size: 20px;
}

.br-12 {
    border-radius: 12px;
}

.auto-scroll.options h2 {
    margin: 20px 0;
}
.auto-scroll-content.options > p {
    margin: 10px 0 35px;
}
.auto-scroll.options {
  border-top: 1px solid; /* Set the width here */
  border-image-source: linear-gradient(130deg, #360F8A 0%, #DA02EE 100%);
  border-image-slice: 1; /* This is required to make the gradient show */
  padding-top: 30px;
}
.auto-scroll-inside-content {
    margin-bottom: 30px;
    align-items: center;
    color: rgba(202, 202, 202, 1);
}
.auto-scroll-inside-content p {
    margin-bottom: 0;
}

.auto-scroll-inside-content img {
    width: 30px;
}
.dark-gray-bg {
    background: rgba(19, 19, 19, 1);
}
.dark-gray-bg.box-options {
    padding: 25px;
    border-radius: 15px;
}
.dark-gray-bg.box-options p {
    margin-bottom: 0;
}

.diagram-wrapper h3{
    max-width: 600px;
}

.diagram-wrapper {
    border: 1px solid rgba(65, 65, 65, 1);
    border-radius: 20px;
    max-width: 100%;
    margin: auto;
}

.long-card-content p, .check-box-content {
    color: rgba(142, 142, 142, 1);
    margin-bottom: 0;
}
.check-box-content p {
    margin-bottom: 0;
}
.check-box-content img {
    width: 25px;
}
.long-card-wrapper {
    padding: 30px 20px;
    background: rgba(19, 19, 19, 1);
    border-radius: 11.25px;
    margin-bottom: 15px;
}

.diagram-output ul {
    list-style: none;
    padding: 0;
    margin-bottom: 0;

}

.diagram-output {
background: RGBA(229, 0, 238, 1);
background: linear-gradient(294deg, rgba(229, 0, 238, 1) 0%, rgba(91, 25, 232, 1) 85%, rgba(91, 25, 232, 1) 100%);
    padding: 25px;
    border-radius: 10px;
}

.diagram-output ul li {
    padding: 8px 15px;
    margin-bottom: 10px;
    border: 1px solid;
    border-radius: 11.25px;
}

.current-section .file-icon path {
      stroke: url(#file-gradient);
}
.loan-icon path {
  transition: stroke 0.4s ease-in-out;
  cursor: pointer;
}

.current-section .loan-icon path {
  /* This links to the ID we defined in the SVG <defs> */
  stroke: url(#loan-gradient);
}

a:hover .loan-icon path {
  /* This links to the ID we defined in the SVG <defs> */
  stroke: url(#loan-gradient);
}

.file-icon path {
  transition: stroke 0.4s ease;
  cursor: pointer;
}

a:hover .file-icon path {
  stroke: url(#file-gradient);
}

.shield-icon path {
  transition: stroke 0.4s ease;
  cursor: pointer;
}
.current-section .shield-icon path {
  /* This links to the ID we defined in the SVG <defs> */
  stroke: url(#shield-gradient);
}
a:hover .shield-icon path {
  stroke: url(#shield-gradient);
}

.gradient-card {
    display: inline-block;
    border-radius: 20px;
    border: 1.5px solid #00000000;
    background: linear-gradient(#131313c7, #05061e) padding-box, linear-gradient(to left, #6f26f88a 0%, #e238e2fa 100%) border-box;
    transition: all 0.3s ease-in-out;
}

h5 {
    font-size: 16px;
}

.diagram-union-wrapper {
    max-width: 100%;
    border: 1px solid rgba(65, 65, 65, 1);
    border-radius: 20px;
    margin: auto;    
}

.deda-color-theme {
    color: rgba(229, 0, 238, 1);
}

.check-box-content img {
    margin-top: 6px;
}

.check-box-wrapper {
    background: rgba(19, 19, 19, 1);
    padding: 20px 25px;
    border-radius: 11.25px;
}
nav.footer-nav ul.sub-menu li a {
    color: rgba(177, 177, 177, 1);
}



@media (min-width: 992px) and (max-width: 1199px) {
    ul#menu-bottom-footer-top, ul#menu-bottom-footer-under {
        justify-content: center;
        padding-left: 0;
    }

}

@media(max-width:767px) {
	
	.bottom-footer br {
		display:block;
	}
    .overflow-auto-mobile {
      	overflow-x: auto;
     	overflow-y: hidden;
    }

.scroll-container {
    overflow-x: auto; /* Enable scrolling */
    white-space: nowrap;
    display: flex;
    padding: 16px 0;
    cursor: grab;
    scrollbar-width: none; /* Hide for Firefox */
    -ms-overflow-style: none; /* Hide for IE/Edge */
    -webkit-overflow-scrolling: touch; /* Smooth scroll on iOS */
}

/* Hide scrollbar for Chrome/Safari */
.scroll-container::-webkit-scrollbar {
    display: none;
}

.scroll-container:active {
    cursor: grabbing;
}

.scroll-mover {
    display: flex;
    gap: 3rem; 
    flex-shrink: 0; /* Prevents the items from squishing */
}

/* Prevent images/links from being ghost-dragged by the browser */
.scroll-mover a {
    user-select: none;
    -webkit-user-drag: none;
}
	
    ul#menu-bottom-footer-top, ul#menu-bottom-footer-under {
        list-style: none;
        display: flex;
        gap: 15px;
        flex-direction: column;        
    }    
    br {
        display: none;
    }
	ul#menu-bottom-footer-under li {
		border-right: none;
	}
	h1, .fs-64 {
		font-size: 46px;
		line-height: 1.2;
	}	
}
@media(max-width:991px) {
	.site-hero__caption {
		max-width: 80%;
		margin: auto;
	}	
    .mega-deda-btn.deda-btn.gradient-btn {
        padding: 0 !important;
        background: none !important;
    }    
    li#mega-menu-item-889 {
        background:none !important;
    }    
    header {
        position: relative;
        width: 100%;
        z-index: 2;
    }
    .inside-page-banner img {
        width: 300px !important;
        margin: auto;
    }
	.site-hero__item {
		height:600px;
	}
	.site-hero__caption {
		top: 40%;
	}	
}

@media(max-width:768px) {
    nav.footer-nav ul {
        justify-content: start;
        gap: 30px;
    } 
    ul#menu-bottom-footer-top {
        padding-left: 0;
    }
	.site-hero__caption {
		max-width: 100%;

	}	
}

@media(max-width:599px) {
    h1,.fs-64 {
        font-size: 28px;
    }
    h3, h4, .fs-24, .fs-20 {
        font-size: 18px;
        line-height: 1.4;
    } 
    .site-hero__subtitle {
        font-size: 20px;
        letter-spacing: 2px;
        margin-bottom: 1rem;
    }
    .hero-carousel {
        height: 700px;
    }
    .carousel-indicators {
        bottom: 0;
    }
    h2, .fs-33, .fs-40 {
        font-size: 28px;
    }
    .card-counter p {
        font-size: 18px;
        margin-bottom: 0;        
    }
    .card-counter {
        background: none;
        padding: 40px 18px 30px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 8px;
        max-width:100%;
        text-align: center !important;

    }
    .counter-digit {
        font-size:60px;
    }
    .resources h3 {
        font-size: 18.1px;
        line-height: 1.2;
    }    
    .wpcf7 .field-settings textarea {
        height: 60px !important;
    }
    .inside-page-banner p, .fs-21 {
        font-size: 16px !important;
    }
    .inside-page-banner img {
        width: 180px !important;
        margin: auto;
    }
	section#hero-carousel {
		padding-bottom:40px;
	}
	.site-hero__caption {
		padding: 35px;
	}
	.fs-75 {
		font-size: 48px !important;
	}	
	.team-department {
		font-size: 26px !important;
		font-weight: 500 !important;
		line-height: 1.2;
		margin-bottom: 15px;
	}	
}

/* This adds a bottom border only when the element is stuck to the top */
.sticky-top.is-pinned {
  border-bottom: 1px solid #333;
  box-shadow: 0 10px 15px rgba(0,0,0,0.5);
}
.fs-21 {
	font-size:21px;
}
.team-department {
    font-size: 36px;
    font-weight: 500;
}

.fs-75 {
    font-size: 75px;
}

.fs-16-1 {
    font-size: 16.5px;
}
.fs-12 {
    font-size: 12px;
}
.company-form span.wpcf7-form-control-wrap input {
    border-bottom: 0 !important;
}
.company-form span.wpcf7-form-control-wrap textarea {
    border-bottom: 1px solid #8f8f8f !important;
    max-width: 350px;	
}
.company-form span.wpcf7-form-control-wrap:after {
    content: "";
    background: #8f8f8f !important;
    width: 50px !important;
    height: 1px !important;
    display: block !important;
    position: absolute;
    bottom: 0;
    z-index: 9999 !important;
}
.company-header ul li {
	margin-bottom:15px
}
.company-header b {
	font-family: 'haffer_xh-trialbold'
}
/*.no-image-placeholder.mb-3 {
    background: rgba(94, 94, 94, 1);
    height: 225px;
    width: 200px;
    border-radius: 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
	color:#8b8b8b;
}
*/
.team-wrapper {
    width: 210px;
}
.fs-10 {
	font-size:10px
}
.company-form label.form-label {
    font-size: 12px;
}
.form-wrapper p {
	font-size:12px;
}