@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap");



body {

  padding: 0;

  margin: 0;

  overflow-x: hidden !important;

  font-family: "Josefin Sans", sans-serif;

  font-family: "Lato", sans-serif;

}



body {

  margin: 0;

  padding: 0;

  overflow-x: hidden;

}

h1,

h2,

h3,

h4,

h5 {

  font-family: "Josefin Sans", sans-serif;

  color: #414043;

  margin: 0;

  padding: 0;

}

ul,

li,

p,

a,

del,

button,

label,

input,

textarea,

select,

td {

  font-family: "Lato", sans-serif;

  font-weight: 300;

  color: #2f2e2c;

}

.btn:focus,

.btn-close:focus,

.form-control:focus {

  box-shadow: none;

}



:root {

  --title-font: "Josefin Sans", sans-serif;

  --paragraph-font: "Lato", sans-serif;

  --bg-color: #2f2e2c;

  --title: #ffff;

  --white-text: #ffff;

  --btn-bg: #5b5545;

  --placeholder-text: #877f71;

  --footer-text: #1c1c1c;

  --black-text: #000;

  --light-text: #76613DEB;

}



/* .contact-form .row {

  margin-left: 0;

  margin-right: 0;

} */



header.header .logo {

  width: 235px;

  padding-left: 30px;

}



/* .navbar-expand-lg .navbar-collapse {

  flex-direction: row-reverse;

} */



.d-flex li {

  padding: 0 20px;

  list-style: none;

  text-align: center;

}



.d-flex li a {

  color: var(--footer-text);

  font-size: 16px;

  font-weight: 300;

  line-height: 19.2px;

}



.navbar-nav .nav-link.active,

.navbar-nav .nav-link.show,

.nav-link:focus,

.nav-link:hover {

  color: var(--footer-text);

}



.navbar {

  width: 100%;

}



.contact-form {

  background: var(--bg-color);

}



.contact-bg-img {

  /* background-image: url(./img/michal-biernat-h0xEUQXzU38-unsplash.jpg); */



  width: 100%;

}



.main-title h1 {

  text-transform: uppercase;

  color: var(--title);

  font-size: 40px;

  font-weight: 700;

  line-height: 50px;

}



.form-container {

  padding: 48px 40px 0 40px;

  font-family: "Josefin Sans", sans-serif;

}



form .form-label {

  color: var(--white-text);

  font-size: 18px;

  font-weight: 300;

  line-height: 41.07px;

  padding-left: 12px;

}



form .form-control {

  border: none;

  border-radius: 0%;

  border-bottom: 0.5px solid var(--white-text);

  background-color: transparent;

  color: var(--white-text);

}



.form-control:focus {

  border-color: var(--white-text);

  box-shadow: none;

  background-color: transparent;

  color: var(--white-text);

}



.form-control::placeholder {

  color: var(--placeholder-text);

}



/* Chrome, Safari, Edge, Opera */

input::-webkit-outer-spin-button,

input::-webkit-inner-spin-button {

  -webkit-appearance: none;

  margin: 0;

}



/* Firefox */

input[type="number"] {

  -moz-appearance: textfield;

}



.custom-btn {

  background-color: var(--btn-bg);

  color: var(--white-text);

  border-radius: 25px;

  padding: 15px 40px;

  font-weight: 300;

  font-size: 20px;

  line-height: 14px;

}



.custom-btn:hover {

  border: 0.5px solid var(--btn-bg);

  color: var(--white-text);

}



.social-media {

  margin: 30px 0;

}



.social-media i {

  padding: 0 10px;

  margin: 0 10px;

  color: var(--footer-text);

  font-size: 23px;

}



.quick-links li {

  list-style: none;

  margin-bottom: 1rem;

}



.quick-links li a {

  text-decoration: none;

  color: var(--footer-text);

}



.contact-details {

  display: flex;

  align-items: start;

  justify-content: left;

}



.contact-details i {

  padding-top: 5px;

}



.contact-details a,

.contact-details p {

  color: var(--footer-text);

  text-decoration: none;

  padding: 0 15px;

}



.divider {

  border-top: 1px solid var(--footer-text);

}



.copyright-text {

  text-align: center;

  padding-top: 25px;

  color: var(--footer-text);

  font-weight: 300;

  font-size: 16px;

  line-height: 22.69px;

}



.footer-content {

  margin-top: 20px;

}



.contact-details a {

  margin-bottom: 1rem;

}



.navbar-brand {

  /* padding-left: 20px; */

  /* padding-top: 10px; */

}



#map {

  height: 400px;

  width: 100%;

}



.navbar-toggler {

  border: none;

}



.navbar-toggler:focus {

  box-shadow: none;

}



.projects-section {

  /* margin-top: 20px; */

  margin-bottom: 50px;
  display: inline-block;
  width: 100%;
  margin-top: 120px;

}



.gallery-row {

  display: -ms-flexbox; /* IE10 */

  display: flex;

  -ms-flex-wrap: wrap; /* IE10 */

  flex-wrap: wrap;

  padding: 0 4px;

}



.tab-content .column {

  -ms-flex: 25%; /* IE10 */

  flex: 25%;

  max-width: 25%;

  padding: 0 4px;

}



.tab-content .column img {

  margin-top: 8px;

  vertical-align: middle;

  width: 100%;

}



.project-tabs {

  margin: 30px 0;

}



.projects-single-tab {

  padding: 10px 20px;

}



.projects-single-tab a {

  text-decoration: none;

  color: var(--black-text);

  font-weight: 300;

  font-size: 15px;

  line-height: 20px;

  padding: 10px 2px;

}



.projects-single-tab a.active,

.projects-single-tab a:hover {

  border-bottom: 1px solid var(--black-text);

}



.project-banner {

  /* margin-top: 20px; */

  display: inline-block;
  width: 100%;
  margin-top: 120px;
}



.project-banner h5 {

  font-size: 16px;

  font-weight: 500;

  line-height: 26px;

}



.project-banner h5 span,

.details-para p {

  font-size: 16px;

  font-weight: 300;

  line-height: 26px;

}



/* .project-details {

  position: absolute;

  bottom: 0px;

} */



.project-details .single-detail {

  display: flex;

}



.project-banner h1 {

  position: absolute;

  bottom: 0px;

  font-size: 40px;

  line-height: 50px;

  font-weight: 700;

  letter-spacing: 10px;

  color: var(--black-text);

}



.project-banner h1 span {

  color: var(--light-text);

}



.project-gallery {

  margin: 50px 0;

}



.project-gallery .row {

  display: -ms-flexbox; /* IE10 */

  display: flex;

  -ms-flex-wrap: wrap; /* IE10 */

  flex-wrap: wrap;

  padding: 0 4px;

}



/* Create four equal columns that sits next to each other */

.project-gallery .column {

  -ms-flex: 33%; /* IE10 */

  flex: 33%;

  max-width: 33%;

  padding: 0 4px;

}



.project-gallery .column img,

.project-gallery .column video {

  margin-top: 8px;

  vertical-align: middle;

  width: 100%;

}



.img-wrapper {

  position: relative;

  margin-top: 15px;

}



.image-wrapper img {

  width: 100%;

}

.image-wrapper video {

  width: 100%;

  height: auto;

  object-fit: cover; /* Ensures the video covers the same space as images */

  display: block;

  max-height: 250px; /* Ensures uniform height for images and videos */

}



.img-overlay {

  background: rgba(0, 0, 0, 0.7);

  width: 100%;

  height: 100%;

  position: absolute;

  top: 0;

  left: 0;

  display: flex;

  justify-content: center;

  align-items: center;

  opacity: 0;

}



.img-overlay i {

  color: #fff;

  font-size: 10px;

}



#overlay {

  background: rgba(0, 0, 0, 0.7);

  width: 100%;

  height: 100%;

  position: fixed;

  top: 0;

  left: 0;

  display: none;

  padding: 20px auto;

  z-index: 100;

  -webkit-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

  align-items: center;

  justify-content: center;

    padding: 30px 0;

}



#overlay img,

#overlay video {



  width: 100%;

  height: 92%;

  object-fit: contain;



  text-align: center;

}



#media-container {

  width: 100%;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  background: transparent;

  border-radius: 8px;

  overflow: hidden;

  position: relative;

}



#media-container img {

  /*padding-top: 2%;*/

  height: 100%;

  width: auto;

  object-fit: contain;

  border-radius: 10px;

}



#media-container video {

  padding-top: 2%;

  width: 80%;

  height: auto;

  object-fit: contain;

}



#nextButton {

  color: #fff;

  font-size: 2em;

  transition: opacity 0.8s;

  position: absolute;

  right: 3%;

  top: 50%;

  cursor: pointer;

}



#prevButton {

  color: #fff;

  font-size: 2em;

  transition: opacity 0.8s;

  position: absolute;

  top: 50%;

  left: 3%;

  cursor: pointer;

}



#exitButton {

  color: #fff;

  font-size: 2em;

  transition: opacity 0.8s;

  position: absolute;

  top: 2%;

  right: 2%;

  cursor: pointer;

}



.project-layout {

  padding: 50px 0;

}



.project-layout .layout-img {

  text-align: center;

}



.project-img {

  margin: 10px 0;

  filter: none;

  background: transparent;

  position: relative; /* Ensure this is set to position the overlay correctly */

}



.overlay {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  color: white;

  display: block;

  justify-content: center;

  align-items: center;

  opacity: 0;

  transition: opacity 0.3s ease;

  z-index: 100; /* Ensure the overlay is above the image */

}



.project-img img {

  opacity: 1;

  display: block;

  width: 100%;

  height: auto;

  transition: 0.5s ease;

  backface-visibility: hidden;

}



.overlay-text {

  position: absolute;

  bottom: 5px;

  left: 20px;

  display: hidden;

}



.overlay-text h6 {

    font-family: var(--title-font);

  font-size: 25px;

  font-weight: 700;

  line-height: 29.6px;

  color: var(--white-text);text-transform:uppercase;

  

}



.overlay-text p {

        font-family: var(--paragraph-font);

  font-size: 15.67px;

  font-weight: 300;

  line-height: 16.8px;

  color: var(--white-text);

}



.project-img:hover img {

  opacity: 1;

  filter: grayscale(1);

}



.project-img:hover .overlay {

  background: linear-gradient(

    to bottom,

    transparent,

    rgba(0, 0, 0, 0.212),

    #000000

  );

  opacity: 1;

}



.project-img:hover .overlay-text {

  display: block;

}



.for-evaluation {

  margin-top: 90px;

  margin-bottom: 60px;

}



.regular6 .slick-dots li.slick-active button,

.tagcloud a,

input[type="submit"]:hover {

  border-color: #e1d1bf;

  background-color: transparent !important;

}

.regular6 .slick-dots li.slick-active button,

.tagcloud a,

input[type="submit"]:hover {

  border-color: #e1d1bf;

  background-color: transparent !important;

}

.regular6 .slick-dots li button:before {

  /* background-color: transparent; */

  background-color: #e1d1bf !important;

}



.regular6 .slick-dots li button {

  border-style: solid;



  /* background-color: #e1d1bf !important; */

}



.regular6 .slick-dots li.slick-active button:before {

  opacity: 1;

  background-color: #e1d1bf;

}



.regular6 .slick-dots {

  bottom: -34px;

}



.accordion-button {

  font-size: 18px;

  font-weight: 300;

  line-height: 28px;

  letter-spacing: 0.1px;

  padding: 1rem 3.25rem;

}



.accordion-button:not(.collapsed) {

  color: black;

  background-color: transparent;

  /* border-bottom: 0.1px solid #dfdfdf; */

}



.accordion-button:focus {

  box-shadow: none;

}



.accordion-button:not(.collapsed)::after {

  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

}



.accordion-body {

  font-size: 16px;

  font-weight: 300;

  line-height: 25px;

  padding: 1rem 3.25rem;

}



.faq-section,

.video-section {

  margin-bottom: 90px;

}



.video-section .video-container video {

  width: 100%;

}



.video-container {

  position: relative;

}



.play-pause-btn {

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  background: none;

  border: none;

  outline: none;

  cursor: pointer;

  z-index: 10;

}



.play-pause-btn img {

  width: 50px;

  height: 50px;

}



.play-pause-btn.hide {

  display: none;

}



.accordion-item {

  border-left: none;

  border-right: none;

}



/* custom style */

.header_project_nav{position: static;}

.header_project_nav .navbar-light .navbar-nav .nav-link {

  color: #2F2E2C;

  font-size: 17px;

  text-transform: uppercase;

  font-weight: 400;

  position: relative;

}



.header_project_nav .navbar-light .navbar-nav .nav-item{

    position: relative;

}



.header_project_nav .navbar-nav .nav-link:after {    

  background: none repeat scroll 0 0 transparent;

  content: "";

  display: block;

  height: 2px;

  left: 50%;

      bottom: 3px;

    width: 0px;

    height: 2px;

  position: absolute;

  background-color: black;

     transition: all 1s;

  width: 0;

}

.header_project_nav .navbar-nav .nav-link:hover:after { 

  width: 100%; 

  left: 0; 

}

/*.header_project_nav .navbar-light .navbar-nav .nav-link.active {*/

/*  border-bottom: 1px solid #2F2E2C;*/

/*}*/

.process {

  margin: 60px 0;

}

.process-title {

  display: flex;

  justify-content: start;

  align-items: start;

  margin-bottom: 30px;

}

.process-title h2 {

  font-size: 110px;

  font-weight: 700;

  line-height: 100px;

  letter-spacing: 0.1px;

  color: #76613DEB;

}

.process-title h4 {

  font-size: 30px;

  font-weight: 700;

  line-height: 40px;

  letter-spacing: 0.1px;

  color: black;

  text-transform: uppercase;

  text-align: start;

  padding-left: 10px;

}



.description-pt ul{

    padding-left: 0px;

}



.description-pt ul li{

    list-style: none;

}



.description-pt ul li:before{

    /*content: '→';padding-right:5px;*/

}

.process-description {

  margin-bottom: 30px;

}

.description-pt ul li {

  display: inline-block;

  /*font-size: 18px;*/

  font-size: 16px;

  font-weight: 700;

  line-height: 28px;

  letter-spacing: 0.1px;

  color: #282828;

  padding-right: 5px;

  margin-bottom: 7px;

}

.description-pt ul li span {

  /*font-size: 17px;*/

  font-size: 16px;

  font-weight: 400;

  line-height: 28px;

  letter-spacing: 0.1px;

  color: #0d0c0c;

}



/*.process-img img{width: 100%;}*/



.process .row {

  display: flex;

  flex-wrap: wrap;

  align-items: stretch;

}



.process .col-lg-6 {

  display: flex;

  flex-direction: column;

}



.process-img {

  flex: 1; /* Make the image container take the full height */

  display: flex;

  justify-content: center; /* Center the image horizontally */

  align-items: center; /* Center the image vertically */

}



.process-img img {

  max-height: 100%; /* Ensure the image doesn't exceed its container */

  width: 100%; /* Maintain the aspect ratio */

  border-radius: 10px;

}



.project-img img, .project-gallery .column img{

    border-radius: 10px;

}



/*.gallery-div {*/

/*    display: grid;*/

/*    grid-template-rows: masonry;*/

/*    grid-auto-flow: row; */

/*    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); */

/*    gap: 8px; */

/*    padding: 8px;*/

/*  }*/



/*  .gallery-div img {*/

/*    width: 100%; */

/*    height: auto; */

/*    cursor: pointer;*/

/*    border-radius: 10px; */

/*  }*/



.gallery-div {

  column-width: 350px;

  column-gap: 8px;

  padding: 8px;

}



.gallery-div img ,.gallery-div video{

  width: 100%;

  cursor: pointer;

  border-radius: 10px;

  padding: 4px 0;

}



.lightbox {

  position: fixed;

  width: 100%;

  height: 100%;

  top: 0;

  display: none;

  background:#000000f0;

  perspective: 1000;

}



.lightbox img {

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) rotateY(0deg);

  max-height: 95vh;

  max-width: calc(95vw - 100px);

  transition: 0.8s cubic-bezier(0.7, 0, 0.4, 1);

  transform-style: preserve-3d;

  border-radius: 10px;

}
.lightbox video{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateY(0deg);
  max-height: 95vh;
  max-width: calc(95vw - 100px);
  transition: 0.8s cubic-bezier(0.7, 0, 0.4, 1);
  transform-style: preserve-3d;
  border-radius: 10px;
}







[class^="arrow"] {

  height: 200px;

  width: 50px;

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  cursor: pointer;

}



[class^="arrow"]:after {

  content: '';

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) rotate(-45deg);

  width: 40px;

  height: 40px;

}



.arrowr {

  right: 0;

  margin: 20px;

}



.arrowr:after {

  border-right: 8px solid white;

  border-bottom: 8px solid white;

}



.arrowl {

  left: 0;

  margin: 20px;

}



.arrowl:after {

  border-left: 8px solid white;

  border-top:8px solid white;

}



.close {

  position: absolute;

  right: 0;

  width: 50px;

  height: 50px;

  margin: 20px;

  cursor: pointer;

}



.close:after,

.close:before {

  content: '';

  position: absolute;

  top: 50%;

  left: 50%;

  width: 8px;

  /*border-radius: 10px;*/

  height: 100%;

  background: white;

}



.close:after {

  transform: translate(-50%, -50%) rotate(-45deg);

}



.close:before {

  transform: translate(-50%, -50%) rotate(45deg);

}







@media screen and (max-width: 991px) {

  /* .navbar {

    background-color: var(--white-text);

    position: static;

  } */



  /* .d-flex li a {

    color: var(--bg-color);

  }



  .nav-link:focus,

  .nav-link:hover {

    color: var(--bg-color);

  } */



  .quick-links {

    padding-left: 0;

  }



  .tab-content .column {

    -ms-flex: 50%;

    flex: 50%;

    max-width: 50%;

  }



  .project-tabs {

    justify-content: center;

  }



  .project-banner h1 {

    position: static;

    margin-top: 50px;

  }



  .layout-img img {

    width: 100%;

  }



  .contact-form .container{padding: 0;}

  .contact-form {padding-top: 70px; padding-bottom: 60px;}

  

         .gallery-div {

  column-width: 280px;

}



}



@media screen and (max-width: 767px) {

  .form-container {

    padding: 10px;

  }



  .row {

    margin: 0;

  }



  .navbar-brand {

    /* padding-left: 10px; */

    /* width: 30px; */

  }



  /* .d-flex li a {

    color: var(--footer-text);

    font-weight: 500;

  }



  .d-flex li a {

    color: var(--footer-text);

  }



  .navbar-nav .nav-link.active,

  .navbar-nav .nav-link.show,

  .nav-link:focus,

  .nav-link:hover {

    color: var(--footer-text);

  } */



  .tab-content .column {

    -ms-flex: 100%;

    flex: 100%;

    max-width: 100%;

  }



  .project-gallery .column {

    -ms-flex: 50%;

    flex: 50%;

    max-width: 50%;

  }



  #overlay img {

    width: 75%;

  }

  .header_project_nav .container-fluid{padding: 0;}



  .process-title h2 {

    font-size: 40px;

    line-height:40px;

}

.process-title h4 {

  font-size: 25px;

  line-height: 35px;

}

.process-description {

  margin: 20px 0;

}

.process-img{margin-bottom: 15px;}

.faq-section .accordion-button{padding: 10px;border-radius: 0;}

.faq-section .accordion-body {

  padding: 15px 10px;

}



}



@media screen and (max-width: 500px) {

    

    #media-container img{

        height: auto;

    }

    

  .projects-single-tab {

    padding: 10px 15px;

  }



  .project-gallery .column {

    -ms-flex: 100%;

    flex: 100%;

    max-width: 100%;

  }



  #overlay img {

    width: 70%;

  }

  

  [class^="arrow"]:after {

    width: 30px;

    height: 30px;

    }

    

    .arrowl:after {

    border-left: 6px solid white;

    border-top: 6px solid white;

}



.arrowr:after {

    border-right: 6px solid white;

    border-bottom: 6px solid white;

}



.close {

    width: 45px;

    height: 45px;

}



.close:after, .close:before {

    width: 6px;

}



}

