body {
 font-size: 1.1111111111111112vw;
}
/* Max Font Size */
@media screen and (min-width:1440px) {
 body {font-size: 1rem;}
}
/* Container Max Width */
.container {
  max-width: 90em;
}
/* Inherit Properties */
a,
.w-nav-link {
  text-decoration: inherit;
}
/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}
.w-select {
    -webkit-appearance: none;
    -moz-appearance: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number]{
    -moz-appearance: textfield;
}
/* Min Font Size */
@media screen and (max-width:991px) {
 body {font-size: 0.6881944444444444rem;}
}
@media only screen and (min-width: 992px) and (max-width: 1100px)  {
	 .text_14px {font-size: 0.6222222222222223rem;}
}
@media only screen and (min-width: 992px) and (max-width: 1250px)  {
	.text_12px {font-size: 0.5610416666666667rem;}
}
.is-nav-link:before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1px;
  background:#fff;
  transition:0.4s all;
}
.is-nav-link:hover:before{
  width:100%;
  }
.w-nav-link.w--current{
  color:#fff;
}
.w-nav-link.w--current:before{
  width:100%;
}
.nav-link:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:#111;
  transition:0.3s all;
}
.nav-link:hover:after{
  width:100%;
  }
.usluga-flex-item:hover {
      border-bottom: 1px solid #DDB03A;
  }
.usluga-flex-item:hover .i-box-subtitle{
color:#DDB03A;
  }
.usluga-flex-item:hover .usluga-content-hidden{
  max-height:400px;
}
.news-c-item:hover .simple-button{
    background:#141414!important;
  border:1px solid #141414!important;
  color:#fff!important;
  }
  .faq-group.is-open .faq-group-content{
    grid-template-rows: 1fr;
  }
  .faq-group.is-open .icon-embed-custom-3{
        transform: rotate(180deg);
}
  .cert-item-img:hover .cert-item-icon{
background:#DDB03A;
    }
.rekrutacja-item:hover .rekrutacja-tag{
background:#3B3A3A;
  color:#F3F2F0;
  }
.rekrutacja-item:hover .simple-button-with-arrow.is-aplk{
  background:#DDB03A;
  border-color:#DDB03A;
  color:#141414;
  }
  .rekrutacja-item:hover .us-cs-link{
    color:#fff;
    }
.pf-bg{
  background: linear-gradient(143deg, rgba(0, 0, 0, 0.60) 5.61%, rgba(0, 0, 0, 0.00) 54.98%), linear-gradient(180deg, rgba(68, 68, 68, 0.78) 0%, rgba(68, 68, 68, 0.00) 72.4%);
  }
  .dobierz-img-bg{
background: linear-gradient(180deg, rgba(0, 0, 0, 0.90) 42.58%, rgba(0, 0, 0, 0.00) 58.75%), linear-gradient(148deg, rgba(0, 0, 0, 0.60) 5.33%, rgba(0, 0, 0, 0.00) 63.8%);
    }
._w-slider-item.is-alt:hover ._w-img-bg.is-alt {
    background-color: #ddb03a;
}
  ._w-slider-item.is-alt:hover .us-cs-link.is-p-link{
	border:1px solid #DDB03A;
    background:#DDB03A;
    color:#141414;
    }
._w-product-single:hover .us-cs-link.is-p-link{
	border:1px solid #DDB03A;
    background:#DDB03A;
    color:#141414;
    }
._w-slider-item.is-dark:hover ._w-img-bg.is-white {
    background-color: #ddb03a;
}
._w-slider-item.is-dark:hover .us-cs-link{
    color:#DDB03A;
    }
.pv-item.active .pv-radio-btn{
      border: 2px solid #DDB03A;
}
  .pv-item.active .pv-radio-btn .pv-radio-inner{
background:#DDB03A;
    }
.section-przegladaj ._w-slider-item.is-dark:hover .us-cs-link {
    color: #121212;
  background:#DDB03A;
  border-color:#DDB03A;
}

body,
.page-wrapper,
.hero-title,
.cta-title {
  font-family: "proxima-nova", sans-serif;
}

/* Slick — shared: never let slides inherit height:100% (explodes cert slider) */
.wyroby-slider .slick-list,
.wyroby-slider .slick-track,
.galeria-slider .slick-list,
.galeria-slider .slick-track,
.is-cert-slider .slick-list,
.is-cert-slider .slick-track {
  height: auto !important;
}
.wyroby-slider .slick-slide,
.galeria-slider .slick-slide,
.is-cert-slider .slick-slide {
  height: auto !important;
  float: none;
}
.wyroby-slider .slick-track,
.galeria-slider .slick-track,
.is-cert-slider .slick-track {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
}

.wyroby-slider-nv,
.certyfikaty-slider-nav {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}
.slider-nav-left,
.slider-nav-right {
  cursor: pointer;
  display: flex !important;
}

/* Slick — wyroby */
.wyroby-slider.slick-initialized {
  display: block;
  margin-left: 0;
  margin-right: 0;
}
.wyroby-slider .slick-list {
  overflow: hidden;
  margin-left: -0.5%;
  margin-right: -0.5%;
}
.wyroby-slider.slick-initialized ._w-slider-item {
  width: auto;
  margin-left: 0.5%;
  margin-right: 0.5%;
}

/* Portfolio — pierwszy slajd szerszy, szerokość i tor animują się razem */
.galeria-slider.is-ready {
  display: block;
}
.galeria-slider-viewport {
  overflow: hidden;
  width: 100%;
  touch-action: pan-y;
  user-select: none;
}
.galeria-slider-viewport img {
  -webkit-user-drag: none;
  pointer-events: none;
}
.galeria-slider-track {
  display: flex;
  align-items: stretch;
  width: 100%;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}
.galeria-slider.is-ready .gal-slide-item {
  flex: 0 0 25%;
  width: 25%;
  max-width: 25%;
  height: auto;
  box-sizing: border-box;
  padding-right: 0.75em;
  transition:
    flex-basis 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    width 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    max-width 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}
.galeria-slider.is-ready .gal-slide-item.is-current {
  flex-basis: 50%;
  width: 50%;
  max-width: 50%;
}
.galeria-slider.is-instant .galeria-slider-track,
.galeria-slider-track.is-instant,
.galeria-slider.is-instant .gal-slide-item {
  transition: none !important;
}
.galeria-slider .gal-item-img {
  height: 22em;
}
@media screen and (max-width: 991px) {
  .galeria-slider.is-ready .gal-slide-item,
  .galeria-slider.is-ready .gal-slide-item.is-current {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
  }
  .galeria-slider .gal-item-img {
    height: 16em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .galeria-slider-track,
  .galeria-slider.is-ready .gal-slide-item {
    transition-duration: 0.01ms !important;
  }
}

/* Slick — certyfikaty */
.cert-right {
  min-width: 0;
  overflow: hidden;
}
.cta-box-content.is-cert {
  align-items: flex-start;
}
.is-cert-slider.slick-initialized {
  display: block;
  overflow: hidden;
}
.is-cert-slider .slick-list {
  overflow: hidden;
  margin: 0 -0.56em;
}
.is-cert-slider .slick-track {
  align-items: flex-start;
}
.is-cert-slider .slick-slide {
  padding: 0 0.56em;
  box-sizing: border-box;
}
.is-cert-slider.slick-initialized .cert-item {
  width: 100%;
  margin: 0;
  display: block;
}
.is-cert-slider .slick-slide img,
.is-cert-slider .image-9 {
  width: 100%;
  height: auto !important;
  display: block;
}

/* Slick — zaufali (ciągły marquee, 5 logo w kadrze) */
.zaufali-flex {
  overflow: hidden;
}
.zaufali-col {
  flex: 0 0 auto;
}
.zaufali-col .cta-title {
  white-space: normal;
  max-width: 4.6em;
}
.zaufali-col-right {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.zaufali-slider {
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}
.zaufali-slider.slick-initialized {
  display: block;
  overflow: hidden;
}
.zaufali-slider .slick-list {
  overflow: hidden !important;
}
.zaufali-slider .slick-slide {
  height: auto !important;
}
.zaufali-slider .logo-slide {
  padding: 0 1.03em;
  box-sizing: border-box;
}
.zaufali-slider .logo-item,
.zaufali-slider .slick-slide img {
  max-height: 3.5em;
  max-width: 100%;
  width: auto;
  height: 3.5em;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* FAQ — smooth height instead of max-height jump */
.section-faq .faq-group-content {
  max-height: none;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s ease;
  overflow: hidden;
}
.section-faq .faq-group-content > .accordion-wrapper {
  min-height: 0;
  overflow: hidden;
}
.section-faq .faq-group.is-open .faq-group-content {
  max-height: none;
  grid-template-rows: 1fr;
}
.section-faq .icon-embed-custom-3 {
  transition: transform 0.35s ease;
}

.w-lightbox-caption {
  display: block;
}

.drywa-lightbox.w-lightbox-backdrop {
  opacity: 0;
  transition: opacity 0.35s ease;
}
.drywa-lightbox.w-lightbox-backdrop.is-visible {
  opacity: 1;
}
.drywa-lightbox .w-lightbox-view {
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.drywa-lightbox.is-visible .w-lightbox-view {
  opacity: 1;
  transform: scale(1);
}
.gal-item-img,
.cert-item,
.lab-img {
  cursor: pointer;
}

/* Contact Form 7 — keep Webflow form 1:1 */
.form-block .wpcf7,
.form-block .wpcf7-form {
  margin: 0;
}
.form-block .wpcf7 .screen-reader-response,
.form-block .wpcf7 .hidden-fields-container {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.form-block .wpcf7 .hidden-fields-container {
  display: none;
}
.form-block .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  position: relative;
}
.form-block .cs-field {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.form-block textarea.cs-field.is-textarea {
  height: 5.1em;
  min-height: 5.1em;
}
.form-block .cs-field:focus {
  outline: none;
  border-color: transparent;
  box-shadow: none;
  background-color: transparent;
}
.form-block .wpcf7-not-valid-tip {
  color: #ddb03a;
  font-size: 0.75em;
  font-weight: 400;
  margin-top: 0.25em;
}
.form-zgody .wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  width: auto;
}
.form-zgody .wpcf7-acceptance,
.form-zgody .wpcf7-list-item {
  display: contents;
}
.form-zgody .checkbox-label {
  font-weight: 400;
}
.form-zgody .wpcf7-not-valid-tip {
  display: block;
  width: 100%;
  margin-top: 0.4em;
}
.form-block button.simple-button-with-arrow {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.form-block button.simple-button-with-arrow.is-yellow {
  color: #141414;
  background-color: #ddb03a;
  border: 1px solid #ddb03a;
}
.form-block .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #ddb03a;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0 0 0 1em;
  position: relative;
}
.form-block form.submitting .wpcf7-spinner {
  visibility: visible;
}
.form-block .wpcf7-spinner::before {
  content: '';
  position: absolute;
  background-color: #fff;
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  transform-origin: 8px 8px;
  animation: drywa-cf7-spin 1000ms linear infinite;
}
@keyframes drywa-cf7-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.form-block .wpcf7-response-output {
  display: none;
  margin-top: 10px;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
  color: #141414;
}
.form-block form.sent .wpcf7-response-output {
  display: block;
}
.form-block form.failed .wpcf7-response-output,
.form-block form.aborted .wpcf7-response-output,
.form-block form.spam .wpcf7-response-output,
.form-block form.invalid .wpcf7-response-output,
.form-block form.unaccepted .wpcf7-response-output {
  display: block;
  padding: 10px;
  background-color: #ffdede;
}
.form-block .wpcf7 [inert] {
  opacity: 0.5;
}

/* Google Map in .kontakt-mapa */
.kontakt-mapa {
  position: relative;
  min-height: 32em;
  background: #2b2b2b;
}
.kontakt-mapa .drywa-gmap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}
.kontakt-mapa .image-14 {
  display: block;
  object-fit: cover;
}
.drywa-map-marker {
  position: absolute;
  transform: translate(-50%, -100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: auto;
  white-space: nowrap;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.drywa-map-marker-icon {
  width: 55px;
  height: 55px;
  display: block;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
}
.drywa-map-marker-icon.is-custom {
  width: 55px;
  height: 55px;
  object-fit: contain;
}
.drywa-map-marker-text {
  margin: 0 0 0.35em 0;
  text-align: center;
}
.drywa-map-marker-sub {
  color: #fff;
  font-size: 0.72em;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.2em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}
.drywa-map-marker-label {
  background: rgba(20, 20, 20, 0.9);
  color: #fff;
  font-size: 0.95em;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.4em 0.75em;
  border-radius: 3px;
  transition: background-color 0.2s ease;
}
.drywa-map-marker:hover .drywa-map-marker-label {
  background: #ddb03a;
  color: #141414;
}
.kontakt-mapa .gm-style-cc,
.kontakt-mapa .gm-style a[href^="https://maps.google.com/maps"] {
  opacity: 0.35;
}
@media screen and (max-width: 991px) {
  .kontakt-mapa {
    min-height: 22em;
  }
}

/* Galeria — ukryta pula zdjęć (lightbox / load more) */
.is-galeria-hidden,
[data-galeria-source][hidden] {
  display: none !important;
}

/* Galeria — Slick na .is-galeria-slider (stała wysokość slajdów) */
.is-galeria-slider {
  overflow: hidden;
  height: 50em;
  max-height: 50em;
}
.is-galeria-slider.slick-initialized {
  display: block;
}
.is-galeria-slider .slick-list,
.is-galeria-slider .slick-track,
.is-galeria-slider .slick-slide,
.is-galeria-slider .slick-slide > div {
  height: 100%;
}
.is-galeria-slider .slick-list {
  overflow: hidden;
}
.is-galeria-slider .slick-track {
  display: flex !important;
  align-items: stretch;
}
.is-galeria-slider .slick-slide {
  float: none;
}
.section-galeria-slider .is-galeria-slide {
  position: relative;
  height: 50em;
  max-height: 50em;
  overflow: hidden;
}
.section-galeria-slider .is-galeria-slide .image-23 {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.section-galeria-slider .galeria-slider-nav {
  pointer-events: none;
}
.section-galeria-slider .galeria-slider-nav .slider-nav-left,
.section-galeria-slider .galeria-slider-nav .slider-nav-right {
  pointer-events: auto;
}

/* Realizacje — AJAX */
.section-realizacje.is-loading .realizacje-items {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

/* Opinie — Slick */
.opinie-slider.slick-initialized {
  display: block;
}
.opinie-slider .slick-list {
  overflow: hidden;
  margin: 0 -0.56em;
}
.opinie-slider .slick-track {
  display: flex !important;
  align-items: stretch;
}
.opinie-slider .slick-slide {
  height: auto;
  padding: 0 0.56em;
  box-sizing: border-box;
  float: none;
}
.opinie-slider.slick-initialized .opinia-slide {
  width: 100%;
  height: 100%;
  margin: 0;
  box-sizing: border-box;
}

/* Aktualności — AJAX + pager */
.section-wszystkie-wpisy.is-loading .wszystkie-flex,
.section-polecany-wpis.is-loading .polecany-flex {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.dokumenty-paginacja .paginacja-item.is-prev {
  color: #3b3a3a;
}
.dokumenty-paginacja .paginacja-item.is-next {
  color: #ddb03a;
}
.dokumenty-paginacja .paginacja-item[aria-disabled="true"] {
  opacity: 0.35;
  pointer-events: none;
}

.section-dokumenty {
  scroll-margin-top: 6.5em;
}

.button-download {
  cursor: pointer;
}

/* Single wpis — editor images + TOC anchors */
.wpis-content-rich img,
.wpis-content-rich figure img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
.wpis-content-rich figure {
  max-width: 100%;
  margin: 0.94em 0;
}
html {
  scroll-padding-top: var(--drywa-nav-offset, 8.5em);
}
.wpis-content-rich h2,
.wpis-content-rich h3,
.wpis-content-rich h4 {
  scroll-margin-top: var(--drywa-nav-offset, 8.5em);
}
.kariera-col-right {
  align-self: flex-start;
}

.section-oferty-pracy,
.section-napisz,
#aplikuj {
  scroll-margin-top: 6.5em;
}

.form-block .cs-form-flex-item.no-border .wpcf7-form-control-wrap {
  width: 100%;
}
.form-block select.cs-select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  cursor: pointer;
  color-scheme: dark;
}
.form-block select.cs-select option {
  background-color: #222;
  color: #fff;
}
.form-block select.cs-select option:checked,
.form-block select.cs-select option:hover {
  background-color: #3b3a3a;
  color: #ddb03a;
}
.form-block .simple-button-with-arrow.is-cv {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  max-width: 100%;
}
.form-block .simple-button-with-arrow.is-cv .btn-flex {
  min-width: 0;
}
.form-block .simple-button-with-arrow.is-cv .btn-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.form-block .simple-button-with-arrow.is-cv.has-file {
  background-color: #222;
  border-color: #ddb03a;
}
.form-block .simple-button-with-arrow.is-cv .wpcf7-form-control-wrap,
.form-block .simple-button-with-arrow.is-cv input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}
.rekrutacja-oferty.is-loading {
  opacity: 0.45;
  pointer-events: none;
}

.kariera-col-left.is-page {
  width: 100%;
  max-width: 48.75em;
  padding-right: 0;
}
.wpis-content-rich p {
  margin: 0 0 1em;
}
.wpis-content-rich ol {
  grid-column-gap: 0.5em;
  grid-row-gap: 0.5em;
  flex-flow: column;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  padding-left: 20px;
  display: flex;
  list-style: decimal;
}
.wpis-content-rich ul {
  list-style: disc;
}
.wpis-content-rich li {
  display: list-item;
}
.wpis-content-rich table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
}
.wpis-content-rich th,
.wpis-content-rich td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  padding: 0.5em 0.75em 0.5em 0;
  text-align: left;
  vertical-align: top;
}
