::-webkit-scrollbar {
   width: 9px;
   height: 9px;
}

::-webkit-scrollbar-button {
   width: 0;
   height: 0;
}

::-webkit-scrollbar-thumb {
   background: #959595;
   border: 100px #fff;
   border-radius: 100px;
}

::-webkit-scrollbar-thumb:hover {
   background: #fff;
}

::-webkit-scrollbar-thumb:active {
   background: #fff;
}

::-webkit-scrollbar-track {
   background: #000;
   border: 100px #fff;
   border-radius: 100px;
}

::-webkit-scrollbar-track:hover {
   background: #000;
}

::-webkit-scrollbar-track:active {
   background: #000;
}

::-webkit-scrollbar-corner {
   background: 0 0;
}

* {
   box-sizing: border-box;
   -webkit-tap-highlight-color: transparent !important;
}

html {
   padding: 0;
   margin: 0;
}

body {
   padding: 0;
   margin: 0;
   position: relative;
   background-color: #0a0a0a;
   line-height: 1.7;
   font-size: 19px;
   cursor: none;
   font-weight: 400;
   -webkit-font-smoothing: antialiased;
   color: #fff;
   overflow-x: hidden;
}

p {
   margin: 0 0 30px;
}

a {
   color: currentColor;
   text-decoration: none;
   outline: 0;
   cursor: none;
}

a:focus,
a:hover {
   color: currentColor;
}

img {
   max-width: 100%;
   height: auto;
}

button:focus {
   outline: 0;
}

.small,
small {
   font-size: 80%;
}

.no-gpu {
   cursor: auto !important;
}

.cursor-pointer {
   cursor: pointer !important;
}

.anim-image-parallax {
   transform: scale(1.2);
   transform-origin: 50% 100%;
}

::selection {
   color: #fff;
   text-shadow: none;
   background: 0 0;
}

::-moz-selection {
   color: #fff;
   text-shadow: none;
   background: 0 0;
}

::-webkit-selection {
   color: #fff;
   text-shadow: none;
   background: 0 0;
}

.tt-no-scroll {
   overflow-y: hidden !important;
}

#ball,
#blog-list.bli-compact .bli-info::before,
.blog-interactive-item::before,
.footer-social,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.made-with-love,
.ph-caption-subtitle,
.ph-caption-title-ghost,
.ph-share-ghost,
.pli-counter,
.portfolio-interactive-item,
.project-info-list,
.scroll-down-circle,
.social-buttons,
.tt-btn,
.tt-cc-pagination,
.tt-copyright,
.tt-heading,
.tt-m-menu-toggle-btn-text,
.tt-main-menu,
.tt-ol-menu-list,
.tt-ol-menu-toggle-btn-text,
.tt-pagination,
.tt-pc-navigation,
.tt-pn-link,
.tt-pn-subtitle,
.tt-ps-nav-pagination,
.tt-scrolling-text,
.tt-search-ghost,
.ttgr-cat-list,
.ttgr-cat-trigger-wrap,
body,
h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: Poppins, sans-serif;
}

#page-transition {
   display: none;
}

body.tt-transition #page-transition {
   position: relative;
   display: block;
   z-index: 99999;
}

body.tt-transition .ptr-overlay {
   position: fixed;
   display: block;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background-color: #111;
   z-index: 1;
}

body.tt-transition .ptr-preloader {
   position: fixed;
   top: 50%;
   left: 50%;
   z-index: 2;
   transform: translate(-50%, -50%);
}

body.tt-transition .ptr-prel-content {
   margin-top: 10px;
   text-align: center;
   text-transform: uppercase;
   line-height: 1.2;
   font-size: 1.8rem;
   font-weight: 700;
   color: #fff;
}

body.tt-boxed .tt-wrap {
   max-width: 1282px;
   margin-left: auto;
   margin-right: auto;
   padding-left: 15px;
   padding-right: 15px;
}

#body-inner {
   position: relative;
   overflow: hidden;
   height: 100%;
   min-height: 100vh;
}

#content-wrap {
   position: relative;
   overflow: hidden;
}

.tt-custom-scrollbar,
.tt-sidebar,
.tt-sliding-sidebar-inner {
   scrollbar-width: thin;
   scrollbar-color: #555 #2a2a2a;
}

.tt-custom-scrollbar::-webkit-scrollbar,
.tt-sidebar::-webkit-scrollbar,
.tt-sliding-sidebar-inner::-webkit-scrollbar {
   width: 8px;
   height: 8px;
}

.tt-custom-scrollbar::-webkit-scrollbar-track,
.tt-sidebar::-webkit-scrollbar-track,
.tt-sliding-sidebar-inner::-webkit-scrollbar-track,
select::-webkit-scrollbar-track {
   background: #2a2a2a;
}

.tt-custom-scrollbar::-webkit-scrollbar-thumb,
.tt-sidebar::-webkit-scrollbar-thumb,
.tt-sliding-sidebar-inner::-webkit-scrollbar-thumb {
   background-color: #555;
   border-radius: 50px;
}

body:not(.is-mobile).tt-smooth-scroll {
   overflow: hidden;
}

body:not(.is-mobile).tt-smooth-scroll #scroll-container {
   width: auto;
   height: 100vh;
   overflow: auto;
   margin: 0;
}

.scrollbar-track {
   background: 0 0 !important;
   z-index: 99999 !important;
}

.scrollbar-thumb {
   background: #ddd !important;
   opacity: 0.25;
   transition: opacity 0.2s ease-in-out;
}

.scrollbar-track:hover .scrollbar-thumb {
   opacity: 0.5;
}

#magic-cursor {
   position: absolute;
   display: none;
   width: 10px;
   height: 10px;
   pointer-events: none;
   z-index: 99999;
   opacity: 0;
}

body.tt-magic-cursor #magic-cursor {
   display: block;
}

#ball {
   position: fixed;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #fff;
   pointer-events: none;
   border-style: solid;
   border-radius: 50%;
}

#ball .ball-view {
   position: absolute;
   opacity: 0;
   visibility: hidden;
   padding: 0 5px;
   font-size: 14px;
   font-weight: 500;
   color: #222;
   z-index: 3;
   line-height: 1.3;
   text-align: center;
   transform: scale(0);
}

#ball .ball-view i {
   font-size: 19px;
}

#ball .ball-drag {
   position: absolute;
   display: block;
   width: 100%;
   padding: 0 5px;
   font-size: 15px;
   font-weight: 600;
   color: #fff;
   line-height: 1.2;
   text-align: center;
   transition: 0.3s;
}

#ball .ball-drag::after,
#ball .ball-drag::before {
   position: absolute;
   top: 50%;
   margin-top: -5px;
   font-size: 19px;
   color: #fff;
   height: 10px;
   line-height: 10px;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

#ball .ball-drag::before {
   content: "\f104";
   left: 0;
   transform: translate3d(-30px, 0, 0);
   transition: 0.25s;
}

#ball .ball-drag::after {
   content: "\f105";
   right: 0;
   transform: translate3d(30px, 0, 0);
   transition: 0.25s;
}

#ball.ball-close-enabled {
   opacity: 1 !important;
}

#ball .ball-close {
   position: absolute;
   padding: 0 5px;
   font-size: 14px;
   font-weight: 600;
   color: #fff;
   line-height: 1;
   text-align: center;
}

.tt-section {
   position: relative;
   padding: 80px 0;
}

@media (max-width: 991px) {
   .tt-section {
      padding: 6% 0;
   }
}

@media (max-width: 767px) {
   .tt-section {
      padding: 10% 0;
   }
}

@media (max-width: 480px) {
   .tt-section {
      padding: 15% 0;
   }
}

.tt-section-inner {
   position: relative;
   width: 100%;
   margin-left: auto;
   margin-right: auto;
   z-index: 2;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: 500;
   color: inherit;
}

.h1,
.h2,
.h3,
h1,
h2,
h3 {
   line-height: 1.4;
   margin-top: 0;
   margin-bottom: 30px;
}

.h4,
.h5,
.h6,
h4,
h5,
h6 {
   line-height: 1.4;
   margin-top: 10px;
   margin-bottom: 30px;
}

.h1,
h1 {
   font-size: 46px;
}

.h2,
h2 {
   font-size: 42px;
}

.h3,
h3 {
   font-size: 38px;
}

.h6,
h6 {
   font-size: 26px;
}

.tt-heading {
   margin-bottom: 40px;
}

@media (max-width: 991px) {
   .tt-heading {
      margin-bottom: 30px;
   }
}

.tt-heading-title {
   margin: 0;
   font-size: calc(24px + 1vw);
   font-weight: 500;
   color: #fff;
}

.tt-heading-subtitle {
   margin: 0 0 20px;
   font-size: calc(19px + 0.1vw);
   font-weight: 400;
   color: #fff;
}

.tt-heading-title + .tt-heading-subtitle {
   margin: 5px 0 0;
}

.tt-heading.tt-heading-sm .tt-heading-title {
   font-size: calc(24px + 0.5vw);
   font-weight: 600;
}

.tt-heading.tt-heading-sm .tt-heading-subtitle {
   font-size: calc(15px + 0.1vw);
}

.tt-heading.tt-heading-lg .tt-heading-title {
   font-size: calc(28px + 2vw);
   line-height: 1.3;
}

.tt-heading.tt-heading-lg .tt-heading-subtitle {
   font-size: calc(16px + 0.3vw);
   font-weight: 500;
}

#tt-header {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   color: #fff;
   z-index: 999;
   pointer-events: none;
}

#tt-header.tt-header-fixed {
   position: fixed;
}

.tt-header-inner {
   width: 100%;
   display: flex;
   padding: 20px 0;
   align-items: center;
}

@media (max-width: 1024px) {
   .tt-header-inner {
      padding: 10px 0;
   }

   #page-header:not(.project-info-list-on) .page-header-inner {
      padding-top: 250px;
      padding-bottom: 250px;
   }
}

@media (max-width: 1279px) {
   .bg-noise,
   .bg-noise:before {
      display: none;
   }
}

.tt-header-inner:not(.tt-wrap),
body:not(.tt-boxed) .tt-header-inner {
   padding-left: 3.5%;
   padding-right: 3.5%;
}

.tt-header-col {
   display: flex;
   align-items: center;
}

.tt-header-col:first-child {
   margin-right: auto;
}

.tt-logo {
   position: absolute;
   margin-right: auto;
   line-height: 1;
   pointer-events: initial;
   z-index: 9;
}

.tt-logo a {
   display: inline-block;
   font-size: 1rem;
   color: #fff;
}

.tt-logo img {
   max-height: 48px;
}

.tt-header-tools {
   position: relative;
   display: flex;
   pointer-events: initial;
}

.tt-header-tools-dynamic {
   display: flex;
   align-items: center;
}

@media (max-width: 768px) {
   .tt-header-tools-dynamic {
      position: fixed;
      left: 0;
      bottom: 0;
      width: 100%;
      justify-content: space-evenly;
      background-color: rgb(42 42 42 / 96%);
      z-index: 998;
   }
}

@media (min-width: 1200px) {
   .tt-main-menu {
      pointer-events: initial;
   }

   body.tt-header-tools-on .tt-main-menu {
      margin-right: 20px;
   }

   .tt-main-menu-list {
      margin: 0;
      padding: 0;
      list-style: none;
      font-size: 0;
   }

   .tt-main-menu-list > li {
      display: inline-block;
      font-size: inherit;
      padding: 0 20px;
      transition: opacity 0.2s;
   }

   .tt-main-menu-list > li:first-child {
      margin-left: 0;
      padding-left: 0;
   }

   .tt-main-menu-list > li:last-child {
      margin-right: 0;
      padding-right: 0;
   }

   .tt-main-menu-list > li > .tt-submenu-trigger > a,
   .tt-main-menu-list > li > a {
      display: block;
      padding: 20px 5px;
      font-size: 15px;
      font-weight: 500;
      color: #fff;
      transition: color 0.3s, opacity 0.3s;
   }

   .tt-main-menu-list.tt-mm-hover > li > .tt-submenu-trigger > a,
   .tt-main-menu-list.tt-mm-hover > li > a {
      opacity: 0.6;
   }

   .tt-main-menu-list.tt-mm-hover > li.active > .tt-submenu-trigger > a,
   .tt-main-menu-list.tt-mm-hover > li.active > a,
   .tt-main-menu-list.tt-mm-hover > li.tt-submenu-open > .tt-submenu-trigger > a,
   .tt-main-menu-list.tt-mm-hover > li > .tt-submenu-trigger > a:hover,
   .tt-main-menu-list.tt-mm-hover > li > a:hover {
      opacity: 1;
      color: #fff;
   }

   .tt-submenu-wrap {
      position: relative;
   }

   .tt-submenu {
      position: absolute;
      display: block !important;
      top: 100%;
      left: 0;
      width: 200px;
      background-color: #fff;
      text-align: left;
      visibility: hidden;
      opacity: 0;
      z-index: 99999;
      border-radius: 3px;
      transform: translate3d(0, 10px, 0);
      transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
   }

   .tt-submenu-wrap.tt-submenu-open > .tt-submenu {
      visibility: visible;
      opacity: 1;
      transform: translate3d(0, 0, 0);
      transition-delay: 0.1s;
   }

   .tt-main-menu-list > li:last-child > .tt-submenu {
      left: auto;
      right: 0;
   }

   .tt-m-caret {
      display: none;
   }

   .tt-submenu .tt-submenu-wrap > .tt-submenu {
      left: 100%;
      right: auto;
      margin-top: -50px;
      margin-left: 0;
   }

   .tt-submenu-trigger > a::after {
      margin-left: 10px;
      font-size: 12px;
      line-height: 0;
      font-family: "Font Awesome 5 Free";
      content: "\f107";
      font-weight: 900;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
   }

   .tt-submenu-wrap .tt-submenu-wrap .tt-submenu-trigger > a::after {
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translate3d(0, -50%, 0) rotate(-90deg);
   }

   #tt-m-menu-toggle-btn-wrap,
   .tt-submenu-trigger .tt-submenu-trigger-m {
      display: none;
   }
}

@media (max-width: 1199px) {
   .tt-main-menu {
      pointer-events: initial;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: #0a0a0a;
      overflow: hidden;
      visibility: hidden;
      opacity: 0;
   }

   .tt-main-menu-content {
      height: 100%;
      display: table-cell;
      vertical-align: middle;
   }

   .tt-main-menu-list {
      display: inline-block;
      margin: 0;
      padding: 0;
      list-style: none;
   }

   .tt-main-menu-list > li {
      margin-top: 15px;
      margin-bottom: 15px;
   }

   .tt-main-menu-list > li:first-child {
      margin-top: 0;
   }

   .tt-main-menu-list > li:last-child {
      margin-bottom: 0;
   }

   .tt-main-menu-list > li a {
      position: relative;
      display: inline-block;
      font-size: 34px;
      font-weight: 600;
      line-height: 1.2;
      color: #eaeaea;
   }

   @media (max-width: 767px) {
      .tt-main-menu-list > li a {
         font-size: 34px;
      }
   }

   .tt-main-menu-list > li a:hover,
   .tt-main-menu-list > li.active > .tt-submenu-trigger .tt-m-caret,
   .tt-main-menu-list > li.active > .tt-submenu-trigger a,
   .tt-main-menu-list > li.active > a,
   .tt-main-menu-list > li > .tt-submenu-trigger:hover .tt-m-caret,
   .tt-main-menu-list > li > .tt-submenu-trigger:hover a {
      color: #fff;
   }

   .tt-submenu-wrap {
      position: relative;
   }

   .tt-submenu-trigger {
      position: relative;
      display: inline-block;
   }

   .tt-submenu-trigger > a {
      position: relative;
      z-index: 1;
   }

   .tt-submenu-trigger .tt-submenu-trigger-m {
      position: absolute;
      display: block;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 2;
      cursor: pointer;
   }

   .tt-submenu {
      display: none;
      position: relative;
      top: auto;
      left: 0 !important;
      min-width: 100%;
      background-color: transparent;
      margin-top: 15px;
      margin-bottom: 15px;
      color: #a9a9a9;
   }

   .tt-m-caret {
      position: absolute;
      top: 55%;
      right: -42px;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      color: #eaeaea;
      cursor: pointer;
      z-index: 9;
      border-radius: 100%;
      transform: translate3d(0, -50%, 0);
   }

   .tt-m-caret::after {
      font-family: "Font Awesome 5 Free";
      content: "\f107";
      font-weight: 900;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      transition: 0.2s ease-in-out;
   }

   .tt-submenu-trigger.tt-m-submenu-open .tt-m-caret::after {
      transform: rotate(180deg);
   }

   #tt-m-menu-toggle-btn-wrap {
      position: relative;
      display: flex;
      align-items: center;
      pointer-events: initial;
      cursor: pointer;
      z-index: 9;
   }

   body.tt-m-menu-toggle-no-click #tt-m-menu-toggle-btn-wrap {
      pointer-events: none;
   }
}

.tt-overlay-menu {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   backdrop-filter: blur(30px);
   background-color: rgba(10, 10, 10, 0.8);
   visibility: hidden;
   opacity: 0;
   pointer-events: initial;
}

.tt-ol-menu-holder {
   position: relative;
   height: 100%;
   width: calc(100% + 17px);
   padding-right: 17px;
   overflow-y: scroll;
   z-index: 2;
}

.tt-ol-menu-inner {
   display: table;
   width: 100%;
   height: 100%;
   padding-left: 0;
   padding-right: 0;
}

.tt-ol-menu-content {
   display: table-cell;
   vertical-align: middle;
   height: 100%;
   padding: 120px 5%;
}

@media (max-width: 767px) {
   .tt-ol-menu-content {
      padding: 25% 15px 35%;
   }
}

body.tt-ol-menu-open {
   overflow-y: hidden !important;
}

body.tt-smooth-scroll.tt-ol-menu-open .scrollbar-track {
   display: none !important;
}

.tt-ol-menu-list {
   display: inline-block;
   margin: 0;
   padding: 0;
   list-style: none;
}

.tt-ol-menu-list > li {
   position: relative;
   margin-top: 20px;
   margin-bottom: 20px;
}

.tt-ol-menu-list > li:first-child {
   margin-top: 0;
}

.tt-ol-menu-list > li:last-child {
   margin-bottom: 0;
}

@media (min-width: 992px) {
   .tt-overlay-menu.tt-ol-menu-count .tt-ol-menu-list {
      counter-reset: ol-menu-list-counter;
   }

   .tt-overlay-menu.tt-ol-menu-count .tt-ol-menu-list > li > .tt-ol-submenu-trigger > a::before,
   .tt-overlay-menu.tt-ol-menu-count .tt-ol-menu-list > li > a::before {
      position: absolute;
      counter-increment: ol-menu-list-counter;
      content: "" counter(ol-menu-list-counter, decimal-leading-zero);
      top: 5px;
      left: -30px;
      line-height: 1;
      font-size: 14px;
      font-weight: 400;
      color: #fff;
      opacity: 0.4;
   }
}

.tt-ol-menu-list > li > .tt-ol-submenu-trigger > a,
.tt-ol-menu-list > li > a {
   position: relative;
   display: inline-block;
   font-size: clamp(34px, 3.2vw, 62px);
   font-weight: 600;
   line-height: 1.2;
   color: #eaeaea;
   transition: opacity 0.3s ease-in-out;
}

body:not(.is-mobile) .tt-ol-menu-list.tt-ol-menu-hover > li > .tt-ol-submenu-trigger .tt-ol-submenu-caret,
body:not(.is-mobile) .tt-ol-menu-list.tt-ol-menu-hover > li > .tt-ol-submenu-trigger > a,
body:not(.is-mobile) .tt-ol-menu-list.tt-ol-menu-hover > li > a {
   opacity: 0.5;
}

body:not(.is-mobile) .tt-ol-menu-list > li.active > .tt-ol-submenu-trigger .tt-ol-submenu-caret,
body:not(.is-mobile) .tt-ol-menu-list > li.active > .tt-ol-submenu-trigger > a,
body:not(.is-mobile) .tt-ol-menu-list > li.active > a,
body:not(.is-mobile) .tt-ol-menu-list > li > .tt-ol-submenu-trigger.tt-ol-submenu-open .tt-ol-submenu-caret,
body:not(.is-mobile) .tt-ol-menu-list > li > .tt-ol-submenu-trigger.tt-ol-submenu-open > a,
body:not(.is-mobile) .tt-ol-menu-list > li > .tt-ol-submenu-trigger:hover .tt-ol-submenu-caret,
body:not(.is-mobile) .tt-ol-menu-list > li > .tt-ol-submenu-trigger:hover > a,
body:not(.is-mobile) .tt-ol-menu-list > li > a:hover {
   opacity: 1;
}

.tt-ol-submenu-trigger {
   position: relative;
   display: inline-block;
}

.tt-ol-submenu {
   display: none;
   position: relative;
   height: auto;
   margin-left: 20px;
   color: #8a8a8a;
}

.tt-ol-menu-list > li > .tt-ol-submenu {
   margin-top: 20px;
   margin-bottom: 20px;
}

.tt-ol-submenu-caret-wrap {
   position: absolute;
   top: 60%;
   right: -40px;
   transform: translate3d(0, -50%, 0);
}

@media (max-width: 767px) {
   .tt-ol-menu-list > li {
      margin-top: 15px;
      margin-bottom: 15px;
   }

   .tt-ol-submenu-caret-wrap {
      right: -40px;
   }
}

.tt-ol-menu-list > li li .tt-ol-submenu-caret-wrap {
   top: 50%;
   right: -40px;
}

#tt-ol-menu-toggle-btn-wrap {
   position: relative;
   display: flex;
   align-items: center;
   pointer-events: initial;
   cursor: none;
   z-index: 9;
}

.tt-ol-menu-toggle-btn-holder {
   float: left;
}

.tt-ol-menu-toggle-btn {
   position: relative;
   display: block;
   width: 50px;
   height: 50px;
}

.tt-ol-menu-toggle-btn span {
   position: absolute;
   display: block;
   top: 54%;
   left: 50%;
   height: 2px;
   width: 24px;
   background-color: transparent;
   transform: translate(-50%, -50%);
   transition: 0.3s ease-in-out;
}

.tt-ol-menu-toggle-btn span::after,
.tt-ol-menu-toggle-btn span::before {
   position: absolute;
   display: block;
   content: "";
   height: 2px;
   background-color: #fff;
   transition: 0.3s ease-in-out;
}

.tt-ol-menu-toggle-btn span::before {
   top: -4px;
   width: 24px;
}

.tt-ol-menu-toggle-btn span::after {
   top: auto;
   bottom: -4px;
   width: 18px;
}

.tt-ol-menu-toggle-btn-text {
   float: left;
   padding-right: 5px;
   overflow: hidden;
   text-align: right;
   font-size: 1rem;
   color: #fff;
}

@media (max-width: 320px) {
   .tt-ol-menu-toggle-btn-text {
      display: none;
   }
}

.tt-ol-menu-toggle-btn-text .text-menu {
   position: relative;
   display: inline-block;
   text-align: right;
   transition: transform 0.3s;
}

body.tt-ol-menu-open .tt-ol-menu-toggle-btn-text .text-menu {
   display: none;
}

body:not(.is-mobile) .tt-ol-menu-toggle-btn-text .text-menu::before {
   position: absolute;
   top: 100%;
   right: 0;
   content: attr(data-hover);
}

body:not(.is-mobile) #tt-ol-menu-toggle-btn-wrap:hover .tt-ol-menu-toggle-btn-text .text-menu {
   transform: translate3d(0, -100%, 0);
}

body.tt-ol-menu-open .tt-ol-menu-toggle-btn span {
   width: 20px;
   background-color: transparent;
}

body.tt-ol-menu-open .tt-ol-menu-toggle-btn span::before {
   top: 0;
   width: 20px;
   transform: rotate(45deg);
}

body.tt-ol-menu-open .tt-ol-menu-toggle-btn span::after {
   bottom: 0;
   width: 20px;
   transform: rotate(-45deg);
}

.tt-ol-menu-toggle-btn-text .text-close {
   display: none;
}

body.tt-ol-menu-open .tt-ol-menu-toggle-btn-text .text-close {
   display: block;
}

body.olm-toggle-no-click .tt-ol-menu-toggle-btn,
body.olm-toggle-no-click .tt-ol-menu-toggle-btn-text {
   pointer-events: none;
}

.tt-overlay-menu.tt-ol-menu-center .tt-ol-menu-content {
   text-align: center;
}

.tt-overlay-menu.tt-ol-menu-center .tt-ol-submenu {
   margin-left: 0;
}

.tt-search-trigger {
   pointer-events: initial;
   cursor: pointer;
}

.tt-search {
   position: fixed;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   background-color: #0a0a0a;
   visibility: hidden;
   opacity: 0;
   z-index: 99998;
}

.tt-search-close {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: 2;
}

.tt-search-close-btn {
   position: absolute;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 30px;
   right: 40px;
   width: 40px;
   height: 40px;
   background-color: #333;
   font-size: 16px;
   cursor: pointer;
   border-radius: 50px;
   z-index: 3;
   transition: transform 0.3s;
}

.tt-search-close-btn:hover {
   transform: rotate(90deg);
}

body.tt-search-open {
   overflow-y: hidden !important;
}

body.tt-search-open .scrollbar-track {
   display: none !important;
}

#page-header {
   position: relative;
   z-index: 1;
}
.w-100 {
   width: 100%;
}
.h-100 {
   height: 100%;
}
.text-center {
   text-align: center;
}
.mb-4 {
   margin-bottom: 1rem;
}
.object-cover {
   object-fit: cover;
}
.py-5 {
   padding-top: 5rem;
   padding-bottom: 5rem;
}
.page-header-inner,
body.ph-image-on.ph-bg-image-on #page-header:not(.project-info-list-on) .page-header-inner {
   width: 100%;
   padding-top: 13vw;
   padding-bottom: 7vw;
   z-index: 2;
}

body.ph-image-on #page-header:not(.project-info-list-on) .page-header-inner {
   padding-top: 16vw;
   padding-bottom: 13vw;
}

@media (max-width: 1920px) {
   .page-header-inner {
      padding-top: 250px;
      padding-bottom: 140px;
   }

   body.ph-image-on #page-header:not(.project-info-list-on) .page-header-inner {
      padding-top: 300px;
      padding-bottom: 260px;
   }

   body.ph-image-on.ph-bg-image-on #page-header:not(.project-info-list-on) .page-header-inner,
   body:not(.ph-image-on) #page-header .page-header-inner {
      padding-top: 180px;
      padding-bottom: 180px;
   }
}

@media (max-width: 1400px) {
   body.tt-boxed .page-header-inner.tt-wrap {
      padding-left: 8%;
      padding-right: 8%;
   }
}

@media (max-width: 768px) {
   .page-header-inner,
   body.ph-image-on.ph-bg-image-on #page-header:not(.project-info-list-on) .page-header-inner,
   body:not(.ph-image-on) #page-header .page-header-inner {
      padding-top: 45vw;
      padding-bottom: 60vw;
   }

   body.tt-boxed .page-header-inner.tt-wrap {
      padding-left: 15%;
      padding-right: 15%;
   }

   #page-header:not(.ph-center) .project-info-list > ul > li {
      display: block;
      width: 100%;
      max-width: 100%;
      padding: 0;
      margin: 15px 0 25px;
   }
}

.ph-image {
   position: absolute;
   top: 160px;
   right: 18vw;
   z-index: 2;
   line-height: 0;
   width: 100%;
}

@media (max-width: 1920px) {
   .ph-image {
      width: 100%;
   }

   #page-header.ph-full:not(.ph-center):not(.ph-bg-image) .ph-image {
      width: 480px;
   }
}

@media (max-width: 1600px) {
   #page-header.ph-full:not(.ph-center):not(.ph-bg-image) .ph-image {
      width: 50%;
   }
}

@media (max-width: 1024px) {
   #page-header.ph-full:not(.ph-center):not(.ph-bg-image) .ph-image,
   .ph-image {
      right: 10vw;
   }
}

@media (max-width: 540px) {
   body.ph-image-on #page-header:not(.project-info-list-on) .contact-fix {
      padding-top: 75vw !important;
   }

   body.ph-image-on #page-header:not(.project-info-list-on) .page-header-inner {
      padding-top: 55vw;
      padding-bottom: 45vw;
   }
}

.ph-image-inner {
   position: relative;
   width: 100%;
}

#page-header:not(.ph-image-cropped) .ph-video-wrap {
   position: relative;
   padding-bottom: 140%;
}

.ph-video {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

#page-header.ph-bg-image .ph-video-wrap {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   padding-bottom: 0;
}

[class*="ph-image-cover-"] .ph-image-inner::before {
   position: absolute;
   display: block;
   content: "";
   top: -1px;
   left: -1px;
   bottom: -1px;
   right: -1px;
   background-color: #040404;
   z-index: 1;
   opacity: 0;
}

.ph-image-cover-1 .ph-image-inner::before {
   opacity: 0.1;
}

.ph-image-cover-2 .ph-image-inner::before {
   opacity: 0.2;
}

.ph-image-cover-3 .ph-image-inner::before {
   opacity: 0.3;
}

.ph-image-cover-5 .ph-image-inner::before {
   opacity: 0.5;
}

#page-header:not(.ph-bg-image).ph-image-cropped .ph-image-inner {
   position: relative;
   padding-bottom: 130%;
}

#page-header:not(.ph-bg-image).ph-image-cropped .ph-image-inner img {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

#page-header.ph-bg-image .ph-image {
   position: absolute;
   top: 0;
   right: 0;
   width: 100%;
   height: 100%;
   max-width: 100%;
   margin: 0;
   z-index: -1;
   transform: none;
   overflow: hidden;
}

#page-header.ph-bg-image.ph-image-shadow:after {
   position: absolute;
   content: "";
   bottom: -1px;
   left: 0;
   width: 100%;
   height: 35vh;
   z-index: 3;
   pointer-events: none;
   background: #0d0d0d;
   background: -moz-linear-gradient(0deg, #0d0d0d 0, rgba(13, 13, 13, 0) 100%);
   background: -webkit-linear-gradient(0deg, #0d0d0d 0, rgba(13, 13, 13, 0) 100%);
   background: linear-gradient(0deg, #0d0d0d 0, rgba(13, 13, 13, 0) 100%);
}

#page-header.ph-bg-image .ph-image-inner {
   width: 100%;
   height: 100%;
}

#page-header.ph-bg-image .ph-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

.ph-caption {
   position: relative;
}

.ph-caption-title {
   position: relative;
   margin: 0;
   font-size: clamp(40px, 5vw, 94px);
   font-weight: 500;
   color: #fff;
   line-height: 1.3;
   z-index: 9;
}

.ph-caption-title-ghost {
   position: absolute;
   display: flex;
   align-items: center;
   top: 0;
   bottom: 0;
   left: -6%;
   padding-top: 8%;
   font-size: calc(16px + 9vw);
   font-weight: 600;
   color: #fff;
   white-space: nowrap;
   line-height: 1;
   opacity: 0.04;
   z-index: 1;
}

.ph-caption-subtitle {
   position: relative;
   margin-top: 10px;
   font-size: calc(15px + 0.5vw);
   font-weight: 600;
   color: #e4e4e4;
   z-index: 9;
}

#page-header:not(.ph-center):not(.ph-bg-image) .ph-caption-subtitle {
   color: #a7a7a7;
}

.ph-categories {
   position: relative;
   margin-bottom: 15px;
   z-index: 9;
}

.ph-category {
   position: relative;
   display: inline-block;
   font-size: calc(15px + 0.1vw);
   color: #fff;
   line-height: 1.4;
}

.project-info-list {
   position: relative;
   z-index: 9;
}

#page-header .project-info-list {
   margin-top: 20px;
}

.project-info-list > ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

.project-info-list > ul > li {
   position: relative;
   display: inline-block;
   max-width: 320px;
   vertical-align: top;
   padding: 0 30px 0 0;
   margin: 15px 25px 15px 0;
}

.project-info-list > ul > li:last-child {
   padding-right: 0;
   margin-right: 0;
}

.project-info-list > ul > li::after {
   position: absolute;
   display: block;
   content: "";
   top: 24px;
   right: 0;
   width: 1px;
   height: 60px;
   margin-top: -18px;
   background-color: rgb(255 255 255 / 40%);
}

.project-info-list > ul > li:last-child::after {
   display: none;
}

.project-info-list .pi-list-heading {
   margin-bottom: 5px;
   font-size: calc(17px + 0.1vw);
   font-weight: 400;
   opacity: 0.7;
}

.project-info-list .pi-list-cont {
   font-size: calc(17px + 0.1vw);
}

.project-info-list .pi-list-cont a {
   word-wrap: break-word;
   color: #fff;
   font-size: calc(17px + 0.1vw);
}

.project-info-list .pi-list-cont a:hover {
   opacity: 0.8;
}

.project-info-list .social-buttons {
   display: inline-block;
   margin-top: -5px;
   margin-left: -10px;
}

.project-info-list .social-buttons > ul > li {
   margin-right: 15px;
}

.project-info-list .social-buttons > ul > li a {
   width: 45px;
   height: 45px;
   font-size: 15px;
}

.project-info-list .pi-list-icon {
   position: relative;
   display: inline-block;
   bottom: 2px;
   margin-left: 10px;
   font-size: 13px;
   transform: rotate(-45deg);
}

.scroll-down-circle {
   position: absolute;
   margin-left: auto;
   margin-right: auto;
   left: 0;
   right: 0;
   text-align: center;
   display: block;
   bottom: -25px;
   width: 250px;
   height: 250px;
   z-index: 9;
}

#page-header:not(.ph-full) .scroll-down-circle {
   display: none;
}

.scroll-down-circle .sdc-icon {
   position: absolute;
   display: block;
   left: 45%;
   top: 45%;
   font-size: 25px;
   color: #999;
   transform: translate(-50%, -50%);
   -webkit-animation: 10s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both shake-vertical;
   animation: 10s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both shake-vertical;
}

#page-header.ph-bg-image .scroll-down-circle .sdc-icon {
   color: #fff;
}

.scroll-down-circle svg {
   width: 100%;
   animation: 8s linear infinite sdc-rotation;
}

@keyframes sdc-rotation {
   0% {
      transform: rotate(0);
   }

   100% {
      transform: rotate(-360deg);
   }
}

.made-with-love {
   position: absolute;
   display: none;
   right: 3.5%;
   bottom: 50px;
   font-size: 14px;
   color: #fff;
   opacity: 0.5;
   z-index: 9;
}

#page-header.ph-bg-image .made-with-love,
#page-header.ph-full .made-with-love {
   display: block;
}

@media (max-width: 1024px) {
   .made-with-love,
   .scroll-down-circle {
      display: none;
   }
}

.mwl-inner {
   display: flex;
   align-items: center;
   transform: rotate(-90deg);
   transform-origin: 50% -70%;
}

@keyframes animateHeart {
   0%,
   10%,
   100%,
   50% {
      transform: scale(1);
   }

   5% {
      transform: scale(1.1);
   }

   15% {
      transform: scale(1.2);
   }
}

.ph-share {
   position: absolute;
   display: inline-block;
   bottom: 5%;
   right: 3.5%;
   z-index: 9;
}

.ph-share-trigger {
   display: flex;
   align-items: center;
   justify-content: center;
}

.ph-share-text {
   display: inline-block;
   font-size: 14px;
   color: #fff;
}

.ph-share-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 40px;
   height: 40px;
   font-size: 17px;
   color: #fff;
   cursor: pointer;
   border-radius: 50px;
}

@media (min-width: 769px) {
   body.made-with-love-on .ph-share {
      bottom: 170px;
   }

   .ph-share-text {
      margin-right: 20px;
      opacity: 0;
      visibility: hidden;
      transition: 0.3s ease-in-out;
      transform: translate3d(10px, 0, 0);
   }

   .ph-share.active .ph-share-text {
      opacity: 1;
      visibility: visible;
      transform: translate3d(0, 0, 0);
      transition-delay: 0.2s;
   }

   .ph-share-icon {
      opacity: 0.5;
      transition: opacity 0.3s ease-in-out;
   }

   .ph-share.active .ph-share-icon {
      opacity: 1;
   }
}

@media (max-width: 768px) {
   #page-header:not(.ph-center) .project-info-list > ul > li::after {
      display: none;
   }

   .ph-share {
      position: fixed;
      display: flex;
      justify-content: space-evenly;
      align-items: center;
      bottom: 0;
      right: 0;
      width: 100%;
      background-color: rgb(42 42 42 / 96%);
      padding: 0 10px;
   }

   .ph-share-text {
      display: none;
   }
}

.ph-share-content {
   position: fixed;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   backdrop-filter: blur(40px);
   height: 100%;
   background-color: rgb(10 10 10 / 80%);
   visibility: hidden;
   opacity: 0;
   z-index: 99998;
}

.ph-share-close {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: 2;
}

.ph-share-ghost {
   position: absolute;
   top: 0;
   bottom: -3.5%;
   display: flex;
   align-items: flex-end;
   font-size: calc(28px + 34vw);
   font-weight: 600;
   color: #fff;
   white-space: nowrap;
   line-height: 1;
   z-index: 1;
   opacity: 0.03;
}

.ph-share-inner {
   position: relative;
   max-width: 1200px;
   padding: 5%;
   text-align: center;
   z-index: 3;
}

.ph-share-title {
   margin-bottom: 15px;
   font-size: clamp(32px, 4vw, 62px);
   font-weight: 600;
}

.ph-share-subtitle {
   font-size: 19px;
   font-weight: 300;
   color: #c1c1c1;
}

.ph-share-content .social-buttons {
   margin-top: 40px;
}

@media (max-width: 1024px) {
   .ph-share-inner {
      padding: 15% 5%;
   }

   .ph-share-content .social-buttons {
      margin-top: 20px;
   }
}

.ph-share-content .social-buttons > ul > li a {
   font-size: 19px;
}

.ph-share-close-btn {
   position: absolute;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 30px;
   right: 40px;
   width: 40px;
   height: 40px;
   background-color: #333;
   font-size: 16px;
   cursor: pointer;
   border-radius: 50px;
   z-index: 3;
   transition: transform 0.3s;
}

.ph-share-close-btn:hover {
   transform: rotate(90deg);
}

body.ph-share-open {
   overflow-y: hidden !important;
}

body.ph-share-open .scrollbar-track {
   display: none !important;
}

#page-header.ph-cap-sm .ph-caption-title {
   font-size: clamp(40px, 4vw, 68px);
}
#page-header.ph-cap-sm .ph-caption-title-ghost {
   padding-top: 3%;
   font-size: calc(16px + 8vw);
}

#page-header.ph-cap-xxlg .ph-caption-title {
   font-size: clamp(48px, 10vw, 180px);
}

#page-header.ph-cap-xxlg .ph-caption-title-ghost {
   padding-top: 5%;
   font-size: calc(16px + 13vw);
}
.ph-cap-sm.ph-caption-title {
   font-size: clamp(40px, 4vw, 68px) !important;
}
.ph-cap-sm.ph-caption-subtitle {
   font-size: calc(15px + 0.25vw);
   margin-top: 0;
}
#page-header.ph-center {
   text-align: center;
}

#page-header.ph-center .ph-caption,
#page-header.ph-center .ph-caption-subtitle,
#page-header.ph-center .ph-caption-title {
   margin-left: auto;
   margin-right: auto;
   text-align: center;
}

#page-header.ph-center .ph-caption-title-ghost {
   left: 50%;
   transform: translate3d(-50%, 0, 0);
}

#page-header.ph-center:not(.ph-bg-image) .ph-image {
   right: 50%;
   transform: translate(50%, 0);
}

#page-header.ph-center .project-info-list .social-buttons {
   margin-left: 0;
}

body.ph-bg-image-light-on .ph-caption-subtitle,
body.ph-bg-image-light-on .ph-caption-title,
body.ph-bg-image-light-on .ph-category {
   color: #111;
}

body.ph-bg-image-light-on #page-header .project-info-list,
body.ph-bg-image-light-on #page-header .project-info-list .pi-list-cont a {
   color: #111;
   font-weight: 500;
}

body.ph-bg-image-light-on #page-header .project-info-list > ul > li::after {
   background-color: rgb(92 92 92 / 40%);
}

body.ph-bg-image-light-on:not(.tt-ol-menu-open):not(.ph-share-open) #ball {
   border-color: #666;
}

body.ph-bg-image-light-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn-text {
   color: #111;
}

body.ph-bg-image-light-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn span::after,
body.ph-bg-image-light-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn span::before {
   background-color: #111;
}
#page-header.ph-full {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 100vh;
}
#page-header.ph-full .ph-image {
   position: absolute;
   display: flex;
   align-items: center;
   top: 0;
   bottom: 0;
   height: 100%;
}
@media (min-width: 1025px) {
   body.tt-header-tools-on #tt-ol-menu-toggle-btn-wrap {
      margin-right: 20px;
   }

   #page-header.ph-full {
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 100vh;
   }

   #page-header.ph-full .page-header-inner {
      padding-top: 5% !important;
      padding-bottom: 5% !important;
   }

   #page-header.ph-full .ph-image {
      position: absolute;
      display: flex;
      align-items: center;
      top: 0;
      bottom: 0;
      height: 100%;
   }

   #page-header.ph-full:not(.ph-bg-image).ph-image-cropped .ph-image-inner {
      padding-bottom: 140%;
   }

   #page-header.ph-center .page-header-inner {
      max-width: 100%;
      padding-left: 4% !important;
      padding-right: 4% !important;
   }

   #page-header:not(.ph-center).ph-inline .page-header-inner {
      display: flex;
   }

   #page-header:not(.ph-center).ph-inline .ph-caption {
      -ms-flex: 0 0 75%;
      flex: 0 0 75%;
      max-width: 75%;
      align-self: center;
      padding-right: 10%;
   }

   #page-header:not(.ph-center).ph-inline .project-info-list {
      -ms-flex: 0 0 25%;
      flex: 0 0 25%;
      max-width: 25%;
      align-self: center;
      margin: 0;
   }

   #page-header:not(.ph-center).ph-inline .project-info-list > ul > li {
      position: relative;
      display: block;
      width: 100%;
      max-width: 100%;
      padding: 0;
      margin: 0 0 25px;
   }

   #page-header:not(.ph-center).ph-inline .project-info-list > ul > li:last-child {
      margin: 0;
   }

   #page-header:not(.ph-center).ph-inline .project-info-list > ul > li::after {
      display: none;
   }

   body.ph-bg-image-light-on .tt-main-menu-list > li > .tt-submenu-trigger > a,
   body.ph-bg-image-light-on .tt-main-menu-list > li > a {
      color: #111;
   }
}

body.ph-bg-image-light-on #page-header:not(.ph-image-shadow) .scroll-down-circle .sdc-icon {
   color: #555;
}

body.ph-bg-image-light-on #page-header:not(.ph-image-shadow) .made-with-love {
   color: #111;
   opacity: 1 !important;
}

body.ph-bg-image-light-on #page-header:not(.ph-image-shadow) .ph-share-icon {
   color: #111;
   opacity: 0.9 !important;
}

body.ph-bg-image-light-on #page-header:not(.ph-image-shadow) .ph-share-text {
   color: #111;
}

.tt-grid {
   position: relative;
}

.tt-grid::after {
   content: "";
   display: table;
   clear: both;
}

.tt-grid-top {
   position: relative;
   padding-bottom: 0;
   text-align: right;
}

.tt-grid-categories {
   position: relative;
}

.ttgr-cat-trigger-wrap {
   position: relative;
   padding-left: 15px;
   font-size: 16px;
   color: #fff;
   z-index: 999;
}

.ttgr-cat-trigger {
   position: relative;
   display: inline-flex;
   align-items: center;
   cursor: none;
}

.ttgr-cat-text {
   float: left;
   min-width: 60px;
   text-align: right;
   overflow: hidden;
}

.ttgr-cat-text > span {
   position: relative;
   display: inline-block;
   width: 100%;
   transition: transform 0.3s;
}

body:not(.is-mobile) .ttgr-cat-trigger-wrap:hover .ttgr-cat-text > span {
   transform: translate3d(0, -100%, 0);
}

body:not(.is-mobile) .ttgr-cat-text > span::before {
   position: absolute;
   top: 100%;
   right: 0;
   content: attr(data-hover);
}

.ttgr-cat-icon {
   float: left;
}

.ttgr-cat-icon span {
   width: 50px;
   height: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
   line-height: 1;
   font-size: 17px;
}

body.ttgr-cat-nav-open {
   overflow-y: hidden !important;
}

.ttgr-cat-trigger-wrap.ttgr-cat-fixed {
   position: fixed;
   bottom: 5%;
   right: 4%;
   padding: 10px 0 10px 10px;
   z-index: 9;
   opacity: 0;
   visibility: hidden;
}

.ttgr-cat-nav {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background-color: rgb(0 0 0 / 60%);
   pointer-events: initial;
   z-index: 998;
   visibility: hidden;
   opacity: 0;
}

.ttgr-cat-list-holder {
   position: relative;
   height: 100%;
   width: calc(100% + 17px);
   padding-right: 17px;
   overflow-y: scroll;
   z-index: 2;
}

.ttgr-cat-list-inner {
   display: table;
   width: 100%;
   max-width: 1282px;
   height: 100%;
   margin-left: auto;
   margin-right: auto;
   padding-left: 15px;
   padding-right: 15px;
}

.ttgr-cat-list-content {
   display: table-cell;
   vertical-align: middle;
   height: 100%;
   padding: 160px 5% 120px 10%;
}

.ttgr-cat-list {
   display: inline-block;
   margin: 0;
   padding: 0;
   list-style: none;
}

.ttgr-cat-list > li {
   position: relative;
}

.ttgr-cat-list > li > a {
   position: relative;
   display: inline-block;
   padding-top: 12px;
   padding-bottom: 12px;
   font-size: calc(26px + 1.2vw);
   font-weight: 700;
   line-height: 1.2;
   color: #bbb;
   transition: color 0.3s ease-in-out;
}

.ttgr-cat-list > li > a.active,
.ttgr-cat-list > li > a:focus,
.ttgr-cat-list > li > a:hover {
   color: #fff;
}

.ttgr-cat-list > li:first-child > a {
   padding-top: 0;
}

.ttgr-cat-list > li:last-child > a {
   padding-bottom: 0;
}

@media (min-width: 992px) {
   .ttgr-cat-list {
      counter-reset: ttgr-cat-list-counter;
   }

   .ttgr-cat-list .ttgr-cat-item::before {
      position: absolute;
      counter-increment: ttgr-cat-list-counter;
      content: "" counter(ttgr-cat-list-counter, decimal-leading-zero);
      top: 5px;
      left: -40px;
      line-height: 1;
      font-size: 14px;
      font-weight: 400;
      color: #fff;
      opacity: 0.4;
   }
}

.ttgr-cat-close {
   margin-bottom: 25px;
   font-size: calc(13px + 0.6vw);
}

body:not(.is-mobile) .ttgr-cat-close {
   display: none;
}

.tt-grid-items-wrap {
   display: flex;
   flex-wrap: wrap;
}

.tt-grid-item {
   position: relative;
   float: left;
   width: 100%;
}

.ttgr-item-inner {
   position: relative;
}

.main-grid {
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
   z-index: 2;
}

.main-grid:hover {
   transform: scale(0.95);
   z-index: 2;
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
}

.rw-stars {
   display: flex;
   position: fixed;
   display: flex;
   left: 0;
   opacity: 0;
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
}

.rw-stars-hover {
   opacity: 1;
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
}

.rw-gif {
   max-width: 100%;
   width: 100%;
}

.rw-ver {
   color: #fff;
   position: absolute;
   font-size: 1.25rem;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   transition: 0.2s ease-in-out;
   opacity: 0;
}

.ttgr-height {
   position: relative;
   padding-bottom: 35%;
}

.tt-grid[class*="ttgr-layout-"] .ttgr-height {
   padding-bottom: 60%;
}

@media (min-width: 768px) {
   body.ttgr-cat-nav-open .ttgr-item-inner {
      transition: transform 0.6s;
   }

   .tt-grid.ttgr-layout-3 .tt-grid-item {
      width: 50%;
   }
}

@media (min-width: 1200px) {
   .tt-grid.ttgr-layout-3 .tt-grid-item {
      width: 33.33333%;
   }
}

.tt-grid.ttgr-layout-3 .ttgr-height {
   padding-bottom: 70%;
}

.tt-grid.ttgr-layout-1-2 .tt-grid-item:nth-child(3n + 1) {
   width: 100%;
}

.tt-grid.ttgr-layout-1-2 .ttgr-height {
   padding-bottom: 60%;
}

@media (min-width: 768px) {
   .tt-grid.ttgr-layout-1-2 .tt-grid-item {
      width: 50%;
   }

   .tt-grid.ttgr-layout-1-2 .tt-grid-item:nth-child(3n + 1) .ttgr-height {
      padding-bottom: calc(60% - 20%);
   }

   .tt-grid.ttgr-layout-2-1 .tt-grid-item {
      width: 50%;
   }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
   .tt-grid.ttgr-layout-3-2 .tt-grid-item {
      width: 50%;
   }

   .tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(3n + 0) {
      width: 100%;
   }

   .tt-grid.ttgr-layout-3-2 .ttgr-height {
      padding-bottom: 70% !important;
   }

   .tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(3n + 0) .ttgr-height {
      padding-bottom: calc(60% - 20%) !important;
   }
}

@media (min-width: 1200px) {
   .tt-grid.ttgr-layout-3-2 .tt-grid-item {
      width: 33.33333%;
   }

   .tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(5n + 4),
   .tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(5n + 5) {
      width: 50%;
   }
}

.tt-grid.ttgr-layout-3-2 .ttgr-height {
   padding-bottom: 70%;
}

.tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(5n + 4) .ttgr-height,
.tt-grid.ttgr-layout-3-2 .tt-grid-item:nth-child(5n + 5) .ttgr-height {
   padding-bottom: 60%;
}

.tt-grid.ttgr-gap-1,
.tt-grid.ttgr-gap-1 .tt-grid-top {
   margin-left: 0.2vw;
   margin-right: 0.2vw;
}

@media (min-width: 768px) {
   .tt-grid.ttgr-gap-1 .ttgr-item-inner {
      margin: 0 0.2vw 0.4vw;
   }

   .ttgr-layout-1-2 .pgi-title,
   .ttgr-layout-2 .pgi-title,
   .ttgr-layout-2-1 .pgi-title,
   .ttgr-layout-creative-1 .pgi-title,
   .ttgr-layout-creative-2 .pgi-title {
      font-size: calc(19px + 0.4vw);
   }

   .ttgr-layout-2-3 .pgi-title,
   .ttgr-layout-3 .pgi-title,
   .ttgr-layout-3-2 .pgi-title,
   body.tt-boxed .tt-wrap .ttgr-layout-1-2 .pgi-title,
   body.tt-boxed .tt-wrap .ttgr-layout-2 .pgi-title,
   body.tt-boxed .tt-wrap .ttgr-layout-2-1 .pgi-title {
      font-size: calc(19px + 0.3vw);
   }
}

@media (max-width: 768px) {
   .ttgr-height {
      position: relative;
      padding-bottom: 60%;
   }

   .main-grid:hover {
      transform: none;
   }

   .tt-grid.ttgr-gap-1 .ttgr-item-inner {
      margin: 0 1vw 1vw;
   }
}

.tt-grid.ttgr-gap-3,
.tt-grid.ttgr-gap-3 .tt-grid-top {
   margin-left: 2vw;
   margin-right: 2vw;
}

body.tt-boxed .tt-wrap .tt-grid.ttgr-gap-3 {
   margin-left: -2vw;
   margin-right: -2vw;
}

.tt-grid.ttgr-gap-3 .ttgr-item-inner {
   margin: 0 2vw 4vw;
}

#portfolio-grid,
.portfolio-grid-item {
   position: relative;
}

.pgi-image-wrap {
   position: relative;
   display: block;
   overflow: hidden;
   z-index: 1;
   line-height: 1;
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
}

.pgi-image-wrap:hover {
   border-radius: 0;
   transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
}

.pgi-video-wrap {
   position: relative;
}

video.pgi-video {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   overflow: hidden;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.pgi-caption {
   width: 100%;
   max-width: 900px;
   padding: 20px 3%;
}

.pgi-title {
   margin: 0;
   overflow: hidden;
   white-space: nowrap;
   text-overflow: ellipsis;
   font-size: calc(19px + 1.5vw);
   font-weight: 600;
   color: #fff;
   line-height: 1.5;
}

@media (max-width: 767px) {
   .pgi-title {
      font-size: calc(19px + 1.5vw);
   }

   .pli-image[class*="cover-opacity-"]::before {
      display: none !important;
   }
}

#portfolio-grid:not(.pgi-cap-inside) .pgi-title a {
   display: inline;
   background-repeat: no-repeat;
   background-image: -o-linear-gradient(transparent calc(100% - 1px), currentColor 1px);
   background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
   background-image: -ms-linear-gradient(transparent 96%, currentColor 1px);
   transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
   background-size: 0 96%;
}

#portfolio-grid:not(.pgi-cap-inside) .pgi-title a:hover {
   background-size: 100% 96%;
}

.pgi-categories-wrap {
   position: relative;
   margin-top: 8px;
   white-space: nowrap;
   overflow: hidden;
   line-height: 1.2;
}

.pgi-category {
   position: relative;
   display: inline-block;
   font-size: calc(13px + 0.1vw);
   color: #fff;
   opacity: 0.5;
}

#portfolio-grid.pgi-cap-inside .pgi-caption {
   position: absolute;
   left: 0;
   bottom: 8%;
   padding: 0 8%;
   z-index: 2;
}
#portfolio-grid.pgi-cap-inside .pgi-caption.caption-center {
   position: absolute;
   z-index: 2;
   text-align: center;
   bottom: unset;
   padding: unset;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

#portfolio-grid.pgi-cap-inside .pgi-category {
   opacity: 1;
}

.portfolio-list {
   position: relative;
   counter-reset: pli-counter;
}

.portfolio-list-item {
   position: relative;
   margin-bottom: 80px;
}

.portfolio-list-item:last-child {
   margin-bottom: 0 !important;
}

@media (min-width: 1025px) {
   body.tt-boxed .tt-section-inner:not(.tt-wrap) .portfolio-list-item {
      margin-left: 17%;
      margin-right: 17%;
   }
}

.pli-inner {
   position: relative;
}

@media (min-width: 768px) {
   .portfolio-list-item {
      margin-bottom: 8%;
   }

   .pli-inner {
      display: flex;
   }

   .pli-image-col {
      -ms-flex: 0 0 60%;
      flex: 0 0 60%;
      max-width: 60%;
      z-index: 1;
   }

   .pli-hover .pli-image-link {
      transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
      clip-path: inset(0 0 0 0);
   }

   .pli-hover .pli-image-col:hover .pli-image-link {
      transform: scale(1.05);
   }

   .pli-hover .pli-image .pli-image-hover-zoom {
      transition: 1s cubic-bezier(0.07, 0.72, 0.29, 0.96);
   }

   .pli-hover .pli-image-col:hover .pli-image .pli-image-hover-zoom {
      transform: scale(1.05);
   }
}

.pli-image-col {
   line-height: 0;
}

.pli-image-link {
   display: block;
   overflow: hidden;
}

.pli-video {
   width: 100%;
}

.portfolio-list.pli-cropped .pli-image img,
.portfolio-list.pli-cropped .pli-video {
   width: 100%;
   height: 33vw;
   object-fit: cover;
   object-position: 50% 50%;
}

.portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-image img,
.portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-video {
   height: 30vw;
}

@media (max-width: 1024px) {
   body.tt-boxed .tt-section-inner:not(.tt-wrap) .portfolio-list-item {
      margin-left: 5%;
      margin-right: 5%;
   }

   .portfolio-list.pli-cropped .pli-image img,
   .portfolio-list.pli-cropped .pli-video,
   .portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-image img,
   .portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-video {
      height: 46vw;
   }
}

.pli-info-col {
   position: relative;
}

@media (max-width: 767px) {
   .portfolio-list.pli-cropped .pli-image img,
   .portfolio-list.pli-cropped .pli-video,
   .portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-image img,
   .portfolio-list.pli-cropped:not(.pli-info-overlay) .pli-video {
      height: 60vw;
   }

   .pli-info-col {
      margin-top: 20px;
   }
}

.pli-info {
   position: relative;
   line-height: 1;
}

@media (min-width: 768px) {
   .pli-info-col {
      -ms-flex: 0 0 40%;
      flex: 0 0 40%;
      max-width: 40%;
   }

   .pli-info {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      padding-left: 15%;
      transform: translate3d(0, -50%, 0);
   }
}

.pli-title {
   margin: 0;
   font-size: calc(16px + 2vw);
   font-weight: 500;
   color: #fff;
   line-height: 1.3;
}

.pli-title a {
   display: inline;
   color: #fff;
}

.portfolio-list:not(.pli-info-overlay) .pli-title a {
   background-repeat: no-repeat;
   background-image: -o-linear-gradient(transparent calc(100% - 2px), currentColor 2px);
   background-image: linear-gradient(transparent calc(100% - 2px), currentColor 2px);
   background-image: -ms-linear-gradient(transparent 96%, currentColor 2px);
   transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
   background-size: 0 96%;
}

.portfolio-list:not(.pli-info-overlay) .pli-title a:hover {
   background-size: 100% 96%;
}

.pli-categories-wrap {
   position: relative;
   margin-top: 40px;
}

.pli-category {
   position: relative;
   display: inline-block;
   font-size: calc(13px + 0.1vw);
   color: #fff;
   line-height: 1.6;
}

.portfolio-list:not(.pli-info-overlay) .pli-category {
   opacity: 0.5;
}

.pli-counter {
   position: absolute;
   display: inline-block;
   top: -60px;
   left: 15%;
   color: #fff;
   opacity: 0.4;
}

.pli-counter::before {
   counter-increment: pli-counter;
   content: "" counter(pli-counter, decimal-leading-zero);
   line-height: 1;
   font-size: calc(17px + 0.1vw);
   font-weight: 400;
   z-index: 99999;
}

@media (max-width: 767px) {
   .pli-categories-wrap {
      margin-top: 15px;
   }

   .pli-counter {
      display: none;
   }
}

@media (min-width: 421px) {
   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-inner {
      display: flex;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .portfolio-list-item {
      margin-bottom: 2%;
      padding-bottom: 2%;
      border-bottom: 1px solid #252525;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .portfolio-list-item:last-child {
      margin-bottom: 0;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-image-col {
      display: flex;
      align-items: center;
      -ms-flex: 0 0 25%;
      flex: 0 0 25%;
      max-width: 25%;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-info-col.pli-info-outer {
      display: flex;
      align-items: center;
      -ms-flex: 0 0 75%;
      flex: 0 0 75%;
      max-width: 75%;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-info {
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      padding-left: 10%;
      transform: none;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-image img,
   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-video {
      height: 100%;
      min-height: 10vw;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-counter {
      position: absolute;
      display: inline-block;
      top: 35%;
      left: auto;
      right: 0;
      line-height: 1;
      opacity: 0.1;
      transform: translate3d(0, -50%, 0);
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-counter::before {
      font-size: calc(42px + 6vw);
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact .pli-categories-wrap {
      margin-top: 20px;
   }
}

@media (max-width: 1024px) {
   .portfolio-list:not(.pli-info-overlay).pl-compact .portfolio-list-item {
      margin-bottom: 3%;
      padding-bottom: 3%;
   }

   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-image img,
   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-video {
      height: 20vw;
   }
}

@media (max-width: 420px) {
   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-image img,
   .portfolio-list:not(.pli-info-overlay).pl-compact.pli-cropped:not(.pli-info-overlay) .pli-video {
      height: 60vw;
   }
}

.pli-info-inner {
   display: none;
}

.portfolio-interactive {
   position: relative;
   padding-left: 10%;
   padding-right: 10%;
   counter-reset: pi-item-counter;
}

body.tt-boxed .tt-wrap .portfolio-interactive {
   padding-left: 3%;
   padding-right: 3%;
}

.portfolio-interactive-item {
   position: relative;
   padding-top: 25px;
   padding-bottom: 25px;
}

.portfolio-interactive-item::before {
   position: absolute;
   counter-increment: pi-item-counter;
   content: "" counter(pi-item-counter, decimal-leading-zero);
   top: 10%;
   left: -40px;
   line-height: 1;
   font-size: calc(14px + 0.2vw);
   font-weight: 300;
   color: #fff;
   opacity: 0.3;
}

@media (max-width: 1024px) {
   .portfolio-interactive {
      padding-left: 5%;
      padding-right: 5%;
   }

   .portfolio-interactive-item {
      padding: 8% 3% 5%;
      margin-bottom: 20px;
   }

   .portfolio-interactive-item::before {
      top: 10%;
      left: 3%;
      opacity: 0.5;
   }
}

.pi-item-title-link {
   position: relative;
   display: flex;
   align-items: center;
   text-decoration: none;
   overflow: hidden;
}

.pi-item-hover-title {
   position: absolute;
   display: block;
   left: 0;
   margin: 0;
   padding: 0;
   font-size: calc(14px + 5vw);
   font-weight: 500;
   color: #fff;
   line-height: 1.5;
   transform: translate3d(0, 100%, 0);
   transition: transform 0.6s cubic-bezier(0.51, 0.57, 0.17, 1);
}

.pi-item-hover-title span::after {
   position: absolute;
   display: block;
   content: "";
   right: 1.9vw;
   top: 56%;
   width: 0.8vw;
   height: 0.8vw;
   background-color: #fff;
   border-radius: 100px;
   transform: translate3d(0, -50%, 0);
}

.pi-item-image {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1;
}

@media (min-width: 1025px) {
   .pi-item-hover-title,
   .pi-item-title {
      white-space: nowrap;
   }

   .pi-item-hover-title {
      width: fit-content;
      display: flex;
   }

   .pi-item-title-link:hover .pi-item-hover-title {
      transform: translate3d(0, 0, 0);
      transition-delay: 0.1s;
   }

   .pi-item-hover-title span {
      align-items: center;
      padding-right: 5vw;
      animation-name: marquee;
      animation-timing-function: linear;
      animation-iteration-count: infinite;
      animation-play-state: paused;
   }

   .pi-item-title-link:hover .pi-item-hover-title span {
      animation-play-state: running;
   }

   @keyframes marquee {
      from {
         transform: translateX(0);
      }

      to {
         transform: translateX(-100%);
      }
   }

   .portfolio-interactive-item .pi-item-image {
      display: none;
   }

   body.psi-light-image-on .tt-main-menu-list > li > .tt-submenu-trigger > a,
   body.psi-light-image-on .tt-main-menu-list > li > a {
      color: #111;
   }

   body.psi-light-image-on .tt-main-menu-list.tt-mm-hover > li.active > .tt-submenu-trigger > a,
   body.psi-light-image-on .tt-main-menu-list.tt-mm-hover > li.active > a,
   body.psi-light-image-on .tt-main-menu-list.tt-mm-hover > li.tt-submenu-open > .tt-submenu-trigger > a,
   body.psi-light-image-on .tt-main-menu-list.tt-mm-hover > li > .tt-submenu-trigger > a:hover,
   body.psi-light-image-on .tt-main-menu-list.tt-mm-hover > li > a:hover {
      opacity: 1;
      color: #000;
   }
}

.pi-item-image img {
   width: 100% !important;
   height: 100% !important;
   object-fit: cover;
}

#magic-cursor.portfolio-interactive-hover-on {
   z-index: -1;
}

#magic-cursor.portfolio-interactive-hover-on #ball {
   overflow: hidden;
   border: none !important;
}

.tt-portfolio-slider {
   position: relative;
   width: 100%;
   background-color: #0a0a0a;
}

.tt-portfolio-slider .swiper {
   height: 100vh;
}

@media (max-width: 1024px) {
   .pi-item-hover-title {
      display: none;
   }

   .pi-item-image {
      overflow: hidden;
   }

   .pi-item-image::before {
      position: absolute;
      display: block;
      content: "";
      top: -1px;
      left: -1px;
      bottom: -1px;
      right: -1px;
      background-color: #040404;
      opacity: 0.7;
   }

   .tt-portfolio-slider .swiper {
      height: calc(100vh - 50px);
   }
}

.tt-portfolio-slider .swiper-slide {
   position: relative;
   overflow: hidden;
   background-color: #000;
}

img.tt-psi-image {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

.tt-ps-caption-title {
   margin: 0;
   font-size: clamp(40px, 5.2vw, 100px);
   font-weight: 600;
   line-height: 1.2;
}

.tt-ps-caption-title a {
   display: inline;
   color: #fff;
}

.tt-ps-caption-category {
   margin: 30px 0 0;
   font-size: calc(13px + 0.1vw);
   font-weight: 500;
}

@media (max-width: 1024px) {
   .tt-ps-caption-category {
      margin: 30px 0 0;
   }
}

.tt-ps-nav-arrow {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 60px;
   height: 60px;
   font-size: 18px;
   color: #fff;
   cursor: pointer;
   outline: 0;
}

.tt-ps-nav-arrow-next::after,
.tt-ps-nav-arrow-prev::after {
   line-height: 0;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

.tt-ps-nav-arrow-prev::after {
   content: "\f053";
}

.tt-ps-nav-arrow-next::after {
   content: "\f054";
}

.tt-ps-nav-arrow.tt-ps-nav-arrow-disabled {
   cursor: auto;
   pointer-events: none;
}

.tt-portfolio-slider .swiper-button-lock,
.tt-portfolio-slider .swiper-pagination-lock {
   display: none;
}

.tt-ps-nav-pagination-bullets {
   font-size: 0;
}

.tt-ps-nav-pagination-bullets .swiper-pagination-bullet {
   display: inline-block;
   width: 10px;
   height: 10px;
   background-color: transparent;
   margin: 8px;
   opacity: 1;
   border-radius: 100%;
   border: 2px solid #fff;
}

.tt-ps-nav-pagination-fraction {
   position: relative;
   font-size: 14px;
   font-weight: 600;
   color: #fff;
   line-height: 1;
}

.tt-ps-nav-pagination-fraction .swiper-pagination-current {
   position: relative;
   top: -4px;
}

.tt-ps-nav-pagination-fraction .swiper-pagination-total {
   position: relative;
   bottom: -4px;
}

body.psi-light-image-on .tt-ps-caption-category,
body.psi-light-image-on .tt-ps-caption-title a,
body.psi-light-image-on .tt-ps-nav-arrow,
body.psi-light-image-on .tt-ps-nav-pagination-fraction {
   color: #111;
}

body.psi-light-image-on .tt-ps-nav-pagination-bullets .swiper-pagination-bullet {
   border-color: #111;
}

body.psi-light-image-on:not(.tt-ol-menu-open) #ball {
   border-color: #515151;
}

body.psi-light-image-on:not(.tt-ol-menu-open) #ball .ball-drag::after,
body.psi-light-image-on:not(.tt-ol-menu-open) #ball .ball-drag::before,
body.psi-light-image-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn-text {
   color: #111;
}

body.psi-light-image-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn span::after,
body.psi-light-image-on:not(.tt-ol-menu-open) .tt-ol-menu-toggle-btn span::before {
   background-color: #111;
}

.tt-portfolio-carousel {
   position: relative;
   margin-bottom: 8rem;
}

.tt-portfolio-carousel .swiper-wrapper {
   position: relative;
}

.tt-portfolio-carousel .swiper-wrapper.swtr-smooth {
   transition: transform 0.8s !important;
}

.tt-portfolio-carousel .swiper-slide {
   display: flex;
   align-items: center;
}

@media (max-width: 1024px) {
   .tt-portfolio-carousel .swiper-slide {
      height: calc(100vh - 50px);
   }
}

.tt-portfolio-carousel-item {
   position: relative;
   display: flex;
   line-height: 0;
   transition: 0.5s ease-in-out;
}

.tt-pci-image-wrap {
   position: relative;
   width: 100%;
   z-index: 2;
   overflow: hidden;
}

.tt-pci-image,
.tt-portfolio-carousel-item .tt-pci-video {
   position: relative;
}

video.tt-pci-video {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

@media (min-width: 1025px) {
   .tt-portfolio-carousel .swiper-slide {
      width: auto;
   }

   .tt-portfolio-carousel-item {
      margin-left: 7vw;
      margin-right: 7vw;
   }

   .tt-pci-image,
   .tt-portfolio-carousel-item .tt-pci-video {
      height: 40vw;
   }

   .tt-portfolio-carousel-item .tt-pci-video {
      width: 70vw;
   }

   .pci-hover .tt-slide-active .tt-portfolio-carousel-item .tt-pci-caption-front,
   .pci-hover .tt-slide-active .tt-portfolio-carousel-item .tt-pci-image-wrap {
      clip-path: inset(0 0 0 0);
      transition: 0.8s cubic-bezier(0.07, 0.72, 0.29, 0.96);
      clip-path: inset(3% 3% 3% 3%);
   }

   .pci-hover .tt-slide-active .tt-portfolio-carousel-item:hover .tt-pci-caption-front,
   .pci-hover .tt-slide-active .tt-portfolio-carousel-item:hover .tt-pci-image-wrap {
      clip-path: inset(0%);
   }

   .pci-hover .tt-slide-active-start .tt-portfolio-carousel-item:hover .tt-pci-caption-front,
   .pci-hover .tt-slide-active-start .tt-portfolio-carousel-item:hover .tt-pci-image-wrap {
      clip-path: inset(0 0 0 0);
   }
}

@media (max-width: 1024px) {
   .tt-portfolio-carousel-item {
      width: 100%;
   }

   .tt-pci-image,
   .tt-portfolio-carousel-item .tt-pci-video {
      width: 100%;
      height: 60vw;
      object-fit: cover;
      object-position: 50% 50%;
   }
}

.swiper-slide.tt-pcs-disabled .tt-portfolio-carousel-item {
   cursor: auto;
   pointer-events: none;
   opacity: 0.3;
   transform: scale(0.9);
}

.tt-pci-caption {
   position: absolute;
   top: 50%;
   width: 100%;
}

.tt-pci-caption-inner {
   position: relative;
}

.tt-pci-title {
   margin: 0;
   font-size: calc(16px + 3.2vw);
   font-weight: 500;
   color: #fff;
   line-height: 1.2;
}

.tt-pci-categories {
   position: relative;
   margin-top: 30px;
}

.tt-pci-category {
   position: relative;
   display: inline-block;
   font-size: calc(13px + 0.1vw);
   color: #fff;
   line-height: 1.2;
}

.tt-pci-category ~ .tt-pci-category {
   margin-left: -4px;
}

.tt-pci-category ~ .tt-pci-category:not(:empty)::before {
   content: ", ";
}

.tt-pci-category ~ .tt-pci-category ~ .tt-pci-category ~ .tt-pci-category {
   visibility: hidden;
   width: 0;
}

.tt-pci-category ~ .tt-pci-category ~ .tt-pci-category ~ .tt-pci-category ~ .tt-pci-category {
   display: none;
}

.tt-pci-category + .tt-pci-category + .tt-pci-category + .tt-pci-category::before {
   content: "...";
   margin-left: 5px;
   visibility: visible;
}

@media (min-width: 1025px) {
   .tt-pci-caption {
      left: 0;
      transform: translate3d(-100px, -50%, 0);
   }

   .tt-pci-caption-front {
      position: absolute;
      top: 0;
      left: -1px;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      z-index: 3;
      overflow: hidden;
   }

   .tt-pci-caption-back {
      left: -1px;
      z-index: 1;
   }

   .pci-caption-stroke .tt-pci-caption-back .tt-pci-title,
   .pci-caption-stroke.pci-caption-center .tt-pci-caption-front .tt-pci-title {
      -webkit-text-stroke-width: 1px;
      -webkit-text-stroke-color: #fff;
      -webkit-text-fill-color: transparent;
   }

   .pci-caption-stroke .tt-pci-title {
      font-weight: 700;
      letter-spacing: 3px;
   }

   body.is-firefox .pci-caption-stroke .tt-pci-caption-back .tt-pci-title,
   body.is-firefox .pci-caption-stroke.pci-caption-center .tt-pci-caption-front .tt-pci-title {
      -webkit-text-stroke-width: 2px;
   }
}

@media (max-width: 1024px) {
   .tt-pci-caption {
      top: 40%;
      left: 5%;
      right: 5%;
      padding-left: 15px;
      padding-right: 15px;
   }

   .tt-pci-caption-back {
      display: none;
   }

   .tt-pci-caption-front {
      z-index: 9;
   }
}

.swiper-slide .tt-pci-caption-inner,
.swiper-slide .tt-pci-categories {
   opacity: 0;
   visibility: hidden;
   transition: 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.swiper-slide.swiper-slide-next .tt-pci-caption-inner,
.swiper-slide.swiper-slide-next .tt-pci-categories,
.swiper-slide.swiper-slide-prev .tt-pci-caption-inner,
.swiper-slide.swiper-slide-prev .tt-pci-categories {
   transition: 0.3s ease-out;
}

.swiper-slide.swiper-slide-active .tt-pci-caption-inner,
.swiper-slide.swiper-slide-active .tt-pci-categories {
   opacity: 1;
   visibility: visible;
   transform: translate3d(0, 0, 0);
}

.swiper-slide.swiper-slide-prev .tt-pci-caption-inner {
   transform: translate3d(-100px, 0, 0) skewX(10deg);
}

.swiper-slide.swiper-slide-next .tt-pci-caption-inner {
   transform: translate3d(100px, 0, 0) skewX(-10deg);
}

.swiper-slide.swiper-slide-prev .tt-pci-categories {
   transform: translate3d(-30px, 0, 0);
}

.swiper-slide.swiper-slide-next .tt-pci-categories {
   transform: translate3d(30px, 0, 0);
}

.swiper-slide.swiper-slide-active .tt-pci-caption-inner {
   transition-delay: 0.6s;
}

.swiper-slide.swiper-slide-active .tt-pci-categories {
   transition-delay: 0.7s;
}

.tt-pc-navigation {
   position: absolute;
   display: flex;
   justify-content: center;
   align-items: center;
   margin-top: 1.2rem;
   left: 50%;
   width: 300px;
   height: 60px;
   z-index: 1;
   transform: translate3d(-50%, 0, 0);
}

@media (max-width: 767px) {
   .tt-pc-navigation {
      width: 85%;
      margin-top: 0.75rem;
   }
}

.tt-pc-nav-next,
.tt-pc-nav-prev {
   position: absolute;
   top: 0;
   z-index: 20;
}

.tt-pc-nav-prev {
   left: 0;
}

.tt-pc-nav-next {
   right: 0;
}

.tt-pc-arrow {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 60px;
   height: 60px;
   font-size: 18px;
   color: #fff;
   cursor: none;
   outline: 0;
}

.tt-pc-arrow-next::after,
.tt-pc-arrow-prev::after {
   line-height: 0;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

.tt-pc-arrow-prev::after {
   content: "\f053";
}

.tt-pc-arrow-next::after {
   content: "\f054";
}

.tt-pc-arrow.tt-pc-arrow-disabled {
   cursor: auto;
   pointer-events: none;
}

.tt-portfolio-carousel .swiper-button-lock,
.tt-portfolio-carousel .swiper-pagination-lock {
   display: none;
}

.tt-pc-pagination-bullets {
   font-size: 0;
}

.tt-pc-pagination-bullets .swiper-pagination-bullet {
   display: inline-block;
   width: 10px;
   height: 10px;
   background-color: transparent;
   margin: 8px;
   cursor: none;
   opacity: 1;
   border-radius: 100%;
   border: 2px solid #fff;
}

.tt-pc-pagination-fraction {
   position: relative;
   font-size: 14px;
   font-weight: 600;
   color: #fff;
   line-height: 1;
}

.tt-pc-pagination-fraction .swiper-pagination-current {
   position: relative;
   top: -4px;
}

.tt-pc-pagination-fraction .swiper-pagination-total {
   position: relative;
   bottom: -4px;
}

.tt-portfolio-carousel.pc-scale-down .swiper-slide {
   transition: none !important;
}

.tt-gallery {
   position: relative;
}

.tt-gallery-item {
   position: relative;
   display: block;
   overflow: hidden;
   z-index: 1;
}

.tt-gallery-image {
   position: relative;
}

.tt-gallery-image img {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

.tt-grid .tt-gallery-video-wrap .anim-image-parallax-inner,
.tt-grid .tt-gallery-video-wrap .anim-image-parallax-wrap,
.tt-grid .tt-gallery-video-wrap .tt-gallery-image-hover-zoom,
.tt-grid:not(.ttgr-not-cropped) .tt-gallery-image .anim-image-parallax-inner,
.tt-grid:not(.ttgr-not-cropped) .tt-gallery-image .anim-image-parallax-wrap,
.tt-grid:not(.ttgr-not-cropped) .tt-gallery-image .tt-gallery-image-hover-zoom,
.tt-grid[class*="ttgr-layout-1-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-inner,
.tt-grid[class*="ttgr-layout-1-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-wrap,
.tt-grid[class*="ttgr-layout-1-"].ttgr-not-cropped .tt-gallery-image .tt-gallery-image-hover-zoom,
.tt-grid[class*="ttgr-layout-2-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-inner,
.tt-grid[class*="ttgr-layout-2-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-wrap,
.tt-grid[class*="ttgr-layout-2-"].ttgr-not-cropped .tt-gallery-image .tt-gallery-image-hover-zoom,
.tt-grid[class*="ttgr-layout-3-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-inner,
.tt-grid[class*="ttgr-layout-3-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-wrap,
.tt-grid[class*="ttgr-layout-3-"].ttgr-not-cropped .tt-gallery-image .tt-gallery-image-hover-zoom,
.tt-grid[class*="ttgr-layout-4-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-inner,
.tt-grid[class*="ttgr-layout-4-"].ttgr-not-cropped .tt-gallery-image .anim-image-parallax-wrap,
.tt-grid[class*="ttgr-layout-4-"].ttgr-not-cropped .tt-gallery-image .tt-gallery-image-hover-zoom {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
}

.tt-gallery-video-wrap {
   position: relative;
}

.main-video-inside::before {
   position: absolute;
   font-size: 19px;
   color: #fff;
   padding: 5px 20px;
   z-index: 2;
   opacity: 0.3;
   content: "\f03d";
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: flex;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
   align-items: flex-end;
   justify-content: flex-end;
}

.main-video-captions {
   position: absolute;
   bottom: 0;
   left: 2%;
   z-index: 3;
}

.tt-gallery-video-wrap::before {
   position: absolute;
   bottom: 15px;
   right: 20px;
   font-size: 19px;
   color: #fff;
   z-index: 2;
   opacity: 0.3;
   content: "\f03d";
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

.tt-gallery-video {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

@media (min-width: 768px) {
   .tt-gallery.ttga-hover .tt-gallery-image-hover-zoom {
      transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
   }

   .tt-gallery.ttga-hover .tt-gallery-item:hover .tt-gallery-image-hover-zoom {
      transform: scale(1.05);
   }
}

.lg-sub-html {
   font-size: 14px;
}

@media (max-width: 992px) {
   .lg-sub-html {
      padding: 10px 10px 40px;
      font-size: 14px;
   }
}

.lg-sub-html p {
   display: inline-block;
   max-width: 1000px;
   font-size: 16px;
}

.lg-outer .lg-thumb {
   margin-left: auto;
   margin-right: auto;
}

.lg-outer .lg-thumb-item {
   position: relative;
   border: none;
   border-radius: 0;
   opacity: 0.4;
   transition: 0.3s;
}

.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
   opacity: 1;
}

.lg-outer .lg-thumb-item img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 50%;
}

.lg-progress-bar {
   background-color: #333;
   height: 3px;
}

.lg-progress-bar .lg-progress {
   background-color: #a90707;
   height: 3px;
}

@media (max-width: 768px) {
   .lg-actions .lg-next,
   .lg-actions .lg-prev {
      display: none;
   }
}

.tt-page-nav {
   position: relative;
   max-width: 800px;
   margin-left: auto;
   margin-right: auto;
   text-align: center;
}

@media screen and (max-width: 1900px) and (min-width: 1024px) {
   .tt-page-nav {
      max-width: 40vw;
   }
}

.tt-pn-link {
   position: relative;
   display: flex;
   align-items: center;
   text-decoration: none;
   overflow: hidden;
}

.tt-pn-title {
   position: relative;
   display: block;
   left: 50%;
   font-size: clamp(42px, 6vw, 110px);
   font-weight: 500;
   color: #fff;
   line-height: 1.6;
   opacity: 0.4;
   white-space: nowrap;
   transform: translate3d(-50%, 0, 0);
   transition: transform 0.6s cubic-bezier(0.51, 0.57, 0.17, 1);
   overflow: hidden;
   text-overflow: ellipsis;
}

.tt-pn-hover-title {
   position: absolute;
   left: 50%;
   font-size: clamp(36px, 6vw, 110px);
   font-weight: 500;
   color: #fff;
   line-height: 1.6;
   white-space: nowrap;
   transform: translate3d(-50%, 100%, 0);
   transition: transform 0.6s cubic-bezier(0.51, 0.57, 0.17, 1);
}

@media (max-width: 1024px) {
   .tt-pn-title:hover {
      opacity: 1;
   }

   .tt-pn-hover-title {
      display: none;
   }
}

@media (min-width: 1025px) {
   .tt-pn-link:hover .tt-pn-title {
      transform: translate3d(-50%, -100%, 0);
      transition-delay: 0.1s;
   }

   .tt-pn-link:hover .tt-pn-hover-title {
      transform: translate3d(-50%, 0, 0);
      transition-delay: 0.1s;
   }

   .tt-page-nav .tt-pn-hover-title span {
      display: inline-flex;
      align-items: center;
      padding-right: 5vw;
      animation: 3s linear infinite paused marquee;
   }

   .tt-page-nav .tt-pn-link:hover .tt-pn-hover-title span {
      animation: 3s linear infinite marquee;
   }

   @-webkit-keyframes marquee {
      from {
         transform: translateX(0);
      }

      to {
         transform: translateX(-100%);
      }
   }

   @keyframes marquee {
      from {
         transform: translateX(0);
      }

      to {
         transform: translateX(-100%);
      }
   }
}

.tt-pn-hover-title span::after {
   position: absolute;
   display: block;
   content: "";
   right: 1.9vw;
   top: 56%;
   width: 0.8vw;
   height: 0.8vw;
   background-color: #fff;
   border-radius: 100px;
   transform: translate3d(0, -50%, 0);
}

.tt-pn-subtitle {
   margin-top: 20px;
   font-size: calc(16px + 0.1vw);
   color: #fff;
}

.tt-page-nav .tt-pn-image {
   display: none;
}

.tt-pn-image {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1;
}

.image-contact {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1;
   display: flex;
   justify-content: center;
}

.tt-pn-image::before {
   position: absolute;
   display: block;
   content: "";
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background-color: #040404;
   opacity: 0.1;
}

.tt-pn-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

#magic-cursor.tt-pn-hover-on {
   z-index: -1;
}

#magic-cursor.tt-pn-hover-on #ball {
   overflow: hidden;
   border: none !important;
}

.tt-image {
   overflow: hidden;
}

.tt-content-carousel {
   position: relative;
}

.tt-content-carousel-item {
   position: relative;
   display: block;
   overflow: hidden;
   line-height: 1;
}

@media (min-width: 1025px) {
   .tt-image.tti-fixed-height img {
      width: 100%;
      height: 80vh;
      object-fit: cover;
      object-position: 50% 50%;
   }

   .tt-content-carousel .swiper-slide {
      height: 100%;
      width: auto;
   }

   .tt-content-carousel-item {
      margin-left: 2vw;
      margin-right: 2vw;
   }

   .tt-content-carousel .swiper-slide .tt-cc-video,
   .tt-content-carousel .tt-cc-image {
      position: relative;
      height: 28vw;
      width: auto;
   }
}

@media (max-width: 1024px) {
   .tt-content-carousel-item {
      margin-left: 2vw;
      margin-right: 2vw;
   }

   .tt-content-carousel .swiper-slide .tt-cc-video,
   .tt-content-carousel .tt-cc-image {
      position: relative;
      width: 100%;
      height: 60vw;
      object-fit: cover;
      object-position: 50% 50%;
   }
}

.tt-cc-nav-next,
.tt-cc-nav-prev {
   position: absolute;
   top: 50%;
   z-index: 20;
   transform: translateY(-50%);
}

.tt-cc-nav-prev {
   left: 2%;
}

.tt-cc-nav-next {
   right: 2%;
}

.tt-cc-nav-arrow {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 50px;
   height: 50px;
   font-size: 21px;
   color: #fff;
   cursor: pointer;
   outline: 0;
}

.tt-cc-nav-next .tt-cc-nav-arrow::after,
.tt-cc-nav-prev .tt-cc-nav-arrow::after {
   position: relative;
   line-height: 0;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

.tt-cc-nav-prev .tt-cc-nav-arrow::after {
   content: "\f053";
}

.tt-cc-nav-next .tt-cc-nav-arrow::after {
   content: "\f054";
}

.tt-cc-nav-next.tt-cc-nav-arrow-disabled .tt-cc-nav-arrow,
.tt-cc-nav-prev.tt-cc-nav-arrow-disabled .tt-cc-nav-arrow {
   opacity: 0.3;
   cursor: auto;
   pointer-events: none;
}

.tt-content-carousel.cc-hide-navigation .tt-cc-nav-next,
.tt-content-carousel.cc-hide-navigation .tt-cc-nav-prev {
   display: none !important;
}

.tt-cc-pagination {
   position: absolute;
   bottom: 5%;
   left: 50%;
   z-index: 1;
   transform: translate3d(-50%, 0, 0);
}

.tt-cc-pagination-bullets {
   font-size: 0;
}

.tt-cc-pagination-bullets .swiper-pagination-bullet {
   display: inline-block;
   width: 10px;
   height: 10px;
   background-color: transparent;
   margin: 8px;
   opacity: 1;
   border-radius: 100%;
   border: 2px solid #fff;
}

.tt-cc-pagination-fraction {
   font-size: 14px;
   font-weight: 600;
   color: #fff;
   letter-spacing: 2px;
}

.tt-cc-pagination-fraction .swiper-pagination-current {
   position: relative;
   top: -4px;
}

.tt-cc-pagination-fraction .swiper-pagination-total {
   position: relative;
   bottom: -4px;
}

.text-center-index {
   text-align: left;
}

.tt-testimonials-slider {
   position: relative;
   max-width: 800px;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 80px;
}

.tt-testimonials-slider .tt-ts-item {
   position: relative;
   display: block;
   margin: 0 auto;
   opacity: 0.5;
   transition: opacity 0.3s;
}

.tt-testimonials-slider .swiper-slide-active .tt-ts-item {
   opacity: 1;
}

.tt-testimonials-slider .tt-ts-text {
   font-size: calc(19px + 0.6vw);
   line-height: 1.6;
   font-style: italic;
}

@media (min-width: 1025px) {
   .tt-testimonials-slider .swiper-slide {
      width: auto;
      max-width: 800px;
      margin-left: 3vw;
      margin-right: 3vw;
   }
}

.tt-ts-nav-next,
.tt-ts-nav-prev {
   position: absolute;
   top: 50%;
   z-index: 20;
   transform: translateY(-50%);
}

@media (max-width: 1024px) {
   .tt-testimonials-slider .swiper-slide {
      width: 100% !important;
      margin-left: 3vw;
      margin-right: 3vw;
   }

   .tt-testimonials-slider .tt-ts-item {
      padding: 20px;
   }

   .tt-ts-nav-next,
   .tt-ts-nav-prev {
      display: none;
   }
}

.tt-ts-nav-prev {
   left: -10%;
}

.tt-ts-nav-next {
   right: -10%;
}

.tt-ts-nav-arrow {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 50px;
   height: 50px;
   font-size: 21px;
   color: #fff;
   cursor: pointer;
   outline: 0;
}

.tt-ts-nav-next .tt-ts-nav-arrow::after,
.tt-ts-nav-prev .tt-ts-nav-arrow::after {
   position: relative;
   line-height: 0;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

.tt-ts-nav-prev .tt-ts-nav-arrow::after {
   content: "\f053";
}

.tt-ts-nav-next .tt-ts-nav-arrow::after {
   content: "\f054";
}

.tt-testimonials-slider.ts-hide-navigation .tt-ts-nav-next,
.tt-testimonials-slider.ts-hide-navigation .tt-ts-nav-prev {
   display: none !important;
}

.tt-ts-pagination {
   position: absolute;
   left: 50%;
   bottom: -80px;
   z-index: 1;
   transform: translate3d(-50%, 0, 0);
}

.tt-ts-pagination-bullets {
   font-size: 0;
}

.tt-ts-pagination-bullets .swiper-pagination-bullet {
   display: inline-block;
   width: 10px;
   height: 10px;
   background-color: transparent;
   margin: 8px;
   opacity: 1;
   border-radius: 100%;
   border: 2px solid #fff;
}

.tt-testimonials-slider.ts-full-width {
   max-width: 100%;
}

.tt-testimonials-slider.ts-full-width .tt-ts-pagination {
   margin-top: 3%;
}

.tt-testimonials-slider.ts-full-width .tt-ts-nav-prev {
   left: 2%;
}

.tt-testimonials-slider.ts-full-width .tt-ts-nav-next {
   right: 2%;
}

.tt-testimonials-slider.ts-scale-down .swiper-slide {
   transition: none !important;
}

button {
   background-color: transparent;
   cursor: pointer;
   border: none;
}

.tt-btn {
   position: relative;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   height: 50px;
   background-color: transparent;
   margin: 15px 15px 15px 0;
   text-align: center;
   font-size: 16px;
   font-weight: 500;
   overflow: hidden;
   cursor: pointer;
   border: none;
   border-radius: 100px;
   z-index: 9;
}

.tt-btn:last-child {
   margin-right: 0;
}

.tt-btn > * {
   position: relative;
   color: #fff;
   transition: transform 0.3s;
}

.tt-btn > *,
.tt-btn > ::after {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100%;
   padding: 0 30px;
   line-height: 1;
}

.tt-btn > ::after {
   position: absolute;
   content: attr(data-hover);
   top: 100%;
   width: 100%;
   left: 0;
   padding-left: 0;
   padding-right: 0;
}

.tt-btn:hover > * {
   transform: translate3d(0, -100%, 0);
}

.tt-btn-block {
   display: block;
   width: 100%;
   margin-right: 0;
   text-align: center;
}

.tt-btn-block > * {
   width: 100%;
}

.tt-btn-round {
   width: 110px;
   height: 110px;
}

@media (max-width: 1024px) {
   .tt-ts-pagination {
      bottom: -50px;
   }
   .mt-mobile {
      margin-top: 35px;
   }
   .tt-btn-round {
      width: 80px;
      height: 80px;
   }
   #page-header.ph-cap-xxlg .ph-caption-title {
      font-size: clamp(39px, 10vw, 180px);
   }
}

.tt-btn-round > * {
   max-width: 75%;
   padding: 0;
   line-height: 1.4;
}

.tt-btn-round > ::after {
   width: 100;
   line-height: 1.4;
}

.tt-btn-light {
   background-color: #fff;
}

.tt-btn-light:hover > *,
.tt-btn-light > *,
.tt-btn-light > ::after {
   color: #111;
}

.tt-btn-light-outline:hover {
   box-shadow: inset 0 0 0 0 #fff;
   box-shadow: inset 0 -3px 0 -2px #fff;
   border-radius: 0;
}

.tt-btn-light-outline:hover > *,
.tt-btn-light-outline > *,
.tt-btn-light-outline > ::after {
   color: #fff;
}

.tt-btn-link {
   align-items: center;
   border-radius: 0;
}

.tt-btn-link > *,
.tt-btn-link > ::after {
   padding: 0;
   line-height: 1.6;
   color: #fff;
}

.tt-btn-link:hover > * {
   color: #fff;
}

.tt-btn-link::after {
   display: inline-block;
   content: "";
   width: 40px;
   height: 1px;
   background-color: #fff;
   margin-top: 2px;
   margin-left: 15px;
}

body:not(.is-mobile) .tt-btn-link:hover::after {
   animation: 0.8s cubic-bezier(0.475, 0.425, 0, 0.995) forwards swipe-line;
}

@keyframes swipe-line {
   0% {
      transform-origin: right;
      transform: scale(1);
   }

   33% {
      transform-origin: right;
      transform: scaleX(0);
   }

   66% {
      transform-origin: left;
      transform: scaleX(0);
   }

   to {
      transform-origin: left;
      transform: scale(1);
   }
}

.tt-btn.tt-btn-disabled {
   opacity: 0.4;
}

.tt-btn button[disabled],
.tt-btn.tt-btn-disabled * {
   cursor: not-allowed;
}

.social-buttons ul {
   display: inline-flex;
   flex-wrap: wrap;
   margin: 0;
   padding: 0;
   list-style: none;
}

.social-buttons ul > li {
   display: flex;
   justify-content: center;
   align-items: center;
   float: left;
   margin: 0 2px;
}

.social-buttons ul > li:first-child {
   margin-left: 0;
}

.social-buttons ul > li:last-child {
   margin-right: 0;
}

.social-buttons > ul > li a {
   display: block;
   width: 50px;
   height: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
   line-height: 1;
   font-size: 15px;
   font-weight: 600;
   color: #eaeaea;
   transition: opacity 0.2s;
}

.tt-accordion,
.tt-accordion-item {
   position: relative;
}

.tt-accordion-heading {
   position: relative;
   padding: 20px 13% 20px 0;
   cursor: pointer;
}

.tt-accordion-item:first-child .tt-accordion-heading {
   padding-top: 0;
}

.tt-accordion-content {
   padding-bottom: 40px;
   color: #e0e0e0;
}

.tt-accordion-content:not(.is-open) {
   display: none;
}

.tt-accordion-content p:last-child {
   margin-bottom: 0;
}

.tt-tabs {
   position: relative;
}

.tt-tab-btn {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 90px;
   background-color: #1c1c1c;
   padding: 10px 40px;
   text-align: center;
   font-size: 19px;
   color: #8b8b8b;
   cursor: pointer;
   border: none;
   outline: 0;
   transition: 0.2s ease-in-out;
}

.tt-tab-btn:hover {
   background-color: #262626;
   color: #fff;
}

.tt-tab-btn.active {
   background-color: #323232;
   color: #fff;
}

.tt-tab-content {
   display: none;
   padding-top: 50px;
}

.tt-tab-content.active {
   display: block;
}

.magnetic-wrap {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
}

figure {
   position: relative;
   margin: 0;
}

figure img {
   width: 100%;
   height: auto;
}

.tt-form-control {
   display: block;
   width: 100%;
   background-color: transparent;
   padding: 5px 15px;
   font-size: 17px;
   font-weight: 400;
   color: #fff;
   border: 1px solid;
   border-radius: 3px;
}

.tt-form-control:focus {
   color: #fff;
   background-color: transparent;
   border-color: rgb(204 204 204 / 85%);
   outline: 0;
   box-shadow: none;
}

.tt-form-control + .tt-form-control {
   margin-top: 20px;
}

.tt-form-control:disabled,
.tt-form-control[readonly] {
   background-color: rgb(176 176 176 / 6%);
   opacity: 0.4;
   cursor: not-allowed;
}

.tt-form-control:not(textarea):not([size]) {
   height: 56px;
}

.tt-form-text {
   display: block;
   margin-top: 5px;
   font-style: italic;
   color: #999;
}

label {
   display: inline-block;
   margin-bottom: 8px;
   font-size: 17px;
   font-weight: 500;
}

label .required {
   opacity: 0.8;
}

::-webkit-input-placeholder {
   color: #999 !important;
}

:-moz-placeholder {
   color: #999 !important;
}

::-moz-placeholder {
   color: #999 !important;
}

:-ms-input-placeholder {
   color: #999 !important;
}

.tt-form-group {
   margin-bottom: 30px;
}

textarea,
textarea.tt-form-control {
   padding: 15px;
}

select:required:invalid {
   color: #999;
}

.tt-form-check,
.tt-form-radio {
   position: relative;
   display: block;
   margin: 0 0 10px 5px;
   line-height: 1.2;
}

.tt-form-check input,
.tt-form-radio input {
   position: absolute;
   top: 50%;
   opacity: 0;
   cursor: pointer;
   transform: translate3d(0, -50%, 0);
}

.tt-form-check label,
.tt-form-radio label {
   position: relative;
   display: inline;
   margin-bottom: 10px;
   padding-left: 26px;
   vertical-align: middle;
   font-size: 17px;
   cursor: pointer;
}

.tt-form-check label::before,
.tt-form-radio label::before {
   position: absolute;
   top: 3px;
   left: 0;
   display: block;
   width: 18px;
   height: 18px;
   pointer-events: none;
   content: "";
   background-color: #4e4e4e;
   border-radius: 3px;
   transition: background-color 0.2s;
}

.tt-form-check:hover label::before,
.tt-form-radio:hover label::before {
   background-color: #5a5a5a;
}

.tt-form-check label::after,
.tt-form-radio label::after {
   position: absolute;
   display: none;
   content: "";
   top: 7px;
   left: 6px;
   width: 4px;
   height: 6px;
   border: solid #fff;
   border-width: 0 2px 2px 0;
   transform: rotate(45deg);
}

.tt-form-radio label::before {
   border-radius: 100px;
}

.tt-form-radio label::after {
   top: 9px;
   left: 6px;
   width: 4px;
   height: 4px;
   background-color: #fff;
   border-radius: 100%;
}

.tt-form-check input:disabled,
.tt-form-radio input:disabled {
   cursor: not-allowed;
}

.tt-file-info {
   width: 75%;
   background-color: transparent;
   border: none;
   outline: 0;
   font-size: 14px;
   color: #777;
   line-height: 1;
}

.tt-form-minimal .tt-form-group label {
   margin-bottom: 0;
}

.tt-form-minimal .tt-form-control:not(select),
.tt-form-minimal select.tt-form-control:not([multiple]) {
   background-color: transparent;
   padding-left: 0;
   padding-right: 0;
   font-size: 17px;
   border-width: 0 0 1px;
   border-style: solid;
   border-radius: 2px;
}

.tt-form-minimal .tt-form-control:focus {
   border-color: #fff;
}

.tt-form-minimal .tt-form-control:disabled,
.tt-form-minimal .tt-form-control[readonly] {
   opacity: 0.2;
}

.tt-form-minimal .tt-form-control,
.tt-form-minimal .tt-form-control select {
   border-color: rgb(136 136 136 / 60%);
}

.tt-contact-info {
   margin: 0;
   padding: 0;
   list-style: none;
   font-size: 17px;
}

.tt-contact-info > li {
   padding: 3px 0;
}

.tt-ci-icon {
   display: inline-block;
   margin-right: 10px;
   font-size: 80%;
}

.tt-contact-info a {
   display: inline;
   transition: color 0.2s;
}

.tt-contact-info a:hover {
   color: #fff;
}

.tt-contact-info .social-buttons {
   display: inline-block;
   margin-top: 15px;
   margin-left: -13px;
}

.form-result.alert {
   display: none;
   margin-top: 20px;
   margin-bottom: 0;
}

.alert {
   position: relative;
   padding: 0.75rem 1.25rem;
   margin-bottom: 1rem;
   border: 1px solid transparent;
   border-radius: 0.25rem;
}

.alert-success {
   color: #155724;
   background-color: #d4edda;
   border-color: #c3e6cb;
}

.alert-warning {
   color: #856404;
   background-color: #fff3cd;
   border-color: #ffeeba;
}

.alert-danger {
   color: #721c24;
   background-color: #f8d7da;
   border-color: #f5c6cb;
}

.bg-noise {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
}

.bg-noise:before {
   position: absolute;
   content: "";
   top: -10rem;
   left: -10rem;
   width: calc(100% + 20rem);
   height: calc(100% + 20rem);
   z-index: -1;
   pointer-events: none;
   background-image: url(../img/bg-noise.png);
   background-position: 50%;
   animation: 1s steps(2) infinite BgNoise;
}

@keyframes BgNoise {
   0% {
      transform: translate3d(0, 9rem, 0);
   }

   10% {
      transform: translate3d(-1rem, -4rem, 0);
   }

   20% {
      transform: translate3d(-8rem, 2rem, 0);
   }

   30% {
      transform: translate3d(9rem, -9rem, 0);
   }

   40% {
      transform: translate3d(-2rem, 7rem, 0);
   }

   50% {
      transform: translate3d(-9rem, -4rem, 0);
   }

   60% {
      transform: translate3d(2rem, 6rem, 0);
   }

   70% {
      transform: translate3d(7rem, -8rem, 0);
   }

   80% {
      transform: translate3d(-9rem, 1rem, 0);
   }

   90% {
      transform: translate3d(6rem, -5rem, 0);
   }

   to {
      transform: translate3d(-7rem, 0, 0);
   }
}

.tt-scrolling-text {
   display: flex;
   position: relative;
   pointer-events: none;
}

.tt-scrolling-text-inner {
   padding-left: 2vw;
   font-size: 5.5vw;
   line-height: 1.1;
   font-weight: 800;
   -webkit-text-stroke: 2px #fff9;
   color: #0000;
   white-space: nowrap;
   animation-name: tt_scrolling_text;
   animation-timing-function: linear;
   animation-iteration-count: infinite;
   animation-play-state: running;
}

.tt-scrolling-text-inner:after {
   content: attr(data-text);
}

@keyframes tt_scrolling_text {
   0% {
      transform: translateX(0);
   }

   100% {
      transform: translateX(-50%);
   }
}

.tt-sidebar {
   margin-top: 15px;
   margin-left: 30px;
}

@media (max-width: 1600px) {
   .tt-sidebar {
      margin-left: 10px;
   }
}

.tt-sidebar-close-btn,
.tt-sidebar-trigger {
   display: none;
}

@media (max-width: 991px) {
   .social-buttons ul > li {
      margin: 0;
   }

   .tt-tab-btn {
      height: 60px;
   }

   .tt-sidebar-wrap {
      position: absolute;
      z-index: 9999;
   }

   .tt-sidebar {
      position: fixed;
      top: 0;
      left: 0;
      width: 400px;
      height: 100vh;
      z-index: 2;
      background-color: #1b1b1b;
      padding: 60px 30px 100px;
      margin: 0;
      overflow-y: auto;
      transform: translate3d(-100%, 0, 0);
      transition: transform 0.4s ease-in-out;
   }

   body.tt-sidebar-open .tt-sidebar {
      transform: translate3d(0, 0, 0);
   }

   body.tt-sidebar-open {
      overflow-y: hidden !important;
   }

   .tt-sidebar-cover {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      background-color: rgb(0 0 0 / 75%);
      z-index: 1;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s, visibility 0.3s;
   }

   body.tt-sidebar-open .tt-sidebar-cover {
      opacity: 1;
      visibility: visible;
   }

   .tt-sidebar-trigger {
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      right: 15px;
      bottom: 15px;
      width: 40px;
      height: 40px;
      background-color: #4c2122;
      font-size: 16px;
      color: #fff;
      line-height: 1;
      cursor: pointer;
      z-index: 3;
      border-radius: 100px;
   }

   .tt-sidebar-trigger .tt-str-icon-close {
      display: none;
   }

   .tt-header-tools-dynamic .tt-sidebar-trigger {
      position: relative;
      bottom: auto;
      right: auto;
      width: 40px;
      height: 45px;
      background-color: transparent;
      border-radius: 0;
   }

   .ph-share .tt-sidebar-trigger {
      position: relative;
      bottom: auto;
      right: auto;
      width: 40px;
      height: 40px;
      background-color: transparent;
      border-radius: 0;
   }

   body.tt-sidebar-open .tt-sidebar-trigger .tt-str-icon-close {
      display: block;
   }

   body.tt-sidebar-open .tt-sidebar-trigger .tt-str-icon {
      display: none;
   }

   .tt-sidebar-close-btn {
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 20px;
      right: 25px;
      width: 30px;
      height: 30px;
      background-color: #333;
      font-size: 16px;
      cursor: pointer;
      border-radius: 50px;
      transition: transform 0.3s;
   }

   .tt-sidebar-close-btn:hover {
      transform: rotate(90deg);
   }
}

@media (max-width: 440px) {
   .tt-sidebar {
      width: 90%;
      padding: 60px 20px 100px;
   }
}

.tt-sliding-sidebar-wrap {
   position: relative;
   z-index: 9999;
}

body.tt-sliding-sidebar-open {
   overflow-y: hidden !important;
}

body.tt-sliding-sidebar-open .scrollbar-track {
   display: none !important;
}

.tt-sliding-sidebar {
   position: fixed;
   top: 0;
   left: 0;
   width: 400px;
   height: 100vh;
   z-index: 2;
   background-color: #1b1b1b;
   padding-top: 60px;
   overflow: hidden;
   transform: translate3d(-100%, 0, 0);
   transition: transform 0.4s ease-in-out;
}

@media (max-width: 440px) {
   .tt-sliding-sidebar {
      width: 90%;
   }
}

body.tt-sliding-sidebar-open .tt-sliding-sidebar {
   opacity: 1;
   visibility: visible;
   transform: translate3d(0, 0, 0);
}

.tt-sliding-sidebar-close {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   width: 100%;
   height: 100%;
   background-color: rgb(0 0 0 / 75%);
   z-index: 1;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.3s, visibility 0.3s;
}

body.tt-sliding-sidebar-open .tt-sliding-sidebar-close {
   opacity: 1;
   visibility: visible;
}

.tt-sliding-sidebar-close-btn {
   position: absolute;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 20px;
   right: 25px;
   width: 30px;
   height: 30px;
   background-color: #333;
   font-size: 16px;
   cursor: pointer;
   border-radius: 50px;
   transition: transform 0.3s;
}

.tt-sliding-sidebar-close-btn:hover {
   transform: rotate(90deg);
}

.tt-sliding-sidebar-trigger {
   position: fixed;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 0;
   left: 0;
   width: 40px;
   height: 100vh;
   background-color: #1b1b1b;
   font-size: 20px;
   color: grey;
   line-height: 1;
   cursor: pointer;
   transition: background-color 0.3s, color 0.3s, width 0.3s;
}

.tt-ss-right .tt-sliding-sidebar {
   left: auto;
   right: 0;
   transform: translate3d(100%, 0, 0);
}

.tt-ss-right .tt-sliding-sidebar-trigger {
   left: auto;
   right: 0;
}

.blog-interactive-item {
   position: relative;
   margin-bottom: 100px;
}

@media (max-width: 1400px) {
   .blog-interactive-item {
      padding-left: 3%;
      padding-right: 3%;
   }
}

@media (max-width: 768px) {
   .tt-sliding-sidebar-trigger {
      top: auto;
      left: auto;
      right: 10px;
      bottom: 15px;
      width: 40px;
      height: 40px;
      background-color: #4c2122;
      font-size: 16px;
      color: #fff;
      border-radius: 100px;
      z-index: 3;
   }

   .tt-header-tools-dynamic .tt-sliding-sidebar-trigger {
      position: relative;
      bottom: auto;
      right: auto;
      width: 45px;
      height: 45px;
      background-color: transparent;
      border-radius: 0;
   }

   .ph-share .tt-sliding-sidebar-trigger {
      position: relative;
      bottom: auto;
      right: auto;
      width: 40px;
      height: 40px;
      background-color: transparent;
      border-radius: 0;
   }

   .blog-interactive-item {
      padding-left: 0;
      padding-right: 0;
   }

   .bi-item-image {
      display: block;
      margin-bottom: 30px;
      padding-bottom: 60%;
   }

   .bi-item-image img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
   }

   .tt-portfolio-carousel .swiper-slide {
      height: calc(40vh - 50px);
   }

   .tt-pci-categories {
      position: relative;
      margin-top: 10px;
   }
}

@media (min-width: 769px) {
   body.tt-sliding-sidebar-left-on #content-wrap {
      padding-left: 40px;
   }

   body.tt-sliding-sidebar-right-on #content-wrap {
      padding-right: 40px;
   }

   body.tt-sliding-sidebar-left-on .tt-header-inner {
      padding-left: 70px;
   }

   body.tt-sliding-sidebar-right-on .tt-header-inner {
      padding-right: 70px;
   }

   body.tt-sliding-sidebar-left-on .tt-footer-inner {
      padding-left: 35px;
   }

   body.tt-sliding-sidebar-right-on .tt-footer-inner {
      padding-right: 35px;
   }

   body:not(.is-mobile) .tt-sliding-sidebar-trigger:hover {
      width: 54px;
      background-color: #222;
      color: #fff;
   }

   .blog-interactive-item::before {
      position: absolute;
      counter-increment: bi-item-counter;
      content: "" counter(bi-item-counter, decimal-leading-zero);
      top: 45%;
      right: 0;
      line-height: 1;
      font-size: clamp(40px, 12vw, 220px);
      font-weight: 400;
      color: #fff;
      opacity: 0.1;
      z-index: -1;
      transform: translateY(-50%);
   }

   .blog-interactive-item .bi-item-image {
      display: none;
   }

   #ball .bi-item-image {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: -1;
   }

   #ball .bi-item-image::before {
      position: absolute;
      display: block;
      content: "";
      top: -1px;
      left: -1px;
      bottom: -1px;
      right: -1px;
      background-color: #040404;
      opacity: 0.2;
   }
}

@media (max-width: 1400px) {
   .blog-interactive-item::before {
      right: 3%;
   }
}

.bi-item-image {
   position: relative;
   display: block;
   overflow: hidden;
}

.bi-item-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.bi-item-title {
   margin-bottom: 30px;
   font-size: clamp(28px, 3vw, 50px);
   font-weight: 600;
   color: #fff;
   line-height: 1.4;
}

@media (max-width: 768px) {
   .bi-item-title {
      margin-bottom: 15px;
   }
}

.bi-item-title a {
   display: block;
   color: #fff;
}

.blog-interactive-item:not(.bi-item-image-on) .bi-item-title a {
   color: #fff;
   display: inline;
   background-repeat: no-repeat;
   background-image: -o-linear-gradient(transparent calc(100% - 1px), currentColor 1px);
   background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
   background-image: -ms-linear-gradient(transparent 96%, currentColor 1px);
   transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
   background-size: 0 96%;
}

.blog-interactive-item:not(.bi-item-image-on) .bi-item-title a:hover {
   background-size: 100% 96%;
   color: #fff;
}

@media (min-width: 769px) {
   .blog-interactive-item.bi-item-image-on .bi-item-title a,
   .blog-interactive-item:not(.bi-item-image-on) .bi-item-title {
      padding-right: 23%;
   }
}

#magic-cursor.blog-interactive-hover-on {
   z-index: -1;
}

#magic-cursor.blog-interactive-hover-on #ball {
   overflow: hidden;
   border: none !important;
}

#tt-footer {
   position: relative;
   width: 100%;
   font-size: 14px;
   z-index: 2;
}

.tt-footer-inner {
   position: relative;
}

.tt-footer-inner:not(.tt-wrap),
body:not(.tt-boxed) .tt-footer-inner {
   padding-left: 3.5%;
   padding-right: 3.5%;
}

#tt-footer a {
   font-size: 14px;
   width: 70px;
   color: #fff;
}

#tt-footer .tt-btn {
   margin-top: 3px;
   margin-bottom: 3px;
}

#tt-footer .tt-copyright,
#tt-footer .tt-copyright a {
   color: #888;
}

.bar-blur {
   position: absolute;
   width: 100%;
   height: 100%;
   transition: 0.3s ease-in-out;
   backdrop-filter: brightness(0) blur(0px) opacity(0);
}

.bar-blur-scrolled {
   backdrop-filter: brightness(0.6) blur(10px) opacity(1);
   box-shadow: 0 0 30px #0008;
   transition: 0.3s ease-in-out;
}

.index-img {
   width: 480px;
}

.next-project-vid {
   width: inherit;
   height: inherit;
   transform: scale(2.5);
}

@media (max-width: 1600px) {
   .index-img {
      width: 480px !important;
   }
}

@media (max-width: 1025px) {
   .index-img {
      width: 45% !important;
   }
}

@media (max-width: 540px) {
   .index-img {
      width: 65% !important;
      right: 50% !important;
      transform: translate(50%, -15%);
   }

   #page-header.ph-cap-sm .ph-caption-title-ghost {
      font-size: calc(35px + 8vw);
   }

   .text-center-index {
      text-align: center;
   }
}

@media (min-width: 1025px) {
   #tt-footer {
      padding: 30px 0;
   }

   .tt-footer-inner {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
   }

   .footer-col {
      flex: 1;
      padding: 0 15px;
      margin: 0 5px;
   }

   .footer-col:first-child {
      margin-left: 0;
      padding-left: 0;
   }

   .footer-col:last-child {
      margin-right: 0;
      padding-right: 0;
   }

   .footer-col.tt-align-center-left {
      display: flex;
      align-items: center;
   }

   .footer-col.tt-align-center {
      display: flex;
      align-items: center;
      justify-content: center;
   }

   .footer-col.tt-align-center-right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
   }

   #tt-footer .footer-social {
      position: relative;
      line-height: 50px;
      height: 50px;
      pointer-events: auto;
   }

   #tt-footer .footer-social:before {
      position: absolute;
      content: "";
      top: 0;
      bottom: -30px;
      left: 0;
      right: 0;
      z-index: -1;
   }

   #tt-footer .footer-social .footer-social-text {
      display: block;
      text-align: right;
      cursor: pointer;
      opacity: 1;
      visibility: visible;
   }

   #tt-footer .footer-social .footer-social-text > span {
      margin-right: 13px;
   }

   #tt-footer .footer-social .social-buttons {
      opacity: 0;
      visibility: hidden;
      transform: translate3d(0, -50%, 0);
   }

   #tt-footer .footer-social .footer-social-text,
   #tt-footer .footer-social .social-buttons {
      transition: 0.3s;
   }

   #tt-footer .footer-social:hover .footer-social-text {
      transform: translate3d(0, -50%, 0);
      opacity: 0;
      visibility: hidden;
   }

   #tt-footer .footer-social:hover .social-buttons {
      transform: translateY(-100%);
      opacity: 1;
      visibility: visible;
   }
}

@media (max-width: 1024px) {
   #tt-footer {
      padding: 60px 0 80px;
   }

   .tt-footer-inner {
      display: flex;
      flex-direction: column;
   }

   .footer-col {
      display: block;
      margin-bottom: 10px;
      text-align: center;
   }

   .footer-col.order-m-last {
      order: 10;
   }

   #tt-footer .footer-social {
      margin-bottom: 10px;
   }

   #tt-footer .footer-social .footer-social-text {
      display: none;
   }
}

.brand-img {
   max-width: 400px;
}

@media (max-width: 768px) {
   .brand-img {
      max-width: 100%;
   }

   .tt-ol-menu-toggle-btn-text .text-menu {
      display: none;
   }
}

@-webkit-keyframes shake-vertical {
   0%,
   100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
   }

   10%,
   30%,
   50%,
   70% {
      -webkit-transform: translateY(-8px);
      transform: translateY(-8px);
   }

   20%,
   40%,
   60% {
      -webkit-transform: translateY(8px);
      transform: translateY(8px);
   }

   80% {
      -webkit-transform: translateY(6.4px);
      transform: translateY(6.4px);
   }

   90% {
      -webkit-transform: translateY(-6.4px);
      transform: translateY(-6.4px);
   }
}

@keyframes shake-vertical {
   0%,
   100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
   }

   10%,
   30%,
   50%,
   70% {
      -webkit-transform: translateY(-8px);
      transform: translateY(-8px);
   }

   20%,
   40%,
   60% {
      -webkit-transform: translateY(8px);
      transform: translateY(8px);
   }

   80% {
      -webkit-transform: translateY(6.4px);
      transform: translateY(6.4px);
   }

   90% {
      -webkit-transform: translateY(-6.4px);
      transform: translateY(-6.4px);
   }
}
