/*
Theme Name: wp_wstudio
Theme URI: https://walaszczyk.studio/
Author: ŁW
Author URI: https://walaszczyk.studio/
Description: Wordpress Template made by ŁW
Version: 1.1
Tags: lw
Text Domain: wp_wstudio
*/

/*
body {
    visibility: hidden;
    opacity: 0;
  }
    */

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  a {
      color: inherit;
  }

  img {
    height: auto;
  }

  .wpcf7-spinner {
    display: none !important;
  }

  html .wpcf7-not-valid-tip {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-top: 0.5rem;
    display: block;
  }

  html .wpcf7 form.invalid .wpcf7-response-output, html .wpcf7 form.unaccepted .wpcf7-response-output, html .wpcf7 form.payment-required .wpcf7-response-output {
    border: none;
    border-top: 1px solid var(--black);
    padding: 0;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
  }

  .input-label {
    font-weight: 400;
  }
  
  .heading_main a {
      text-decoration: none;
  }
  .heading_main:hover a {
      opacity: 0.65;
  }
  .blog-post-item:last-child {
    border-bottom-width: 0px;
    padding-bottom: 0px;
  }
  .blog-pagination-nav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
  }
  .blog-pagination-nav .next-page-link {
    margin-left: auto;
  }
  .arrow-button.is-black-bg {
    background-color: var(--black);
    color: var(--white);
    border-color: var(--black);
  }
  .arrow-button.is-black-bg .image-arrow-button.is-white-on-dark {
    filter: brightness(0) invert(1);
  }
  .arrow-button.is-black-bg .text-arrow-button::after {
    background: #fff;
  }
  .footer_section.is-footer-contact .footer-navlink {
    color: var(--black);
  }
  .item-grid-description:last-child {
      padding-bottom: 0px;
  }
  .item-grid-description:first-child {
      padding-top: 0px;
  }
  .item-process-long:last-child {
    border-bottom-width: 0px;
    padding-bottom: 0px;
  }
  .w-nav-overlay {
    position: static;
    height: 100svh !important;
  }
  path {
      transition: fill 0.2s ease;
  }
  .simple-text.is-light-gray strong {
    color: var(--white);
  }
  .navbar:not(.is-visible-nav) .a-link-brand.logo-is-white .image-logo-mobile path {
    fill: var(--white);
  }
  .navbar:not(.is-visible-nav) .menubutton.logo-is-white .mbline {
    background-color: var(--white);
  }
  .project-item-featured:hover .featured-project-name, .project-item-featured:hover .tag-text {
      opacity: 0.65;
  }
  .simple-text :last-child {
      margin-bottom: 0px;
  }
  .navbar.is-navmenu-open {
      transform: none !important;
  }
  .navbar.is-navmenu-open .image-logo-mobile path {
      fill: var(--black) !important;
  }
  .navbar.is-navmenu-open .mbline {
    background-color: var(--black) !important;
  }
  .footer-navlink::after, .footer-contact-link::after {
      background: #fff;
  }
  .arrow-button:not(.is-white-bg):not(.is-border-bg):hover .text-arrow-button::after,
  .arrow-button:not(.is-white-bg):not(.is-border-bg):focus .text-arrow-button::after,
  .footer-navlink:hover::after,
  .footer-navlink:focus::after,
  .footer-contact-link:hover::after,
  .footer-contact-link:focus::after
  {
      opacity: 1;
      -webkit-transform: translateY(0px);
      -moz-transform: translateY(0px);
      transform: translateY(0px);
  }
  [page-loader="active"] .img-main-logo-static, [page-loader="active"] .img-logo-line-static {
      display: none;
  }
  /*
  .offer-project:hover .offer-project-image-wrap {
      transform: scale(1.06);
  }
  */
  .offer-project:hover .overlay-offer-example, .portfolio-item:hover .overlay-portfolio {
      opacity: 1;
  }
  .offer-project:hover .arrow-button-offer, .portfolio-item:hover .arrow-button-offer {
      transform: translateX(0rem);
  }
  .admin-bar .navbar {
      top: 32px;
  }
  [overflow="hidden"] {
      overflow: hidden;
  }
  [position="relative"] {
      position: relative;
  }
  /* opcjonalnie: szanuj reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .hero_section.is-hero-canvas {
      padding-top: 10.875rem;
    }

    .hero_section.is-hero-canvas .unicorn-max {
      display: none;
    }
  }
  @media only screen and (min-width: 992px) {
    /* Effect 5: same word slide in */
  .navlink {
      overflow: hidden;
      height: 1.875rem;
  }
  .navlink span {
      position: relative;
      display: inline-block;
      -webkit-transition: -webkit-transform 0.3s;
      -moz-transition: -moz-transform 0.3s;
      transition: transform 0.3s;
  }
  .navlink span::before {
      position: absolute;
      top: 100%;
      content: attr(data-hover);
      -webkit-transform: translate3d(0,0,0);
      -moz-transform: translate3d(0,0,0);
      transform: translate3d(0,0,0);
  }
  .navlink:hover span,
  .navlink:focus span
  {
      -webkit-transform: translateY(-100%);
      -moz-transform: translateY(-100%);
      transform: translateY(-100%);
  }
  /* Effect 3: bottom line slides/fades in */
  .arrow-button:not(.is-white-bg) .text-arrow-button::after, .footer-navlink::after, .footer-contact-link::after {
      position: absolute;
      top: auto;
    bottom:0;
      left: 0;
      width: 100%;
      height: 1px;
      background: #000;
      content: '';
      opacity: 0;
      -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
      -moz-transition: opacity 0.4s, -moz-transform 0.4s;
      transition: opacity 0.4s, transform 0.4s;
      -webkit-transform: translateY(3px);
      -moz-transform: translateY(3px);
      transform: translateY(3px);
  }
      .portfolio-item:hover .bottom-hover-portfolio, .portfolio-item:hover .portfolio-item-name {
          transform: translateY(0rem);
      }
      .portfolio-item {
          width: calc(60% - 0.75rem);
      }
      .portfolio-item:nth-child(4n-1), .portfolio-item:nth-child(4n-2) {
          width: calc(40% - 0.75rem);
      }
      .portfolio-item:nth-child(4n-1) .image-portfolio, .portfolio-item:nth-child(4n-2) .image-portfolio {
          aspect-ratio: 258 / 313;
      }
    .navbar:not(.is-visible-nav) .a-link-brand.logo-is-white .img-main-logo-static path, .navbar:not(.is-visible-nav) .div-logo-part.logo-is-white .img-logo-line-static path, .div-logo-part-fixed-left.logo-is-white .img-logo-line-static path, .div-logo-part-fixed-right.logo-is-white .img-logo-line-static path {
      fill: var(--white);
    }
    .navbar:not(.is-visible-nav) .navmenu.logo-is-white .navlink, .navbar:not(.is-visible-nav) .navmenu.logo-is-white .dropdown-toggle {
      color: var(--white);
    }
  }
  @media only screen and (max-width: 991px) {

    .navlink.dropdown-nalink {
      width: auto;
    }

    .drop-navlink.w--current {
      text-decoration: none;
    }

    .drop-navlink.w--current:hover {
      color: var(--black);
    }

    .drop-navlink:hover {
      opacity: 0.6;
    }

    .navbar.is-theme-white .a-link-brand .image-logo-mobile path {
      fill: var(--white);
    }
    .navbar.is-theme-white .menubutton .mbline {
      background-color: var(--white);
    }
    .top-hover-portfolio .arrow-button-offer {
      display: none;
    }
    }
    @media only screen and (max-width: 767px) {
    .pagination-page-label {
      display: none;
    }
    }
  @media only screen and (max-width: 480px) {
    }
  .unicorn-max {
      overflow: hidden;
      background-color: #191A1A;
  }

  .hero_section.is-simplified-hero .unicorn-max {
      display: none;
  }

  .unicorn-max > * {
      position: relative;
      z-index: 1;
  }

  .unicorn-max canvas {
    opacity: 0;
    transition: opacity 0.6s ease-out;
}
.unicorn-max.is-ready canvas {
    opacity: 1;
}

.contact-form-response,
.contact-form-success {
    border: 1px solid var(--black);
    border-radius: 1rem;
    padding: 1rem 1.25rem;
}

.contact-form-response {
    font-size: 0.9rem;
    line-height: 1.5;
}

.contact-form-response.is-error {
    border-color: #ba1a1a;
    color: #ba1a1a;
}

.contact-form-response.is-success {
    color: var(--black);
}

.contact-form-success-heading {
    margin-bottom: 0.35rem;
    font-size: 1.125rem;
    line-height: 1.3;
}

.contact-form-field-error {
    color: #ba1a1a;
    font-size: 0.75rem;
    line-height: 1.4;
    display: none;
}

.contact-form-field-error:not(:empty) {
    display: block;
    margin-top: 0.5rem;
}

.form-item.has-error .input-field {
    border-color: #ba1a1a;
}

.form-block.is-loading .arrow-button.is-submit-button,
.arrow-button.is-submit-button:disabled {
    opacity: 0.75;
    cursor: wait;
}

.form-item-flex[data-turnstile-row] {
    display: none;
}

.form-item-flex[data-turnstile-row].is-visible {
    display: flex;
}

.contact-form-turnstile {
    display: none;
}

.contact-form-turnstile.is-visible {
    display: block;
}

.contact-form-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    pointer-events: none;
}

.contact-form-success[hidden],
.contact-form-response[hidden] {
    display: none !important;
}


   html { font-size: 1rem; }
    @media screen and (max-width:1920px) { html { font-size: 1rem; } }
    @media screen and (max-width:1440px) { html { font-size: calc(0.39866369710467703rem + 0.6681514476614699vw); } }
    @media screen and (max-width:991px) { html { font-size: calc(0.758056640625rem + 0.390625vw); } }
    @media screen and (max-width:479px) { html { font-size: calc(0.5742154811715481rem + 1.2552301255230125vw); } }