/*
	CSS file for 
*/


/*	General	
------------------------------*/
	
	* {
		padding: 0;
		margin: 0;
		outline: none;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	body {
		color: #333;
		font-family: "DM Sans", sans-serif;
		font-size: 18px;
		font-weight: 400;
		line-height: 150%;
		padding-top: 134px;
		background: linear-gradient(0deg, rgba(213, 172, 134, 0.20) 0%, rgba(213, 172, 134, 0.20) 100%), #FFF;
	}

	img,
	svg {
		display: block;
		max-width: 100%;
		height: auto;
	}

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

	a img {
		border: 0;
	}

	a,
	svg,
	path,
	button {
		transition: all ease 0.4s;
	}

	.container {
		width: calc(100% - 72px);
		max-width: 1920px;
		margin: 0 auto;
	}

	.wrapper {
		position: relative;
		overflow: hidden;
	}
	
	.wpml-ls-statics-footer {
		display: none !important;
	}


/*	Common Elements
-------------------------------------------*/


	/*
	 *	More link
	 */
	.w-link {
		display: inline-block;
		padding-left: 40px;
		text-decoration: underline;
		background: url('../img/link-arrow.svg') no-repeat left top;
	}

		.w-link:hover {
			color: #D5AC86;
			padding-left: 36px;
		}

	/*
	 *	General content
	 */
	.general-content {
		font-size: 16px;
		line-height: 150%;
	}

		.general-content > *:first-child {
			padding-top: 0;
			margin-top: 0;
		}

		.general-content h2 {
			font-size: 24px;
			font-weight: 700;
			line-height: 120%;
			letter-spacing: -0.4px;
			margin-top: 32px;
		}

		.general-content h3 {
			font-size: 20px;
			font-weight: 700;
			line-height: 120%;
			letter-spacing: -0.4px;
			margin-top: 24px;
		}

		.general-content h4 {
			font-size: 16px;
			font-weight: 700;
			line-height: 150%;
			margin-top: 24px;
		}

		.general-content p {
			padding-top: 24px;
		}

		.general-content hr {
			margin: 40px 0;
			border: 0;
			border-top: 1px solid rgba(51, 51, 51, 0.20);
		}

		.general-content a {
			text-decoration: underline;
		}

			.general-content a:hover {
				color: #D5AC86;
			}

		.general-content ul {
			margin: 16px 0 0 24px;
		}

			.general-content ul li::marker {
				content: "\2022   ";
			}

			.general-content ul li + li {
				margin-top: 4px;
			}


	/*
	 *	Form
	 */
	.form-wrapper {
		display: flex;;
		padding: 40px;
		border-radius: 24px;
		background: #FFF;
		box-sizing: border-box;
	}

	.gform_ajax_spinner,
	.gform_validation_errors,
	.gform_validation_container,
	.gform_required_legend,
	.validation_error {
		display: none;
	}

	.validation_message {
		color: #ff0000;
		font-size: 12px;
		line-height: 16px;
		border-radius: 8px;
		margin-top: 8px;
		margin-bottom: -8px;
	}

	.gform_title {
		color: #000;
		font-size: 24px;
		font-weight: 400;
		line-height: 150%;
		margin-bottom: 24px;
	}

	.gform_fields {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -18px;
	}

		.gfield {
			width: 100%;
			margin: 0 18px 24px 18px;
			box-sizing: border-box;
		}

			.gfield--width-half {
				width: calc(50% - 36px);
			}

		.gfield_label {
			display: block;
			font-size: 14px;
			font-weight: 700;
			line-height: 150%;
			margin-bottom: 8px;
		}

			.gfield_label .gfield_required {
				display: none;
			}

		.gfield input,
		.gfield textarea {
			width: 100%;
			font-family: "DM Sans", sans-serif;
			font-size: 16px;
			font-weight: 400;
			line-height: 150%;
			border-radius: 8px;
			border: 1px solid #D6D6D6;
			background: #FFF;
			padding: 11px 15px;
			box-sizing: border-box;
		}

			.gfield input::placeholder,
			.gfield textarea::placeholder {
				color: #808080;
			}

			.gfield textarea {
				height: 150px;
				resize: none;
			}

			.gfield--type-consent {
				border: 0;
			}

				.gfield--type-consent legend {
					display: none;
				}

				.gfield--type-consent input {
					display: none;
				}

				.gfield--type-consent label {
					color: #000;
					font-family: "DM Sans", sans-serif;
					font-size: 12px;
					font-weight: 400;
					line-height: 150%;
					padding-left: 24px;
					cursor: pointer;
					background: url('../img/checkbox-default.svg') no-repeat left 0;
					user-select: none;
					-webkit-user-select: none;
				}

					.gfield--type-consent input:checked + label {
						background-image: url('../img/checkbox-checked.svg');
					}

					.gfield--type-consent label a {
						text-decoration: underline;
					}

			.gfield--type-checkbox {
				border: 0;
				/*border-bottom: 1px solid #f1f1f1;-*/
			}

				.gfield_checkbox {
					display: flex;
					flex-wrap: wrap;
				}

					.gfield_checkbox .gchoice {
						margin-right: 24px;
					}

					.gfield_checkbox .gchoice:last-child {
						margin-right: 0;
					}

				.gfield--type-checkbox input {
					display: none;
				}

				.gfield--type-checkbox label {
					color: #808080;
					font-family: "DM Sans", sans-serif;
					font-size: 16px;
					font-weight: 400;
					line-height: 150%;
					padding-left: 28px;
					background: url('../img/checkbox-default.svg') no-repeat left 1px / 20px 20px;
					cursor: pointer;
					user-select: none;
					-webkit-user-select: none;
				}

					.gfield--type-checkbox input:checked + label {
						background-image: url('../img/checkbox-checked.svg');
					}
					
			.gform_fileupload_rules {
				color: #000;
				font-family: "DM Sans", sans-serif;
				font-size: 12px;
				font-weight: 400;
				line-height: 150%;
			}

		.gform_button {
			display: block;
			width: 100%;
			color: #FFF;
			font-family: "DM Sans", sans-serif;
			font-size: 16px;
			font-style: normal;
			font-weight: 700;
			line-height: 150%;
			text-align: center;
			border: 0;
			border-radius: 8px;
			background: #333;
			padding: 16px 24px;
			cursor: pointer;
			transition: all ease 0.4s;
		}

			.gform_button:hover {
				background: #000;
			}

		.gform_confirmation_wrapper {
			width: 100%;
			height: 100%;
			display: flex;
			font-size: 16px;
			line-height: 150%;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}

			.gform_confirmation_wrapper h3 {
				font-size: 24px;
				margin-bottom: 8px;
			}

			.gform_confirmation_wrapper p {

			}


	/*
	 *	Responsive video
	 */
	.responsive-video {
		height: 0;
		padding-bottom: 56.25%;
		position: relative;
		overflow: hidden;
	}

	.responsive-video embed,
	.responsive-video iframe,
	.responsive-video object,
	.responsive-video video {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		position: absolute;
	}


	
/*	Header
-------------------------------------------*/
	
	header {
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
		padding: 24px 0;
		position: fixed;
	}

		header .container {
			display: flex;
			justify-content: space-between;
			align-items: center;
	 	}

			header .btn-menu {
				display: flex;
				z-index: 5;
				width: 50px;
				height: 50px;
				margin-right: -9px;
				align-items: center;
				justify-content: center;
				border: 0;
				background: none;
				cursor: pointer;
			}

				header .btn-menu .bars {
					display: flex;
					width: 28px;
					justify-content: center;
				}
			
				header .btn-menu .bars span {
					display: block;
					width: 18px;
					height: 2px;
					margin: 0 auto;
					border-radius: 10px;
					position: relative;
					background: #cead8a;
					transition: all ease 0.4s;
				}

				header .btn-menu .bars span:before,
				header .btn-menu .bars span:after {
					content: "";
					height: 2px;
					border-radius: 10px;
					position: absolute;
					background: #cead8a;
					transition: all ease 0.4s;
				}

				header .btn-menu .bars span:before {
					top: -7px;
					left: -5px;
					width: 28px;
				}

				header .btn-menu .bars span:after {
					top: 7px;
					left: -2px;
					width: 22px;
				}
		
		header .logo svg {
			width: auto;
		}
				
		header .logo .title {
			opacity: 1;
			transition: all ease 0.3s;
		}		
		
			header.tiny .logo .title {
				opacity: 0;
			}	
		

	/*
	 *	Menu
	 */
	.menu {
		top: 0;
		right: 0;
		bottom: env(safe-area-inset-bottom);
		width: 100%;
		max-width: 612px;
		overflow: auto;
		position: fixed;
		background: #333;
		transform: translate3d(100%, 0, 0);
		transition: all ease 0.4s;
	}

		.menu .inner {
			padding: 72px;
			opacity: 0.3;
			transition: all ease 0.4s;
		}

		.menu a:hover,
		.menu .bottom .lang a:hover {
			color: #D5AC86;
		}

		.menu ul {
			list-style: none;
			padding: 52px 0;
		}

			.menu ul li + li {
				margin-top: 32px;
			}

				.menu ul li a {
					color: #FFF;
					font-size: 40px;
					font-weight: 700;
					line-height: 120%;
					letter-spacing: -0.8px;
				}

		.menu .bottom {
			padding-top: 32px;
			border-top: 1px solid #D5AC86;
		}

			.menu .bottom .lang {
				display: flex;
			}

				.menu .bottom .lang a {
					color: rgba(255, 255, 255, 0.40);
				}

				.menu .bottom .lang a.current {
					color: #fff;
				}

				.menu .bottom .lang a + a {
					margin-left: 32px;
				}

			.menu .bottom p {
				color: #fff;
				margin-top: 32px;
			}

			.menu .bottom .social {
				display: flex;
				align-items: center;
				margin-top: 32px;
			}

				.menu .bottom .social a + a {
					margin-left: 21px;
				}

					.menu .bottom .social a:hover svg {
						fill: #D5AC86;
					}



	/*
	 *	Opened menu
	 */
	.opened-menu header .menu {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}

		.opened-menu header .menu .inner {
			opacity: 1;
			transition-delay: 0.2s;
		}

	.opened-menu header .bars span:before {
		top: 0;
		left: 1px;
		width: 16px;
		transform-origin: center center;
		transform: rotate(-45deg);
	}

	.opened-menu header .bars span:after {
		top: 0;
		left: 1px;
		width: 16px;
		transform-origin: center center;
		transform: rotate(45deg);
	}

	.opened-menu header .bars span {
		background: transparent !important;
	}


/*	Footer
-------------------------------------------*/
	
	footer {
		padding: 72px 0;
	}

	footer .top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid #333;
		padding-bottom: 36px;
		margin-bottom: 36px;
	}

		footer .top h5 {
			font-size: 40px;
			font-weight: 700;
			line-height: 120%; /* 48px */
			letter-spacing: -0.8px;
		}

		footer .top .right {
			display: flex;
			align-items: center;
		}

			footer .top .right p + p {
				margin-left: 72px;
			}

			footer .top .right .social {
				display: flex;
				align-items: center;
				margin-left: 36px;
			}

				footer .top .right .social a + a {
					margin-left: 21px;
				}

				footer .top .right .social a svg {
					fill: #333333;
				}

	footer .bottom {
		display: flex;
		justify-content: space-between;
		font-size: 14px;
		font-weight: 400;
		line-height: 150%;
	}



/*	Section: Page Header
-------------------------------------------*/

	.page-header {
		padding: 80px 0;
	}

		.page-header h1 {
			font-size: 64px;
			font-weight: 700;
			line-height: 120%;
			letter-spacing: -1.28px;
			text-align: center;
		}

		.page-header p {
			color: #000;
			font-size: 24px;
			font-style: normal;
			font-weight: 400;
			line-height: 150%;
			text-align: center;
		}

		.page-header .image {
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			overflow: hidden;
			position: absolute;
			background-color: #333;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
			border-radius: 40px;
		}

			.page-header .image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}

	.page-header.has-image {
		padding: 0 0 80px 0;
	}

		.page-header.has-image .container {
			display: flex;
			height: 800px;
			position: relative;
			justify-content: center;
			align-items: center;
		}

		.page-header.has-image .content {
			z-index: 2;
			position: relative;
		}

		.page-header.has-image h1 {
			color: #FFF;
			font-size: 96px;
			line-height: 80%;
			letter-spacing: -1.92px;
		}

		.page-header.has-image p {
			color: #fff;
			margin-top: 8px;
		}



/*	Section: Welcome
-------------------------------------------*/

	.welcome {
		padding: 68px 0 0 0;
		box-sizing: border-box;		
	}

		.welcome .container {
			max-width: 1474px;
			padding-top: 88px;
			position: relative;
			box-sizing: border-box;
			min-height: 720px;
		}

		.welcome h1 {
			max-width: 1020px;
			font-size: 64px;
			font-weight: 700;
			line-height: 120%;
			letter-spacing: -1.28px;
		}

		.welcome .image {
			right: 0;
			bottom: 0;
			width: 720px;
			height: 720px;
			z-index: -1;
			border-radius: 40px;
			position: absolute;
			overflow: hidden;
			transition: all ease 0.6s;
		}

			.welcome .image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}

			.welcome.minimize .image {
				width: 417px;
				height: 417px;
			}

		.welcome .text {
			display: flex;
			justify-content: flex-end;
			margin-top: 200px;
		}

			.welcome .text div {
				max-width: 568px;
				margin-right: 604px;
			}

			.welcome .text .w-link {
				margin-top: 40px;
			}


/*	Section: Reel
-------------------------------------------*/

	.reel {
		margin-top: 160px;
	}

		.reel .video-wrapper {
			border-radius: 64px;
			overflow: hidden;
			position: relative;
			background: #d0ae88;
		}
		
		.reel .video-wrapper:before {
			content: "";
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 5;
			position: absolute;
		}



/*	Section: Logos
-------------------------------------------*/

	.logos {
		color: #fff;
		font-size: 40px;
		text-align: center;

		margin-top: 70px;
		padding: 100px;
		background: #333;
	}

		.logos .ticker {
			margin: 0 -72px;
		}

		.logos a {
			display: inline-flex;
			align-items: center;
			height: 57px;
			margin: 0 36px;
			transition: none;
		}

			.logos a.separator {
				margin: 0;
			}

		.logos a img {
			display: block;
		}



/*	Section: Services
-------------------------------------------*/

	.services {
		margin-top: 115px;
	}

		.services .container {
			display: flex;
			justify-content: space-between;
		}

		.services .text {
			width: 266px;
		}

			.services .text h2 {
				font-size: 40px;
				font-weight: 700;
				line-height: 120%;
				letter-spacing: -0.8px;
				margin-bottom: 32px;
			}

			.services .text p {

			}

		.services .items {
			width: calc(100% - 450px);
		}

			.services .item {
				display: flex;
				align-items: center;
				border-top: 1px solid #333;
				border-bottom: 1px solid #333;
				padding: 40px 0;
			}

				.services .item .image {
					width: 335px;
				}

					.services .item .img-wrapper {
						width: 160px;
						height: 160px;
						border-radius: 40px;
						overflow: hidden;
						position: relative;
						transition: all ease 0.4s;
					}

						.services .item .img-wrapper img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
						}

				.services .item .content {
					width: calc(100% - 335px);
					position: relative;
				}

					.services .item .content span {
						width: 32px;
						left: -32px;
						bottom: 0;
						color: #D5AC86;
						font-size: 16px;
						font-weight: 700;
						line-height: 150%;
						position: absolute;
					}
				
					.services .item .content h2 {
						font-size: 96px;
						font-weight: 700;
						line-height: 80%;
						letter-spacing: -1.92px;
					}

					.services .item .content .desc {
						height: 0;
						padding-top: 0;
						overflow: visible;
						transition: all ease 0.4s;
					}

						.services .item .content .wrap {
							display: flex;
							align-items: flex-end;
							justify-content: space-between;
							opacity: 0;
							transform: translate3d(0, 50%, 0);
							transition: all ease 0.4s;
						}

							.services .item .content .desc p {
								max-width: 534px;
								hyphens: auto;
							}

			@media (min-width: 1024px)
			{
				.services .item:hover .img-wrapper {
					width: 240px;
					height: 240px;
				}

				.services .item:hover .content .desc {
					height: 81px;
					padding-top: 32px;
				}

				.services .item:hover .content .desc .wrap {
					opacity: 1;
					transform: translate3d(0, 0, 0);
				}
			}

			.services .works {
				display: flex;
				align-items: center;
				margin-top: 15px;
			}

				.services .works h3 {
					width: 604px;
					font-size: 64px;
					font-weight: 700;
					line-height: 120%;
					letter-spacing: -1.28px;
				}

				.services .works .content {
					width: calc(100% - 604px);
					max-width: 568px;
				}

					.services .works .content .w-link {
						margin-top: 40px;
					}


/*	Section: Projects
-------------------------------------------*/

	.projects {
		padding: 195px 0;
	}

		.projects .container {
			display: flex;
			justify-content: center;
		}

		.projects .item {
			display: block;
			width: 266px;
			padding: 0 18px;
		}

			.projects .item .inner {
				height: 720px;
				overflow: hidden;
				position: relative;
			}

			.projects .item h3 {
				font-size: 40px;
				font-weight: 700;
				line-height: 120%;
				letter-spacing: -0.8px;
				padding-bottom: 44px;
				opacity: 0;
				width: 568px;
				transform: translate3d(30px, 0, 0);
				transition: all ease 0.4s;
			}

			.projects .item .image {
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				overflow: hidden;
				border-radius: 64px;
				position: absolute;
				transition: all ease 0.4s;
			}

				.projects .item .image img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
				}

		.projects .item:hover {
			width: 568px;
		}

		.projects .item:hover h3 {
			opacity: 1;
			transform: translate3d(0, 0, 0);
		}

		.projects .item:not(:hover) .image {
			top: 0 !important;
		}


/*	Section: Text with image
-------------------------------------------*/

	.twi {

	}

		.twi .container {
			max-width: 1476px;
			display: flex;
			justify-content: space-between;
		}

			.twi .side {
				display: flex;
				justify-content: space-between;
				flex-direction: column;
				width: calc(50% - 32px);
				max-width: 570px;
				position: relative;
			}

				.twi .side h2 {
					color: #000;
					font-size: 40px;
					font-weight: 700;
					line-height: 120%; /* 48px */
					letter-spacing: -0.8px;
					padding-bottom: 340px;
				}

				.twi .side .image {
					z-index: 2;
					width: 100%;
					height: 320px;
					border-radius: 24px;
					overflow: hidden;
					position: relative;
				}

					.twi .side .image img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
					}

			.twi .content {
				width: calc(50% - 32px);
			}


	.service-header + .twi {
		padding-bottom: 75px;
	}



/*	Section: Service Header
-------------------------------------------*/

	.service-header .container {
		display: flex;
		height: 800px;
		align-items: center;
		justify-content: center;
		position: relative;
		margin-bottom: 44px;
	}

		.service-header h1 {
			color: #fff;
			font-size: 190px;
			font-weight: 700;
			line-height: 120%;
			letter-spacing: -11.78px;
			text-align: center;
			position: relative;
			z-index: 2;
		}

		.service-header h1.md {
			font-size: 118px;
			line-height: 120%;
			letter-spacing: -5.9px;
		}

		.service-header .media-wrapper {
			top: 50%;
			left: 50%;
			width: 100%;
			height: 100%;
			max-width: 568px;
			max-height: 568px;
			position: absolute;
			overflow: hidden;
			border-radius: 40px;
			transform: translate3d(-50%, -50%, 0);
			transition: max-width ease 0.6s, max-height ease 0.6s;
		}

			.service-header .media-wrapper img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}

			.service-header .media-wrapper iframe {
				top: 50%;
				left: 50%;
				width: 177.777%;
				height: 100%;
				transform: translate(-50%, -50%);
				pointer-events: none;
				position: relative;
				overflow: hidden;
			}
			
			.is-safari .service-header .media-wrapper iframe {
				transform: translate(-50%, 0);
			}

		.service-header.expand .media-wrapper {
			max-width: 100%;
			max-height: 100%;
		}

			.service-header.expand .media-wrapper iframe {
				width: 100%;
				height: calc((100vw - 72px) * 0.5625);
			}



/*	Section: Wide Image
-------------------------------------------*/

	.wide-image {
		margin: 80px 0;
	}

		.wide-image .container {
			height: 800px;
			overflow: hidden;
			position: relative;
			border-radius: 40px;
		}

			.wide-image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}


/*	Section: Case Studies
-------------------------------------------*/

	.cases {
		padding: 15px 0 75px 0;
	}

		.cases .container {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.cases .item {
			display: block;
			width: calc(50% - 18px);
			position: relative;
			overflow: hidden;
			border-radius: 16px;
			margin-bottom: 38px;
		}

			.cases .item .title {
				display: flex;
				z-index: 2;
				height: calc((50vw - 56px) * 0.5);
				padding: 40px;
				position: relative;
				border-radius: 16px;
				box-sizing: border-box;
				background: rgba(0, 0, 0, 0.50);
				justify-content: center;
				align-items: center;
			}

				.cases .item .title h2 {
					color: #FFF;
					font-size: 40px;
					font-weight: 700;
					line-height: 120%;
					letter-spacing: -0.8px;
					text-align: center;
				}

			.cases .item .image {
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				position: absolute;
			}

				.cases .item .image img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					transition: all ease 0.4s;
				}

				.cases .item:hover .image img {
					transform: scale(1.1);
				}


/*	Section: News
-------------------------------------------*/

	.news {
		padding-bottom: 56px;
	}

		.news .items {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -18px;
		}

		.news .item {
			width: calc(25% - 36px);
			margin: 0 18px 24px 18px;
		}

			.news .item .image {
				display: block;
				width: 100%;
				height: 235px;
				border-radius: 24px;
				overflow: hidden;
				position: relative;
			}

				.news .item .image img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					transition: all ease 0.4s;
					transform: scale(1);
				}

				.news .item .image:hover img {
					transform: scale(1.1);
				}

			.news .item .details {
				padding: 24px;
			}

				.news .item .details h2 {
					font-size: 20px;
					font-weight: 700;
					line-height: 120%; /* 24px */
					letter-spacing: -0.4px;
				}

					.news .item .details h2 a:hover {
						color: #D5AC86;
					}

				.news .item .details p {
					font-size: 14px;
					font-weight: 400;
					line-height: 150%;
					margin-top: 16px;
				}


/*	Section: Post
-------------------------------------------*/

	.post {
		padding-bottom: 80px;
	}

		.post .narrow {
			max-width: 870px;
			margin-left: auto;
			margin-right: auto;
		}

		.post .head {
			padding-bottom: 24px;
		}

			.post .head p {
				color: #000;
				font-size: 14px;
				line-height: 150%;
			}

			.post .head h1 {
				color: #000;
				font-size: 40px;
				font-weight: 700;
				line-height: 120%;
				letter-spacing: -0.8px;
				margin-top: 24px;
			}

		.post .text {
			margin-top: 24px;
		}

		.post .image {
			width: 100%;
			height: 800px;
			overflow: hidden;
			position: relative;
			border-radius: 40px;
			margin-top: 24px;
		}

			.post .image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}


/*	Section: Contact
-------------------------------------------*/

	.page-header-contact {
		display: none;
	}

	.contact {
		margin-bottom: 80px;
	}

	.contact .container {
		position: relative;
	}

		.contact .image {
			top: 0;
			left: 0;
			z-index: 1;
			width: 100%;
			height: 100%;
			border-radius: 40px;
			overflow: hidden;
			position: absolute;
		}

			.contact .image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}

		.contact .inner {
			display: flex;
			z-index: 2;
			padding: 150px;
			min-height: 684px;
			position: relative;
			justify-content: space-between;
		}

			.contact .content {
				color: #fff;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
			}

				.contact .content h1 {
					color: #FFF;
					font-size: 64px;
					font-style: normal;
					font-weight: 700;
					line-height: 120%;
					letter-spacing: -1.28px;
				}

				.contact .content .bottom {
					font-size: 24px;
					font-weight: 400;
					line-height: 150%;
				}

					.contact .content .bottom p {
						margin-bottom: 24px;
					}

					.contact .content .bottom .social {
						display: flex;
					}

						.contact .content .bottom .social a + a {
							margin-left: 21px;
						}

						.contact .content .bottom .social a svg {
							width: 36px;
							height: 36px;
						}

						.contact .content .bottom .social a:hover svg {
							fill: #D5AC86;
						}

			.contact .form-wrapper {
				width: 570px;
			}

	.contact + footer {
		display: none;
	}



/*	Section: Jobs
-------------------------------------------*/

	.jobs {
		padding-bottom: 115px;
	}

		.jobs .container {
			max-width: 1474px;
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
		}

		.jobs .items {
			width: calc(100% - 606px);
			margin-bottom: -24px;
		}

			.jobs .item {
				width: 100%;
				background: #ffffff;
				border-radius: 24px;
				margin-bottom: 24px;
				box-sizing: border-box;
			}

				.jobs .item.no-jobs .head {
					cursor: default;
					justify-content: center;
				}

				.jobs .item .head {
					padding: 40px;
					display: flex;
					align-items: center;
					justify-content: space-between;
					cursor: pointer;
				}

					.jobs .item .head h1 {
						width: calc(100% - 34px);
					}

					.jobs .item .head .arrow {
						transition: all ease 0.4s;
						transform: rotate(0deg);
					}

						.jobs .item.opened .head .arrow {
							transform: rotate(180deg);
						}

				.jobs .item .content {
					display: none;
					padding: 3px 40px 40px 40px;
				}

		.jobs .form-wrapper {
			width: 570px;
		}




/*	Section: General Text
-------------------------------------------*/

	.page-text .container {
		max-width: 870px;
	}




/*	Responsive
-------------------------------------------*/

@media (max-width: 1800px) and (min-width: 1024px) {
	.projects .container:has(.item:hover) .item { width: 160px; }
	.projects .item:hover { width: 470px !important; }
	.projects .item h3 { width: 470px; }
}

@media (max-width: 1600px)
{
	.services .items { width: calc(100% - 370px); }
	.services .item .content { width: calc(100% - 300px); }
	.services .item .content h2 { font-size: 86px; }
	.services .item .image { width: 300px; }

	.services .works h3 { width: 500px; }
}

@media (max-width: 1540px) and (min-width: 1024px) {
	.projects .item { width: 220px; padding: 0 12px; }
}

@media (max-width: 1480px)
{
	.contact .inner { padding: 130px 70px; }
	.welcome h1 { font-size: 60px; max-width: 100%; padding-right: 500px; }
	.welcome h1 br { display: none; }
	.welcome .text { margin-top: 170px; }

	.services { margin-top: 100px; }
	.services .items { width: calc(100% - 330px); }
	.services .item .content { width: calc(100% - 290px); }
	.services .item .content h2 { font-size: 76px; }
	.services .item .image { width: 290px; }

	.services .item .content .wrap { display: block; }
	.services .item .content .desc p { max-width: 100%; padding-bottom: 12px; }
}

@media (max-width: 1480px) and (min-width: 1024px) {
	.services .item:hover .content .desc { height: 120px; }
}

@media (max-width: 1360px)
{
	.page-header.has-image { padding: 0 0 50px 0; }
	.page-header.has-image .container { height: calc(50vw - 36px); }
	.wide-image .container { height: calc(50vw - 36px); }
	.post .image { height: calc(60vw - 36px); }

	.service-header .container { height: calc(50vw - 36px); }
	.service-header .media-wrapper { max-width: 440px; max-height: 440px; }

	.twi .side h2 { font-size: 36px; }

	.welcome .container { padding-top: 30px; min-height: 650px; }
	.welcome h1 { font-size: 56px; max-width: 100%; padding-right: 480px; }
	.welcome .image { width: 650px; height: 650px; }
	.welcome .text { margin-top: 130px; }

	.services .works .content { width: calc(100% - 400px); }
	.services .item .content h2 { font-size: 66px; }
	.services .item .content .desc p { font-size: 17px; }
	.services .works h3 { font-size: 55px; width: 400px; }
	.services .works .content .w-link { margin-top: 30px; }

	.projects { padding: 150px 0; }
}

@media (max-width: 1280px)
{
	.page-header { padding: 20px 0 60px 0; }
	.page-header.has-image h1 { font-size: 72px; }

	.menu ul { padding-top: 0; }

	.news { padding-bottom: 0; }
	.news .item { width: calc(33.333% - 36px); }

	.jobs .items { width: calc(100% - 536px); }
	.jobs .form-wrapper { width: 500px; }

	.page-header-contact { display: block; }
	.contact .image { display: none; }
	.contact .inner { padding: 0; }
	.contact .content { color: #333; }
	.contact .content h1 { display: none; }
	.contact .content .bottom .social a svg { fill: #333; }
	.contact .form-wrapper { width: 500px; }

	.contact + footer { display: block; }

	.services { margin-top: 60px; }
	.services .container { display: block; }
	.services .text { width: 100%; margin-bottom: 40px; }
	.services .items { width: 100%; }
}

@media (max-width: 1279px) and (min-width: 1024px)
{
	.projects { padding: 80px 0 60px 0; }
	.projects .container:has(.item:hover) .item { width: 120px; }
	.projects .item:hover { width: 400px !important; }
	.projects .item { width: 180px; padding: 0 8px; }
	.projects .item .inner { height: 620px; }
	.projects .item h3 { width: 400px; font-size: 35px; padding-bottom: 32px; }
}

@media (max-width: 1280px) and (min-width: 1024px)
{
	.services .item:hover .content .desc { height: 89px; }
}

@media (max-width: 1200px)
{	
	.welcome .container { min-height: 520px; }
	.welcome h1 { font-size: 45px; max-width: 100%; padding-right: 380px; }
	.welcome .image { width: 520px; height: 520px; }
	.welcome .text { margin-top: 70px; }
	.welcome .text div { margin-right: 480px; }
	.welcome.minimize .image { width: 360px; height: 360px; }
	.reel { margin-top: 100px; }
}

@media (max-width: 1140px)
{
	body { font-size: 17px; }

	footer { padding: 50px 0; }
	footer .top .right p + p { margin-left: 32px; }

	.cases .item .title h2 { font-size: 36px; }

	.twi .side > span { width: auto !important; height: auto !important; }
	.twi .side h2 { font-size: 34px; }
	.twi .side h2 br { display: none; }

	.jobs .items { width: calc(50% - 16px); }
	.jobs .form-wrapper { width: calc(50% - 16px); }

	.gform_fields { margin-left: -12px; margin-right: -12px; }
	.gfield { margin-left: 12px; margin-right: 12px; }
	.gfield--width-half { width: calc(50% - 24px); }
	
}

@media (max-width: 1085px)
{
	.welcome .container { padding-top: 0; }
}

@media (max-width: 1023px)
{
	body { padding-top: 114px; }

	header .logo svg { height: 70px; width: auto; }

	footer .top { flex-wrap: wrap; }
	footer .top h5 { width: 100%; margin-bottom: 24px; }
	footer .top .right { flex-wrap: wrap; justify-content: space-between; width: 100%; }
	footer .top .right > * { width: 50%; }
	footer .top .right p + p { margin-left: 0; }
	footer .top .right p:nth-child(1) { margin-bottom: 16px; }
	footer .top .right p:nth-child(2) { display: flex; justify-content: flex-end; margin-bottom: 16px; }
	footer .top .right .social { margin-left: 0; width: 100%; display: flex; justify-content: flex-end; }

	.page-header h1 { font-size: 56px; }

	.news .items { margin-bottom: -24px; }
	.news .item { width: calc(50% - 36px); }

	.cases .item { width: 100%; }
	.cases .item .title { height: calc(50vw - 36px); }

	.twi .side { width: calc(50% - 16px); }
	.twi .content { width: calc(50% - 16px); }

	.wide-image { margin: 50px 0 20px 0; }

	.jobs .container { display: block; }
	.jobs .items { width: 100%; margin-bottom: 0; }
	.jobs .form-wrapper { width: 100%; margin-top: 32px; }

	.contact { margin-bottom: 0; }
	.contact .inner { flex-direction: column; align-items: center }
	.contact .content { text-align: center; margin-bottom: 40px; }
	.contact .content .bottom .social { justify-content: center; }
	.contact .form-wrapper { width: 100%; }

	.service-header .container { height: calc(60vw - 36px); }
	.service-header h1, .service-header h1.md { font-size: 60px; letter-spacing: -2px; }
	.service-header .media-wrapper { max-width: 100%; max-height: 100%; }
	/*.service-header .media-wrapper iframe { display: none; }*/
	.service-header .media-wrapper:before { content: ""; top: 0; left: 0; width: 100%; height: 100%; position: absolute; background: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%); }

	.welcome .container { min-height: 0px; }
	.welcome { padding-top: 40px; }
	.welcome h1 { padding-right: 0; margin-bottom: -25px; }
	.welcome .image { position: relative; right: auto; bottom: auto; width: 74% !important; height: 74% !important; border-radius: 16px; }
	.welcome .text { margin-top: 40px; }
	.welcome .text div { margin-right: 0; max-width: 100%; }

	.reel { margin-top: 60px; }
	.reel .video-wrapper { border-radius: 16px; }

	.services .item { padding: 16px 0; position: relative; }
	.services .item .image { position: absolute; top: 16px; width: auto; }
	.services .item .img-wrapper { width: 130px; height: 130px; border-radius: 24px; }
	.services .item .content { width: 100%; box-sizing: border-box; }
	.services .item .content .head { padding-left: 160px; min-height: 130px; display: flex; flex-direction: column; justify-content: center; cursor: pointer; transition: all ease 0.4s; }
	.services .item .content span { position: relative; left: auto; bottom: auto; }
	.services .item .content h2 { font-size: 50px; }
	.services .item .content .desc { height: auto; max-height: 1px; transition: all ease 0.4s !important; }
	.services .item .content .desc p { padding-bottom: 24px; }
	.services .item.opened .content .head { min-height: 160px; padding-left: 190px; }
	.services .item.opened .content .wrap { opacity: 1; transform: translate3d(0, 0, 0); padding-top: 24px; }
	.services .item.opened .content .desc { max-height: 200px; }
	.services .item.opened .img-wrapper { width: 160px; height: 160px; }

	.services .item:first-child { border-top: 0; padding-top: 0; }
	.services .item:first-child .image { top: 0; }
	.services .item:has(+ .works) { border-bottom: 0; }
	.services .works { border-top: 0; margin-top: 40px; display: block; }
	.services .works h3 { width: 100%; }
	.services .works h3 br { display: none; }
	.services .works .content { width: 100%; margin-top: 16px; }

	.projects { padding: 80px 0 20px 0; }
	.projects .container { display: block; }
	.projects .item { width: 100% !important; display: block; padding: 0 !important; }
	.projects .item .inner { height: calc(50vw - 36px); display: flex; align-items: center; justify-content: center; }
	.projects .item .image { top: 0 !important; border-radius: 24px; }
	.projects .item .image:before { content: ""; top: 0; left: 0; width: 100%; height: 100%; position: absolute; background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%); }

	.projects .item h3 { width: 100%; transform: none; z-index: 2; opacity: 1; color: #fff; text-align: center; font-size: 40px; font-weight: 700; line-height: 120%; letter-spacing: -1px; padding-bottom: 0; }
	.projects .item + .item { margin-top: 24px !important; }
	
	.post .image { border-radius: 24px; }
}

@media (max-width: 767px)
{
	body { font-size: 14px; line-height: 150%; padding-top: 98px; }
	body:has(.page-header.has-image) { padding-top: 0; }
	body:has(.service-header) { padding-top: 0; }

	.container { width: calc(100% - 48px); }

	.w-link { background-position: 0 -4px; }

	header .logo svg { height: 50px; }
	.menu { max-width: 390px; }
	.menu .inner { padding: 40px; }
	.menu ul { padding: 48px 0 32px 0; }
	.menu ul li a { font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.64px; }
	.menu ul li + li { margin-top: 26px; }

	footer { padding: 40px 0; }
	footer .top { padding-bottom: 24px; margin-bottom: 24px; }
	footer .top h5 { font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.64px; }

	.page-header { padding: 40px 0 32px 0; }
	.page-header h1 { font-size: 40px; font-weight: 700; line-height: 120%; letter-spacing: -0.8px; }
	.page-header p { font-size: 16px; }

	.news .item { width: 100%; margin-bottom: 20px; }
	.news .item .image { border-radius: 16px; height: 192px; }
	.news .item .details { padding: 16px; }
	.news .item .details h2 { font-size: 16px; font-weight: 700; line-height: 120%; letter-spacing: -0.32px; }
	.news .item .details p { font-size: 12px; }

	.cases { padding: 0; margin-bottom: -16px; }
	.cases .item { margin-bottom: 16px; }
	.cases .item .title h2 { font-size: 20px; font-weight: 700; line-height: 120%; letter-spacing: -0.4px; }

	.page-header.has-image { padding-bottom: 40px; }
	.page-header.has-image .container { width: 100%; height: 520px; }
	.page-header.has-image h1 { font-size: 40px; font-weight: 700; line-height: 120%; letter-spacing: -0.8px; }
	.page-header .image { border-radius: 0; }
	.page-header .image:before { content: ""; top: 0; left: 0; width: 100%; height: 100%; position: absolute; background: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%); }

	.service-header .container { height: 520px; width: 100%; margin-bottom: 40px; }
	.service-header .media-wrapper { border-radius: 0; }
	.service-header h1, .service-header h1.md { padding: 40px; font-size: 40px; font-weight: 700; line-height: 120%; letter-spacing: -0.8px; }

	.twi .container { display: block;  }
	.twi .side { width: 100%; max-width: 100%; margin-bottom: 24px; display: block; }
	.twi .side h2 { padding-bottom: 24px; font-size: 20px; line-height: 120%; letter-spacing: -0.4px; }
	.twi .side .image { height: calc((100vw - 48px) * 0.56); border-radius: 16px; }
	.twi .content { width: 100%; }
	.twi + .wide-image { margin-top: 24px; margin-bottom: 0; }

	.service-header + .twi { padding-bottom: 0; }

	.wide-image .container { height: calc((100vw - 48px) * 0.56); border-radius: 16px; }

	.jobs { padding-bottom: 0; }
	.jobs .item { margin-bottom: 16px; }
	.jobs .item .head { padding: 24px; }
	.jobs .item .head h3 { font-size: 16px; font-weight: 400; line-height: 150%; }

	.form-wrapper { padding: 24px; }
	.gfield--width-half { width: 100%; }

	.gfield_checkbox .gchoice + .gchoice { margin-top: 8px; }

	.contact .content { text-align: left; display: block; width: 100%; }
	.contact .content .bottom { font-size: 18px; }
	.contact .content .bottom .social { justify-content: flex-start; }
	.contact .content .bottom .social a svg { width: 24px; height: 24px; }

	.welcome { padding-top: 0; }
	.welcome h1 { font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.64px; margin-bottom: -15px; }
	.welcome .text .w-link { margin-top: 24px; }
	.logos { margin-top: 60px; }

	.services .text h2 { font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.64px; margin-bottom: 16px; }

	.service-header .media-wrapper iframe { width: 238%; }
	.service-header .media-wrapper:before { z-index: 2; } 

	.services .item { border-bottom: 0; }
	.services .item .img-wrapper { width: 72px; height: 72px; border-radius: 8px; }
	.services .item .content .head { padding-left: 96px; min-height: 72px; }
	.services .item .content span { font-size: 12px; font-weight: 700; line-height: 150%; }
	.services .item .content h2 { font-size: 20px; font-weight: 700; line-height: 100%; letter-spacing: -0.4px; }
	.services .item .content .desc p { font-size: 14px; font-weight: 400; line-height: 150%; }

	.services .item.opened .img-wrapper { width: 100px; height: 100px; }
	.services .item.opened .content .head { padding-left: 124px; min-height: 100px; }

	.services .works h3 { font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.64px; }
	.services .works .content .w-link { margin-top: 16px; }
	.projects { padding: 40px 0 0 0; }
	.projects .item .image { border-radius: 16px; }
	.projects .item h3 { font-size: 20px; font-weight: 700; line-height: 120%; letter-spacing: -0.4px; }

	.logos { padding: 0; }
	.logos .container { width: 100%; }
	.logos .ticker { display: flex; flex-wrap: wrap; margin: 0; }
	.logos a { display: flex; width: 50%; padding: 0 32px !important; height: 120px; box-sizing: border-box; align-items: center; justify-content: center; margin: 0; border-top: 1px solid #3C3C3C; }
	.logos a:nth-child(even) { border-left: 1px solid #3C3C3C; }
	.logos a:nth-child(1), .logos .logos a:nth-child(2) { border-top: 0; }
	.logos a.separator, .logos a.separator ~ a { display: none !important; }
	
	.post { padding-bottom: 20px; }
	.post .head { padding-bottom: 0; } 
	.post .head h1 { font-size: 20px; font-weight: 700; line-height: 120%; letter-spacing: -0.4px; margin-top: 16px; }	
	.post .image { border-radius: 16px; }
	
	.general-content { font-size: 14px; line-height: 150%; }
	.general-content h2 { font-size: 20px; line-height: 150%; }
	.general-content h3 { font-size: 16px; line-height: 150%; }
	.general-content h4 { font-size: 14px; line-height: 150%; }
}

@media (max-width: 480px)
{
	footer .bottom { font-size: 10px; line-height: 150%; }
	footer .top .right { display: block; }
	footer .top .right p:nth-child(2) { justify-content: flex-start; }
	footer .top .right .social { justify-content: flex-start; }
}

@media (max-width: 440px)
{
	footer .top .right > * { width: auto; }
}


