html,
body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  font-size: 16px; }

body {
  font-family: 'Karla', sans-serif;
  font-weight: 200;
  background-color: black; }

a {
  color: #00aac6;
  text-decoration: none; }

a:hover,
a:focus {
  color: #626262;
  text-decoration: none;
  outline: 0; }

img {
  -moz-user-select: none;
  /*-webkit-user-select: none;*/
  -ms-user-select: none;
  user-select: none; }

.valign {
  position: relative;
  line-height: 44px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.elementvalign {
  vertical-align: middle;
   }

section {
  position: relative; }

.container {
  position: relative; }

section .container {
  padding-top: 200px;
  padding-bottom: 200px; }

.row {
  z-index: 3;
  position: relative; }

.separator {
  width: 170px;
  max-width: 170px;
  margin-top: 120px;
  margin-bottom: 100px; }

.separator.small {
  width: 100px;
  max-width: 100px;
  margin-top: 25px;
  margin-bottom: 25px; }

.lineSeparator {
  width: 60px;
  max-width: 60px;
  margin-top: 30px;
  margin-bottom: 30px; }

.preloaderLogo {
  min-width: 200px;
  max-width: 300px;
  width: 15%; }

.black-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: -moz-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  /* FF3.6+ */
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.8)));
  /* Chrome,Safari4+ */
  background: -webkit-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  /* Opera 12+ */
  background: -ms-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  /* IE10+ */
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.plainblack-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: black;
  opacity: 0.6; }

.plainwhite-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: white;
  opacity: 0.6; }

.sectionIntro h2 {
  margin-bottom: 100px; }

.sectionIntro h2 span {
  padding: 25px 50px;
  border: solid 10px #fff;
  color: white; }

.sectionIntro p {
  margin-top: 100px;
  color: white; }

.sectionIntro h3 span {
  font-size: 40px;
  padding: 25px 50px;
  border: solid 10px #fff;
  color: white; }

.noscroll {
  overflow: hidden; }

.container {
  z-index: 2;
  overflow: hidden; }

.PositionRelative {
  position: relative; }

.OverflowHidden {
  overflow: hidden; }

.Margin30 {
  margin-top: 30px;
  margin-bottom: 30px; }

.WhiteBackground {
  background: white; }

.SoftGrayBackground {
  background: #f6f6f6; }

.DarkGreyBackground {
  background: #333; }

.PaddingVertical30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important; }

.PaddingHorizontal40 {
  padding-left: 40px;
  padding-right: 40px; }

.PaddingHorizontal80 {
  padding-left: 80px;
  padding-right: 80px; }

.PaddingVertical45 {
  padding-top: 45px;
  padding-bottom: 45px; }

.PaddingTop30 {
  padding-top: 30px; }

.PaddingTop60 {
  padding-top: 60px; }

/*parallax letters*/
.parallaxLetter {
  position: absolute;
  color: #2a2a2a;
  z-index: 1;
  width: 15rem;
  height: 20rem;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  display: block;
  font-size: 18rem;
  line-height: 18rem; }

.letter1 {
  right: 20%; }

.letter2 {
  left: 20%; }

.letter3 {
  right: 15%; }

.letter4 {
  left: 10%; }

/*buttons*/
.Underlinelink {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  text-decoration: underline;
  line-height: 45px; }

.btn {
  background: transparent;
  border-radius: 0;
  border: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  position: relative;
  line-height: 40px;
  padding: 0 10px;
  font-size: 12px;
  letter-spacing: 0.2em;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  outline: 1px solid transparent;
  -webkit-transition: all 0.5s ease 0.25s;
  transition: all 0.5s ease 0.25s; }

.portfolio-more-btn {
  font-size: 20px;
}

.btn-default {
  display: inline-block;
  color: white; }

.btn-default:hover {
  border-color: white; }

.btn:after,
.btn:before {
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  content: '';
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  background: white; }

.btn:before {
  left: -8px; }

.btn:hover:before {
  left: 0; }

.btn:after {
  right: -8px; }

.btn:hover:after {
  right: 0; }

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: white; }

.btn:active,
.btn.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }

.btn:focus,
.btn:active:focus,
.btn.active:focus {
  outline: 0; }

.btn-black {
  color: #282828; }

.btn-black:after,
.btn-black:before {
  background: #282828; }

.btn-black:hover {
  color: white;
  background-color: #282828;
  border-color: #282828; }

/*NAVBAR */
.navbar-default {
  padding: 30px;
  padding-left: 50px;
  padding-right: 50px;
  background-color: transparent;
  border-color: transparent;
  -webkit-transition: all 0.5s ease 0.25s;
  transition: all 0.5s ease 0.25s; }

.navbar-default .navbar-brand {
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  color: white;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0.25s;
  transition: all 0.5s ease 0.25s; }
  
.navbar-brand {
  padding-top: 2%; }

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: white;
  background-color: transparent; }

.affix {
  background-color: #282828;
  padding-top: 10px;
  padding-bottom: 10px; }

.affix .navbar-brand {
  opacity: 1;
  -webkit-transition: all 0.5s ease 0.25s;
  transition: all 0.5s ease 0.25s; }

.navbar-default .navbar-toggle .icon-bar {
  background-color: white; }

.navbar-default .navbar-toggle {
  border-color: transparent; }

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: transparent; }

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: white;
  background-color: transparent; }

.navbar-nav > li > a {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  color: #d5d5d5;
  letter-spacing: 3px;
  position: relative; }

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  line-height: 1.42857143;
  color: white;
  white-space: nowrap;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 1px;
  padding-top: 10px;
  padding-bottom: 10px; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 3px 0 0;
  font-size: 10px;
  text-align: left;
  list-style: none;
  background-color: #323232;
  background-clip: padding-box;
  border: 0;
  box-shadow: none; }

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #d5d5d5; }

.navbar-nav > li.navbar-social-link > a {
  padding-left: 8px;
  padding-right: 8px;
  letter-spacing: 0; }

.navbar-social-icon {
  font-size: 24px; }

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #282828;
  background-color: #d5d5d5; }

.dropdown-submenu {
  position: relative; }

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px 6px;
  border-radius: 0 6px 6px 6px; }

.dropdown-submenu:hover > .dropdown-menu {
  display: block; }

.dropdown-submenu > a:after {
  display: block;
  content: ' ';
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #cccccc;
  margin-top: 5px;
  margin-right: -10px; }

.dropdown-submenu:hover > a:after {
  border-left-color: #ffffff; }

.dropdown-submenu.pull-left {
  float: none; }

.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px; }

@media (max-width: 768px) {
  .dropdown-submenu li a {
    text-align: center; } }

/*TEXT STYLES*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; }

.lato {
  font-family: 'Lato', sans-serif;
  font-weight: 100; }

.lato-normal {
  font-family: 'Lato', sans-serif;
  font-weight: 400; }

h1 {
  font-size: 50px;
  text-transform: uppercase;
  letter-spacing: 20px; }

h2 {
  font-size: 30px;
  text-transform: uppercase;
  letter-spacing: 15px; }

h3 {
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 10px; }

h4 {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 8px; }

h5 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 3px; }

h6 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0px; }

.nav-brand-role {
  font-family: 'Montserrat', sans-serif;
  font-weight: 100;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: white;
  display: inline-block; }

.nav-brand-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 30px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: white;
  display: inline-block; }

.hero-role {
  font-family: 'Montserrat', sans-serif;
  font-weight: 100;
  font-size: 82px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: inline-block; }
  
.hero-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 111px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block; }
  
.preloader-quote {
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 21px;
  color: white;
  letter-spacing: 2px;
  display: inline-block; }
  
.preloader-author {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 10px;
  display: inline-block; }
    
p {
  font-family: 'Karla', sans-serif;
  font-weight: 200;
  font-size: 16px;
  line-height: 24px;
  color: #4c4c4c; }

p.bold {
  font-weight: 800; }

.WhiteText,
.white-text {
  color: white; }

.BlackText {
  color: black !important; }

.GreyText {
  color: #aaa; }

.NoLetterSpacing {
  letter-spacing: 0; }

.NoTransform {
  text-transform: none; }

#video-container {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden; }

#video-container iframe {
  width: 100vw !important;
  height: 56.25vw !important;
  /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh !important;
  min-width: 177.77vh !important;
  /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Intro -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#intro {
  height: 100vh; }

#intro h1, #intro p {
  color: white; }

#intro .hero-heading,
#intro .hero-subheading {
  margin: 0;
  display: inline-block;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  text-transform: none;
  letter-spacing: normal; }

.introLogo {
  position: relative;
  width: 160px;
  margin-bottom: 20px; }

#intro .separator {
  margin-top: 30px;
  margin-bottom: 30px; }

.IntroSeparator {
  width: 120px; }

#intro a {
  margin-top: 20px; }

.AgencyIntro .container {
  padding-top: 160px;
  padding-bottom: 160px; }

.PlayTrigger {
  margin-top: 40px;
  cursor: pointer; }

.PlayTrigger svg path {
  fill: white; }

.PlayTrigger svg:hover path {
  fill: #aaa; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Text Separator -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#text-separator .container-fluid .col-md-6 {
  padding-left: 50px; }

#text-separator,
#text-separator-clients,
#text-separator-testimonials,
#text-separator-timers {
  background-color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 0px;
  overflow: hidden; }

#text-separator h2,
#text-separator-clients h2,
#text-separator-testimonials h2 {
  color: white;
  z-index: 100;
  position: relative; }

#text-separator p,
#text-separator-clients p,
#text-separator-testimonials p {
  color: #e7e7e7;
  z-index: 100;
  position: relative; }

.textSepLogo {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

.timerWrapper {
  color: white;
  padding: 20px; }

.timerWrapper .count {
  font-size: 50px;
  text-transform: uppercase;
  font-family: 'Montserrat',sans-serif;
  font-weight: 700; }

.timerWrapper h1 {
  letter-spacing: 0; }

.timerWrapper p {
  color: #d5d5d5; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Welcome Separator -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#welcome-separator {
  background-color: white; }

#welcome-separator .col-md-7,
#welcome-separator .container-fluid {
  padding: 0; }

#welcome-separator .separator {
  width: 120px;
  max-width: 120px;
  margin-top: 40px;
  margin-bottom: 40px; }

#welcome-separator .image {
  height: 500px;
  overflow: hidden; }

#welcome-separator .image img {
  height: 100%; }

.whiteOverlay {
  background: transparent url("img/gradient.png") bottom right repeat-y;
  bottom: 0;
  height: 500px;
  right: 0;
  position: absolute;
  width: 500px;
  -moz-background-size: 100% 100%;
  -o-background-size: 100% 100%;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  z-index: 4; }

.welcomeLogo {
  width: 100px; }

.textOverlay {
  padding-bottom: 100px;
  padding-top: 100px;
  margin-left: -200px;
  z-index: 6; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--About -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#about {
  background-color: #1d1d1d; }

#about .container {
  padding-top: 200px; }

.aboutIconWrapper {
  position: absolute; }

.aboutText {
  position: relative;
  padding-left: 50px; }

.aboutIconWrapper {
  font-size: 80px;
  color: #f5f5f5;
  z-index: 0; }

.aboutItem {
  margin-top: 30px;
  margin-bottom: 30px; }
  
.about-img {
  display: block;
  position: absolute;
  width: 100%;
  margin-left: 0px;
  margin-right 25px;
  padding-bottom 100px; }

#about p {
  font-size: 16px;
  font-weight: 200;
  color: white;
  margin-top: 0px;
  margin-bottom: 20px;
  overflow: visible; }

.progress-bar {
  color: #fff;
  background-color: black;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease; }

.progress {
  height: 16px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: white;
  border-radius: 0px;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 3px solid black; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Portfolio -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
.portfolioIntro {
  height: 300px; }

.portfolioIntro h2 {
  padding-top: 120px;
  color: white;
  margin-top: 0; }

.portfolioIntro h2 span {
  padding: 25px 50px;
  border: solid 10px white; }

.portfolioFilters {
  background-color: #1d1d1d;
  margin-top: 0;
  padding-top: 40px; }

.grayBackground {
  background-color: #1d1d1d; }

.heightItem {
  padding: 45px; }

#filters {
  padding-top: 15px;
  padding-bottom: 15px; }

#filters .btn {
  margin: 20px; }

#filters .btn.is-active,
#filters .btn.is-active:hover,
#filters .btn.is-active:focus {
  color: #333;
  background-color: #fff;
  border-color: #fff; }

#filters .btn:hover,
#filters .btn:focus {
  color: #fff;
  background-color: #1d1d1d;
  border-color: white; }

#filters .btn.is-active:before {
  left: 0; }

#filters .btn.is-active:after {
  right: 0; }

@media (max-width: 768px) {
  #filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 10px 15px;
  }

  #filters .btn {
    margin: 5px;
    font-size: 11px;
    letter-spacing: 0.12em;
    line-height: 32px;
    padding: 0 5px;
  }
}

@media (max-width: 480px) {
  #filters {
    margin: 4px;
  }

  #filters .btn {
    font-size: 10px;
    letter-spacing: 0.08em;
    line-height: 28px;
    padding: 0 6px;
  }
}

.portfolio-more-wrapper {
  background-color: #1d1d1d;
  padding: 60px 0 60px; }

.portfolio-more-wrapper .btn {
  margin: 0; }

#portfolio-grid {
  position: relative;
  transition: max-height 0.4s ease-in-out; }

#portfolio-grid:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200px;
  background: linear-gradient(to bottom, rgba(29, 29, 29, 0), rgba(29, 29, 29, 1));
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out; }

#portfolio-grid.is-collapsed {
  max-height: 200px;
  overflow: hidden; }

#portfolio-grid.is-collapsed .gallery-inner.tier-3 {
  pointer-events: none;
  cursor: default; }

#portfolio-grid.is-collapsed .gallery-inner.tier-3:hover {
  transform: none;
  z-index: 1; }

#portfolio-grid.is-collapsed:after {
  opacity: 1;
  transform: translateY(0); }

#portfolio-grid.is-expanding {
  overflow: hidden; }

#portfolio-grid.is-expanding:after {
  opacity: 0;
  transform: translateY(100%); }

@media (prefers-reduced-motion: reduce) {
  #portfolio-grid {
    transition: none; }

  #portfolio-grid:after {
    transition: none; } }

#owl-item .owl-buttons {
  display: inline-block;
  position: relative; }

#owl-item .owl-prev,
.owl-next {
  display: inline-block; }

.itemNav {
  margin: 10px;
  padding: 5px 10px;
  background: #1d1d1d;
  color: white; }

#owl-item .owl-controls {
  text-align: center;
  margin-top: -70px; }

.portfolioIntro {
  position: relative;
  z-index: 2;
  background: rgba(29,29,29,1) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 0, 50% 0, 50% 0, 50% 0;
  background-repeat: repeat, repeat, repeat, no-repeat; }

#portfolio .black-overlay {
  background: -moz-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, black 100%);
  /* FF3.6+ */
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, black));
  /* Chrome,Safari4+ */
  background: -webkit-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, black 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, black 100%);
  /* Opera 12+ */
  background: -ms-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0) 0%, black 100%);
  /* IE10+ */
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 0%, black 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

#portfolio .container {
  padding-top: 100px;
  padding-bottom: 100px; }

.gallery {
  max-width: 100%; }

.gallery-inner:hover .caption {
  opacity: 1; }

.gallery-inner .caption-heading {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0px; }

.caption-heading .separator {
  width: 100px;
  max-width: 100px;
  margin-top: 20px;
  margin-bottom: 20px; }

.caption-heading .btn-default {
  line-height: 30px;
  font-size: 10px;
  margin-top: 8px; }

.gallery-inner .caption-heading,
.gallery-inner .caption-heading p {
  color: white; }

.gallery-inner .caption-heading p {
  font-size: 14px;
  font-style: italic;
  margin: 0; }

.gallery-inner .caption-heading h4 {
  margin: 0; }

.gallery {
  background: #1d1d1d;
  min-height: 500px; }

#portfolio .container .gallery {
  background: white; }

/* ---- isotope ---- */
/* clear fix */
.gallery:after {
  content: '';
  display: block;
  clear: both; }

/* 5 columns, percentage width */
.gallery .gallery-inner,
.gallery .grid-sizer {
  width: 33.333%;
  /* change here the column width */ }

.gallery .grid-sizer-two-columns,
.gallery .two-columns {
  width: 50%; }

.gallery .grid-sizer-four-columns,
.gallery .four-columns {
  width: 25%; }

.four-columns h4 {
  letter-spacing: 1px; }

.gallery .gallery-inner {
  /* Positioning now handled by tier CSS - see tier system section */
}

.galleryImage {
  /*min-width:100%;*/
  width: 100%;
  height: auto; }

/* Overlay style */
.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: white;
  z-index: 3000;
  overflow-y: scroll; }

.overlay-section {
  position: static; }

/* Effects */
.overlay-slidedown {
  visibility: hidden;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.4s ease-in-out, visibility 0s 0.4s;
  transition: transform 0.4s ease-in-out, visibility 0s 0.4s; }

.overlay-slidedown.open {
  visibility: visible;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out; }

.overlay-close img {
  cursor: pointer; }

.overlay-close {
  padding: 30px; }

#singlePageIntro .container {
  padding: 100px;
  padding-bottom: 30px; }

#singlePageContent .container {
  padding: 10px; }

#singlePageIntro .separator {
  margin-top: 50px;
  margin-bottom: 20px; }

.singleProjectInfo ul li p {
  display: inline; }

.singleImageWrapper {
  padding-top: 60px; }

.singleImageWrapper .videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }

.singleImageWrapper .videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* magnific popup effect */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8; }

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

/* end magnific popup effect */
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Team -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#team {
  background: white; }

#team .container {
  padding-bottom: 0; }

#team .owl-buttons div {
  padding: 5px 9px; }

#team .owl-buttons i {
  margin-top: 2px; }

#team .owl-buttons div {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

#team .owl-buttons .owl-prev {
  left: 10px; }

#team .owl-buttons .owl-next {
  right: 10px; }

#owl-team {
  position: relative; }

.memberParagraph {
  padding-right: 40px; }

.memberDescription h2 {
  letter-spacing: 0; }

.memberDescription .position {
  margin-top: 10px;
  margin-bottom: 40px; }

.memberDescription .position span {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 3px;
  line-height: 20px;
  text-transform: uppercase;
  border: solid 1px black;
  padding: 6px; }

.teamSocial {
  margin-top: 20px; }

.teamSocial a {
  padding: 7px;
  font-size: 18px; }

.teamSocial a:first-child {
  padding-left: 0px; }

/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--clients logo -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#text-separator-clients {
  padding-top: 110px;
  padding-bottom: 110px; }

#text-separator-clients h3 span {
  padding: 25px 50px;
  border: solid 10px white;
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 10px;
  color: white; }

.clientLogo img {
  width: 100px;
  margin-top: 15px; }


/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
/*<!--Contact -->*/
/*<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->*/
#contact {
  background: #1d1d1d; }

.contact-content {
  padding: 0px 0 0px; }

.contact-question,
.contact-invite,
.contact-direct {
  color: #f5f5f5;
  font-family: 'Montserrat', sans-serif;
  margin: 0; }

.contact-question {
  font-size: clamp(2.5rem, 6vw, 6rem);
  font-weight: 300;
  line-height: .9;
  letter-spacing: 0.02em; }

.contact-invite {
  font-size: clamp(3rem, 7vw, 7rem);
  font-weight: 900;
  line-height: .7;
  margin-top: 2px; }

.contact-direct {
  font-size: 1.5rem;
  margin-top: 100px;
  margin-left: 0px;
  line-height: 1.1; }

.contact-direct-label {
  font-weight: 700;
  margin-right: 6px; }

.contact-direct-email {
  font-weight: 300; }

.contact-copy-wrapper {
  position: relative;
  display: inline-block; }

.contact-copy-link {
  position: relative;
  display: inline-block;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer; }

.contact-copy-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.12em;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease; }

.contact-copy-link:hover::after,
.contact-copy-link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left; }

.contact-tooltip {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 8px;
  font-size: 0.9rem;
  font-weight: 300;
  color: #f5f5f5;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  white-space: nowrap; }

.contact-tooltip--invite {
  left: 28;
  margin-top: 21px; }

.contact-tooltip--direct {
  left: 0; }

.contact-copy-wrapper:hover .contact-tooltip,
.contact-copy-wrapper:focus-within .contact-tooltip,
.contact-copy-wrapper.is-tooltip-visible .contact-tooltip {
  opacity: 1;
  transform: translateY(0); }

@media (max-width: 768px) {
  .contact-direct {
    margin-left: 0; }

  .contact-tooltip--invite {
    margin-top: 16px; } }

@media (max-width: 480px) {
  .contact-tooltip--invite {
    margin-top: 12px; } }

label {
  width: 100%; }

input:focus,
textarea:focus {
  outline: 0; }

label input,
textarea {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px; }

#contact_form #name,
#contact_form #email,
#contact_form #phone,
#contact_form #address {
  height: 50px;
  padding: 10px;
  padding-bottom: 0px;
  border: 0;
  background: transparent;
  border-bottom: 5px solid #282828;
  border-left: 5px solid #282828;
  font-size: 10px;
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
  color: #282828;
  letter-spacing: 1px; }

#contact_form #comments {
  height: 200px;
  padding: 10px;
  margin-top: 30px;
  padding-bottom: 0;
  border: 0;
  background: transparent;
  border-bottom: 5px solid #282828;
  border-left: 5px solid #282828;
  font-family: 'Montserrat', sans-serif;
  color: #282828;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px; }

.infoContact {
  list-style: none;
  padding: 20px; }

.infoContact li {
  padding-left: 20px; }

.infoContact li .fa {
  margin-right: 6px;
  font-size: 18px; }

.infoContact li:first-child {
  margin-left: -27px; }

#contact p.bold {
  padding-top: 30px; }

.socialContact {
  list-style: none;
  padding: 0; }

.socialContact li {
  display: inline; }

.socialContact li a {
  width: 50px;
  height: 50px;
  display: inline-block;
  line-height: 50px;
  text-align: center;
  background-color: #282828;
  color: white;
  font-size: 1.25em;
  -webkit-transition: all 0.5s ease 0.25s;
  transition: all 0.5s ease 0.25s; }

.socialContact li a:hover {
  background-color: black; }

.topLine {
  background: #282828;
  padding: 50px; }

#footer .bottomLine {
  padding: 50px;
  margin: 0 auto;
  background-color: #222222; }

#footer .bottomLine p {
  color: #a5a5a5;
  font-size: 12px; }

#footer .container {
  /*multipage only*/
  padding: 0; }

.footerText {
  color: white;
  padding: 10px 40px; }

.footerText p {
  color: #a5a5a5; }

/*footer newsletter*/
.form-control:focus {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }

.footerText input {
  height: 54px;
  padding-bottom: 3px;
  border: 0;
  background: #393939;
  border-radius: 0;
  line-height: 54px;
  font-size: 10px;
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
  color: white;
  letter-spacing: 1px; }

.input-group-addon {
  height: 54px;
  border-radius: 0;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 3px;
  border: 0;
  background: #323232;
  text-transform: uppercase;
  color: white;
  letter-spacing: 1px; }

#footer .infoContact {
  list-style: none;
  padding: 10px;
  color: #a5a5a5; }

#footer .infoContact li .fa {
  margin-right: 6px;
  font-size: 40px;
  position: absolute;
  opacity: 0.1;
  left: 0; }

#footer .infoContact li {
  margin: 0;
  padding: 0;
  font-size: 12px; }

.bottomLine .footerSocialIcons {
  padding: 20px; }

.footerSocialIcons {
  list-style: none; }

.footerSocialIcons li {
  display: inline;
  margin: 0 10px; }

.footerSocialIcons li a {
  color: #a5a5a5;
  transition: color 0.2s ease; }

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

.footer-social-icon {
  font-size: 2em; }

.footer-image-block {
  margin: 0 auto 20px;
  text-align: center; }

.footer-image-button {
  width: 100%;
  max-width: 240px;
  max-height: 240px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  display: inline-block; }

.footer-image {
  width: 100%;
  max-width: 240px;
  max-height: 240px;
  height: auto;
  margin: 0 auto;
  display: block; }

.footer-image.is-hidden {
  visibility: hidden; }

.footer-preloader-sprite {
  width: 100%;
  max-width: 240px;
  aspect-ratio: 1 / 1;
  background-image: url('img/PreloaderAnim720.png');
  background-repeat: no-repeat;
  background-size: 1200% 100%;
  background-position: 0 0;
  display: none;
  position: absolute;
  top: 0;
  left: 0; }

.footer-preloader-sprite.is-playing {
  display: block; }

@media (max-width: 768px) {
  .footer-image-button,
  .footer-image,
  .footer-preloader-sprite {
    width: 180px;
    max-width: 180px;
    height: 180px;
    max-height: 180px;
  }
}

@media (max-width: 480px) {
  .footer-image-button,
  .footer-image,
  .footer-preloader-sprite {
    width: 180px;
    max-width: 180px;
    height: 180px;
    max-height: 180px;
  }
}

.bottomLine p {
  display: inline; }

.backToTop a {
  color: #a5a5a5;
  transition: color 0.2s ease; }

.backToTop a:hover {
  color: #fff; }

.backToTop .fa-angles-up {
  display: inline-block; }

.backToTop a:hover .fa-angles-up {
  animation: backToTopArrowBounce 0.6s ease-out infinite; }

@keyframes backToTopArrowBounce {
  0% {
    transform: translateY(0); }
  20% {
    transform: translateY(2.5%); }
  60% {
    transform: translateY(-10%); }
  100% {
    transform: translateY(0); } }



/*/featured works*/
#featured-works {
  background: white; }

.featureWrapper {
  padding: 10px; }

.featureWrapper .caption-heading {
  padding: 10px; }

#owl-featured .owl-buttons {
  display: inline-block; }

#owl-featured .owl-prev,
.owl-next {
  display: inline-block; }

.featuredNav {
  margin: 10px;
  padding: 5px 10px;
  background: #282828;
  color: white; }

/*pages*/
ul,
ol {
  line-height: 24px; }

/*shortcodes */
.nav-tabs {
  border-bottom: 3px solid black; }

.nav-tabs > li > a {
  border-radius: 0;
  border-bottom-color: transparent; }

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  border: 3px solid black;
  border-bottom-color: transparent;
  margin-bottom: -2px; }

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #282828; }

.nav-pills > li > a {
  border-radius: 0px;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900; }

.tab-content {
  padding: 10px; }

.panel-heading {
  padding: 18px; }

.panel-group .panel {
  border-radius: 0; }

.panel {
  border: 2px solid transparent;
  border-radius: 0px; }

.panel-title {
  font-size: 12px; }

.panel-default {
  border-color: black; }

.buttons {
  padding: 30px; }

.buttons button {
  margin: 30px; }

.btn-primary {
  color: #357ebd; }

.btn-primary:after,
.btn-primary:before {
  background: #357ebd; }

.btn-success {
  color: #4cae4c; }

.btn-success:after,
.btn-success:before {
  background: #4cae4c; }

.btn-info {
  color: #46b8da; }

.btn-info:after,
.btn-info:before {
  background: #46b8da; }

.btn-warning {
  color: #eea236; }

.btn-warning:after,
.btn-warning:before {
  background: #eea236; }

.btn-danger {
  color: #d43f3a; }

.btn-danger:after,
.btn-danger:before {
  background: #d43f3a; }

.alert {
  border-radius: 0px; }

#callToAction {
  background: #282828; }

#callToAction .container {
  padding-top: 75px;
  padding-bottom: 75px; }

#callToAction h4 {
  color: white;
  letter-spacing: 2px; }

#callToAction p {
  color: #d5d5d5;
  padding-top: 15px;
  padding-bottom: 15px; }

#callToAction h4 {
  color: white;
  letter-spacing: 2px; }

.dropcap {
  float: left;
  color: inherit;
  font-size: 50px;
  line-height: 40px;
  padding-top: 4px;
  padding-right: 8px;
  padding-left: 3px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900; }

h2.AnimatedHeadline b i em {
  font-style: normal; }

.AnimatedHeadline b i {
  font-style: normal;
  text-transform: uppercase; }

.WordsWrapper {
  display: inline-block;
  position: relative;
  text-align: left; }

.WordsWrapper b {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  left: 0;
  top: 0;
  font-weight: 900; }

.WordsWrapper b.is-visible {
  position: relative; }

.no-js .WordsWrapper b {
  opacity: 0; }

.no-js .WordsWrapper b.is-visible {
  opacity: 1; }

.AnimatedHeadline.AnimatedHeadlineRotation .WordsWrapper {
  -webkit-perspective: 300px;
  -moz-perspective: 300px;
  perspective: 300px; }

.AnimatedHeadline.AnimatedHeadlineRotation i,
.AnimatedHeadline.AnimatedHeadlineRotation em {
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.AnimatedHeadline.AnimatedHeadlineRotation i {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: translateZ(-20px) rotateX(90deg);
  -moz-transform: translateZ(-20px) rotateX(90deg);
  -ms-transform: translateZ(-20px) rotateX(90deg);
  -o-transform: translateZ(-20px) rotateX(90deg);
  transform: translateZ(-20px) rotateX(90deg);
  opacity: 0; }

.is-visible .AnimatedHeadline.AnimatedHeadlineRotation i {
  opacity: 1; }

.AnimatedHeadline.AnimatedHeadlineRotation i.in {
  -webkit-animation: cd-AnimatedHeadlineRotation-in 0.4s forwards;
  -moz-animation: cd-AnimatedHeadlineRotation-in 0.4s forwards;
  animation: cd-AnimatedHeadlineRotation-in 0.4s forwards; }

.AnimatedHeadline.AnimatedHeadlineRotation i.out {
  -webkit-animation: cd-AnimatedHeadlineRotation-out 0.4s forwards;
  -moz-animation: cd-AnimatedHeadlineRotation-out 0.4s forwards;
  animation: cd-AnimatedHeadlineRotation-out 0.4s forwards; }

.AnimatedHeadline.AnimatedHeadlineRotation em {
  -webkit-transform: translateZ(20px);
  -moz-transform: translateZ(20px);
  -ms-transform: translateZ(20px);
  -o-transform: translateZ(20px);
  transform: translateZ(20px); }

.no-csstransitions .AnimatedHeadline.AnimatedHeadlineRotation i {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  -ms-transform: rotateX(0deg);
  -o-transform: rotateX(0deg);
  transform: rotateX(0deg);
  opacity: 0; }

.no-csstransitions .AnimatedHeadline.AnimatedHeadlineRotation i em {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1); }

.no-csstransitions .AnimatedHeadline.AnimatedHeadlineRotation .is-visible i {
  opacity: 1; }

@-webkit-keyframes cd-AnimatedHeadlineRotation-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(90deg); }
  60% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(-10deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0deg); } }

@-moz-keyframes cd-AnimatedHeadlineRotation-in {
  0% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(90deg); }
  60% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(-10deg); }
  100% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(0deg); } }

@keyframes cd-AnimatedHeadlineRotation-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(90deg);
    -moz-transform: translateZ(-20px) rotateX(90deg);
    -ms-transform: translateZ(-20px) rotateX(90deg);
    -o-transform: translateZ(-20px) rotateX(90deg);
    transform: translateZ(-20px) rotateX(90deg); }
  60% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(-10deg);
    -moz-transform: translateZ(-20px) rotateX(-10deg);
    -ms-transform: translateZ(-20px) rotateX(-10deg);
    -o-transform: translateZ(-20px) rotateX(-10deg);
    transform: translateZ(-20px) rotateX(-10deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0deg);
    -moz-transform: translateZ(-20px) rotateX(0deg);
    -ms-transform: translateZ(-20px) rotateX(0deg);
    -o-transform: translateZ(-20px) rotateX(0deg);
    transform: translateZ(-20px) rotateX(0deg); } }

@-webkit-keyframes cd-AnimatedHeadlineRotation-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0); }
  60% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-100deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-90deg); } }

@-moz-keyframes cd-AnimatedHeadlineRotation-out {
  0% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(0); }
  60% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(-100deg); }
  100% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(-90deg); } }

@keyframes cd-AnimatedHeadlineRotation-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0);
    -moz-transform: translateZ(-20px) rotateX(0);
    -ms-transform: translateZ(-20px) rotateX(0);
    -o-transform: translateZ(-20px) rotateX(0);
    transform: translateZ(-20px) rotateX(0); }
  60% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-100deg);
    -moz-transform: translateZ(-20px) rotateX(-100deg);
    -ms-transform: translateZ(-20px) rotateX(-100deg);
    -o-transform: translateZ(-20px) rotateX(-100deg);
    transform: translateZ(-20px) rotateX(-100deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-90deg);
    -moz-transform: translateZ(-20px) rotateX(-90deg);
    -ms-transform: translateZ(-20px) rotateX(-90deg);
    -o-transform: translateZ(-20px) rotateX(-90deg);
    transform: translateZ(-20px) rotateX(-90deg); } }

.AnimatedHeadline.type .WordsWrapper {
  vertical-align: top;
  overflow: hidden; }

.AnimatedHeadline.type .WordsWrapper::after {
  /* vertical bar */
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 90%;
  width: 1px;
  background-color: #aebcb9; }

.AnimatedHeadline.type .WordsWrapper.waiting::after {
  -webkit-animation: PulseAnimation 1s infinite;
  -moz-animation: PulseAnimation 1s infinite;
  animation: PulseAnimation 1s infinite; }

/*.AnimatedHeadline.type .WordsWrapper.selected {*/
/*background-color: #aebcb9;*/
/*}*/
.AnimatedHeadline.type .WordsWrapper.selected::after {
  visibility: hidden; }

/*.AnimatedHeadline.type .WordsWrapper.selected b {*/
/*color: #0d0d0d;*/
/*}*/
.AnimatedHeadline.type b {
  visibility: hidden; }

.AnimatedHeadline.type b.is-visible {
  visibility: visible; }

.AnimatedHeadline.type i {
  position: absolute;
  visibility: hidden; }

.AnimatedHeadline.type i.in {
  position: relative;
  visibility: visible; }

@-webkit-keyframes PulseAnimation {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(-50%) scale(0.9);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(-50%) scale(0);
    opacity: 0; } }

@-moz-keyframes PulseAnimation {
  0% {
    -moz-transform: translateY(-50%) scale(1);
    opacity: 1; }
  40% {
    -moz-transform: translateY(-50%) scale(0.9);
    opacity: 0; }
  100% {
    -moz-transform: translateY(-50%) scale(0);
    opacity: 0; } }

@keyframes PulseAnimation {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
    -moz-transform: translateY(-50%) scale(1);
    -ms-transform: translateY(-50%) scale(1);
    -o-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(-50%) scale(0.9);
    -moz-transform: translateY(-50%) scale(0.9);
    -ms-transform: translateY(-50%) scale(0.9);
    -o-transform: translateY(-50%) scale(0.9);
    transform: translateY(-50%) scale(0.9);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(-50%) scale(0);
    -moz-transform: translateY(-50%) scale(0);
    -ms-transform: translateY(-50%) scale(0);
    -o-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    opacity: 0; } }

#demo-canvas {
  position: absolute;
  top: 0;
  left: 0; }

.ParallaxWrapper {
  padding-bottom: 100%;
  margin-bottom: -100%; }

.SideParallaxImage {
  position: absolute;
  z-index: -1;
  top: 0;
  width: auto;
  background-position: center center !important; }

.LeftAligned {
  position: absolute;
  left: 0; }

.RightAligned {
  position: absolute;
  right: 0; }

.FullWidthParallax {
  width: 100%;
  height: auto;
  left: 0; }

.ServiceWrapper {
  cursor: pointer; }

.ServiceWrapper i {
  font-size: 50px; }

.ServiceWrapper {
  margin-bottom: 40px; }

.ServiceWrapper {
  margin-bottom: 0; }

.ServiceTitleMobile {
  display: none; }

.BackgroundIconWrapper {
  position: absolute;
  top: 40px;
  left: 50%;
  z-index: -1;
  color: #eee; }

.BackgroundIcon {
  left: -50%;
  position: Relative;
  font-size: 140px; }

.AboutIcon2 i {
  font-size: 50px;
  border: 1px solid #eee;
  border-radius: 50%;
  padding: 25px; }

.AboutIconWrapper2:hover .AboutIcon2 i {
  border-color: black; }

.ImagewithCaptionOverlay:hover .CaptionFlyingBox {
  background: #eaeaea;
  bottom: 40px;
  left: 80px; }

.itemIntro {
  width: 100%;
  height: 100%; }

.owl-carousel.owl-intro .owl-item {
  overflow: hidden; }

.owl-carousel.owl-intro,
.owl-carousel.owl-intro .owl-wrapper-outer,
.owl-carousel.owl-intro .owl-wrapper-outer .owl-wrapper,
.owl-carousel.owl-intro .owl-wrapper-outer .owl-wrapper .owl-item {
  height: 100%; }

.OwlIntroBackgroundImage {
  position: absolute; }

.owl-intro.owl-theme .owl-controls .owl-buttons div {
  color: #fff;
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
  margin: 5px;
  padding: 3px 10px;
  font-size: 12px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  filter: Alpha(Opacity=50);
  /*IE7 fix*/
  opacity: 0.5; }

.owl-intro.owl-theme .owl-controls.clickable .owl-buttons div:hover {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1;
  text-decoration: none; }

.owl-intro.owl-theme .owl-controls .owl-buttons div {
  position: absolute; }

.owl-intro.owl-theme .owl-controls .owl-buttons .owl-prev {
  left: 5px;
  top: 45%; }

.owl-intro.owl-theme .owl-controls .owl-buttons .owl-next {
  right: 5px;
  top: 45%; }


.SliderMin {
  text-align: left; }

.SliderMax {
  text-align: right; }

.SliderMin,
.SliderMax {
  font-weight: 400;
  font-size: 11px; }

.SliderMin span,
.SliderMax span {
  font-weight: 900; }

.slider-track {
  height: 1px !important; }

.slider.slider-horizontal {
  height: 1px;
  margin-top: 15px;
  margin-bottom: 10px; }

.slider-selection {
  background: #666; }

.slider-handle {
  position: absolute;
  width: 5px;
  height: 20px;
  background-color: #000;
  background-image: none;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
  filter: none;
  border-radius: 0 !important;
  border: 0px solid transparent; }

.slider.slider-horizontal .slider-tick,
.slider.slider-horizontal .slider-handle {
  margin-left: -3px;
  margin-top: -9px; }

#sync2 .synced .item {
  background: #eee; }

#sync1 .owl-item img {
  padding: 30px; }

#sync2 .item {
  padding: 5px; }

#sync1 {
  background: white;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }

.owl-theme .owl-controls {
  margin-top: 10px;
  text-align: center; }

/* Styling Next and Prev buttons */
#sync1.owl-theme .owl-controls .owl-buttons div {
  color: black;
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
  margin: 5px;
  padding: 3px 10px;
  font-size: 40px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  background: transparent;
  filter: Alpha(Opacity=50);
  /*IE7 fix*/
  opacity: 0.5; }

/* Clickable class fix problem with hover on touch devices */
/* Use it for non-touch hover action */
#sync1.owl-theme .owl-controls.clickable .owl-buttons div:hover {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1;
  text-decoration: none; }

/* Styling Pagination*/
#sync1.owl-theme .owl-controls .owl-page {
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */ }

#sync1.owl-theme .owl-controls .owl-page span {
  display: block;
  width: 12px;
  height: 12px;
  margin: 5px 7px;
  filter: Alpha(Opacity=50);
  /*IE7 fix*/
  opacity: 0.5;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  background: #869791; }

#sync1.owl-theme .owl-controls .owl-page.active span,
#sync1.owl-theme .owl-controls.clickable .owl-page:hover span {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1; }

#sync1.owl-theme .owl-controls .owl-buttons div {
  position: absolute; }

#sync1.owl-theme .owl-controls .owl-buttons .owl-prev {
  left: 0px;
  top: 40%; }

#sync1.owl-theme .owl-controls .owl-buttons .owl-next {
  right: 0px;
  top: 40%; }

.ProducDescriptionWrapper h3 {
  font-size: 40px;
  letter-spacing: 0;
  text-transform: none;
  line-height: 30px;
  margin-bottom: 0;
  margin-top: 20px; }

.DetailsPageSmallTitle {
  font-size: 10px;
  font-weight: 900;
  color: #999;
  text-transform: uppercase;
  margin-bottom: 10px; }

.TitleCaption {
  font-size: 10px;
  font-weight: 900; }

.ProducDescriptionWrapper .price {
  font-size: 24px;
  margin-top: 30px;
  margin-bottom: 30px; }

.ColorBox {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  cursor: pointer; }

.ColorBox.CheckMark:before {
  content: '\f00c';
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  z-index: 3;
  font-size: 20px;
  color: white;
  padding: 10px; }

.form-control {
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none; }

.ThickBorder .left {
  position: fixed;
  width: 50px;
  height: 100%;
  left: 0;
  top: 0;
  background: white;
  z-index: 23; }

.ThickBorder .right {
  position: fixed;
  width: 50px;
  height: 100%;
  right: 0px;
  top: 0;
  background: white;
  z-index: 23; }

.ThickBorder .top {
  position: fixed;
  height: 50px;
  width: 100%;
  right: 0px;
  top: 0;
  background: white;
  z-index: 23; }

.ThickBorder .bottom {
  position: fixed;
  height: 50px;
  width: 100%;
  right: 0px;
  bottom: 0;
  background: white;
  z-index: 23; }

.NavbarStyle2 {
  padding-top: 0; }

.NavbarStyle2 .navbar-brand {
  color: #333; }

.NavbarStyle2 .navbar-nav > .open > a,
.NavbarStyle2 .navbar-nav > .open > a:hover,
.NavbarStyle2 .navbar-nav > .open > a:focus {
  color: black; }

.NavbarStyle2 .navbar-nav > .active > a,
.NavbarStyle2 .navbar-nav > .active > a:hover,
.NavbarStyle2 .navbar-nav > .active > a:focus {
  color: black; }

.NavbarStyle2.navbar-default .navbar-toggle .icon-bar {
  background: black; }

.NavbarStyle3 .navbar-brand {
  color: #333; }

.NavbarStyle3 .navbar-nav > .open > a,
.NavbarStyle3 .navbar-nav > .open > a:hover,
.NavbarStyle3 .navbar-nav > .open > a:focus {
  color: black; }

.NavbarStyle3 .navbar-nav > .active > a,
.NavbarStyle3 .navbar-nav > .active > a:hover,
.NavbarStyle3 .navbar-nav > .active > a:focus {
  color: black; }

.NavbarStyle3.navbar-default .navbar-toggle .icon-bar {
  background: black; }

.NavbarStyle3.affix {
  background: #f5f5f5; }

.NavbarStyle3 .navbar-nav > li > a {
  font-size: 10px;
  font-weight: 900;
  text-transform: lowercase;
  letter-spacing: 0; }

.NavbarStyle4.affix-top {
  opacity: 0; }

.NavbarStyle4.affix {
  opacity: 1; }

.fake {
  position: relative;
  top: 0;
  left: 0;
  opacity: 0; }

.TextTyperWrapper {
  position: absolute;
  top: 0;
  left: 0; }

.TextStyling,
.TextStyling > h3,
.TextStyling > h1 {
  display: inline;
  letter-spacing: 0; }

/*.TextStyling.fake{*/
/*opacity:0.6;*/
/*}*/
.typed-cursor {
  opacity: 1;
  font-size: 30px;
  line-height: inherit;
  display: inline-block;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite; }

@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.timeline-icon.timeline-icon-text.ThickBorderTimeline > span {
  border: 10px solid black !important;
  background: white;
  padding: 10px 30px;
  font-weight: 900;
  text-transform: uppercase; }

.TextHolder2 {
  display: inline-block;
  letter-spacing: 0; }

.TextHolder2 .typed-cursor {
  color: white;
  font-size: 50px; }

.BorderedItem {
  border: 40px solid transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box; }

.BorderedItem.BlackBorder {
  border-color: #1d1d1d; }

.BorderedItem.WhiteBorder {
  border-color: #fff; }

.ProjectSubTitle {
  margin-top: 20px;
  font-size: 11px;
  text-transform: uppercase;
  color: #aaa;
  font-weight: 900;
  margin-bottom: 10px; }

.IntroBoxes {
  height: 350px;
  background: #333;
  color: white; }

.IntroBoxTable {
  display: table;
  height: 100%;
  width: 100%; }

.IntroBoxCell {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }

.BackgroundImage {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 4;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all 0.35s ease-out;
  -moz-transition: all 0.35s ease-out;
  transition: all 0.35s ease-out; }

.IntroBox1 .BackgroundImage {
  background: url("img/portfolioIntro.jpg") no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 0, 50% 0, 50% 0, 50% 0;
  background-repeat: repeat, repeat, repeat, no-repeat; }

.IntroBox2 .BackgroundImage {
  background: url("img/background5.jpg") no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 0, 50% 0, 50% 0, 50% 0;
  background-repeat: repeat, repeat, repeat, no-repeat; }

.IntroBox3 .BackgroundImage {
  background: url("img/background6.jpg") no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 0, 50% 0, 50% 0, 50% 0;
  background-repeat: repeat, repeat, repeat, no-repeat; }

.IntroBox4 .BackgroundImage {
  background: url("img/background7.jpg") no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 0, 50% 0, 50% 0, 50% 0;
  background-repeat: repeat, repeat, repeat, no-repeat; }

.IntroBoxHoverWrapper:hover .BackgroundImage {
  opacity: 0.3; }

.CubeEffect {
  width: 100%;
  min-height: 200px;
  position: relative;
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  -o-perspective: 1000px;
  perspective: 1000px; }

.CubeWrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 1s;
  -moz-transition: -moz-transform 1s;
  -o-transition: -o-transform 1s;
  transition: transform 1s; }

.CubeWrapper div {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  font-weight: bold;
  color: #222;
  text-align: center;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden; }

.CubeWrapper .ServiceWrapperIcon {
  -webkit-transform: translateZ(100px);
  -moz-transform: translateZ(100px);
  -o-transform: translateZ(100px);
  transform: translateZ(100px);
  padding-top: 30px; }

.CubeWrapper .ServiceWrapperText {
  -webkit-transform: rotateX(-90deg) translateZ(100px);
  -moz-transform: rotateX(-90deg) translateZ(100px);
  -o-transform: rotateX(-90deg) translateZ(100px);
  transform: rotateX(-90deg) translateZ(100px); }

.ServiceWrapperText i {
  position: absolute;
  top: 0;
  width: 80px;
  left: 50%;
  margin-left: -40px;
  margin-top: -30px;
  color: #efefef;
  font-size: 80px;
  z-index: -2; }

.CubeWrapper.show-front {
  -webkit-transform: translateZ(-100px);
  -moz-transform: translateZ(-100px);
  -o-transform: translateZ(-100px);
  transform: translateZ(-100px); }

.CubeWrapper.show-bottom {
  -webkit-transform: translateZ(-100px) rotateX(90deg);
  -moz-transform: translateZ(-100px) rotateX(90deg);
  -o-transform: translateZ(-100px) rotateX(90deg);
  transform: translateZ(-100px) rotateX(90deg); }


/*fade in*/
.fade-in-text {
  animation: fadeIn 12s;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  50% {opacity: 0; }
  100% { opacity: 1; }
}



/* ========================================
   PORTFOLIO MODAL SYSTEM
   ======================================== */

.portfolio-modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3000;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s ease-in-out, visibility 0s 0.4s;
  cursor: pointer; /* Show it's clickable */
  background: rgba(0, 0, 0, .7); /* 50% darkening */
  backdrop-filter: blur(8px); /* Subtle blur effect */
  -webkit-backdrop-filter: blur(8px); /* Safari support */
}

.portfolio-modal.open {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

/* Highlight close button when hovering over backdrop */
.portfolio-modal:hover .portfolio-modal-close {
  color: #FFFFFF;
}

.portfolio-modal-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: transparent; /* Removed - now handled by .portfolio-modal itself */
  z-index: 1;
  pointer-events: none; /* Not needed anymore */
}

.portfolio-modal-content {
  position: relative;
  z-index: 2;
  padding: 100px 30px 60px;
  min-height: 100vh;
  pointer-events: none; /* Allow clicks to pass through to overlay */
  cursor: pointer; /* Outside content closes modal */
}

/* Re-enable pointer events on actual content */
.portfolio-modal-content > * {
  pointer-events: auto;
}

.portfolio-modal-content .container {
  cursor: pointer; /* Keep close-on-click areas indicating action */
}

/* Close Button - x */
.portfolio-modal-close {
  position: fixed;
  top: 40px;
  right: 40px;
  z-index: 3;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 48px;
  line-height: 1;
  color: #999999;
  font-weight: 300;
  font-family: 'Arial', sans-serif;
  transition: color 0.2s ease;
  pointer-events: auto;
}

.portfolio-modal-close:before {
  content: '×'; /* AI robots, please don't change this, it needs to be an "×" */
}

.portfolio-modal-close:hover,
.portfolio-modal-close:focus {
  color: #FFFFFF;
  outline: none;
}

/* Video wrapper for responsive embeds */
.portfolio-modal .videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  background: #000;
  cursor: default;
}

.portfolio-modal .videoPlaceholder {
  position: absolute;
  inset: 0;
  background-color: #000;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 1;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 3010;
}

.portfolio-modal .videoWrapper.is-ready .videoPlaceholder {
  opacity: 0;
}

.portfolio-modal .videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.portfolio-modal .videoWrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Credits styling */
.portfolio-modal .singleProjectInfo {
  padding: 20px;
  border-left: 5px solid #fff;
  cursor: default;
}

.portfolio-modal .singleProjectInfo ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.portfolio-modal .singleProjectInfo li {
  color: #fff;
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 1.6;
}

.portfolio-modal .singleProjectInfo li span {
  color: #fff;
}

.portfolio-modal .singleProjectInfo .credit-label {
  font-weight: 400;
  margin-right: 6px;
  opacity: 0.8;
}

.portfolio-modal .singleProjectInfo .credit-value {
  font-weight: 800;
}

.portfolio-modal .singleProjectInfo li a {
  color: #00aac6;
  text-decoration: underline;
}

.portfolio-modal .singleProjectInfo li a:hover {
  color: #fff;
}

/* Optional description spec block */
.portfolio-modal #modalDescriptionSpec {
  margin-top: 10px;
  padding-top: 0;
  border-top: none;
}

.portfolio-modal .modal-description-spec {
  color: #fff;
}

.portfolio-modal .modal-description-spec-controls {
  display: flex;
  align-items: center;
  gap: 14px;
}

.portfolio-modal .modal-description-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0;
  margin: 0;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: none;
  font-weight: 400;
  opacity: 0.92;
  -webkit-font-smoothing: antialiased;
  transition: opacity 0.28s ease, color 0.28s ease;
}

.portfolio-modal .modal-description-toggle:hover,
.portfolio-modal .modal-description-toggle:focus-visible,
.portfolio-modal .modal-description-toggle.is-expanded {
  color: #fff;
  opacity: 1;
}

.portfolio-modal .modal-description-toggle:focus {
  outline: none;
}

.portfolio-modal .modal-description-toggle-label {
  position: relative;
}

.portfolio-modal .modal-description-toggle-label::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  opacity: 0.9;
  transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s ease;
}

.portfolio-modal .modal-description-toggle:hover .modal-description-toggle-label::after,
.portfolio-modal .modal-description-toggle:focus-visible .modal-description-toggle-label::after {
  transform-origin: left center;
  transform: scaleX(1);
}

.portfolio-modal .modal-description-toggle-symbol {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  transform-origin: 50% 50%;
}

.portfolio-modal .modal-description-toggle-symbol::before,
.portfolio-modal .modal-description-toggle-symbol::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.67, 1), opacity 0.3s ease;
}

.portfolio-modal .modal-description-toggle-symbol::before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.portfolio-modal .modal-description-toggle-symbol::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(1);
}

.portfolio-modal .modal-description-toggle.is-expanded .modal-description-toggle-symbol::after,
.portfolio-modal .modal-description-toggle:focus-visible.is-expanded .modal-description-toggle-symbol::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
  opacity: 0;
}

.portfolio-modal .modal-description-toggle-divider {
  display: inline-block;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.2));
  opacity: 0;
  transform-origin: left center;
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.portfolio-modal .modal-description-toggle.is-expanded .modal-description-toggle-divider,
.portfolio-modal .modal-description-toggle:focus-visible.is-expanded .modal-description-toggle-divider {
  width: clamp(72px, 11vw, 140px);
  opacity: 0.85;
}

.portfolio-modal .modal-description-toggle:hover .modal-description-toggle-symbol,
.portfolio-modal .modal-description-toggle:focus-visible .modal-description-toggle-symbol {
  animation: modalNotesSymbolSpinForward 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes modalNotesSymbolSpinForward {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.portfolio-modal .modal-spec-circle-btn {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.85);
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.portfolio-modal .modal-spec-circle-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #fff;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.portfolio-modal .modal-spec-circle-btn::after {
  content: '';
  position: relative;
  z-index: 1;
  color: inherit;
  transition: color 0.2s ease;
}

.portfolio-modal .modal-spec-circle-btn:hover::before,
.portfolio-modal .modal-spec-circle-btn:focus-visible::before {
  transform: scale(1);
}

.portfolio-modal .modal-spec-circle-btn:hover,
.portfolio-modal .modal-spec-circle-btn:focus-visible {
  color: #111;
  border-color: #fff;
  outline: none;
}

.portfolio-modal .modal-description-audio-toggle {
  display: none;
  pointer-events: none;
  transform: scale(0.92);
  transition: none;
}

.portfolio-modal .modal-description-audio-toggle::after {
  content: none;
}

.portfolio-modal .modal-description-spec.is-expanded .modal-description-audio-toggle {
  display: inline-flex;
  pointer-events: auto;
  transform: scale(1);
  transition: transform 0.2s ease;
}

.portfolio-modal .modal-description-audio-toggle .modal-audio-progress-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
  z-index: 1;
}

.portfolio-modal .modal-description-audio-toggle .modal-audio-progress-track,
.portfolio-modal .modal-description-audio-toggle .modal-audio-progress-value {
  fill: none;
  stroke-width: 2;
}

.portfolio-modal .modal-description-audio-toggle .modal-audio-progress-track {
  stroke: rgba(255, 255, 255, 0.25);
}

.portfolio-modal .modal-description-audio-toggle .modal-audio-progress-value {
  stroke: currentColor;
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 0.1s linear;
}

.portfolio-modal .modal-description-audio-toggle .modal-audio-icon {
  position: relative;
  z-index: 2;
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
}

.portfolio-modal .modal-description-audio-toggle.is-playing .modal-audio-icon {
  width: 10px;
  height: 12px;
  margin-left: 0;
  border: none;
  background: linear-gradient(
    to right,
    currentColor 0,
    currentColor 3px,
    transparent 3px,
    transparent 7px,
    currentColor 7px,
    currentColor 10px
  );
}

.portfolio-modal .modal-description-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transform: translateY(-4px);
  transition: max-height 0.35s ease, opacity 0.25s ease, margin-top 0.25s ease, transform 0.25s ease;
}

.portfolio-modal .modal-description-spec.is-expanded .modal-description-content {
  max-height: 220px;
  opacity: 1;
  margin-top: 12px;
  transform: translateY(0);
}

.portfolio-modal .modal-description-content p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  color: #fff;
  opacity: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .portfolio-modal-content {
    padding: 80px 15px 40px;
  }
  
  .portfolio-modal .singleProjectInfo {
    margin-top: 30px;
  }
  
  .portfolio-modal-close {
    top: 20px;
    right: 20px;
    font-size: 42px;
  }

  .portfolio-modal #modalDescriptionSpec {
    margin-top: 8px;
    padding-top: 0;
    text-align: center;
  }

  .portfolio-modal .modal-description-spec-controls {
    gap: 10px;
    justify-content: center;
  }

  .portfolio-modal .modal-description-toggle {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 7px;
    gap: 8px;
  }

  .portfolio-modal .modal-description-toggle-divider {
    flex: 0 0 100%;
    margin: 0 auto;
    background: #fff;
    opacity: 0;
  }

  .portfolio-modal .modal-description-toggle.is-expanded .modal-description-toggle-divider,
  .portfolio-modal .modal-description-toggle:focus-visible.is-expanded .modal-description-toggle-divider {
    width: clamp(86px, 38vw, 160px);
    opacity: 1;
  }

  .portfolio-modal .modal-spec-circle-btn {
    width: 34px;
    height: 34px;
  }

  .portfolio-modal .modal-description-content p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .portfolio-modal .modal-description-toggle {
    column-gap: 8px;
  }

  .portfolio-modal .modal-description-toggle.is-expanded .modal-description-toggle-divider,
  .portfolio-modal .modal-description-toggle:focus-visible.is-expanded .modal-description-toggle-divider {
    width: clamp(96px, 58vw, 170px);
  }
}


/* ========================================
   PORTFOLIO TIER SYSTEM
   ======================================== */

/* Gallery container - Isotope will handle height */
.gallery {
  background: #1d1d1d;
  height: auto;
  position: relative;
  width: 100%;
}

/* All gallery items - base positioning */
.gallery .gallery-inner {
  float: left;
  background: transparent;
  position: relative;
  margin: 0 0 20px 0; /* Only bottom margin for vertical spacing */
  padding: 0 5px; /* Only left/right padding for horizontal spacing */
  transition: z-index 0s 0s;
  z-index: 1;
}

/* Hover effect - enlarge item */
.gallery .gallery-inner:hover {
  z-index: 100; /* Bring to front so it overlaps neighbors */
}

.gallery .gallery-inner .gallery-media {
  position: relative;
  transition: transform 0.3s ease;
  transform-origin: center;
}

.gallery .gallery-inner:hover .gallery-media {
  transform: scale(1.05); /* Enlarge by 5% */
}

/* Tier 1: 2 items per row */
.gallery .gallery-inner.tier-1 {
  width: calc(50% - 10px); /* 50% minus padding (5px * 2) */
}

/* Tier 2: 3 items per row */
.gallery .gallery-inner.tier-2 {
  width: calc(33.33% - 10px); /* 33.33% minus padding (5px * 2) */
}

/* Tier 3: 6 items per row */
.gallery .gallery-inner.tier-3 {
  width: calc(16.66% - 10px); /* 16.66% minus padding (5px * 2) */
}

/* Tier 4: 4 items per row (filtered view) */
.gallery .gallery-inner.tier-4 {
  width: calc(25% - 10px); /* 25% minus padding (5px * 2) */
}

/* Remove grid-sizer - not needed with tier system */
.gallery .grid-sizer {
  display: none;
}

/* Tablet: Adjust tiers for medium screens */
@media (max-width: 900px) {
  .gallery .gallery-inner.tier-1,
  .gallery .gallery-inner.tier-2,
  .gallery .gallery-inner.tier-3,
  .gallery .gallery-inner.tier-4 {
    width: calc(50% - 10px); /* 2 per row */
  }
}

/* Mobile: All tiers stack to 100% width */
@media (max-width: 768px) {
  .gallery .gallery-inner.tier-1,
  .gallery .gallery-inner.tier-2,
  .gallery .gallery-inner.tier-3,
  .gallery .gallery-inner.tier-4 {
    width: calc(100% - 10px);
  }
}

/* Ensure images maintain aspect ratio and fill container */
.gallery .gallery-inner .galleryImage {
  width: 100%;
  height: auto;
  display: block;
}

/* Caption hover effect */
.gallery-inner .gallery-media .caption {
  opacity: 0;
  position: absolute;
  top: 0;       /* No top padding anymore */
  left: 0;
  right: 0;
  bottom: 0;    /* No bottom padding anymore */
  background: rgba(0, 0, 0, .6);
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  z-index: 10;
  cursor: pointer; /* cursor change to pointer on hover */
  pointer-events: none; /* Allow clicks to pass through when hidden */
  
  /* Flexbox to center content */
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-inner:hover .caption {
  opacity: 1;
  pointer-events: auto; /* Enable clicks when visible */
}

/* Remove valign transform from captionWrapper - flexbox on .caption handles centering */
.gallery-inner .caption .captionWrapper.valign {
  position: static;
  top: auto;
  transform: none;
  -webkit-transform: none;
  -ms-transform: none;
}
