html, body {
	color: #3a3d4f;
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 400;
	margin:0px;
	/*height: 100%;*/
	padding:0px;
}
html, body {
	overflow-x: hidden;
}
body.grey {
	background-color: #f3f3f3;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, img { display:block }
table { border:none; border-collapse:collapse }
a {
	cursor:pointer;
	text-decoration:none;
	outline:none;
}
p, form, input, ul, ol, h1, h2, h3, h4, h5, h6, figure, hr, span, blockquote, fieldset {
	margin:0px;
	padding:0px;
}
ul li { list-style-type:none; list-style-position:outside }
ol li { list-style-position: inside }
img { border:0px }
input, textarea, select, button {
	border-radius:0px;
	color:#3a3d4f;
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 300;
	border:none;
	resize:none;
}
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	position: relative;
}

strong { font-weight: 600 }
.generalWrap {
	margin:auto;
	max-width:1216px;
}
/*@media only screen and (max-width:1276px) {
	.generalWrap { margin: 0 30px }
}*/


/*-----------content-----------*/
.content {
	background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(31,121,183,1) 100%);
	display: grid;
	height: 56vh;
	overflow: hidden;
	width: 100%;
	z-index: 10000;
}
.color2 .content {
	background: linear-gradient(310deg, rgba(214,95,124,1) 0%, rgba(224,134,73,1) 100%);
}
.color3 .content {
	background: linear-gradient(310deg, rgba(72,69,173,1) 0%, rgba(121,60,150,1) 100%);
}
.color4 .content {
	background: linear-gradient(310deg, rgba(191,178,61,1) 0%, rgba(147,200,83,1) 100%);
}
.content svg {
	display: table;
	margin: auto;
	top: -33px;
	width: 300px;
	z-index: 110;
}
.content #icon1 {
	margin-left: -330px;
	mix-blend-mode: overlay;
	left: 40%;
	opacity:0;
	position: absolute;
	top: 90%;
	transform: translateX(-50%);
	width: 340px;
	animation: anione 4s ease infinite 2s;
	z-index: 100;
}
.content #icon2 {
	margin-right: -630px;
	mix-blend-mode: overlay;
	right: 40%;
	opacity: 0;
	position: absolute;
	top: 76%;
	transform: translateX(-50%);
	width: 300px;
	animation: anitree 4s ease infinite 1.8s;
	z-index: 100;
}
.content #icon3 {
	margin-left: -100px;
	mix-blend-mode: screen;
	left: 40%;
	opacity:0;
	position: absolute;
	top: 80%;
	transform: translateX(-50%);
	width: 360px;
	animation: anitwo 4s ease infinite 0s;
	filter: blur(1px);
	z-index: 0;
}
.content #icon4 {
	margin-right: -350px;
	mix-blend-mode: overlay;
	right: 40%;
	position: absolute;
	opacity:0;
	top: 80%;
	transform: translateX(-50%);
	width: 350px;
	animation: anifour 4s ease infinite 0.1s;
	filter: blur(1px);
	z-index: 0;
}
@media only screen and (max-width:1260px) {
	.content #icon1 { margin-left: -300px; width: 240px }
	.content #icon2 { margin-right: -520px; width: 200px }
	.content #icon3 { margin-left: -80px; width: 260px }
	.content #icon4 { margin-right: -322px; width: 250px }
}
@media only screen and (max-width:780px) {
	.content svg { top: 0 }
}
@media only screen and (max-width:600px) {
	.content #icon1 { margin-left: -200px; width: 220px }
	.content #icon2 { margin-right: -320px; width: 220px }
	.content #icon3 { margin-left: -60px; width: 220px }
	.content #icon4 { margin-right: -222px; width: 200px }
}

@media only screen and (max-width:520px) {
	.content svg { width: 60% }
	.content .text { padding: 0 30px; width: auto }
}
@media only screen and (max-width:500px) {
	.content { height: 80vh }
	.content #icon1 { margin-left: -66px }
	.content #icon2 { margin-right: -280px }
	.content #icon3 { margin-left: 70px }
	.content #icon4 { margin-right: -102px }
}

@keyframes anione {
	0% {
		opacity:0;
		top: 90%;
	}
	50% {
		opacity:.5;
		top: 30%;
	}
	75% {
		opacity:0;
		top: 8%;
	}
	100% {
		top: 90%;
	}
}

@keyframes anitwo {
	0% {
		opacity:0;
		top: 80%;
	}
	50% {
		opacity:.4;
		top: 40%;
	}
	75% {
		opacity:0;
		top: 20%;
	}
	100% {
		top: 80%;
	}
}

@keyframes anitree {
	0% {
		opacity:0;
		top: 76%;
	}
	50% {
		opacity:.5;
		top: 40%;
	}
	75% {
		opacity:0;
		top: 26%;
	}
	100% {
		top: 76%;
	}
}

@keyframes anifour {
	0% {
		opacity:0;
		top: 80%;
	}
	50% {
		opacity:.5;
		top: 24%;
	}
	75% {
		opacity:0;
		top: 4%;
	}
	100% {
		top: 80%;
	}
}
@media only screen and (max-width:500px) {
	.content #icon1 { top: 95% }
	.content #icon2 { top: 45% }
	.content #icon3 { top: 70% }
	.content #icon4 { top: 35% }
	@keyframes anione {
		0% {
			opacity:0;
			top: 95%;
		}
		50% {
			opacity:.5;
			top: 65%;
		}
		75% {
			opacity:0;
			top: 50%;
		}
		100% {
			top: 95%;
		}
	}
	@keyframes anitwo {
		0% {
			opacity:0;
			top: 90%;
		}
		50% {
			opacity:.4;
			top: 64%;
		}
		75% {
			opacity:0;
			top: 50%;
		}
		100% {
			top: 90%;
		}
	}
	@keyframes anitree {
		0% {
			opacity:0;
			top: 45%;
		}
		50% {
			opacity:.6;
			top: 15%;
		}
		75% {
			opacity:0;
			top: 5%;
		}
		100% {
			top: 45%;
		}
	}
	@keyframes anifour {
		0% {
			opacity:0;
			top: 35%;
		}
		50% {
			opacity:.5;
			top: 15%;
		}
		75% {
			opacity:0;
			top: 2%;
		}
		100% {
			top: 35%;
		}
	}
}


/*-----------nav-----------*/
nav {
	bottom: 0;
	display: grid;
	grid-gap: 8px;
	grid-template-columns: repeat(5,auto);
	height: 77px;
	justify-content: center;
	position: absolute;
	width: 100%;
	z-index: 10010;
}
nav.fixed {
	background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(32,127,175,1) 100%);
	opacity: .96;
	position: fixed;
	top: 0;
}
nav.internal.grey {
	background-color: #f3f3f3;
}
.color2 nav.fixed {
	background: linear-gradient(310deg, rgba(214,95,124,1) 0%, rgba(223,130,78,1) 100%);
}
.color3 nav.fixed {
	background: linear-gradient(310deg, rgba(72,69,173,1) 0%, rgba(113,61,154,1) 100%);
}
.color4 nav.fixed {
	background: linear-gradient(310deg, rgba(191,178,61,1) 0%, rgba(147,200,83,1) 100%);
}
nav.internal.fixed {
	/*background: linear-gradient(310deg, rgba(33,55,66,1) 0%, rgba(48,73,81,1) 100%);*/
	background: initial;
	background-color: #fff !important;
	opacity: .98;
}
nav a {
	color: #fff;
	font-size: 1.4em;
	padding: 26px;
	text-transform: uppercase;
	transition:all 0.3s ease;
}
nav.internal a {
	color: #596372;
	font-weight: 500;
}
nav a span:after {
	background-color: #fff;
	bottom: -5px;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition:all 0.3s ease;
	width: 40%;
}
nav a:hover span:after { opacity: .5 }
nav a.current span:after { opacity: 1 }
nav.internal a span:after { background-color: #a6aebb }

#navButton {
	background-color: rgba(44,49,57,.4);
	color: #fff;
	display: none;
	font-size: 1.6em;
	height: 42px;
	left: 10px;
	line-height: 42px;
	position: fixed;
	text-align: center;
	top: 10px;
	width: 42px;
	z-index: 2000;
}
#closeMenu {
	background-color: rgba(44,49,57,.4);
	color: #fff;
	display: none;
	font-size: 1.4em;
	height: 42px;
	left: 10px;
	line-height: 42px;
	position: absolute;
	text-align: center;
	top: 10px;
	width: 42px;
	z-index: 999999;
}

@media only screen and (max-width:780px) {
	nav {
		background: linear-gradient(310deg, rgba(37,161,130,.98) 0%, rgba(32,127,175,.98) 98%) !important;
		bottom: initial;
		display: none;
		height: 100vh;
		left:0;
		overflow-y: auto;
		padding: 74px 22px 44px 22px;
		position:fixed;
		top: 0;
		width:100%;
		z-index:20000;
	}
	.color2 nav {
		background: linear-gradient(310deg, rgba(214,95,124,.98) 0%, rgba(223,130,78,.98) 100%) !important;
	}
	.color3 nav {
		background: linear-gradient(310deg, rgba(72,69,173,.98) 0%, rgba(113,61,154,.98) 100%) !important;
	}
	nav a {
		color: #fff !important;
		display: block;
		font-size: 1.6em;
		padding: 20px 26px;
	}
	nav a span:after { background-color: #fff !important }
	#navButton,
	#closeMenu { display: block }
}


/*-----------footer-----------*/
footer {
	align-items: center;
	background-color: #f3f3f3;
	/*background: linear-gradient(310deg, rgba(33,55,66,1) 0%, rgba(48,73,81,1) 100%);*/
	color: #fff;
	display: grid;
	font-size: 1.5em;
	font-weight: 500;
	grid-template-columns: repeat(4,auto);
	grid-gap: 60px;
	justify-content: center;
	padding: 50px 0;
}
footer.white {
	background-color: #fff;
}
footer a {
	color: #3a3d4f;
}
footer a span {
	border-bottom: 1px solid transparent;
	padding-bottom: 5px;
	transition:all 0.3s ease;
}
footer a:hover span { border-color: #787b8b }
footer a i {
	color: #289f84;
	margin-right: 14px;
	transition:all 0.3s ease;
}
footer a:hover i {
	filter: brightness(1.2);
}
.color1 footer a i {
	color: #289f84;
}
.color2 footer a i {
	color: #dd785b;
}
.color3 footer a i {
	color: #9647be;
}
footer svg {
	filter: drop-shadow(0 0 5px #d1d1d1);
	width: 54px;
}
@media only screen and (max-width:900px) {
	footer { grid-gap: 32px 60px; grid-template-columns: repeat(2,auto) }
}
@media only screen and (max-width:570px) {
	footer { grid-gap: 30px; grid-template-columns: repeat(1,auto) }
}


/*-----------mainText-----------*/
.mainText {
	padding: 80px 0 65px 0;
	overflow: hidden;
}
.mainText h1 {
	border-left: 4px solid #eee;
	color: #596372;
	font-family: "Merriweather";
	font-size: 3.6em;
	font-weight: 300;
	line-height: 1.4em;
	margin: auto;
	max-width: 800px;
	padding: 0 0 0 38px;
	z-index: 100;
}
.mainText h1 span {
	font-style: italic;
}

.color1 .mainText h1 {
	border-color: #289f84;
}
.color2 .mainText h1 {
	border-color: #dd785b;
}
.color3 .mainText h1 {
	border-color: #9647be;
}

.color1 .mainText h1 span {
	color: #289f84;
}
.color2 .mainText h1 span {
	color: #dd785b;
}
.color3 .mainText h1 span {
	color: #9647be;
}
@media only screen and (max-width:1040px) {
	.mainText { padding: 90px 0 }
	.mainText h1 { font-size: 3.5em }
}
@media only screen and (max-width:880px) {
	.mainText h1 { margin: 0 40px }
}
@media only screen and (max-width:700px) {
	.mainText { padding: 60px 0 }
	.mainText h1 { font-size: 3em }
}
@media only screen and (max-width:500px) {
	.mainText { padding: 30px 0 }
	.mainText h1 { font-size: 2.2em; padding: 0 0 0 22px }
}

#gridIcons {
	display: grid;
	grid-template-columns: repeat(28,1fr);
	left: 0;
	position: absolute;
	user-select: none;
	top: 0;
	width: 112%;

	animation: aniIcons linear 26s infinite 0s;
}
#gridIcons.fixed {
	position: fixed;
}
#gridIcons i {
	color: #f1f1f1;
	display: inline-block;
	font-size: 2.8em;
	font-size: 2.2em;
	margin: 10px;
	opacity: .9;
}
#gridIcons i:last-of-type {
	color: #fff;
}
#gridIcons i:nth-child(2n+2) {
	top: 32px;
}
#gridIcons i:nth-child(36) {
	animation: aniIcon 2s infinite 2s;
}
#gridIcons i:nth-child(102) {
	animation: aniIcon 3s infinite 4s;
}
@keyframes aniIcons {
	0% {
		left: 0;
	}
	50% {
		left: -200px;
	}
	100% {
		left: 0;
	}
}
@keyframes aniIcon {
	0% {
		color: #f1f1f1;
	}
	50% {
		color: #289f84;
	}
	100% {
		color: #f1f1f1;
	}
}
@keyframes aniIconB {
	0% {
		transform: scale(1)
	}
	50% {
		color: red;
		transform: scale(1.2)
	}
	100% {
		transform: scale(1)
	}
}
@media only screen and (max-width:700px) {
	@keyframes aniIcons {
		0% {
			left: -300px;
		}
		50% {
			left: -500px;
		}
		100% {
			left: -300px;
		}
	}
	#gridIcons {
		animation: none;
	}
}


/*-----------services-----------*/
#serviceTitle {
	/*background-color: #f1f1f1;*/
	/*overflow: hidden;*/
	padding: 140px 0 50px 0;
}
#serviceTitle h2 {
	color: #596372;
	font-size: 3.2em;
	font-weight: 500;
	text-align: center;
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
	text-transform: uppercase;
	z-index: 100;
}
#serviceTitle h2:before {
	background-color: #289f84;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	top: -30px;
	transform: translateX(-50%);
	width: 60px;
}
.color2 #serviceTitle h2:before {
	background-color: #dd785b;
}
.color3 #serviceTitle h2:before {
	background-color: #9647be;
}
#services {
	padding: 0 0 70px 0;
	z-index: 50;
}
#services .generalWrap {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(3,auto);
	justify-content: center;
	z-index: 100;
}
#services .generalWrap a {
	font-size: 1.6em;
	padding: 24px;
	text-align: center;
	width: 320px;
}
#services .generalWrap a svg {
	display: table;
	height: 170px;
	margin: auto;
	transition:all 0.1s ease;
}
#services .generalWrap a svg path {
	stroke: #fff;
	stroke-width: 9px;
	paint-order: stroke fill;
}
#services .generalWrap a:hover svg {
	transform: scale(1.06);
}
#services .generalWrap a p {
	color: #596372;
	font-family: "Merriweather";
	font-size: 1.3em;
	line-height: 1.4em;
	margin-top: 20px;
}
#services .generalWrap a:nth-child(1) p {
	color: #289f84;
}
#services .generalWrap a:nth-child(2) p {
	color: #dd785b;
}
#services .generalWrap a:nth-child(3) p {
	color: #9647be;
}
#services .generalWrap a:nth-child(4) p {
	color: #b5b742;
}
#services .generalWrap a:nth-child(5) p {
	color: #748296;
}

@media only screen and (max-width:1060px) {
	#services .generalWrap { grid-template-columns: repeat(2,auto) }
}
@media only screen and (max-width:720px) {
	#services .generalWrap { grid-gap: 60px; margin: 0 30px }
	#services .generalWrap a { padding: 0; width: initial }
	#services .generalWrap a p { font-size: 1.3em }
}
@media only screen and (max-width:580px) {
	#services .generalWrap { grid-gap: 0; grid-template-columns: repeat(1,auto) }
	#services .generalWrap a { padding: 40px 0 }
	#services .generalWrap a:first-of-type { padding: 0 0 40px 0 }
	#services .generalWrap a:last-of-type { border-bottom: none; padding: 40px 0 0 0 }
	#serviceTitle h2 { font-size: 2.8em; padding: 0 26px }
}
@media only screen and (max-width:480px) {
	#serviceTitle h2 { font-size: 2.6em }
}


/*-----------about-----------*/
#about {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	margin-top: 77px;
}
#about .boxLogo {
	display: grid;
	padding: 180px 52px;
}
#about .boxLogo:before {
	background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(31,121,183,1) 100%);
	content: "";
	height: 100%;
	right: 0;
	position: absolute;
	top: 0;
	width: 160%;
}
.color2 #about .boxLogo:before {
	background: linear-gradient(310deg, rgba(214,95,124,1) 0%, rgba(224,134,73,1) 100%);
}
.color3 #about .boxLogo:before {
	background: linear-gradient(310deg, rgba(72,69,173,1) 0%, rgba(121,60,150,1) 100%);
}
#about .boxLogo svg {
	margin: auto;
	max-width: 330px;
}
#about .text {
	background-color: #f3f3f3;
	display: grid;
	padding: 40px 70px;
}
#about .text:before {
	background-color: #f3f3f3;
	content: "";
	height: 100%;
	left: 80%;
	position: absolute;
	top: 0;
	width: 100%;
}
#about .text > div {
	margin: auto;
}
#about .text h1 {
	color: #259f84;
	font-family: "Merriweather";
	font-size: 2.4em;
	font-weight: 400;
	line-height: 1.3em;
	margin-bottom: 14px;
}
.color2 #about .text h1 {
	color: #dd785b;
}
.color3 #about .text h1 {
	color: #9647be;
}
#about .text p {
	font-size: 1.4em;
	line-height: 1.5em;
	margin-bottom: 20px;
}
#about .text p:last-of-type {
	margin-bottom: 0;
}
.text .highlight {
	color: #259f84;
}
.color2 .text .highlight { color: #dd785b }
.color3 .text .highlight { color: #9647be }
@media only screen and (max-width:900px) {
	#about { grid-template-columns: repeat(1,1fr) }
}
@media only screen and (max-width:780px) {
	#about { margin-top: 0 }
	#about .boxLogo { padding: 120px 52px }
	#about .boxLogo svg { width: 280px }
}
@media only screen and (max-width:600px) {
	#about .text { padding: 40px 50px }
}
@media only screen and (max-width:520px) {
	#about .boxLogo svg { width: 230px }
}
@media only screen and (max-width:480px) {
	#about .text { padding: 34px 40px }
}


/*-----------servicesBox-----------*/
#servicesBox {
	display: grid;
	grid-gap: 50px;
	margin-top: 140px;
}
#servicesBox .line {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	margin: auto;
	max-width: 1000px;
	position: relative;
}
#servicesBox .line.s1 .icon:before {
	/*background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(31,121,183,1) 100%);*/
	content: "";
	height: 100%;
	right: 0;
	position: absolute;
	top: 0;
	width: 194%;
}
#servicesBox .line.s2 .icon:before {
	/*background: linear-gradient(310deg, rgba(214,95,124,1) 0%, rgba(224,134,73,1) 100%);*/
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 194%;
}
#servicesBox .line.s3 .icon:before {
	/*background: linear-gradient(310deg, rgba(72,69,173,1) 0%, rgba(121,60,150,1) 100%);*/
	content: "";
	height: 100%;
	right: 0;
	position: absolute;
	top: 0;
	width: 194%;
}
#servicesBox .line .icon {
	padding: 70px 40px;
	position: relative;
}
#servicesBox .line.s1 .icon,
#servicesBox .line.s3 .icon,
#servicesBox .line.s5 .icon {
	text-align: right;
}
#servicesBox .line.s2 .icon,
#servicesBox .line.s4 .icon {
	text-align: left;
}

#servicesBox svg {
	width: 240px;
	z-index: 200;
}
#servicesBox svg path {
	stroke: #fff;
	stroke-width: 7px;
	paint-order: stroke fill;
}

#servicesBox .text {
	/*background-color: #f3f3f3;*/
	display: grid;
	/*overflow: hidden;*/
	padding: 40px 30px;
}
#servicesBox .line.s2 .text,
#servicesBox .line.s4 .text {
	text-align: right;
}
#servicesBox .text .centerBox {
	margin: auto;
	z-index: 100;
}
#servicesBox .text h2 {
	font-family: "Merriweather";
	font-size: 2.5em;
	font-weight: 400;
	line-height: 1.3em;
	margin-bottom: 8px;
}
#servicesBox .line.s1 .text h2 { color: #289f84 }
#servicesBox .line.s2 .text h2 { color: #dd785b }
#servicesBox .line.s3 .text h2 { color: #9647be }
#servicesBox .line.s4 .text h2 { color: #b5b742 }
#servicesBox .line.s5 .text h2 { color: #748296 }
#servicesBox .text .centerBox p {
	font-size: 1.45em;
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 20px;
}
#servicesBox .text .centerBox p:last-of-type {
	margin-bottom: 0;
}
#servicesBox .text a {
	color: #fff;
	display: table;
	font-size: 1.25em;
	font-weight: 600;
	margin-top: 20px;
	padding: 11px 22px 12px 22px;
	text-transform: uppercase;
	transition:all 0.3s ease;
}
#servicesBox .text a i {
	margin-left: 10px;
}
#servicesBox .line.s1 .text a { background-color: #289f84 }
#servicesBox .line.s2 .text a { background-color: #dd785b; margin-left: auto }
#servicesBox .line.s3 .text a { background-color: #9647be }
#servicesBox .line.s4 .text a { background-color: #b5b742; margin-left: auto }
#servicesBox .line.s5 .text a { background-color: #748296 }
#servicesBox .text a:hover {
	filter: brightness(1.12);
}

.gridIcons2 {
	top: 4px;
	display: grid;
	grid-template-columns: repeat(10,1fr);
	/*overflow: hidden;*/
	position: absolute;
	right: 170px;
	width: 80%;
}
.line.s2 .gridIcons2,
.line.s4 .gridIcons2 {
	left: -10px;
}
.gridIcons2 p {
	color: #f1f1f1;
	display: inline-block;
	font-size: 2.2em;
	margin: 10px;
	transition:all 0.4s ease;
}
.gridIcons2 p:nth-child(2n+2) {
	top: 32px;
}
.gridIcons2 p:nth-child(20n+1),
.gridIcons2 p:nth-child(20n+10) {
	color: #fff;
}

#servicesBox .line.s1 .gridIcons2 p:nth-child(5),
#servicesBox .line.s1 .gridIcons2 p:nth-child(34) {
	color: #289f84;
	opacity: .3;
}
#servicesBox .line.s1:hover .gridIcons2 p:nth-child(5),
#servicesBox .line.s1:hover .gridIcons2 p:nth-child(34) {
	opacity: .8;
	transform: scale(1.5);
}

#servicesBox .line.s2 .gridIcons2 p:nth-child(6),
#servicesBox .line.s2 .gridIcons2 p:nth-child(37) {
	color: #dd785b;
	opacity: .3;
}
#servicesBox .line.s2:hover .gridIcons2 p:nth-child(6),
#servicesBox .line.s2:hover .gridIcons2 p:nth-child(37) {
	opacity: .8;
	transform: scale(1.5);
}

#servicesBox .line.s3 .gridIcons2 p:nth-child(15),
#servicesBox .line.s3 .gridIcons2 p:nth-child(34) {
	color: #9647be;
	opacity: .3;
}
#servicesBox .line.s3:hover .gridIcons2 p:nth-child(15),
#servicesBox .line.s3:hover .gridIcons2 p:nth-child(34) {
	opacity: .8;
	transform: scale(1.5);
}

#servicesBox .line.s4 .gridIcons2 p:nth-child(17),
#servicesBox .line.s4 .gridIcons2 p:nth-child(38) {
	color: #b5b742;
	opacity: .3;
}
#servicesBox .line.s4:hover .gridIcons2 p:nth-child(17),
#servicesBox .line.s4:hover .gridIcons2 p:nth-child(38) {
	opacity: .8;
	transform: scale(1.5);
}

#servicesBox .line.s5 .gridIcons2 p:nth-child(24),
#servicesBox .line.s5 .gridIcons2 p:nth-child(33) {
	color: #748296;
	opacity: .4;
}
#servicesBox .line.s5:hover .gridIcons2 p:nth-child(24),
#servicesBox .line.s5:hover .gridIcons2 p:nth-child(33) {
	opacity: .8;
	transform: scale(1.5);
}
@media only screen and (max-width:780px) {
	#servicesBox { margin-top: 40px }
	#servicesBox .line { grid-template-columns: repeat(1,1fr) }
	#servicesBox .line .icon { padding: 60px 40px 0 40px }
	#servicesBox .line.s1 .icon,
	#servicesBox .line.s2 .icon,
	#servicesBox .line.s3 .icon,
	#servicesBox .line.s4 .icon,
	#servicesBox .line.s5 .icon {
		text-align: center;
	}

	#servicesBox svg { width: 190px }
	#servicesBox .text { padding: 20px 30px 40px 30px }
	#servicesBox .line.s2 .text,
	#servicesBox .line.s4 .text {
	    text-align: left;
	}
	#servicesBox .text h2 { text-align: center }
	#servicesBox .line .text a { margin-left: auto !important; margin-right: auto !important }
	#servicesBox .line.s2 .icon,
	#servicesBox .line.s4 .icon { grid-row: 1 }
}
@media only screen and (max-width:620px) {
	.gridIcons2 { right: 18px }
	.line.s2 .gridIcons2,
	.line.s4 .gridIcons2 {
		left: -278px;
	}
}
@media only screen and (max-width:600px) {
	#servicesBox { grid-gap: 30px }
}
@media only screen and (max-width:500px) {
	#servicesBox .text h2 { font-size: 2.2em }
}


/*-----------contact-----------*/
#contact {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	margin-top: 77px;
}
#contact .infoBox {
	font-size: 1.5em;
	font-weight: 500;
	padding: 80px;
}
#contact .infoBox:before {
	background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(31,121,183,1) 100%);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 160%;
}
#contact .infoBox svg {
	height: 90px;
	margin-bottom: 50px;
}
#contact .infoBox > a {
	color: #fff;
	display: table;
	margin-bottom: 28px;
}
#contact .infoBox > a span {
	border-bottom: 1px solid transparent;
	padding-bottom: 5px;
	transition:all 0.3s ease;
}
#contact .infoBox > a:hover span { border-color: #fff }
#contact .infoBox > a > i {
	margin-right: 14px;
}
#contact .infoBox > div {
	margin-bottom: 28px;
}
#contact .infoBox > div > a {
	color: #fff;
	display: inline-block;
}
#contact .infoBox > div > a span {
	border-bottom: 1px solid transparent;
	padding-bottom: 5px;
	transition:all 0.3s ease;
}
#contact .infoBox > div > a:hover span { border-color: #fff }
#contact .infoBox > div > a > i {
	margin-right: 14px;
}
#contact .infoBox > div > span {
	color: #fff;
	opacity: .5;
	padding: 0 10px;
}

.color2 #contact .infoBox:before {
	background: linear-gradient(310deg, rgba(214,95,124,1) 0%, rgba(224,134,73,1) 100%);
}
.color3 #contact .infoBox:before {
	background: linear-gradient(310deg, rgba(72,69,173,1) 0%, rgba(121,60,150,1) 100%);
}

#contact .text {
	background-color: #f3f3f3;
	display: grid;
	padding: 80px;
}
#contact .text:before {
	background-color: #f3f3f3;
	content: "";
	height: 100%;
	right: 80%;
	position: absolute;
	top: 0;
	width: 100%;
}
#contact .text .title {
	color: #259f84;
	font-family: "Merriweather";
	font-size: 1.9em;
	font-weight: 500;
	line-height: 1.5em;
	margin-bottom: 18px;
}
.color2 #contact .text .title { color: #dd785b }
.color3 #contact .text .title { color: #9647be }
@media only screen and (max-width:1020px) {
	#contact { grid-template-columns: repeat(1,1fr) }
}
@media only screen and (max-width:780px) {
	#contact { margin-top: 0 }
}
@media only screen and (max-width:580px) {
	#contact .text { padding: 74px 40px 36px 40px }
	#contact .infoBox { padding: 36px 40px }
	#contact .infoBox > a:last-child { margin-bottom: 0 }
}
@media only screen and (max-width:450px) {
	#contact .text .title { font-size: 1.8em }
	#contact .infoBox > div > a { display: block }
	#contact .infoBox > div > span { color: transparent }
}


/*-----------Magnific-----------*/
.mfp-bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 200000;
	overflow: hidden;
	position: fixed;
	background-color: #28313e;
	opacity: 0.6;
	filter: alpha(opacity=6);
}
.mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 200002;
	position: fixed;
	outline: none !important;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
}
.mfp-container:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045;
}
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
	width: 100%;
	cursor: auto;
}
.mfp-ajax-cur { cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
}
.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content { cursor: auto; }
.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.mfp-loading.mfp-figure { display: none; }
.mfp-hide { display: none !important; }
.mfp-preloader {
	color: #CCC;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -0.8em;
	left: 8px;
	right: 8px;
	z-index: 1044;
}
.mfp-preloader a { color: #CCC; }
.mfp-preloader a:hover { color: #FFF; }
.mfp-s-ready .mfp-preloader { display: none; }
.mfp-s-error .mfp-content { display: none; }
button.mfp-close, button.mfp-arrow {
	background-color: transparent;
	overflow: visible;
	cursor: pointer;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: none;
	padding: 0;
	z-index: 1046;
	-webkit-box-shadow: none;
	box-shadow: none;
}
button::-moz-focus-inner { padding: 0; border: 0 }
.mfp-close {
	cursor: pointer;
	font-size: 13px;
	height: 34px;
	line-height: 33px !important;
	position: absolute;
	right: 0;
	top: 0;
	text-decoration: none;
	text-align: center;
	width: 34px;
}
.mfp-close:hover, .mfp-close:focus { opacity: 1; filter: alpha(opacity=100); }
.mfp-close-btn-in .mfp-close { color: #a8b1b6 }
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	text-shadow: 0 0 10px rgba(0,0,0,0.9);
	width: 100%;
}
.mfp-counter {
	color: #fff;
	font-size: 12px;
	position: absolute;
	top: 7px;
	right: 10px;
	line-height: 18px;
	white-space: nowrap;
}
.mfp-arrow {
	position: absolute;
	opacity: 0.65;
	filter: alpha(opacity=65);
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus { opacity: 1; filter: alpha(opacity=100); }
.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent;
}
.mfp-arrow:after, .mfp-arrow .mfp-a {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px;
}
.mfp-arrow:before, .mfp-arrow .mfp-b {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: 0.7;
}
.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after, .mfp-arrow-left .mfp-a { border-right: 17px solid #FFF; margin-left: 31px; }
.mfp-arrow-left:before, .mfp-arrow-left .mfp-b { margin-left: 25px; border-right: 27px solid #3F3F3F; }
.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after, .mfp-arrow-right .mfp-a { border-left: 17px solid #FFF; margin-left: 39px; }
.mfp-arrow-right:before, .mfp-arrow-right .mfp-b { border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px; }
.mfp-iframe-holder .mfp-close { top: -40px; }
.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: #000;
}
/* Main image in popup */
img.mfp-img {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	line-height: 0;
	padding: 40px 0 40px;
	margin: 0 auto;
}
/* The shadow behind the image */
.mfp-figure { line-height: 0; }
.mfp-figure:after {
	content: '';
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	box-shadow: 0 0 14px rgba(41, 41, 41, 0.4);
	background: #444;
}
.mfp-figure small {
	color: #BDBDBD;
	display: block;
	font-size: 12px;
	line-height: 14px;
}
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar {
	margin-top: -40px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto;
}
.mfp-title {
	color: #fff;
	font-size: 1em;
	font-weight: 400;
	min-height: 34px;
	text-align: left;
	line-height: 18px;
	word-wrap: break-word;
	padding: 8px 0 10px 0;
}
.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	.mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
	.mfp-img-mobile img.mfp-img { padding: 0; }
	.mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
	.mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
	.mfp-img-mobile .mfp-bottom-bar { background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; }
	.mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
	.mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
	.mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0; }
}
@media all and (max-width: 900px) {
	.mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75); }
	.mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0; }
	.mfp-arrow-right { -webkit-transform-origin: 100%; transform-origin: 100%; }
	.mfp-container { padding-left: 14px; padding-right: 14px; }
}


/*----------- modalBox -----------*/
.modalWindow {
	background: #fff;
	border-radius: 3px;
	margin: 26px auto;
	max-width: 600px;
	padding: 52px 58px;
	position: relative;
}
.modalWindow.v2 {
	max-width: 450px;
}
.modalWindow h2 {
	color: #a7c82d;
	font-size: 2em;
	margin-bottom: 10px;
	text-align: center;
}
.displayImg img {
	display: block;
	margin-bottom: 24px;
	width: 100%;
}
.displayImg img:last-of-type { margin-bottom: 0 }
@media only screen and (max-width:700px) {
	.modalWindow { padding: 28px 32px }
}


/*------------generalForm-------------*/
.generalForm h2 {
	color: #596372;
	font-family: "Merriweather";
	font-size: 2.7em;
	font-weight: 500;
	margin-bottom: 20px;
}
.generalForm label.title {
	color: #57B34A;
	display: table;
	font-size: 1em;
	font-weight: 500;
	position: relative;
	text-transform: uppercase;
	top: 0;
	transition:all 0.3s ease;
	z-index: 0;
}
.generalForm input[type="text"],
.generalForm textarea,
.generalForm select {
	background-color: transparent;
	border-bottom: 1px solid #a6b3c7;
	color: #0e4a7f;
	font-size: 1.2em;
	font-weight: 500;
	margin-bottom: 24px;
	outline: none;
	padding: 10px 0 12px 0;
	position: relative;
	width: 100%;
}
.generalForm .uploadDiv {
	position: relative;
}
.generalForm .wrapUpload {
	background-color: #0e4a7f;
	color: #fff;
	font-size: .9em;
	font-weight: 600;
	overflow: hidden;
	padding: 6px 14px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	top: 6px;
	z-index: 100;
}
.generalForm input[type="file"] {
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	opacity: 0;
	width: 100%;
}
.generalForm input[type="text"]:focus,
.generalForm textarea:focus,
.generalForm select:focus {
	border-color: #56aee2;
}
.color1 .generalForm input[type="text"]:focus,
.color1 .generalForm textarea:focus,
.color1 .generalForm select:focus {
	border-color: #259f84;
}
.color2 .generalForm input[type="text"]:focus,
.color2 .generalForm textarea:focus,
.color2 .generalForm select:focus {
	border-color: #dd785b;
}
.color3 .generalForm input[type="text"]:focus,
.color3 .generalForm textarea:focus,
.color3 .generalForm select:focus {
	border-color: #9647be;
}
.generalForm input[type="text"].error,
.generalForm textarea.error,
.generalForm select.error {
	border-bottom: 1px solid #db7460;
}
.generalForm select {
	background-color: transparent;
	background-image: url(../img/arrow.png);
	background-repeat: no-repeat;
	background-position: right 19px;
	background-size: 12px;
	max-height: 46px;
	-webkit-appearance: none;
}
::placeholder {
	color: #828fa2;
	opacity: 1;
}
.generalForm textarea {
	min-height: 32px;
	overflow: hidden;
	overflow-y: auto;
}
.generalForm input[type="submit"] {
	background-color: #0e4a7f;
	color: #fff;
	cursor: pointer;
	display: table;
	font-size: 1.15em;
	font-weight: 500;
	outline: none;
	padding: .5em 1.6em;
	text-transform: uppercase;
	transition:all 0.3s ease;
}

.generalForm button[type="submit"] {
	background-color: #747e8f;
	background: linear-gradient(310deg, rgba(37,161,130,1) 0%, rgba(31,121,183,1) 100%);
	color: #fff;
	cursor: pointer;
	display: table;
	font-size: 1.2em;
	font-weight: 700;
	outline: none;
	padding: 14px 22px;
	text-shadow: none;
	text-transform: uppercase;
	transition:all 0.3s ease;
}
.generalForm button[type="submit"]:hover {
	filter: brightness(1.12);
}
.color1 .generalForm button[type="submit"] {
	background: initial;
	background-color: #259f84;
}
.color2 .generalForm button[type="submit"] {
	background: initial;
	background-color: #dd785b;
}
.color3 .generalForm button[type="submit"] {
	background: initial;
	background-color: #9647be;
}
.generalForm button[type="submit"] i { margin-left: 10px }
@media only screen and (max-width:920px) {
	.generalForm h2 { font-size: 2.5em }
}
@media only screen and (max-width:520px) {
	.generalForm h2 { font-size: 2.3em }
}


/*------------portaBox-------------*/
.portaBox {
	display: grid;
	grid-gap: 6px;
	grid-template-columns: repeat(2,1fr);
	margin: 128px auto 50px auto;
	max-width: 1000px;
}
.portaBox img {
	width: 100%;
}
.portaBox > div {
	overflow: hidden;
	position: relative;
}
.portaBox .info {
	background-color: rgba(37,41,47,.9);
	bottom: -34%;
	color: #fff;
	font-size: 1.25em;
	left: 0;
	line-height: 1.45em;
	padding: 24px 32px;
	position: absolute;
	transition:all 0.5s ease;
	width: 100%;
}
.portaBox > div:hover .info {
	bottom: 0;
}
.portaBox .info a {
	color: #fff;
	display: table;
	font-weight: 600;
	margin-top: 8px;
	text-decoration: underline;
	transition:all 0.3s ease;

}
.portaBox .info a:hover { color: #7aebd7 }
@media only screen and (max-width:1060px) {
	.portaBox { margin: 128px 30px 50px 30px }
}
@media only screen and (max-width:1000px) {
	.portaBox { grid-gap: 40px 6px }
	.portaBox > div { background-color: #fff }
	.portaBox .info {
		background-color: #fff;
		bottom: initial;
		color: #3a3d4f;
		font-size: 1.35em;
		padding: 24px 32px;
		position: relative;
	}
	.portaBox .info a { color: #3a3d4f }
}
@media only screen and (max-width:780px) {
	.portaBox { margin: 30px }
}
@media only screen and (max-width:660px) {
	.portaBox { grid-template-columns: repeat(1,1fr) }
	.portaBox > div { margin:auto; max-width: 440px }
	.portaBox .info { padding: 20px 28px 24px 28px }
}


/*------------threeBlocks-------------*/
.threeBlocks {
	border-bottom: 1px solid #dadfe9;
	padding: 40px 0;
}
.threeBlocks .generalWrap {
	display: grid;
	grid-gap: 50px;
	grid-template-columns: repeat(3,1fr);
}
.threeBlocks h2 {
	color: #259f84;
	font-size: 2em;
	font-weight: 600;
	line-height: 1.3em;
	margin-bottom: 6px;
	text-transform: uppercase;
}
.color2 .threeBlocks h2 {
	color: #dd785b;
}
.color3 .threeBlocks h2 {
	color: #9647be;
}
.threeBlocks p {
	font-size: 1.4em;
	line-height: 1.5em;
}
.threeBlocks ul {
	font-size: 1.4em;
	line-height: 1.5em;
}
@media only screen and (max-width:1276px) {
	.threeBlocks { padding: 40px 30px }
	.threeBlocks .generalWrap { grid-gap: 36px }
}
@media only screen and (max-width:850px) {
	.threeBlocks { padding: 24px 30px }
	.threeBlocks .generalWrap { grid-template-columns: repeat(1,1fr) }
	.threeBlocks .generalWrap { grid-gap: 30px }
}


/*------------misc-------------*/
.anchor {
	position: absolute;
	top: -70px;
}

.msjError,
.msjSuccess {
	display: none;
	font-size: 1.2em;
	font-weight: 600;
	margin-top: 30px;
	padding: 14px 18px;
	text-align: center;
}
.msjError i,
.msjSuccess i { margin-right: 12px }
.msjError {
	border: 1px solid #db7460;
	color: #db7460;
}
.msjSuccess {
	border: 1px solid #259f84;
	color: #259f84;
}