html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
 -webkit-text-size-adjust: none;
}
:focus{/* remember to define focus styles! */
	outline: 0px dashed #FFF;
    outline-offset: 1px;
}
ol, ul{
	margin: 0;
	padding: 0px 0px 10px 30px;
}
table{
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
embed, iframe, object {
	max-width: 100%;
}
/* Fonts */
@font-face {
    font-family: 'Span';
    src: url('../fonts/Span-Thin.woff2') format('woff2'),
        url('../fonts/Span-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Span';
    src: url('../fonts/Span-Light.woff2') format('woff2'),
        url('../fonts/Span-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Span';
    src: url('../fonts/Span-Regular.woff2') format('woff2'),
        url('../fonts/Span-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Span';
    src: url('../fonts/Span-Semibold.woff2') format('woff2'),
        url('../fonts/Span-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Light.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Roman.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Roman.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Medium.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Bold.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


:root{
    --font-size-xl: 64px;
    --font-size-lg: 32px;
    --font-size-md: 16px;
    --font-size-sm: 12px;
}



/* Global
----------------------------------------------- */
body{
    color: #FFF;
    background: #000;
    word-wrap: break-word;
    line-height:1.4;
    font-size: 16px;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "Span", Arial, Helvetica, sans-serif;
}
html, body {
    min-height: 100vh;
}
/* No Border/Margin/Padding */
.no-margin-top {
	margin-top:0px !important;
}
.no-margin-bottom {
	margin-bottom:0px !important;
}
.no-margin-left {
	margin-left:0px !important;
}
.no-margin-right {
	margin-right:0px !important;
}
.no-padding-top {
	padding-top:0px !important;
}
.no-padding-bottom {
	padding-bottom:0px !important;
}
.no-padding-left {
	padding-left:0px !important;
}
.no-padding-right {
	padding-right:0px !important;
}
.no-border-top {
	border-top:0 none !important;
}
.no-border-bottom {
	border-bottom:0 none !important;
}
.no-border-left {
	border-left:0 none !important;
}
.no-border-right {
	border-right:0 none !important;
}
.mt-10{ margin-top: 10px}
.mt-20{ margin-top: 20px}
.mt-30{ margin-top: 30px}
.mt-40{ margin-top: 40px}
.mb-10{ margin-bottom: 10px}
.mb-20{ margin-bottom: 20px}
.mb-30{ margin-bottom: 30px}
.mb-40{ margin-bottom: 40px}

.pt-10{ padding-top: 10px}
.pt-20{ padding-top: 20px}
.pt-30{ padding-top: 30px}
.pt-40{ padding-top: 40px}
.pb-10{ padding-bottom: 10px}
.pb-20{ padding-bottom: 20px}
.pb-30{ padding-bottom: 30px}
.pb-40{ padding-bottom: 40px}
/* Horizontal Line */
hr {
	border-color: #eaeaea;
	border-style: solid none none;
	border-width: 1px 0 0;
	height: 0;
	margin: 0 0 0px;
}

@supports(padding: max(0px)) {
  body {
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
  }
}


/* Text elements */
p {
	margin-bottom: 15px;
    line-height: 1.5;
}
strong {
    font-weight: 700;
}
cite, em, i {
	font-style: italic;
}
pre {
	background-color: #fff;
	margin-bottom: 20px;
	overflow: auto;
	padding: 20px;
}
pre, code, kbd {
	font-family:"Courier 10 Pitch",Courier,monospace;
	font-size: 14px;
	line-height: 19px;
	background-color: #F9F9F9;
}
abbr, acronym, dfn {
	border-bottom: 1px dotted #666;
	cursor: help;
}
address {
	display: block;
	margin: 0 0 1.625em;
}
ins {
	background: #fff9c0;
}

/* Superscript and Subscript */
sup, sub {
	font-size: 12px;
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}

/* Blockquote */
blockquote {
	font-style: italic;
	font-weight: normal;
	padding: 20px;
	border-left: 4px solid #000;
	margin-bottom: 20px;
	background-color: #F9F9F9;
}
blockquote p {
	margin: 0;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote cite {
	color: #666;
	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Forms */
input, textarea {
	 -webkit-border-radius: 0px;
}
input[type="text"],
input[type="file"],
input[type="email"],
input[type="date"],
input[type="search"],
input[type="password"],
textarea {
	-moz-appearance: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
input[type="text"],
input[type="file"],
input[type="email"],
input[type="date"],
input[type="tel"],
input[type="password"],
textarea, select {
	padding: 8px 12px;
	border: 1px solid #212121;
	line-height: 20px;
	width: 100%;
	margin: 0 0 10px;
	background-color: #212121;
	border-radius:4px;
	height: 40px;
    font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
	color: rgba(255, 255, 255, 0.50);
    
}
textarea{ resize: none; height: 110px}

input[type="reset"],
input[type="button"],
input[type="submit"], .button,
.wp-block-button.is-style-fill .wp-element-button{
    display:inline-block;
    margin:10px 0 10px 0px;
    padding:12px 16px;
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer;
    background: #FFF;
    backdrop-filter: blur(10px);
    font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #000;
    border:none;
    font-size: 16px;
    vertical-align: top;
    text-align: center;
    line-height: 1.55;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-weight: 400;
    position: relative;
    border: none;
    border-radius: 6px;
	min-width: 110px;
}
input[type="reset"]:hover,
input[type="button"]:hover,
input[type="submit"]:hover, .button:hover,
.wp-block-button.is-style-fill .wp-element-button:hover{
    background: #e6e6e6;
    color:#000;
}

input[type="reset"].btn-dark,
input[type="button"].btn-dark,
input[type="submit"].btn-dark, .button.btn-dark,
.wp-block-button.is-style-fill.btn-dark .wp-element-button{
    border-color: #33312E;
    color: #33312E;
}
input[type="reset"].btn-dark:hover,
input[type="button"].btn-dark:hover,
input[type="submit"].btn-dark:hover, .button.btn-dark:hover,
.wp-block-button.is-style-fill.btn-dark .wp-element-button:hover{
    background: #33312E;
    color: #E7E1DA;
}

select {
  appearance: none;
  -webkit-appearance: none;
}

a.btn-icon .btn-icon {
    position: relative;
    width: 15px;
    height: 15px;
    overflow: hidden;
    display: inline-block;
    margin: 3px 0px -3px 8px;
}
a.btn-icon .btn-icon::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/btn-arrow.svg) scroll center no-repeat;
    transition: all 0.3s ease;
    background-size: 10px;
    background-position: -50% 50%;
    right: -5px;
}
a.btn-icon .btn-icon::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/btn-arrow.svg) scroll center no-repeat;
    transition: all 0.3s ease;
    background-size: 10px;
    background-position: -50% 50%;
    right: 15px;
}
a.btn-icon:hover .btn-icon::after{
    right: -15px;
}
a.btn-icon:hover .btn-icon::before {
    right: -5px;
}

/* Links */
a {
	color: #FFF;
	text-decoration: none;
	cursor: pointer
}
a:focus, a:active, a:hover {
	text-decoration: none;
}
a:hover{  color:#ebebeb;}
/* Images */
figure {
	margin: 0;
	text-align: center;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:top;
}
.entry-content img, .comment-content img, .widget img {
	max-width: 100%; /* Fluid images for posts, comments, and widgets */
}

h1, h2, h3, h4, h5, h6 {
margin: 0px 0px 25px 0px;
padding: 0px;
font-family: 'Helvetica Neue';
font-weight: 400;
line-height: normal;
}

h1{font-size:64px;}
h2{font-size:56px;}
h3{font-size:48px;}
h4{font-size:40px;}
h5{font-size:32px;}
h6{font-size:24px;}

.show {display: block;}
.hidden {display: none;}
.invisible{visibility: hidden;}

/* clearfix hack */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
/* start commented backslash hack \*/
* html .clearfix {
	height:1%;
}
.clearfix {
	display: block;
}
/* close commented backslash hack */
.clear {
	clear: both;
}
.fl{ float:left}
.fr{ float:right}
.rel{ position:relative}
.text-center{ text-align:center}
.text-left{ text-align: left}
.text-right{ text-align: right}
*,
*:before,
*:after {
  box-sizing: border-box;
-webkit-box-sizing: border-box;
}


.kb-container{ width:100%; margin: 0 auto; padding: 0px 40px;}
.kb-container-md{ width: 100%; max-width:1280px; margin: 0 auto; padding: 0px 24px;}
.kb-container-sm{ width: 100%; max-width:1080px; margin: 0 auto; padding: 0px 24px;}
.kb-container-xs{ width: 100%; max-width: 860px; margin: 0 auto; padding: 0px 24px;}

/* =======================================================================================
Header style
========================================================================================== */
body.open{ overflow: hidden}
header{ padding: 20px 0px; z-index:99; position: absolute; width: 100%; left: 0; right: 0; top: 0px; -webkit-transition: 0.3s linear all; transition: 0.3s linear all; }
header.small_sticky{position:fixed; padding: 20px 0px; box-shadow: 0px 0px 26px #0000000F; }
header.header_sticky{ background: #000; }
header:after, .footer-top:after{ display: table; clear: both; content:""}
header > .kb-container{ display:flex; justify-content:space-between; align-items:center; position: relative;}
.logo{ width: 220px; transition: all 0.4s ease;}
header.small_sticky .logo { width: 180px;}
.logo img{ max-height: 75px; transition: all 0.4s ease; -webkit-transition: all 0.4s ease; }
.navigation{ display: inline-block;float: right; }
header.main-header.reveal{ opacity: 1; transform: translateY(0); transition-delay: 0s;}
header.main-header.small_sticky.scrolled-down { transform: translateY(-100%); }
header.main-header.small_sticky.scrolled-up { transform: translateY(0%); }
header.main-header::before {
    position: absolute;
    content: "";
    width: 0%;
    height: 1px;
    background: #FFF;
    bottom: 0;
    transition: all 1.5s ease;
    transition-delay: 0.25s;
    right: 50%;
}
header.main-header::after {
    position: absolute;
    content: "";
    width: 0%;
    height: 1px;
    background: #FFF;
    bottom: 0;
    transition: all 1.5s ease;
    transition-delay: 0.25s;
    left: 50%;
}
header.main-header.visible::before,
header.main-header.visible::after{
    width: 50%;
}
/* =======================================================================================
Humburger Aniamtion
========================================================================================== */
.humbur{margin: 0px; display: none}
.humbur a{position: relative; display: block; height: 24px; width: 24px; top: 0px;}
.humbur a .c-trigger{ background: #FFF; width: 100%; height: 2px; content: ""; display: block; position: absolute;  right: 0; margin: auto; -webkit-transition: 0.3s linear all; transition: 0.3s linear all; top: 4px}
.humbur a span.middle-trigger{top:12px;}
.humbur a span.bottom-trigger{top:20px}
.humbur a:hover .c-trigger{ }
header.small_sticky .humbur a .c-trigger{ background: #E7E1DA}
.open .humbur a .top-trigger.c-trigger { transform: rotate(45deg); top: 12px; width: 90%; }
.open .humbur a span.middle-trigger { opacity: 0; }
.open .humbur a .c-trigger.bottom-trigger { transform: rotate(-45deg); top: 12px; width: 90%; }
/* =======================================================================================
Nav style
========================================================================================== */
.menu {margin: 0px 0px 0px 0px;font-family: 'Helvetica Neue';padding:0px 0px 0px 0px;display: inline-block;vertical-align: middle}
.menu > li {margin:0px 18px 0;position: relative;list-style: none;vertical-align: middle;text-align: center; z-index:9; line-height: normal; float: left }
.menu > li:last-child{ margin-right: 0px}
.menu > li > a{color:#FFF;font-size:16px;font-family: 'Helvetica Neue'; font-weight: 400; padding: 17px 1px 16px; line-height:1.5; display: block;transition:all 0.3s ease;-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;position:relative;-webkit-transform:perspective(1px) translateZ(0); transform: perspective(1px);}
.menu > li > a:after {content: ""; position: absolute;left: 50%; right: 50%;bottom:10px;background:#FFF; height:1px;-webkit-transition-property: left, right;transition-property: left, right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
.menu > li:hover > a:after, .menu > li.current-menu-item > a:after, .menu > li.current-menu-parent > a:after, .menu > li.current-menu-ancestor > a:after{left:0;right:0;}
.menu > li > a:hover, .menu > li.current-menu-item > a, .menu > li.current-menu-parent > a, .menu > li.current-menu-ancestor > a{color: #FFF;}


.menu > li:hover > ul, .menu ul li:hover > ul{display: block;}
.menu ul {margin:0; padding:15px 10px; background:#FFF; z-index: 99; width: max-content; min-width:160px; position: absolute; left: 0px; top: calc(100% + 8px); display: none; border-radius: 10px; -webkit-box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.1);box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.1);}
.menu ul ul {left: 100%;top: 0;}
.menu ul ul {left: 0px; top: 4px; display: block; position: relative; width: 100%; box-shadow: none; padding: 0 0 4px 15px; }
.menu ul li {margin: 0;padding:0;float: none;display: block;line-height: normal;text-align: left;position: relative;-webkit-transition: all .25s ease; }
.menu ul li a{display: block;padding:7px 12px;color: #2B392B;  font-size:17px; line-height: 18px;border-bottom: 1px solid rgba(255, 255, 255, 0.08) ; text-transform: inherit}
.menu ul ul li a {
  padding: 5px 12px;
  font-size: 15px;
}
.menu > li a.arrow-nav {
    display: none;
}
.menu > li > ul::before {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  background: #FFF;
  left: 20px;
  top: -6px;
  transform: rotate(45deg);
  border-top: 1px solid #efefef;
  border-left: 1px solid #efefef;
}
.menu > li > ul::after {
  position: absolute;
  content: '';
  width: 100%;
  height: 30px;
  left: 0;
  top: -20px;
}
.menu ul li a:hover, .menu ul li.current-menu-item > a, .menu ul li:hover > a{ color: #847D78; }
.menu ul, .menu a{-webkit-transition: all 0.5s ease;transition: all 0.5s ease;}
.menu > li:hover > ul{display: block; -webkit-animation:menu_up ease-out 0.4s 0s;-webkit-animation-fill-mode:both; -webkit-animation:menu_up ease-out 0.4s 0s; animation:menu_up ease-out 0.4s 0s; -webkit-animation-fill-mode:both; animation-fill-mode:both;}
@-webkit-keyframes menu_up{
	0%{-webkit-transform:translateY(50px);opacity:0;}
	100%{-webkit-transform:translateY(0px);opacity:1;}
}
@keyframes menu_up{
	0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0;}
	100%{-webkit-transform:translateY(0px);transform:translateY(0px);opacity:1;}
}
header.small_sticky .menu > li > a{ color: #FFF;}
header.small_sticky .menu > li > a:hover{ color: #FFF;}
header.header_sticky .menu > li > a:hover{ color: #FFF;}
header.small_sticky .logo a.dt_logo{ display: none;}
header.small_sticky .logo a.sticky_logo{ display: block;}
header.small_sticky .logo img { max-height: 75px;}
header.small_sticky .menu > li > a:after{ background: #FFF;}
.header-res-menu {display: none;}

/*****  Header ******/
/* =======================================================================================
Banner style
========================================================================================== */
.banner{ background: #000; height: calc(100vh - 0px); height: calc(100dvh - env(safe-area-inset-bottom)); position: relative; overflow: hidden; }
.banner ul{ margin: 0px; padding: 0px;}
.banner ul li img{ margin: 0 auto; display: block; width: 100%}
.ban-vid {
    width: 100%;
    height: 100%;
}
.ban-vid video#bannerVideo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    
}
.vimeo-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}
.vimeo-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ban-content{
    position: absolute;
    width: 100%;
    max-width: 720px;
    text-align: center;
    left: 50%;
    top: calc(50% + 60px);
    transform: translate(-50%, -50%);
}
.ban-content h2{
    font-family: 'span', Arial, Helvetica, serif;
}
.ban-content span.reveal{
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.5s ease 0.5s, transform 1.5s ease 0.5s;
}
.ban-content span.reveal.visible{
    opacity: 1;
    transform: translateY(0);
}
.ban-content span.reveal.visible:nth-child(1){
    transition-delay: 1.5s;
}
.ban-content span.reveal.visible:nth-child(2){
    transition-delay: 2.5s;
}
.ban-content span.reveal.visible:nth-child(3){
    transition-delay: 3.5s;
}
.ban-content .button{
    margin: 0;
}
.ban-content .button.reveal {
    opacity: 0;
    transform: translateY(50px);
}
.ban-content .button.reveal.visible {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 4.5s;
}

/*** common styles ***/
.font-thin{ font-weight: 100 !important}
.font-light{ font-weight: 300 !important}
.font-regular{ font-weight: 400 !important}
.font-bold{ font-weight: 600 !important}
.font-exbold{ font-weight: 700 !important}
.font-black{ font-weight: 900 !important}
.font-serif{ font-family: "PT Serif", serif; }
.title-initial{ text-transform: initial; }

a.link{ position: relative; color: #E7E1DA margin: 0 0 15px; padding: 0 0 15px; display: inline-block;}
a.link:hover{ color: #E7E1DA }
a.link::after {
    position: absolute;
    content: '';
    width: 24px;
    height: 1px;
    background: #E7E1DA;
    left: 0;
    bottom: 0;
    transition: all 0.4s ease;
}
a.link:hover::after {
    width: 64px;
}
.flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.spacing-xl{ padding: 120px 0; position: relative; }
.spacing-lg{ padding: 100px 0; }
.spacing-md{ padding: 120px 0; }
.spacing-sm{ padding: 40px 0; }

.spacing-xl::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: radial-gradient(circle, #7a7a7a 1px, transparent 1px);
    background-size: 4px 2px;
    background-repeat: repeat-x;
}

.font-lg p,
.kb-title{
    font-size: 26px;
    font-family: 'Span', Helvetica, Arial, serif;
    font-weight: 400;
    line-height: 1.3;
}
.kb-title-lg{
    font-size: 64px;
    font-family: 'Span', Helvetica, Arial, serif;
    font-weight: 400;
    line-height: 1.3;
}
.title-sm{
    font-size: 18px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-style: normal;
    color: #7a7a7a;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
}
.intro-title {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 24px;
    max-width: 50%;
}
.title-content p{
    margin: 0;
}
.intro-title h2 {
    margin: 0;
}
.flex-center{ justify-content: center;}
.kb-btn-holder {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.kb-btn-holder .button{
    margin: 0;
}

/**** hm About ***/
.kb-about-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.kb-about-content {
    width: 50%;
}
.kb-about-wrap .kb-btn-holder {
    margin: 40px 0 0;
}

/** hm proj **/
.kb-proj-item-content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 32px;
    padding: 16px 0 0;
}
.kb-proj-item a {
    display: block;
    width: 100%;
    padding: 0 0 32px;
    border-bottom: 1px solid #444;
    transition: all 0.5s ease;
}
.kb-proj-item a:hover{
    border-bottom: 1px solid #FFF;
}
.kb-proj-item-img {
    width: 100%;
    overflow: hidden;
}
.kb-proj-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1.6;
    transition: all 0.6s ease-in-out;
}
.kb-proj-item a:hover .kb-proj-item-img img{
    transform: scale(1.025);
}
.kb-projects-wrap {
    padding: 80px 0 0;
}
.kb-proj-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 104px 32px;
}
.kb-proj-item {
    display: flex;
    flex-wrap: wrap;
}
.kb-proj-flex .kb-proj-item{
    flex: 0 0 calc(25% - 24px);
}

.kb-proj-flex:has(.kb-proj-item:nth-child(4n+2):last-child) .kb-proj-item:nth-child(1),
.kb-proj-flex:has(.kb-proj-item:nth-child(4n+2):last-child) .kb-proj-item:nth-child(2){
    flex: 0 0 calc(50% - 16px);
}
.kb-proj-flex:has(.kb-proj-item:nth-child(3n+3):last-child) .kb-proj-item{
    flex: 0 0 calc(33.333% - 21.3334px);
}
.kb-proj-flex:has(.kb-proj-item:nth-child(4):last-child) .kb-proj-item{
    flex: 0 0 calc(25% - 24px);
}

.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(6),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(5),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(5),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(4),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(4),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(3),
.kb-proj-flex .kb-proj-item:nth-child(3):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(4):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(8),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(7){
    flex: 0 0 calc(50% - 16px);
}

.kb-proj-flex .kb-proj-item:nth-child(3):nth-last-child(3),
.kb-proj-flex .kb-proj-item:nth-child(4):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(5):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(8):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(7):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(6):nth-last-child(3),
.kb-proj-flex .kb-proj-item:nth-child(5):nth-last-child(4),
.kb-proj-flex .kb-proj-item:nth-child(4):nth-last-child(5),
.kb-proj-flex .kb-proj-item:nth-child(3):nth-last-child(6),
.kb-proj-flex .kb-proj-item:nth-child(3):nth-last-child(5),
.kb-proj-flex .kb-proj-item:nth-child(2):nth-last-child(6),
.kb-proj-flex .kb-proj-item:nth-child(1):nth-last-child(7){
    flex: 0 0 calc(33.333% - 21.334px);
}
.kb-proj-flex .kb-proj-item:nth-child(3):nth-last-child(4),
.kb-proj-flex .kb-proj-item:nth-child(4):nth-last-child(3),
.kb-proj-flex .kb-proj-item:nth-child(5):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(6):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(7):nth-last-child(1),
.kb-proj-flex .kb-proj-item:nth-child(6):nth-last-child(2),
.kb-proj-flex .kb-proj-item:nth-child(5):nth-last-child(3),
.kb-proj-flex .kb-proj-item:nth-child(4):nth-last-child(4),
.kb-proj-flex:has(.kb-proj-item:nth-child(3n+3):last-child) .kb-proj-item:nth-child(3):nth-last-child(4),
.kb-proj-flex:has(.kb-proj-item:nth-child(3n+3):last-child) .kb-proj-item:nth-child(4):nth-last-child(3),
.kb-proj-flex:has(.kb-proj-item:nth-child(3n+3):last-child) .kb-proj-item:nth-child(5):nth-last-child(2),
.kb-proj-flex:has(.kb-proj-item:nth-child(3n+3):last-child) .kb-proj-item:nth-child(6):nth-last-child(1){
    /*flex: 0 0 calc(25% - 24px);*/
}




.kb-projects-wrap .kb-btn-holder {
    margin: 80px 0 0;
}
.kb-proj-item-info {
    width: 100%;
}

.kb-proj-item-status { /** project Status hide as of now - will show in future **/
    display: none;
}

.kb-proj-item-info span{ display: block;}
.kb-proj-item-info .proj-title {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.kb-proj-item-info .proj-name,
.kb-proj-item-status span{
    font-size: 16px;
    font-style: normal;
    color: #7a7a7a;
    font-weight: 400;
    line-height: 1.5;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/*** hm news ***/
.kb-hm-news-wrap {
    padding: 80px 0 0;
}
.kb-hm-news-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}
.kb-hm-news-item {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 calc(25% - 24px);
    max-width: calc(33.3% - 21.334px);
}
.kb-hm-news-item-content {
    padding: 16px 0 0;
}
.kb-hm-news-item-content h4 {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}
.kb-hm-news-item a {
    display: block;
	width: 100%;
    padding: 0 0 32px;
    border-bottom: 1px solid #444;
    transition: all 0.5s ease;
}
.kb-hm-news-item a:hover{
    border-bottom: 1px solid #FFF;
}
.kb-hm-news-wrap .kb-btn-holder {
    margin: 80px 0 0;
}
.kb-hm-news-item-img{
    width: 100%;
    overflow: hidden;
}
.kb-hm-news-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1.6;
    transition: all 0.6s ease-in-out;
}
.kb-hm-news-item a:hover .kb-hm-news-item-img img{
    transform: scale(1.025);
}




/* =======================================================================================
Footer
========================================================================================== */
footer{ overflow: hidden; position: relative;}
footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: radial-gradient(circle, #7a7a7a 0px, transparent 1.5px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
}
.footer-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 48px 0 0;
    border-top: 1px solid #837e7a;
}
.footer-top {
    display: flex;
    flex-wrap: wrap;
    padding: 120px 0 100px;
    column-gap: 32px;
}
.fot-top-left {
    width: 100%;
}
.fot-top-right {
    width: calc(30% - 16px);
    display: none;
}
.fot-top-row {
/*     padding: 40px 0 0; */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.fot-top-row .fot-top-col {
    width: 20%;
}
.fot-top-row .fot-top-logo {
    width: 100%;
    padding-bottom: 40px;
}
.fot-top-col.fot-form {
    width: 25%;
    margin: -85px 0 0 15%;
}
.fot-top-row .fot-top-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fot-top-row .fot-top-col ul li,
.fot-top-row .fot-top-col p,
.fot-form p{
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    font-family: 'Helvetica Neue';
}
.fot-top-row .fot-top-col ul li{
    padding: 0 0 4px;
}
.fot-top-row .fot-top-col h5{
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    font-family: 'Helvetica Neue';
    text-transform: uppercase;
    margin: 0 0 5px;
}

.foo-logo {
    width: 100%;
    height: auto;
    margin-bottom: 30px;
}
.foo-logo img.foo-logo-img{
    width: 100%;
}

.footer-bot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 0 24px;
}
.footer-bot-left {
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 400;
    font-family: 'Helvetica Neue';
}
.fot-copyright p {
    font-size: 12px;
    font-family: 'Helvetica Neue', Helvetica, Arial, serif;
    font-weight: 400;
    line-height: 1.5;
	margin: 0;
}
.fot-terms-links {
    padding-left: 40px;
}
.fot-terms-links ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 40px;
}
.fot-terms-links ul li {
    font-size: 12px;
    line-height: 1.5;
    font-family: 'Helvetica Neue', Helvetica, Arial, serif;
}
.footer-bot.reveal{
    transform: translateY(-50px);
}
.footer-bot.reveal.visible{
    transform: translateY(0px);
}
.fot-form p{
    margin: 0;
}
.fot-form .wpcf7 {
    padding: 32px 0 0;
}
.fot-form .wpcf7 p {
    padding: 0 0 8px;
    position: relative;
}
.fot-form .wpcf7 p:last-of-type {
    padding: 0;
}
.fot-form .wpcf7 p input[type="submit"]{
    padding-right:  30px;
}
form p{
    position: relative;
}
form p input[type="submit"] {
    padding-right: 30px;
    margin: 0;
}

input[type="submit"] + span + span.btn-icon {
    position: absolute;
    width: 15px;
    height: 15px;
    overflow: hidden;
    display: inline-block;
    margin: 2px 0px -2px 8px;
    left: 72px;
    top: 14px;
    pointer-events: none;
}
input[type="submit"] + span + span.btn-icon::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/btn-arrow.svg) scroll center no-repeat;
    transition: all 0.3s ease;
    background-size: 10px;
    background-position: -50% 50%;
    right: -5px;
}
input[type="submit"] + span + span.btn-icon::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/btn-arrow.svg) scroll center no-repeat;
    transition: all 0.3s ease;
    background-size: 10px;
    background-position: -50% 50%;
    right: 15px;
}
input[type="submit"]:hover + span + span::before {
    right: -5px;
}
input[type="submit"]:hover + span + span::after {
    right: -15px;
}

.fot-form .btn-field p br,
.ct-ctform .btn-field p br{
    display: none;
}
.fot-form .wpcf7-form.invalid .wpcf7-response-output,
.ct-ctform .wpcf7-form.invalid .wpcf7-response-output{
    display: none;
}
.fot-form .wpcf7-form.invalid .wpcf7-not-valid-tip,
.fot-form .wpcf7-form .wpcf7-not-valid-tip,
.ct-ctform .wpcf7-form.invalid .wpcf7-not-valid-tip,
.ct-ctform .wpcf7-form .wpcf7-not-valid-tip{
    font-size: 14px;
    padding: 4px 10px;
    background: #dc3232;
    font-family: "Helvetica Neue";
    width: fit-content;
    max-width: 100%;
    color: #FFF;
    border-radius: 4px;
    position: relative;
    margin: -5px 0 0;
}
.fot-form .wpcf7-form.invalid .wpcf7-not-valid-tip::before,
.fot-form .wpcf7-form .wpcf7-not-valid-tip::before,
.ct-ctform .wpcf7-form.invalid .wpcf7-not-valid-tip::before,
.ct-ctform .wpcf7-form .wpcf7-not-valid-tip::before{
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    background: #dc3232;
    transform: rotate(45deg);
    left: 10px;
    top: -4px;
}

/******* reveal *******/
.reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease-in-out 0.05s, transform 1s ease-in-out 0.05s;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
.delay-1{ transition-delay: 0.5s; }
.delay-2{ transition-delay: 0.75s; }
.delay-3{ transition-delay: 1s; }
.delay-4{ transition-delay: 1.25s; }
.delay-5{ transition-delay: 1.5s; }
.delay-6{ transition-delay: 1.75s; }


/**** Inner About Page ****/
.partner-wrap {
    padding: 80px 0 0;
}
.partner-wrap .partners {
    padding: 0;
    margin: 0;
    list-style: none;
    column-count: 4;
    column-gap: 32px;
}
.partner-wrap .partners li {
    font-size: 16px;
    font-family: 'Helvetica Neue', Helvetica, Arial, serif;
    font-weight: 400;
    line-height: 1.5;
    padding: 0 0 5px;
}
.partner-wrap .partners li a{
    position: relative;
    color: #f2f2f2;
}
.partner-wrap .partners li a:after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: -2px;
    background: #7a7a7a;
    height: 1px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.25s;
    transition-duration: 0.25s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.partner-wrap .partners li a:hover:after{
    left: 0;
    right: 0;
    background: #F2F2F2;
}


/**** Scroll Top *****/
.scrollTop{position:fixed;right:40px;bottom:80px;background-color:#000;width:56px; border: 1px solid #666; opacity:0; -webkit-transition:all .4s ease;transition:all .4s ease;z-index:90;height:56px;line-height:50px;text-align:center;border-radius:50%;display: none;}
.scrollTop:hover{background-color:#f6f6f6;}
.scrollTop a{display: block; width: 100%; height: 100%; text-align: center; line-height: 56px;}
.scrollTop span{ display: inline-block; width: 18px; height: 18px; position: relative; cursor: pointer; text-indent: -9999px; transform: translate(0%, 14px);}
.scrollTop span:before,.scrollTop span:after{content:'';position:absolute;-webkit-transition:all .6s ease;transition:all .6s ease}
.scrollTop:focus,.scrollTop:active,.scrollTop span:focus,.scrollTop span:active{outline-offset:3px}
.scrollTop span:before{width:14px;height:14px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg); background: url(../images/btn-arrow.svg) scroll center no-repeat; filter: contrast(1) invert(1);left:2px;top:6px;opacity:0.9}
.scrollTop span:after{width:14px;height:14px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg); background: url(../images/btn-arrow.svg) scroll center no-repeat; left:2px;top:16px;opacity:0}
.scrollTop span a{text-indent:-99999px;display: inline-block;}
.scrollTop span:hover:before, .scrollTop span:hover:after{top:4px;opacity: 1;}
.scrollTop a:hover span:before{ top:-6px;opacity: 0; }
.scrollTop a:hover span:after{ top:6px;opacity: 1; }

/**********************
   Slick Slider
***********************/
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}
.slick-list.dragging{cursor:pointer;cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}
.slick-track:before,.slick-track:after{display:table;content:''}
.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left;height:100%;min-height:1px}
[dir='rtl'] .slick-slide{float:right}
.slick-slide img{display:block}
.slick-slide.slick-loading img{display:none}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}
.slick-arrow.slick-hidden{display:none}
/* Slider End */

.fot-top-row .fot-top-row, .hdr-terms.fot-terms-links {display: none;}
body.page-id-17 .fot-top-col.fot-form {visibility: hidden; height: 0;}
.legacy-proj-list .kb-proj-item:last-child a {border-bottom: none;}