﻿/* February 2023 - Yuxek Kadrius - kadri@yuxek.com */
:root { --bgdark: #242424;  --input-padding-x: 1.35rem;   --input-padding-y: 1.45rem; }
body { background: #fff; font-family: 'Inter', sans-serif; font-size: 2rem; color: #242424 }
a, a:focus, a:hover, a:visited { text-decoration: none; color: #242424; }

ul { margin: 0; padding: 0; list-style-type: none; }

.btn { font-size: 12px; padding: 20px 68px; }
a.btn-ghost, .btn-ghost { border: 1px solid #fff; border-radius: 0; position: relative; transition: all .6s; color: #fff; }
.btn-ghost:after { content: ''; display: block; position: absolute; z-index: -1; left: 0; top: 0; width: 0; height: 100%; background: #fff; transition: all .6s; }
.btn-ghost:hover { color: #242424 }
.btn-ghost:hover:after { width: 100%; }
.btn-ghost:focus { color: #fff }

a.btn-black, .btn-black { background: #000; border: 1px solid #000; border-radius: 0; position: relative; transition: all .6s; color: #fff; }
a.btn-black:hover, .btn-black:hover { background: #fff; }

a.btn-ghostlight, .btn-ghostlight { background: #fff; border: 1px solid #000; border-radius: 0; position: relative; transition: all .6s; color: #000; }
a.btn-ghostlight:hover, .btn-ghostlight:hover { background: #000; color: #fff; }

.loader { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; display: flex; justify-content: center; align-items: center; z-index: 99; transition: all 0.2s linear; }
.loader svg path { opacity: 0; }
body.loaded .loader { opacity: 0; visibility: hidden; }
body.menuactive { height: 100vh; overflow: hidden; }

@-webkit-keyframes animate-svg-fill {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes animate-svg-fill {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@-webkit-keyframes animate-svg-fill-reverse {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes animate-svg-fill-reverse {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

.svg-elem-1 { -webkit-animation: animate-svg-fill 0.7s linear 0.8s both; animation: animate-svg-fill 0.7s linear 0.8s both; }
.svg-elem-2 { -webkit-animation: animate-svg-fill 0.7s linear 0.9s both; animation: animate-svg-fill 0.7s linear 0.9s both; }
.svg-elem-3 { -webkit-animation: animate-svg-fill 0.7s linear 1.0s both; animation: animate-svg-fill 0.7s linear 1.0s both; }
.svg-elem-4 { -webkit-animation: animate-svg-fill 0.7s linear 1.1s both; animation: animate-svg-fill 0.7s linear 1.1s both; }
.svg-elem-5 { -webkit-animation: animate-svg-fill 0.7s linear 1.2s both; animation: animate-svg-fill 0.7s linear 1.2s both; }
.svg-elem-6 { -webkit-animation: animate-svg-fill 0.7s linear 1.3s both; animation: animate-svg-fill 0.7s linear 1.3s both; }
.svg-elem-7 { -webkit-animation: animate-svg-fill 0.7s linear 1.4s both; animation: animate-svg-fill 0.7s linear 1.4s both; }
.svg-elem-8 { -webkit-animation: animate-svg-fill 0.7s linear 1.5s both; animation: animate-svg-fill 0.7s linear 1.5s both; }
.svg-elem-9 { -webkit-animation: animate-svg-fill 0.7s linear 1.6s both; animation: animate-svg-fill 0.7s linear 1.6s both; }
.svg-elem-10 { -webkit-animation: animate-svg-fill 0.7s linear 1.7s both; animation: animate-svg-fill 0.7s linear 1.7s both; }
.svg-elem-11 { -webkit-animation: animate-svg-fill 0.7s linear 1.8s both; animation: animate-svg-fill 0.7s linear 1.8s both; }
.svg-elem-12 { -webkit-animation: animate-svg-fill 0.7s linear 1.9s both; animation: animate-svg-fill 0.7s linear 1.9s both; }
.svg-elem-13 { -webkit-animation: animate-svg-fill 0.7s linear 2.0s both; animation: animate-svg-fill 0.7s linear 2.0s both; }
.svg-elem-14 { -webkit-animation: animate-svg-fill 0.7s linear 2.1s both; animation: animate-svg-fill 0.7s linear 2.1s both; }
.svg-elem-15 { -webkit-animation: animate-svg-fill 0.7s linear 2.2s both; animation: animate-svg-fill 0.7s linear 2.2s both; }
.svg-elem-16 { -webkit-animation: animate-svg-fill 0.7s linear 2.3s both; animation: animate-svg-fill 0.7s linear 2.3s both; }
.svg-elem-17 { -webkit-animation: animate-svg-fill 0.7s linear 2.4s both; animation: animate-svg-fill 0.7s linear 2.4s both; }
.svg-elem-18 { -webkit-animation: animate-svg-fill 0.7s linear 2.5s both; animation: animate-svg-fill 0.7s linear 2.5s both; }
.svg-elem-19 { -webkit-animation: animate-svg-fill 0.7s linear 2.6s both; animation: animate-svg-fill 0.7s linear 2.6s both; }
.svg-elem-20 { -webkit-animation: animate-svg-fill 0.7s linear 2.7s both; animation: animate-svg-fill 0.7s linear 2.7s both; }
.svg-elem-21 { -webkit-animation: animate-svg-fill 0.7s linear 2.8s both; animation: animate-svg-fill 0.7s linear 2.8s both; }
.svg-elem-22 { -webkit-animation: animate-svg-fill 0.7s linear 2.9s both; animation: animate-svg-fill 0.7s linear 2.9s both; }
.svg-elem-23 { -webkit-animation: animate-svg-fill 0.7s linear 3.0s both; animation: animate-svg-fill 0.7s linear 3.0s both; }
.svg-elem-24 { -webkit-animation: animate-svg-fill 0.7s linear 3.1s both; animation: animate-svg-fill 0.7s linear 3.1s both; }
.svg-elem-25 { -webkit-animation: animate-svg-fill 0.7s linear 3.2s both; animation: animate-svg-fill 0.7s linear 3.2s both; }
.svg-elem-26 { -webkit-animation: animate-svg-fill 0.7s linear 3.3s both; animation: animate-svg-fill 0.7s linear 3.3s both; }

.loader.reverse .svg-elem-1 { animation: animate-svg-fill-reverse 0.7s linear 3.3s both; }
.loader.reverse .svg-elem-2 { animation: animate-svg-fill-reverse 0.7s linear 3.2s both; }
.loader.reverse .svg-elem-3 { animation: animate-svg-fill-reverse 0.7s linear 3.1s both; }
.loader.reverse .svg-elem-4 { animation: animate-svg-fill-reverse 0.7s linear 3.0s both; }
.loader.reverse .svg-elem-5 { animation: animate-svg-fill-reverse 0.7s linear 2.9s both; }
.loader.reverse .svg-elem-6 { animation: animate-svg-fill-reverse 0.7s linear 2.8s both; }
.loader.reverse .svg-elem-7 { animation: animate-svg-fill-reverse 0.7s linear 2.7s both; }
.loader.reverse .svg-elem-8 { animation: animate-svg-fill-reverse 0.7s linear 2.6s both; }
.loader.reverse .svg-elem-9 { animation: animate-svg-fill-reverse 0.7s linear 2.5s both; }
.loader.reverse .svg-elem-10 { animation: animate-svg-fill-reverse 0.7s linear 2.4s both; }
.loader.reverse .svg-elem-11 { animation: animate-svg-fill-reverse 0.7s linear 2.3s both; }
.loader.reverse .svg-elem-12 { animation: animate-svg-fill-reverse 0.7s linear 2.2s both; }
.loader.reverse .svg-elem-13 { animation: animate-svg-fill-reverse 0.7s linear 2.1s both; }
.loader.reverse .svg-elem-14 { animation: animate-svg-fill-reverse 0.7s linear 2.0s both; }
.loader.reverse .svg-elem-15 { animation: animate-svg-fill-reverse 0.7s linear 1.9s both; }
.loader.reverse .svg-elem-16 { animation: animate-svg-fill-reverse 0.7s linear 1.8s both; }
.loader.reverse .svg-elem-17 { animation: animate-svg-fill-reverse 0.7s linear 1.7s both; }
.loader.reverse .svg-elem-18 { animation: animate-svg-fill-reverse 0.7s linear 1.6s both; }
.loader.reverse .svg-elem-19 { animation: animate-svg-fill-reverse 0.7s linear 1.5s both; }
.loader.reverse .svg-elem-20 { animation: animate-svg-fill-reverse 0.7s linear 1.4s both; }
.loader.reverse .svg-elem-21 { animation: animate-svg-fill-reverse 0.7s linear 1.3s both; }
.loader.reverse .svg-elem-22 { animation: animate-svg-fill-reverse 0.7s linear 1.2s both; }
.loader.reverse .svg-elem-23 { animation: animate-svg-fill-reverse 0.7s linear 1.1s both; }
.loader.reverse .svg-elem-24 { animation: animate-svg-fill-reverse 0.7s linear 1.0s both; }
.loader.reverse .svg-elem-25 { animation: animate-svg-fill-reverse 0.7s linear 0.9s both; }
.loader.reverse .svg-elem-26 { animation: animate-svg-fill-reverse 0.7s linear 0.8s both; }




header { position: fixed; z-index: 7; top: 0; left: 0; width: 100%; padding: 15px 5%; }
header.bgDark { background: var(--bgdark); }
header .container-fluid { display: flex; flex-wrap: nowrap; }
header .container-fluid .logo { width: 210px; }
header .container-fluid .logo a { display: block; }
header .container-fluid .logo a img { max-width: 100%; }
header .container-fluid .top-nav { width: calc(100% - 210px); text-align: right; padding-top: 10px; }
header .container-fluid .top-nav ul { list-style-type: none; }
header .container-fluid .top-nav ul li { display: inline-block; }
header .container-fluid .top-nav ul li a { display: block; padding: 10px 15px; color: #fff; font-weight: 200; position: relative; }
header .container-fluid .top-nav ul li a.linkServices::after,
header .container-fluid .top-nav ul li a.linkProjects::after { content: ''; top: 21px; right: 9px; display: block; position: absolute; background: url(/assets/images/iconDown.svg) no-repeat top center; background-size: auto 100%; width: 9px; height: 7px; transition: all 0.5s; }
header .container-fluid .top-nav ul li a.linkServices,
header .container-fluid .top-nav ul li a.linkProjects { padding-right: 25px; }
header .container-fluid .top-nav ul li:last-child a { padding-right: 0; }

header .container-fluid .top-nav ul li a.linkProjects.active::after,
header .container-fluid .top-nav ul li a.linkServices.active::after { transform: rotate(180deg); }

#wrapper { padding: 0; position: relative; z-index: 5; background: #fff }
#sliderNav { height: 100vh; overflow: hidden; background: var(--bgdark); position: relative; }
.slides .cell { width: 100%; height: 100vh; overflow: hidden; position: relative; }
.slides .cell > .inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.slides .cell > .inner .background { width: 100%; height: 100%; background-position: top center; background-repeat: no-repeat; background-size: cover; transform: scale(1); transition: all 60s ease-out; }
.slides .cell .captions { position: absolute; bottom: 0; z-index: 2; padding: 5% !important; color: #fff; width: 100%; background: linear-gradient(180deg,transparent 0,rgba(0,0,0,.75)); }
.slides .cell .captions .subtitle { font-size: 16px; font-weight: 500; position: relative; padding: 10px 0; }
.slides .cell .captions .subtitle::after { content: ''; display: block; position: absolute; bottom: 0; width: 0; height: 1px; background: #fff; transition: all .6s; transition-delay: 0.3s; opacity: .5; }
.slides .cell .captions .slideTitle { font-size: 64px; font-weight: 300; visibility: hidden; opacity: 0; transform: translateY(50%); transition: all .6s ease-out; transition-delay: .2s; }
.slides .cell .captions .slideText { font-size: 18px; font-weight: 200; max-width: 40%; margin-bottom: 30px; visibility: hidden; opacity: 0; transform: translateY(50%); transition: all .6s ease-out; transition-delay: .6s; }
.slides .cell .captions .slideButtons a { display: inline-block; margin-right: 20px; }
a.btn-ghost { border: 0; position: relative; }
a.btn-ghost .border-top { z-index: -1; border-top: 1px solid #fff; position: absolute; top: 0; left: 0; width: 0; height: 0; opacity: 0.5; transition: width .4s ease-out; }
a.btn-ghost .border-right { z-index: -1; border-right: 1px solid #fff; position: absolute; top: 0; right: 0; width: 1px; height: 0; opacity: 0.5; transition: height .2s ease-out; transition-delay: .4s; }
a.btn-ghost .border-bottom { z-index: -1; border-bottom: 1px solid #fff; position: absolute; bottom: 0; right: 0; width: 0; height: 0; opacity: 0.5; transition: width .4s; transition-delay: .7s; }
a.btn-ghost .border-left { z-index: -1; border-left: 1px solid #fff; position: absolute; bottom: 0; left: 0; width: 0; height: 0; opacity: 0.5; transition: height .2s; transition-delay: 1.2s; }


.slides .cell.is-selected .inner .background { transform: scale(1.5, 1.5) }
.slides .cell.is-selected .captions .slideTitle { visibility: initial; opacity: 1; transform: translateY(0%); }
.slides .cell.is-selected .captions .slideText { visibility: initial; opacity: 1; transform: translateY(0%); }
.slides .cell.is-selected .captions .subtitle::after { width: 70px; }
.slides .cell.is-selected .captions .slideButtons a.btn-ghost .border-top { width: 100%; height: 1px }
.slides .cell.is-selected .captions .slideButtons a.btn-ghost .border-right { width: 1px; height: 100% }
.slides .cell.is-selected .captions .slideButtons a.btn-ghost .border-bottom { width: 100%; height: 1px; }
.slides .cell.is-selected .captions .slideButtons a.btn-ghost .border-left { width: 1px; height: 100% }

.slider-nav .back, .slider-nav .next { display: block; position: absolute; cursor: none; top: 35%; width: 10%; height: 40%; text-indent: 100%; background: #000; background: transparent }
.slider-nav .back .hit-area, .slider-nav .next .hit-area { position: absolute; left: 0; top: 0; width: 100%; height: 100%; cursor: none !important }
.slider-nav .back .hit-area:active, .slider-nav .back .hit-area:focus, .slider-nav .back .hit-area:hover, .slider-nav .next .hit-area:active, .slider-nav .next .hit-area:focus, .slider-nav .next .hit-area:hover { cursor: none !important }
.slider-nav .back .cursor, .slider-nav .next .cursor { display: block; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition: opacity .2s ease-out }
.slider-nav .back .cursor, .slider-nav .back .cursor img, .slider-nav .next .cursor, .slider-nav .next .cursor img { position: absolute; left: 0; top: 0; -ms-user-select: none; user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none }
.slider-nav .back .cursor img, .slider-nav .next .cursor img { display: inline-block; width: 30px; height: 30px; cursor: none; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%) }
.slider-nav .back:hover, .slider-nav .next:hover { cursor: none }
.slider-nav .back:hover .cursor, .slider-nav .next:hover .cursor { display: block; opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" }
.slider-nav .arrow { display: none; cursor: pointer; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); padding: 32px; opacity: .5; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; transition: opacity .5s }
.slider-nav .arrow img { width: auto; height: 40px }
.slider-nav .arrow:hover { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" }
.slider-nav .back { left: 0 }
.slider-nav .next { right: 0 }
#sliderNav .progress-wrap { position: absolute; z-index: 6; bottom: 0; left: 0; width: 100%; }
#sliderNav .progress-wrap .progress { margin-bottom: 0; border-radius: 0; background-color: transparent; height: 8px; }
#sliderNav .progress-wrap .progress .progress-bar { background-color: #fff; transition: none; }

.servicesMenu { position: fixed; z-index: 6; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8); display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: center; visibility: hidden; opacity: 0; transition: opacity 0.3s; }
.servicesMenu.active { visibility: initial; opacity: 1; }
.servicesMenuWrapper { margin: auto; display: flex; flex-wrap: nowrap; color: #fff; justify-content: center; align-content: center; position: relative; }
.servicesTitle { position: absolute; top: 0; left: 0; width: 502px; font-size: 64px; font-weight: 200; line-height: 80px; transform-origin: bottom left; }
.servicesTitle p { margin: 0; opacity: 0; transform: translateY(50%); transition: all 0.5s; }
.serviceItems { padding: 0 64px; margin-left: 502px; position: relative; transition: margin 0.5s; transition-delay: 1s; }
.serviceItems:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 2px; height: 0; background: rgba(255,255,255,0.5); transition: all 0.5s; transition-delay: 0.5s; }
.serviceItems:after { content: ''; display: block; position: absolute; top: 0; right: 0; width: 2px; height: 0; background: rgba(255,255,255,0.5); transition: all 0.5s; transition-delay: 0.5s; }
.serviceItems ul li a { color: #fff; transition: opacity 0.8s ease-out; font-size: 32px; line-height: 36px; margin-bottom: 35px; display: inline-block; opacity: 0; transform: translateX(50px); transition: transform .5s, opacity .2s; transition-delay: 1s; }
.serviceItems ul li:nth-child(2) a { transition-delay: 1.2s; }
.serviceItems ul li:nth-child(3) a { transition-delay: 1.3s; }
.serviceItems ul li:nth-child(4) a { transition-delay: 1.4s; }
.serviceItems ul li:nth-child(5) a { transition-delay: 1.6s; }
.serviceItems ul li:nth-child(6) a { transition-delay: 1.8s; }
.serviceItems ul li:last-child a { margin-bottom: 0; }
.serviceItemDetails { visibility: hidden; opacity: 0; display: none; position: relative; transition: opacity 0.5s; }
.serviceItemContent { display: none; }

.servicesMenu.active .servicesTitle { }
.servicesMenu.active .servicesTitle p { opacity: 1; transform: translateY(0); }
.servicesMenu.active .serviceItems:before { height: 100%; }
.servicesMenu.active .serviceItems ul li a { opacity: 0.5; transform: translateX(0); }
.servicesMenu.opened .servicesTitle { transition-delay: initial; }
.servicesMenu.opened .serviceItems { transition-delay: initial; }
.servicesMenu.opened .serviceItems ul li a { transition-delay: initial; }
.servicesMenu.opened .serviceItems ul li a:hover { opacity: 1; }
.servicesMenu.opened .serviceItems:before { transition-delay: 0; transition: width 0s; }
.servicesMenu.closed { transition: opacity 0.3s; }
.servicesMenu.closed .servicesTitle p { opacity: 0; transform: translateY(50%); transition-delay: 1s; }
.servicesMenu.closed .serviceItems:before { height: 0%; transition-delay: 0.5s; }
.servicesMenu.closed .serviceItems ul li a { opacity: 0; transform: translateX(50px); transition-delay: 0; }

.servicesMenuWrapper.active { }
.servicesMenuWrapper.active .servicesTitle { font-size: 30px; top: -115px; cursor: pointer; }
.servicesMenuWrapper.active .serviceItems { margin-left: 0; padding-left: 0; }
.servicesMenuWrapper.active .serviceItems:before { width: 0; }
.servicesMenuWrapper.active .serviceItems:after { height: 100%; }
.servicesMenuWrapper.active .serviceItemDetails { visibility: initial; width: 550px; padding-left: 64px; display: block; opacity: 1; }

.serviceMenuSocial { text-align: right; padding: 0 5% 40px 0; }

.projectsMenu { position: fixed; z-index: 6; top: 0; left: 0; right: 0; bottom: 0; background: #242424; display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: center; visibility: hidden; opacity: 0; transition: opacity 0.3s; }
.projectsMenu.active { visibility: initial; opacity: 1; }
.projectsMenu.closed { opacity: 0; }
.projectText { text-align: center; font-size: 24px; color: #707070; width: 60%; margin: 0 auto 50px auto; }
.projectsSlider { margin-bottom: 40px; }
.projectSlide { width: 40%; margin: 0 40px; }
.projectSlide a { display: block; }
.projectSlide a .projectImage { }
.projectSlide a .projectImage img { width: 100%; }
.projectSlide a .projectTitle { font-size: 28px; font-weight: 400; color: #fff; padding: 30px 0 0 0; }
.projectSliderProgress { margin: 16px 5% 0 5%; position: relative; }
.projectSliderProgressBar { background: #fff; position: absolute; width: 50px; height: 8px; border: 1px solid #707070; }
.projectsSlider .flickity-page-dots { border: 0; margin: 0 5%; width: 90%; display: flex; flex-wrap: nowrap; bottom: -49px; }
.projectsSlider:after { content: ''; display: block; position: absolute; bottom: -45px; left: 0; width: calc(90%); height: 2px; background: #707070; z-index: -1; margin: 0 5%; }
.projectsSlider .flickity-page-dots .dot { background-color: transparent; margin: 0; border-radius: 0; opacity: 1; display: block; flex: 1; transition: all 0.5s; position: relative; overflow: hidden; transform-origin: right; }


.pageImage { background: var(--bgdark); }
.pageImageWrapper { width: 100%; height: 100vh; overflow: hidden; position: relative; }
.pageImageWrapper > .inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.pageImageWrapper > .inner .background { width: 100%; height: 100%; background-position: top center; background-repeat: no-repeat; background-size: cover; transform: scale(1); transition: all 60s ease-out; }
.pageImageWrapper .captions { position: absolute; bottom: 0; z-index: 2; padding: 5% !important; color: #fff; width: 100%; background: linear-gradient(180deg,transparent 0,rgba(0,0,0,.75)); }
.pageImageWrapper .captions .subtitle { font-size: 16px; font-weight: 500; position: relative; padding: 10px 0; }
.pageImageWrapper .captions .subtitle::after { content: ''; display: block; position: absolute; bottom: 0; width: 0; height: 1px; background: #fff; transition: all .6s; transition-delay: 0.3s; opacity: .5; }
.pageImageWrapper .captions .slideTitle { font-size: 64px; font-weight: 300; visibility: hidden; opacity: 0; transform: translateY(50%); transition: all .6s ease-out; transition-delay: .2s; }
.pageImageWrapper .captions .slideText { font-size: 18px; font-weight: 300; max-width: 40%; margin-bottom: 30px; visibility: hidden; opacity: 0; transform: translateY(50%); transition: all .6s ease-out; transition-delay: .6s; }
.pageImageWrapper .captions .slideButtons a { display: inline-block; margin-right: 20px; }

body.loaded .pageImageWrapper .inner .background { transform: scale(1.5, 1.5) }
body.loaded .pageImageWrapper .captions .slideTitle { visibility: initial; opacity: 1; transform: translateY(0%); }
body.loaded .pageImageWrapper .captions .slideText { visibility: initial; opacity: 1; transform: translateY(0%); }
body.loaded .pageImageWrapper .captions .subtitle::after { width: 70px; }
body.loaded .pageImageWrapper .captions .slideButtons a.btn-ghost .border-top { width: 100%; height: 1px }
body.loaded .pageImageWrapper .captions .slideButtons a.btn-ghost .border-right { width: 1px; height: 100% }
body.loaded .pageImageWrapper .captions .slideButtons a.btn-ghost .border-bottom { width: 100%; height: 1px; }
body.loaded .pageImageWrapper .captions .slideButtons a.btn-ghost .border-left { width: 1px; height: 100% }


.pageSection { padding: 5% !important; display: flex; flex-wrap: nowrap; }
.pageSection.sectionDark { background: var(--bgdark); color: #fff; }
.pageSection .pageSectionFirstCol { width: 50%; }
.pageSection .pageSectionFirstCol img { width: 100%; }
.pageSection .pageSectionSecondCol { width: calc(50% - 45px); margin-left: 45px; }
.pageSection .sectionColTitle { position: relative; padding: 0 0 35px 75px; }
.pageSection .sectionColTitleLine { position: absolute; bottom: 0; left: 0; z-index: 1; background: #707070; width: 420px; height: 2px; opacity: 0.5; transform-origin: left; }
.pageSection.sectionDark .sectionColTitleLine { background: #fff; }
.pageSection .sectionColText { padding: 35px 0 0 75px; font-size: 22px; font-weight: 200; }
.pageSection .personInfo { padding: 35px 0 0 75px; font-size: 22px; font-weight: 300; }
.pageSection .personInfo p { margin: 0; }
.pageSection .personInfo a { }
.pageSectionTitle { padding: 5% 5% 0 5%; }
.pageSectionTitle h2 { font-size: 64px; font-weight: 500; }
.pageSectionTitle p { padding: 0; margin: 0; font-size: 36px; }

.pageSection.sectionReverse .pageSectionFirstCol { order: 2 }
.pageSection.sectionReverse .pageSectionSecondCol { order: 1; margin-left: 0; margin-right: 45px; }

footer { background: var(--bgdark); padding: 35px 5% 20px 5%; }
.sectionFooter { display: flex; flex-wrap: nowrap; }
.sectionFooter .footerLogo { width: 208px; }
.sectionFooter .footerLinks { width: calc(100% - 468px); text-align: center; padding-right: 150px; }
.sectionFooter .footerContact { width: 260px; }
.sectionFooter .footerLogo a img { width: 100%; }
.sectionFooter .footerLinks ul { margin: 0; padding: 0; list-style-type: none; }
.sectionFooter .footerLinks ul li { display: inline-block; }
.sectionFooter .footerLinks ul li a { display: block; padding: 10px 15px; color: #fff; font-size: 16px; font-weight: 300; }
.sectionFooter .footerContact .contactInfo { display: flex; flex-wrap: wrap; margin-bottom: 20px; }
.sectionFooter .footerContact .contactInfo .ciIcon { width: 45px; }
.sectionFooter .footerContact .contactInfo a { color: #fff; font-weight: 300; }
.sectionFooter .footerContact .footerSocial { padding-left: 42px; }
.sectionFooter .footerContact .footerSocial a { display: inline-block; margin: 0 3px; }
.copyright { text-align: center; color: #707070; font-size: 14px; font-weight: 300; padding: 50px 0 0 0; }
.au { float: right; }

.ourprocess { padding: 5%; background: var(--bgdark); color: #fff; }
.ourProcessWrapper { display: flex; flex-wrap: nowrap; }
.processLeft { width: 50%; }
.processRight { width: 50%; }
.processLeftInner { margin-right: 250px; }
.processLeftInner h2 { font-size: 52px; font-weight: 300; line-height: 70px; }
.processLeftInner.sticked { position: fixed; top: 0; height: 100%; display: flex; flex-direction: column; justify-content: center; }

.processSection { margin-bottom: 130px; }
.processSection .sectionColTitle { position: relative; padding: 0 0 35px 75px; }
.processSection .sectionColTitleLine { position: absolute; bottom: 0; left: 0; z-index: 1; background: #fff; width: 420px; height: 2px; opacity: 0.5; transform-origin: left; }
.processSection .sectionColText { padding: 35px 0 0 75px; font-size: 22px; font-weight: 200; }

.projectBrief { padding: 5%; display: flex; flex-wrap: nowrap; }
.briefLeft { width: 50%; }
.briefRight { width: 50%; }
.designNotes { font-weight: 200; }
.briefRight .sectionColTitle { position: relative; padding: 0 0 35px 75px; }
.briefRight .sectionColTitle h3 { font-size: 36px; font-weight: 200; margin: 0; }
.briefRight .sectionColTitleLine { position: absolute; bottom: 0; left: 0; z-index: 1; background: #707070; width: 420px; height: 2px; opacity: 0.5; transform-origin: left; }
.briefRight .sectionColText { padding: 35px 0 0 75px; font-size: 22px; font-weight: 200; }
.projectHorizontalImage { clear: both; }
.projectHorizontalImageWrapper { }
.projectHorizontalImageWrapper img { max-width: 100%; transform-origin: bottom left; transition: all 0.5s; }

.projectVerticalTwoImages { padding: 5%; }
.projectVerticalTwoImagesWrapper { display: flex; flex-wrap: wrap; gap: 80px; }
.projectVIitem { width: calc(50% - 40px); }
.projectVIitem img { max-width: 100%; }
.projectDrawings { padding: 0 5%; }
.projectDrawingsSelects { display: flex; flex-wrap: nowrap }
.drawingsText { width: 155px; color: #707070; font-size: 24px; line-height: 70px; }
.drawingsButtons { display: flex; }
.drawingsButtons a { display: block; }
.drawingsButtons a.btn-ghost { border: 1px solid #242424; color: #242424; font-size: 18px; }
.drawingsButtons a.btn-ghost:first-child { border-right: 0; }
.drawingsButtons a.btn-ghost:after { background: #000; }
.drawingsButtons a.btn-ghost:hover { color: #fff; }
.projectDrawDetails { }
.projectDrawDetails .projectDrawItem { display: none; text-align: center; }
.allProjectsButton { padding: 5%; text-align: center; }

.contact { padding: 5% 15%; }
.contactWrapper { display: flex; flex-wrap: nowrap; }
.contactLeft { width: 45%; }
.contactRight { width: 55%; }
.contactLeftInner { margin-right: 50px; font-size: 16px; font-weight: 200; }
.contactLeftInner h2 { font-size: 22px; font-weight: 300; line-height: 33px; }
.contactLeftInner.sticked { position: fixed; top: 0; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.contactSection { margin-bottom: 130px; }
.contactSection .sectionColTitle { position: relative; padding: 0 0 30px 75px; }
.contactSection .sectionColTitle h3 { font-size: 36px; font-weight: 200; margin: 0; }
.contactSection .sectionColTitleLine { position: absolute; bottom: 0; left: 0; z-index: 1; background: #707070; width: 420px; height: 2px; opacity: 0.5; transform-origin: left; }
.contactSection .sectionColText { padding: 35px 0 0 75px; font-size: 22px; font-weight: 200; }
.contactForm { padding: 35px 0 0 75px; }
.form-group { font-size: 16px; }
.form-control { border-radius: 0; border: 1px solid var(--bgdark); height: 60px; resize: none; }
.form-control::placeholder { color: var(--bgdark); opacity: 1; }
.form-control:focus { border-color: var(--bgdark); box-shadow: none; }
.mobileBack, .mobileBack2, .serviceItemTitle { display: none; }
.form-group { display: flex; flex-wrap: nowrap; gap: 2px; }
input[type="checkbox"] { accent-color: #000; width: 16px; height: 16px; }
.form-group .form-check-label { padding: 2px 0 0 10px; font-weight: 400; }


.form-label-group { position: relative; margin-bottom: 30px; }
.form-label-group > input,
.form-label-group > textarea,
.form-label-group > label { padding: var(--input-padding-y) var(--input-padding-x); }
.form-label-group > label { position: absolute; top: 0; left: 0; display: block; width: 100%; margin-bottom: 0; /* Override default `<label>` margin */ line-height: 1.5; color: #495057; border: 1px solid transparent; border-radius: .25rem; transition: all .1s ease-in-out; font-weight:300; font-size:18px; }
.form-label-group input::-webkit-input-placeholder,
.form-label-group textarea::-webkit-input-placeholder { color: transparent; }
.form-label-group input:-ms-input-placeholder,
.form-label-group textarea:-ms-input-placeholder { color: transparent; }
.form-label-group input::-ms-input-placeholder,
.form-label-group textarea::-ms-input-placeholder { color: transparent; }
.form-label-group input::-moz-placeholder,
.form-label-group textarea::-moz-placeholder{ color: transparent; }
.form-label-group input::placeholder,
.form-label-group textarea::placeholder{ color: transparent; }
.form-label-group input:not(:placeholder-shown) { padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3)); padding-bottom: calc(var(--input-padding-y) / 3); }
.form-label-group input:not(:placeholder-shown) ~ label { padding-top: calc(var(--input-padding-y) / 3); padding-bottom: calc(var(--input-padding-y) / 3); font-size: 12px; color: #777; }
.form-label-group textarea:not(:placeholder-shown) { padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3)); padding-bottom: calc(var(--input-padding-y) / 3); }
.form-label-group textarea:not(:placeholder-shown) ~ label { padding-top: calc(var(--input-padding-y) / 3); padding-bottom: calc(var(--input-padding-y) / 3); font-size: 12px; color: #777; }


@media (max-width:880px) {
    .container-fluid { padding-left: 0; padding-right: 0; }
    h3 { font-size: 20px; line-height: 28px; }
    .btn { padding: 12px 30px; }
    header { padding: 30px 5%; }
    header .container-fluid .logo { width: 140px; z-index: 6; }
    .slides .cell .captions { padding: 0 5% 50px 5% !important; }
    .slides .cell .captions .slideTitle { font-size: 26px; }
    .slides .cell .captions .slideText { font-size: 16px; max-width: initial; }
    .pageSection { padding: 40px 5% !important; flex-wrap: wrap; }
    .pageSection .pageSectionFirstCol { width:100%; }
    .pageSection .pageSectionSecondCol { width:100%; margin-left: 0; }
    .pageSection .sectionColTitle { padding: 0 0 17px 25px; }
    .pageSection .sectionColTitle img { max-width: 100%; }
    .pageSection .sectionColTitleLine { width: 100%; }
    .pageSection .sectionColText { padding: 17px 0 0 25px; font-size: 18px; }
    .pageSection.sectionReverse .pageSectionFirstCol { order: 1; }
    .pageSection.sectionReverse .pageSectionSecondCol { margin-right: 0; }
    .sectionFooter { flex-wrap: wrap; }
    .sectionFooter .footerLogo, .sectionFooter .footerContact { width: 100%; text-align: center; }
    .sectionFooter .footerLogo a img { width: 50%; }
    .footerLinks { display: none; }
    .sectionFooter .footerContact { margin-top: 40px; }
    .sectionFooter .footerContact .contactInfo { justify-content: center; }
    .sectionFooter .footerContact .contactInfo .ciIcon { width: 20px; }
    .sectionFooter .footerContact .contactInfo .ciIcon img { width: 100%; }
    .sectionFooter .footerContact .contactInfo .ciText { padding-left: 10px; }
    .sectionFooter .footerContact .contactInfo a { font-size: 16px; font-weight: 200; }
    .sectionFooter .footerContact .footerSocial { padding-left: 0; text-align: center; }
    .copyright { font-size: 12px; }
    .au { float: initial; display: block; margin: 30px auto 0 auto; }
    .loaderLogo { text-align: center; }
    .loaderLogo svg { width: 80%; }

    header .container-fluid .top-nav { position: absolute; top: 0; left: 0; height: 100vh; width: 100vw; z-index: 5; background: rgba(0,0,0,0.8); text-align: left; display: flex; justify-content: center; align-items: center; opacity: 0; visibility: hidden; transition: opacity 0.5s; }
    header.menuactive .container-fluid .top-nav { opacity: 1; visibility: initial; }
    header .container-fluid .top-nav ul li { display: block; }
    header .container-fluid .top-nav ul li:last-child a { padding-right: 15px; }
    header .container-fluid .top-nav ul li a { color: #8A8A89; font-size: 18px; font-weight: 400; }

    header .container-fluid .top-nav ul li a.linkServices::after, header .container-fluid .top-nav ul li a.linkProjects::after { display: none; }
    .topButtons { position: absolute; right: 30px; top: 32px; z-index: 6; }
    .topButtons a.topBurger { display: block; width: 30px; height: 30px; padding: 15px 20px 15px 20px; }
    .topButtons a.topBurger span { position: absolute; display: block; z-index: 2; width: 50px; height: 3px; background: #fff; }
    .topButtons a.topBurger span,
    .topButtons a.topBurger span:after,
    .topButtons a.topBurger span:before { width: 19px; height: 1px; background-color: #fff; transition: all 0.3s; backface-visibility: hidden; border-radius: 2px; background-image: none; background: #fff; }
    .topButtons a.topBurger span:after,
    .topButtons a.topBurger span:before { content: ""; position: absolute; left: 0; top: -5px; width: 13px; }
    .topButtons a.topBurger span:after { top: 5px; left: 6px; }

    header.menuactive .topButtons a.topBurger span { background: transparent; }
    header.menuactive .topButtons a.topBurger span:after,
    header.menuactive .topButtons a.topBurger span:before { width: 24px; }
    header.menuactive .topButtons a.topBurger span:before { transform: rotate(45deg) translate(3px, 2px); }
    header.menuactive .topButtons a.topBurger span:after { transform: rotate(-45deg) translate(1px, -8px); }
    .servicesMenu { z-index: 7; }
    .servicesMenuWrapper { justify-content: left; width: 200vw; }
    .servicesTitle { font-size: 26px; width: 100%; line-height: 20px; top: 45px; padding-left: 5%; }
    .serviceItems { margin: 85px 0 0 calc(5% + 50px); padding: 0 25px; width: 100vw; }
    .serviceItems ul li a { font-size: 18px; margin-bottom: 10px; }
    .mobileBack { display: block; width: 100%; padding-left: 5%; position: absolute; top: 0; }
    .mobileBack2 { display: block; width: 100%; padding-left: 0; position: absolute; top: 0; }
    .mobileBack a, .mobileBack2 a { display: inline-block; color: #8A8A89; background: url(/assets/images/ios-arrow-left.svg) no-repeat center left; padding: 0 0 0 30px; background-size: auto 80%; font-size: 16px; }
    .servicesMenuWrapper.active .serviceItems { }
    .serviceItemDetails { visibility: visible; }
    .servicesMenuWrapper.active .serviceItemDetails { width: 100vw; padding-left: 0; visibility: visible; max-width: initial; padding: 70px 5% 0 5%; }
    .servicesMenuWrapper.active { transform: translateX(-100vw); }
    .serviceItemContent { font-size: 16px; color: #8A8A89; width: 100%; height: 100%; }
    .serviceItemTitle { display: block; margin-bottom: 20px; font-weight: 500; color: #fff; }

    .pageImageWrapper .captions { padding: 0 5% 50px 5% !important; }
    .pageImageWrapper .captions .slideTitle { font-size: 26px; }
    .pageImageWrapper .captions .slideText { font-size: 16px; max-width: initial; }
    .pageSection .pageSectionFirstCol { margin-bottom: 20px; }
    .pageSection .sectionColTitle img { max-width: 50%; margin: 24px 0; }
    .pageSectionTitle { text-align: center; }
    .pageSectionTitle h2 { font-size: 36px; }
    .pageSectionTitle p { font-size: 22px; }
    .pageSection .personInfo { padding: 17px 0 0 25px; font-size: 18px; }
    .ourProcessWrapper { flex-wrap: wrap; }
    .processLeft, .processRight { width: 100%; }
    .processLeftInner { width: 100% !important; margin-right:50px; }
    .processLeftInner.sticked { position: relative; }
    .processLeftInner h2 { font-size: 26px; line-height: 31px; }
    .processSection .sectionColTitle { padding: 0 0 17px 25px; }
    .processSection .sectionColText { padding: 17px 0 0 25px; font-size: 18px; }
    .processSection .sectionColTitleLine { width: 100%; }
    .projectsMenu { z-index: 7; }
    .projectText { font-size: 16px; width: 90%; }
    .projectSlide { width: 55%; margin: 0px 20px; }
    .projectSlide a .projectImage { height: 42vh; overflow: hidden; }
    .projectSlide a .projectImage img { height: 100%; width: 100%; object-fit: cover; }
    .projectSlide a .projectTitle { font-size: 12px; padding-top: 20px; }
    .projectSliderProgressBar { height: 4px; }
    .projectsSlider:after { height: 1px; bottom: -42px; }
    .projectBrief { flex-wrap: wrap; }
    .briefLeft, .briefRight { width: 100%; }
    .designPlan img { width: 100%; }
    .designNotes { font-size: 18px; margin-bottom: 50px; }
    .briefRight .sectionColTitle { padding: 0 0 17px 25px; }
    .briefRight .sectionColTitle h3 { font-size: 20px; }
    .briefRight .sectionColText { padding: 17px 0 0 25px; font-size: 18px; }
    .briefRight .sectionColTitleLine { width: 100%; }
    .projectHorizontalImageWrapper { margin-right: 0; margin-bottom: 30px; }
    .projectVerticalTwoImages { padding: 0; margin-bottom: 30px; }
    .projectVerticalTwoImagesWrapper { gap: 18px; }
    .projectVIitem { width: calc(50% - 9px); }
    .projectDrawings { margin-bottom: 40px; }
    .projectDrawingsSelects { flex-wrap: wrap; }
    .drawingsText { width: 100%; text-align: center; line-height: 50px; }
    .drawingsButtons { width: 100%; }
    .drawingsButtons a.btn-ghost { width: 50%; font-size: 12px; }
    .projectDrawDetails .projectDrawItem img { max-width: 100%; }
    .contact { padding: 5%; }
    .contactWrapper { flex-wrap: wrap; }
    .contactLeft, .contactRight { width: 100%; }
    .contactLeft { margin-bottom: 40px; }
    .contactLeftInner { margin-right: 0; }
    .contactSection .sectionColTitle { padding: 0 0 17px 25px; }
    .contactSection .sectionColTitle h3 { font-size: 20px; }
    .contactSection .sectionColText { padding: 17px 0 0 25px; font-size: 18px; }
    .contactSection .sectionColTitleLine { width: 100%; }
    .contactForm { padding: 17px 0 0 25px; }
    .projects-close { display:block; position:absolute; z-index:9; top:40px; right:26px; }
    .projects-close a { display:block; }
    .projects-close a:before,
    .projects-close a:after { content:''; height: 1px; background:#fff; border-radius:2px; height: 1px; width: 24px; display: block; }
    .projects-close a:before { transform: rotate(45deg) translate(6px, 2px); }
    .projects-close a:after { transform: rotate(-45deg) translate(-1px, 5px); }
}

@media (max-width:1200px) and (min-width:760px) {
    h3 { font-size: 32px; line-height: 48px; }
    .btn { padding: 22px 68px; }
    header .container-fluid .logo { width: 200px; }
    header .container-fluid .top-nav ul li a { font-size: 32px; }
    .slides .cell .captions .slideTitle { font-size: 32px; }
    .slides .cell .captions .slideText { font-size: 18px; }
    .topButtons a.topBurger span, .topButtons a.topBurger span:after, .topButtons a.topBurger span:before { width: 26px; }
    .topButtons a.topBurger span:after, .topButtons a.topBurger span:before { width: 18px; top: -8px; }
    .topButtons a.topBurger span:after { left: 8px; }
    .topButtons a.topBurger span:after { top: 8px; }
    header.menuactive .topButtons a.topBurger span:before { transform: rotate(45deg) translate(6px, 2px); }
    header.menuactive .topButtons a.topBurger span:after { transform: rotate(-45deg) translate(3px, -11px); }
    .pageSection { padding: 32px 5% !important; }
    .sectionColText { line-height: 27px; }
    .sectionFooter .footerLogo a img { width: 36%; }


    .pageImageWrapper .captions .slideTitle { font-size: 32px; }
    .pageImageWrapper .captions .slideText { font-size: 18px; }
    .pageSection .sectionColTitle img { max-width: 50%; margin: 24px 0; }
    .about .pageSection:last-child { padding-bottom: 100px !important; }
    .serviceItems ul li a { font-size: 24px; line-height: 50px; }
    .serviceItemContent { font-size: 24px; }
    .processLeftInner h2 { font-size: 36px; line-height: 64px; }
    .processLeft { margin: 20px 0; }
    .projectText { font-size: 24px; }
    .projectSlide a .projectTitle { font-size: 23px; }
    .projectSlide a .projectImage { height: 60vh; }
    .briefRight .sectionColTitle h3 { font-size: 36px; }
    .drawingsButtons a.btn-ghost { font-size: 16px; }
    .projectVerticalTwoImages { margin-bottom: 70px; }
}
