/*
* ----------------------------------------------------
Author       : narsuk
Project      :	vidot - Creative Portfolio Template
Version      :	1.0
Last change  :	02/9/2022
* ----------------------------------------------------
* /

/*
* -----------------------------------------------------
*  01.Basic Document Styles
*  02.Typography
   03.Loader
*  04.header
*  05.full screen slider
*  06.slider portfolio
*  07.parallax scroll effect portfolio page
*  08.list portfolio
*  09.scroll portfolio effect
*  10. 2 columns portfolio
*  11.about page
*  12.blogs page
*  13.contact page
*  14.footer
*  15.text animation
*  16.responsive
* -----------------------------------------------------
*/

/* ==================================================================
	01. Basic Document Styles
================================================================== */
/* inter reguler  font*/
@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap');

body {
	font-size: 16px;
	color: #161617;
	padding: 0px;
	margin: 0px;
	transition: 1s;
	font-family: 'Inter', sans-serif;
	line-height: 1.5rem;
	letter-spacing: .5px;
}

ol,
ul {
	list-style: none;
}

a {
	color: currentColor;
	text-decoration: none;
}

a:hover {
	color: #000;
}

::selection {
	background: #000;
	color: #fff;
}

form input,
form textarea,
button,
a {
	outline: none;
}

/* ==================================================================
	02. Typography
================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #000000;
}

p {
	font-size: 18px;
	color: #161617;
	opacity: 0.75;
	line-height: 27px;
	font-family: 'Inter', sans-serif;
}


h1,
.h1 {
	font-family: 'inter', sans-serif;
	font-size: 75.76px;
	font-weight: bold;
}

h2,
.h2 {
	font-family: 'Inter', sans-serif;
	font-size: 56.83px;
	font-weight: bold;
}

h3 {
	font-family: 'Inter', sans-serif;
	font-size: 42.63px;
	font-weight: lighter;
}

h4 {
	font-family: 'Inter', sans-serif;
	font-size: 31.98px;
	font-weight: bold;
}

h5 {
	font-family: 'Inter', sans-serif;
	font-size: 23.99px;
	font-weight: bold;
}

h6 {
	font-family: 'Inter', sans-serif;
	font-weight: bold;
	font-size: 18px;
}

h4.light {
	font-weight: lighter;
}

h3.bold {
	font-weight: bold;
}

/*================================================================
   03. Loader
==================================================================*/
.loader {
	position: fixed;
	top: 0px;
	left: 0px;
	display: flex;
	width: 100%;
	height: 100%;
	z-index: 20;
}


.loader-left {
	top: 0px;
	left: 0px;
	height: 50%;
	background: #000;
	position: absolute;
	width: 100%;
}
.loader-right {
	bottom: 0px;
	left: 0px;
	height: 50%;
	background: #000;
	position: absolute;
	width: 100%;
}

@keyframes logoAnim {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.logo-loader {
	z-index: 5;
	width: 160px;
	height: auto;
	animation-name: logoAnim;
	animation-duration: 3s;
	animation-iteration-count: infinite;
}




/*==================================================================
   04. header
==================================================================*/


header {
	margin-top: 32px;
}

header nav .navbar-brand {
	z-index: 3;
}

header nav .logo-header {
	height: 36px;
}

.menu-icon {
	height: 24px;
	width: 48px;
	cursor: pointer;
}

header .menu-icon div {
	display: block;
	position: relative;
	height: 2px;
	width: 48px;
	background: #000000;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.menu-icon:hover div {
	width: 0px;
}

.menu-icon div::before {
	content: "";
	display: block;
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	position: absolute;
	width: 0px;
	height: 2px;
	left: 48px;
	background: rgb(0, 0, 0);
}

.menu-icon div:nth-child(1)::before {
	transition: .6s ease-in-out;
}

.menu-icon:hover div::before {
	width: 48px;
	left: 0px;
}

.menu-icon div:nth-child(1) {
	top: 0px;
	-webkit-transform-origin: left center;
	transform-origin: left center;
}

.menu-icon div:nth-child(2) {
	top: 12px;
	-webkit-transform-origin: left center;
	transform-origin: left center;
}

.menu-icon.open div:nth-child(1) {
	-webkit-transform: rotate(45deg) translateY(-5px);
	transform: rotate(45deg) translateY(-5px);
}

.menu-icon.open div:nth-child(2) {
	-webkit-transform: rotate(-45deg) translateY(0px);
	transform: rotate(-45deg) translateY(0px);
	margin-top: 16px;
}

.menu-icon {
	z-index: 11;
	cursor: pointer;
}

/* MENU  */
.menu {
	position: fixed;
	z-index: 10;
	display: none;
	background: rgb(255, 255, 255);
	width: 100%;
	top: 0px;
	left: 0px;
	height: 100%;
}

.menu-content {
	background: #fff;
}


.menu .container {
	height: 100%;
	width: 100%;
}

.sub-menu,
.menu-content {
	text-align: center;
	margin-top: 96px;
}

.menu-content h1 {
	padding-top: 16px;
	transition: .25s;
}

.menu li {
	overflow: hidden;
	cursor: pointer;
}

.menu ul:hover li h1,
.sub-menu:hover li a {
	opacity: 0.3;
}

.menu ul li h1:hover,
.sub-menu li a:hover {
	color: black;
	opacity: 1;
}


/* sb menu */
.sub-menu-portfolio {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #fff;
	left: 0px;
	display: none;
	top: 0px;
}


.sub-menu li a {
	font-size: 32px;
}

.sub-menu li {
	padding-top: 16px;
}


.sub-menu-portfolio .subm-back-icon {
	position: absolute;
	z-index: 2;
	margin-left: 128px;
	color: rgb(0, 0, 0) !important;
	opacity: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	font-size: 64px;
	cursor: pointer;
}

/* =========================================================
    05. full screen slider
============================================================ */
.menu-icon-dark.menu-icon div {
	z-index: 1 !important;
	background: #fff;
}

.menu-icon-dark.menu-icon div::before {
	background: #fff;
	z-index: 1 !important;
}

main {
	overflow: hidden;
}

.slider-fullscreen {
	display: flex;
	justify-content: center;
	overflow: hidden !important;
	align-items: center;
}

.fullscreen {
	width: 100%;
	height: 100%;
	z-index: -1;
	position: absolute;
	top: 0px;
	left: 0px;
	overflow: hidden;
}

.fullscreen .fs-pr {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.fullscreen img {
	width: auto;
	height: 100%;
	object-fit: cover;
}

.slider-content {
	height: 70vh;
}

.text-slider-full:nth-child(2) h6,
.text-slider-full:nth-child(2) h1 {
	display: none;
}

.text-slider-full:nth-child(3) h6,
.text-slider-full:nth-child(3) h1 {
	display: none;
}

.text-slider-full:nth-child(2) .char,
.text-slider-full:nth-child(3) .char {
	-webkit-transform: translateY(-100px);
	transform: translateY(-100px);
}

section .slid-content {
	height: 100%;
}

.slid-content h1,
.slid-content h6 {
	color: #fff;
	overflow: hidden;
}

.slider-content h6 {
	opacity: 0.9;
}

.slid-content h1 {
	letter-spacing: 6px;
}

.slid-content h6 {
	letter-spacing: 4px;
}

.slider-content .full-screen-prg {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.fs-progress {
	display: flex;
	justify-content: center;
}

.fs-prg {
	width: 100px;
	height: 2px;
	background: rgb(255, 255, 255, .2);
}

.fs-prg::before {
	content: "";
	position: absolute;
	height: 2px;
	width: 10px;
	background: rgb(255, 255, 255, 0.75);
}

.text-slider-full {
	z-index: 2;
}

.slider-content .next,
.slider-content .pre {
	color: #fff;
	cursor: pointer;
	position: relative;
	transition: 0.25s;
	left: 0px;
	font-size: 42px;
}

.slider-content .next:hover {
	padding-left: 30px;
}

.slider-content .pre:hover {
	padding-right: 30px;
}



.sullscreen-sl-footer {
	margin-top: 0px;
}

.sullscreen-sl-footer p,
.sullscreen-sl-footer a {
	color: #fff;
}

/* ========================================================
     06. slider portfolio
============================================================ */
.slick-slider-showcase {
	width: 100%;
	height: 100%;
}

.slid-showcase {
	width: 55vw !important;
	height: 70vh;
	z-index: 2 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;

}

.slid-showcase img {
	width: 600px;
	height: auto;
	position: absolute;
	transition: 0.15s;
	opacity: 0;
}

.slid-showcase h1 {
	pointer-events: all;
	cursor: pointer !important;
	font-size: 96px;
	position: relative;
	transition: 0.15s;
}

.slid-showcase h1::before {
	content: '01';
	position: absolute;
	top: -8px;
	left: -24px;
	color: rgba(0, 0, 0, 0.5);
	font-size: 24px;
}

.slid-showcase-2 h1::before {
	content: '02';
}

.slid-showcase-3 h1::before {
	content: '03';
}

/* =========================================================
     07. parallax scroll effect portfolio page
============================================================ */
.portfolio-content {
	height: 80vh;
}

.section-conect {
	width: 2px;
	height: 100px;
	background: rgb(0, 0, 0, 0.6);
	position: absolute;
	top: 85vh;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.pr {
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.text-anime {
	overflow: hidden;
}

.text-anime .char {
	position: relative;
}

.project-scroll {
	margin: -2px;
	padding: 0px;
}

img {
	border: none;
}

.span-h6 span {
	display: inline-block;
	color: #fff;
	font-size: 18px;
	margin-bottom: 32px;
}

.span-h1 span {
	display: inline-block;
	font-size: 75.76px;
	color: #fff;
}

.pr img {
	width: 100%;
	height: 100%;
}

.pr .desc-pr {
	position: absolute;
}

.pr h1 {
	color: #fff;
}

.pr h6 {
	color: rgb(255, 255, 255);
	opacity: 0.90;
}

.endpr h1 {
	color: #000;
	display: flex;
}

.endpr h1 .icon-left {
	opacity: 0;
	margin-left: -24px;
	transition: all 0.5s;
}

.endpr a:hover h1 .icon-left {
	margin-left: 16px;
	opacity: 1;
}

/* scroll web */
.scroll-page .content {
	position: relative;
}

.scroll-page .content h2 {
	width: 330px;
}


/*==================================================================
  08. list portfolio
==================================================================*/

.content-list {
	height: 65vh;
}

.MS-portfolio .li-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-basis: 100%;
	z-index: 3;
}

.li-title h1 {
	opacity: .6;
	font-weight: normal;
}

.MS-portfolio .li-show:hover h1 {
	margin-left: 24px;
	opacity: 1;
}

.MS-portfolio .li-show h1,
.MS-portfolio .li-show:hover p {
	transition: 0.25s;
}

.MS-portfolio .li-show:hover p {
	margin-right: 24px;
}


.ms-slick-img {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 200px;
	transition: opacity 0.25s;
	z-index: 0;
	width: 400px;
	opacity: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.MS-portfolio ul li {
	padding-top: 64px;
}

.ms-slick-img .list-img {
	width: 512px;
	height: 280px;
	overflow: hidden;
}

.list-img img {
	width: 100%;
	height: auto;
}

.MS-portfolio:hover p,
.MS-portfolio:hover .h1 {
	opacity: 0.5;
}

.li-show:hover p,
.li-show:hover .h1 {
	opacity: 1;
}


/*==================================================================
   09. scroll portfolio effect
==================================================================*/

.scroll-page-effect {
	margin-top: 64px;
}

.se-pr .se-pr-title {
	position: relative;
	top: 36px;
	z-index: 5;
	text-align: center;
}

.se-pr-c {
	margin-top: 128px;
}

.se-pr .se-pr-title-start {
	text-align: start;
	margin-left: -64px;
}

.se-pr .se-pr-title-end {
	text-align: end;
	margin-right: -64px;
}

.se-pr-end {
	margin-bottom: 256px;
}


/*==================================================================
   10. 2 columns portfolio
==================================================================*/
.content-2c {
	height: 70vh;
}

.content-2c h2,
.content-list h2 {
	text-transform: capitalize;
	letter-spacing: 3px;
	font-weight: bold;
}

.col2-title {
	margin-top: 24px;
	margin-left: 8px;
}

.col2-img {
	overflow: hidden;
}

.pr-col2 {
	margin-bottom: 64px;
}

.col2-img img {
	transition: .5s;
	-webkit-transform: scale(1.25, 1.25);
	transform: scale(1.25, 1.25);
	height: 240px;
	object-fit: cover;
}

.col2-img:hover img {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

.col2-title p {
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 2px;
}

/*==================================================================
   11. About page
==================================================================*/
.content-about {
	height: 60vh;
}

.about-img {
	overflow: hidden;
	height: 520px;
}

.content-about h3,
.portfolio-content h3 {
	line-height: 48px;
	font-weight: 600;
	font-size: 48px;
	letter-spacing: 3px;
}

.content-about h6,
.portfolio-content h6,
.contact-content h6 {
	opacity: .6;
	margin-bottom: 16px;
	letter-spacing: 2px;
}

.about-img-content {
	margin-top: 64px;
}

.about-img-content span,
.client-content span {
	font-size: 28px;
	font-weight: 600;
	line-height: 46px;
}

.client-logos .client-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 128px;


}

.client-logos .client-logo .pattern-col {
	width: 96px;
	opacity: .7;
	transition: .25s;
}

.client-logos .client-logo:hover .pattern-col {
	opacity: 1;
}

/* about theam */
.horz-scroll-section {
	height: 100vh;
	background: #a2a2a2;
}

.about-theam {
	margin-top: 256px;
	background: rgb(25, 25, 25);
}

.theam-percs {
	position: relative;
	top: -128px;
}

.theam-perc {
	position: relative;
}


.theam-perc .perc-padding {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
}

.theam-perc {
	position: relative;
	height: 360px;
	overflow: hidden;
}

.theam-perc .perc-content {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: flex-end;
	transition: .25s;
}

.perc-content .per-content {
	transition: .5s;
	margin-left: 16px;
}

.theam-perc .perc-content .per-work {
	transition: .5s;
	opacity: 0;
	position: relative;
	top: 8px;
	font-size: 16px;
	color: rgb(0, 0, 0, .8);
	line-height: 16px;
}


.theam-perc .theam-img {
	position: absolute;
	width: 100%;
	height: 100%;
}
.theam-perc img{
	object-fit: cover;
}
.theam-perc .perc-img {
	transition: .5s;
	-webkit-transform: scale(1.05, 1.05);
	transform: scale(1.05, 1.05);
}

.theam-perc:hover .perc-img {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

.theam-perc:hover .perc-content .per-content {
	margin-bottom: 16px;
}

.theam-perc:hover .perc-content .per-work {
	top: 0px;
	display: inline;
	opacity: 1;
}

.all-services {
	padding-top: 160px;
}

.service {
	text-align: center;
	margin-top: 80px;
}

.service h5::before {
	content: '01';
	position: absolute;
	font-size: 72px;
	color: rgb(0, 0, 0, .2);
	z-index: -1;
	margin-top: -56px;
	margin-left: -76px;
}

.service:nth-child(2) h5::before {
	content: '02';
}

.service:nth-child(3) h5::before {
	content: '03';
}

.service p {
	font-size: 16px;
}


/* client  */
.client-content {
	margin-top: 64px;
}

.client-logos {
	margin-top: 64px;
}


.about-to-contact {
	margin-top: 64px;
	padding-top: 64px;
}

.about-to-contact h1 {
	color: rgb(0, 0, 0, .3);
}

.about-to-contact h1 a {
	color: #000;
	font-weight: 600;
}

/* ================================================================
    12. blogs
==================================================================*/
.blogs {
	margin-top: 64px;
}

.blog {
	margin-bottom: 64px;
}

.blog-content {
	margin-top: 16px;
}

.blog-img {
	height: 320px;
	transition: .5s;
	overflow: hidden;
}

.blog-img img {
	transition: .5s;
	object-fit: cover;
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
}

.blog:hover .blog-img img {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

.blog-content h3 {
	font-weight: 500;
}

.sub-title {
	font-size: 16px;
	letter-spacing: 2px;
}

/*=================================================================
   13. Contact
===================================================================*/

.contact-content {
	height: 65vh;
}

.contact-content h2 {
	letter-spacing: 2px;
	font-weight: 600;
}

#map {

	width: 100%;
	height: 560px;
}

.contact-ele {
	margin-top: 96px;
}

.contact-form .c-form {
	margin-top: 32px;
	outline: none;
	border: none;
}

.input {
	padding: 0px;
}

.input .c-form {
	width: 100%;
}

.input .label {
	height: 2px;
	width: 100%;
	position: relative;
	margin-top: 8px;
	padding: 0px;
	overflow: hidden;
	background: rgb(0, 0, 0, 0.5);
}

.label::before {
	content: "";
	position: absolute;
	height: 2px;
	width: 0%;
	transition: 0.25s;
	transition-timing-function: ease-in-out;
	background: rgb(0, 0, 0);
	z-index: 2;
}

input:focus+.label::before {
	width: 100%;
}

textarea:focus+.label::before {
	width: 100%;
}

.info-position {
	padding-left: 32px;
}

.info p {
	font-size: 20px;
	margin-left: 16px;
	color: rgb(0, 0, 0, 0.9);
}

.info .info-t {
	margin-top: 24px;
}

.submit {
	color: #fff;
	width: auto;
	background: #000;
	border-radius: 4px;
	padding: 16px 24px;
}

.c-form.m-left {
	padding-right: 8px;
}

/*=================================================================
  14. small slider portfolio
==================================================================*/
.sm-slider-portfolio {
	height: 464px;
}

.sm-slider-pr {
	max-width: 360px;
	height: 400px;
	padding: 32px 64px;
}

.sm-slider-portfolio .slick-slide .sm-slider-pr {
	transition: 1s;
	pointer-events: none;
}

.sm-slider-portfolio .slick-active .sm-slider-pr {
	pointer-events: all;
	padding: 0px 24px;
}

.sm-slider-pr img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sm-slider-pr p {
	margin-bottom: 0px;
	position: relative;
	top: 56px;
	left: 0;
	font-size: 48px;
	transition: 0.5s;
	font-weight: bold;
	opacity: 0;
}

.sm-slider-pr .text-end {
	color: #000;
	font-weight: bold;
	font-size: 32px;
	position: relative;
	top: -56px;
	left: 0;
}

.sm-slider-portfolio {
	padding-bottom: 32px;
}

.sm-slider-info {
	background: rgba(0, 0, 0, 0.25);
	height: 2px;
}

.sm-slider-info-bar {
	width: 0%;
	height: 100%;
	background: #000;
}

.sm-slider-portfolio .slick-active .sm-slider-pr p {
	left: -32px;
	opacity: 0.6;
}

.sm-slider-portfolio .slick-active .sm-slider-pr .text-end {
	left: 48px;
	opacity: 1;
}

/*=================================================================
   14. portfolio single page
==================================================================*/
.des-single-blog{
	margin-bottom: 24px;
}
.des-single-blog span{
	height: 2px;
	width: 64px;
	background: #000;
	opacity: 0.75;
}
.des-single-blog p{
	margin: 0px 8px;
	opacity: 0.75;
	font-weight: bold;
}
.blog-page-content{
	margin-top: 64px;
}
.blog-page-content p{
	line-height: 40px;
	opacity: 1;
}
.blog-page-content ul{
	list-style: circle;
}


.next-page-position h3 {
	text-transform: capitalize;
	transition: 0.25s;
}

.prev-page-single::before {
	content: 'Prev';
	position: absolute;
	font-size: 24px;
	margin-top: -24px;
	opacity: 0.75;
	font-weight: bold;
	transition: .25s;
}
.next-text-blog::before{
	margin-left: -48px !important;
}

.prev-page-single:hover h3 {
	margin-left: 32px;
}

.next-text-blog:hover h3 {
	margin-right: 32px !important;
}

/*=================================================================
   14. portfolio single page
==================================================================*/
.content-single {
	height: 60vh;
}
.grid2-prSingle {
	margin-top: 32px;
}
.content-single h6{
	opacity: 0.75;
}

.desc-grid-prSingle {
	margin-left: 32px;
}

.desc-grid-prSingle p {
	opacity: 1;
	font-weight: bold;
	font-size: 24px;
	opacity: 0.9;
	line-height: 36px;
}

.grid2-prSingle .end-content-prSingle {
	margin-top: 64px;
	color: #000;
	text-align: center;
	line-height: 46px;
}

.next-page-position {
	margin-top: 64px;
	padding: 128px 0px;
}

.next-page-single h2 {
	text-transform: capitalize;
	transition: 0.25s;
}

.next-page-single::before {
	content: 'Next';
	position: absolute;
	font-size: 24px;
	margin-top: -24px;
	margin-left: 72px;
	opacity: 0.75;
	font-weight: bold;
	transition: .25s;
}

.next-page-single:hover::before {
	margin-left: -32px;
}

.next-page-single:hover h2 {
	margin-left: 32px;
}

.prSingle-2 {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: -1;
	height: 100%;
	width: 100%;
}

.prSingle-2 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content-single-2 {
	height: 100vh;
}
.content-single-2 h6{
	opacity: 0.5;
}

.grid-prSingle-2 {
	padding-top: 48px;
}

.col1-grid {
	margin-top: 64px;
}
.grid-img img{
	height: 380px;
	width: 100%;
	object-fit: cover;
}
.col1-grid-img img ,.col1-grid img{
	width: 100%;
	height: 560px;
	object-fit: cover;

}



.col1-grid-slider img {
	width: 98%;
}

.col1-grid-slider:hover {
	cursor: drop;
}

.row-no-g img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}

.row-no-g-endImg img {
	width: 100%;
	height: 480px;
	object-fit: cover;
}

/*==================================================================
   14. footer
==================================================================*/

footer {
	z-index: 3;
	margin-top: 128px;
	position: relative;
	margin-bottom: 32px;
}

.slid-showcase-footer {
	margin-top: 0px;
}

.semi-margin-footer {
	margin-top: 32px;
}

.footer-icon a {
	font-size: 20px;
	margin-left: 32px;
	transition: .5s;
	position: relative;
	padding-bottom: 16px;
	top: 0px;
}

.footer-icon a:hover {
	top: -8px;
}

footer a {
	text-decoration: none;
	font-weight: bold;
	color: #000;
}


/* =================================================================
	15. text animation
=================================================================== */
/* scroll animation Text effect */
.subtext-anime {
	position: relative;
}

.text-anime .char {
	opacity: 0;
}

/* Hover text animation */

.text-effect .char {
	overflow: hidden;
	color: transparent;
}

.text-effect .char:before,
.text-effect .char:after {
	visibility: visible;
	color: #000;
	transition: transform .5s cubic-bezier(0.9, 0, 0.2, 1);
	transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
}

.text-effect-light .char:before,
.text-effect-light .char:after {
	color: #fff;
}

.text-effect .char:before {
	transition-delay: calc(0.02s * (var(--char-index)));
}

.text-effect:hover .char:before {
	transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
}

.text-effect:hover .char:after {
	transition-delay: calc(0.02s * (var(--char-index)));
}

.text-effect .char:before {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.text-effect:hover .char:before {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}

.text-effect:hover .char:after {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

/*==================================================================
   16. responsive
==================================================================*/

@media (max-width : 992px) {
	.desc-grid-prSingle{
		margin-top: 32px;
		margin-left: 0px;
	}
	.slider-content .next, .slider-content .pre{
		font-size: 38px;
	}
	.sub-menu-portfolio .subm-back-icon {
		font-size: 48px;
	}

	.menu-icon:hover div {
		width: 32px;
	}

	.grid2-prSingle .grid-img{
		margin-top: 32px;
	}

	h1,
	.span-h1 span {
		font-size: 54.93px;
	}

	.slid-showcase h1 {
		font-size: 96px;
	}

	h2 {
		font-size: 43.95px;
	}

	h3,
	.h3 {
		font-size: 35.16px;
	}

	h4 {
		font-size: 28.13px;
	}

	h5 {
		font-size: 22.50px;
	}

	h6,
	.span-h6 span {
		font-size: 18px;
	}

	.blog-img {
		height: 240px;
	}

	.info-position {
		margin-bottom: 64px;
	}

	.info {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	.info-t {
		margin-right: 64px;
	}
}

@media (max-width: 768px) {
	.slider-content .next, .slider-content .pre{
		font-size: 34px;
	}
	.des-single-blog{
		height: 48px;
	}
	.blog-page-content p{
		line-height: 32px;
	}
	.des-single-blog span{
		width: 48px;
	}
	.desc-grid-prSingle p{
		font-size: 20px;
	}
	.sub-menu-portfolio .subm-back-icon{
		margin-left: 64px;
	}
	.fs-progress {
		margin-bottom: 16px;
	}

	.submit {
		padding: 12px 16px;
	}

	.sub-menu-portfolio .subm-back-icon {
		font-size: 32px;
	}

	.fs-prg {
		width: 200px;
	}


	p {
		font-size: 16px;
		line-height: 24px;
	}


	h1,
	.span-h1 span {
		font-size: 39.81px;
	}

	.slid-showcase h1 {
		font-size: 64px;
	}

	h2 {
		font-size: 33.18px;
	}

	h3,
	.h3 {
		font-size: 27.65px;
	}

	h4 {
		font-size: 23.04px;
	}

	h5 {
		font-size: 19.20px;
	}

	h6,
	.span-h6 span {
		font-size: 16px;
	}

	.ms-slick-img {
		height: 160px;
		width: 320px;
	}

	.content-about {
		height: 50vh;
	}

	.content-about h3,
	.portfolio-content h3 {
		line-height: 40px;
		font-size: 32px;
	}

	.content-about h6,
	.portfolio-content h6 {
		margin-bottom: 16px;
		font-size: 14px;

	}

	.about-img {
		height: 320px;
	}

	.about-img-content span,
	.client-content span {
		font-size: 24px;
		line-height: 40px;
	}

	.blog-img {
		height: 160px;
	}

	.info-t {
		margin-right: 32px;
	}

	.form-contact {
		display: block !important;
	}


	.slid-showcase img {
		width: 440px;
	}
}

@media (max-width: 576px) {
	.grid-img img{
		height: 280px;
	}
	.col1-grid-img img{
		height: 320px;
	}
	.slider-content .next, .slider-content .pre{
		font-size: 24px;
	}
	.des-single-blog{
		margin-bottom: 0px;
	}
	.blog-page-content p{
		line-height: 28px;
	}
	.des-single-blog span{
		width: 32px;
	}
	.desc-grid-prSingle p{
		font-size: 18px;
	}
	.sub-menu-portfolio .subm-back-icon{
		margin-left: 32px;
	}
	.sm-slider-portfolio {
		height: 334px;
	}
.next-page-single::before ,
.prev-page-single::before {
	font-size: 18px;
}
	.sm-slider-pr {
		max-width: 240px;
		height: 280px;
		padding: 32px 64px;
	}
	.sm-slider-portfolio .sm-slider-pr p {
		font-size: 24px;
	}

	.sm-slider-portfolio .sm-slider-pr .text-end {
		font-size: 18px;
	}

	.sm-slider-portfolio .slick-active .sm-slider-pr p {
		left: -24px;
	}

	.sm-slider-portfolio .slick-active .sm-slider-pr .text-end {
		left: 16px;
	}

	.MS-portfolio .li-title {
		display: block;
		text-align: center;
	}

	.blog {
		margin-bottom: 48px;
	}

	.about-img-content {
		margin-top: 16px;
	}

	.about-theam {
		margin-top: 150px;
	}

	.all-services {
		padding-top: 96px;
	}

	.about-to-contact {
		margin-top: 64px;
	}

	.content-2c h2,
	.content-list h2 {
		letter-spacing: 1px;
	}

	.content-about h3,
	.portfolio-content h3 {
		letter-spacing: 1px;
	}

	.pr-col2 {
		margin-bottom: 32px;
	}

	.se-pr-c {
		margin-top: 64px;
	}

	.submit {
		margin-left: 16px;
	}

	.sub-menu-portfolio .subm-back-icon {
		font-size: 18px;
	}

	.fs-prg {
		width: 100px;
	}

	.slid-showcase h1 {
		font-size: 32px;
	}

	h1,
	.span-h1 span {
		font-size: 22.13px;
	}

	h2 {
		font-size: 20.74px;
	}

	h3,
	.h3 {
		font-size: 19.44px;
	}

	h4 {
		font-size: 18.22px;
	}

	h5 {
		font-size: 17.07px;
	}

	h6,
	.span-h6 span,
	p {
		font-size: 12px;
		line-height: 20px;
	}


	.ms-slick-img {
		height: 100px;
		width: 200px;
	}

	.content-about h3,
	.portfolio-content h3 {
		line-height: 32px;
		font-size: 24px;
	}


	.about-img {
		height: 280px;
	}

	.content-about h6,
	.portfolio-content h6 {
		font-size: 12px;
	}

	.about-img-content span,
	.client-content span {
		font-size: 18px;
		line-height: 32px;
	}


	.client-logos .client-logo {
		height: 96px;
	}

	.client-logos .client-logo .pattern-col {
		width: 64px;
	}



	.info-t {
		margin-right: 16px;
	}

	.slid-showcase img {
		width: 320px;
	}
}