@charset "utf-8";
/* CSS Document */

/*------Global------*/
a img{border:none}
body, form{padding:0px; margin:0px}
* {outline:none}
.clear{clear:both; height:0px; overflow:hidden;}
textarea{overflow:auto}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

/*----- mobile swicher ------*/
.mobile-only-inline, .mobile-only-block{
	display:none!important;
}
.desktop-only-inline{
	display:inline!important;
}
.desktop-only-block{
	display:block!important;
}
@media screen and (max-width: 800px) {
	.desktop-only-inline, .desktop-only-block{
		display:none!important;
	}
	.mobile-only-inline{
		display:inline!important;
	}
	.mobile-only-block{
		display:block!important;
	}
}

/*------Typography------*/
html{
	font-size: 1vw;
}
@media screen and (max-width: 800px) {
	html{
		font-size: 3vw;
	}
}

body, p, td, th{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;

	font-size: 1rem;
	line-height:2.1;
	color:#000;
	font-weight: 400;
}

p{
	padding:0;
	margin:0 0 1.2rem 0;
}
#content ul{
	margin:0 0 0.86rem 0;
}

a{
	color:#000;
	text-decoration:underline;
}
a:hover {
	color:#000;
	text-decoration:underline;
}

h1, .h1{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;

	font-size: 7vw;
	line-height: 1;
	color: #000;
	padding: 0;
	margin:0 0 0.86rem 0;
	font-weight: 300;
	text-align: left;
	letter-spacing: 0;
}
h1 strong, .h1 strong{
	font-weight: 400;
}
h2{
	font-family: 'Inter', sans-serif;
	font-size: 3rem;
	font-weight: 200;
	line-height:1.5;
	color:#000;
	padding:0;
	margin:0 0 1rem 0;
	text-align:left;
}
h2 strong{
	font-weight: 700;
}

h3{
	font-family: 'Inter', sans-serif;
	font-size: 1.5rem;
	line-height:1.4;
	color:#000;
	padding:0;
	margin:0 0 0.86rem 0;
	font-weight:200;
	text-align: left;
}
h4{
	font-family: 'Inter', sans-serif;
	font-size: 0.86rem;
	line-height:1.4;
	color:#395a77;
	padding:0;
	margin:0 0 0.86rem 0;
	font-weight:700;
}
.red{ color:#cc0000;}

/* form elements */
input[type='text'],
input[type='password'],
input[type='tel'],
input[type='email'],
input[type='date'],
.input{
	background:#fff;
	color: #333;
	display:inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 0.7rem;
	line-height: 1.8rem;
	height: 1.8rem;
	text-decoration: none;
	padding:0 0.3rem;
	border: solid 1px #fff;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;

	-webkit-appearance: none;
	border-radius: 0;
}
select{
	background:#fff;
	color: #333;
	display:inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 0.7rem;
	line-height: 1.8rem;
	height: 1.8rem;
	text-decoration: none;
	padding:0 0.3rem;
	border: solid 1px #fff;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;

	-webkit-appearance: none;
	border-radius: 0;
}
textarea{
	background:#fff;
	border:solid 1px #4e5359;
	color: #333;
	display:inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 0.7rem;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	padding:7px 2px;

	-webkit-appearance: none;
	border-radius: 0;
}
button, .button, input[type="submit"], input[type="button"]{
	display: inline-block;
	width: auto;
	height: 3.2rem;
	padding: 0 2.4rem;
	color:#ffffff;
	line-height: 3.2rem;
	background:#000000;
	text-decoration: none;
	font-size: 1.25rem;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	text-transform: uppercase;
	border: solid 1px #000000;
	cursor: pointer;
	text-align: center;

	-webkit-appearance: none;
	border-radius: 4px;
	transition: all 0.3s ease;
}
button:hover, .button:hover, input[type="submit"]:hover, input[type="button"]:hover{
	background:#ffffff;
	color:#000;
	border: solid 1px #000000;
	text-decoration:none;
}
.button.btnInverse {
	background-color: #fff;
	color: #000;
	border: solid 1px #fff;
}
.button.btnInverse:hover {
	background-color: #000;
	color: #fff;
	border: solid 1px #fff;
}
@media screen and (max-width: 800px) {
}
/**/
.material-symbols-outlined {
	font-variation-settings:
			'FILL' 0,
			'wght' 400,
			'GRAD' 0,
			'opsz' 24;
	font-size: 1.1em !important;
	position: relative;
	top: 0.15em;
}

/* Placeholders */
input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
input::-moz-placeholder { /* Firefox 19+ */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
input:-ms-input-placeholder { /* IE 10+ */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
input:-moz-placeholder { /* Firefox 18- */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
input:placeholder {
	color: #999;
	opacity: 1;
	font-size: 12px;
}
textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
textarea::-moz-placeholder { /* Firefox 19+ */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
textarea:-ms-input-placeholder { /* IE 10+ */
	color: #999;
	opacity: 1;
	font-size: 12px;
}
textarea:-moz-placeholder { /* Firefox 18- */
	color: #999;
	opacity: 1;
	font-size: 14px;
}
textarea:placeholder {
	color: #999;
	opacity: 1;
	font-size: 12px;
}
/**/
img{max-width: 100%;}
/**/
/*------Layout------*/
body {
	background-color: #f2f2f2;
}
.containerAll {
}
.pageWidth{
	width:90%;
	margin:auto;
	position:relative;
}
@media screen and (max-width: 800px) {
	.pageWidth{
		width:80%;
	}
}
#header{
	position: fixed;
	top: 0;
	left: 0;
	z-index:100;
	width: 100%;
	transition: all 0.3s ease;
	padding: 1vw 1vw 1vw 2vw;
	box-sizing: border-box;

	display: flex;
	align-items: center;
	justify-content: space-between;
}
.scrl #header{
	background: #f2f2f2;
}

.logo{
	display: block;
}
.logo-2{
	display: block;
	margin-right: auto;
	opacity: 1;
	transition: all 0.3s ease;
	overflow: hidden;
	width: 19vw;
}
.logo img{
	width: auto;
	height: 4vw;
	display:block;
	background-color: #f2f2f2;
	transition: all 0.3s ease;
}
.scrl .logo img{
	height: 3vw;
}
.logo-2 img{
	width: auto;
	height: 4vw;
	display:block;
	position: relative;
}
.activateNav{
	height: 3vw;
	width: 3vw;
	text-decoration: none;
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: all 0.3s ease;
}
.activateNav img{
	width: 50%;
	height: auto;
	display: block;
}
a.getToWork{
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	margin-right: 1rem;
	overflow: hidden;
	opacity: 1;
	width: 15vw;
	text-align: right;
	transition: all 0.3s ease;
}
/**/
@media screen and (min-width: 801px) {
	.logo{
		transition: all 0.3s ease;
	}
	.scrl .activateNav{
		height: 2vw;
		width: 2vw;
	}
}
.scrl .logo-2{
	opacity: 0;
	width: 0;
 }
.scrl .logo-2 img{
	height: 3vw;
 }
@media screen and (max-width: 800px) {
	.scrl a.getToWork{
		opacity: 0;
	}

	#header{
		background: #f2f2f2;
		padding: 3vw;
	}
	.logo img {
		height: 10vw;
		background: none;
	}
	.logo-2 img{
		height: 10vw;
		background: none;
	}
	.scrl .logo img {
		height: 8vw;
	}

	a.getToWork {
		font-size: 1.5rem;
		font-weight: 500;
		margin-right: 1rem;
		opacity: 1;
		width: 35vw;
		margin-left: auto;
		text-decoration: none;
		padding-right: 5vw;
	}
	a.getToWork span {
		color: #fff;
		background-color: #000;
	}
	.activateNav {
		height: 9vw;
		width: 9vw;
		background: none;
	}
	.activateNav img {
		width: 80%;
	}
}
/**/


/* nav */
.topNavWrapper{
	box-sizing: border-box;
	/*position: fixed;*/
	position: absolute;
	height: 0;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	z-index: 1000;

	transition: height 1s ease;
}
.topNavWrapper.active{
	height: 100%;
	/*height: 180vw;
	min-height: 100%;*/
}
.topNavBox{
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #000;
	height: 100vh;
	/*height: 180vw;
	min-height: 100vh;*/
}
.navHeader{
	position: absolute;
	display: flex;
	width: 100%;
	justify-content: space-between;
	padding: 1vw 2vw 0 2vw;
	box-sizing: border-box;
	align-items: center;
}
.navLogo img{
	width: auto;
	height: 6vw;
	display:block;
}
a.navCloseLink{
	color: #fff;
	font-size: 1.5vw;
	text-decoration: underline;
}
a.navCloseLink:hover{
	color: #fff;
	text-decoration: none;
}
#mainNav{
	position: absolute;
	left: 9vw;
	top: 18vh;
	width: calc(100% - 20vw);
}
#mainNav ul{
	display: inline;
	padding: 0;
	margin: 0;
}
#mainNav ul li{
	display: inline;
	padding: 0;
	margin: 0;
	list-style: none;
}
#mainNav ul li a{
	display: inline;
	color: #969697;
	text-decoration: none;
	font-weight: 500;
	font-size: 1.2vw;
	transition: color 0.3s ease;
}
#mainNav ul li a:hover{
	color: #fff;
}
#mainNav > ul{
	display: block;
}
#mainNav > ul > li{
	display: block;
	line-height: 13vh;
	position: relative;
}
#mainNav > ul > li > a{
	display: inline-block;
	text-decoration: none;
	font-size: 7vw;
	white-space: nowrap;
	text-transform: uppercase;
	font-weight: 600;
}
#mainNav > ul > li > a:before{
	font-size: 2vw;
	font-weight: 500;
	padding-right: 2vw;
	position: relative;
	top: -1vw;
}
#mainNav > ul > li:nth-child(1) > a:before{
	content: "(01)";
}
#mainNav > ul > li:nth-child(2) > a:before{
	content: "(02)";
}
#mainNav > ul > li:nth-child(3) > a:before{
	content: "(03)";
}
#mainNav > ul > li:nth-child(4) > a:before{
	content: "(04)";
}
#mainNav > ul > li:nth-child(5) > a:before{
	content: "(05)";
}
#mainNav > ul > li > ul{
	position: relative;
	top: -1vw;
	opacity: 0;
	transition: opacity 0.3s ease;
}
#mainNav > ul > li:hover > ul{
	opacity: 1;
}
#mainNav > ul > li > ul > li{
	margin-left: 1.3vw;
}

/**/
@media screen and (max-width: 800px) {

	#mainNav > ul > li > a {
		font-size: 12vw;
		line-height: 15vw;

	}
	#mainNav > ul > li {
		line-height: 5vw;
		margin-bottom: 3vw;
	}

	#mainNav > ul > li > a::before {
		font-size: 4vw;
	}
	.tgl2 {
		position: absolute;
		right: 0;
		width: 50px;
		z-index: 999;
		top: 0;
		font-size: 12vw;
		line-height: 14vw;
		color: #aeaeae;
		text-align: right;
	}
	.tgl2::after{
		content: "+";
	}
	.navLogo img {
		height: 10vw;
	}
	.navHeader {
		padding: 3vw;
	}
	a.navCloseLink {
		font-size: 3vw;
	}

	#mainNav > ul > li > ul {
		top: 0;
		font-size: 5vw;
		line-height: 5vw;
		display: block;
	}
	#mainNav > ul > li > ul > li {
		font-size: 4vw;
		display: block;
		line-height: 8vw;
		margin-bottom: 0;
		margin-left: 11vw;
	}
	#mainNav > ul > li > ul > li > a {
		font-size: 4vw;
		line-height: 12vw;
	}




	#mainNav > ul > li > ul {
		overflow: hidden;
		max-height: 0;
		transition: all 0.3s ease-in;
	}
	#mainNav > ul > li.hover > ul {
		opacity: 1;
		z-index: 100;
		display: block;
		max-height: 30vh;

	}
	#mainNav > ul > li.hover > .tgl2 {
		/*opacity: 0;
		z-index: 0;
		pointer-events: none;*/
	}
	#mainNav > ul > li.hover > .tgl2::after{
		content: "-";
	}

}

/*-------------------------------*/
#visual{
	position: relative;
	top:0;
	left:0;
	width:100%;
	max-height: 100vh;
	height: 54vw;
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #000;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	overflow: hidden;
	z-index: 10;
}
#visual img.zoom{
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: block;

}
.visualText{
	position: relative;
	flex-basis: 100%;
	z-index: 10;
	display: block;
	justify-content: flex-start;

	padding: 1vw 4.7vw 4vw 4.7vw;
}
.visualTextTitle h1{
	font-size: 8.5vw;
	line-height: 1;
	font-weight: 300;
	text-align: right;
}
.visualTextTitle h1 .h1Line1{
	display: block;
	font-weight: 500;
	overflow: hidden;
	padding-bottom: 0.7rem;
}
.visualTextTitle h1 .h1Line2{
	display: block;
	font-weight: 300;
	overflow: hidden;
}
.visualTextText {
	position: absolute;
	left: 10vw;
	top: 11.2vw;
	color: #000;
	font-size: 1.5vw;
	line-height: 1.4;
	width: 25vw;
	text-align: right;
}
.visualArrow{
	display: block;
	padding-left: 17vw;
	overflow: hidden;
	animation: bounce1 3s linear infinite;
}
@keyframes bounce1 {
	50% {
		/*-webkit-transform:translate(0.5vw);
		-moz-transform:translate(0.5vw);
		-ms-transform:translate(0.5vw);
		-o-transform:translate(0.5vw);
		transform:translate(0 10px);*/
		transform: translate(0, 0.7vw);
	}
}
@keyframes bounce2 {
	50% {
		transform: translate(0, 4vw);
	}
}
.visualArrow img{
	display: block;
	width: 11vw;
	height: auto;
}



@media screen and (max-width: 800px) {
	.topSpacer{
		height: 16vw;
	}
	#visual{
		max-height: none;
		min-height: 140vw;
		display: flex;
		align-items: center;
		height: auto;
	}
	#visual img.zoom {
		width: auto;
		height: 100%;
		object-fit: cover;
	}
	.visualText{
		padding: 16vw 8vw 8vw 8vw;
	}
	.visualTextTitle, .visualTextTitle h1{
		font-size: 15.5vw;
		text-align: left;
		width: 95%;
	}
	.innerVisual .visualTextTitle h1, .innerVisual .visualTextTitle{
		font-size: 5vw;
	}
	.visualTextText {
		font-size: 4vw;
		overflow: hidden;
		position: static;
		padding: 0;
		text-align: left;
		width: 70%;
	}
	.visualArrow {
		padding-left: 63vw;
		animation: bounce2 3s linear infinite;
		margin-top: -19vw;
	}
	.visualArrow img{
		display: block;
		width: 19vw;
		height: auto;
	}

}

/**/
.footer{
	background-color: #000;
	padding: 6vw 0;
	color: #fff;
	font-size: 1rem;
	font-weight: 200;
}
.footer p{
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
}
.footer p strong{
	font-weight: 500;
}
.footer a{
	color: #fff;
	text-decoration: none;
}
.footer a:hover{
	color: #fff;
	text-decoration: underline;
}

@media screen and (min-width: 801px) {
	.footerColumns {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.footerBottomRight{
		font-size: 1rem;
	}
	.footerBottomLeft,.footerBottomLeft p{
		font-size: 0.82rem;
	}
}
.footerLeft{
	flex-basis: 55%;
	text-align: left;
}

.footerLeft {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

@media screen and (min-width: 801px) {
}

.footerLeft p{
	text-align: left;
}
.footerNav{
	flex-basis: 33%;
}
.footerNav:nth-child(1){
	flex-basis: 20%;
}
.footerNav ul{
	display: block;
	margin: 0;
	padding: 0;
}
.footerNav li{
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
.footerNavTitle{
	font-weight: 700;
	font-size: 1.2rem;
}
.footerNav a{
}




.footerRight{
	flex-basis: 35%;
	text-align: right;
}
.footerRight p{
	text-align: left;
	line-height: 1.4;
	font-size: 1.2rem;
}
.socialBox{
	padding-top: 1rem;
}
.socialBox a img{
	height: 2rem;
	width: auto;
}
.socialBox a{
	margin-left: 1rem;
}
.footerBottomNav{
	padding-top: 4vw;
}
.footerBottomNav a{
	text-decoration: underline;
}
.footerBottomNav, .footerBottomNav p{
	font-size: 0.82rem;
	text-align: right;
	font-weight: 300;
}
.footerForm{
	padding-top: 2vw;
	border-bottom: solid 1px #999;
}
.footerForm input[type='text']{
	background: none;
	border: none;
	width: calc(100% - 3rem);
	box-sizing: border-box;
	font-size: 3rem;
	line-height: 1;
	height: auto;
	color: #fff;
	margin: 0;
	padding: 0;
}
.footerForm button[type='submit']{
	width: 2.5rem;
	box-sizing: border-box;
	text-align: center;
	margin: 0;
	padding: 0;
	font-size: 2rem;
}
.footerForm input[type='text']::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #999;
	opacity: 1;
	font-size: 3rem;
}
.footerForm input[type='text']::-moz-placeholder { /* Firefox 19+ */
	color: #999;
	opacity: 1;
	font-size: 3rem;
}
.footerForm input[type='text']:-ms-input-placeholder { /* IE 10+ */
	color: #999;
	opacity: 1;
	font-size: 3rem;
}
.footerForm input[type='text']:-moz-placeholder { /* Firefox 18- */
	color: #999;
	opacity: 1;
	font-size: 3rem;
}
.footerForm input[type='text']:placeholder {
	color: #999;
	opacity: 1;
	font-size: 3rem;
}

.footerBottom{
	display: flex;
	justify-content: space-between;
	font-weight: 300;
}
.footerBottom a{
	text-decoration: underline;
}
.footerBottom a:hover{
	text-decoration: none;
}
.footerBottomLeft p{
	margin: 0;
	padding: 0;
	font-weight: 200;
}
@media screen and (max-width: 800px) {
	.footer{
		padding: 10vw 0;
		font-size: 1rem;
	}
	.footerLeft{
	}
	.footerLeft p{
		text-align: center;
		font-size: 1rem;
	}
	.footerNavTitle {
		font-size: 1.2rem;
	}
	.footerNav li {
		font-size: 1.2rem;
	}
	.footerRight{
		text-align: center;
		padding: 6vw 0 0 0;
	}
	.footerRight p{
		text-align: center;
		font-size: 1rem;
	}
	.socialBox{
		padding-top: 6vw;
	}
	.socialBox a img{
		height: 1.5rem;
		width: auto;
	}
	.socialBox a{
		margin: 0.5rem;
	}
	.footerNav:nth-child(1) {
		flex-basis: 33%;
	}
	.footerNav {
		padding: 7vw 0;
	}

	.footerColumns{
		display: flex;
		flex-direction: column-reverse;
	}
	.footerRight{
		padding: 0;
	}

	.footerRightTitle{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.footerRightTitleInner, .footerRightTitleInner p{
		text-align: left;
		font-size: 1.4rem;
		width: 50vw;
	}
	.footerRightTitleInner p br{
		display: none;
	}
	.footerBottom{
		display: block;
		text-align: center;
	}
	.footerBottomLeft p {
		text-align: center;
		font-size: 1rem;
	}
	.footerBottomNav, .footerBottomNav p {
		font-size: 1rem;
		text-align: center;
	}





	.footerForm input[type='text']{
		font-size: 8vw;
	}
	.footerForm button[type='submit']{
	}
	.footerForm input[type='text']::-webkit-input-placeholder { /* Chrome/Opera/Safari */
		font-size: 8vw;
	}
	.footerForm input[type='text']::-moz-placeholder { /* Firefox 19+ */
		font-size: 8vw;
	}
	.footerForm input[type='text']:-ms-input-placeholder { /* IE 10+ */
		font-size: 8vw;
	}
	.footerForm input[type='text']:-moz-placeholder { /* Firefox 18- */
		font-size: 8vw;
	}
	.footerForm input[type='text']:placeholder {
		font-size: 8vw;
	}

	.footerBottomRight{
		text-align: right;
		line-height: 1.4;
	}
	.footerForm button[type="submit"] {
		font-size: 6vw;
	}
	.footerForm {
		padding-top: 4vw;
		padding-bottom: 2vw;
	}
}

/**/


.sectionHomeTop{
	padding: 6vw 0;
}
@media screen and (min-width: 801px) {
	.homeTopColumns {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
}
.homeTopColumnLeft{
	flex-basis: 54%;
	margin-top: 5vw;
}
.homeTopColumnRight{
	flex-basis: 42%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.homeTopColumnLeft h2{
	font-size: 5rem;
	line-height: 1.1;
	font-weight: 300;
	margin: 0;
	padding: 0 0 1.8rem 0;
}
.homeTopColumnLeft p{
	font-size: 2.2rem;
	padding: 0 0 0.5rem 0;
	width: 75%;
	line-height: 1.3;
}
.curveText{
	flex-basis: 30%;
}
.curveImage{
	flex-basis: 64%;
}
.curveImage img{
	width: 17vw;
	display: block;
}
.curveTextItem{
	padding-top: 10.5vw;
}
.curveTextItem:first-child{
	padding-top: 6vw;
}
.curveTextItem h3{
	font-size: 1.8rem;
	line-height: 1.1;
	font-weight: 600;
	margin: 0;
	padding: 0 0 0.2rem 0;
}
.curveTextItem p{
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 200;
	margin: 0;
	padding: 0;
}
.homeColumnsTopButtonWrap{
	padding-top: 14vw;
}
@media screen and (max-width: 800px) {
	.homeTopColumnLeft h2 {
		font-size: 4rem;
	}
	.homeTopColumnLeft p {
		width: 100%;
		font-size: 1.8rem;
	}

	.curveImage img {
		width: 36vw; /*calc(100px + 14vw);*/
	}

	.curveImage {
		flex-basis: auto;
	}
	.homeTopColumnRight {
		display: flex;
		justify-content: center;
		padding: 7vw 0;
	}
	.curveTextItem {
		padding-bottom: 6vw;
	}

	.homeColumnsTopButtonWrapMobile p {
		font-size: 1.5rem;
		line-height: 1.3;
		text-align: center;
	}
	.curveText {
		padding-right: 2vw;
	}
}
/**/

.sectionHomeProjects{
	padding: 0 0 6vw 0;
}
.homeProjectsTitle{
	position: relative;
}
.homeProjectsTitle h2{
	position: relative;
	z-index: 2;
	font-size: 2.6rem;
	padding: 0 1rem 0 0;
	margin: 0;
	line-height: 1.3;
	font-weight: 400;
}
.serviceProjectsTitle h2{
	position: relative;
	z-index: 2;
	font-size: 2.6rem;
	padding: 0 1rem 0 0;
	margin: 0;
	line-height: 1.3;
	font-weight: 400;
}
.homeProjectsBox {
	padding-top: 2rem;
}
@media screen and (min-width: 801px) {
	.homeProjectsTitle h2{
		display: inline-block;
		background-color: #f2f2f2;
		white-space: nowrap;
	}
	.homeProjectsTitle:after{
		position: absolute;
		left: 10px;
		top: 1.5rem;
		width: calc(100% - 10px);
		z-index: 1;
		content: '';
		display: block;
		height: 0;
		border-top: solid 2px #000;
	}
	.homeProjectsBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}
@media screen and (max-width: 800px) {
	.homeProjectsTitle h2{
		font-size: 1.5rem;
		padding: 0 0.5rem 0 0;
	}
	.homeProjectsBox {
		padding-top: 1rem;
	}

}
.homeProject{
	flex-basis: 48%;
	position: relative;
	text-decoration: none;
	display: block;
	margin-bottom: 3vw;
}
a.homeProject:hover{
	text-decoration: none;
}
.homeProjectImage{
	display: block;
	width: 100%;
	height: 46vw;
	object-fit: cover;
	position: relative;
	transition: border-radius 0.5s ease;
}
.homeProjectImageWrapWrap .homeProjectImage:hover{
	border-radius: 50%;
}

.homeProjectImageWrap{
	display: block;
	width: 100%;
	height: 46vw;
	overflow: hidden;
	position: relative;
}
.homeProjectImageWrapWrap{
	display: block;
	width: 100%;
	height: 46vw;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}
.homeProjectCaption h3{
	font-size: 1.1rem;
	font-weight: 600;
	display: inline;
}
.homeProjectCaption{
	line-height: 1.2;
	padding: 1rem 0 0 0;
	font-size: 1.1rem;
}
.homeProjectCaption a{
	font-size: 0.8rem;
}
a.homeProjectCaptionTitle{
	text-decoration: none;
}
.homeProjectCaption a:hover{
	text-decoration: none;
}
.homeProjectCaption div{
	font-size: 1.1rem;
	font-weight: 300;
	display: inline;
}
.homeProjectsMore{
	text-align: right;
}
.homeProjectsMore a{
	font-size: 2rem;
	font-weight: 500;
}

@media screen and (max-width: 800px) {
	.homeProjectImageWrapWrap {
		height: 80vw;
	}
	.homeProjectImageWrap {
		height: 80vw;
	}
	.homeProjectImage {
		height: 80vw;
	}

	.homeProject {
		margin-bottom: 8vw;
	}
	.homeProjectsMore{
		text-align: center;
		padding-bottom: 10vw;
	}
}
/**/

.sectionStrategy{
	padding: 0 0 8vw 0;
}
.strategyTitle{
	width: 70%;
	padding-bottom: 2rem;
}
.strategyTitle h2{
	font-size: 4rem;
	line-height: 1.1;
	font-weight: 300;
	margin: 0;
	padding: 0 0 1.8rem 0;
}
.strategyColumns{
}
@media screen and (min-width: 801px) {
	.strategyColumns {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
}
.strategiesWrapper{
	flex-basis: 54%;
}
.strategyCaptionsBox{
	flex-basis: 33%;
	position: relative;
	top:-1em;
}
.strategiesBox{
	border-bottom: solid 2px #000;
}
a.strategyItem{
	border-top: solid 2px #000;
	padding: 1.5rem 0.5rem;
	text-decoration: none;
	display: block;
	position: relative;
}

.strategyItemTitle{
	background-color: #f0f0f0;
	position: relative;
	display: inline-block;
}
.strategyItem h3{
	font-size: 2rem;
	margin: 0;
	padding: 0;
	line-height: 1.3;
	font-weight: 500;
	background-color: #f0f0f0;
	display: inline-block;
	z-index: 2;
	position: relative;
}
a.strategyItem .strategyItemTitle > span{
	display: inline-block;
	position: absolute;
	z-index: 1;
	top:0.5rem;
	right: 1rem;
	font-size: 2rem!important;
	transition: right 0.5s ease;
}
a.strategyItem:hover .strategyItemTitle > span{
	right: -2.5rem;
}

.strategyItem p{
	font-size: 1.1rem;
	margin: 0;
	padding: 0;
	line-height: 1.3;
	font-weight: 300;
}
.strategyCaption p{
	font-size: 2.2rem;
	padding: 0 0 0.5rem 0;
	width: 75%;
	line-height: 1.3;
}
.strategyCaptionItem{
	font-size: 2.2rem;
	padding: 0 0 2rem 0;
	width: 75%;
	line-height: 1.3;

}
.servicesMoreBox{
	text-align: right;
	padding-top: 1rem;
}
.servicesMoreBox a{
	font-size: 2rem;
	font-weight: 500;
}

@media screen and (max-width: 800px) {
	.strategyTitle {
		width: auto;
	}
	.strategyTitle br {
		display: none;
	}
	.strategyCaption{
		padding-top: 8vw;
	}
	.strategyCaptionItem{
		width: auto;
	}

	.strategiesBox {
		border-bottom: solid 1px #000;
	}
	a.strategyItem{
		padding: 1.8rem 0rem;
		border-top: solid 1px #000;
	}
	.strategyItem h3{
		font-weight: 300;
	}


}
/**/
.sectionProud{
	padding: 0 0 4vw 0;
	overflow: hidden;
}
.page-id-2 .sectionProud{
	padding: 0 0 8vw 0;
}
.proudTitle{
	padding-bottom: 2rem;
	margin-left: auto;
}
@media screen and (min-width: 801px) {
	.proudTitle {
		width: 70%;
	}
}
.proudTitle h2{
	font-size: 4rem;
	line-height: 1.1;
	font-weight: 300;
	padding: 0;
}
.proudTitle h2 strong{
	font-weight: 500;
}
.proudTitle p {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 300;
	margin: 0;
	padding: 0 0 1.8rem 0;
}

.proudMoreBox{
	text-align: left;
	padding-top: 1rem;
}
.proudMoreBox a{
	font-size: 2rem;
	font-weight: 500;
}
@media screen and (max-width: 800px) {
	.proudTitle{
		padding-top: 8vw;
	}
}

/**/

.sectionPortfolioTop{
	padding: 10vw 0 3vw 0;
}
@media screen and (max-width: 800px) {
	.sectionPortfolioTop {
		padding: 25vw 0 3vw 0;
	}
}
@media screen and (min-width: 801px) {
	.portfolioTop {
		width: 80%;
	}
	.single-project .portfolioTop {
		width: auto;
	}
}
.portfolioTop h1{
	font-weight: 500;
	line-height: 1.1;
	font-size: 8.5vw;
}
@media screen and (min-width: 801px) {
	.single-project .portfolioTop h1 {
		font-size: 7.5vw;
	}
}


.portfolioTop h2{
	line-height: 1.2;
	font-weight: 300;
	font-size: 4rem;
}
@media screen and (min-width: 801px) {
	.single-project .portfolioTop h2{
		font-size: 3.3rem;
	}
}

@media screen and (max-width: 800px) {
	.portfolioTop h1{
		font-size: 3rem;
	}
	.portfolioTop h2{
		font-size: 2rem;
	}
}

.portfolioTopTitleWrap{
	overflow: hidden;
}

.portfolioProjectsTitleFilter{
	padding-top: 3vw;
	display: flex;
	gap: 1rem;
}
.filterDropdown{
	display: block;
	width: 21vw;
	position: relative;
	z-index: 10;
}
.filterDropdownTitle{
	background: #fff;
	font-size: 1.5rem;
	display: block;
	padding: 0 2rem;
	line-height: 2;
	border-radius: 0.5rem;
	width: 12rem;
	cursor: pointer;
}
.filterDropdownListWrap{
	display: block;
	overflow: hidden;
	max-height: 0;
	position: absolute;
	transition: max-height 0.3s ease;
}
.filterDropdownList{
	top: 3rem;
	background-color: #000;
	color: #fff;
	border-radius: 0.5rem;
	padding: 1rem 0;
	display: block;
}
.filterDropdown:hover .filterDropdownListWrap{
	display: block;
	max-height: 30rem;
}
.filterDropdownList a{
	padding: 0 2rem;
	text-decoration: none;
	color: #fff;
	display: block;
	font-size: 1.25rem;
}
@media screen and (min-width: 801px) {
	.filterDropdownList a{
		white-space: nowrap;
	}
}
.filterDropdownList a:hover{
	color: #000;
	background-color: #fff;
}

@media screen and (max-width: 800px) {
	.portfolioProjectsTitleFilter{
		display: block;
	}
	.filterDropdown{
		width: 100%;
		margin-bottom: 10vw;
	}
	.filterDropdown:first-child{
		z-index: 20;
	}
}
/**/

a.whiteButtonLink{
	background: #fff;
	font-size: 1.5rem;
	display: inline-block;
	padding: 0 2rem;
	line-height: 2;
	border-radius: 0.5rem;
	text-decoration: none;
	color: #000;
	transition: all 0.3s ease;
	font-weight: 200;
}
a.whiteButtonLink:hover{
	background: #000;
	color: #fff;
}
a.whiteButtonLink .material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
}

/**/
.sectionImageText{
	padding: 2vw 0 6vw 0;
}
@media screen and (min-width: 801px) {
	.imageTextBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	.imageTextBox.reverse {
		flex-direction: row-reverse;
	}
	.imageTextBox.top-aligned {
		align-items: flex-start;
	}
	.imageTextBoxImage{
		flex-basis: 50%;
		width: 50%;
	}

}
.imageTextBoxImage{
	display: block;
	height: auto;
	position: relative;
}
.imageTextBoxImage img{
	display: block;
	width: 100%;
	height: auto;
}
.imageTextBoxImage video{
	display: block;
	width: 100%;
	height: 30vw;
	object-fit: cover;
}
.imageTextBoxImage img.imageTextBoxImageImage1{
}
.imageTextBoxImage img.imageTextBoxImageImage2{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.imageTextBoxText{
	flex-basis: 45%;
}
.imageTextBoxText h2{
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.2;
}
.imageTextBoxText .generalButtonBox{
	padding-top: 1rem;
}
@media screen and (min-width: 801px) {
	.single-project .imageTextBoxImage{
		flex-basis: 33%;
		width: 33%;
	}
	.single-project .imageTextBoxText{
		flex-basis: 62%;
	}
	.single-project .imageTextBoxText h2{
		font-size: 3.3rem;
	}
	.single-project .imageTextBoxText, .single-project .imageTextBoxText p {
		line-height: 1.4;
		font-weight: 300;
	}
}
.imageTextBoxText h3{
	font-size: 3rem;
	font-weight: 300;
	line-height: 1.2;
}
.imageTextBoxText, .imageTextBoxText p{
	font-size: 2rem;
	line-height: 1.4;
}
@media screen and (max-width: 800px) {
	.imageTextBoxImage{
		padding-bottom: 6vw;
	}
	.imageTextBoxText{
		padding-bottom: 6vw;
	}
}

/**/
.sectionImageLongText{
	padding: 2vw 0 6vw 0;
}
@media screen and (min-width: 801px) {
	.imageLongTextBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	.imageLongTextBox.reverse {
		flex-direction: row-reverse;
	}
	.imageLongTextBox.top-aligned {
		align-items: flex-start;
	}
	.imageLongTextBoxImage{
		flex-basis: 40%;
		width: 40%;
	}

}
.imageLongTextBoxImage{
	display: block;
	height: auto;
}
.imageLongTextBoxText{
	flex-basis: 55%;
}
.imageLongTextBoxText h2{
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.3;
}
.imageLongTextBoxText h3{
	font-size: 2rem;
	font-weight: 300;
	line-height: 1.3;
}
.imageLongTextBoxText, .imageLongTextBoxText p{
	font-size: 1rem;
	line-height: 1.6;
	font-weight: 200;
}
@media screen and (max-width: 800px) {
	.imageLongTextBoxImage{
		padding-bottom: 6vw;
	}
	.imageLongTextBoxText{
		padding-bottom: 6vw;
	}
}

/**/
.backButtonBox{
	padding-top: 3vw;
}

/**/
.sectionListWithImage{
	padding: 2vw 0 6vw 0;
}
@media screen and (min-width: 801px) {
	.listWithImageBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	.listWithImageBoxImage{
		flex-basis: 33%;
		width: 33%;
	}

}
.listWithImageBoxImage{
	display: block;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}
.listBox{
	flex-basis: 50%;
}
.listBoxTitle h2{
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.2;
}
@media screen and (min-width: 801px) {
	.single-project .listBoxTitle h2 {
		font-size: 2.8rem;
		font-weight: 700;
	}
	.strategyItem h3 {
		font-weight: 300;
	}
}
@media screen and (max-width: 800px) {
	.listWithImageBoxImage{
		padding-bottom: 6vw;
	}
	.listBox{
		padding-bottom: 6vw;
	}
}

/**/
.sectionSingleImage{
	padding: 2vw 0 6vw 0;
}
.sectionSingleImage img.singleImage{
	width: 100%;
	height: auto;
}

/**/
.sectionImagesRow{
	padding: 2vw 0 6vw 0;
}
@media screen and (min-width: 801px) {
	.imagesRow {
		display: flex;
		gap: 2vw;
		justify-content: space-between;
		align-items: flex-start;
	}
}
.imagesRow .imageInRow{
	flex-basis: 0;
	flex-grow: calc(var(--sz));
}
.imagesRow .imageInRow img{
	height: auto;
	object-fit: contain;
	display: block;
	width: 100%;
}
.imageRowCaption{
	font-size: 1.2rem;
	line-height: 1.3;
	padding-top: 1rem;
}
.imageRowCaption strong{
	display: block;
}
@media screen and (max-width: 800px) {
	.imageInRow {
		padding-bottom: 6vw;
	}
}

/**/


.sectionAboutTop{
	padding: 6vw 0;
}
.aboutTopColumns {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.aboutTopColumns h2{
	font-size: 2rem;
	line-height: 1.1;
	font-weight: 200;
	margin: 0;
	padding: 0 0 1.8rem 0;
}
.aboutTopColumns p{
	font-size: 2.2rem;
	padding: 0 0 0.5rem 0;
	width: 75%;
	line-height: 1.3;
}
.curveTextAbout{
	flex-basis: 50%;
}
.curveImageAbout{
	flex-basis: 50%;
}
.curveImageAbout svg{
	width: 22vw;
	display: block;
	margin: auto;
	height: 70vw;
}
.curveTextItemAbout{
	padding-top: 1.5vw;
}
.curveTextItemAbout:first-child{
	padding-top: 6vw;
}
.curveTextItemAbout h3{
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: 600;
	margin: 0;
	padding: 0 0 0.2rem 0;
}
.curveTextItemAbout p{
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: 200;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 800px) {
	.curveTextAbout{
		flex-basis: 45%;
	}
	.curveImageAbout{
		flex-basis: 45%;
	}

	.aboutTopColumns h2 {
		font-size: 2rem;
	}
	.curveTextItemAbout h3 {
		font-size: 1.5rem;
	}
	.aboutTopColumns p {
		width: 100%;
		font-size: 1.8rem;

		display: none;
	}

	.curveImageAbout img {
		width: calc(100px + 14vw);
	}

	.aboutTopColumns {
		display: flex;
		justify-content: space-between;
		padding: 7vw 0;
	}
	.curveTextItemAbout {
		padding-bottom: 6vw;
	}
	.curveImageAbout svg {
		width: 39vw;
		height: 126vw;
	}
}

/**/
.sectionCtaWithBgImage{
	padding:3vw 0 3vw 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 40vw;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.sectionCtaWithBgImage .pageWidth{
	margin: inherit;
}
.sectionCtaWithBgImage .generalButtonBox a{
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
}
.sectionCtaWithBgImage, .sectionCtaWithBgImage p{
	color: #fff;
}
@media screen and (max-width: 800px) {
}
.homeProjectsMore a {
	font-size: 2rem;
	font-weight: 500;
}
/**/
.sectionTwoColumnsText{
	padding:6vw 0 6vw 0;
}
.sectionTwoColumnsText h2 {
	font-size: 4rem;
	line-height: 1.1;
	font-weight: 300;
	margin: 0;
	padding: 0 0 1.8rem 0;
}
.sectionTwoColumnsText p {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 300;
	margin: 0;
	padding: 0 0 1.8rem 0;
}
@media screen and (min-width: 801px) {
	.twoColumnsText{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.twoColumnsTextLeft{
		flex-basis: 25%;
	}
	.twoColumnsTextRight{
		flex-basis: 70%;
	}
}


/**/
.sectionStrategy{
	padding: 0;
	margin-top: -1px;
}
.sectionStrategy .pageWidth{
	display: block;
	text-decoration: none!important;
	padding: 8vw 0 8vw 0;
	border-top: solid 1px #000;
	/*border-bottom: solid 1px #000;*/
}
@media screen and (min-width: 801px) {
	.sectionStrategyBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	.sectionStrategyBox.reverse {
		flex-direction: row-reverse;
	}
	.sectionStrategyBox.top-aligned {
		align-items: flex-start;
	}
	.sectionStrategyBoxImage{
		flex-basis: 50%;
		width: 50%;
	}

}
.sectionStrategyBoxImage{
	display: block;
	height: auto;
}
.sectionStrategyBoxText{
	flex-basis: 45%;
}
.sectionStrategyBoxText h2{
	font-size: 4rem;
	font-weight: 500;
	line-height: 1.2;
}
.sectionStrategyBoxText h3{
	font-size: 3rem;
	font-weight: 300;
	line-height: 1.2;
}
.sectionStrategyBoxText, .sectionStrategyBoxText p{
	font-size: 2rem;
	line-height: 1.4;
}
@media screen and (max-width: 800px) {
	.sectionStrategyBoxImage{
		padding-bottom: 6vw;
	}
	.sectionStrategyBoxText{
		padding-bottom: 6vw;
	}

	.sectionStrategyBoxText h2 {
		font-size: 2rem;
	}
	.sectionStrategyBoxText h3{
		font-size: 1.6rem;
		font-weight: 300;
		line-height: 1.2;
	}
	.sectionStrategyBoxText, .sectionStrategyBoxText p{
		font-size: 1.4rem;
		line-height: 1.4;
	}

}

/**/

.sectionServiceSteps{
	padding: 4vw 0 8vw 0;
}
.sectionServiceSteps .pageWidth{
	background: url(../images/curve-3.png) no-repeat 3vw 0px;
	background-size: 12vw auto;
}
.sectionServiceSteps .pageWidth::after {
	content: " ";
	background: url(../images/tri.png) no-repeat 6.11vw 0px;
	background-size: 3vw auto;
	display: block;
	height: 3vw;
	position: relative;
	top: 1vw;
}
.serviceStepsTitle{
	padding-left: 20vw;
	width: 42vw;
}
.serviceStepsTitle p{
	font-size: 2vw;
	line-height: 1.5;
}
.serviceSteps{
}
.serviceStep {
	padding-left: 15vw;
	padding-top: 3vw;
	box-sizing: border-box;
	position: relative;
}
@media screen and (min-width: 801px) {
	.serviceStep {
		width: 78%;
	}
}
.serviceDot.serviceDot1 {
	position: absolute;
	left: 0;
	top: 0;
	width: 15vw;
	height: 13vw;
	background: url(../images/circle9.svg) no-repeat 6.65vw 4.1vw;
	background-size: 2vw auto;
	/*
		background: url(../images/circle8.svg) no-repeat 6.8vw 4.5vw;
	background-size: 1.7vw auto;

	 */
}
.serviceStep h2{
	font-weight: 600;
	margin-bottom: 0;
}
.serviceStep p{
	font-size: 1.4vw;
	line-height: 1.5;

}
@media screen and (max-width: 800px) {
	.sectionServiceSteps .pageWidth{
		background: url(../images/curve-3.png) no-repeat 0vw 0px;
		background-size: 18vw auto;
	}
	.sectionServiceSteps .pageWidth::after {
		background: url(../images/tri.png) no-repeat 4.65vw 0px;
		background-size: 4.5vw auto;
		display: block;
		height: 4.5vw;
		position: relative;
		top: -6vw;
	}
	.serviceStepsTitle{
		padding-left: 25vw;
		width: auto;
	}
	.serviceStepsTitle p{
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.serviceSteps{
		background: url(../images/line.png) repeat-y 5.8vw 5.5vw;
		background-size: 2.4vw auto;
	}
	.serviceStep {
		padding-left: 15vw;
		padding-top: 3vw;
	}
	.serviceDot.serviceDot1 {
		background: url(../images/circle9.svg) no-repeat 4.3vw 5.5vw;
		background-size: 5.4vw auto;
	}

	.serviceStep h2{
		font-size: 1.8rem;
	}
	.serviceStep p{
		font-size: 1.3rem;
	}

}

/**/

.sectionServiceSteps2{
	padding: 4vw 0 8vw 0;
}
/*.sectionServiceSteps2 .pageWidth::after {
	content: " ";
	background: url(../images/circle3.png) no-repeat 6.15vw 0px;
	background-size: 3vw auto;
	display: block;
	height: 3vw;
	position: relative;
	top: -1px;
}*/
.sectionServiceSteps2 .serviceSteps2bottom {
	padding: 0 0 0 11vw;
	background: url(../images/circle3.png) no-repeat 6.15vw center;
	background-size: 3vw auto;
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	min-height: 100px;
	font-size: 2rem;
	line-height: 1.3;
}
.serviceSteps2bottomWrap {
	background: url(../images/line.png) no-repeat 6.9vw 0;
	background-size: 1.6vw 50%;
}
.serviceSteps2TitleWrap{
	background: url(../images/line.png) no-repeat 6.9vw 2vw;
	background-size: 1.6vw 100%;
}
.serviceSteps2Title{
	padding: 0 0 4vw 12%;

	background: url(../images/circle7.svg) no-repeat 6.65vw 1.5vw;
	background-size: 2vw auto;
}
@media screen and (max-width: 800px) {
	.serviceSteps2TitleWrap {
		background: url(../images/line.png) no-repeat 5.8vw 8vw;
		background-size: 2.4vw 100%;
	}
	.serviceSteps2Title{
		background: url(../images/circle7.svg) no-repeat 4.1vw 4vw;
		background-size: 5.6vw auto;
	}

}
.serviceSteps2Title h2{
	font-weight: 300;
	font-size: 4rem;
	line-height: 1.1;
	margin-bottom: 0.5rem;
}
.serviceSteps2Title p{
	font-size: 2rem;
	line-height: 1.3;
	margin-bottom: 0;
}
.serviceSteps2 {
	background: url(../images/line.png) repeat-y 6.9vw 5vw;
	background-size: 1.6vw auto;
	/*
	background: url(../images/line.png) no-repeat 6.9vw 5vw;
	background-size: 1.6vw 100%;
	*/
	padding-bottom: 3vw;
}
.serviceStep2 {
	padding-left: 11vw;
	padding-top: 3vw;
	padding-bottom: 2vw;
	/*background: url(../images/circle4.png) no-repeat 6.9vw 6.5vw;
	background-size: 1.6vw auto;*/
	position: relative;
}
@media screen and (min-width: 801px) {
	.serviceStep2 {
		width: 70%;
	}
}
.serviceDot.serviceDot2 {
	position: absolute;
	left: 0;
	top: 0;
	width: 15vw;
	height: 13vw;
	background: url(../images/circle9.svg) no-repeat 6.65vw 4.1vw;
	background-size: 2vw auto;
}

.serviceStep2 h3{
	font-weight: 600;
	margin-bottom: 0;
	font-size: 3.3rem;
}
.serviceStep2 p{
	font-size: 1.4rem;
	line-height: 1.5;

}
@media screen and (max-width: 800px) {
	.sectionServiceSteps2 .pageWidth{
	}
	.sectionServiceSteps2 .serviceSteps2bottom {
		padding: 0 0 0 15vw;
		background: url(../images/circle3.png) no-repeat 4vw center;
		background-size: 6vw auto;
		font-size: 1.5rem;
	}
	.serviceSteps2bottomWrap {
		background: url(../images/line.png) no-repeat 5.8vw 0;
		background-size: 2.4vw 50%;
	}
	.serviceSteps2Title {
		margin: 0 auto 0 auto;
		padding-left: 15vw;
	}
	.serviceSteps2Title p{
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.serviceSteps2 {
		background: url(../images/line.png) repeat-y 5.8vw 8vw;
		background-size: 2.4vw 100%;
	}
	.serviceStep2 {
		padding-left: 15vw;
		padding-top: 5vw;
	}
	.serviceDot.serviceDot2 {
		background: url(../images/circle9.svg) no-repeat 4.3vw 5.5vw;
		background-size: 5.4vw auto;
	}

	.serviceStep2 h2{
		font-size: 1.8rem;
	}
	.serviceStep2 p{
		font-size: 1.3rem;
	}
	.serviceStep2 h3 {
		font-weight: 600;
		margin-bottom: 0;
		font-size: 2rem;
		line-height: 1.2;
	}
	.serviceSteps2Title h2 br{
		display: none;
	}
	.serviceSteps2Title p br{
		display: none;
	}
	.serviceSteps2Title h3 br{
		display: none;
	}
}

/**/
.sectionPlainText{
	padding: 2vw 0 6vw 0;
}
.sectionPlainText video{
	width: 100%!important;
	height: auto;
}
.sectionPlainText .wp-video{
	width: 100%!important;
	height: auto;
}
.wonderplugin-video{
	width: auto!important;
	height: auto!important;
}

/**/
.screen-reader-text{
	display: none;
}
.nav-links{
	font-size: 1.4rem;
	text-align: right;
}
.page-numbers{
	margin-left: 1rem;
	font-weight: 400;
}


.sectionBlogs{
	padding: 0 0 6vw 0;
}
.blogsBox {
	padding-top: 2rem;
}
@media screen and (min-width: 801px) {
	.blogsBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.blogItem{
		flex-basis: 32%;
		position: relative;
		text-decoration: none;
		display: block;
		margin-bottom: 3vw;

		margin-right: 1.7vw;
	}
 /*todo*/
}
@media screen and (max-width: 800px) {
	.blogsBox {
		padding-top: 1rem;
	}

}

.blogItem{
	position: relative;
	text-decoration: none;
	display: block;
	margin-bottom: 3vw;
}
.blogItem:nth-child(3n){
	margin-right: 0;
}
a.blogItem:hover{
	text-decoration: none;
}

.blogItemCategoryList{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 2rem;
	z-index: 5;
}
.blogItemCategoryList > div {
	border: none;
	display: inline-block;
	width: auto;
	height: 2.8rem;
	border-radius: 1.4rem;
	padding: 0 2rem;
	color:#000;
	line-height: 2.8rem;
	background:#fff;
	text-decoration: none;
	font-size: 1.1rem;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	text-align: center;
}
.blogImage{
	display: block;
	width: 100%;
	height: 31vw;
	object-fit: cover;
	position: relative;
	transition: border-radius 0.5s ease;
}
.blogImageWrapWrap .blogImage:hover{
	/*border-radius: 50%;*/
}

.blogImageWrap{
	display: block;
	width: 100%;
	height: 46vw;
	overflow: hidden;
	position: relative;
}
.blogImageWrapWrap{
	display: block;
	width: 100%;
	height: 31vw;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}
.blogImageWrapWrap::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.35);
	transition: all 0.3s ease;
}
.blogImageWrapWrap:hover::after{
	background-color: rgba(0,0,0,0);
}
.blogCaption h3{
	font-size: 1.4rem;
	font-weight: 300;
	display: inline;
}
.blogCaption{
	line-height: 1.4;
	padding: 1rem 0 0 0;
	font-size: 1.4rem;
}
.blogDate{
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.4;
	padding-top: 0.5rem;
}
.blogCaption a{
	display: block;
}
a.blogCaptionTitle{
	text-decoration: none;
}
.blogCaption a:hover{
	text-decoration: none;
}
.blogsMore{
	text-align: right;
}
.blogsMore a{
	font-size: 2rem;
	font-weight: 500;
}

@media screen and (max-width: 800px) {
	.blogImageWrapWrap {
		height: 80vw;
	}
	.blogImageWrap {
		height: 80vw;
	}
	.blogImage {
		height: 80vw;
	}

	.blogItem {
		margin-bottom: 8vw;
	}
	.blogsMore{
		text-align: center;
		padding-bottom: 10vw;
	}
}
/**/
.blogTwoColumns{
	padding: 6vw 0;
}
.blogColumnText, .blogColumnText p, .blogColumnText li{
	font-size: 1.5rem;
	line-height: 2;
}
@media screen and (max-width: 800px) {
	.blogColumnText{
		padding: 8vw 0 0 0;
	}
}
@media screen and (min-width: 801px) {

	.blogTwoColumns {
		display: flex;
		justify-content: space-between;
	}

	.blogColumnAttr {
		flex-basis: 25%;
	}

	.blogColumnText {
		flex-basis: 65%;
	}
}

.a2a_default_style:not(.a2a_flex_style) a {
	padding: 0 14px 0 0!important;
}
.a2a_default_style .a2a_counter img, .a2a_default_style .a2a_svg {
	background-color: #000!important;
}
.a2a_svg {
	height: 1.2rem!important;
	line-height: 1rem;
	width: 1.2rem!important;
}
.blogColumnAttr{
	font-size: 1.5rem;
	font-weight: 300;
	padding-top: 1rem;
	padding-bottom: 6vw;
}
.blogColumnAttr > div{
	padding-bottom: 1.1rem;
}
.blogColumnAttrViewAll a{
	/*font-weight: 700;*/
}

.blogTop h1{
	line-height: 1.2;
	font-size: 4.5vw;
	font-weight: 200;
}
@media screen and (max-width: 800px) {
	.single-post .blogTop h1 {
		font-size: 3rem;
	}
}
.single-post .imageTextBoxText, .single-post .imageTextBoxText p {
	font-size: 1.5rem;
	line-height: 1.8;
}
.single-post h2{
	font-weight: 400;
	line-height: 1.3;
}
.single-post h3{
	font-family: 'Inter', sans-serif;
	font-size: 2.6rem;
	font-weight: 300;
}

.blogColumnText ul {
	padding-left: 1.7rem;
}
.blogColumnText ol {
	padding-left: 1.7rem;
}
.singlePostNavigation{
	display: flex;
	justify-content: space-between;
}
.singleOlder{
	margin-left: auto;
}

@media screen and (max-width: 800px) {
	.single-post .imageTextBoxText, .single-post .imageTextBoxText p {
		font-size: 1.3rem;
	}
	.single-post h2{
		font-size: 2.4rem;
	}
	.single-post h3{
		font-size: 2.2rem;
	}
}

/**/


.contactFormRowSubmit button{
	background-color: #000;
	color: #fff;
	border-color: #000;
	padding-right: 1.5rem;
	padding-left: 2rem;
}
.contactFormRowSubmit button span{
	transform: translateY(-3px) rotate(-45deg);
	display: inline-block;
}
.contactFormRow{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.contactFormFieldHalf{
	flex-basis: 48%;
}
.contactFormField{
	flex-basis: 100%;
}

.contactForm label{
	margin-bottom:15px;
	position:relative;
	border-bottom:1px solid #000;
	box-sizing:border-box;
	display: block;
	padding: 0;
}
.contactForm input{
	width:100%;
	padding:0;
	margin-top:20px;
	border: none;
	outline:none;
	box-sizing:border-box;
	font-size: 1.12rem;
	line-height: 1.75rem;
	height: 3rem;
	background: none;
}
.contactForm textarea{
	width:100%;
	padding:0;
	margin-top:20px;
	border: none;
	outline:none;
	box-sizing:border-box;
	font-size: 1.12rem;
	line-height: 1.75rem;
	height: 9rem;
	background: none;
}
.contactForm select{
	width:100%;
	padding:0;
	margin-top:20px;
	border: none;
	outline:none;
	box-sizing:border-box;
	font-size: 1.12rem;
	line-height: 1.75rem;
	height: 3rem;
	color: #888;
}
.contactForm select.selected{
	color: #000;
}
.contactForm input::placeholder,
.contactForm textarea::placeholder
{
	opacity:0;
}
.contactForm label span{
	pointer-events: none;
	position:absolute;
	top:0;
	left:0;
	transform:translateY(2rem);
	font-size:1.12rem;
	transition-duration:300ms;
	box-sizing:border-box;
	color: #888;
}

label:focus-within > span,
input:not(:placeholder-shown) + span,
textarea:not(:placeholder-shown) + span
{
	color: #000;
	transform:translateY(0);
	font-size: 0.75rem;
}
@media screen and (max-width: 800px) {
	.contactFormRowSubmit button span{
		transform: translateY(-3px) rotate(-45deg);
		display: inline-block;
	}
	.contactFormRowSubmit{
		display: grid;
	}
	.contactFormRow{
		flex-wrap: wrap;
	}
	.contactFormFieldHalf{
		flex-basis: 100%;
	}
}
