.first-row{
	min-height: 680px;
}
.holder{
	width: 120px;
	height: 120px;
	margin: 10px 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	position: relative;
}

.holder.phonecall, .holder.emailinbox, .holder.supportchat, .holder.worktime, .holder.location{
	border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
	animation: morph 6s linear infinite;
	animation-delay: 200ms;

}
.holder.phonecall{
	background: rgba(248, 111, 155, 0.05);
}

.holder.emailinbox{
	background: rgba(148, 110, 249, 0.05);
}

.holder.supportchat{
	background: rgba(78, 158, 255, 0.05);
}

.holder.worktime{
	background: rgba(144, 179, 245, 0.05);
}

.holder.location{
	background: rgba(16, 174, 203, 0.05);
}

.holder .phone{
	position: absolute;
	width: 150px;
	height: 150px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	transition: all 3s;
	transform-origin: 50% 50%;
}

.holder .phone .phone-call{
	position: relative;
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	font-size: 15vmin;
	transform: translate3d(0, 0, 0) scale(1);
}

.holder .phone .phone-call:before, .holder .phone .phone-call:after{
	position: absolute;
	content: '';
}

.holder .phone .phone-call:before{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,150,200, 0.1);
	border-radius: 50%;
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(0);
}

.holder .phone .phone-call:after{
	top: 30%;
	left: 30%;
	width: 40%;
	height: 40%;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYuNiAxMC44YzEuNCAyLjggMy44IDUuMSA2LjYgNi42bDIuMi0yLjJjLjMtLjMuNy0uNCAxLS4yIDEuMS40IDIuMy42IDMuNi42LjUgMCAxIC40IDEgMVYyMGMwIC41LS41IDEtMSAxLTkuNCAwLTE3LTcuNi0xNy0xNyAwLS42LjQtMSAxLTFoMy41Yy41IDAgMSAuNCAxIDEgMCAxLjIuMiAyLjUuNiAzLjYuMS40IDAgLjctLjIgMWwtMi4zIDIuMnoiIGZpbGw9IiNmODZmOWIiLz48L3N2Zz4=); 
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	transform: translate3d(0, 0, 0);
}

.phone-call.is-animating {
	animation: phone-outer 3000ms infinite;
}

.phone-call.is-animating:before{
	animation: phone-inner 3000ms infinite;
}

.phone-call.is-animating:after{
	animation: phone-icon 3000ms infinite;
}

.holder .call{
	width: 0;
	height: 0;
	background: #37dab4;
	border-radius: 50%;
	box-shadow: 0 0 40px 0 #b0e8db;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	transition: all 0.5s;
	transition-delay: 0.2s;
	transform-origin: 50% 50%;
	overflow: hidden;
	opacity: 0;
	position: absolute;
}

.holder .call:before{
	position: absolute;
	content: '';
	display: block;
	width: 130px;
	height: 130px;
	position: absolute;
	border-radius: 50%;
	background: rgba(55, 218, 180, 0.1);
	transform-origin: 50% 50%;
	z-index: -1;
	transition: all 500ms;
	animation: scale-before 3s ease-in-out 3.5s infinite normal;
}

.holder .call:after{
	position: absolute;
	content: '';
	display: block;
	width: 150px;
	height: 150px;
	position: absolute;
	border-radius: 50%;
	background: rgba(55, 218, 180, 0.1);
	transform-origin: 50% 50%;
	z-index: -1;
	transition: all 500ms;
	animation: scale-after 3s ease-out 3s infinite normal;
}

.holder .call p, .holder .call span:not(.counter){
	text-align: center;
	color: #ffffff;
	transform: scale(0);
	transform-origin: 50% 50%;
	transition: all 0.5s;
	transition-delay: 1s;
}

.holder.animate{
	pointer-events: none;
}

.holder.animate .phone{
	animation: rotate 0.5s linear 0s forwards;
}

.holder.animate .call{
	width: 110px;
	height: 110px;
	opacity: 1;
	overflow: initial;
	transition: all 800ms;
	transition-delay: 0.5s;
}

.holder.animate .call p{
	font-weight: bold;
	margin: 0;
	font-size: 24px;
}
.holder.animate .call span:not(.counter){
	font-size: 12px;
	display: block;
}

.holder.animate .call p, .holder.animate .call span{
	text-align: center;
	color: #ffffff;
	transform: scale(1);
}

.calling{
	position: relative;
}

.calling:after{
	content: '\2026';
	overflow: hidden;
	vertical-align: bottom;
	display: inline-block;
	animation: ellipsis steps(4, end) 2s infinite;
	width: 0;
	position: absolute;
	text-align: right;
	font-size: 14px;
	top: -1px;
}

@keyframes phone-icon {
	0% {
		transform: translate3d(0em, 0, 0);
	}
	2% {
		transform: translate3d(0.01em, 0, 0);
	}
	4% {
		transform: translate3d(-0.01em, 0, 0);
	}
	6% {
		transform: translate3d(0.01em, 0, 0);
	}
	8% {
		transform: translate3d(-0.01em, 0, 0);
	}
	10% {
		transform: translate3d(0.01em, 0, 0);
	}
	12% {
		transform: translate3d(-0.01em, 0, 0);
	}
	14% {
		transform: translate3d(0.01em, 0, 0);
	}
	16% {
		transform: translate3d(-0.01em, 0, 0);
	}
	18% {
		transform: translate3d(0.01em, 0, 0);
	}
	20% {
		transform: translate3d(-0.01em, 0, 0);
	}
	22% {
		transform: translate3d(0.01em, 0, 0);
	}
	24% {
		transform: translate3d(-0.01em, 0, 0);
	}
	26% {
		transform: translate3d(0.01em, 0, 0);
	}
	28% {
		transform: translate3d(-0.01em, 0, 0);
	}
	30% {
		transform: translate3d(0.01em, 0, 0);
	}
	32% {
		transform: translate3d(-0.01em, 0, 0);
	}
	34% {
		transform: translate3d(0.01em, 0, 0);
	}
	36% {
		transform: translate3d(-0.01em, 0, 0);
	}
	38% {
		transform: translate3d(0.01em, 0, 0);
	}
	40% {
		transform: translate3d(-0.01em, 0, 0);
	}
	42% {
		transform: translate3d(0.01em, 0, 0);
	}
	44% {
		transform: translate3d(-0.01em, 0, 0);
	}
	46% {
		transform: translate3d(0em, 0, 0);
	}
}

@keyframes scale-after {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  35% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  75% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes scale-before {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  35% {
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  75% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes rotate {
	to {
		transform: rotate(180deg);
		width: 0;
		height: 0;
	}
}

@keyframes ellipsis {
	to {
		width: 0.85em;
	}
}

.holder .map-circle{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 100px;
	height: 100px;
	font-size: 15vmin;
}


.holder .map-circle .map{
	position: absolute;
	top: 10px;
	max-width: 60%;
	z-index: 0;
}

.holder .map-circle .pin{
	position: absolute;
	top: 0;
	left: calc(50% - 12px);
	max-width: 40%;
	z-index: 1;
	animation: hovering 1s ease-in-out infinite alternate;
}

.holder .mask{
	width: 100px;
	height: 100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.holder .mask .overlay{
	max-width: 100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.holder .mask .colored{
	position: absolute;
	width: 100px;
	height: 300px;
	background: #25cead;
	border-left: 200px solid #26b9d9;
	border-right: 100px solid #2152d6;
	transform: translate(48px, -88px) rotate(-60deg);
	opacity: 0;
	animation: colored 1.5s linear;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	z-index: -1;
}

@keyframes colored{
	0%{
		transform: translate(-170px, 238px) rotate(-60deg);
		opacity: 1;
	}
	19%{
		transform: translate(-170px, 238px) rotate(-60deg);
		opacity: 1;
	}
	60%{
		transform: translate(48px, -88px) rotate(-60deg);
		opacity: 1;
	}
    100%{
		transform: translate(48px, -88px) rotate(-60deg);
		opacity: 1;
	}
}

.holder .mask .pop{
	position: absolute;
	top: 16px;
	right: 10px;
	width: 20px;
	height: 20px;
	opacity: 0;
	display: flex;
	font-size: 12px;
	border: 4px solid #ffffff;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	animation: bounceIn 200ms linear;
	animation-fill-mode: forwards;
	animation-delay: 2s;
	background: #946ef9;
	border-radius: 50%;
	box-shadow: 0 0 0 0 #2154d9;
	transition: all 1s;
	z-index: 10;
}

.holder .mask .pop span{
	display: block;
	margin: 0; padding: 2px 0 0 0;
	animation: pop-span 1.5s linear;
	animation-fill-mode: forwards;
}

@keyframes bounceIn{
	0%{
		opacity: 0;
		transform: scale(0.3) translate3d(0,0,0);
	}
	50%{
		opacity: 0.9;
		transform: scale(1.1);
	}
	80%{
		opacity: 1;
		transform: scale(0.89);
	}
	100%{
		opacity: 1;
		transform: scale(1) translate3d(0,0,0);
	}
}

.holder .support svg, .holder .phone svg, .holder .map svg, .holder .email svg{
	width: 70px;
}

.holder .phone .phone{
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:10px;
	fill-rule:evenodd;
	stroke:#6868af;
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	animation: drawline 2s linear forwards;
	animation-delay: .2s;
	animation-iteration-count: 1;
}

.holder .phone .arc{
	stroke: #f16e9a;
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width: 10px;
	opacity: 0;
	animation: ringing 2s linear infinite forwards;
}

.holder .phone #arc1{
	animation-delay: .5s;
}

.holder .phone #arc2{
	animation-delay: .7s;
}

.holder .phone #arc3{
	animation-delay: .9s;
}

.holder .support .line{
	stroke: #6496cf;
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width: 10px;
}

.holder .support .bubble{
	fill: #ffffff;
	stroke: #6868af;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	animation: drawline 2s linear forwards;
	animation-delay: .2s;
	animation-iteration-count: 1;
}

.holder .support .shadow{
	fill: none;
	stroke: #6868af;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke-dasharray: 150;
	stroke-dashoffset: 150;
	animation: drawline 2s linear forwards;
	animation-delay: .9s;
	animation-iteration-count: 1;
	opacity: 0.2;
}

.holder .support #line3{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: dash 2s linear infinite forwards;
	animation-delay: .9s;
}

.holder .support #line2{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: dash 2s linear infinite forwards;
	animation-delay: .7s;
}

.holder .support #line1{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: dash 2s linear infinite forwards;
	animation-delay: .5s;
}

.holder .map{
	position: relative;
	top: 12px;
}

.holder .map svg.map-pin{
	position: absolute;
	width: 40px;
	top: -42px;
	left: calc(50% + 10px);
	transform: translate(-50%, -50%);
	animation: hovering 1s ease-in-out infinite alternate;
	z-index: 1;
}

.holder .map svg.map-ground{
	position: absolute;
	top: -22px;
	left: calc(50%);
	transform: translate(-50%, -50%);
	z-index: -1;
}

.holder .map .border{
	fill: none;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #6868af;
	stroke-dasharray: 500;
	stroke-dashoffset: 500;
	animation: drawline 2s linear forwards;
	animation-delay: .9s;
}

.holder .map .grass{
	fill-rule: evenodd;
	fill: rgba(173, 214, 145,0);
	animation: fillgrass 1s linear forwards;
	animation-delay: 2s;
	animation-iteration-count: 1;
}

.holder .map .road{
	fill: none;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #d7d7d7;
	stroke-dasharray: 150;
	stroke-dashoffset: 150;
	animation: drawline 500ms linear forwards;
	animation-delay: 2s;
	animation-iteration-count: 1;
}

.holder .map .pin{
	fill: rgba(255,255,255,0);
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #12aecb;
	stroke-dasharray: 200;
	stroke-dashoffset: 200;
	animation: drawlinefill 1s linear forwards;
	animation-delay: 2.5s;
	animation-iteration-count: 1;
}

.holder .map .siren{
	fill: none;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #fc636b;
	stroke-dasharray: 85;
	stroke-dashoffset: 85;
	animation: drawline 2s linear forwards;
	animation-delay: 3s;
}

.holder .email .border{
	fill: none;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #6868af;
	stroke-dasharray: 500;
	stroke-dashoffset: 500;
	animation: drawline 2s linear forwards;
	animation-delay: .1s;
}

.holder .email .line{
	stroke: #00a78e;
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width: 10px;
}

.holder .email #line3{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: drawline 500ms linear forwards;
	animation-delay: 1s;
}

.holder .email #line2{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: dash 2s linear infinite forwards;
	animation-delay: 1.5s;
}

.holder .email #line1{
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: dash 2s linear infinite forwards;
	animation-delay: 1.5s;
}

@keyframes dash {
	50% { stroke-dashoffset: 0; }
	100% { opacity: 0; }
}

@keyframes drawline {
	to{
		stroke-dashoffset: 0;
	}
}

@keyframes drawlinefill {
	to{
		stroke-dashoffset: 0;
		fill: rgba(255,255,255,1);
	}
}

@keyframes fillgrass {
	to{
		stroke-dashoffset: 0;
		fill: rgba(173, 214, 145,1);
	}
}

@keyframes siren{
	0%{
		opacity: 0;
		stroke-dashoffset: 100;
	}
	25%{
		opacity: 0;
		stroke-dashoffset: 85;
	}
	35%{
		opacity: 0.5
		stroke-dashoffset: 75;
	}
	50%{
		opacity: 1;
		stroke-dashoffset: 50;
	}
	75%{
		opacity: 0.5;
		stroke-dashoffset: 35;
	}
	85%{
		opacity: 0;
		stroke-dashoffset: 25;
	}
	100%{
		opacity: 0;
		stroke-dashoffset: 0;
	}
}

@keyframes hovering {
	from {
		transform: translate3d(-20px, -26px, 0);
	}
	to {
		transform: translate3d(-20px, -30px, 0);
	}
}

@keyframes ringing{
	0%{
		opacity: 0;
	}
	25%{
		opacity: 0;
	}
	35%{
		opacity: 0.5
	}
	50%{
		opacity: 1;
	}
	75%{
		opacity: 0.5;
	}
	85%{
		opacity: 0;
	}
	100%{
		opacity: 0;
	}
}

 .holder .clock svg{
 	width: 80px;
 }

.holder .clock .ring{
	fill: none;
	stroke-width:10px;
	stroke-linejoin:round;
	stroke-linecap:round;
	stroke: #6868af;
	stroke-dasharray: 500;
	stroke-dashoffset: 500;
	animation: drawline 2s linear forwards;
	animation-delay: .5s;
}

.holder .clock .seconds{
	fill: none;
	stroke-width:10px;
	stroke:rgba(0,167,142,0.25);
	transform-origin: 50% 50%;
	fill-rule: evenodd;
	stroke-linecap: round;
	transform: rotate(-90deg);
	transition: all 0.5s;
}

.holder .clock .filler{
	fill: #ffffff;
	transform-origin: 50% 50%;
	fill-rule: evenodd;
}

.holder .clock .hand{
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:8px;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transform-origin: 50% 50%;
	transition: all 0.5s;
	stroke: rgba(144,179,245,1);
}

.holder .clock #hours{
	animation: drawline 2s linear forwards;
	animation-delay: 1.2s;
	stroke: rgba(242,139,0,1);
}

.holder .clock #minutes{
	animation: drawline 2s linear forwards;
	animation-delay: 1.6s;
	stroke: rgba(255,187,0,1);
}

.form-holder{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 75px;
}

.text-body{
	min-height: 100%;
	padding: 50px 50px 0 0;
}

/* Smartphones (portrait) ----------- */
@media only screen and (min-width: 320px) and (max-width: 479px){
	.first-row{min-height: 600px;}
	.widgets, .top-container nav.navmenu{display: none;}
	.clients-holder .client{margin: 0;}
	.form-holder{flex-direction: column-reverse; justify-content: unset;align-items: unset;margin-bottom: 50px;}
	.form-body{padding: 0; flex: none;}
	.submit{display: flex; flex-direction: row; justify-content: center;align-items: center;padding: 0}
	.submit button{width: 100%;}
	.text-body{flex: none; min-height: 0; padding: 0;}
	.separator{margin-bottom: 0px;}
}

/* Tablets ----------- */
@media only screen and (min-width: 768px) and (max-width: 991px){
	.top-content{padding-right: 1rem;}
	.widgets{display: none;}
	.main-text{padding: 0 1rem;}
	.first-row{min-height: 0;}
	.form-holder{flex-direction: column-reverse; justify-content: unset;align-items: unset;margin-bottom: 50px;}
	.form-body{padding: 0; flex: none;}
	.text-body{flex: none; min-height: 0; padding: 0 1rem;}
	.submit{display: flex; flex-direction: row; justify-content: center;align-items: center;padding: 0}
	.submit button{width: 50%;}
}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width: 480px) and (max-width: 767px){
	.top-content{padding-right: 1rem;}
	.first-row{min-height: 500px;}
	.main-text{padding: 0 1rem;}
	.widgets{display: none;}
	.form-holder{flex-direction: column-reverse; justify-content: unset;align-items: unset;margin-bottom: 50px;}
	.form-body{padding: 0; flex: none;}
	.text-body{flex: none; min-height: 0; padding: 0 1rem;}
	.submit{display: flex; flex-direction: row; justify-content: center;align-items: center;padding: 0}
	.submit button{width: 50%;}
}

/* Desktops and laptops and Tablets (landscape) ----------- */
@media only screen and (min-width: 992px) and (max-width: 1140px){
	.endcontact{display: none;}
	.middle{margin-top: 0;}
	.plain{margin-top: 140px;}
}

button{
	border-radius: 50px;
	border: 0;
	color: #fff;
	min-width: 33.333%;
	cursor: pointer;
	display: inline-block;
	font: 200 15px/1.4 vazir, sans-serif;
	height: 48px;
	margin-top: 10px;
	padding: 11px 30px 30px 30px !important;
	text-align: center;
	transition: all .3s ease 0s;
	-webkit-transition: all .3s ease 0s;
	outline: none;
}