:root {
  --container-width: 1220px;
  --container-padding: calc((100vw - var(--container-width)) / 2);
  --drop-shadow-color: #666;
}

.lines--wrapper {
  pointer-events: none;
}

@media (min-width: 1024px) {
  .menu--floating {
    left: calc(var(--container-padding) - 130px);
  }

  .video--overlay {
    right: calc(var(--container-padding) - 100px);
  }
}
.filters--bg:not(.active) {
  pointer-events: none;
}

.logo--wrapper:nth-child(n+36) {
  display: none;
}

video {
  transition: opacity linear 0.3s 0.2s;
}

html:not(.w-editor) body:not(.videoStarted) video {
  opacity: 0;
}

html:not(.w-editor) body.videoStarted video {
  opacity: 1;
}

html:not(.w-editor) .section--title:not(.splitting),

html:not(.w-editor) .section--subtitle:not(.splitting),
html:not(.w-editor) .section--lead:not(.splitting),
html:not(.w-editor) .section--text:not(.splitting),
html:not(.w-editor) .help-text:not(.splitting),
html:not(.w-editor) .contact--link:not(.splitting),
html:not(.w-editor) .copyright--link:not(.splitting),
html:not(.w-editor) .footer-social--link:not(.splitting),
html:not(.w-editor) .anchor:not(.splitting),
html:not(.w-editor) .w-richtext:not(.splitting),
html:not(.w-editor) .specification--title,
html:not(.w-editor) .nav--link__text:not([style]),
html:not(.w-editor) .nav--logo__image:not([style]) {
  opacity: 0;
}

img {
  --appear-duration: 0.45s;
  --disappear-duration: 0.45s;
}

html {
  --disappear-duration: 0.45s;
  --appear-duration: 0.45s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.collection--wrapper {
  padding-left: calc((100vw - var(--container-width)) / 2);
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.collection--wrapper::-webkit-scrollbar {
  display: none;
}

.item--image.hover {
  pointer-events: none;
  -webkit-animation: none !important;
          animation: none !important;
}

.arrow {
  display: flex;
  position: absolute;
  top: 30%;
  bottom: auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #fff;
  opacity: 50%;
  z-index: 9999;
  transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.arrow:hover {
  opacity: 100%;
}

.arrow.hidden {
  opacity: 0;
}

.arrow.arrow--left {
  left: 0px;
}

.arrow.arrow--right {
  right: 0px;
}

@media (pointer: coarse) and (max-width: 1024px) {
  .slider > .w-dyn-item {
    -webkit-overflow-scrolling: touch;
    scroll-snap-align: center;
  }

  .slider > .w-dyn-item:last-of-type {
    margin-right: 20px;
  }
}
.splitting:not(.start) .word {
  opacity: 0;
}

.splitting.start .word {
  opacity: 0;
  -webkit-animation: fadeInUp 1.2s cubic-bezier(0.5, 0, 0.5, 1) both;
          animation: fadeInUp 1.2s cubic-bezier(0.5, 0, 0.5, 1) both;
  -webkit-animation-delay: calc(60ms * var(--line-index));
          animation-delay: calc(60ms * var(--line-index));
}

.navbar-dropdown--wrapper .splitting.start .word {
  -webkit-animation: fadeInUp 1.2s cubic-bezier(0.15, 1, 0.2, 1) both !important;
          animation: fadeInUp 1.2s cubic-bezier(0.15, 1, 0.2, 1) both !important;
  -webkit-animation-delay: 0s !important;
          animation-delay: 0s !important;
}

.help-text.start .blue--dot__mark {
  -webkit-animation: growInUp 1.2s cubic-bezier(0.5, 0, 0.5, 1) both;
          animation: growInUp 1.2s cubic-bezier(0.5, 0, 0.5, 1) both;
  -webkit-animation-delay: calc(60ms * var(--line-index));
          animation-delay: calc(60ms * var(--line-index));
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 3em, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 3em, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@-webkit-keyframes growInUp {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes growInUp {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes fadeInUpDisappearSmall {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(-3em);
  }
}
@keyframes fadeInUpDisappearSmall {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(-3em);
  }
}
@-webkit-keyframes fadeInUpDisappearBig {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    /*transform: translateY(-50vh);*/
  }
}
@keyframes fadeInUpDisappearBig {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    /*transform: translateY(-50vh);*/
  }
}
@-webkit-keyframes fadeInUpAppearBig {
  from {
    opacity: 0;
    /* transform: translateY(50vh)*/
  }
  to {
    transform: none;
  }
}
@keyframes fadeInUpAppearBig {
  from {
    opacity: 0;
    /* transform: translateY(50vh)*/
  }
  to {
    transform: none;
  }
}
.slider--resources {
  min-width: 80vw;
}

@media (min-width: 1024px) {
  .navbar-menu--item:not(.open) {
    pointer-events: none;
  }

  .navbar-menu--item.open {
    height: 100vh;
  }

  .navbar-menu--item:not(.open) .navbar-menu--item__bg {
    opacity: 0;
  }
}
.transition-overlay {
  transition: all 0.8s cubic-bezier(0.72, 0.1, 0.58, 1);
}

.transition-overlay.start {
  transform: translateY(-100vh);
}

.transition-overlay.end {
  transform: translateY(-200vh);
}

.transition-disappear-small {
  -webkit-animation: fadeInUpDisappearSmall 1.2s cubic-bezier(0.4, 0, 1, 1) both !important;
          animation: fadeInUpDisappearSmall 1.2s cubic-bezier(0.4, 0, 1, 1) both !important;
}

.transition-disappear-big {
  -webkit-animation: fadeInUpDisappearBig var(--disappear-duration) cubic-bezier(0.4, 0, 1, 1) both !important;
          animation: fadeInUpDisappearBig var(--disappear-duration) cubic-bezier(0.4, 0, 1, 1) both !important;
}

.transition-appear-small {
  -webkit-animation: fadeInUpAppearSmall 1.2s cubic-bezier(0.4, 0, 1, 1) both !important;
          animation: fadeInUpAppearSmall 1.2s cubic-bezier(0.4, 0, 1, 1) both !important;
}

.transition-appear-big {
  -webkit-animation: fadeInUpAppearBig var(--appear-duration) cubic-bezier(0.4, 0, 1, 1) both !important;
          animation: fadeInUpAppearBig var(--appear-duration) cubic-bezier(0.4, 0, 1, 1) both !important;
}

@media (min-width: 1008px) and (max-width: 1405px) {
  [data-barba-namespace=home] .section.hero {
    overflow-x: hidden !important;
  }
}
@media (min-width: 767px) {
  [data-barba-namespace=projects] .collection-item:nth-child(6n+3) {
    margin-left: auto;
    margin-right: 40px;
  }
  [data-barba-namespace=projects] .collection-item:nth-child(6n+6) {
    margin-right: auto;
    margin-left: 40px;
  }
}
@media (max-width: 990px) {
  [data-barba-namespace=projects] .collection--grid .collection-item:nth-child(7n+3) {
    flex: 48%;
  }
  [data-barba-namespace=projects] .collection-item:nth-child(7n+3) .collection--item {
    width: 100%;
  }
}
@media (min-width: 991px) {
  [data-barba-namespace=projects] .collection-item:nth-child(6n+3) {
    margin-left: auto;
  }
  [data-barba-namespace=projects] .collection-item:nth-child(6n+4) {
    margin-right: auto;
  }
}
[data-barba-namespace=projects] img.collection-image.team {
  filter: drop-shadow(12px 15px 16px var(--drop-shadow-color));
  -webkit-filter: drop-shadow(12px 15px 16px var(--drop-shadow-color));
  -ms-filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=12, OffY=15, Color='var(--drop-shadow-color)')";
}
[data-barba-namespace=projects] .collection-image--wrapper.team:hover .team--bkg {
  filter: grayscale(0);
  opacity: 1;
}
[data-barba-namespace=projects] .collection-image--wrapper.team:hover img.collection-image.team {
  --drop-shadow-color: #93740b;
}

@media (max-width: 990px) {
  [data-barba-namespace=cto] .collection--list {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  [data-barba-namespace=cto] .arrow {
    top: auto;
    bottom: -48px;
    opacity: 100%;
    height: 48px;
    width: 48px;
    border: 1px solid #ebf2f5;
    background-color: #ffffff;
  }
}
@media (min-width: 991px) {
  [data-barba-namespace=cto] .collection-item--wrapper:nth-child(3n+1) .collection-image--wrapper {
    display: flex;
  }
  [data-barba-namespace=cto] .collection-item--wrapper:not(.no-image) {
    grid-column-end: span 1;
    grid-row-end: span 2;
  }
  [data-barba-namespace=cto] .collection-item--wrapper:not(.no-image) .line {
    display: none;
  }
  [data-barba-namespace=cto] .collection-item--wrapper.no-image .collection-image--wrapper.blog {
    margin-bottom: 0px;
  }
}