/*!
Theme Name: Elcon
Theme URI: https://elcon.cththemes.site
Author: CTHthemes
Author URI: http://themeforest.net/user/cththemes
Description: Elcon - Architecture & Portfolio WordPress Theme is perfect if you like a clean and modern design. This theme is ideal for designers, photographers, and those who need an easy, attractive, and effective way to share their work with clients.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: elcon
Tags: gutenberg, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, construction, architecture, renovate

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Elcon is based on Underscores https://underscores.me/, (C) 2012-2021 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
:root {
  --themecolor: #F9C315;
  --theme-lheight: 1.66; }

/*======================================
 [ -Main Stylesheet-
  Theme: elcon
  Version: 1.0.1
  Last change: 03/10/2022 ]
  	+++Fonts +++
	++++General Styles++++
	++++Typography ++++
	++++Page preload ++++
	++++Content Styles ++++
	++++Portfolio ++++
	++++Blog ++++
	++++Contacts ++++
	++++Responsive ++++
*/
/*-------------Import fonts ---------------------------------------*/
/*-------------General Style---------------------------------------*/
html {
  overflow-x: hidden !important;
  height: 100%;
  overflow-y: scroll;
  font-size: 16px; }

body {
  margin: 0;
  padding: 0;
  font-family: "Saira Semi Condensed", sans-serif;
  font-weight: 400;
  font-size: 16px;
  background: #1a3732;
  height: 100%;
  text-align: left; }

@-o-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

/*--------------Typography--------------------------------------*/
a,
a:hover {
  color: #000;
  text-decoration: none; }

p {
  font-size: 1rem;
  color: #5e646a; }

blockquote {
  padding: 10px 20px 0;
  margin: 0 0 20px;
  border-left: 10px solid #eee;
  position: relative; }

blockquote:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f10e";
  position: absolute;
  bottom: 5px;
  right: 10px;
  color: #ccc;
  z-index: -1;
  font-size: 2.615rem; }

blockquote p {
  font-style: italic;
  font-size: 1rem !important;
  color: #333; }

img {
  max-width: 100%;
  height: auto; }

figure {
  max-width: 100%; }

/* ---------Page preload--------------------------------------*/
.body-preload {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 113;
  background: #1a3732; }

.page-load {
  position: fixed;
  top: 80px;
  left: 80px;
  right: 80px;
  bottom: 80px;
  z-index: 1119;
  display: none;
  -webkit-transform: translate3d(0, 0, 0); }

.page-load_bg,
.page-load_bg2 {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  top: 100%;
  background: #1a3732;
  z-index: 3;
  overflow: hidden; }

.page-load_bg2 {
  z-index: 2;
  background: #35353a; }

.loader {
  display: block;
  height: 32px;
  width: 32px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -16px 0 0 -16px;
  z-index: 10; }

.loader span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 32px;
  width: 32px; }

.loader span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 32px;
  width: 32px;
  box-sizing: border-box;
  border: 3px solid rgba(255, 255, 255, 0.1);
  border-bottom: 3px solid transparent;
  border-radius: 50%;
  -webkit-animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite; }

@-webkit-keyframes loader-3-1 {
  0% {
    -webkit-transform: rotate(0deg); }
  40% {
    -webkit-transform: rotate(180deg); }
  60% {
    -webkit-transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes loader-3-1 {
  0% {
    transform: rotate(0deg); }
  40% {
    transform: rotate(180deg); }
  60% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

.loader span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  -webkit-animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite; }

@-webkit-keyframes loader-3-2 {
  0% {
    -webkit-transform: translate3d(0, -32px, 0) scale(0, 2);
    opacity: 0; }
  50% {
    -webkit-transform: translate3d(0, 0, 0) scale(1.25, 1.25);
    opacity: 1; }
  100% {
    -webkit-transform: translate3d(0, 8px, 0) scale(0, 0);
    opacity: 0; } }

@keyframes loader-3-2 {
  0% {
    transform: translate3d(0, -32px, 0) scale(0, 2);
    opacity: 0; }
  50% {
    transform: translate3d(0, 0, 0) scale(1.25, 1.25);
    opacity: 1; }
  100% {
    transform: translate3d(0, 8px, 0) scale(0, 0);
    opacity: 0; } }

/* ------progress-bar------------------------------------------------------------ */
.progress-bar-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 123; }

.progress-bar {
  position: relative;
  height: 100%;
  width: 0%;
  z-index: 2;
  top: 0;
  transition: all 0.2s ease-in-out; }

/* ---------Content Styles--------------------------------------*/
#main {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0; }

#wrapper {
  vertical-align: top;
  position: absolute;
  left: 80px;
  top: 80px;
  right: 0;
  bottom: 80px;
  z-index: 2; }

.content-holder {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: 2;
  bottom: 0;
  opacity: 1;
  transition: all 1.2s ease-in-out; }

.container {
  max-width: 700px;
  width: 92%;
  margin: 0 auto;
  position: relative;
  z-index: 5; }

.big-container {
  max-width: 964px; }

.container.fl-container {
  float: left; }

.content {
  width: 100%;
  position: relative;
  z-index: 4;
  float: left; }

.fl-wrap {
  float: left;
  width: 100%;
  position: relative; }

.no-bg {
  background: none !important; }

.full-height {
  height: 100%; }

.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-attachment: scroll;
  background-position: center;
  background-repeat: repeat;
  background-origin: content-box; }

.respimg {
  max-width: 100%;
  height: auto; }

.single-slider img {
  width: 100%;
  height: auto; }

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  z-index: 2; }

.no-padding {
  padding: 0 !important; }

.content-bg {
  position: fixed;
  bottom: 0;
  left: 60px;
  right: 60px;
  top: 60px;
  transition: all 0.4s ease-in-out;
  background: #fff;
  z-index: 1; }

/*------   Header  ------------------------------------------------------*/
.main-header,
.main-footer {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  background: #1a3732;
  height: 80px;
  padding: 0 80px; }

.right-dec,
.side-box {
  position: fixed;
  width: 80px;
  right: 0;
  top: 80px;
  bottom: 80px; }

.side-box {
  z-index: 100; }

.aside-link {
  position: absolute;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 1.077rem;
  background: rgba(255, 255, 255, 0.03);
  left: 20px;
  top: 50%;
  margin-top: -60px;
  z-index: 10; }

.aside-link span {
  position: absolute;
  top: 100%;
  line-height: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px;
  margin-top: 5px;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out; }

.aside-link:hover span {
  opacity: 1;
  visibility: visible;
  margin-top: 15px; }

.right-dec {
  z-index: 1;
  background: #1a3732; }

.social-container:after,
.main-footer:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 30px; }

.social-container:after {
  right: 35px;
  top: 60px; }

.main-footer:after {
  bottom: 24px;
  right: 30%;
  margin-right: -5px;
  display: none; }

.copy-right {
  padding-left: 15px; }

.copy-right:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 30px;
  bottom: 24px;
  left: 0; }

.main-footer {
  top: auto;
  bottom: 0; }

.logo-holder {
  position: relative;
  float: left;
  top: 24px;
  z-index: 100; }

.logo-holder img {
  width: auto;
  height: 45px; }

.social-container {
  position: fixed;
  top: 80px;
  left: 0;
  bottom: 80px;
  width: 80px;
  background: #1a3732;
  z-index: 99; }

.social-container:before,
.main-header:before,
.main-footer:before,
.right-dec:before {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.03); }

.social-container:before {
  left: 0;
  right: 0;
  top: 0;
  height: 80px; }

.main-header:before {
  left: 0;
  height: 100%;
  width: 30%;
  top: 0; }

.main-footer:before {
  right: 0;
  bottom: 0;
  height: 100%;
  width: 30%;
  z-index: 1; }

.right-dec:before {
  right: 0;
  bottom: 0;
  height: 80px;
  width: 100%; }

.hero-wrap-social {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  margin-left: -20px;
  z-index: 100;
  width: 40px; }
  .hero-wrap-social ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0; }

.hero-wrap-social li {
  margin-bottom: 6px;
  float: left;
  width: 100%; }

.hero-wrap-social li a {
  float: left;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease-in-out; }

.hero-wrap-social li a:hover {
  background: #1a3732; }

.copy-right {
  float: right;
  position: relative;
  z-index: 5;
  height: 80px;
  line-height: 80px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 4px; }

.footer-contacts {
  float: left;
  position: relative;
  height: 80px;
  line-height: 80px; }

.footer-contacts:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -130px;
  width: 60px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2); }

.footer-contacts ul {
  float: left;
  margin-left: 30px; }

.footer-contacts li {
  list-style: none;
  float: left;
  margin-right: 70px;
  position: relative;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.51);
  letter-spacing: 4px; }

.footer-contacts li:before {
  content: "";
  position: absolute;
  left: -30px;
  width: 15px;
  top: 50%;
  height: 2px;
  margin-top: -2px; }

.footer-contacts li a {
  transition: all 200ms ease-out;
  color: #fff; }

.footer-contacts li a:hover {
  color: #000; }

.share-button {
  position: relative;
  float: right;
  top: 50%;
  height: 24px;
  line-height: 24px;
  width: 24px;
  z-index: 20;
  cursor: pointer;
  margin-top: -12px; }

.share-tooltip {
  position: absolute;
  left: 100%;
  margin-left: 20px;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px;
  top: 2px;
  font-weight: 600;
  opacity: 0;
  margin-top: 6px;
  visibility: hidden;
  transition: all 200ms ease-out; }

.share-button:hover .share-tooltip {
  opacity: 1;
  visibility: visible;
  margin-top: 0; }

.share-button-dot {
  width: 8px;
  height: 8px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 200ms ease-out; }

.share-button .share-button-dot:nth-child(2) {
  left: auto;
  right: 0; }

.share-button .share-button-dot:nth-child(3) {
  bottom: 0;
  top: auto;
  left: 0; }

.share-button .share-button-dot:last-child {
  bottom: 0;
  top: auto;
  left: auto;
  right: 0; }

.share-button:hover .share-button-dot:last-child {
  background: #fff; }

.share-button.uncl-share .share-button-dot {
  transform: rotate(45deg); }

.share-wrapper {
  position: fixed;
  top: 80px;
  right: 80px;
  z-index: 52;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  margin-top: 20px; }

.share-wrapper_vis {
  margin-top: 0;
  opacity: 1;
  visibility: visible; }

.share-container {
  overflow: hidden;
  margin-right: 70px; }

.share-icon,
.share-icon:after,
.close-share-btn i {
  transition: all 100ms linear; }

.share-icon {
  width: 70px;
  height: 70px;
  line-height: 70px;
  float: left;
  position: relative;
  font-size: 0.95rem;
  color: #000;
  border-right: 1px solid #000;
  box-sizing: border-box; }

.share-icon:hover {
  color: #fff; }

.share-icon:before {
  font-family: Font Awesome\5 Brands; }

.close-share-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 70px;
  height: 70px;
  line-height: 70px;
  font-size: 0.75rem;
  background: #36393e;
  z-index: 10;
  cursor: pointer; }

.nav-holder {
  float: right;
  position: relative;
  opacity: 1;
  left: 0;
  visibility: visible;
  z-index: 20;
  top: 0;
  margin-right: 30px; }

.nav-holder nav {
  position: relative;
  float: right;
  top: 18px; }

.nav-holder nav li {
  float: left;
  position: relative;
  margin-right: 20px;
  height: 80px; }

.nav-holder nav li ul {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  min-width: 250px;
  top: 62px;
  right: 0;
  z-index: 1;
  padding: 10px 0;
  background: rgba(0, 0, 0, 0.8);
  transition: all 0.2s ease-in-out; }

.nav-holder nav li:hover > ul {
  opacity: 1;
  visibility: visible;
  margin: 0; }

.nav-holder nav li ul li ul {
  left: auto;
  right: 100%;
  top: -10px;
  margin: 0;
  max-width: 150px; }

.main-header.top-header .nav-holder nav li ul li ul {
  bottom: auto;
  top: -10px; }

.nav-holder nav li ul li:hover > ul {
  opacity: 1;
  visibility: visible;
  margin-right: 0px; }

.nav-holder nav li ul li {
  float: none;
  display: block;
  height: auto; }

.nav-holder nav li a {
  float: left;
  padding: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 25px;
  color: #fff; }

.nav-holder nav li ul a {
  color: #fff;
  float: left;
  width: 100%;
  text-align: left;
  padding: 2px 15px;
  letter-spacing: 0px; }

.nav-button {
  float: right;
  width: 28px;
  height: 50px;
  margin-right: 30px;
  cursor: pointer;
  position: relative;
  top: 30px;
  display: none; }

.nav-button span {
  width: 100%;
  float: left;
  margin-bottom: 6px;
  height: 3px;
  background: #fff;
  position: relative;
  overflow: hidden;
  z-index: 2;
  transition: all 0.3s ease-in;
  transform: rotate(0deg);
  top: 0;
  left: 0; }

.nav-button .ncs,
.nav-button .nbs {
  transition: all 0.2s ease-in; }

.nav-button .ncs {
  float: right; }

.nav-button.cmenu .nbs {
  transform: rotate(-45deg);
  top: -8px;
  transition-delay: 0.1s; }

.nav-button.cmenu .ncs {
  opacity: 0; }

.nav-button.cmenu .nos {
  transform: rotate(45deg);
  top: 1px; }

.menu-button-text {
  position: absolute;
  right: 100%;
  margin-right: 20px;
  width: 100%;
  bottom: 32px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px; }

.nav-button.cmenu .menu-button-text {
  margin-top: 16px; }

/*------ hero ------------------------------------------------*/
.media-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 1; }

.fs-slider-wrap {
  padding-right: 80px; }

.hero-slider_details_wrap {
  position: absolute;
  right: 80px;
  z-index: 10;
  top: 50%;
  height: 500px;
  margin-top: -250px;
  width: 350px; }

.hero-slider_details {
  top: 50%;
  transform: translateY(-50%); }

.hero-slider_details:before {
  content: "";
  position: absolute;
  right: 80px;
  top: 30px;
  bottom: 30px;
  width: 1px;
  background: #000;
  opacity: 0.1; }

.slide-progress-wrap {
  position: absolute;
  right: 80px;
  top: 30px;
  bottom: 30px;
  width: 1px;
  z-index: 2; }

.slide-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 0;
  background: #000; }

.hero-slider_details ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0; }

.hero-slider_details li {
  float: left;
  width: 100%;
  position: relative;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.75rem;
  font-weight: 800;
  color: #000;
  padding: 30px 0 30px 50px; }

.hero-slider_details li span {
  opacity: 0.8;
  padding-top: 10px;
  float: left;
  width: 100%;
  font-weight: 600; }

.current_s,
.total_s {
  position: absolute;
  left: 40px;
  top: 30px;
  font-size: 2.615rem;
  font-weight: bold; }

.total_s {
  left: auto;
  top: auto;
  bottom: 30px;
  right: 30px; }

.hsd_dec,
.hsd_dec2 {
  position: absolute;
  right: 40px;
  top: 52px;
  width: 40px;
  height: 4px;
  background: #000; }

.hsd_dec2 {
  right: auto;
  left: 50px;
  top: auto;
  bottom: 50px; }

.fs-slider-item {
  height: 100%;
  overflow: hidden; }

.fs-slider_align_title {
  float: left;
  margin-left: 150px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  text-align: left;
  padding: 50px 120px 40px 50px;
  color: #fff; }

.fs-slider_align_title:before {
  content: "";
  position: absolute;
  left: -15px;
  top: 40px;
  bottom: 40px;
  width: 30px; }

.fs-slider_align_title:after {
  content: "";
  position: absolute;
  left: 0;
  right: 60%;
  height: 100%;
  top: 0;
  background: rgba(39, 39, 41, 0.8);
  z-index: -1; }

.hero_subtitle {
  color: #fff;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px; }

.fs-slider-item_dec-top,
.fs-slider-item_dec-bottom {
  position: absolute;
  left: 90px;
  width: 1px;
  height: 500px;
  top: -500px;
  background: rgba(255, 255, 255, 0.2); }

.fs-slider-item_dec-bottom {
  top: auto;
  bottom: -500px; }

.fs-slider_align_title h2,
.fs-slider_align_title h2 a {
  color: #fff; }

.fs-slider_align_title h2 {
  font-weight: 700;
  font-size: 45px;
  text-transform: uppercase;
  line-height: 78px;
  padding-bottom: 20px;
  position: relative; }

.fs-slider_align_title p {
  color: rgba(255, 255, 255, 0.81);
  max-width: 450px; }

.half-hero-wrap_link {
  float: left;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 20px; }

.half-hero-wrap_link:hover {
  color: rgba(255, 255, 255, 0.6); }

.half-hero-wrap_link i {
  padding-left: 10px;
  transition: all 200ms linear; }

.half-hero-wrap_link:hover i {
  padding-left: 20px; }

.hero-slider_control {
  position: absolute;
  width: 50px;
  height: 50px;
  line-height: 50px;
  z-index: 20;
  background: rgba(39, 39, 41, 0.6);
  top: 50%;
  margin-top: -25px;
  cursor: pointer;
  transition: all 200ms linear; }

.hero-slider-button-prev {
  left: 20px; }

.hero-slider-button-next {
  right: 460px; }

.hlaf-slider-pag {
  position: absolute;
  top: 50%;
  right: 30px;
  z-index: 120;
  width: 20px !important;
  transform: translateY(-50%);
  left: auto !important; }

.hlaf-slider-pag_ss {
  margin-top: -50px; }

.hlaf-slider-pag .swiper-pagination-bullet {
  background: none;
  position: relative;
  margin-right: 20px;
  height: 6px;
  opacity: 1; }

.hero-slider-wrap_pagination .swiper-pagination-bullet {
  margin-right: 0;
  margin-bottom: 20px !important;
  width: 20px; }

.hlaf-slider-pag .swiper-pagination-bullet:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 6px;
  border-radius: 100%;
  background: #000;
  margin-left: -3px;
  transition: all 0.5s ease; }

.hlaf-slider-pag .swiper-pagination-bullet:after,
.slider-fw_pagination_wrap .swiper-pagination-bullet:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  transition: all 0.3s ease;
  transform: scale(0); }

.hlaf-slider-pag
.swiper-pagination-bullet.swiper-pagination-bullet-active:after,
.slider-fw_pagination_wrap
.swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  transform: scale(1); }

.hlaf-slider-pag
.swiper-pagination-bullet.swiper-pagination-bullet-active:before,
.slider-fw_pagination_wrap
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #fff; }

.scroll-down-wrap {
  position: absolute;
  bottom: 160px;
  z-index: 100;
  left: 55%;
  margin-left: 100px; }

.scroll-down-wrap span {
  float: left;
  margin-left: 20px;
  position: relative;
  top: 8px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 2px;
  color: #fff; }

.mousey {
  float: left;
  width: 20px;
  height: 30px;
  border-radius: 6px;
  padding: 0 6px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-sizing: border-box;
  position: relative;
  z-index: 10; }

.scroller {
  position: relative;
  left: 50%;
  top: 6px;
  margin-left: -1px;
  width: 2px;
  height: 6px;
  background: #292929;
  border-radius: 25%;
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
  animation-iteration-count: infinite; }

@keyframes scroll {
  0% {
    opacity: 0; }
  10% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(10px);
    opacity: 0; } }

.hero_promo-wrap {
  visibility: hidden;
  position: absolute;
  bottom: 0;
  right: 80px;
  width: 300px;
  display: none;
  z-index: 20; }

.hero_promo-title {
  float: left;
  width: 380px;
  padding: 40px 30px 35px;
  text-align: left;
  position: relative;
  z-index: 3; }

.hero_promo-title:before {
  content: "";
  position: absolute;
  right: 40px;
  top: -90px;
  width: 1px;
  height: 70px;
  background: rgba(255, 255, 255, 0.2); }

.hero_promo-title h4 {
  font-size: 1.54rem;
  font-weight: 800;
  padding: 0 0 20px;
  text-transform: uppercase; }

.hero_promo-title p {
  color: #000; }

.hpt_link-wrap {
  padding-top: 25px;
  margin-top: 25px;
  border-top: 1px solid rgba(0, 0, 0, 0.4); }

.hpt_link-wrap a {
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 4px;
  font-weight: 600; }

.hero_promo-button {
  height: 186px;
  float: left;
  width: 100%;
  right: 0;
  top: 0;
  overflow: hidden;
  position: relative; }

.hero_promo-button div.image-popup {
  position: absolute;
  width: 60px;
  height: 60px;
  line-height: 60px;
  left: 50%;
  top: 50%;
  margin: -25px 0 0 -25px;
  box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  color: #000;
  z-index: 20;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.3s ease-in-out; }

.hero_promo-button div.image-popup:hover {
  box-shadow: 0px 0px 0px 10px rgba(255, 255, 255, 0.2); }

.hero-facts-wrap {
  position: absolute;
  right: 130px;
  top: 35px;
  z-index: 10; }

.hero-facts-wrap .num {
  display: block;
  color: #fff;
  font-size: 2.307rem;
  font-weight: 800;
  text-align: left;
  float: right;
  padding-right: 20px; }

.hero-facts-wrap .inline-facts {
  margin-left: 40px;
  float: left;
  position: relative; }

.hero-facts-wrap .inline-facts:before {
  content: "+";
  position: absolute;
  right: 0;
  top: 12px;
  font-size: 1.23rem; }

.hero-facts-wrap .inline-facts h6 {
  text-align: right;
  display: block;
  width: 100%;
  color: rgba(255, 255, 255, 0.7);
  float: left;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.75rem; }

.slideshow-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 1; }

.hero-carousel .swiper-slide .bg {
  width: 130%;
  left: -15%;
  transform: translateZ(0); }

.grid-carousel-title {
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  padding: 0 50px;
  z-index: 3;
  opacity: 0.3;
  margin-top: 20px;
  transition: all 0.3s linear; }

.hero-carousel .swiper-slide-active .grid-carousel-title {
  margin-top: 0;
  opacity: 1;
  transition-delay: 1s; }

.grid-carousel-title h3 {
  font-size: 2.923rem;
  font-weight: 800;
  color: #fff;
  position: relative;
  text-align: left;
  line-height: 42px; }

.grid-carousel-title h3 a {
  color: #fff; }

.grid-carousel-title h4 {
  font-weight: 600;
  padding: 10px 0 20px;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  position: relative;
  text-align: left; }

.grid-carousel-title h3:before {
  content: "";
  position: absolute;
  left: 0;
  width: 40px;
  height: 3px;
  top: -15px; }

.hero-carousel .swiper-slide {
  overflow: hidden; }

.carousle-item-number,
.carousle-item-dec,
.grid-carousel-title .btn {
  transition: all 0.3s linear;
  transition-delay: 1s;
  transform: translateZ(0); }

.grid-carousel-title .btn {
  opacity: 0;
  top: 20px; }

.hero-carousel .swiper-slide-active .overlay {
  opacity: 0.6;
  transition: all 0.3s linear;
  transition-delay: 1s;
  transform: translateZ(0); }

.carousle-item-number {
  position: absolute;
  bottom: 0;
  left: -60px;
  width: 60px;
  line-height: 60px;
  height: 60px;
  z-index: 19;
  font-size: 1.077rem;
  text-align: center;
  font-weight: 600; }

.hero-carousel .swiper-slide-active .carousle-item-number {
  left: 0; }

.carousle-item-dec {
  position: absolute;
  left: 40px;
  top: 48px;
  width: 0;
  height: 0;
  border-left: 1px solid;
  border-top: 1px solid;
  border-color: rgba(255, 255, 255, 0.4);
  z-index: 20; }

.hero-carousel .swiper-slide-active .carousle-item-dec {
  width: 180px;
  height: 100px; }

.hero-carousel .swiper-slide-active .grid-carousel-title .btn {
  opacity: 1;
  top: 0; }

.hero-carousel .swiper-container {
  width: 100%;
  height: 100%;
  margin: 0 auto; }

.carousel-btn_control-prev {
  left: 0; }

.carousel-btn_control-next {
  right: 0; }

/*------  content ------------------------------------------------------*/
.single-page_scrl {
  position: absolute;
  bottom: 70px;
  right: 30px; }

.single-page_scrl i {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  color: #fff;
  font-weight: 100; }

.column-wrap {
  position: relative;
  background: #fff;
  min-height: 100vh;
  overflow: hidden; }

.column-wrap_unfix {
  min-height: calc(100vh - 80px); }

.column-wrap-container {
  padding: 60px 0 0; }

.column-img-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 80px;
  height: calc(100% - 160px);
  z-index: 1;
  overflow: hidden; }

.bg.dec-bg {
  width: inherit;
  height: inherit;
  left: -10%;
  right: 50%;
  top: 20%;
  bottom: -20%;
  opacity: 0.1;
  position: absolute; }

.bg.dec-bg.right-pos-dec {
  left: 50%;
  right: -10px; }

.video-box_wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5; }

.single_video_wrp {
  left: auto;
  transform: translateY(0);
  right: 90px;
  margin-top: -40px; }

.single_video_wrp .video-box-btn:before {
  content: "";
  position: absolute;
  left: 100%;
  width: 122px;
  height: 1px;
  top: 40px;
  background: rgba(255, 255, 255, 0.2); }

.video-box-btn {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  line-height: 80px;
  background: #333;
  cursor: pointer;
  box-shadow: 0px 0px 0px 7px rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  transition: all 300ms linear;
  z-index: 20; }

.video-box-btn:hover {
  box-shadow: 0px 0px 0px 17px rgba(255, 255, 255, 0.2); }

.video-box_wrap_title {
  color: #fff;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 4px;
  padding-top: 20px;
  display: block; }

.inline-facts-container {
  position: relative; }

.inline-facts-container:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 30%;
  bottom: 30%;
  width: 1px;
  background: rgba(0, 0, 0, 0.4); }

.inline-facts-container:after {
  content: "";
  position: absolute;
  left: 30%;
  right: 30%;
  height: 1px;
  top: 50%;
  background: rgba(0, 0, 0, 0.4); }

.inline-facts-wrap {
  width: 50%;
  height: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-flow: row nowrap; }

.inline-facts-wrap .num {
  font-size: 2.615rem;
  font-weight: 800; }

.inline-facts-wrap h6 {
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 4px; }

.signature-wrap {
  float: right;
  margin-top: 16px; }

.signature-wrap img {
  width: 90px;
  height: auto; }

/*------  section ------------------------------------------------------*/
section {
  width: 100%;
  position: relative; }

.pdsec {
  padding-top: 90px;
  padding-bottom: 90px; }

.section_container {
  padding: 90px 0 160px; }

.section-title {
  position: relative;
  margin: 0 0 60px 0; }

.section-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  height: 1px;
  width: 100%;
  background: #eee; }

.section-title h2 {
  font-size: 2rem;
  text-align: left;
  text-transform: uppercase;
  color: #000;
  font-weight: 800;
  margin-bottom: 30px;
  line-height: 34px;
  position: relative; }

.section-title h2:before {
  content: "";
  position: absolute;
  left: -20px;
  top: -20px;
  bottom: -20px;
  width: 120px;
  border: 4px solid;
  border-right: none; }

.section-title p {
  padding-top: 10px;
  position: relative;
  z-index: 2;
  max-width: 450px; }
  .section-title p:empty {
    display: none; }

.section-title_num {
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  line-height: 80px;
  background: #f3f3f3;
  font-weight: 600; }

.section-separator {
  height: 1px;
  background: #eee; }

.section-separator span {
  position: absolute;
  right: 0;
  width: 150px;
  height: 1px;
  top: 0;
  z-index: 10; }

.section-separator:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 1px;
  width: 100px;
  z-index: 1; }

.dark-bg {
  background: #1a3732; }

/*------  services ------------------------------------------------------*/
.sec_fw_wrap {
  padding: 0 80px 80px 0; }

.sec_fw {
  position: relative;
  width: 100%;
  background: #fff;
  overflow: hidden; }

.serv-carousel_wrap {
  padding: 0 0 0 25%;
  background: #1a3732;
  z-index: 1; }

.serv-carousel_title {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 25%;
  z-index: 2; }

.serv_carousel_numder {
  position: absolute;
  top: 30px;
  left: 40px;
  font-size: 2.615rem;
  font-weight: bold; }

.serv-pagination_wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 30px; }

.serv-pagination_wrap .swiper-pagination-bullet {
  margin: 0 15px;
  width: 6px;
  height: 6px;
  background: #000;
  opacity: 1;
  position: relative; }

.serv-pagination_wrap .swiper-pagination-bullet:after,
.tc-pagination .swiper-pagination-bullet:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  transition: all 0.3s ease;
  transform: scale(0); }

.serv-pagination_wrap
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #fff; }

.serv-pagination_wrap
.swiper-pagination-bullet.swiper-pagination-bullet-active:after,
.tc-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  transform: scale(1); }

.serv-pagination {
  float: left;
  margin-left: 25px; }

.serv-carousel_title:before,
.testi-column_title:before {
  content: "";
  position: absolute;
  left: 40px;
  top: 50%;
  height: 150px;
  margin-top: -100px;
  width: 1px;
  background: rgba(0, 0, 0, 0.2); }

.serv-carousel_title_wrap {
  position: absolute;
  left: 40px;
  bottom: 80px;
  right: 40px;
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 20px; }

.serv-carousel_title_wrap.tct_it {
  bottom: 40px; }

.serv-carousel_title_wrap h3 {
  font-size: 2rem;
  font-weight: 800;
  text-transform: uppercase; }

.serv-carousel_title_wrap h5 {
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 4px;
  font-weight: 600; }

.serv-carousel_container {
  height: 550px;
  z-index: 5;
  overflow: hidden; }

.serv-carousel-item {
  overflow: hidden;
  height: 100%; }

.serv-carousel-item .overlay {
  opacity: 0.7; }

.serv-carousel .swiper-slide-active .overlay {
  opacity: 0.5; }

.serv-carousel-item-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 200ms linear;
  z-index: 10;
  margin-top: 30px; }

.serv-carousel .swiper-slide.swiper-slide-active .serv-carousel-item-content {
  margin-top: 0; }

.serv-carousel-item-content h3 {
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  font-size: 1.54rem;
  font-weight: 600;
  padding-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: all 200ms linear; }

.serv-carousel
.swiper-slide.swiper-slide-active
.serv-carousel-item-content
h3 {
  color: #fff; }

.serv-carousel-item-content h3:before {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  top: -20px;
  height: 2px;
  margin-left: -30px;
  transition: all 200ms linear; }

.serv-carousel
.swiper-slide.swiper-slide-active
.serv-carousel-item-content
h3:before {
  width: 60px; }

.serv-details_link {
  padding: 12px 20px;
  position: relative;
  display: inline-block;
  background: #26282f;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px;
  transition: all 200ms linear;
  visibility: hidden;
  opacity: 0;
  top: 20px; }

.serv-details_link i {
  margin-left: 20px; }

.serv-carousel-item-counter {
  position: absolute;
  left: 50%;
  bottom: 60px;
  margin-left: -25px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  width: 50px;
  height: 50px;
  transition: all 200ms linear;
  line-height: 50px;
  z-index: 5;
  background: #26282f; }

.serv-carousel .swiper-slide.swiper-slide-active .serv-carousel-item-counter {
  color: #222; }

.serv-carousel .swiper-slide.swiper-slide-active .serv-details_link {
  visibility: visible;
  opacity: 1;
  top: 0; }

.serv-carousel-item-counter:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: 60px;
  background: rgba(255, 255, 255, 0.3); }

.services-modal-wrap::-webkit-scrollbar,
.project-details_wrap::-webkit-scrollbar {
  width: 0px; }

.services-modal-wrap,
.project-details_wrap {
  position: fixed;
  top: 80px;
  right: 120px;
  width: 800px;
  bottom: 80px;
  z-index: 20;
  background: #fff;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s linear;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.project-details_inner {
  position: fixed;
  right: 80px;
  left: 80px;
  bottom: 80px;
  top: 80px;
  overflow: hidden;
  z-index: 20; }

.serv-m_vis,
.pdv {
  opacity: 1;
  visibility: visible;
  right: 80px; }

.serv-details,
.project-details_inner {
  display: none; }

.services-modal-overlay,
.project-details_overlay {
  position: fixed;
  top: 80px;
  right: 80px;
  left: 80px;
  bottom: 80px;
  z-index: 19;
  background: rgba(39, 39, 41, 0.6);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  display: none; }

.services-modal-container,
.project-details_container {
  margin-top: 100px;
  padding: 0 50px 80px; }

.modal-close,
.pd_modal-close {
  position: absolute;
  top: 50px;
  right: 50px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 0.95rem;
  cursor: pointer;
  z-index: 10; }

.modal-close i,
.pd_modal-close i {
  transition: all 0.3s linear; }

.modal-close:hover i,
.pd_modal-close:hover i {
  transform: rotate(180deg); }

.modal-close:before,
.pd_modal-close:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 1px;
  height: 60px;
  background: #ddd; }

.modal-close:hover {
  background: #26282f;
  transition: all 200ms linear; }

table.serv-table,
.serv-table table {
  width: 100%;
  margin: 0 0 20px;
  border: 1px solid #e2e6e7;
  text-align: center; }
  table.serv-table td,
  .serv-table table td {
    padding: 18px 30px;
    font-size: 0.95rem;
    line-height: 24px;
    font-weight: 600;
    color: #666;
    border: none !important; }
  table.serv-table td,
  .serv-table table td {
    border-left: 1px solid #e2e6e7 !important; }
  table.serv-table td:first-child,
  .serv-table table td:first-child {
    text-align: left;
    border-left: none; }
  table.serv-table.align-left td:first-child,
  .serv-table table.align-left td:first-child {
    text-align: left; }
  table.serv-table tr:nth-child(odd),
  .serv-table table tr:nth-child(odd) {
    background: #f5f5f5; }

.sec-title_dec {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 70px;
  height: 1px;
  z-index: 3; }

.pr-subtitle {
  font-size: 1.23rem;
  color: #000;
  font-weight: 500;
  display: block;
  width: 100%;
  text-align: left;
  margin: 30px 0; }

.slider-nav_btn {
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  line-height: 50px;
  margin-top: -25px;
  z-index: 20;
  cursor: pointer;
  background: rgba(39, 39, 41, 0.9);
  transition: all 200ms linear; }

.slider-nav_btn:hover {
  color: #fff; }

.snb_r {
  right: 0; }

.snb_l {
  left: 0; }

/*------ btn ------------------------------------------------*/
.tbtn {
  padding: 15px 38px;
  position: relative;
  color: #333;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px;
  background: #36393e;
  font-weight: 700;
  overflow: hidden;
  display: inline-block; }

.tbtn span {
  position: relative;
  z-index: 3;
  left: 0;
  transition: all 0.3s ease-in-out;
  transition-delay: 0.1s; }

.tbtn:before {
  content: "";
  position: absolute;
  left: 0;
  top: -3px;
  bottom: -3px;
  width: 0;
  z-index: 1;
  background: #3c3c3c;
  transition: all 0.3s ease-in-out; }

.tbtn:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f105";
  position: absolute;
  top: 16px;
  left: -20px;
  z-index: 2;
  transition: all 0.3s ease-in-out;
  transition-delay: 0.2s;
  font-size: 0.85rem; }

.tbtn:hover:before {
  width: 100%; }

.tbtn:hover:after {
  left: 26px; }

.tbtn:hover span {
  left: 13px; }

.tbtn:hover {
  color: #fff; }

.fl-btn {
  float: left;
  margin-top: 25px;
  display: block; }

/* ------Team------------------------------------------------------------ */
/* ------Testimonilas------------------------------------------------------------ */
.testimonilas-wrap {
  background: #1a3732;
  padding: 0 0 0 25%; }

.testimonilas-wrap:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40%;
  height: 90px;
  z-index: 1; }

.testimonilas-wrap:after {
  content: "";
  position: absolute;
  left: 25%;
  top: 0;
  right: 25%;
  height: 50%;
  z-index: 1;
  background: #1a3732; }

.testimonilas-wrap-container {
  z-index: 2;
  padding: 90px 0 120px; }

.testi-column {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
  width: 100%;
  z-index: 1; }

.testi-column:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1; }

.testi-column_title {
  position: absolute;
  left: 0;
  width: 25%;
  top: 0;
  bottom: 0;
  z-index: 2; }

.testilider_holder {
  width: 100vw;
  padding: 0 0 0 40px; }

.testilider .swiper-slide {
  padding-left: 10px; }

.testi-item {
  padding: 25px 30px 20px;
  background: rgba(39, 39, 41, 0.8);
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.1); }

.testi-item:before {
  content: "";
  position: absolute;
  left: -10px;
  top: 40px;
  bottom: 40px;
  width: 0;
  transition: all 0.3s ease-out; }

.testilider .swiper-slide.swiper-slide-active .testi-item:before {
  width: 20px;
  transition-delay: 0.4s; }

.testi-number {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 600;
  font-size: 0.95rem;
  color: #000; }

.testi-item h3,
.testi-item h5,
.testi-date {
  color: #fff; }

.testi-item h3 {
  font-size: 1.385rem;
  padding: 4px 0 0 20px;
  font-weight: 600; }

.testi-item h5 {
  font-size: 0.95rem;
  padding-left: 20px; }

.testi-item p {
  color: rgba(255, 255, 255, 0.7); }

.teti-link {
  font-size: 0.75rem;
  padding: 8px 15px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase; }

.testi-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 20px;
  margin-bottom: 20px; }

.testi-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 20px;
  margin-top: 15px;
  display: flex;
  justify-content: space-between; }

.testi-date {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 800;
  position: relative;
  top: 6px; }

.testi-date i {
  margin-right: 10px; }

.testi-avatar,
.testi-avatar img {
  width: 50px;
  height: 50px;
  border-radius: 4px; }

.testi-avatar,
.testi-item p {
  -webkit-transition: all 500ms ease-out;
  transition: all 500ms ease-out; }

.single-slider img {
  width: 100%;
  height: auto; }

.testilider-controls {
  padding: 0 50px 0 90px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50px; }

.testilider-controls:before {
  content: "";
  position: absolute;
  left: 250px;
  height: 1px;
  width: 150px;
  background: rgba(255, 255, 255, 0.2);
  z-index: 5;
  top: 8px; }

.tc-pagination {
  float: right;
  position: relative;
  top: -6px; }

.tc-pagination .swiper-pagination-bullet {
  margin: 0 15px;
  width: 6px;
  height: 6px;
  background: #000;
  opacity: 1;
  position: relative; }

.tc-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #fff; }

.ss-slider-btn {
  float: left;
  background: rgba(39, 39, 41, 0.8);
  width: 50px;
  height: 50px;
  line-height: 50px;
  margin-right: 10px;
  position: relative;
  top: -16px;
  cursor: pointer; }

.ss-slider-btn:hover {
  color: #fff; }

.sec_dec-top {
  position: absolute;
  width: 30px;
  height: 10px;
  right: 25%;
  top: 35px;
  margin-right: -15px;
  z-index: 20; }

.sec_dec-bottom {
  position: absolute;
  width: 40px;
  height: 4px;
  background: #000;
  right: 40%;
  bottom: 40px;
  margin-right: -100px;
  z-index: 20; }

.page-scroll-nav_wrap {
  position: absolute;
  left: 50%;
  width: 6px;
  top: 50%;
  margin-left: -3px;
  transform: translateY(-50%); }

.page-scroll-nav ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.page-scroll-nav li {
  margin-bottom: 28px;
  width: 100%; }

.page-scroll-nav li a {
  position: relative;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%; }

.page-scroll-nav li a span {
  position: absolute;
  right: 100%;
  margin-right: 37px;
  top: -16px;
  height: 40px;
  line-height: 40px;
  padding: 0 50px;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  margin-top: -10px;
  transition: all 0.3s ease;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  color: #000; }

.page-scroll-nav li a:hover span {
  opacity: 1;
  visibility: visible;
  margin-top: 0; }

.page-scroll-nav li a.actscr-link {
  background: #fff; }

.page-scroll-nav li a:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  transition: all 0.3s ease;
  transform: scale(0); }

.page-scroll-nav li a.actscr-link:after {
  transform: scale(1); }

/*------  portfolio ------------------------------------------------------*/
#portfolio_horizontal_container {
  height: 100%;
  float: left;
  width: 100%;
  position: relative;
  z-index: 1; }

#portfolio_horizontal_container .portfolio_item {
  width: auto;
  height: 100%;
  float: left;
  overflow: hidden;
  position: relative;
  z-index: 1; }

#portfolio_horizontal_container.no-padding .portfolio_item {
  padding: 0; }

#portfolio_horizontal_container.one-ver-columns .portfolio_item {
  padding-bottom: 0; }

#portfolio_horizontal_container.two-ver-columns .portfolio_item {
  height: 50%; }

#portfolio_horizontal_container.two-ver-columns
.portfolio_item.portfolio_item_second {
  height: 100%; }

#portfolio_horizontal_container.three-ver-columns .portfolio_item {
  height: 33.3%; }

.one-ver-columns {
  height: 100%; }

#portfolio_horizontal_container .portfolio_item img {
  float: left;
  width: auto;
  position: relative;
  z-index: 1;
  height: 100%;
  transform: translateZ(0);
  transition: all 2000ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }

.grid-item-holder {
  float: left;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden; }

#portfolio_horizontal_container .portfolio_item .grid-item-holder {
  width: auto;
  height: 100%; }

#portfolio_horizontal_container .portfolio_item {
  padding: 2px; }

.horizontal-grid-wrap {
  position: absolute;
  overflow: hidden;
  right: 80px;
  background: #1a3732;
  bottom: 0;
  left: 0;
  top: 0; }

.hor-content_padd {
  padding-left: 40px; }

.nicescroll-rails.nicescroll-rails-hr {
  left: 40 !important;
  right: 0 !important; }

.gallery-items {
  z-index: 5; }

.gallery-item,
.grid-sizer {
  width: 33.3%;
  position: relative;
  float: left;
  overflow: hidden; }

.gallery-item-second,
.grid-sizer-second {
  width: 66.6%; }

.three-columns .gallery-item,
.three-columns .grid-sizer {
  width: 33.3%; }

.three-columns .gallery-item-second,
.three-columns .grid-sizer-second {
  width: 66.6%; }

.two-column .gallery-item {
  width: 50%; }

.two-column .gallery-item.gallery-item-second {
  width: 100%; }

.min-pad .gallery-item {
  padding: 2px; }

.big-pad .gallery-item {
  padding: 8px; }

.gallery-item img {
  height: auto;
  position: relative;
  z-index: 1;
  background: #292929;
  transform: translateZ(0);
  transition: all 4000ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }

.grid-item-holder {
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden; }

.gallery-item:hover img,
#portfolio_horizontal_container .portfolio_item:hover img {
  transform: scale(1.15); }

.grid-det {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  right: 0;
  z-index: 10;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: all 0.3s ease-in-out; }

.grid-det:before,
.grid-det:after {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  z-index: 1;
  bottom: 33px;
  right: 24px; }

.grid-det:before {
  height: 1px;
  width: 0; }

.grid-det:after {
  height: 0;
  width: 1px; }

.grid-item-holder:hover .grid-det {
  opacity: 1; }

.grid-item-holder:hover .grid-det_category,
.grid-item-holder:hover .grid-det-item {
  transition-delay: 0.4s; }

.grid-det_category {
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  padding: 10px 30px;
  z-index: 10;
  opacity: 0;
  margin-top: -10px;
  transition: all 0.3s ease-in-out; }

.grid-det-item {
  padding-bottom: 4px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -60px;
  padding: 0 0 0 30px;
  background: #292929;
  height: 60px;
  line-height: 60px;
  z-index: 20;
  transition: all 0.3s ease-in-out; }

.grid-det-item:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f178";
  position: absolute;
  font-size: 1.077rem;
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  top: 0;
  right: 0;
  font-weight: 200;
  color: #000;
  z-index: 1; }

.grid-det-item a {
  color: #fff;
  display: block;
  text-transform: uppercase;
  font-size: 0.95rem;
  letter-spacing: 2px;
  text-align: left;
  position: relative;
  font-weight: 600;
  z-index: 2; }

.grid-item-holder:hover .grid-det-item {
  opacity: 1;
  margin-top: 0;
  bottom: 0; }

.grid-item-holder:hover .grid-det_category {
  opacity: 1;
  margin-top: 0; }

.grid-det_category a {
  float: left;
  margin-right: 12px;
  text-transform: uppercase;
  font-size: 0.692rem;
  letter-spacing: 2px;
  text-align: left;
  color: #fff;
  font-weight: 500; }

.grid-media-zoom,
.box-media-zoom {
  position: absolute;
  right: 0;
  top: -60px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  font-size: 1.077rem;
  background: #1a3732;
  color: #fff;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease-in-out; }

.grid-media-zoom {
  transition-delay: 0.4s; }

.grid-item-holder:hover .grid-media-zoom,
.hov_zoom:hover .box-media-zoom {
  top: 0;
  opacity: 1; }

.fs-grid-wrap {
  padding: 0 80px 80px 0; }

.filter-container {
  position: relative;
  max-width: 1064px;
  margin: 0 auto;
  top: 50%;
  z-index: 300; }

.gallery-filters {
  margin-top: -10px; }

.gallery-filters a {
  display: inline-block;
  font-size: 1.385rem;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 30px;
  color: #fff;
  position: relative;
  opacity: 0;
  top: 10px; }

.gallery-filters a:before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -10px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease-in-out;
  z-index: -1; }

.gallery-filters a span {
  position: absolute;
  right: 0;
  top: -15px;
  font-size: 0.95rem; }

.gallery-filters a.gallery-filter-active span {
  color: #fff; }

.gallery-filters a.gallery-filter-active:before {
  left: -2px;
  right: -2px; }

.filter-wrap {
  display: none; }

.filter-overlay {
  z-index: 1;
  transition: all 0.3s linear;
  opacity: 0; }

.vis_overlay {
  opacity: 1; }

.filter-btn {
  position: fixed;
  top: 50%;
  right: 18px;
  width: 44px;
  height: 44px;
  z-index: 110;
  margin-top: -22px;
  cursor: pointer;
  color: #fff;
  background: #1a3732; }

.filter-btn_container:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f00d";
  position: absolute;
  color: #fff;
  bottom: 0;
  left: 0;
  width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 1.385rem;
  font-weight: 100;
  opacity: 1;
  transform: scale(1);
  transition: all 0.2s linear;
  transition-delay: 0.1s; }

.filter-btn.hid-filter .filter-btn_container:before {
  opacity: 0;
  transform: scale(0); }

.filter-btn_container {
  float: left;
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 1.846rem; }

.filter-btn_container i {
  opacity: 0;
  transform: scale(0);
  transition: all 0.2s linear;
  transition-delay: 0.1s; }

.filter-btn.hid-filter .filter-btn_container i {
  opacity: 1;
  transform: scale(1); }

.filt-title {
  position: absolute;
  top: 100%;
  line-height: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px;
  margin-top: 5px;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  transition-delay: 0.2s; }

.filter-btn:hover .filt-title {
  opacity: 1;
  margin-top: 15px;
  visibility: visible; }

.fsc-holder {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 80px;
  padding: 40px 40px 80px 40px;
  z-index: 1;
  overflow: hidden; }

.fsc-holder:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20%;
  height: 30%;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3); }

.fw-carousel .swiper-container,
.det-carousel .swiper-container {
  width: 100%;
  height: 100%;
  margin: 0 auto; }

.slider-wrap .swiper-slide img,
.fw-carousel .swiper-slide img,
.det-carousel .swiper-slide img {
  width: auto !important;
  height: 100% !important;
  position: relative;
  z-index: 1; }

.slider-wrap .swiper-slide,
.fw-carousel .swiper-slide,
.center-carousel .swiper-slide,
.det-carousel .swiper-slide {
  width: auto !important;
  height: 100% !important;
  display: inherit !important; }

.fw-carousel-wrap .fw-carousel img {
  transform: scale(1);
  transition: all 300ms linear;
  transition-delay: 0.6s; }

.slide-numb {
  position: absolute;
  top: 30px;
  left: 30px;
  padding: 5px 15px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 0.95rem;
  z-index: 10; }

.fsc-holder_title,
.fsc-holder_title_small {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 350px;
  padding: 130px 50px 40px;
  z-index: 10;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.5); }

.fsc-holder_title_small {
  padding: 30px 50px 30px 70px;
  width: 300px; }

.fsc-holder_title h2 {
  font-size: 1.54rem;
  font-weight: 800;
  text-transform: uppercase;
  text-align: left;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2); }

.fw-carousel-counter {
  position: absolute;
  left: 40px;
  top: 30px;
  font-size: 2.615rem;
  font-weight: bold;
  width: auto; }

.pr-det_btn {
  text-align: left;
  float: left;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 4px;
  font-weight: 600; }

.pr-det_btn i,
.hpt_link-wrap a i {
  margin-left: 10px;
  position: relative;
  left: 0;
  transition: all 300ms linear; }

.pr-det_btn:hover i,
.hpt_link-wrap a:hover i {
  left: 15px; }

.fixed-bottom-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 400px;
  z-index: 10;
  height: 80px;
  padding: 34px 0 0 40px; }

.hs_init-container {
  position: absolute;
  top: 42px;
  left: 190px;
  right: 320px; }

.hs_init {
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  top: 50%; }

.hs_init:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  top: 50%;
  margin-top: -1px; }

.hs_init .swiper-scrollbar-drag {
  border-radius: 0; }

.photo-info-btn {
  float: right;
  position: relative;
  width: 40px;
  height: 40px;
  top: -6px;
  cursor: pointer; }

.pib_icon {
  width: 40px;
  height: 40px;
  float: left;
  position: relative;
  top: -3px; }

.sb-button_point {
  height: 10px;
  float: left;
  width: 100%;
  position: relative; }

.sb-button_point:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  background: rgba(255, 255, 255, 0.5);
  margin: -2px 0 0 -2px;
  transition: all 0.2s ease-in-out; }

.photo-info-btn:hover .sb-button_point:nth-child(2):before {
  margin-left: 6px; }

.photo-info-btn_tooltip {
  position: absolute;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
  top: 6px;
  right: 100%;
  margin-right: 2px;
  color: rgba(255, 255, 255, 0.8);
  visibility: hidden;
  opacity: 0;
  transition: all 300ms linear; }

.photo-info-btn:hover .photo-info-btn_tooltip {
  opacity: 1;
  visibility: visible; }

.show-info {
  position: absolute;
  bottom: 0px;
  right: 0;
  left: 0;
  z-index: 15; }

.tooltip-info {
  height: auto;
  line-height: 20px;
  width: 100%;
  float: left;
  padding: 0 30px 40px;
  font-size: 0.85rem;
  color: #fff;
  position: absolute;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  opacity: 0;
  margin-bottom: 0;
  visibility: hidden;
  text-align: left;
  z-index: 16;
  transition: all 300ms linear; }

.show-info span {
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #fff;
  cursor: pointer;
  letter-spacing: 2px;
  float: right;
  font-weight: 400;
  background: #292929;
  padding: 10px 40px; }

.show-info.show-info_act span {
  display: none; }

.tooltip-info p {
  color: #fff;
  font-weight: 400; }

.tooltip-info h5 {
  margin-top: 12px;
  padding: 5px 0;
  position: relative;
  font-weight: 600;
  font-size: 1.385rem;
  color: rgba(255, 255, 255, 0.81); }

.show-info:hover .tooltip-info,
.show-info.show-info_act.vis-phot_det .tooltip-info {
  visibility: visible;
  opacity: 1;
  bottom: 0; }

.show_thumbnails {
  float: right;
  margin-right: 60px;
  background: #1a3732;
  padding: 0 20px;
  cursor: pointer;
  height: 36px;
  text-transform: uppercase;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 4px;
  line-height: 36px;
  position: relative;
  top: -10px; }

.thumbnail-container {
  position: absolute;
  left: 0;
  right: 80px;
  top: 0;
  bottom: 100%;
  background: rgba(39, 39, 41, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 220;
  overflow: hidden; }

.thumb-img {
  display: inline-block;
  cursor: pointer;
  margin: 10px;
  position: relative; }

.thumbnail-wrap {
  position: relative;
  padding: 0 50px;
  top: 50%;
  transform: translateY(-50%); }

.thumb-img:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f067";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: -20px 0 0 -20px;
  z-index: 2;
  border-radius: 100%;
  color: #000;
  font-size: 0.85rem;
  transition: all 100ms ease-in-out;
  opacity: 0; }

.thumb-img img {
  width: auto;
  height: 100px;
  opacity: 0;
  transition: all 400ms ease-in-out;
  position: relative;
  z-index: 1; }

.thumb-img.visthumbnails img,
.thumb-img:hover:after {
  opacity: 1; }

.fw-carousel .swiper-slide.ss_last {
  width: 370px !important;
  margin: 0 !important; }

.ss_pag-img:before {
  content: "";
  position: absolute;
  right: -25%;
  top: 0;
  width: 150%;
  height: 100%;
  background: #3b3b40;
  z-index: 2;
  transition: all 200ms ease-in-out; }

.ss_pag-img .bg {
  opacity: 0;
  transition: all 400ms ease-in-out;
  transition-delay: 0.2s; }

.ss_pag-img {
  position: absolute;
  right: 0;
  top: -150px;
  width: 150px;
  height: 170px;
  overflow: hidden;
  z-index: -1; }

.next-project-wrap {
  top: 150px;
  color: #fff;
  text-align: left;
  padding: 0 0 0 50px; }

.next-project-wrap:hover .ss_pag-img .bg {
  opacity: 1; }

.next-project-wrap:hover .ss_pag-img:before {
  width: 0; }

.next-project-wrap strong {
  font-size: 1.846rem;
  font-weight: 800; }

.next-project-wrap span {
  display: block;
  font-size: 2.307rem;
  font-weight: 600;
  padding-top: 5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 200ms ease-in-out; }

.next-project-wrap span i {
  font-size: 0.95rem;
  margin-left: 20px;
  position: relative;
  top: -3px; }

.next-project-wrap span:hover {
  color: rgba(255, 255, 255, 0.7); }

.pr-list {
  float: left;
  width: 80%;
  padding: 20px 40px 15px;
  margin-top: 40px;
  position: relative; }

.pr-list_dec {
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: rgba(255, 255, 255, 0.05); }

.pr-list:before {
  content: "";
  position: absolute;
  right: -10px;
  width: 60px;
  top: 15px;
  bottom: 15px;
  z-index: 2; }

.pr-list:after {
  content: "";
  position: absolute;
  right: 5px;
  width: 30px;
  height: 6px;
  background: #000;
  bottom: 35px;
  z-index: 3; }

.pr-list ul {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0; }

.pr-list li {
  float: left;
  width: 50%;
  padding: 15px 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  word-spacing: 0;
  font-size: 0.85rem;
  font-weight: 500; }

.pr-list li span {
  float: left;
  padding-right: 10px;
  width: 100%;
  color: #8b8b8b; }

.column-details_wrap .pr-list {
  width: 100%;
  padding: 25px 40px 25px;
  margin-top: 40px;
  position: relative; }

.video-single-wrapper,
.hero-carousel-wrap {
  z-index: 1;
  padding-right: 80px;
  overflow: hidden; }

.slider-fw_wrap {
  padding: 0 80px 80px 492px;
  overflow: hidden;
  z-index: 1; }

.video-holder-wrap,
.fs-hero-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 80px;
  bottom: 0; }

.video-holder {
  position: absolute;
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden !important;
  top: 0;
  left: 0;
  padding: 0 !important; }

.video-holder iframe {
  position: absolute;
  top: -75px;
  left: 50%;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden; }

.video-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  z-index: -1; }

.video-container video {
  width: 100%; }

.column-details_wrap::-webkit-scrollbar {
  width: 0px; }

.column-details_wrap {
  position: fixed;
  left: 80px;
  top: 80px;
  width: 492px;
  bottom: 80px;
  background: #fff;
  overflow: auto;
  z-index: 50;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.fbp_fw {
  left: 492px;
  right: 80px;
  padding-right: 40px; }

.tc_fw {
  left: 492px; }

.hsc_counter-wrap {
  position: absolute;
  left: 0;
  top: 0;
  height: 80px;
  line-height: 80px;
  width: 90px;
  font-size: 1.077rem;
  font-weight: 800; }

.slider-fw .hero-slider-button-next {
  right: 20px; }

.fwslide-progress-wrap {
  position: absolute;
  top: 50%;
  right: 320px;
  width: 200px;
  height: 1px;
  z-index: 100;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.2); }

.fwslide-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.slider-fw_pagination_wrap {
  position: absolute;
  left: 180px;
  top: 50%;
  transform: translateY(-50%); }

.slider-fw_pagination_wrap .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  float: left;
  border-radius: 50%;
  opacity: 1;
  margin-right: 30px;
  position: relative; }

.hsc_pp2 {
  position: absolute;
  left: 110px;
  top: 50%;
  margin-top: -20px;
  font-size: 0.75rem;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: #1a3732;
  cursor: pointer; }

.hsc_pp2.auto_actslider2 i:before {
  content: "\f04c"; }

.fw_grid {
  float: right;
  position: relative;
  width: calc(100% - 492px);
  padding: 0 80px 80px 0; }

.single-mod-galley {
  margin-top: 20px; }

/*------  contacts ------------------------------------------------------*/
.map-column {
  position: fixed;
  top: 80px;
  width: calc(50% - 120px);
  bottom: 280px;
  right: 80px;
  z-index: 2; }

.map-container {
  position: absolute;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1; }

.map-container,
#map-single {
  height: 100%; }

.leaflet-left {
  right: 0;
  top: -11px;
  z-index: 10000; }

.leaflet-bottom {
  display: none; }

.leaflet-touch .leaflet-bar a {
  width: 50px;
  height: 50px;
  line-height: 50px;
  border: none;
  color: #333;
  font-size: 0.95rem;
  margin-top: 1px; }

.leaflet-container a.leaflet-popup-close-button {
  top: 10px;
  right: 10px; }

.leaflet-popup-content-wrapper {
  background: rgba(39, 39, 41, 0.6);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px); }

.main_social {
  position: fixed;
  right: 80px;
  width: calc(50% - 120px);
  bottom: 80px;
  z-index: 100;
  padding: 0 40px 0 40px;
  height: 200px;
  padding-top: 50px; }

.main-social-title {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 1.077rem;
  color: #000;
  display: block;
  width: 100%;
  float: left;
  position: relative;
  font-weight: 800;
  padding-bottom: 20px; }

.main_social ul {
  display: block; }

.main_social li {
  display: inline-block; }

.main_social li a {
  float: left;
  transition: all 200ms linear;
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #000;
  font-size: 0.95rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  position: relative; }

.main_social li a:hover {
  color: #fff; }

.contact-form-wrap,
.contact-form-overlay,
.filter-overlay,
.filter-wrap {
  position: fixed;
  z-index: 294;
  top: 80px;
  bottom: 80px;
  left: 80px;
  right: 80px; }

.contact-form-wrap {
  display: none;
  overflow: auto; }

.contact-form-overlay,
.filter-overlay {
  z-index: 1;
  background: rgba(39, 39, 41, 0.8);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px); }

.contact-form-container {
  position: relative;
  max-width: 650px;
  margin: 0 auto 0;
  top: 150px;
  z-index: 2; }

.contact-form-content {
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50px);
  transition: all 0.3s ease-in-out; }

.contact-form-content:after {
  content: "";
  position: absolute;
  right: 50px;
  top: 50px;
  left: 60px;
  height: 1px;
  background: #eee; }

.vis-coninfwrap {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

.contact-form-header {
  padding: 20px 50px;
  margin-top: 14px;
  position: relative;
  z-index: 10; }

.contact-form-header h4 {
  text-align: left;
  font-weight: 600;
  font-size: 1.385rem;
  background: #fff;
  float: left;
  padding-right: 50px; }

.close-contact-form {
  position: absolute;
  cursor: pointer;
  right: 50px;
  top: 12px;
  font-size: 0.95rem;
  width: 46px;
  height: 46px;
  line-height: 46px;
  background: #1a3732;
  z-index: 20; }

.close-contact-form:hover {
  background: #333; }

.custom-form {
  width: 100%;
  position: relative;
  padding: 30px 50px; }
  .custom-form:after {
    content: "";
    clear: both;
    display: table; }

.custom-form textarea,
.custom-form input[type="text"],
.custom-form input[type="email"] {
  float: left;
  border: none;
  background: #f0f0f0;
  width: 100%;
  padding: 15px 30px;
  font-weight: 600;
  font-size: 0.95rem;
  position: relative;
  color: #000;
  font-family: "Saira Semi Condensed", sans-serif;
  appearance: none; }
  .custom-form textarea:focus,
  .custom-form input[type="text"]:focus,
  .custom-form input[type="email"]:focus {
    outline: none; }

.custom-form input::-webkit-input-placeholder,
.custom-form textarea::-webkit-input-placeholder {
  color: #666;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
  font-family: "Saira Semi Condensed", sans-serif; }

.custom-form input:-moz-placeholder,
.custom-form textarea:-moz-placeholder {
  color: #666;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 2px;
  font-family: "Saira Semi Condensed", sans-serif; }

.custom-form textarea {
  height: 150px;
  resize: none;
  padding: 35px 30px 25px 30px;
  appearance: none; }

.custom-form input:not([type="checkbox"]) {
  margin-bottom: 20px; }

.custom-form input[type="checkbox"] {
  margin-right: 5px; }

.custom-form button {
  margin-top: 25px;
  font-size: 0.75rem;
  outline: none;
  border: none;
  cursor: pointer;
  appearance: none;
  font-family: "Saira Semi Condensed", sans-serif;
  border-radius: 0;
  float: left; }

#message {
  text-align: left;
  float: left;
  width: 100%;
  color: #000;
  padding-left: 50px; }

#message h3 {
  font-size: 0.95rem;
  padding-bottom: 5px;
  text-transform: uppercase; }

#message p {
  color: #000; }

#message p strong {
  font-weight: 800; }

/*------  404 ------------------------------------------------------*/
.error-container {
  position: absolute;
  left: 0;
  right: 80px;
  bottom: 0;
  top: 0;
  overflow: hidden; }

.error-wrap {
  top: 50%;
  z-index: 20;
  transform: translateY(-50%); }

.error-wrap:before {
  content: "";
  position: absolute;
  bottom: 52px;
  left: 50%;
  height: 2px;
  width: 40px;
  margin: 0 0 0 -20px; }

.error-wrap h2 {
  font-size: 184px;
  color: #fff;
  font-weight: 900;
  line-height: 185px; }

.error-wrap p {
  color: rgba(255, 255, 255, 0.91);
  text-align: center;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 40px; }

/*------ Blog ------------------------------------------------------*/
.aside_img_wrap {
  position: fixed;
  top: 80px;
  left: 80px;
  bottom: 80px;
  width: 500px;
  z-index: 2; }

.aside_img_wrap .hsd_dec {
  z-index: 5;
  right: auto;
  left: 80px;
  top: 40px; }

.aside_img_wrap .hsd_dec.hsd_dec_bottom {
  top: auto;
  bottom: 40px; }

.aside_img_wrap:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 1; }

.aside_img_wrap:after {
  content: "";
  position: absolute;
  width: 100px;
  background: #fff;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 2; }

.aside_img_title {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  padding: 0 40px;
  z-index: 21;
  text-align: left;
  color: #fff;
  word-break: break-word; }

.aside_img_title h2 {
  color: #fff;
  font-size: 2.615rem;
  font-weight: 800;
  line-height: 40px;
  position: relative;
  padding-bottom: 20px; }

.aside_img_title h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: -40px;
  width: 50px;
  height: 4px; }

.aside_img_title p {
  color: #fff;
  text-align: left;
  max-width: 450px;
  float: left; }

.aside_img_container {
  position: absolute;
  left: 80px;
  right: 40px;
  bottom: 80px;
  top: 80px;
  z-index: 5;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3); }

.aside_img_container:before {
  content: "";
  position: absolute;
  left: -40px;
  top: 50%;
  height: 250px;
  margin-top: -125px;
  width: 1px;
  background: rgba(0, 0, 0, 0.2); }

.aside_img-column-linedec {
  position: absolute;
  right: 40px;
  height: 100px;
  width: 100px;
  top: 50px;
  z-index: 5;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.4); }

.big-column_wrap {
  z-index: 1;
  padding: 0 80px 0 0; }

.aside_img_wrap + .big-column_wrap {
  padding-left: 480px; }

.big-column_container {
  background: #fff;
  min-height: 100vh;
  overflow: hidden; }

.grid-post-media {
  overflow: hidden; }

.grid-post-media a {
  position: relative;
  display: block; }

.post-det {
  padding: 25px 20px;
  background: #fff;
  border: 1px solid #eee; }

.post-det-num {
  width: 60px;
  height: 60px;
  line-height: 60px;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
  font-size: 1rem;
  font-weight: 600; }

.post-tooltip {
  position: absolute;
  height: 50px;
  line-height: 50px;
  background: #333;
  width: 130px;
  font-size: 0.75rem;
  letter-spacing: 2px;
  font-weight: 800;
  text-transform: uppercase;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -65px;
  z-index: 5; }

.grid-post-media .overlay,
.post-tooltip {
  opacity: 0;
  transition: all 0.3s ease-in-out; }

.grid-post-media:hover .post-tooltip {
  opacity: 1; }

.grid-post-media:hover .overlay {
  opacity: 0.4; }

.post-header {
  margin-bottom: 15px;
  float: left;
  position: relative;
  z-index: 20; }

.post-link {
  float: left;
  width: 100%;
  border-top: 1px solid #eee;
  text-align: left;
  text-transform: uppercase;
  color: #292929;
  font-size: 0.75rem;
  letter-spacing: 2px;
  font-weight: 800;
  margin-top: 6px;
  padding-top: 20px; }
  .post-link:hover {
    color: #292929; }

.post-link i {
  margin-left: 10px;
  transition: all 0.3s ease-in-out; }

.post-link:hover i {
  margin-left: 20px; }

.post-header span,
.post-header a {
  float: left;
  margin-right: 10px;
  text-transform: uppercase;
  color: #666;
  font-weight: 800;
  font-size: 0.75rem;
  letter-spacing: 2px; }

.post-det {
  padding-top: 20px; }

.post-det h3 {
  font-size: 1.385rem;
  text-align: left;
  text-transform: uppercase;
  color: #000;
  font-weight: 800;
  padding-bottom: 5px; }

.post-det h3 a {
  color: #292929; }

.post-det p {
  text-align: justify; }

.pagination {
  margin-top: 20px;
  margin-bottom: 70px;
  text-align: center;
  float: left;
  z-index: 10;
  position: relative; }

.pagination .page-numbers {
  float: left;
  width: 60px;
  height: 60px;
  line-height: 60px;
  box-sizing: border-box;
  position: relative;
  font-weight: 500;
  color: #fff;
  background: #333;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  letter-spacing: 1px; }
  .pagination .page-numbers:hover, .pagination .page-numbers.current {
    color: #fff; }
  .pagination .page-numbers i {
    font-size: 0.95rem; }

.blog-filters {
  z-index: 20;
  background: #1a3732;
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.blog-btn-filter {
  position: relative; }
  .blog-btn-filter + .blog-btn-filter {
    margin-left: 64px; }

.blog-btn-filter ul {
  list-style-type: none;
  display: none;
  position: absolute;
  top: 75px;
  right: 0;
  padding: 15px 20px;
  background: rgba(0, 0, 0, 0.8);
  margin: 0; }

.blog-btn-filter ul li {
  float: left;
  min-width: 130px;
  width: 100%;
  padding: 6px 0;
  text-align: left; }

.blog-btn-filter ul li a {
  color: #fff; }

.blog-btn {
  float: left;
  padding: 30px 20px;
  position: relative;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 2px; }

.blog-btn i {
  margin-left: 15px;
  position: relative;
  top: 2px;
  font-size: 0.95rem;
  color: #999; }

.sform-form.topsearch-form, .wp-block-search__inside-wrapper.topsearch-form {
  top: 16px;
  left: 20px; }

.sform-form button, .wp-block-search__inside-wrapper button {
  background: none;
  border: none;
  margin-left: 30px;
  outline: none;
  position: relative;
  cursor: pointer; }
  .sform-form button:hover, .wp-block-search__inside-wrapper button:hover {
    color: #fff; }

.sform-form input, .wp-block-search__inside-wrapper input {
  border: none;
  background: rgba(255, 255, 255, 0.1);
  padding: 10px 25px;
  width: 250px;
  color: #fff;
  outline: none;
  font-family: "Saira Semi Condensed", sans-serif; }
  .sform-form input::-webkit-input-placeholder, .wp-block-search__inside-wrapper input::-webkit-input-placeholder {
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    position: relative;
    font-family: "Saira Semi Condensed", sans-serif; }

.cats-tags-filter {
  display: flex;
  justify-content: space-between; }

.ss-slider-cont {
  position: absolute;
  top: 50%;
  width: 46px;
  height: 46px;
  line-height: 46px;
  background: rgba(39, 39, 41, 0.8);
  font-size: 1.077rem;
  z-index: 40;
  margin-top: -25px;
  cursor: pointer; }

.ss-slider-cont:hover {
  color: #fff; }

.ss-slider-cont-next {
  right: 0; }

.ss-slider-cont-prev {
  left: 0; }

.ss-slider-pagination_wrap {
  position: absolute;
  bottom: 0;
  z-index: 10;
  left: 0;
  width: 100%; }

.ss-slider-pagination {
  position: relative;
  float: right;
  background: rgba(0, 0, 0, 0.51);
  padding: 10px 30px; }

.ss-slider-pagination .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.41);
  margin: 0 5px;
  padding: 0;
  height: 6px;
  border-radius: 50%;
  opacity: 1;
  width: 6px;
  position: relative;
  top: -2px; }

.pr-tags {
  background: #1a3732;
  padding: 25px 55px 22px;
  float: left; }

.pr-tags li {
  float: left;
  margin-right: 10px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 3px; }

.pr-tags li a {
  color: #fff; }

.pr-tags {
  margin-bottom: 20px; }

.pr-tags span {
  float: left;
  margin-right: 10px;
  color: #000;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 2px; }

.pr-tags ul {
  position: relative;
  float: left;
  list-style: none;
  margin-bottom: 0;
  padding-left: 0; }

#comments.single-post-comm {
  margin-top: 0;
  padding-top: 0; }

.comment-num {
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
  height: 60px;
  line-height: 60px;
  z-index: 10;
  font-size: 1.077rem;
  font-weight: 800; }

.comment, .trackback, .pingback {
  margin-top: 20px;
  position: relative; }

.comment {
  padding-left: 20px; }

.comment-body {
  position: relative;
  margin: 10px 0 10px 60px;
  padding: 30px;
  background: #f9f9f9;
  border: 1px solid #eee; }

.comment-author {
  position: absolute;
  top: 30px;
  left: -76px; }

.comment-author:before {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  left: 50%;
  bottom: -50px;
  border-bottom: 1px solid #eee;
  border-left: 1px solid #eee; }

.comment-author img {
  border-radius: 4px; }

.comment .children {
  margin-left: 70px; }

.fn {
  display: block;
  margin-bottom: 10px;
  font-size: 1.077rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
  font-style: normal;
  color: #000; }
  .fn a,
  .fn a:hover {
    color: #000; }

.comment-meta {
  font-size: 0.95rem;
  letter-spacing: 1px;
  color: #000;
  padding-bottom: 10px;
  text-align: left; }
  .comment-meta a,
  .comment-meta a:hover {
    color: #000; }

#reply-title {
  padding-bottom: 30px;
  margin-bottom: 5px; }

.custom-form.add-comment input:not([type="submit"]) {
  padding: 20px 30px; }

.add-comment {
  padding: 0;
  margin: 70px 0 0; }

.add-comment button {
  margin-top: 30px;
  border: none;
  outline: none;
  appearance: none;
  cursor: pointer; }

.dis-flex {
  display: flex; }

.jcontent-flend {
  justify-content: flex-end; }

.post, .page {
  margin-bottom: 0; }

.elementor p:last-child {
  margin-bottom: 0; }

.elementor-column-gap-default > .elementor-row {
  margin-left: -10px;
  margin-right: -10px;
  width: calc(100% + 20px); }

.elementor-column-gap-extended > .elementor-row {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px); }

.page-content, .entry-content, .entry-summary {
  margin-top: 0; }

select {
  height: 40px;
  border-radius: 5px;
  padding: 0px 10px; }

table {
  margin-bottom: 1em; }
  table th, table td {
    font-weight: normal; }
  table thead th {
    border-bottom: 1px solid #ebebeb;
    color: #222;
    font-weight: 700; }
  table td, table th {
    padding: 10px 10px; }

.no-list-style {
  list-style: none; }

.cthiso-isotope-wrapper {
  overflow-x: hidden;
  overflow-y: visible; }

.cthiso-items {
  position: relative;
  list-style: none;
  padding: 0;
  margin-bottom: 0; }
  .cthiso-items > * {
    box-sizing: border-box; }

.cthiso-flex {
  display: flex;
  flex-wrap: wrap; }

.cthiso-item-holder {
  /*float: left;*/
  width: 100%;
  height: auto;
  position: relative;
  /*padding:2px;*/
  margin-bottom: 0; }

.cthposts-wrap.cthiso-xxbig-pad {
  margin-top: -50px; }

.cthposts-wrap.cthiso-xbig-pad {
  margin-top: -30px; }

.cthposts-wrap.cthiso-big-pad {
  margin-top: -15px; }

.cthposts-wrap.cthiso-medium-pad {
  margin-top: -10px; }

.cthposts-wrap.cthiso-small-pad {
  margin-top: -5px; }

.cthposts-wrap.cthiso-extrasmall-pad {
  margin-top: -2px; }

.cthiso-xxbig-pad.cthiso-items {
  margin-left: -50px;
  margin-right: -50px; }

.cthiso-xxbig-pad .cthiso-item {
  padding: 50px; }

.cthiso-xbig-pad.cthiso-items {
  margin-left: -30px;
  margin-right: -30px; }

.cthiso-xbig-pad .cthiso-item {
  padding: 30px; }

.cthiso-big-pad.cthiso-items {
  margin-left: -15px;
  margin-right: -15px; }

.cthiso-big-pad .cthiso-item {
  padding: 15px; }

.cthiso-medium-pad.cthiso-items {
  margin-left: -10px;
  margin-right: -10px; }

.cthiso-medium-pad .cthiso-item {
  padding: 10px; }

.cthiso-small-pad.post-cthiso-items, .cthiso-small-pad.cthiso-items {
  margin-left: -5px;
  margin-right: -5px; }

.cthiso-small-pad .post-cthiso-item, .cthiso-small-pad .cthiso-item {
  padding: 5px; }

.cthiso-extrasmall-pad.cthiso-items {
  margin-left: -2px;
  margin-right: -2px; }

.cthiso-extrasmall-pad .cthiso-item {
  padding: 2px; }

.cthiso-no-pad .cthiso-item {
  padding: 0; }

.cthiso-item, .cthiso-sizer {
  width: 25%;
  position: relative;
  /*float:left;*/
  overflow: hidden; }

.cthiso-item:hover {
  overflow: visible; }

.cthiso-item-two, .cthiso-sizer-two,
.cthiso-item-second {
  width: 50%; }

.cthiso-item-three, .cthiso-sizer-three {
  width: 75%; }

.cthiso-one-cols .cthiso-item, .cthiso-one-cols .cthiso-sizer,
.cthiso-one-cols .cthiso-item-two, .cthiso-one-cols .cthiso-sizer-two,
.cthiso-one-cols .cthiso-item-second,
.cthiso-one-cols .cthiso-item-three, .cthiso-one-cols .cthiso-sizer-three {
  width: 100%; }

.cthiso-two-cols .cthiso-item, .cthiso-two-cols .cthiso-sizer {
  width: 50%; }

.cthiso-two-cols .cthiso-item-second,
.cthiso-two-cols .cthiso-item-two, .cthiso-two-cols .cthiso-sizer-two, .cthiso-two-cols .cthiso-item-three, .cthiso-two-cols .cthiso-sizer-three {
  width: 100%; }

.cthiso-three-cols .cthiso-item, .cthiso-three-cols .cthiso-sizer {
  width: 33.333%; }

.cthiso-three-cols .cthiso-item-second,
.cthiso-three-cols .cthiso-item-two, .cthiso-three-cols .cthiso-sizer-two {
  width: 66.666%; }

.cthiso-three-cols .cthiso-item-three, .cthiso-three-cols .cthiso-sizer-three {
  width: 100%; }

.cthiso-five-cols .cthiso-item, .cthiso-five-cols .cthiso-sizer {
  width: 20%; }

.cthiso-five-cols .cthiso-item-second,
.cthiso-five-cols .cthiso-item-two, .cthiso-five-cols .cthiso-sizer-two {
  width: 40%; }

.cthiso-five-cols .cthiso-item-three, .cthiso-five-cols .cthiso-sizer-three {
  width: 60%; }

.cthiso-six-cols .cthiso-item, .cthiso-six-cols .cthiso-sizer {
  width: 16.666%; }

.cthiso-six-cols .cthiso-item-second,
.cthiso-six-cols .cthiso-item-two, .cthiso-six-cols .cthiso-sizer-two {
  width: 33.333%; }

.cthiso-six-cols .cthiso-item-three, .cthiso-six-cols .cthiso-sizer-three {
  width: 50%; }

.cthiso-seven-cols .cthiso-item, .cthiso-seven-cols .cthiso-sizer {
  width: 14.285%; }

.cthiso-seven-cols .cthiso-item-second,
.cthiso-seven-cols .cthiso-item-two, .cthiso-seven-cols .cthiso-sizer-two {
  width: 28.57%; }

.cthiso-seven-cols .cthiso-item-three, .cthiso-seven-cols .cthiso-sizer-three {
  width: 42.857%; }

.cthiso-eight-cols .cthiso-item, .cthiso-eight-cols .cthiso-sizer {
  width: 12.5%; }

.cthiso-eight-cols .cthiso-item-second,
.cthiso-eight-cols .cthiso-item-two, .cthiso-eight-cols .cthiso-sizer-two {
  width: 25%; }

.cthiso-eight-cols .cthiso-item-three, .cthiso-eight-cols .cthiso-sizer-three {
  width: 37.5%; }

.cthiso-nine-cols .cthiso-item, .cthiso-nine-cols .cthiso-sizer {
  width: 11.111%; }

.cthiso-nine-cols .cthiso-item-second,
.cthiso-nine-cols .cthiso-item-two, .cthiso-nine-cols .cthiso-sizer-two {
  width: 22.222%; }

.cthiso-nine-cols .cthiso-item-three, .cthiso-nine-cols .cthiso-sizer-three {
  width: 33.333%; }

.cthiso-ten-cols .cthiso-item, .cthiso-ten-col .cthiso-sizer {
  width: 10%; }

.cthiso-ten-cols .cthiso-item-second,
.cthiso-ten-cols .cthiso-item-two, .cthiso-ten-cols .cthiso-sizer-two {
  width: 20%; }

.cthiso-ten-cols .cthiso-item-three, .cthiso-ten-cols .cthiso-sizer-three {
  width: 30%; }

@media only screen and (max-width: 1024px) {
  .cthiso-item, .cthiso-sizer {
    width: 50%; }
  .cthiso-one-cols .cthiso-item, .cthiso-one-cols .cthiso-sizer,
  .cthiso-three-cols .cthiso-item,
  .cthiso-three-cols .cthiso-sizer,
  .cthiso-two-cols .cthiso-item,
  .cthiso-two-cols .cthiso-sizer {
    width: 50%; }
  .cthiso-one-cols .cthiso-item-second,
  .cthiso-one-cols .cthiso-item-two,
  .cthiso-one-cols .cthiso-item-three,
  .cthiso-three-cols .cthiso-item-second,
  .cthiso-three-cols .cthiso-item-two,
  .cthiso-three-cols .cthiso-item-three,
  .cthiso-two-cols .cthiso-item-second,
  .cthiso-two-cols .cthiso-item-two,
  .cthiso-two-cols .cthiso-item-three {
    width: 100%; }
  .tablet-three .cthiso-item, .tablet-three .cthiso-sizer {
    width: 33.333%; }
  .tablet-three .cthiso-item-second,
  .tablet-three .cthiso-item-two {
    width: 66.666%; }
  .tablet-three .cthiso-item-three {
    width: 100%; } }

@media only screen and (max-width: 767px) {
  .cthiso-item, .cthiso-sizer {
    width: 100%; }
  .cthiso-one-cols .cthiso-item, .cthiso-one-cols .cthiso-sizer,
  .cthiso-three-cols .cthiso-item,
  .cthiso-three-cols .cthiso-sizer,
  .cthiso-two-cols .cthiso-item,
  .cthiso-two-cols .cthiso-sizer,
  .cthiso-four-cols .cthiso-item,
  .cthiso-four-cols .cthiso-sizer,
  .cthiso-five-cols .cthiso-item,
  .cthiso-five-cols .cthiso-sizer,
  .cthiso-six-cols .cthiso-item,
  .cthiso-six-cols .cthiso-sizer {
    width: 100%; }
  .cthiso-big-pad .cthiso-item,
  .cthiso-medium-pad .cthiso-item,
  .cthiso-small-pad .cthiso-item,
  .cthiso-extrasmall-pad .cthiso-item {
    padding-bottom: 0; } }

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 1.077em;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/
.alignleft, .wp-block-image .alignleft {
  display: inline;
  float: left;
  margin-top: 0;
  margin-right: 1rem;
  margin-bottom: 1rem; }
  .alignleft figcaption, .alignleft .wp-caption-text, .wp-block-image .alignleft figcaption, .wp-block-image .alignleft .wp-caption-text {
    margin-bottom: 0; }

.alignright, .wp-block-image .alignright {
  display: inline;
  float: right;
  margin-top: 0;
  margin-left: 1rem;
  margin-bottom: 1rem; }
  .alignright figcaption, .alignright .wp-caption-text, .wp-block-image .alignright figcaption, .wp-block-image .alignright .wp-caption-text {
    margin-bottom: 0; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem; }

/*-------------------- 10.0 widget ----------------------------------*/
.wp-caption {
  max-width: 100%; }

.gallery-caption, .wp-caption-text {
  margin-top: 5px; }

.wp-caption p.wp-caption-text {
  font-size: 0.845em;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

.bypostauthor .comment-meta {
  line-height: inherit; }

.gallery-columns-1 {
  float: left;
  width: 100%; }

.gallery-columns-2 {
  float: left;
  width: 100%; }

.gallery-columns-3 {
  float: left;
  width: 100%; }

.gallery-columns-4 {
  float: left;
  width: 100%; }

.gallery-columns-5 {
  float: left;
  width: 100%; }

.gallery-columns-6 {
  float: left;
  width: 100%; }

.gallery-columns-7 {
  float: left;
  width: 100%; }

.gallery-columns-8 {
  float: left;
  width: 100%; }

.gallery-columns-9 {
  float: left;
  width: 100%; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.wp-block-quote cite {
  text-align: left !important;
  font-size: 1em !important; }

.wp-block-pullquote {
  padding: 0;
  font-size: 1rem; }

.wp-block-cover {
  margin-bottom: 1rem; }

.wp-block-cover-image.is-light .wp-block-cover__inner-container, .wp-block-cover.is-light .wp-block-cover__inner-container, .wp-block-cover__inner-container a {
  color: #fff; }

.wp-block-image.alignleft > figcaption, .wp-block-image.alignright > figcaption, .wp-block-image.aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption, .wp-block-image .aligncenter > figcaption {
  display: block; }

.post-page-numbers {
  padding: 2px 5px; }

.sticky-text {
  font-size: 0.75rem;
  text-transform: uppercase;
  margin-bottom: 10px; }

.wp-block-cover-image.has-background-dim, .wp-block-cover.has-background-dim {
  color: #fff; }

.wp-block-cover {
  color: #fff; }

.wp-block-button {
  margin-bottom: 1rem; }

.widget-box {
  margin-bottom: 30px; }

.widget-title, .widget-box .wp-block-group .wp-block-group__inner-container > h2 {
  width: 100%;
  font-weight: 600;
  font-size: 1.231em;
  text-align: left;
  padding-bottom: 14px;
  border-bottom: 1px solid #eee;
  position: relative;
  margin-bottom: 20px;
  line-height: 1.6; }
  .widget-title:before, .widget-box .wp-block-group .wp-block-group__inner-container > h2:before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 30px;
    height: 3px;
    background-color: var(--themecolor); }
  .widget-title .rsswidget, .widget-box .wp-block-group .wp-block-group__inner-container > h2 .rsswidget {
    color: #292929; }
    .widget-title .rsswidget img, .widget-box .wp-block-group .wp-block-group__inner-container > h2 .rsswidget img {
      position: relative;
      top: -2px; }

.wp-block-archives,
.widget_categories ul,
.widget_archive ul,
.widget_pages ul,
.widget_nav_menu ul,
.wp-block-page-list,
.wp-block-categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%; }
  .wp-block-archives ul,
  .widget_categories ul ul,
  .widget_archive ul ul,
  .widget_pages ul ul,
  .widget_nav_menu ul ul,
  .wp-block-page-list ul,
  .wp-block-categories-list ul {
    margin-left: 0;
    margin-top: 5px; }
  .wp-block-archives li,
  .widget_categories ul li,
  .widget_archive ul li,
  .widget_pages ul li,
  .widget_nav_menu ul li,
  .wp-block-page-list li,
  .wp-block-categories-list li {
    width: 100%;
    margin-bottom: 6px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 0px;
    line-height: 1.55; }
    .wp-block-archives li a,
    .widget_categories ul li a,
    .widget_archive ul li a,
    .widget_pages ul li a,
    .widget_nav_menu ul li a,
    .wp-block-page-list li a,
    .wp-block-categories-list li a {
      color: #333; }
      .wp-block-archives li a:hover,
      .widget_categories ul li a:hover,
      .widget_archive ul li a:hover,
      .widget_pages ul li a:hover,
      .widget_nav_menu ul li a:hover,
      .wp-block-page-list li a:hover,
      .wp-block-categories-list li a:hover {
        color: #000; }
    .wp-block-archives li:last-child,
    .widget_categories ul li:last-child,
    .widget_archive ul li:last-child,
    .widget_pages ul li:last-child,
    .widget_nav_menu ul li:last-child,
    .wp-block-page-list li:last-child,
    .wp-block-categories-list li:last-child {
      margin-bottom: 0; }
    .wp-block-archives li ul,
    .widget_categories ul li ul,
    .widget_archive ul li ul,
    .widget_pages ul li ul,
    .widget_nav_menu ul li ul,
    .wp-block-page-list li ul,
    .wp-block-categories-list li ul {
      margin-left: 15px;
      width: 100%; }

.wp-block-page-list ul,
.wp-block-categories-list ul {
  display: block;
  width: 100%; }

.wp-block-page-list li ul,
.wp-block-categories-list li ul {
  margin-left: 0;
  margin-top: 6px; }

.widget_categories li span,
.widget_archive li span {
  width: 26px;
  height: 26px;
  line-height: 26px;
  background: #333;
  border-radius: 2px;
  text-align: center;
  font-size: 0.77em;
  color: var(--themecolor); }

.widget_meta ul,
.widget_rss ul,
.widget_recent_entries ul,
.widget_recent_comments ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%; }
  .widget_meta ul ul,
  .widget_rss ul ul,
  .widget_recent_entries ul ul,
  .widget_recent_comments ul ul {
    margin-left: 0;
    margin-top: 5px; }
  .widget_meta ul li,
  .widget_rss ul li,
  .widget_recent_entries ul li,
  .widget_recent_comments ul li {
    width: 100%;
    margin-bottom: 6px;
    line-height: var(--theme-lheight);
    position: relative; }
    .widget_meta ul li:last-child,
    .widget_rss ul li:last-child,
    .widget_recent_entries ul li:last-child,
    .widget_recent_comments ul li:last-child {
      margin-bottom: 0; }

.widget_recent_comments li {
  margin-bottom: 6px; }

.widget_recent_comments ul li {
  line-height: var(--theme-lheight); }

.widget_meta a,
.widget_recent_comments a,
.widget_recent_entries a,
.wp-block-latest-posts a,
.wp-block-latest-comments a {
  color: #333; }
  .widget_meta a:hover,
  .widget_recent_comments a:hover,
  .widget_recent_entries a:hover,
  .wp-block-latest-posts a:hover,
  .wp-block-latest-comments a:hover {
    color: #000; }

.wp-block-latest-comments {
  padding-left: 0; }

.rss-date {
  font-size: smaller;
  font-style: italic; }

.widget_recent_comments,
.wp-block-latest-comments {
  color: #333; }

.tagcloud a,
.wp-block-tag-cloud a {
  padding: 5px 10px;
  color: #fff;
  background: #333;
  font-size: 0.95rem !important;
  margin: 0 3px 3px 0;
  display: inline-block; }

.tags-title {
  margin-right: 20px;
  position: relative;
  font-weight: 500;
  top: 10px; }

img {
  max-width: 100%;
  height: auto; }

select {
  max-width: 100%;
  width: 100%; }

table#wp-calendar {
  width: 100%;
  caption-side: top; }
  table#wp-calendar caption {
    margin-bottom: 10px;
    text-align: center;
    padding: 0; }
  table#wp-calendar th,
  table#wp-calendar td {
    text-align: center; }

.wp-calendar-nav {
  display: flex;
  justify-content: space-between; }

.wp-calendar-nav-next {
  margin-left: auto; }

.wp-block-search .wp-block-search__button {
  margin-left: 0; }

.wp-block-latest-comments__comment {
  line-height: var(--theme-lheight);
  margin-bottom: 6px; }

.wp-block-rss__item-publish-date, .wp-block-rss__item-author {
  display: inline-block;
  margin-right: 5px; }

.search-widget.sidebar-search, .wp-block-search {
  background-color: #1a3732; }
  .search-widget.sidebar-search .sform-form button, .wp-block-search .sform-form button {
    margin-left: 0;
    padding-left: 15px;
    padding-right: 15px; }

.sform-form {
  display: flex;
  align-items: center; }

.wp-block-search .wp-block-search__label {
  display: none; }

.row {
  --bs-gutter-x: 30px !important; }

.singleMap .ol-zoom {
  top: 50%;
  right: 30px;
  margin-top: -25px;
  left: auto; }

.slider-controls.sc_sin {
  justify-content: space-between; }

.slider-controls.sc_sin .pag-style {
  width: auto;
  transition: none;
  position: static;
  float: none; }

.tc-pagination .swiper-pagination-bullet, .hc-pag .swiper-pagination-bullet {
  margin-right: 20px !important; }

.lg-actions .lg-prev,
.lg-actions .lg-next {
  text-align: center; }

.prgrid-layout-style-3 {
  background-color: #fff;
  padding-bottom: 130px; }

.post-opt ol, .post-opt ul {
  padding-left: 0; }

.search-submit.color-bg i {
  color: #fff; }

.folio-full-padding {
  padding: 0 60px 90px 60px; }

.contacts-normal {
  padding-left: 0; }

.comment ul.children {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0; }

.no-comments {
  padding-top: 10px;
  float: left;
  width: 100%; }

.sec-fix-minheight {
  min-height: calc(100vh - 90px - 140px - 212px - 110px); }

.sec-fix-minheight-blog {
  min-height: calc(100vh - 90px - 140px - 212px - 110px - 105px); }

.wp-block-search__button-outside .wp-block-search__button {
  color: #fff; }

.blocks-gallery-grid:not(.has-nested-images).alignleft,
.wp-block-gallery:not(.has-nested-images).alignleft {
  margin-right: 1em; }

.blocks-gallery-grid:not(.has-nested-images).alignright,
.wp-block-gallery:not(.has-nested-images).alignright {
  margin-left: 1em; }

.mejs-container + .list-single-tags {
  margin-top: 1em; }

.psingle-tags .tagcloud a {
  padding: 5px 10px; }

.postl-date {
  color: #999; }

.background-youtube-wrapper .inlinePlayButton {
  display: none; }

.copy-right a {
  color: #fff; }

.hero-wrap-social, .post-det-num, .post-tooltip, .side-box,
.grid-media-zoom, .box-media-zoom, .ss-slider-cont, .comment-num, .error-container, .share-icon, .filter-btn, .grid-det-item:before, .ss-slider-btn,
.thumb-img, .pd_modal-close, .hsc_pp2, .hsc_counter-wrap, .hero-slider_control, .video-box-btn, .image-popup, .close-cf, .testi-number, .modal-close, .close-share-btn,
.single_video_wrp {
  text-align: center; }

.post-tooltip {
  color: #000; }

.ss-slider-pagination {
  width: auto !important;
  bottom: 0 !important; }

input[type="submit"] {
  border: none; }

.topnav-menu {
  margin-bottom: 0;
  padding-left: 0; }
  .topnav-menu ul {
    list-style: none; }

.thumb-img {
  display: none; }
  .thumb-img.visthumbnails {
    display: inline-block; }

.slider-fw_pagination_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin-right: 30px; }

.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.folio-hoz-navs {
  display: flex; }
  .folio-hoz-navs .next-project-wrap {
    width: 300px; }

.folio-post-nav {
  display: flex;
  margin-top: 30px;
  margin-bottom: 30px;
  justify-content: space-between; }
  .folio-post-nav .folio-nav-item {
    width: 48%;
    color: #000;
    word-break: break-word; }
    .folio-post-nav .folio-nav-item strong {
      display: block;
      font-weight: 800; }
    .folio-post-nav .folio-nav-item span {
      display: block;
      font-size: 1.23rem;
      transition: all 200ms ease-in-out; }
      .folio-post-nav .folio-nav-item span i {
        font-size: 0.95rem;
        margin-left: 20px;
        position: relative;
        top: -3px; }
  .folio-post-nav .folio-nav-next {
    text-align: right;
    margin-left: auto; }
  .folio-post-nav .folio-nav-prev {
    margin-right: auto; }
    .folio-post-nav .folio-nav-prev span i {
      margin-left: 0;
      margin-right: 20px; }

.half-hero-wrap_link + .half-hero-wrap_link {
  margin-left: 20px; }

.trackback .comment-body, .pingback .comment-body {
  margin-left: 0; }

.trackback .comment-author, .pingback .comment-author {
  display: none; }

.page-column_wrap {
  position: relative; }

.white-bg {
  background-color: #fff; }

.page-section {
  min-height: 100vh; }

.wp-block-calendar a {
  text-decoration: none; }

.mb-50 {
  margin-bottom: 50px; }

.nicescroll-rails-hr {
  bottom: 0; }

.contact-form-content {
  float: left;
  width: 100%; }

.wp-block-cth-home-slideshow .video-holder-wrap, .wp-block-cth-home-video .video-holder-wrap {
  overflow: hidden; }

.post-password-form .search-input {
  padding: 12px 30px;
  line-height: 20px;
  border: none;
  background: #f0f0f0; }
  .post-password-form .search-input:focus {
    outline: none; }

.post-password-form button {
  border: none;
  padding: 15px 30px;
  line-height: 14px;
  margin-left: 15px; }

.ptype-content-none {
  padding: 10px; }
  .ptype-content-none .search-widget.sidebar-search {
    display: inline-block; }

.section-separator + .must-log-in {
  float: left;
  width: 100%;
  margin-top: 40px; }

.gallery-item.post-item {
  text-align: left; }

input[type="checkbox"] + label {
  display: inline; }

.folio-items .gallery-item img {
  width: 100%; }

.wp-block-latest-posts__list li {
  margin-bottom: 6px; }

/*------  Responsive ------------------------------------------------------*/
@media only screen and (max-width: 1370px) {
  .hero-slider_details_wrap {
    width: 250px; }
  .fs-slider_align_title {
    margin-left: 70px; }
  .hero-slider-button-next {
    right: 340px; }
  .hero-slider-button-prev {
    left: 0; }
  .fs-slider_align_title h2 {
    font-size: 45px;
    line-height: 68px; }
  .slide-progress-wrap,
  .hero-slider_details:before {
    right: 40px; }
  .hero_promo-wrap {
    width: 250px; }
  .hero_promo-title {
    width: 330px;
    padding: 40px 20px 35px; }
  .aside_img_wrap {
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    width: calc(100% - 80px);
    float: left;
    padding-right: 80px;
    height: 450px; }
  .wp-block-cth-folios-grid .big-column_wrap,
  .aside_img_wrap + .big-column_wrap,
  .big-column_wrap {
    width: calc(100% - 80px);
    padding: 0 0 80px 0; }
  .aside_img_container {
    left: 0;
    right: 0;
    bottom: 0;
    top: 0; }
  .aside_img_wrap .hsd_dec {
    display: none; }
  .fw_grid .gallery-item {
    width: 50%; }
  .column-details_wrap {
    width: 350px; }
  .fbp_fw {
    left: 350px; }
  .slider-fw_wrap {
    padding: 0 80px 80px 350px; }
  .fw_grid {
    width: calc(100% - 350px); } }

@media only screen and (max-width: 1068px) {
  .nav-button {
    display: block;
    margin-right: 0; }
  .main-menu nav ul,
  .social-container,
  .side-box,
  .footer-contacts,
  .hero-slider_details_wrap,
  .hero_promo-title .hsd_dec,
  .hpt_link-wrap,
  .hero_promo-title p,
  .hero_promo-title:before,
  .serv-carousel_title:before,
  .testi-column_title:before,
  .serv-pagination_wrap,
  .testilider-controls:before,
  .testi-item:before,
  .sec_dec-bottom,
  .fixed-bottom-panel,
  .project-details_overlay,
  .pd_modal-close,
  .pr-det_btn,
  .fsc-holder_title_small,
  .single_video_wrp .video-box-btn:before {
    display: none; }
  .fw-carousel .swiper-slide.ss_last {
    display: none !important; }
  #wrapper,
  .page-load {
    left: 0; }
  .pr-list {
    width: 100%; }
  .fs-slider-wrap,
  .video-single-wrapper,
  .hero-carousel-wrap {
    padding-right: 0; }
  .copy-right {
    float: left; }
  #wrapper,
  .hero-slider-button-next,
  .share-wrapper,
  .video-holder-wrap,
  .fs-hero-wrap,
  .hero_promo-wrap,
  .error-container,
  .page-load {
    right: 0; }
  .main-menu {
    position: absolute;
    top: 80px;
    right: 10px;
    width: 300px;
    z-index: 50;
    padding: 15px 10px;
    background: rgba(0, 0, 0, 0.8);
    visibility: hidden;
    opacity: 0;
    transition: all 0.4s ease-in-out; }
  .vismobmenu {
    opacity: 1;
    right: 0;
    visibility: visible; }
  .menusb {
    display: block;
    float: left;
    position: relative;
    width: 100%;
    overflow: hidden; }
  .main-menu .menusb ul {
    display: block;
    float: left;
    position: relative;
    width: 100%;
    padding-left: 0; }
  .menusb li {
    margin: 0;
    float: left;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 0 20px; }
  .menusb li i {
    position: absolute;
    right: 18px;
    top: 12px; }
  .menusb li i:before {
    content: "\f0da"; }
  .menusb a {
    float: left;
    width: 100%;
    padding: 8px 5px;
    position: relative;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.95rem;
    color: #fff;
    line-height: 20px;
    text-align: left; }
  .menusb a.back {
    padding-left: 24px; }
  .menusb a.back:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f177";
    font-size: 1.077rem; }
  .hlaf-slider-pag {
    top: auto;
    right: 30px;
    bottom: 30px !important;
    width: auto !important;
    transform: translateY(0); }
  .hero-slider-wrap_pagination .swiper-pagination-bullet {
    margin: 0 0 0 20px !important; }
  .fs-slider_align_title h2 {
    font-size: 50px;
    line-height: 58px; }
  .hero-facts-wrap {
    right: 30px; }
  .hero_promo-title {
    width: 100%;
    padding: 30px 20px; }
  .hero_promo-title h4 {
    padding: 0; }
  .hero_promo-button {
    height: 136px; }
  .column-wrap {
    width: 100%;
    min-height: auto;
    height: auto !important; }
  .column-img-wrap
, .column-img-wrap .inline-facts-container, .serv-carousel_title, .serv-carousel_title_wrap, .testi-column_title, .project-details_inner, .project-details_wrap {
    width: 100%;
    position: relative;
    right: 0;
    height: auto; }
  .column-img-wrap {
    overflow: inherit; }
  .column-img-wrap .inline-facts-container {
    padding: 0; }
  .inline-facts-wrap {
    padding: 50px 0;
    height: auto; }
  .sec_fw_wrap {
    padding: 0 0 80px 0; }
  .column-wrap-container,
  .serv-carousel_wrap,
  .testimonilas-wrap {
    padding: 0; }
  .serv-carousel_title,
  .testi-column_title {
    padding: 50px 0 20px; }
  .serv-carousel_title_wrap {
    left: 0;
    bottom: 0;
    right: 0;
    padding: 50px 30px 20px 30px;
    border: none; }
  .services-modal-wrap {
    top: 80px;
    right: 0;
    width: 100%; }
  .serv-m_vis,
  .pdv {
    right: 0; }
  .serv-carousel_title_wrap.tct_it {
    bottom: 0; }
  .testilider_holder {
    width: 100%;
    padding: 0; }
  .ss-slider-btn {
    position: absolute;
    top: 50%;
    margin: -25px 0 0 0;
    z-index: 50; }
  .ss-slider-prev {
    left: 0; }
  .ss-slider-next {
    right: 0; }
  .tc-pagination {
    float: none;
    display: inline-block;
    top: 2px; }
  .testimonilas-wrap:before .testimonilas-wrap:before {
    width: 100%;
    height: 80px; }
  .testimonilas-wrap-container {
    padding: 20px 0 100px; }
  .testilider .swiper-slide {
    padding: 0 10px; }
  .map-column,
  .main_social {
    float: left;
    position: relative;
    top: 0;
    width: 100%;
    bottom: 0;
    right: 0;
    height: 300px; }
  .main_social {
    padding: 50px 40px 140px;
    height: auto; }
  .contact-form-wrap,
  .contact-form-overlay,
  .filter-overlay,
  .filter-wrap {
    left: 0;
    right: 0; }
  .big-column_wrap,
  .aside_img_wrap {
    padding: 0;
    width: 100%; }
  .aside_img_wrap + .big-column_wrap,
  .wp-block-cth-folios-grid .big-column_wrap {
    width: 100%;
    padding-left: 0; }
  .blog-btn-filter + .blog-btn-filter {
    margin-left: 34px; }
  .aside_img_wrap {
    height: 350px; }
  .horizontal-grid-wrap,
  .fsc-holder {
    right: 0; }
  .fs-grid-wrap {
    padding: 0;
    right: 0; }
  .fsc-holder {
    height: auto;
    position: relative;
    float: left;
    top: 0;
    left: 0;
    padding: 0;
    overflow: auto;
    width: 100%; }
  .fw-carousel .swiper-slide img,
  .fw-carousel .swiper-slide {
    width: 100% !important;
    height: auto !important;
    display: block;
    overflow: hidden; }
  .fw-carousel .swiper-wrapper {
    height: inherit !important;
    display: block; }
  .fw-carousel .swiper-container,
  .fw-carousel,
  .fw-carousel-wrap,
  .no-mob-hidden {
    height: auto !important; }
  .fw-carousel .swiper-container,
  .project-details_inner,
  .project-details_wrap {
    position: relative; }
  .show-info.show-info_act span {
    display: block; }
  .project-details_inner {
    right: 0;
    left: 0;
    bottom: 0;
    top: 0;
    display: block; }
  .project-details_wrap {
    top: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    opacity: 1;
    visibility: visible; }
  .fsc-holder_title,
  .fsc-holder_title_small {
    position: relative;
    float: left;
    width: 100%;
    padding: 60px 30px 40px; }
  .project-details_container {
    padding: 0 50px 140px; }
  .single_video_wrp {
    right: 30px;
    margin-top: 0;
    top: auto;
    bottom: 20px;
    z-index: 100; }
  .video-box-btn {
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: inline-block;
    font-size: 0.95rem; }
  .fw_grid {
    float: left;
    width: 100%;
    padding: 0; }
  .column-details_wrap {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    bottom: 0;
    overflow: auto;
    float: left; }
  .slider-fw_wrap {
    padding: 0;
    overflow: hidden;
    z-index: 1; }
  .big-column_container section {
    padding-top: 40px; }
  .right-dec {
    display: none; }
  .video-box_wrap {
    text-align: center; }
  .copy-right {
    padding-left: 0; }
  .copy-right:after {
    display: none; }
  .main-footer:after {
    display: block; } }

@media only screen and (max-width: 768px) {
  .main-header,
  .main-footer {
    padding: 0 20px; }
  .hero_promo-wrap {
    width: 106px; }
  .hero_promo-button {
    height: 86px;
    width: 106px; }
  .hero-facts-wrap,
  .hero_promo-title,
  .hero_promo-button .bg,
  .hero_promo-button .overlay,
  .section-title_num {
    display: none; }
  .video-single-wrapper .fs-slider_align_title,
  .hero-carousel-wrap .fs-slider_align_title {
    margin-left: 30px; }
  .error-wrap h2 {
    font-size: 94px;
    line-height: 105px; }
  .contact-details ul li
, .blog-search-wrap, .cats-tags-filter {
    width: 100%; }
  .sform-form.topsearch-form {
    width: 100%;
    left: 0;
    padding: 10px 0 20px 30px;
    margin-bottom: 20px; }
    .sform-form.topsearch-form input {
      width: calc(100% - 80px); }
  .blog-btn-filter {
    width: 50%;
    padding-left: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1); }
    .blog-btn-filter + .blog-btn-filter {
      margin-left: 0; }
  .horizontal-grid-wrap {
    overflow: inherit !important;
    padding: 80px 0 0; }
  #portfolio_horizontal_container,
  .horizontal-grid-wrap {
    float: left;
    width: 100%;
    position: relative; }
  #portfolio_horizontal_container .portfolio_item,
  #portfolio_horizontal_container .portfolio_item .grid-item-holder,
  #portfolio_horizontal_container .portfolio_item .grid-item-holder img {
    width: 100%;
    height: auto !important; }
  #portfolio_horizontal_container .portfolio_item:last-child .grid-item-holder {
    margin-bottom: 80px; }
  .filter-btn {
    top: 80px;
    right: 0;
    width: 100%;
    height: 80px;
    margin-top: 0; }
  .filter-btn_container {
    top: 18px;
    position: relative;
    width: auto;
    height: 44px;
    line-height: 44px;
    float: none;
    display: inline-block; }
  .filt-title {
    position: relative;
    top: 15px;
    line-height: 44px;
    left: 0;
    transform: translateX(0);
    margin: 0 0 0 20px;
    opacity: 1;
    visibility: visible; }
  .gallery-filters a {
    margin: 20px 30px; }
  .filter-container {
    top: 40%; }
  .gallery-item,
  .grid-sizer {
    width: 50%; }
  .fs-grid-wrap {
    padding: 80px 0; }
  .asi_filtr {
    margin-top: 80px; }
  .team-info {
    padding-left: 0; } }

@media only screen and (max-width: 640px) {
  .fs-slider_align_title h2 {
    font-size: 40px;
    line-height: 48px; }
  .fs-slider_align_title {
    padding: 50px 30px; }
  .main-footer:after {
    right: 0;
    margin-right: 0; }
  .copy-right {
    letter-spacing: 2px; }
  .two-column .gallery-item,
  .gallery-item,
  .grid-sizer {
    width: 100%; }
  .big-pad .gallery-item {
    padding: 8px 0; }
  .pagination {
    margin: 20px 0 70px 0; }
  .pr-list {
    padding: 20px 20px 15px; }
  .pr-list:before,
  .pr-list:after,
  .pr-list_dec {
    display: none; }
  .fw_grid .gallery-item,
  .gallery-item,
  .grid-sizer {
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .bg {
    background-attachment: scroll !important;
    -webkit-background-size: cover;
    background-position: center; } }

.admin-bar .main-header {
  top: 32px; }

.admin-bar .has-sticky + #wrapper {
  padding-top: 102px; }

.admin-bar .has-topbar.has-sticky + #wrapper {
  padding-top: 172px; }

@media screen and (max-width: 1024px) {
  .folio-full-padding {
    padding: 0 10px 80px 10px; } }

@media screen and (max-width: 782px) {
  .admin-bar .main-header {
    top: 46px;
    bottom: auto; }
  .admin-bar .has-sticky + #wrapper {
    padding-top: 116px; }
  .admin-bar .has-topbar.has-sticky + #wrapper {
    padding-top: 186px; } }

@media screen and (max-width: 600px) {
  .admin-bar .main-header {
    position: relative;
    top: 0;
    bottom: auto; }
  .admin-bar.adbar-scroll .main-header {
    top: 0; }
  .admin-bar .has-sticky + #wrapper {
    padding-top: 106px; }
  .admin-bar .has-topbar.has-sticky + #wrapper {
    padding-top: 166px; } }

.share-icon:before {
  font-family: "Font Awesome 5 Brands"; }

.share-icon-digg:before {
  content: "\f1a6"; }

.share-icon-email:before {
  content: "\f003"; }

.share-icon-flickr:before {
  content: "\f16e"; }

.share-icon-foursquare:before {
  content: "\f180"; }

.share-icon-rss:before {
  content: "\f09e"; }

.share-icon-facebook:before {
  content: "\f39e"; }

.share-icon-twitter:before {
  content: "\f099"; }

.share-icon-tumblr:before {
  content: "\f173"; }

.share-icon-linkedin:before {
  content: "\f0e1"; }

.share-icon-vimeo:before {
  content: "\f27d"; }

.share-icon-instagram:before {
  content: "\f16d"; }

.share-icon-pinterest:before {
  content: "\f231"; }

.share-icon-googleplus:before {
  content: "\f0d5"; }

.share-icon-in1:before {
  content: "\f08c"; }

.share-icon-stumbleupon:before {
  content: "\f1a4"; }

.share-icon-vk:before {
  content: "\f189"; }

.share-icon-okru:before {
  content: "\f263"; }

.share-icon-whatsapp:before {
  content: "\f232"; }

.share-icon-telegram:before {
  content: "\f2c6"; }

.share-icon-reddit:before {
  content: "\f1a1"; }
