:root {
    --hero-bg: url("../images/hero-left-dots-image.png");
}

@media screen and (max-width: 1499px) AND (min-width: 992px) {
	body {
		  zoom: 0.85;
		  font-size: 18px;
          line-height: 30px;
	}
	
	.site-header #site-navigation #primary-menu-list>li>a,
	 #primary-menu-list .sub-menu > li > a {
		font-size: 16px;
	}
	
	.hero__stats strong {
		font-size: 20px;
	}
	
	.awards-grid__item,
	.post-item__details .post-item__read-time,
	#main-footer .certificates-holder__list-details,
	.team-reviews-swiper .team-review-card__author,
	.request-form__form .form-submit__email,
	.swiper-cols .process-card,
	.hero--contact-us ol li,
	.members-grid .member-item__details {
		font-size: 16px;
	}
	
	.block-heading-holder .category-label, .section-heading-holder .category-label, .page-heading-holder .category-label,
	.request-form__form .request-form__form-card .wpcf7 .wpcf7-list-item label,
	.hero__text .category-with-cta__category,
	.hero__text .category-with-cta__link {
		font-size: 14px;
	}
	
	.hero--contact-us ol li strong {
		font-size: 18px;
	}
	
	.site-header .top-bar__cta-link {
		font-size: 13px;
	}	
}

@media screen and (max-width: 1499px) {
    .hero--home:not(:has(.hero__image)) .container {
        display: block;
        text-align: left;
    }
	
	.hero--home .hero__text-btns {
        justify-content: flex-start;
    }
	
	.hero--home .hero__stats {
        justify-content: flex-end;
    }
}

@media screen and (max-width: 1299px) AND (min-width: 1200px) {
    .hero--home:not(:has(.hero__image)) .hero__text {
        width: 60%;
    }
}

@media screen and (max-width: 991px) {
    .hero {
        padding-top: 105px;
    }
}

.process-grid .process-card__title--has-icon .process-card__title-icon,
.review-item__author-badge {
	flex-shrink: 0;
}

	
.process-grid .process-card .text-swiper .swiper .swiper-slide span {
	white-space: nowrap;
}

.logo-swiper .swiper-wrapper {
   display: flex;
   align-items: center;
}

.process-grid .process-card__metrics .process-card__metric {
	background-color: #F9FFE6;
}

@media screen and (max-width: 575px) {
	.process-grid .process-card__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.service-intro__image img {
	height: auto !important;
}

.request-form form input[type="submit"].wpcf7-form-control {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 24px;
    background: #D3FB52;
    border: 0;
    font-size: 16px;
    font-weight: 600;
    color: #010708;
    white-space: nowrap;
    letter-spacing: 0;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    outline: none;
    text-transform: none;
    transition: all 0.3s ease-in-out;
    border-radius: 35px;
}

.request-form form input[type="submit"].wpcf7-form-control:hover {
	background: #A1DE3B;
    color: #010708;
}

.request-form form input[type="submit"].wpcf7-form-control:active {
    background: rgb(150.5327510917, 218.3253275109, 37.1746724891);
    color: #010708;
}

.request-form .wpcf7 + .form-submit {
	margin-top: -52px;
}

.request-form .wpcf7-response-output {
	margin-bottom: 70px
}

.request-form .request-form__text h3 {
	color: #F9FFE6;
}

.services-grid__item-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media screen and (max-width: 1299px) {
    .cta-block--hiring .cta-block__footer ul {
        font-size: 20px;
    }
}

.video-testimonial__media img {
	height: auto;
}

@media screen and (max-width: 991px) {
	.swiper-navigation button:hover {
		background-color: #f9ffe6;
	}
}

#main-footer .insights-output__item-image {
	display: flex;
}
/* 
body:has(.hero--about-us) main#main {
	overflow: hidden;
} */

.hero::before {
	background-position: left bottom;
	background-size: auto;
}

@media screen and (max-width: 768px) {
	.hero.hero--case-studies::before {
		content: none;
	}
}

.hero--case-studies {
    padding-bottom: 64px;
}

.hero--contact-us ol li strong,
.hero--contact-us ol li::before,
.hero--contact-us .logo-swiper>span{
	color: #F9FFE6;
}

.hero--contact-us .scale-stats__description {
    color: #F9FFE6 !important;
}


#primary-menu-list > li.menu-item-has-children > a::after {
	content: normal;
}

#primary-menu-list > li.menu-item-has-children > a > span {
	position: relative;
	padding-right: 29px !important;
}

#primary-menu-list > li.menu-item-has-children > a > span::after {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	position: absolute;
	top: 0;
	right: 12px;
	bottom: 0;
	margin: auto 0;
    width: 12px;
    height: 6px;
	background: url('../images/icons/nav-arrow-down.svg') right center no-repeat;
	background-size: contain;
	border: 0;
	transform: none;
	transition: all 0.25s ease-in-out;
	opacity: 1
}

@media screen and (min-width: 992px) {
	#primary-menu-list > li.menu-item-has-children:hover > a > span {
		background-color: #f9ffe6;
		color: #010708;
	}

	#primary-menu-list > li.menu-item-has-children:hover > a > span::after {
		filter: brightness(0);
		transform: rotate(-180deg);
	}
	
	#primary-menu-list > li.current-menu-item > a > span {
		background-color: #f9ffe6;
		color: #010708;
	}
}

#primary-menu-list > li.current-menu-item > a > span::after,
#primary-menu-list > li.current-menu-ancestor > a > span::after {
	filter: brightness(0);
}


@media screen and (max-width: 991px) {
	.site-header #site-navigation #primary-menu-list > li > a span {
	    display: block;
		padding: 7px 20px;
		width: 100%;
		text-align: left;
		border-radius: 8px;
	}
	
	.site-header #site-navigation #primary-menu-list > li:not(.current-menu-item):not(.sub-menu-open):not(.current-menu-ancestor) > a > span {
		background: none !important;
        color: #fff !important;
	}
	
    #primary-menu-list > li.menu-item-has-children > .sub-menu {
		display: block;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease;
    }
	
	#primary-menu-list > li.menu-item-has-children.sub-menu-open > a > span {
		background-color: #f9ffe6 !important;
		color: #010708 !important;
	}
	
	#primary-menu-list > li.menu-item-has-children.sub-menu-open > a > span::after {
		filter: brightness(0);
		transform: rotate(-180deg);
	}
}

.hero--case-studies .hero__text p {
	padding-right: 0;
	color: #F9FFE6;
}

@media screen and (max-width: 991px) {
    .toolbar .search, .toolbar form {
        min-width: 1px;
    }
}

@media screen and (max-width: 1599px) {
	.single-case-study__cta {
		margin-top: 0 !important;
	}
}

@media screen and (max-width: 1599px) AND (min-width: 860px) {
	.single-case-study__cta {
		flex-direction: row;
		justify-content: space-between;
		gap: 0 50px;
		padding: 32px;
		text-align: left;
	}
	
	.single-case-study__cta-content {
		flex: 1;
	}
}

@media screen and (max-width: 1080px) {
    .request-form .request-form__form {
        width: 100%;
    }
}

@media screen and (max-width: 991px) {
	body:has(.single-case-study) .request-form.dark-bg {
		background: #052326;
	}
}

.single-case-study__pagination-link-name {
	max-width: 70%;
	word-break: break-all;
}

@media screen and (max-width: 430px) {
	.single-case-study__pagination-link-name {
		max-width: 60%;
	}
}

.site-header--dark .site-logo img {
  transition: all 0.3s ease-in-out;
}
.site-header--dark .menu-toggle:not(.opened) .icon::before, .site-header--dark .menu-toggle:not(.opened) .icon::after {
  background: #010708;
}

body.single-case-study .site-header:not(.on-scroll) .site-logo img {
	filter: brightness(0);
}

body.single-case-study .site-header.on-scroll .site-logo img {
	filter: brightness(0) invert(1) !important;
}

@media screen and (min-width: 992px) {
	  body.single-case-study .site-header:not(.on-scroll) #site-navigation {
		background: rgba(76, 94, 89, 0.12);
		backdrop-filter: blur(16px);
	  }

	  body.single-case-study .site-header:not(.on-scroll) #site-navigation #primary-menu-list > li > a {
		color: #010708;
	  }

	  body.single-case-study .site-header:not(.on-scroll) #site-navigation #primary-menu-list > li > a:hover span {
		background-color: #052326;
		color: #fff;
	  }

	  body.single-case-study .site-header:not(.on-scroll) #site-navigation #primary-menu-list > li.menu-current-item a {
		pointer-events: none;
	  }

	  body.single-case-study .site-header:not(.on-scroll) #site-navigation #primary-menu-list > li.menu-current-item a span {
		background-color: #052326;
		color: #fff;
	  }
	
	  body.single-case-study .site-header:not(.on-scroll) #primary-menu-list li.menu-item-has-children > a > span::after {
		filter: brightness(0);
	  }
	
	  body.single-case-study .site-header:not(.on-scroll) #primary-menu-list li.menu-item-has-children:hover > a > span::after {
		filter: brightness(1);
	  }
	
	  body.single-case-study .site-header:not(.on-scroll) #primary-menu-list li.menu-item-has-children:hover > a > span {
		background-color: #052326;
        color: #fff;
	  }
	
	  body.single-case-study .site-header:not(.on-scroll) .lang-bar__button {
		color: #010708;
	  }

	  body.single-case-study .site-header:not(.on-scroll) .lang-bar__button::after {
		filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%);
	  }
}

body.single-case-study .site-header.on-scroll .menu-toggle:not(.opened) .icon::before, 
body.single-case-study .site-header.on-scroll .menu-toggle:not(.opened) .icon::after {
  background: #fff;
}

body.single-case-study .site-header .menu-toggle:not(.opened) .icon::before, 
body.single-case-study .site-header .menu-toggle:not(.opened) .icon::after {
    background: #010708;
}

body.single-case-study {
	padding: 0;
	margin: 0;
}

body.single-case-study .container {
	position: relative;
	z-index: 12;
}

.hero.hero--case-study {
	padding: 215px 0 150px 0;
}

.hero.hero--case-study .technology-stack {
    display: flex;
    align-items: center;
    gap: 0 12px;
    margin: 0 0 32px 0;
    font-weight: 600;
	font-size: 16px;
}

.hero.hero--case-study .technology-stack__tech-icons {
	gap: 4px;
}

.hero.hero--case-study .technology-stack__tech-icons li {
	display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background-color: #4C524B;
    border-radius: 3px;
}

.hero.hero--case-study .technology-stack__tech-icons li {
	
}

@media screen and (max-width: 1199px) {
    .hero.hero--case-study {
        padding-top: 150px;
        padding-bottom: 64px;
        border-radius: 0 0 24px 24px;
    }
	
	.hero.hero--case-study .hero__text {
		text-align: left;
	}
}

@media screen and (max-width: 1199px) and (min-width: 769px) {
     .hero.hero--case-study .technology-stack {
        justify-content: center;
    }
	
	.hero.hero--case-study h1,
	.hero.hero--case-study h1 p {
		text-align: center;
	}
}


.reviews-swiper .swiper-slide {
	height: auto !important;
}

.highlights-line__swiper-holder {
	animation: none;
}


.hero--contact-us .hero__text h1 span {
	display: block;
}

@media screen and (min-width: 992px) {
	html:has(body.single-case-study) {
		display: flex;
		flex-direction: column;
	}

	html:has(body.single-case-study) body {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
	}

	html:has(body.single-case-study) main {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}

	html:has(body.single-case-study) main .single-case-study {
		flex-grow: 1;
	}
}


/* .highlights-line {
    overflow: hidden;

    .highlights-line__swiper {
        overflow: hidden;
        width: 100%;

        .swiper-wrapper {
            transition-timing-function: linear !important;
        }

        .swiper-slide {
            width: auto !important;
            flex-shrink: 0;
        }
    }
} */

.highlights-line {
    overflow: hidden;

    .highlights-line__swiper {
        width: 100%;
        
        .swiper-wrapper {
            -webkit-transition-timing-function: linear !important;
            transition-timing-function: linear !important;
        }

        .swiper-slide {
            width: auto !important; 
            display: flex;
            align-items: center;
            white-space: nowrap;
            padding: 0 20px; 
        }
    }
}


@media screen and (min-width: 769px) {
	.single-case-study__services-list {
		display: block;
		column-gap: 24px;
		columns: 2;
	}

	.single-case-study__services-item { 
		margin-bottom: 12px;
		break-inside: avoid;
	}
}

body.error404 {
	padding-top: 215px;
}


body.error404 .site-header {
	background-color: rgb(4, 32, 35);
}

@media screen and (max-width: 1199px) {
    body.error404 .site-header {
        padding-top: 150px;
    }
}
	
@media screen and (max-width: 768px) {	
	.hero:not(.hero--mint):not(.hero--light-orange):not(.hero--light-blue):not(.hero--light-green)::after {
		width: 100%;
		background: url(../images/hero-right-dots-image-mobile.png) right top no-repeat;
	}
}

	
@media screen and (max-width: 991px) {
    .team-photo__logos {
		gap: 0 60px;
	}
}

.request-form .wpcf7-response-output {
	width: 100%;
}

.request-form:has(.wpcf7-response-output:not(:empty)) .form-submit {
    margin-top: 0 !important;
}

.hero--about-us {
	overflow: hidden;
}

.select2-container--open .select2-dropdown {
	margin-top: 32px;
}

@media screen and (min-width: 992px) {
	#main-footer {
		margin: 122px 0 0 0;
	}
}

@media screen and (min-width: 1300px) {
	.tabs-holder .nav-tabs-holder {
		flex-wrap: wrap;
		gap: 30px;
	}
}

.reviews-swiper:hover .swiper-wrapper {
    animation-play-state: running;
}

.reviews-swiper .swiper-wrapper:hover {
	animation-play-state: paused;
}

	