@charset "utf-8";

/* CSS Document */

/* Table of Contents
-----------------------------------------------------------------------------
1. Clean Base
2. Base Typography
3. Images
4. Links
5. Forms
6. Tables
7. Framework 
*/

/* 1. Clean Base
------------------------------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, 
legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, a, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; text-decoration:none; list-style:none; outline:none; -webkit-font-smoothing: subpixel-antialiased; -webkit-tap-highlight-color:rgba(0,0,0,0);}

html,body { -webkit-text-size-adjust:none; height: 100%; }
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {display: block;}
iframe {vertical-align: top;}
textarea:focus, input:focus, a, div, img { outline: none; }

*,
*:before,
*:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

/* 2. Base Typography
------------------------------------------------------------------------------*/
body{ color:#3f3f3f; font-size:16px; font-family: 'Poppins', sans-serif; font-weight:400; line-height:1.5; background-color: #fff;display: flex;flex-wrap: wrap;overflow-x: hidden;}

.h1, .h2, .h3, .h4, .h5, .h6, 
h1, h2, h3, h4, h5, h6 {color: #3f3f3f; line-height: 1.4;font-weight:500; font-family: inherit;}

.h1, h1 {font-size:100px; margin-bottom: 20px;}
.h2, h2 {font-size:60px; margin-bottom: 20px;}
.h3, h3 {font-size:40px; margin-bottom: 18px;}
.h4, h4 {font-size:30px; margin-bottom: 17px;}
.h5, h5 {font-size:24px; margin-bottom: 15px;}
.h6, h6 {font-size:20px; margin-bottom: 10px;}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {color: inherit; text-decoration: none;}

p { color:#3f3f3f; font-size:16px; font-weight:400; line-height: 2;  margin-bottom:20px; font-family: 'Open Sans', sans-serif;}
p:last-child { margin-bottom:0; }

ul{ margin:0;margin-left: 20px; padding:0; }
ul li{ font-size:16px;  color:#3f3f3f; font-weight:400; line-height:1.5;padding: 0;margin-bottom: 8px; }
ul li:last-child{margin-bottom: 0;}
ul > li { list-style:outside disc; }

ol{ margin:0;margin-left: 20px; padding:0; list-style: none; }
ol li{ font-size:16px;  color:#3f3f3f; font-weight:400; line-height:1.5;padding: 0;margin-bottom: 8px;  }
ol > li { list-style: outside decimal; }

blockquote{ display:block; text-align:left; margin-bottom:20px; position:relative; background:#f3f3f3; padding:20px 20px; border-left:4px solid #1589cb;line-height: 2;font-size: 20px; font-style: italic;margin-bottom: 25px;}
blockquote p{ font-size:inherit; font-weight:inherit; line-height:inherit; }

hr {border:0 #3f3f3f solid; border-top-width:1px; clear:both; height:0;margin: 10px auto 40px;}

img{ border:none; max-width: 100%; vertical-align: top; height: auto;}
img[src$=".svg"] {width: 100%;}

/* 4. Link
------------------------------------------------------------------------------*/
a{ color:#4777ac; transition: background-color 0.3s ease 0s, color 0.3s ease 0s; }
a:hover{ color:#c5a47e; text-decoration: underline; }
a:focus {outline: none;}

/* 5. Forms
------------------------------------------------------------------------------*/
label {color:#3f3f3f; font-size:16px; font-weight:400; line-height:1.5;  margin-bottom:10px; display: block;}
input, 
textarea, 
button { font-family: 'Poppins', sans-serif; }
input[type="text"],
input[type="submit"],
input[type="button"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea {-webkit-appearance: none; outline: none;}

input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="tel"], 
input[type="search"],
input[type="number"],
textarea { border:2px solid #cccccc; padding:0 15px; color:#3f3f3f; font-size:16px; height:56px; font-weight: 400; width: 100%;text-transform: uppercase;}

textarea{ height:100px; resize:none; overflow: auto; padding: 20px 15px; }

input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="email"]:focus, 
input[type="tel"]:focus, 
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus {border-color: #c5a47e}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {-webkit-appearance: button; cursor: pointer; background-color: #cbcbcb; padding: 0 15px; height: 40px; display: inline-block; vertical-align: top; font-size: 14px; font-weight: 600; line-height: 1.52857143; text-align: center; border: none; text-transform: uppercase; border-radius: 0px; color: #fff; background-color: #0eb769; }

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {background-color: #c5a47e; color: #fff;}

input[type="search"] {-webkit-appearance: textfield;}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}

::-webkit-input-placeholder { opacity: 1 !important; color: #a3a3a3; }
:-moz-placeholder { opacity: 1 !important; color: #a3a3a3; }
::-moz-placeholder { opacity: 1 !important; color: #a3a3a3; }
:-ms-input-placeholder { opacity: 1 !important; color: #a3a3a3; }

.form-group {margin-bottom: 30px;}
a:focus,
button:focus{outline: none;}

/* buttons */
.btn {display: inline-block;vertical-align: top;padding: 0 30px;font-size: 16px;font-weight: 600;text-align: center;border: none;text-transform: uppercase;border-radius: 0px;color: #3f3f3f;background-color: transparent;position: relative;line-height: 30px;}
.btn:hover,
.btn:focus { color: #c5a47e; background-color: transparent; border-color: transparent;text-decoration: none}
.btn-sm {padding: 8px 16px; }
.btn-md {padding: 12px 24px;}
.btn-link { color: #98989c; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: 2px; border-bottom: 1px solid #98989c; margin-bottom: 2px; }
.btn-link:hover,
.btn-link:focus{ color: #0eb769; font-weight: 700; text-decoration: none; border-bottom: 1px solid #0eb769; }
.btn:before{content: "";height: 30px;width: 18px;background: url(assets/images/bracket-left.png);position: absolute;left: 0;top: 0;bottom: 0;pointer-events: none;transition: 0.5s; background-size: contain;background-repeat: no-repeat;}
.btn:after{content: "";height: 30px;width: 18px;background: url(assets/images/bracket-right.png);position: absolute;right: 0;top: 0;bottom: 0;pointer-events: none;transition: 0.5s; background-size: contain;background-repeat: no-repeat;}

.btn:hover:before {
    left: 5px;
}
.btn:hover:after {
    right: 5px;
}

/* 6. Tables
------------------------------------------------------------------------------*/
table {border-spacing: 0; border-collapse: collapse;}
td {text-align: left; font-weight: normal;}
.table-responsive {display: block;width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;-ms-overflow-style: -ms-autohiding-scrollbar}
.table-bordered{width: 100%;max-width: 100%;text-align: left;}
.table-bordered th, 
.table-bordered td{ vertical-align: bottom;border-bottom: 1px solid #ddd;padding: 10px;}

/* 7. Layout Framework
------------------------------------------------------------------------------*/
/* main container */
#wrapper {width: 100%;display: flex;min-height: 100%;position: relative;flex-wrap: wrap;background-color: #fff;justify-content: space-between;align-content: space-between;}
.main-container{width:100%;}
.container {max-width: 1600px;}
.body-content ul, 
.body-content ol{margin-bottom: 20px;}
.body-content ul ul, 
.body-content ul ol,
.body-content ol ol,
.body-content ol ul{margin-bottom: 0;}

/* header */
.main-header {height: auto;display: flex;position: absolute;top: 0;left: 0;width: 100%;background: #fff; z-index: 9999;transform: translateY(0);transition: transform .4s ease-in-out;}
header.nav-up {transform: translateY(-150%);}
header.nav-down {box-shadow: 0 1px 10px 0px rgba(0,0,0,0.1);}

/* responsive nav for small devices */
.menu-outer li a{transition: 1s;}
.menu-outer li.active a,
.menu-outer li a:hover{background: #000;}
.hamburger {padding: 0;margin: 0;text-align: center;background-color: #c5a47e;width: 100px;height: 100%; position: relative;z-index: 2;display: none;}
.hamburger:hover, 
.hamburger:focus{background-color: #c5a47e;outline: none;}
.hamburger .line{width: 30px;height: 4px;background-color: #fff;display: block;margin: 6px auto;}
.hamburger:hover{cursor: pointer;}
.hamburger.close{padding: 10px;}
.hamburger.close .wrap{ position: relative;width: 30px;height: 30px;display: block;    margin: 0 auto;}
.hamburger.close .line{margin: 0;width:100%;position: absolute;top: calc(50% - 2px);transform: rotate(45deg);background-color: #fff;transition: 0.5s ease;}
.hamburger.close .line:last-child{transform: rotate(-45deg);transition: 0.5s ease;}
#menu{position: absolute;top: 0;right: -100%;width: 100%;height: 100%;background-color: #c5a47e;transition: all 0.5s ease-in-out;z-index: 1;visibility: hidden;/*background: linear-gradient(-45deg, #c5a47e, #c48640);background-size: 300% 300%; animation: gradient-rotate 5s linear infinite;*/}
/*@keyframes gradient-rotate{
0% {
background-position: 0% 50%
}
50% {
background-position: 100% 50%
}
100% {
background-position: 0% 50%
}
}*/
#mobilenav.is-open #menu{right: 0;visibility: visible;padding-left: 15px;padding-right: 15px;}
#mobilenav .nav-logo{padding: 15px;}
#mobilenav{position: relative;width: calc(100% - 270px);}
#mobilenav ul,
#mobilenav li{padding: 0;margin: 0;list-style: none;position: relative;}
#mobilenav li{display: inline-block;vertical-align: top;}
#mobilenav ul ul{display: none;}
#mobilenav .caret{display: block;width: 36px;height: 36px;position: absolute;top: 3px;right: 2px;cursor: pointer;}
#mobilenav .caret:not(.trigger-caret){pointer-events: none;}
#mobilenav .caret:before,
#mobilenav .caret:after{content:'';position: absolute;top: 0;left: 0;bottom: 0;right: 0;display: block;margin: auto; width: 20px;height: 2px;background: #fff;}
#mobilenav .caret:after{transform: rotate(-90deg);transition: all .2s ease;}
#mobilenav .is-open > .caret:after{transform: rotate(0)}
#mobilenav ul a {padding: 10px 15px;cursor: pointer;z-index: 2;font-size: 16px;text-decoration: none;color: #ffffff;text-transform: uppercase;font-weight: 500;letter-spacing: 0.03em;}
#mobilenav .has-sub>a{padding-right: 40px;}
#mobilenav li li a { padding-left: 30px; font-size: 14px;text-decoration: none;color: #dddddd;background: #49505a; }
#mobilenav li li li a {padding-left: 50px;}
.menu-outer {height: 100%;}
.menu-outer ul{height: 100%;display: flex;align-items: center;justify-content: center;}
.menu-outer ul li{height: 100%;}
.menu-outer ul li a{height: 100%;display: flex;align-items: center;justify-content: center;}

/* nav */
.navigation { width:100%; height:auto; }
.navigation ul{ padding: 0; margin: 0; list-style: none; }
.navigation ul li{ padding: 0; margin: 0; list-style: none; }
.navigation ul li a {}
.site-logo{display: inline-block;vertical-align: top;width: 270px;background: #fff;display: flex;align-items: center;justify-content: center; padding: 0 20px;position: relative;z-index: 2}

/* footer */
.main-footer { width:100%; height:auto; background:#fff; line-height: normal;}
.footer-top {padding: 90px 0;}
.site-title {margin-bottom: 80px;position: relative;z-index: 1;}
.site-title h2 {text-transform: uppercase;position: relative;z-index: 2;letter-spacing: 0.08em;}
.site-title h2:before {content: "";height: 5px;width: 100%;background: #c5a47e;position: absolute;left: 0;bottom: 20px;z-index: -1;}
.f-social{padding-left: 0;padding-top: 0;margin: 0;}
.f-social ul{margin: 0;}
.f-social li {display: inline-block;vertical-align: top;padding: 0 26px;}
.f-social li a{display: inline-block;vertical-align: top;}
.f-social li a:hover img{filter: grayscale(1);}
.f-social li:first-child{padding-left: 0;}
.left-detail {width: 60%;}
.left-detail > * {padding-left: 70px;margin-bottom: 20px;}
.left-detail address {font-style: normal;background: url(assets/images/location.png) no-repeat;background-position: top 8px left;}
.f-call {background: url(assets/images/call.png) no-repeat top 8px left;margin-bottom: 35px;}
.f-mail {background: url(assets/images/envelope.png) no-repeat top 8px left;margin-bottom: 35px;}
.left-detail h5 {color: #c5a47e;font-weight: 500;margin-bottom: 5px;text-transform: uppercase;}
.left-detail a {color: #3f3f3f;}
.right-form {width: 40%;}
.right-form input{margin-bottom: 20px;}
.right-form textarea{margin-bottom: 20px;}
.footer-bottom {background: #000;text-align: center;padding: 30px 0;}
.footer-bottom p{color: #fff;text-transform: uppercase;}
.input-btn{display: inline-block;vertical-align: top;float: right;position: relative;}
.input-btn:hover:before{left: 10px;}
.input-btn:before{content: "";height: 50px;width: 18px;background: url('assets/images/bracket-left.png');position: absolute;left: 0;top: 0;bottom: 0;pointer-events: none;transition: 0.5s;}
.input-btn:after{content: "";height: 50px;width: 18px;background: url('assets/images/bracket-right.png');position: absolute;right: 0;top: 0;bottom: 0;pointer-events: none;transition: 0.5s;}
.input-btn:hover:after{right: 10px;}
.input-btn input[type="submit"]:hover {color: #c5a47e;background: transparent;}
.input-btn input[type="submit"]{color: #000;background: transparent;font-size: 24px;text-transform: uppercase;color: #3f3f3f;margin-bottom: 0;font-weight: 500;font-size: 24px;text-transform: uppercase;padding: 0 40px;height: 50px;transition: 0.5s;}

/*--------- home page ------------*/
/* banner part */
.slick-arrow {position: absolute;bottom: 30px;-webkit-transform: translateX(-50%);transform: translateX(-50%);height: 45px;width: 45px;font-size: 0;z-index: 9;opacity: 0.5;transition: 0.5s;}
.slick-arrow:hover{background-color: transparent;opacity: 1;outline: none;}
.slick-prev{background: url('assets/images/arrow-left.png') no-repeat center center;left: calc(50% - 30px);}
.slick-next{background: url('assets/images/arrow-right.png') no-repeat center center;left: calc(50% + 30px);}
.hero-section .slick-slide img{height: 100vh;width: 100%;object-fit: cover;}
.item {position: relative;}
.caption {max-width: 1600px;margin: 0 auto;position: absolute;left: -100px;top: 50%;transform: translateY(-50%);z-index: 99999999;width: 100%;padding: 0 60px;transition: 0.5s;opacity: 0;visibility: hidden;transition-delay: 0.8s;}
.slick-current .caption{left: 0;opacity: 1;visibility: visible;}
.caption h1 {margin-bottom: 0;color: #c5a47e;font-weight: 700;text-transform: uppercase;line-height: 1;}
.caption h2 {font-size: 80px;color: #fff;text-transform: uppercase;margin-bottom: 0;line-height: 1;letter-spacing: 0.08em;}

/* About section */
.about-cover .d-flex {
    height: 100%;
}
.about-cover .d-flex {justify-content: flex-end;}
.about-cover {position: relative; background-attachment: fixed;background-position: center;background-repeat: no-repeat;background-size: cover;height: 100%;}
/*.left-img {width: 100%;min-height: 100vh;position: absolute;top: 0;left: 0;z-index: -1;}
.left-img img{width: 100%;height: 100%; object-fit: cover;}*/
.site-title h3 {color: #c5a47e;text-transform: uppercase;}
.right-content {width: 50%;padding-left: 50px;padding-top: 175px;padding-right: calc((100vw - 1600px) / 2);background: rgba(255, 255, 255, 0.85);}
.s-item {width: 50%;padding: 0 45px;}
.our-specialization .d-flex {margin: 0 -45px;}
.s-item .site-title {margin-top: 40px;margin-bottom: 0;position: relative;}
.site-title > img {position: absolute;right: 0;bottom: 20px;}
.our-specialization .container > h4 {color: rgba(0, 0, 0, 0.5);text-transform: uppercase;letter-spacing: 0.08em;font-weight: 600;}
.our-specialization {min-height: 100vh;display: flex;align-items: center;justify-content: center;background-repeat: no-repeat;background-size: cover;background-color: #ededed;overflow: hidden;    padding: 150px 0;background-attachment: fixed;background-position: center;background-repeat: no-repeat;background-size: cover;}

/* Project */
.project-cover {
    padding: 100px 0 0;
    overflow: hidden;
}
.project-cover .grid-item {width: 25%;height: 480px;}
.project-cover .grid img{height: 100%;width: 100%;object-fit: cover;}
.project-cover .grid-item{border: 0;overflow: hidden;position: relative;}
.project-cover .grid-item img{transition: 1s ease;}
.project-cover .grid-item:hover img{transform: scale(1.2)}
.project-cover .grid{border: 0;}
.project-cover .site-title li {display: inline-block;vertical-align: top;padding: 0 30px;margin-bottom: 0;position: relative;}
.site-title ul{margin-left: 0;}
.project-cover .site-title li:after {content: "";height: 2px;width: 10px;background: #7f7f7f;position: absolute;right: 0;top: 50%;transform: translateY(-50%);}
.project-filter li:last-child:after {display: none;}
.project-cover .site-title li a{font-size: 18px; color: #7f7f7f;text-transform: uppercase;}
.project-cover .site-title li a:active{background: transparent;}
.project-cover .site-title li a.is-checked{color: #000}
.project-cover .site-title li a:hover{text-decoration: none;color: #000}
.project-detail .grid{background: transparent;}
.project-cover .grid-item:before {
    content: "";
    height: 100%;
    width: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: 0.3s all;
    pointer-events: none;
    z-index: 1;
}
.project-cover .grid-item:hover:before{
    opacity: 0.75;

}
.grid-caption {
    position: absolute;
    top: 55%;
    left: 0;
    transform: translateY(-50%);
    text-align: center;
    width: 100%;
    transition: 0.5s all;
    opacity: 0;
    z-index: 2;
}
.grid-caption h5{
    color: #c5a47e;
    text-transform: uppercase;
    padding-bottom: 35px;
    position: relative;
    margin: 0;
}
.grid-caption h5:before{
    content: "";
    height: 5px;
    width: 80px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.grid-caption a{
    margin-top: 35px;
    color: #c5a47e;
    text-transform: uppercase;
    display: block;
}
.grid-caption a:active{
    background: transparent;
    color: #c5a47e;
}
.grid-caption a:hover{
    text-decoration: none
}
.project-cover .grid-item:hover .grid-caption{
    top: 50%;
    opacity: 1;
}
.fancybox-button--zoom{
    display: none !important;
}
a:active{
    background: transparent;
}

.f-social h4 {
    position: relative;
    z-index: 1;
    font-weight: 700;
}
.f-social h4:before {
    content: "";
    height: 3px;
    width: 100%;
    background: #c5a47e;
    position: absolute;
    left: 0;
    bottom: 9px;
    z-index: -1;
}



@media (min-width: 768px){
body.gallery {overflow: hidden;height: 100%;}
body #main {top: 0;width: 100%;-moz-transition: top 0.9s cubic-bezier(0.7, 0.01, 0.3, 1);-o-transition: top 0.9s cubic-bezier(0.7, 0.01, 0.3, 1);-webkit-transition: top 0.9s cubic-bezier(0.7, 0.01, 0.3, 1);transition: top 0.9s cubic-bezier(0.7, 0.01, 0.3, 1);position: relative;}
body.gallery #projects {height: 100vh;overflow: hidden;}
body #projects {width: 100%;}
#projects{height: 100vh;max-height: 100vh;position: relative;margin-top: 0;transition: margin 0.9s cubic-bezier(0.7, 0.01, 0.3, 1);}
body.gallery #projects .wrapper {z-index: 5;}

body #projects .slide {overflow: hidden;height: 100vh;width: 100%;background-repeat: no-repeat;background-position: center;background-size: cover;}
body.gallery #projects .slide {position: absolute;background-attachment: fixed;height: 0;pointer-events: none;-moz-transition: height 0.8s cubic-bezier(0.63, 0.64, 0.3, 1);-o-transition: height 0.8s cubic-bezier(0.63, 0.64, 0.3, 1);-webkit-transition: height 0.8s cubic-bezier(0.63, 0.64, 0.3, 1);transition: height 0.8s cubic-bezier(0.63, 0.64, 0.3, 1);}
body.gallery #projects .slide.active {height: 100%;opacity: 1;pointer-events: all;}
body.shifted #projects .slide-control {opacity: 0}
#projects .slide-control span.mosaic-link {display: none;}
body.shifted #projects{margin-top: -100vh;}
}

/*.dots-cover {
    position: absolute;
    right: 0;
    top: 160px;
    z-index: 999;
}*/
body.shifted header {
    display: none;
}

.project-detail .grid {
    display: flex;
    flex-wrap: wrap;
}
.project-detail .grid .grid-item{
    width: 25%;
}
.grid .grid-item{display: none;}
.project-detail > div{display: none;}
.project-detail > div.is-open{display: block;}
.grid-load-more {
    text-align: center;
    margin: 60px 0 0;
}
.project-cover .site-title li.active a {
    color: #000;
}