/*--------------------------------------------------
    ## All responsive style
---------------------------------------------------*/
@media all and (min-width: 1600px) {
	.back-to-top {
		right: 70px;
		bottom: 50px;
	}

	.testimonial-slider-bg:before {
		width: 41%;
	}

	.testimonial-nav-slider-2 {
		left: 54%;
	}

	.right-collapse-img {
		margin-right: -300px;
	}
}

@media all and (max-width: 1599px) {
	.banner-area-1 {
		padding: 170px 0 90px 0;
	}

	.banner-area-2 {
		padding: 140px 0 150px 0;
	}

	.banner-inner .title {
		font-size: 75px;
	}

	.testimonial-thumb-2 .single-testimonial-inner .details p {
		font-size: 16px;
	}

	.banner-area-3 .banner-inner {
		padding: 190px 0 120px 0;
	}

	.navbar-area-5 .nav-container {
		padding: 40px 60px;
	}

	.navbar-area-5 .nav-container .navbar-collapse .navbar-nav li a {
		font-size: 16px;
	}

	.navbar-area-5 .nav-container .navbar-collapse .navbar-nav {
		margin-left: 80px;
	}

	.home-cyber .custom-container {
		padding: 0 60px;
	}

	.banner-area-5 .banner-inner h1 {
		font-size: 53px;
		line-height: 65px;
	}
}

@media all and (min-width: 1024px) {
	.navbar-area-1 .nav-container.navbar-bg:after {
		border-radius: 0 0 5px 5px;
	}


	.navbar-area-1 .nav-right-part .btn {
		border-radius: 0 0 5px 0;
		height: 100%;
		display: flex;
		align-items: center;
		padding: 0 30px;
		margin: 0;
	}
}



@media all and (max-width: 1199px) {
	.single-blog-inner .details h2 {
		font-size: 35px;
	}

	.banner-inner .content {
		font-size: 16px;
	}

	.banner-inner .title {
		font-size: 60px;
	}

	.single-work-inner.style-two {
		padding: 0 20px 20px 20px;
	}

	.single-testimonial-inner .details p {
		font-size: 18px;
	}

	.testimonial-slider-bg:before {
		width: 41%;
	}

	.single-blog-inner.style-3 .details {
		padding: 20px 15px 30px 15px;
	}

	.p-35 {
		padding: 10px 22px;
	}

	.banner-area-3 .banner-inner {
		padding: 160px 0 110px 0;
	}

	.about-mask-bg-wrap-4 .shape-image {
		left: 22px;
		top: 0px;
	}

	.section-title.bg-base.style-white .btn {
		padding: 0 16px;
	}
}

@media all and (min-width: 992px) and (max-width: 1290px) {
	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav li {
		margin-right: 5px !important;
		margin-left: 5px !important;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav li a {
		font-size: 14px !important;
	}

	.navbar-area-1 .nav-right-part .btn {
		padding: 0 15px;
		font-size: 14px;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav {
		margin-left: 10px;
	}
}

@media all and (min-width: 992px) {
	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav>li>a {
		position: relative;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav>li>a:after {
		content: '';
		position: absolute;
		left: 0;
		bottom: -30px;
		height: 2px;
		width: 0%;
		background: var(--main-color);
		visibility: hidden;
		opacity: 0;
		transition: 0.4s;
		transform: translateY(-50%);
		left: auto;
		right: 0;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav>li:hover>a:after {
		visibility: visible;
		opacity: 1;
		width: 100%;
		right: auto;
		left: 0;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav li {
		line-height: 80px;
	}

	.navbar-area-1 .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:after {
		top: 40px;
	}
}

@media all and (max-width: 991px) {
	.toggle-btn {
		top: 2px;
	}

	.image-hover-animate img {
		width: 100%;
	}

	.half-bg-right {
		display: none;
	}

	.navbar {
		padding: 0;
	}

	.navbar-top.style-2 {
		display: none;
	}

	.navbar-area-2 .nav-container {
		padding: 10px;
	}

	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav>li:hover,
	.sticky-active.navbar-area-2 {
		background: #fff;
	}

	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav>li {
		padding: 10px 0 !important;
	}

	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:before,
	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:after {
		background: #333333;
	}

	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav>li.menu-item-has-children:after {
		right: -1px;
	}

	.navbar-area-2 .nav-right-part .search-bar-btn {
		color: var(--heading-color);
	}

	.navbar-area-2 .nav-container .navbar-collapse .navbar-nav>li:hover a {
		color: var(--main-color);
	}

	.navbar-area-3 .nav-container {
		border-bottom: 0;
	}

	.navbar-area-3 .nav-container {
		padding: 10px;
	}

	.navbar-area-3 .nav-container .navbar-collapse .navbar-nav>li:hover,
	.sticky-active.navbar-area-3 {
		background: #fff;
	}

	.navbar-area-3 .nav-container .navbar-collapse .navbar-nav>li {
		padding: 10px 0 !important;
	}

	.navbar-area-3 .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:before,
	.navbar-area-3 .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:after {
		background: #333333;
	}

	.navbar-area-3 .nav-container .navbar-collapse .navbar-nav>li.menu-item-has-children:after {
		right: -1px;
	}

	.navbar-area-3 .nav-right-part .search-bar-btn {
		color: var(--heading-color);
	}

	.td-sidebar,
	.td-service-sidebar {
		margin-top: 100px;
	}

	.navbar-area .nav-container .navbar-collapse .navbar-nav {
		padding-left: 0;
	}

	.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children {
		padding-right: 0;
	}

	.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:after {
		top: 26px;
	}

	.navbar-area .nav-container .navbar-collapse {
		padding: 13px;
		padding-left: 0;
	}

	.navbar-area .nav-container .navbar-collapse .navbar-nav {
		margin: 0;
	}

	.navbar-area:after {
		display: none;
	}

	.navbar-area .nav-container .navbar-collapse .navbar-nav li a {
		font-size: 16px;
	}

	.navbar-area .nav-container.navbar-bg {
		padding-left: 15px;
	}

	.banner-slider .owl-prev {
		left: 20px;
	}

	.banner-slider .owl-next {
		right: 20px;
	}

	.single-testimonial-inner .details h2 {
		font-size: 30px;
	}

	.single-testimonial-inner .details p {
		font-size: 15px;
		margin-top: 13px;
	}

	.testimonial-slider-bg:before {
		width: 40.5%;
	}

	.testimonial-nav-slider {
		left: 43%;
	}

	.testimonial-nav-slider-2 {
		left: 64%;
	}

	.how-it-work-inner .hills-line {
		display: none;
	}

	.banner-mask-bg-wrap .shape-image {
		left: 20px;
		top: -45px;
	}

	.single-project-inner .details-wrap h3 {
		font-size: 24px;
	}

	.breadcrumb-area .page-title {
		font-size: 60px;
	}

	.how-it-work-inner.arrow-line .single-work-inner:after {
		display: none;
	}

	.testimonial-slider-3-thumb .owl-thumb-item {
		height: 50px;
		width: 50px;
	}

	.testimonial-slider-3-thumb .owl-thumb-item {
		position: relative;
		top: 0;
		left: auto;
		right: auto;
		width: 35px;
		height: 35px;
		margin: 0 3px;
	}

	.testimonial-slider-3-thumb {
		text-align: center;
		margin-top: 20px;
	}

	.about-mask-bg-wrap-1 .shape-image {
		position: relative;
		width: 100%;
		left: 0;
		top: 0;
		margin-bottom: 30px;
	}
}

@media all and (max-width: 767px) {
	.td-search-popup.active .search-form {
		width: 90%;
	}

	.back-to-top {
		bottom: 85px;
	}

	.breadcrumb-area .page-title {
		font-size: 50px;
	}

	.g-map-inner iframe {
		height: 300px;
	}

	.g-map-contact {
		margin-top: 100px;
	}

	.consulting-contact-form {
		padding: 25px 25px 5px;
	}

	.testimonial-slider-bg:before {
		display: none;
	}

	.testimonial-nav-slider {
		left: 0;
		position: relative;
		margin-top: 20px;
	}

	.project-slider-2 {
		padding: 0 30px;
	}

	.banner-slider .owl-prev,
	.banner-slider .owl-next {
		position: relative;
		left: auto;
		right: auto;
	}

	.banner-slider .owl-nav {
		text-align: center;
		margin-top: -87px;
		padding-bottom: 40px;
	}

	.about-area.pd-top-100 {
		padding-top: 50px;
	}



	.about-mask-bg-wrap .thumb {
		/* Enforce squarish aspect ratio to contain the blob shape */
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;

		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
	}

	.about-mask-bg-wrap .thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Align the background shape to match the thumb container exactly */
	.about-mask-bg-wrap-1 .shape-image {
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		object-fit: contain;
		/* Ensure the shape image scales nicely inside the box */
	}

	/* Hide the small bounce image on mobile if it interferes, or position it better. 
	   For now, let's keep it but ensure it doesn't break layout */


	.banner-area-3 .banner-inner {
		padding: 160px 0 170px 0;
	}

	.navbar-top.style-3 {
		padding: 7px 0;
	}

	.testimonial-thumb-2 .single-testimonial-inner .details {
		padding: 40px 15px 130px 15px;

	}

	/* Fix Service Cards Height on Mobile - Ensure full visibility */
	.single-service-inner {
		height: auto !important;
		min-height: auto !important;
		padding: 40px 30px;
	}

	.single-service-inner .details p {
		display: block;
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	/* Fix Service Cards color on mobile - Stay White on 'active' (swipe/touch) */
	.single-service-inner.style-white.active,
	.single-service-inner.style-white:active,
	.single-service-inner.style-white:focus,
	.single-service-inner.style-white:hover {
		background: #ffffff !important;
		border-color: rgba(0, 0, 0, 0.05) !important;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1) !important;
		transform: none !important;
	}

	.single-service-inner.style-white.active .icon-box i,
	.single-service-inner.style-white.active .icon svg,
	.single-service-inner.style-white.active .icon i {
		background: linear-gradient(to right, #091D3E, #0060FF) !important;
		color: #fff !important;
		transform: none !important;
		animation: none !important;
	}

	.single-service-inner.style-white.active h3 {
		text-shadow: none !important;
	}
}

@media all and (max-width: 575px) {
	.video-play-btn {
		width: 70px;
		height: 70px;
		line-height: 70px;
	}

	.back-to-top {
		right: 15px;
		bottom: 85px;
	}

	/* Responsive CTA Section */
	.cta-section-modern {
		padding: 50px 0;
	}

	.cta-content-glass {
		padding: 40px 20px;
	}

	.cta-title {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.cta-subtitle {
		font-size: 14px;
	}

	.cta-btn-modern {
		padding: 12px 25px;
		font-size: 15px;
	}

	.navbar-top .topbar-right li {
		margin-bottom: 4px;
	}

	.navbar-top {
		padding: 7px 0;
	}

	.breadcrumb-area .page-title {
		font-size: 40px;
	}

	.breadcrumb-area {
		padding: 100px 0 60px;
	}

	.breadcrumb-area .page-list li {
		font-size: 15px;
	}

	.single-blog-inner .details h2 {
		font-size: 30px;
	}

	.td-page-navigation .pagination li a {
		height: 45px;
		width: 45px;
		line-height: 45px;
		font-size: 16px;
	}

	.blog-details-page-content blockquote {
		padding: 30px 20px;
	}

	.blog-comment .comment-body {
		padding-left: 0;
		margin-bottom: 40px;
	}

	.blog-comment .comment-body .avatar {
		position: relative;
		margin-bottom: 18px;
	}

	.blog-comment .comment-body .comment-metadata {
		margin-bottom: 6px;
	}

	.blog-comment .reply a {
		margin-top: 12px;
	}

	.td-sidebar .widget {
		padding: 25px;
	}

	.banner-inner .title {
		font-size: 45px;
	}

	.section-title .title {
		font-size: 35px;
	}

	.project-slider-2 {
		padding: 0 15px;
	}

	.single-call-to-action-inner.style-white h2 {
		font-size: 35px;
	}

	.single-exp-inner h2 {
		font-size: 35px;
	}

	.about-mask-bg-wrap-2:after {
		bottom: 8px;
		height: 180px;
		width: 184px;
	}

	.pagination .page-numbers {
		height: 40px;
		width: 40px;
		margin-right: 5px;
		line-height: 40px;
		font-size: 16px;
	}
}

@media all and (max-width: 360px) {

	.single-blog-inner.style-3 .details,
	.single-blog-inner .thumb .blog-meta {
		margin: 0 15px;
	}

	.section-title .title {
		font-size: 32px;
	}

	.banner-inner .title {
		font-size: 40px;
	}

	.section-title.p-35 .btn {
		margin-bottom: 10px;
	}
}

@media all and (max-width: 320px) {
	.banner-inner .btn {
		margin-bottom: 10px;
	}
}