


/*
**
*** Home main content start
**
*/
.main-content {
    position: relative;
    padding: 25px 0;
    background-image: linear-gradient(to right, #ffffff13 .3px, transparent 1px), linear-gradient(to bottom, #ffffff13 .3px, transparent 1px);
    background-size: 15px 15px;
    background-position: center;
    background-color: var(--main-bg);
    box-shadow: inset 0px 0px 10px 10px #08080869;
}
section .overlay {
    position: absolute;
    height: 100%;
    width: 100%;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
    background: var(--global-graident);
    opacity: .95;
	z-index:0;
}/*** End of home main content ***/


/*
**
*** Header elements
**
*/
.slideCompanent {
    position: relative;
}
.home .main-bg {
    display: flex;
    justify-content: center;
    align-items: flex-end;	
    width: 100%;	
    height: 100vh;
    background: #040e1e;
	filter: grayscale(1);
	overflow: hidden;
}
.main-bg .home-video {
	position: relative;
    width: 100vw;
    height: 100vh;
	transform: scale(1.25);
}
.main-bg .overlay {
    width: 100%;
    height: 100vh;
    position: absolute;
    background-color: #000;
    opacity: 0.65;
}
.slideCompanent .slideTextArea { /* home main back text */
    position: absolute;	
    display: flex;	
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
	margin: 0 auto;
	padding: 0 5%;
    top: 0;
    left: 0;
	text-align: center;
}
.textContent .typewriter {
	font-family: system-ui;
	font-size: 2.3vw;
	letter-spacing: 2px;
}
.textContent .typewriter::after {
    content: '|';
    margin-left: 3px;
    animation: blink 1s linear infinite;
    font-weight: bold;
    font-size: 3vw;
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 728.98px) {
	.home .main-bg {	
		height: 95vh;
	}
	.main-content {
		background-image: linear-gradient(to right, #ffffff19 .3px, transparent 1px), linear-gradient(to bottom, #ffffff19 .3px, transparent 1px);
		background-size: 20px 20px;
	}	
}
@media (max-width: 568.98px) {
	.slideTextArea .textContent {
		width: 90%;
		top: 40%;
		padding: 0 3%;
	}
	.textContent .typewriter { 
		font-size: 7vw;
	}
	.textContent .typewriter::after {
		font-size: 7.5vw;
	}
}/*.. End of header elements */




/*
**
*** WE PROVIDE SERVICES WRAPPER FOR HOMEPAGE
**
*/
section.we-provide {
	position: relative;
    height: 100%;
    width: 100%;
	margin-top: 25px;
}
.we-provide .services-wrapper {
    position: relative;
    display: flex;
    column-gap: 30px;
    height: 100%;
    width: 100%;
}
.heading-wrapper .heading-content {
    position: sticky;
	top: 35px;
}
.services-wrapper .services-content {
	display: flex;
}
.services-content .services-column:nth-child(2) {
	margin-top: 70px;
}
.services-content .column-item {
	position: relative;
	display: flex;
	align-items: center;
	border-left: solid 1px var(--brd-clr);
	background: transparent;
	background-size: 5px 5px;
	transition: all .6s;
}
.services-content .column-item::after {
    content: "";
    background: var(--orange);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
	transition: all .6s;
}
.services-content .column-item:hover:after {
    transform: translate(-50%, -50%) scale(1,1);
}
.services-content .column-item:not(:last-child) {
	border-bottom: solid 1px var(--brd-clr);
}
.services-content .services-card {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.services-wrapper .services-card .card-content {
	display: flex;
    flex-wrap: wrap;
    align-content: center;
	width: 100%;
	height: 100%;
	padding: 6.6rem 35px;
}
.services-wrapper .heading {
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
	transition: all .4s;
	max-width: 80%;
}
.services-wrapper .paragraph {
	margin-top: 25px;
	transition: all .4s;
}
.services-wrapper .heading::after {
    content: "";
    position: absolute;
    display: inline-block;
    margin-left: 15px;
    background-image: url(/assets/images/svgs/right-arrow.svg);
    height: 35px;
    width: 35px;
    background-size: 35px 35px;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(-45deg);
    transition: all .4s;	
}
.services-wrapper  .card-content:hover .heading::after {
	transform: rotate(-0deg);
}

@media (max-width: 828.98px) {
	.services-content .column-item {
		border-left: solid 0px var(--brd-clr);
	}
	.services-content .column-item {
        padding: 5px;
    }
    .services-wrapper .services-card .card-content {
		padding: 4.8rem 0;
	}
	.we-provide .services-wrapper {
		flex-wrap: wrap;
	}
	.services-wrapper .services-content {
		flex-wrap: wrap;
	}
	.services-wrapper .heading-content {
		position: relative;
		height: 100%;
		flex: 0 0 100%;
		padding: 5px;
	}
	.services-content .services-column:nth-child(2) {
		margin-top: 0;
	}
    .services-column:nth-child(1) .column-item:last-child {
		border-bottom: solid 1px var(--brd-clr);
	}	
}/* End of we provide services sticky wrapper */




/*
**
*** CUSTOMER TESTIMONIAL AND REVIEW SCROLL
**
*/
section.client__reviews {
	position: relative;
	overflow: hidden;
    /*text-align: center;*/
}
.client__reviews .reviews__holder {
    position: relative;
    margin-top: 50px;
}
.client__reviews .reviews__holder:before {
    content: "";
    position: absolute;
    background-image: linear-gradient(to right, #000000 0%, #00000000 100%);
    width: 70px;
    height: 100%;
    z-index: 1;
}
.client__reviews .reviews__holder:after {
    content: "";
    position: absolute;
    background-image: linear-gradient(to left, #000000 0%, #00000000 100%);
    width: 70px;
    height: 100%;
	top: 0;
	right: 0;
    z-index: 1;
}
.client__reviews .reviews__wrapper {
    display: flex;
	column-gap: 25px;
	width: 100%;
	max-width: 100%;
    animation: scroll__review 40s linear infinite;
}
.client__reviews .reviews__wrapper:hover {
    	animation-play-state: paused;
}
.client__reviews .review-item {
	display: flex;
	flex-direction: column;
    min-width: 325px;
	min-height: 100%;
	padding: 35px 50px;
    background-image: linear-gradient(to right, #00499f 50%, #162256 50%);
    background-size: 200% 100%;
    background-position:right bottom;
	border-radius: 10px;
	transition: .7s;
}
.client__reviews .review-item:hover {
	background-position: left bottom;
    transform: scale(.95);
}
.client__reviews .review-head .review-stars {
    max-height: 18px;
    margin-bottom: 20px;
}
.client__reviews .review-details {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.client__reviews .review-details img {
	display: none;
    width: 30px;
    height: 30px;
}
@keyframes scroll__review {
  0% {
    transform: translateX(0);
  }
  100% {/*** Collect the elem-width and margin rate = ? ***/
    transform: translateX(calc(-350px * 7));
  }
}
@media (min-width: 729px) and (max-width: 1179px) {
    section.client__reviews {
	    padding-right: 0;
		padding-left: 0;
    }
	.client__reviews .reviews__holder:before {
		width: 50px;
	}
	.client__reviews .reviews__holder:after {
		width: 50px;
	}	
}
@media (max-width: 728.98px) {
    section.client__reviews {
	    padding-right: 0;
		padding-left: 0;
    }
	.client__reviews .reviews__holder:before {
		width: 30px;
	}
	.client__reviews .reviews__holder:after {
		width: 30px;
	}	
}/*.. End testimonial ..*/





/*
**
*** Our works
**
*/
.our-works .works-component {
    display: grid;
	grid-gap: 20px;
    grid-template-columns: auto auto auto;
}
.works-component img {
	transition: all .5s ease;
}
.works-component img:hover {
	transform: translate(0, -15px);
}
@media (min-width: 569px) and (max-width: 828.98px) {
	.our-works .works-component {
		grid-template-columns: auto auto;
	}
}
@media (max-width: 568.98px) {
	.our-works .works-component {
		grid-gap: 15px;
		grid-template-columns: auto;
	}
}/*.. End our works ..*/




/*
**
*** Our partnerships
**
*/
section.our-partners {
	position: relative;
}
.our-partners .scroll__wrapper.container {
	position: relative;
	overflow: hidden;
}
.our-partners .carousel-primary {
	display: flex;
	width: 100%;
	height: 100%;
    animation: scroll__parnership 50s linear infinite;
}
.our-partners  .carousel-primary .partners_img {
	min-width: 300px;
	max-width: 300px;
	height: 100%;
	margin-right: 25px;
	padding: 8px 0;
	border-radius: var(--brd-rds);
	transition: all .5s;
}
.our-partners  .carousel-primary .partners_img:hover {
	transform: scale(.95);
	cursor: pointer;
}
@keyframes scroll__parnership {
	0% {
	    transform: translateX(0);
	}
	100% {
	    transform: translateX(calc(-325px*11));
	}
}
@media (max-width: 728.98px) {
	.our-partners   .carousel-primary .partners_img, .client  .carousel-secondary .partners_img {
	  width: 380px;
	}
}/* end of our partnerships */



/*
**
*** SOFTWARE TECHNOLOGIES TAGS IN TEXT AND ELEM
**
*/
.elem-area .elem-tags__wrapper {
    background-color: var(--black-bg);
    padding: 35px;
}
.elem-area .elem-tags__content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 15px;
    column-gap: 15px;
    justify-content: center;
	margin: 30px 0;
}
.elem-tags__content .tags-item {
    background: #48ecff15;
    padding: 2px 25px;
    color: #48ecff;
}
.elem-tags__content .tags-item.green {
    background: #24eb3515;
    color: #24eb35;
}
.elem-tags__content .tags-item.yellow {
    background: #ddeb2415;
    color: #ddeb24;
}
.elem-tags__content .tags-item.purple {
    background: #e238ff15;
    color: #e238ff;
}
.elem-tags__content .tags-item.orange {
    background: #ff5f1515;
    color: #ff5f15;
}

.elem-tags__content .tags-item:hover {
	cursor: pointer;
    background: #e51d1d15;
    color: #e51d1d;
}
@media (max-width: 728.98px) {
    .text-area .text__wrapper {
        padding: 8px;		
	}
}/* end of software technologies tags in text and elem */




/*
**
***
****
***** BORDER ANIMATION FOR TEXT AND ELEM WRAPPER
****
***
**
*/
@property --border-gradient-angle {
    syntax: "<angle>";
    inherits: true;
    initial-value: 5turn;
}
.text-area.border-animation {
    --outer-radius: 0.5rem;
    --border-size: 1px;
    --inner-radius: calc(var(--outer-radius) - var(--border-size));
    background-image: conic-gradient(from var(--border-gradient-angle) at 50% 50%, transparent, orange 18%, transparent 17%);
    border-radius: var(--outer-radius);
    background-size: contain;
    padding: var(--border-size);
    animation-name: buttonBorderSpin;
    animation-play-state: running;
    animation-duration: 9s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: normal;
    max-width: 100%;
}
.text-area.border-animation.green {
}
.border-animation .text__wrapper {
	border-radius: var(--inner-radius);
	background-color: #001014;
	padding: 15px;
}

@keyframes buttonBorderSpin {
	0% {
		--border-gradient-angle: 0turn;
	}
	100% {
		--border-gradient-angle: 1turn;
	}
}
@media (max-width: 728.98px) {
}/* end of border animation for text and elem wrapper */

