@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff
3. Menu
4. Header
5. Hero
6. Intro
7. About
8. Services
9. Work
10. Marquee
11. Stats
12. Testimonials
13. Gallery
14. Gallery
15. CTA
16. Footer


******************************/

/***********
1. Fonts
***********/

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/*********************************
2. Body and some general stuff
*********************************/

:root
{
	--font1: "Inter", sans-serif;
	--font2: "DM Serif Display", sans-serif;
	--white: #ffffff;
	--black: #000000;
	--background-dark: #191b1f;
	--background-dark-2: #25272a;
	--textColor: #b0bfcc;
	--textColor2: #91a0a3;
	--textColor3: #616a76;
	--border: rgba(63,68,74,1);
}
*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html
{
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}
body
{
	font-family: var(--font1);
	font-size: 16px;
	font-weight: 400;
	background: var(--background-dark);
	color: var(--textColor);
}
div
{
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ul
{
	list-style: none;
	margin-bottom: 0px;
	padding-left: 0;
}
p
{
	font-family: var(--font1);
	font-size: 26px;
	line-height: 1.5;
	font-weight: 300;
	color: var(--textColor);
	letter-spacing: 0.052em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	margin-bottom: 0;
}
p a
{
	display: inline;
	position: relative;
	color: inherit;
	border-bottom: solid 1px #ffa07f;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
p:last-of-type
{
	margin-bottom: 0;
}
a
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
a, a:hover, a:visited, a:active, a:link
{
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a:active
{
	position: relative;
	color: #FF6347;
}
p a:hover
{
	
}
p a:hover::after
{
	
}
::selection
{
	
}
p::selection
{
	
}
h1{font-size: 230px;}
h2{font-size: 96px;}
h3{font-size: 48px;}
h4{font-size: 32px;}
h5{font-size: 24px;}
h1, h2, h3, h4, h5, h6
{
	font-family: var(--font2);
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	line-height: 1.2;
	margin-bottom: 0;
	color: var(--white);
}
h1::selection, 
h2::selection, 
h3::selection, 
h4::selection, 
h5::selection, 
h6::selection
{
	
}
figure
{
	margin: 0;
}
img
{
	max-width: 100%;
}
button:active
{
	outline: none;
}
section
{
	display: block;
	position: relative;
	box-sizing: border-box;
}
.clear
{
	clear: both;
}
.clearfix::before, .clearfix::after
{
	content: "";
	display: table;
}
.clearfix::after
{
	clear: both;
}
.clearfix
{
	zoom: 1;
}
.float_left
{
	float: left;
}
.float_right
{
	float: right;
}
.trans_200
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.trans_300
{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
.trans_400
{
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.trans_500
{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.fill_height
{
	height: 100%;
}
.super_container
{
	width: 100%;
	overflow: hidden;
}
.prlx_parent
{
	overflow: hidden;
}
.prlx
{
	height: 130% !important;
}
.parallax-window
{
    min-height: 400px;
    background: transparent;
}
.parallax_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.background_image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.nopadding
{
	padding: 0px !important;
}
.owl-carousel,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item
{
	height: 100%;
}
.slide
{
	height: 100%;
}
.visually-hidden
{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
	white-space: nowrap;
}
section
{
	padding-top: 183px;
	padding-bottom: 183px;
}
.section_subtitle
{
	font-family: var(--font1);
	font-size: 33px;
	font-weight: 300;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.section_subtext
{
	text-align: center;
	font-weight: 300;
	color: var(--textColor);
	letter-spacing: 0.015em;
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	padding-left: 30px;
	padding-right: 30px;
}
.section_title
{
	margin-top: 6px;
}
.button
{
	display: inline-block;
	position: relative;
	height: 127px;
	border: solid 2px #3f444a;
	padding-left: 76px;
	padding-right: 76px;
	line-height: 123px;
	font-family: var(--font1);
	font-size: 30px;
	font-weight: 300;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--textColor);
	background-color: var(--background-dark);
}
.button::before
{
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	content: '';
	width: 100%;
	height: 100%;
	border: solid 2px #3f444a;
	z-index: -1;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.button:hover::before
{
	background-color: var(--textColor);
}
.img_rvl
{
	overflow: hidden;
	position: relative;
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.img_rvl > *:first-child.work_image_sm
{
	width: 30vw;
}
.img_rvl > *:first-child.work_image_lg
{
	width: 50vw;
	aspect-ratio: 1280/780;
}
picture img
{
	display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image_reveal_container
{
	overflow: hidden;
}
.image_reveal
{
	scale: 1.1;
	opacity: 0;
}
.image_reveal.active
{
	animation-name: image_reveal_anim;
    animation-duration: .9s;
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
}
@keyframes image_reveal_anim
{
	0%
	{
		scale: 1.1;
		opacity: 0;
	}
	100%
	{
		scale: 1;
		opacity: 1;
	}
}
.rvl
{
	opacity: 0;
}

/*********************************
3. Menu
*********************************/

.menu
{
	position: fixed;
	top: 0;
	right: 0;
}

/*********************************
4. Header
*********************************/

.header
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: transparent;
}
.header_inner
{
	height: 111px;
	padding-left: 24px;
	padding-right: 56px;
}
.header.scrolled .header_inner
{
	height: 92px;
}
.header-logo a
{
	font-family: var(--font2);
	color: var(--textColor2);
	font-size: 26px;
	letter-spacing: 0.02em;
}
.main_nav_link
{
	font-family: var(--font1);
	font-weight: 400;
	color: var(--textColor2);
	font-size: 19px;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}
.main_nav_link:hover
{
	color: var(--textColor3);
}
.header.scrolled .main_nav_link:hover
{
	color: var(--white);
}
.menu
{
	display: block;
	position: relative;
	background-color: var(--white);
}
.menu_container
{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 81px;
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
	background-color: var(--background-dark-2);
}
.header.scrolled .menu
{
	background-color: var(--background-dark-2);
}
.menu_header
{
	width: 276px;
	height: 46px;
	background-color: transparent;
	padding-left: 20px;
	z-index: 1;
	cursor: pointer;
}
.menu:hover
{
	background-color: var(--background-dark-2);
}
.menu.active .menu_container
{
	display: block;
}
.menu_link
{
	display: inline-block;
	position: relative;
	font-family: var(--font1);
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	color: var(--white);
	line-height: 2;
}
.menu_nav ul li
{
	display: block;
	position: relative;
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.menu_nav ul li a:hover
{
	-webkit-transform: translateX(4px);
	-moz-transform: translateX(4px);
	-ms-transform: translateX(4px);
	-o-transform: translateX(4px);
	transform: translateX(4px);
}
.menu_nav ul li:not(:first-child)
{
	margin-top: 4px;
}
.menu_nav ul li.active::after
{
	display: block;
	position: absolute;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #f7ca00;
	content: '';
}
.menu_social_container
{
	margin-top: 50px;
	background-color: #2d2f33;
	padding-left: 12px;
	padding-top: 16px;
	padding-right: 12px;
	padding-bottom: 23px;
}
.menu_social_title
{
	font-family: var(--font1);
	font-size: 12px;
	font-weight: 400;
	color: var(--textColor);
	letter-spacing: 0.13em;
	text-transform: uppercase;
}
.menu_social
{
	margin-top: 13px;
}
.menu_social li a
{
	padding: 8px;
}
.menu_social li:not(:last-child)
{
	margin-right: 8px;
}
.menu_social .fa-brands
{
	font-size: 20px;
	color: var(--white);
}
.menu_social li a:hover .fa-brands
{
	opacity: 0.6;
}
#hamburger
{
	-webkit-transform: scale(0.6);
	-moz-transform: scale(0.6);
	-ms-transform: scale(0.6);
	-o-transform: scale(0.6);
	transform: scale(0.6);
}
.hamburger:hover
{
	opacity: 1 !important;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after
{
	background-color: var(--textColor);
}
.hamburger:hover .hamburger-inner, .hamburger:hover .hamburger-inner::before, .hamburger:hover .hamburger-inner::after
{
	background-color: #ffffff;
}
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before
{
	background-color: var(--textColor);
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before
{
	background-color: var(--textColor);
}
.hamburger.is-active:hover .hamburger-inner, .hamburger.is-active:hover .hamburger-inner:after, .hamburger.is-active:hover .hamburger-inner:before
{
	background-color: var(--white) !important;
}

/*********************************
5. Hero
*********************************/

.hero
{
	display: block;
	width: 100%;
	height: 100vh;
	padding-top: 0;
	padding-bottom: 0;
}
.hero_inner
{
	width: 100%;
	height: 100%;
}
.hero_background
{
	width: 100%;
	height: 100%;
}
.hero_background_pic
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.hero_background img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero_flex
{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: calc(100% - 16px);
	max-height: 75vh;
	aspect-ratio: 16/9;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 8px;
}
.hero_flex_col
{
	height: 100%;
	width: calc((100% - 16px) / 3);
	gap: 8px;
}
.hero_flex_col:first-child
{
	text-align: end;
}
.img
{
	display: none;
	width: 100%;
	height: calc((75vh - 8px) / 2);
	background-color: transparent;
}
.img-main
{
	background-color: transparent;
	pointer-events: none;
}
.img img
{
	height: 100%;
	width: auto;
	object-fit: cover;
}
/* Hero content */
.hero_content
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 75%;
	z-index: 10;
}
.hero_title
{
	color: var(--background-dark);
	line-height: 1.06;
}
.hero_subtitle
{
	display: block;
	position: relative;
	font-family: var(--font1);
	font-size: 28px;
	text-transform: uppercase;
	letter-spacing: 0.165em;
	color: var(--textColor);
}
.hero_subtitle::before, .hero_subtitle::after
{
	display: block;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 72px;
	height: 2px;
	background-color: var(--textColor);
	content: '';
}
.hero_subtitle::before
{
	left: -106px;
}
.hero_subtitle::after
{
	right: -106px;
}
.explore
{
	position: absolute;
	bottom: 44px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}
.explore p
{
	font-family: var(--font1);
	font-size: 19px;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--white);
	letter-spacing: 0.16em;
}
.explore i
{
	font-size: 19px;
	color: var(--white);
	margin-top: 6px;
}
.social_container
{
	position: absolute;
	bottom: 44px;
	left: 44px;
}
.social_container ul li:not(:last-child)
{
	margin-right: 8px;
}
.social_container ul li
{
	display: block;
	width: 56px;
	height: 56px;
	border: solid 2px rgba(255,255,255,0.2);
	border-radius: 50%;
}
.social_container ul li a
{
	display: block;
	width: 100%;
	height: 100%;
}
.social_container ul li a i
{
	font-size: 20px;
	color: var(--textColor);
	line-height: 52px;
}
.social_container ul li:hover
{
	border: solid 2px rgba(255,255,255,0.4);
}
.social_container ul li a:hover i
{
	color: var(--white);
}
.hero_image_title
{
	position: absolute;
	right: 44px;
	bottom: 44px;
}
.hero_image_title p
{
	font-family: var(--font1);
	font-size: 16px;
	color: var(--white);
	text-transform: uppercase;
	letter-spacing: 0.015em;
}

/*********************************
6. Intro
*********************************/

.intro
{
	width: 100%;
	padding-top: 366px;
}
.intro_content
{
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-top: 80px;
}
.intro_button_container
{
	margin-top: 87px;
}
.intro_button
{
	margin-left: auto;
	margin-right: auto;
}
.intro_background
{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 879px;
}
.intro_bcg
{
	transform: scale(0.75);
}

/*********************************
7. About
*********************************/

.about .section_title_container > *
{
    text-align: left !important;
}
.about_image_col
{
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	padding-left: 0;
	padding-right: 47px;
}
.about_image_col_inner
{
	width: 100%;
	height: 100%;
}
.about_image_top
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.about_image_col img
{
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.about_content_col
{
	padding-top: 100px;
	padding-bottom: 130px;
}
.about_content_container
{
	padding-left: 47px;
}
.about_content
{
	margin-top: 34px;
}
.about_video_button
{
	position: relative;
	overflow: hidden;
	margin-top: 62px;
}
.about_video_circle
{
	width: 126px;
	height: 126px;
	flex: 0 0 auto;
	border: solid 2px #7a8694;
	border-radius: 50%;
}
.about_video_button i
{
	font-size: 42px;
	color: #7a8694;
}
.about_video_button:hover .about_video_circle
{
	border-color: var(--white);
}
.about_video_button:hover .about_video_circle i
{
	color: var(--white);
}
.about_video_button_text
{
	padding-left: 44px;
	font-family: var(--font2);
	color: var(--textColor);
	font-size: 44px;
	line-height: 1.2;
}
.about_video_button:hover .about_video_button_text
{
	color: var(--white);
}

/*********************************
8. Services
*********************************/

.services_content_row
{
	margin-top: 90px;
}
.services_content_col
{
	z-index: 10;
}
.service
{
	padding-top: 32px;
	padding-bottom: 36px;
	border-bottom: solid 2px rgba(255,255,255,0.06);
	box-sizing: border-box;
	padding-left: 16px;
	cursor: pointer;
}
.service_title
{
	font-size: 36px;
	color: var(--textColor);
}
.services_items
{
	border-top: solid 2px rgba(255,255,255,0.06);
}
.service.active .service_title, .service:hover .service_title
{
	color: var(--white);
}
.service_subtitle
{
	font-size: 20px;
	color: var(--textColor3);
	margin-top: 6px;
}
.service.active .service_subtitle
{
	color: var(--textColor);
}
.service:hover .service_subtitle
{
	color: var(--textColor);
}
.service::before
{
	display: block;
	position: absolute;
	left: calc(((100vw - 1440px) / 2 + 12px) * -1);
	top: -2px;
	width: 0vw;
	height: calc(100% + 4px);
	content: "";
	background-color: #32363b;
	z-index: -1;
	opacity: 0;
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.service.active::before
{
	width: calc(((100vw - 1440px) / 2 + 114px) + 100%);
	opacity: 1;
}
.services_images_col
{
	padding-left: 0;
	padding-right: 0;
	padding-left: 40px;
}
.services_images_col_inner
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.services_image_container
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.service_image
{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.service_image.front
{
	z-index: 1;
}
.services_image_container img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/*********************************
9. Work
*********************************/

.work_row
{
	margin-top: 105px;
}
.work_items figure
{
	display: block;
	text-align: center;
}
.work_image
{
	display: block;
	text-align: center;
}
.work_image_lg
{
	width: 50%;
}
.work_image_sm
{
	width: 30%;
}
.work_image_2
{
	margin-top: 90px;
}
.work_items figcaption
{
	font-size: 24px;
	font-weight: 300;
	color: var(--textColor);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-top: 34px;
}
.work_items:not(:first-child)
{
	margin-top: 136px;
}
.work_image_4
{
	margin-top: 128px;
	text-align: end;
}
.work_image_5
{
	text-align: start;
}

/*********************************
10. Marquee
*********************************/

.marquee
{
	display: inline-flex;
	align-items: center;
	gap: 20px;
	white-space: nowrap;
}
.marquee_container
{
	padding-bottom: 366px;
}
.marquee:not(:last-child)
{
	margin-bottom: 20px;
}
.marquee_item
{
	display: flex;
	align-items: center;
	gap: 20px;
	height: 110px;
	border: solid 1px rgba(63,68,74,0.5);
	box-sizing: border-box;
}
.marquee_img
{
	overflow: hidden;
	aspect-ratio: 228/110;
}
.marquee_img img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.marquee_item span
{
	font-family: var(--font2);
	font-size: 56px;
	color: var(--white);
	letter-spacing: 0.015em;
	white-space: nowrap;
	line-height: 56px;
	padding-left: 48px;
	padding-right: 48px;
}

/*********************************
11. Stats
*********************************/

.stats
{
	position: relative;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 223px;
	padding-bottom: 296px;
	overflow: hidden;
	background-color: var(--background-dark);
}
.stats_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	inset: 0;
    z-index: 0;
	overflow: hidden;
}
.stats_background .background_image
{
	z-index: 1;
}
.stats_background_pic
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.simpleParallax
{
	width: 100%;
	height: 100%;
}
.stats_container
{
	position: relative;
    z-index: 2;
}
.main_stat
{
	font-family: var(--font2);
	font-size: 240px;
	line-height: 1;
	color: var(--white);
	letter-spacing: 0.015em;
}
.stats_description
{
	font-family: var(--font2);
	font-size: 72px;
	letter-spacing: 0.015em;
	line-height: 1.25;
	color: var(--white);
	max-width: 1110px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 45px;
}
.stats_items
{
	width: 100%;
	margin-top: 81px;
}
.stat_item
{
	width: calc(100% / 3);
}
.stat_item h3
{
	font-size: 72px;
}
.stat_item p
{
	font-size: 24px;
	font-weight: 300;
	text-transform: uppercase;
	margin-top: 10px;
	letter-spacing: 0.03em;
	padding-left: 20px;
	padding-right: 20px;
	color: var(--white);
}
.stats_items > div:not(:last-child)::after
{
	display: block;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
	content: '';
	width: 2px;
	height: 100px;
	background-color: rgba(255,255,255,0.15);
}

/*********************************
12. Testimonials
*********************************/

.testimonials_container
{
	width: calc(100% - 10px);
	border: solid 2px var(--border);
	padding-top: 124px;
	padding-bottom: 124px;
	background-color: var(--background-dark);
	padding-left: 32px;
	padding-right: 32px;
}
.testimonials_container::after
{
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	width: 100%;
	height: 100%;
	border: solid 2px var(--border);
	content: '';
	z-index: -1;
}
.testimonials_slider
{
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.testimonial blockquote
{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 26px;
	font-weight: 300;
	letter-spacing: 0.015em;
	color: var(--textColor);
	margin-top: 42px;
}
.testimonials_rating
{
	gap: 2px;
	margin-top: 38px;
}
.testimonials_rating li i
{
    color: #f7ca00;
    font-size: 22px;
	font-weight: 900;
}
.testimonial figcaption
{
	font-family: var(--font1);
	font-size: 20px;
	font-weight: 300;
	color: var(--textColor);
	margin-top: 190px;
}
.testimonial figcaption strong
{
	color: var(--white);
}
.user
{
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: 71px;
	width: 72px;
	height: 72px;
	overflow: hidden;
}
.user img
{
	display: block;
	position: relative;
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: center;
}
.testimonials_nav
{
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: 71px;
	gap: 112px;
	z-index: 2;
}
.testimonials_nav_btn
{
	width: 72px;
	height: 72px;
	background-color: transparent;
	border: solid 2px var(--textColor);
	cursor: pointer;
}
.testimonials_nav_btn:hover
{
	border-color: var(--white);
}
.testimonials_nav_btn i
{
	font-size: 22px;
	color: var(--textColor);
}
.testimonials_nav_btn:hover i
{
	color: var(--white);
}
.testimonials_nav_overlay
{
	position: absolute;
	bottom: 71px;
	left: 0;
	width: 100%;
	height: 72px;
	background-color: transparent;
	z-index: 1;
}
.testimonials_nav_overlay > div
{
	width: calc((100% - 112px) / 2);
	height: 100%;
	background-color: var(--background-dark);
}

/*********************************
13. Gallery
*********************************/

.gallery
{
	padding-top: 180px;
}
.gallery_content_container
{
	padding-right: calc((100vw - 1530px) / 2);
	padding-bottom: 75px;
	margin-top: -12px;
}
.gallery_content
{
	margin-top: 29px;
}
.gallery_navigation
{
	margin-top: 114px;
	padding-bottom: 10px;
}
.gallery_next_button
{
	margin-bottom: 31px;
}
.gallery_col
{
	padding-left: 0;
	padding-right: 0;
}
.gallery_slider_container
{
	height: 100%;
	padding-right: 86px;
}
.gallery_slider
{
	height: 100%;
}
.gallery_slide
{
	height: 100%;
	padding-bottom: 75px;
}
.gallery_slide_img
{
	height: 100%;
}
.gallery_slide img
{
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.gallery_slider_nav
{
	display: none !important;
	margin-top: 30px;
	padding-right: 10px;
}
.gallery_slide_title
{
	font-family: var(--font1);
	font-size: 30px;
	font-weight: 300;
	letter-spacing: 0.23em;
	margin-right: -0.23em;
	text-align: end;
	transform: translateY(40px);
}

/*********************************
14. Gallery
*********************************/

.faq_row
{
	margin-top: 92px;
}
.faq_content
{
	padding-right: 74px;
}
dl
{
	margin-bottom: 0;
}
.faq_item.acc_active .acc_head button
{
	color: var(--white);
}
.faq_item
{
	border-top: solid 2px rgba(255,255,255,0.06);
}
.faq_item:last-child
{
	border-bottom: solid 2px rgba(255,255,255,0.06);
}
.acc_head
{
	position: relative;
	padding-top: 19px;
	padding-bottom: 21px;
	padding-right: 50px;
	cursor: pointer;
}
.acc_head button
{
	background-color: transparent;
	color: var(--textColor);
	font-family: var(--font1);
	font-size: 26px;
	letter-spacing: 0.052em;
	font-weight: 400;
	outline: none;
	border: none;
	text-align: start;
}
.faq_item:hover .acc_head button
{
	color: var(--white);
}
.acc_head::after
{
	display: block;
	position: absolute;
	top: 40%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 4px;
	content: "+";
	font-family: var(--font1);
	font-size: 72px;
	font-weight: 100;
	line-height: 0.78;
}
.acc_content
{
	padding-right: 50px;
	padding-bottom: 16px;
}
.acc_content p
{
	font-size: 20px;
}
.faq_image_container
{
	width: 100%;
	overflow: hidden;
	aspect-ratio: 1/1;
}
.faq_image_container img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/*********************************
15. CTA
*********************************/

.cta_content
{
	max-width: 1230px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 32px;
	padding-right: 32px;
}
.cta .background_image
{
	z-index: -2;
}
.cta_button_container
{
	margin-top: 101px;
}
.cta .section_title
{
	margin-top: 33px;
	line-height: 1.35;
}
.contact_content_col .section_subtext
{
	text-align: start;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}
.contact_form input
{
	display: block;
	width: 100%;
	height: 127px;
	background-color: transparent;
	border: solid 2px #31363c;
	outline: none;
	margin-bottom: 24px;
	padding-left: 56px;
	padding-right: 56px;
	font-size: 30px;
	color: var(--white);
	padding-bottom: 4px;
}
.contact_form textarea
{
	display: block;
	width: 100%;
	height: 269px;
	background-color: transparent;
	border: solid 2px #31363c;
	outline: none;
	margin-bottom: 24px;
	padding-left: 56px;
	padding-right: 56px;
	padding-top: 40px;
	font-size: 30px;
	color: var(--white);
}
.contact_input::-webkit-input-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_input:-moz-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_input::-moz-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
} 
.contact_input:-ms-input-placeholder
{ 
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_input::input-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_textarea::-webkit-input-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_textarea:-moz-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_textarea::-moz-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
} 
.contact_textarea:-ms-input-placeholder
{ 
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_textarea::input-placeholder
{
	font-size: 30px !important;
	font-weight: 300 !important;
	color: var(--textColor) !important;
	letter-spacing: 0.165em;
	text-transform: uppercase;
}
.contact_button
{
	display: inline-block;
	position: relative;
	height: 127px;
	border: solid 2px #3f444a;
	padding-left: 76px;
	padding-right: 76px;
	line-height: 123px;
	font-family: var(--font1);
	font-size: 30px;
	font-weight: 300;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--textColor);
	background-color: var(--background-dark);
}
.contact_button::before
{
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	content: '';
	width: 100%;
	height: 100%;
	border: solid 2px #3f444a;
	z-index: -1;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_button:hover::before
{
	background-color: var(--textColor);
}
.form-status
{
	margin-top: 40px;
}

/*********************************
16. Footer
*********************************/

.footer_container
{
	height: 144px;
	background-color: transparent;
	border-top: solid 2px var(--border);
	padding-left: 96px;
	padding-right: 96px;
}
.footer_logo
{
	font-family: var(--font2);
	color: var(--textColor2);
	font-size: 40px;
	letter-spacing: 0.02em;
	-webkit-transform: translateY(-4px);
	-moz-transform: translateY(-4px);
	-ms-transform: translateY(-4px);
	-o-transform: translateY(-4px);
	transform: translateY(-4px);
}
.footer_social a
{
	font-family: var(--font1);
	font-size: 22px;
	font-weight: 300;
	color: var(--textColor3);
	letter-spacing: 0.2em;
}
.footer_social a:not(:last-child)
{
	margin-right: 60px;
}
.footer_social a:hover
{
	color: var(--textColor);
}