#preloader{
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    z-index: 99999;
    display: flex;
}
#preloader:before,
#preloader:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    z-index: -1;
    background-color: #000;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
#preloader:after{
    left: auto;
    right: 0;
}
#preloader .loader_line{
    margin: auto;
    width: 1px;
    height: 250px;
    position: relative;
    overflow: hidden;
    -webkit-transition: all 0.8s ease 0s;
    -o-transition: all 0.8s ease 0s;
    transition: all 0.8s ease 0s;
}
.loader_line:before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 0%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #fff;
    -webkit-animation: lineheight 1000ms ease-in-out 0s forwards;
    -o-animation: lineheight 1000ms ease-in-out 0s forwards;
    animation: lineheight 1000ms ease-in-out 0s forwards;
}
.loader_line:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #999999;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-animation: lineround 1200ms linear 0s infinite;
    -o-animation: lineround 1200ms linear 0s infinite;
    animation: lineround 1200ms linear 0s infinite;
    animation-delay: 2000ms;
}

@keyframes lineheight{
    0%{
        height: 0%;
    }
    100%{
        height: 100%;
    }
}

@keyframes lineround{
    0%{
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100%{
        -webkit-transform: translateY(200%);
        -ms-transform: translateY(200%);
        -o-transform: translateY(200%);
        transform: translateY(200%);
    }
}

/*hiding all*/
.preloaded .loader_line:after{
    opacity: 0;
}
.preloaded  .loader_line{
    opacity: 0;
    height: 100%!important;
}
.preloaded:before,
.preloaded:after{
    -webkit-animation: preloadedzero 300ms ease-in-out 500ms forwards;
    -o-animation: preloadedzero 300ms ease-in-out 500ms forwards;
    animation: preloadedzero 300ms ease-in-out 500ms forwards;
}
@keyframes preloadedzero{
    0%{
        width: 50%;
    }
    100%{
        width: 0%;
    }
}

.tokyo_tm_section{
	position: absolute;
    top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	overflow: hidden;
	overflow-y: scroll;
	
	opacity: 0;
	visibility: hidden;
	z-index: 8;
	transition: visibility 1s linear, opacity 0s linear;
	-moz-transition: visibility 1s linear, opacity 0s linear;
	-webkit-transition: visibility1s linear, opacity 0s linear;
	-o-transition: visibility 1s linear, opacity 0s linear;
}
.tokyo_tm_section.animated {
	opacity: 1;
	visibility: visible;
	z-index: 9;
}
.tokyo_tm_section.active {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}
.tokyo_tm_section.hidden {
	opacity: 0;
	visibility: hidden;
	z-index: 9;
}
.tokyo_tm_section::-webkit-scrollbar{
  width: 0px;
}
.tokyo_tm_all_wrap .leftpart .logo[data-type="image"] img{display: inline-block;}
.tokyo_tm_all_wrap .leftpart .logo[data-type="image"] h3{display: none;}
.tokyo_tm_all_wrap .leftpart .logo[data-type="text"] img{display: none;}
.tokyo_tm_all_wrap .leftpart .logo[data-type="text"] h3{display: inline-block;}
.tokyo_tm_all_wrap .leftpart .menu ul li.active a{
	color: #000;
}
.tokyo_tm_home .avatar[data-type="square"] .image{
	animation: none;
}
.tokyo_tm_home .avatar[data-type="circle"] .image{
	animation: none;
	border-radius: 100%;
}
.tokyo_tm_home .avatar .image{
	animation: morph 8s ease-in-out infinite 1s;
	background-blend-mode: multiply;
	-webkit-box-shadow: inset 0px 0px 0px 9px rgba(255,255,255,.3);
    -moz-box-shadow: inset 0px 0px 0px 9px rgba(255,255,255,.3);
    box-shadow: inset 0px 0px 0px 9px rgba(255,255,255,.3);
}

@keyframes morph {
	 0% {
		 border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
	}
	 50% {
		 border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
	}
	 100% {
		 border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
	}
}
.tokyo_tm_resume_list ul:before{
	content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,.07);
}
.tokyo_tm_resume_list ul li:before{
	content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    background: #fff;
    border-radius: 100%;
    border: solid 1px #CCC;
    left: -9px;
    top: 8px;
}
.tokyo_tm_testimonials .list ul li .text:before{
	position: absolute;
	content: "";
	height: 0px;
    width: 0px;
	top: 100%;
    left: 50px;
    border: solid transparent;
    border-top-color: #E5EDF4;
    border-width: 18px 18px 0px 0px;
}
.tokyo_tm_testimonials .list ul li .text:after{
	position: absolute;
	content: "";
	top: 100%;
    left: 50px;
	height: 0px;
    width: 0px;
    border: solid transparent;
    border-top-color: #f6fbff;
    border-width: 14px 13px 0px 0px;
    margin-left: 2px;
}
.tokyo_tm_testimonials .owl-carousel .owl-stage-outer{
	overflow: hidden;
}
.tokyo_tm_testimonials .owl-carousel .owl-stage-outer{
	overflow: visible;
}
.tokyo_tm_testimonials .owl-item.active{
	opacity: 1;
}
.tokyo_tm_testimonials .owl-item{
	opacity: 0;
}
.tokyo_tm_services .list ul li .list_inner:hover{
	border: 1px solid rgba(0,0,0,.2);
}
.tokyo_tm_services .list ul li .list_inner:hover .number{
	background-color: rgba(0,0,0,.08);
}
.tokyo_tm_read_more a:before{
	position: absolute;
	content: '';
    background-color: #000;
    margin: auto;
	width: 100%;
	height: 1px;
	top: 0px;
    left: 0px;
	bottom: 0px;
    transform: scaleX(.2);
    transform-origin: left center;
	animation: read-more-anim;
    animation-fill-mode: forwards;
    animation-duration: .4s;
    animation-timing-function: cubic-bezier(.6, .01, 0, 1);
}
.tokyo_tm_read_more a span{
	display: inline-block;
    position: relative;
	background-color: #fff;
	z-index: 1; 
    transition: .6s cubic-bezier(.6, .01, 0, 1);
	transform: translateX(-110%);
}
@keyframes read-more-anim{
    0% {
        transform-origin: right center;
        transform: scaleX(.2);
    }
    70% {
        transform-origin: right center;
    }
    71% {
        transform-origin: left center;
        transform: scaleX(1);
    }

    100% {
        transform-origin: left center;
        transform: scaleX(.2);
    }
}

@keyframes read-more-anim-2{
    0% {
        transform-origin: left center;
        transform: scaleX(.2);
    }
    70% {
        transform-origin: left center;
        transform: scaleX(1);
    }
    71% {
        transform-origin: right center;
    }
    100% {
        transform-origin: right center;
        transform: scaleX(.2);
    }
}

.tokyo_tm_services .list ul li .list_inner:hover .tokyo_tm_read_more a:before{
	animation: read-more-anim-2;
	animation-fill-mode: forwards;
	animation-duration: .4s;
	animation-timing-function: cubic-bezier(.6,.01,0,1);
}
.tokyo_tm_services .list ul li .list_inner:hover .tokyo_tm_read_more a span{
	transform: translateX(0%);
}
.tokyo_tm_modalbox .service_popup_informations .image .main{
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.tokyo_tm_modalbox .description_wrap::-webkit-scrollbar{
	width: 11px;
}
.tokyo_tm_modalbox .description_wrap{
    scrollbar-width: thin;
    scrollbar-color: #999 #fff;
}
.tokyo_tm_modalbox .description_wrap:-webkit-scrollbar-track{
    background: #fff;
}
.tokyo_tm_modalbox .description_wrap::-webkit-scrollbar-thumb{
    background-color: #999;
    border-radius: 6px;
    border: 3px solid #fff;
}
.tokyo_tm_partners ul{
    min-width: calc(100% + 12px);
} 
.tokyo_tm_pricing .price .currency{
	position: absolute!important;
}
.tokyo_tm_portfolio .portfolio_list li .inner:hover .abs_image{
	transform: scale(1.1) translateZ(0);
}
.tokyo_tm_portfolio_titles {
	white-space: nowrap;
	background: #ffffff;
	font-size: 18px;
	padding: 5px 15px;
	font-family: "Montserrat";
	font-weight: 600;
	color: #000;
	position: fixed;
	z-index: 15;
	opacity: 0;
	visibility: hidden;
}
.tokyo_tm_portfolio_titles.visible{
	opacity:1;
	visibility:visible;
}
.tokyo_tm_news ul li .list_inner{
	box-shadow: 0px 0px 20px rgba(0,0,0,.07);
}
.tokyo_tm_news ul li .list_inner .image:hover .main{
	transform: scale(1.1) translateZ(0);
}
.tokyo_tm_news ul li .list_inner:hover .details{
	box-shadow: 0px 0px 20px rgba(0,0,0,.12);
}
.tokyo_tm_news ul li .list_inner:hover .tokyo_tm_read_more a:before{
	animation: read-more-anim-2;
	animation-fill-mode: forwards;
	animation-duration: .4s;
	animation-timing-function: cubic-bezier(.6,.01,0,1);
}
.tokyo_tm_news ul li .list_inner:hover .tokyo_tm_read_more a span{
	transform: translateX(0%);
}
.tokyo_tm_modalbox .tokyo_tm_read_more{
	display: none;
}
body.modal{
	overflow-y: hidden;
}
.tokyo_tm_modalbox .description_wrap::-webkit-scrollbar{
	width: 11px;
}
.tokyo_tm_modalbox .description_wrap{
    scrollbar-width: thin;
    scrollbar-color: #999 #fff;
}
.tokyo_tm_modalbox .description_wrap:-webkit-scrollbar-track{
    background: #fff;
}
.tokyo_tm_modalbox .description_wrap::-webkit-scrollbar-thumb{
    background-color: #999;
    border-radius: 6px;
    border: 3px solid #fff;
}
.tokyo_tm_contact .fields ul li input{
    width: 100%;
    border: 1px solid rgba(0,0,0,.2);
    background-color: transparent;
}
.tokyo_tm_contact .fields ul li input:focus{
	outline: none;
	border: 1px solid rgba(0,0,0,.5);
}
.tokyo_tm_contact .fields .last textarea{
	width: 100%;
	border: 1px solid rgba(0,0,0,.2);
	height: 120px;
	resize: none;
	margin-bottom: 20px;
	background-color: transparent;
}
.tokyo_tm_contact .fields .last textarea:focus{
	outline: none;
	border: 1px solid rgba(0,0,0,.5);
} 
.tokyo_tm_contact .empty_notice{
	color: #F52225;
	margin-bottom: 7px;
	display: none;
	text-align: left;
	font-weight: 500;
}
.tokyo_tm_contact .contact_error{
	color: #F52225;
	text-align: left;
	font-weight: 500;
}
.tokyo_tm_contact .returnmessage{
	color:#3A00FF;
	margin-bottom: 7px;
	text-align: left;
	font-weight: 500;
}
.tokyo_tm_topbar .logo[data-type="image"] img{display: inline-block;}
.tokyo_tm_topbar .logo[data-type="image"] h3{display: none;}
.tokyo_tm_topbar .logo[data-type="text"] img{display: none;}
.tokyo_tm_topbar .logo[data-type="text"] h3{display: inline-block;}
.tokyo_tm_topbar .hamburger{
	padding: 0px;
}
.tokyo_tm_topbar .hamburger-inner, 
.tokyo_tm_topbar .hamburger-inner:after, 
.tokyo_tm_topbar .hamburger-inner:before{
	width: 30px;
	height: 2px;
}
.tokyo_tm_mobile_menu.opened{
	right: 0px;
}
.tokyo_tm_all_wrap[data-magic-cursor="hide"] .mouse-cursor{
	display: none;
}
.mouse-cursor{
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  visibility: hidden;
}
.cursor-inner {
  margin-left: -3px;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  z-index: 50;
  background-color: #000;
  -webkit-transition: width .3s ease-in-out, height .3s ease-in-out, margin .3s ease-in-out, opacity .3s ease-in-out;
  transition: width .3s ease-in-out, height .3s ease-in-out, margin .3s ease-in-out, opacity .3s ease-in-out;
}
.cursor-inner.cursor-hover {
  margin-left: -40px;
  margin-top: -40px;
  width: 80px;
  height: 80px;
  background-color: #000;
  opacity: .3;
}
.cursor-outer {
  margin-left: -15px;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  border: 2px solid #000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 50;
  opacity: .5;
  -webkit-transition: all .08s ease-out;
  transition: all .08s ease-out;
}
.cursor-outer.cursor-hover{opacity: 0;}

body.dark .tokyo_tm_modalbox_about .description_wrap{
    scrollbar-width: thin;
    scrollbar-color: #777 #34353a;
  }
  body.dark .tokyo_tm_modalbox_about .description_wrap:-webkit-scrollbar-track{
    background: #34353a;
  }
  body.dark .tokyo_tm_modalbox_about .description_wrap::-webkit-scrollbar-thumb{
    background-color: #777;
    border-radius: 6px;
    border: 3px solid #34353a;
  }
  body.dark .tokyo_tm_modalbox .description_wrap{
    scrollbar-width: thin;
    scrollbar-color: #777 #34353a;
  }
  body.dark .tokyo_tm_modalbox .description_wrap:-webkit-scrollbar-track{
    background: #34353a;
  }
  body.dark .tokyo_tm_modalbox .description_wrap::-webkit-scrollbar-thumb{
    background-color: #777;
    border-radius: 6px;
    border: 3px solid #34353a;
  }
@media(max-width:1200px){
    .tokyo_tm_topbar{display:block !important;}
}
