/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								general for whole site
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
*											{margin: 0; padding: 0; border: 0; outline: none; box-sizing: border-box; -webkit-box-sizing: border-box;}

html										{font-size: 16px; width: 100vw; height: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -o-text-size-adjust: 100%;}
body										{overflow-X: hidden; overflow-Y: auto; text-align: center; width: 100vw; height: 100%; line-height: 1.5em; font-family: "DM Sans", Arial, sans-serif;
											 font-weight: 500; cursor: default; color: #000000; background-color: #FFFFFF;}
	body.busy *								{cursor: progress !important;}

a											{text-decoration: none; cursor: pointer; color: inherit;}

input, select, textarea						{font-family: inherit; font-size: inherit; font-weight: normal; color: inherit; resize: none;}

h1, h2, h3, h4, h5, h6, h7					{margin: none; font-size: 1rem; font-weight: normal;}
h1											{display: block; line-height: 1; margin-bottom: 1rem; font-size: 1.5rem; font-weight: 1000;}
h2											{display: block; line-height: 1; margin-bottom: 1rem; font-size: 1.5rem; font-weight: 1000;}

img											{-webkit-user-drag: none;}

.button										{position: relative; display: inline-block; vertical-align: middle; xmargin: 0.5rem 1rem; padding: 0.5rem 2rem; background: #D0413B;
											 color: #FFFFFF; font-size: 1rem; font-weight: bold; cursor: pointer; -webkit-transition: 0.25s; transition: 0.25s;
											 text-transform: uppercase; text-decoration: none; border-radius: 0.25rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
	.button:before							{content: ""; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%);
											 transform: translateX(-50%) translateY(-50%); width: 100%; height: 100%; border: 1px solid transparent; -webkit-transition: 0.5s; transition: 0.5s;}
	.button:not(.disabled):hover:before		{width: calc(100% - 1rem); height: calc(100% - 1rem); border-color: #FFFFFF;}
	.button:active							{background-color: rgb(260, 139, 27);}
	.button.disabled						{background-color: #DDDDDD; cursor: not-allowed; -webkit-filter: blur(1px); filter: blur(1px);}
	.button.hidden							{opacity: 0; cursor: default;}
	.button.inverse							{background: transparent; border: 1px solid rgba(0, 0, 0, 0.15); color: #000000;}
		.button.inverse:hover:before		{border-color: rgba(0, 0, 0, 0.25);}

.block										{position: relative; left: 0; top: 0; width: 100vw; z-index: 1;}
.wrapper									{position: relative; display: inline-block; width: 100%; max-width: 1280px; padding: 6rem 1rem; text-align: left;}

.block.header								{min-height: 15rem; padding-bottom: 2rem; background: no-repeat center / cover;}
	.block.header:after						{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
											 background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(transparent), to(rgba(0, 0, 0, 0.5)));
											 background-image: linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.5));}
	.block.header .contents					{position: relative; display: inline-block; padding: 12rem 1rem 0; color: #FFFFFF; text-shadow: 0 0 0.2em #000000; text-align: left; z-index: 1;}
		.block.header .contents h1			{font-size: 2.5rem;}
		.block.header .contents b			{font-size: 1.25rem;}

ul:not(.mainMenu, .subMenu)					{padding-left: 1rem; overflow: hidden;}
	ul.noBullets							{padding-left: 0; list-style-type: none;}

.payoff										{position: relative; display: block; width: 100%; padding: 6rem 1rem; border-top: 1px solid rgba(0, 0, 0, 0.1); letter-spacing: 0.1em; text-align: center;}
	.payoff b								{display: block; font-weight: 1000;}
	.payoff:after							{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #F2F1EC url("../IMG/woodPattern.png") fixed no-repeat center / cover; opacity: 0.2; z-index: -1;}

.quote										{position: relative; display: block; width: 100%; border-top: 1px solid rgba(0, 0, 0, 0.1); border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
	.quote:after							{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #F2F1EC url("../IMG/woodPattern.png") fixed no-repeat center / cover; opacity: 0.2; z-index: -1;}
	.quote .wrapper:before					{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1;
											 background: fixed no-repeat center / calc(5rem + 5vw) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-135.68 152.04 866.36 532.20'%3E%3Cpath fill='rgb%28242.25%2C%20242.25%2C%20242.25%29' d='M730.68 353.32c0 177.06-126.65 282.42-205.61 330.92-10.02 6.15-20.83-6.63-13.17-15.58 24.61-28.77 53.34-69.9 72.72-121.75-17.55 5.01-36.08 7.68-55.22 7.68-111.16 0-201.28-90.11-201.28-201.28S418.24 152.04 529.4 152.04s201.28 90.12 201.28 201.28zM266.87 353.32c0 177.06-126.65 282.42-205.61 330.92-10.02 6.15-20.83-6.63-13.17-15.58 24.61-28.77 53.34-69.9 72.72-121.75-17.55 5.01-36.08 7.68-55.22 7.68-111.16 0-201.28-90.11-201.28-201.28S-45.57 152.04 65.6 152.04s201.27 90.12 201.27 201.28z'/%3E%3C/svg%3E");}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								top
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.top									{position: fixed; padding: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.5); color: #FFFFFF; text-shadow: 0 0 0.1em #000000; z-index: 100;
											 -webkit-transition: 0.5s; transition: 0.5s;}
	.block.top:before						{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
											 background-image: linear-gradient(rgba(0, 0, 0, 0.5), transparent); -webkit-transition: opacity 0.5s; transition: opacity 0.5s;}
	.block.top::after							{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);}
		.block.top > .logo					{position: absolute; left: 2vw; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); height: 3rem; opacity: 0; visibility: hidden; z-index: 1;
											 -webkit-transition: opacity 0.5s; transition: opacity 0.5s;}
		.block.top .wrapper .logo			{position: absolute; left: 1rem; bottom: 0.75rem; height: 5rem; z-index: 1; -webkit-transition: 0.5s; transition: 0.5s;}
		.block.top .logo img				{height: 100%;}
	.block.top .wrapper						{padding: 0 1rem; text-align: right;}
	.block.top .quickContact				{display: block; max-width: calc(80vw - 12rem); line-height: 3em; margin: 0 auto; font-size: 0.75rem; font-weight: 300; border-bottom: 1px solid rgba(255, 255, 255, 0.25); text-align: left;
											 -webkit-transition: border-color 0.5s;
											 transition: border-color 0.5s;}
	.block.top .quickContact .item			{display: inline-block; margin-right: 2rem;}
	.block.top .quickContact .item.icon		{vertical-align: middle; margin-right: 0; padding: 0 0.25rem; font-size: 1.1rem;}
	.block.top .quickContact .item.right	{float: right; margin: 0;}
	.block.top .quickContact .item b		{font-weight: 700;}

	.block.top.fixed						{background: rgba(255, 255, 255, 0.75); color: #000000; text-shadow: none;}
	.block.top.fixed:before					{opacity: 0;}
	.block.top.fixed > .logo				{opacity: 1; visibility: visible;}
	.block.top.fixed .wrapper .logo			{-webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; visibility: hidden;}
	.block.top.fixed .quickContact			{border-color: rgba(0, 0, 0, 0.15);}
	.block.top.fixed .mainMenu .subMenu li	{background: #FFFFFF;}
	.block.top.fixed .mainMenu .subMenu li:hover	{color: #D0413B;}
	.block.top.fixed .mainMenu > li:after	{background-color: #D0413B;}
	.block.top.fixed .mainMenu > li a, .block.top.fixed .mainMenu > li div	{padding-top: 0.5rem; padding-bottom: 0.5rem;}
	.block.top.fixed .chooseLang .lang:after	{background: rgba(0, 0, 0, 0.75);}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
	.mobileMenu								{display: none; position: absolute; right: 1rem; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 2.25rem; height: 2rem;
											 z-index: 1000;}
		.mobileMenu	span					{position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: calc(100% - 1rem); height: 2px;
											 background: #000000; -webkit-transition: 0.5s ease-out; transition: 0.5s ease-out;}
		.mobileMenu	span:nth-child(1)		{top: 0.5rem;}
		.mobileMenu	span:nth-child(2)		{top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
		.mobileMenu	span:nth-child(3)		{bottom: 0.5rem;}
		.mobileMenu.open span:nth-child(1)	{top: 50%; -webkit-transform: translate(-50%, -50%) rotate(405deg); -ms-transform: translate(-50%, -50%) rotate(405deg); transform: translate(-50%, -50%) rotate(405deg);}
		.mobileMenu.open span:nth-child(2)	{opacity: 0;}
		.mobileMenu.open span:nth-child(3)	{bottom: 50%; -webkit-transform: translate(-50%, 50%) rotate(-405deg); -ms-transform: translate(-50%, 50%) rotate(-405deg); transform: translate(-50%, 50%) rotate(-405deg);}
		
	.mainMenu								{display: inline-block; vertical-align: middle; list-style-type: none; margin: 0; text-align: left;}
		.mainMenu > li						{position: relative; display: inline-block; vertical-align: top; xmargin: 0 0.25rem;}
			.mainMenu > li:after			{content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 4px; background-color: #FFFFFF; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0);
											 -webkit-transform-origin: right; -ms-transform-origin: right; transform-origin: right; -webkit-transition: background 0.5s, -webkit-transform 0.5s;
											 transition: background 0.5s, -webkit-transform 0.5s; transition: transform 0.5s, background 0.5s; transition: transform 0.5s, background 0.5s, -webkit-transform 0.5s;}
			.mainMenu > li:hover:after, .mainMenu > li.current:after	{-webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); -webkit-transform-origin: left; -ms-transform-origin: left; transform-origin: left;}
		.mainMenu > li a, .mainMenu > li div	{display: block; padding: 2.5rem 1.5rem; -webkit-transition: padding 0.5s; transition: padding 0.5s;}
		.mainMenu li div					{display: block;}
		.mainMenu .hasSub					{position: relative; padding-right: 1.5rem;}
			.mainMenu .hasSub:before		{content: "\f0d7"; font-family: "Font Awesome 7 Free"; font-weight: bold; font-size: 0.75em; position: absolute; right: 1.5rem; top: 50%;
											 -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s;
											 transition: transform 0.5s; transition: transform 0.5s, -webkit-transform 0.5s;}
		.mainMenu .hasSub:hover:before		{-webkit-transform: translateY(-50%) rotate(180deg); -ms-transform: translateY(-50%) rotate(180deg); transform: translateY(-50%) rotate(180deg);}
		.mainMenu .hasSub a, .mainMenu .hasSub div	{padding-right: 1.5rem;}
		.mainMenu li:hover div:after		{-webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg);}
		.mainMenu li						{position: relative;}
		.mainMenu li .subMenu li.current	{background-color: #009534; color: #FFFFFF; -webkit-transition: 0.2s; transition: 0.2s;}
		.mainMenu li .subMenu li.current:hover	{-webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.25); box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.25);}
		.mainMenu .subMenu					{position: absolute; left: 0; top: 100%; max-height: 0; overflow: hidden; -webkit-transition: max-height 0.5s; transition: max-height 0.5s;
											 -webkit-box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); z-index: 100; border-radius: 0 0 0.25rem 0.25rem;
											 background: rgba(255, 255, 255, 0.75); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #000000; text-shadow: none;}
		.mainMenu .subMenu > li				{display: block; white-space: nowrap;}
		.mainMenu .subMenu li a, .mainMenu .subMenu li div	{padding: 0.5rem 2.25rem 0.5rem 1.5rem; font-weight: normal;}
		.mainMenu .subMenu > li:hover		{background-color: #FFFFFF;}
		.mainMenu .hasSub:hover .subMenu	{max-height: 10rem;}

	.chooseLang								{display: inline-block; vertical-align: middle;}
		.chooseLang .lang					{position: relative; display: inline-block; vertical-align: middle; padding: 0 0.5rem; cursor: pointer;}
			.chooseLang .lang:after			{content: ""; position: absolute; left: 100%; top: 0; width: 1px; height: 100%; background: rgba(255, 255, 255, 0.75); -webkit-transition: background 0.5s; transition: background 0.5s;}
			.chooseLang .lang:last-child	{padding-right: 0;}
			.chooseLang .lang:last-child:after	{display: none;}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								home
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@-webkit-keyframes seduce {
	0%	{-webkit-transform: translateX(0); transform: translateX(0);}
	35%	{-webkit-transform: translateX(0); transform: translateX(0);}
	60%	{-webkit-transform: translateX(0.5rem); transform: translateX(0.5rem);}
	75% {-webkit-transform: translateX(0); transform: translateX(0);}
	100% {-webkit-transform: translateX(0); transform: translateX(0);}
}
@keyframes seduce {
	0%	{-webkit-transform: translateX(0); transform: translateX(0);}
	35%	{-webkit-transform: translateX(0); transform: translateX(0);}
	60%	{-webkit-transform: translateX(0.5rem); transform: translateX(0.5rem);}
	75% {-webkit-transform: translateX(0); transform: translateX(0);}
	100% {-webkit-transform: translateX(0); transform: translateX(0);}
}
@-webkit-keyframes seduceHold {
	to		{-webkit-transform: translateX(0.5rem); transform: translateX(0.5rem);}
}
@keyframes seduceHold {
	to		{-webkit-transform: translateX(0.5rem); transform: translateX(0.5rem);}
}
@-webkit-keyframes scrollDown {
	0%	{top: 0.5rem; opacity: 0;}
	5%	{top: 0.5rem; opacity: 1;}
	50%	{top: 0.5rem; opacity: 1;}
	75%	{top: 100%; opacity: 0;}
	100% {top: 100%; opacity: 0;}
}
@keyframes scrollDown {
	0%	{top: 0.5rem; opacity: 0;}
	5%	{top: 0.5rem; opacity: 1;}
	50%	{top: 0.5rem; opacity: 1;}
	75%	{top: 100%; opacity: 0;}
	100% {top: 100%; opacity: 0;}
}

.block.inspiration							{height: 100vh;}
	.block.inspiration .item				{position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; visibility: hidden; overflow: hidden; -webkit-transition: opacity 2s; transition: opacity 2s;}
	.block.inspiration .item:nth-child(1)	{opacity: 1; visibility: visible;}
	.block.inspiration .item .BG			{position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: no-repeat center / cover; -webkit-transition: -webkit-transform 10s 3s; transition: -webkit-transform 10s 3s;
											 transition: transform 10s 3s; transition: transform 10s 3s, -webkit-transform 10s 3s;}
	.block.inspiration .item .BG:after		{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
											 background-image: -webkit-gradient(linear, left bottom, right top, from(transparent), color-stop(35%, rgba(0, 0, 0, 0.25)), color-stop(70%, transparent));
											 background-image: linear-gradient(to right top, transparent, rgba(0, 0, 0, 0.25) 35%, transparent 70%);}
	.block.inspiration .item .wrapper		{height: 100%;}
	.block.inspiration .item .texts			{position: absolute; left: 1rem; top: calc(50% + 5rem); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); max-width: 50rem; color: #FFFFFF;
											 line-height: 1.25; text-shadow: 0 0 0.2em #000000;}
	.block.inspiration .item .text1			{font-size: calc(1rem + 0.75vw); -webkit-transform: translateY(1rem); -ms-transform: translateY(1rem); transform: translateY(1rem); opacity: 0; -webkit-filter: blur(8px); filter: blur(8px);
											 -webkit-transition: 1s 1.5s; transition: 1s 1.5s;}
	.block.inspiration .item .text2			{font-size: calc(1.5rem + 1.5vw); font-weight: 700; -webkit-transform: translateY(1rem); -ms-transform: translateY(1rem); transform: translateY(1rem); opacity: 0; -webkit-filter: blur(8px);
											 filter: blur(8px); -webkit-transition: 1.5s 1.75s; transition: 1.5s 1.75s;}
	.block.inspiration .item .learnMore		{display: inline-block; font-size: 1rem; padding: 1rem 1rem 1rem 0; -webkit-transform: translateX(-2rem); -ms-transform: translateX(-2rem); transform: translateX(-2rem); opacity: 0;
											 -webkit-filter: blur(8px); filter: blur(8px); -webkit-transition: 1.5s 2s; transition: 1.5s 2s;}
	.block.inspiration .item .learnMore i	{vertical-align: middle; xtransition: 0.25s ease-out; -webkit-animation: seduce 4s infinite; animation: seduce 4s infinite;}
	.block.inspiration .item .learnMore:hover i	{-webkit-animation: seduceHold 0.25s forwards;animation: seduceHold 0.25s forwards;}
	.block.inspiration .scrollDown			{position: fixed; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 1rem; width: 3rem; height: 3rem; color: #FFFFFF;
											 border-radius: 50%; -webkit-box-shadow: 0 0 2px #FFFFFF; box-shadow: 0 0 2px #FFFFFF; backdrop-filter: blur(15px); overflow: hidden; -webkit-transition: 1s; transition: 1s;}
	.block.inspiration .scrollDown i		{position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); top: 0.5rem; -webkit-animation: scrollDown 4s infinite;
											 animation: scrollDown 4s infinite;}
	.block.inspiration .scrollDown.hide		{opacity: 0; visibility: hidden;}
	.block.inspiration .item.show			{opacity: 1; visibility: visible;}
	.block.inspiration .item.show .BG		{-webkit-transform: scale(1.075); -ms-transform: scale(1.075); transform: scale(1.075);}
	.block.inspiration .item.show .text1	{-webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); opacity: 1; -webkit-filter: blur(0); filter: blur(0);}
	.block.inspiration .item.show .text2	{-webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); opacity: 1; -webkit-filter: blur(0); filter: blur(0);}
	.block.inspiration .item.show .learnMore	{-webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); opacity: 1; -webkit-filter: blur(0); filter: blur(0);}

.block.next									{padding: 0; background: #FFFFFF;}
	.block.next .photo						{position: absolute; left: 0; top: 1rem; width: 50vw; height: calc(100% - 2rem); background: no-repeat right top / cover;}
	.block.next .wrapper					{max-width: 90%; padding-left: 41vw; text-shadow: 0 0 0.1em white;}
	.block.next .buttons					{margin-top: 2rem;}
		.block.next .buttons .button		{margin-bottom: 1rem;}
		.block.next .buttons .button:first-child	{margin-right: 2rem;}
		.block.next .buttons .button.inverse	{background: #FFFFFF;}

.block.case									{}
	.block.case:before						{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #F2F1EC; z-index: -1;}
	.block.case:after						{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url("../IMG/woodPattern.png") fixed no-repeat center / cover; opacity: 0.2; z-index: -1;}
	.block.case .wrapper					{margin-bottom: 9rem; padding-bottom: 0; font-size: 0;}
	.block.case .content					{width: 50%; font-size: 1rem;}
	.block.case .image						{position: absolute; top: 6rem; width: calc(50% - 1rem); height: calc(100% - 6rem); border-radius: 0.5rem; overflow: hidden;}
		.block.case .image img				{display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -webkit-transition: -webkit-transform 8s; transition: -webkit-transform 8s; transition: transform 8s;
											 transition: transform 8s, -webkit-transform 8s;}
			.block.case .image:hover img	{-webkit-transform: scale(1.15); -ms-transform: scale(1.15); transform: scale(1.15);}
	.block.case b							{display: block; margin-bottom: 2rem; color: #009534; font-size: 1.1em;}
	.block.case .showMore					{position: relative; display: block; width: 100%; text-align: center; color: #D0413B; font-size: 0.85rem; cursor: pointer; -webkit-transition: letter-spacing 0.5s ease-out;
											 transition: letter-spacing 0.5s ease-out;}
		.block.case .showMore:hover			{letter-spacing: 0.2em;}
		.block.case .showMore:before		{content: ""; position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 100%; height: 1px;
											 background: rgba(0, 0, 0, 0.15);}
		.block.case .showMore span			{position: relative; background: #F2F1EC; padding: 0.5rem; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem;}
	.block.case .readOn						{display: none; padding-bottom: 6rem;}
	.block.case .button						{margin: 0;}
	.block.case .caseStatements				{position: absolute; left: 1rem; top: calc(100% + 2rem); width: calc(100% - 2rem); font-size: 0; overflow: hidden;}
		.block.case .caseStatement			{display: inline-block; vertical-align: top; width: calc(100% / 3 - 4rem / 3); margin-right: 2rem; font-size: 1rem;}
		.block.case .caseStatement:last-child	{margin-right: 0;}
			.block.case .caseStatement b	{margin-bottom: 0.5rem; border-bottom: 1px solid rgba(0, 0, 0, 0.15); font-size: 1em; color: rgb(165.75, 165.75, 165.75);}
			.block.case .caseStatement b:before	{content: "\f00c"; font-family: "Font Awesome 7 Free"; margin-right: 0.5rem; color: #009534;}
	.block.case.one .content				{left: 0; padding-right: 2rem;}
	.block.case.one .image					{left: 50%;}
	.block.case.two .content				{margin-left: 50%; padding-left: 2rem;}
	.block.case.two .image					{left: 1rem;}

.block.next2								{padding: 6rem 0; background: #FFFFFF; font-size: 0;}
	.block.next2:before						{content: ""; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); top: 5rem; width: 1px; height: calc(100% - 10rem);
											 background: rgba(0, 0, 0, 0.15);}
	.block.next2 .wrapper					{font-size: 0;}
	.block.next2 .quickLink					{display: inline-block; vertical-align: top; width: calc(100% / 2 - 3rem); font-size: 1rem;}
	.block.next2 .quickLink img				{display: block; width: 100%; aspect-ratio: 16/9; -o-object-fit: cover; object-fit: cover; margin: 0 auto 2rem;}
	.block.next2 .contents					{display: inline-block; width: 85%; xmax-width: 50rem; text-align: left;}
		.block.next2 .contents b			{display: block; margin-bottom: 0.5rem; color: #009534;}
		.block.next2 .contents .text		{display: block; margin-bottom: 2rem;}
	.block.next2 .quickLink:nth-child(2)	{margin-right: 3rem;}
	.block.next2 .quickLink:nth-child(2) img	{border-top-right-radius: 0.5rem; border-bottom-right-radius: 0.5rem;}
	.block.next2 .quickLink:nth-child(3)	{margin-left: 3rem;}
	.block.next2 .quickLink:nth-child(3) img	{border-top-left-radius: 0.5rem; border-bottom-left-radius: 0.5rem;}
	.block.next2 .apple						{position: sticky; top: 6rem; font-size: 0.75rem; color: #009534;}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								our approach
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.approach img							{float: right; width: 25%; min-width: 15rem; margin: 0 0 2rem 2rem; border-radius: 0.5rem;}
.block.approach table td					{vertical-align: top;}
	.block.approach table td:first-child	{padding-right: 0.5rem;}
.block.approach .payoff .wrapper			{width: auto; padding: 0; text-align: left;}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								core services
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.coreServices2						{background: #F2F1EC;}
	.block.coreServices2:before				{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #F2F1EC; z-index: -1;}
	.block.coreServices2:after				{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url("../IMG/woodPattern.png") fixed no-repeat center / cover; opacity: 0.2; z-index: -1;}
.block.coreServices2 .industries			{font-size: 0;}
	.block.coreServices2 .industry			{display: inline-block; vertical-align: top; width: calc(100% / 2 - 1.5rem); margin-bottom: 3rem; font-size: 1rem; background: #FFFFFF; border-radius: 0.5rem;
											 -webkit-box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.15); box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.15);}
	.block.coreServices2 .industry:nth-child(odd)	{margin-right: 1.5rem;}
	.block.coreServices2 .industry:nth-child(even)	{margin-left: 1.5rem;}
		.block.coreServices2 .industry .name	{display: block; width: 100%; padding: 0.5rem 1rem; background: #009534; color: #FFFFFF; font-size: 1.25rem; text-align: center; border-top-left-radius: 0.5rem;
												 border-top-right-radius: 0.5rem;}
		.block.coreServices2 .industry .contents	{padding: 1rem; border-bottom-left-radius: 0.5rem; border-bottom-right-radius: 0.5rem;}
		.block.coreServices2 .industry .inlineBlocks	{font-size: 0;}
		.block.coreServices2 .industry .inlineBlock	{display: inline-block; vertical-align: top; font-size: 1rem;}
		.block.coreServices2 .industry .inlineBlocks.two .inlineBlock	{width: calc(100% / 2);}
		.block.coreServices2 .industry .inlineBlocks.three .inlineBlock	{width: calc(100% / 3);}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								case stories
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.caseStory							{}
	.block.caseStory:nth-child(even):before	{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #F2F1EC; z-index: -1;}
	.block.caseStory:nth-child(even):after	{content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url("../IMG/woodPattern.png") fixed no-repeat center / cover; opacity: 0.2; z-index: -1;}
	.block.caseStory .image					{width: calc(50% - 1rem); max-height: 35rem; border-radius: 0.5rem; overflow: hidden;}
		.block.caseStory .image img			{display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -webkit-transition: -webkit-transform 8s; transition: -webkit-transform 8s; transition: transform 8s;
											 transition: transform 8s, -webkit-transform 8s;}
			.block.caseStory .image:hover img	{-webkit-transform: scale(1.15); -ms-transform: scale(1.15); transform: scale(1.15);}
	.block.caseStory h2 + b					{display: block; margin-bottom: 2rem; color: #009534; font-size: 1.1em;}
	.block.caseStory .button				{margin: 0;}
	.block.caseStory .caseStatements		{display: block; width: 100%; margin-top: 3rem; font-size: 0;}
		.block.caseStory .caseStatement		{display: inline-block; vertical-align: top; width: calc(100% / 3 - 4rem / 3); margin-right: 2rem; font-size: 1rem;}
		.block.caseStory .caseStatement:last-child	{margin-right: 0;}
			.block.caseStory .caseStatement b	{display: block; margin-bottom: 0.5rem; border-bottom: 1px solid rgba(0, 0, 0, 0.15); font-size: 1em; color: rgb(165.75, 165.75, 165.75);}
			.block.caseStory .caseStatement b:before	{content: "\f00c"; font-family: "Font Awesome 7 Free"; margin-right: 0.5rem; color: #009534;}
	.block.caseStory.one .image				{float: left; margin: 0 2rem 2rem 0;}
	.block.caseStory.two .image				{float: right; margin: 0 0 2rem 2rem;}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								our industries
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.logos .wrapper						{text-align: center;}
.block.logos img							{width: calc(5rem + 5vw); margin: 0 2.5rem 5rem 2.5rem; padding: 1rem; -webkit-box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1); box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1);
											 -webkit-transition: -webkit-transform 1s; transition: -webkit-transform 1s; transition: transform 1s; transition: transform 1s, -webkit-transform 1s;}
	.block.logos img:hover					{-webkit-transform: scale(1.25); -ms-transform: scale(1.25); transform: scale(1.25);}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								contact
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.block.contact								{}
	.block.contact #GoogleMaps				{display: block; width: 100%; height: 30rem; max-height: 60vh;}
	.block.contact #GoogleMaps .gm-style img:not([src*="marker"]), .block.contact #GoogleMaps .gm-style canvas {-webkit-filter: hue-rotate(20deg) saturate(40%);filter: hue-rotate(20deg) saturate(40%);}
	.block.contact #GoogleMaps .marker, .block.contact #GoogleMaps .marker img {-webkit-filter: none !important; filter: none !important;}

	form									{display: inline-block; vertical-align: top; width: 65%;}
		form .generalText					{margin-bottom: 3rem;}
		form label							{display: block; margin-bottom: 0.1rem;}
		form label[required] span:after		{content: " ★"; vertical-align: top; font-size: 0.75rem;}
		form input							{width: calc(100% - 9rem); line-height: 2rem; padding: 0 0.5rem; background-color: rgba(0, 0, 0, 0.05); border-radius: 0.25rem;}
		form input[type=checkbox]			{display: inline-block; vertical-align: middle; width: 1rem; height: 1rem; margin-right: 0.25rem;}
		form label span						{display: inline-block; vertical-align: middle; width: 9rem; text-align: left;}
		form textarea						{width: 100%; height: 10rem; padding: 0.5rem; background-color: rgba(0, 0, 0, 0.05); border-radius: 0.25rem;}
		form .reqField						{float: left; height: 2.5rem; line-height: 2.5rem;}
			form .reqField:before			{content: "★"; vertical-align: top; font-size: 0.75rem;}
		form .button.sendForm				{float: right;}
		form .thankYou						{display: none; color: #D0413B; margin-top: 1rem;}

	.companyDetails							{float: right; margin-left: 5%; white-space: nowrap;}
		.companyDetails .footerBlock b		{display: block; padding-bottom: 1rem; font-size: 1.5em;}
		.companyDetails .footerBlock i		{vertical-align: middle; width: 1.5rem; height: 2rem; line-height: 2rem; margin-right: 0.5rem; font-size: 1.25rem; color: #009534; -webkit-transition: opacity 0.15s; transition: opacity 0.15s;
											 opacity: 0.5;}
		.companyDetails .footerBlock a:hover i	{opacity: 1;}


/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								footer
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.footer										{color: #FFFFFF; background-color: #393939; font-size: 0;}
		.footer .logo						{vertical-align: middle; width: 10rem; margin-right: 5rem;}
	.footer .footerBlocks					{display: inline-block; vertical-align: middle; width: calc(100% - 10rem - 5rem);}
		.footer .footerBlock				{display: inline-block; vertical-align: top; width: calc((100% - 2rem) / 2); xpadding-top: 3rem; text-align: left; font-size: 1rem;}
			.footer .footerBlock:first-child	{margin-right: 2rem;}
			.footer .footerBlock i			{vertical-align: middle; width: 1.5rem; height: 2rem; line-height: 2rem; margin-right: 0.5rem; font-size: 1.25rem; -webkit-transition: opacity 0.15s; transition: opacity 0.15s; opacity: 0.5;}
			.footer .footerBlock a:hover i	{opacity: 1;}
			.footer .footerBlock span		{vertical-align: middle;}
			.footer .footerBlock b			{display: block; padding-bottom: 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.5); font-size: 1.5em;}
.ED											{display: block; width: 100%; padding: 0.25rem 0; font-size: 0.85rem; background: #000000; color: #FFFFFF;}
	.ED a									{opacity: 0.5; -webkit-transition: opacity 0.15s; transition: opacity 0.15s;}
	.ED a:hover								{opacity: 1;}
.backToTop									{position: fixed; bottom: 2rem; right: 2rem; width: 3rem; height: 3rem; line-height: 3rem; background: #393939; -webkit-box-shadow: 0 0 5px white; box-shadow: 0 0 5px white;
											 font-size: 1.5rem; border-radius: 0.5rem; opacity: 0.5; cursor: pointer; -webkit-transition: opacity 0.15s; transition: opacity 0.15s;}
	.backToTop:hover						{opacity: 1;}


/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
								media queries
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1400px){
	.block.top .quickContact				{display: inline-block; max-width: calc(100% - 12rem); margin: auto auto auto 12rem;}
	.block.top .quickContact .item.right	{display: none;}
}

@media screen and (max-width: 1300px){
	.block.next .wrapper					{max-width: 100%;}
}

@media screen and (max-width: 1150px){
	.block.contact .wrapper		 			{text-align: center;}
	.block.contact .companyDetails 			{display: none;}
	.block.footer .footerBlock				{display: inline-block !important;}
}

@media screen and (max-width: 1100px){
	.block.top > .logo						{display: block !important;}
	.block.top .wrapper						{padding: 1rem 0; text-align: center;}
	.block.top .wrapper .logo				{display: none;}
	.mobileMenu								{display: block;}
	.mainMenu								{display: none; position: absolute; left: 0; top: 4.5rem; width: 100%; max-height: calc(100vh - 4.5rem); background: #FFFFFF; overflow-Y: scroll;}
		.mainMenu .subMenu					{position: relative; display: block; width: 100%; max-height: 100%; padding-left: 5rem; -webkit-box-shadow: none; box-shadow: none; overflow: visible;}
		.mainMenu li						{display: block; width: 100%; padding-right: 0 !important;}
}

@media screen and (max-width: 900px){
	.block.next .photo						{width: 100%; height: 100%;}
	.block.next .wrapper					{padding: 20rem 1rem 3rem;}
	.block.contact form						{width: 100%;}
}

@media screen and (max-width: 850px){
	.block.next2:before						{display: none;}
	.block.next2 .apple						{display: none;}
	.block.next2 .quickLink					{width: 100%; margin-right: 0 !important; margin-left: 0 !important;}
	.block.next2 .quickLink:nth-child(2)	{margin-bottom: 4rem;}
	.block.next2 .quickLink img				{width: calc(100% - 2rem); border-radius: 0.5rem;}
	.block.next2 .quickLink	.contents		{width: calc(100% - 2rem);}
	.block.coreServices2 .industry			{width: 100%; margin: 0 0 2rem !important;}
	.block.top .quickContact .icon			{display: none;}
}

@media screen and (max-width: 800px){
	.block.footer .footerBlock				{display: block !important; width: 100%;}
}

@media screen and (max-width: 700px){
	.block.top .wrapper						{padding: 0.9rem 0;}
	.block.top .quickContact				{display: none;}
	.block.top .chooseLang					{padding-left: 6.5rem;}
		.block.top .chooseLang .lang		{padding: 0.5rem;}
}

@media screen and (max-width: 650px){
	.block.case .wrapper					{margin-bottom: 3rem;}
	.block.case .image						{position: relative; left: 0 !important; top: 0; width: 100%; margin-bottom: 2rem;}
	.block.case .content					{width: 100%; margin-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important;}
	.block.case .readOn						{padding-bottom: 0;}
	.block.case .caseStatements				{position: relative; left: 0; top: 3rem; width: 100%; margin-bottom: 3rem;}
	.block.case .caseStatement				{width: 100%; margin-bottom: 2rem;}
}

@media screen and (max-width: 600px){
	.block.footer .logo						{display: block; margin: 0 auto 3rem;}
	.block.footer .footerBlocks				{display: block; width: 100%;}
	.block.footer .footerBlock				{text-align: center;}
}

@media screen and (max-width: 500px){
	.block.coreServices2 .inlineBlock		{width: 100% !important; margin-bottom: 2rem;}
	.block.contact form span				{width: 100%; text-align: center;}
	.block.contact form	input				{width: 100%;}
}

@media screen and (max-width: 450px){
	.block.approach img						{width: 100%;}
}