/*
Theme Name: Greifbau
*/

body {
 font-family: "Public Sans", sans-serif;
 font-size:17px;
 line-height:26px;
 color:#121212;
 position:relative
}

:root {
	--red:#c00303
}

.red {
	color:var(--red)
}

.wow {
	visibility:hidden
}

.nav-logo {
	transition:.3s
}

.navbar {
	padding-top:28px;
	padding-bottom:28px
}

.navbar.scrolled {
	padding-top:15px;
	padding-bottom:15px
}

.scrolled .nav-logo {
	max-width:180px;
}

.home-realizacje-more {
	margin-top:50px
}

a {
	text-decoration:none;
	color:#000
}

.navbar.bg-light {
	background:#fff !important;
	transition:.3s;
	box-shadow: 0px 10px 15px #0000000d;
}

.navbar.bg-light.scrolled  {
	background:#fffffff0 ! Important
}

.nav-link {
	color:#000;
	font-weight:600;
	padding:10px;
	padding-left:17px !important;
	padding-right:17px !important;
	font-size:16px;
	transition:.3s;
	letter-spacing: .4px;
}

.nav-link:hover {
	color:var(--red)
}

.lang-box {
	padding-left:50px
}

.arrow-left-box {
	float:left;
	display:inline
}

.page-feature h1, .page-feature h2, .page-feature h3, .page-feature h4 {
	margin-bottom:30px;
	text-transform:uppercase
}

.page-feature p {
	margin-bottom:30px
}

.page-feature ul {
	margin-bottom:35px
}

section {
	padding-top:120px;
	padding-bottom:120px;
}

#home {
	height:100vh;
	padding:0px;
	background: url(img/homebg.jpg) no-repeat center center;
	background-size:cover;
	overflow:hidden
}

#home h1 {
	color:var(--red);
	font-size:73px;
	line-height:84px;
	font-weight:800
}

.home-bottom {
	position:absolute;
	bottom:150px;
	display:block
}

.button {
	  display: inline-block;
  background-color: var(--red); /* czerwony */
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 14px 66px 12px 35px;
  font-size: 16px;
  line-height:16px;
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
  transition: background-color 0.3s ease;
  text-transform:uppercase
}

.button:hover {
	background-color: #a00;
}

.button-small {
	font-size:14px;
	line-height:14px
}

.wpcf7-submit {
		  display: inline-block;
  background-color: var(--red); /* czerwony */
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 14px 66px 12px 35px;
  font-size: 16px;
  line-height:16px;
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
  transition: background-color 0.3s ease;
  border:0px
}

.wpcf7-submit:hover {
	background-color: #a00;
}

.home-baner-button {
	margin-top:40px
}

.col-img-right {
	padding-left:100px;
	position:relative
}

.col-img-left {
	padding-right:100px;
	position:relative
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0px;
  font-size: 14px;
  line-height: 20px;
}

.bottom-shape-1 {
	position:absolute;
	left:0px;
	bottom:0px;
	  clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
	  width:100px;
	  height:40px;
	    background-color: var(--red); /* czerwony */
		display:inline-block;
		z-index:-1
}

.top-shape-1 {
	position:absolute;
	left:-80px;
	top:0px;
	  clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
	  width:100px;
	  height:40px;
	    background-color: var(--red); /* czerwony */
		display:inline-block;
		z-index:-1
}

.bottom-shape-2 {
	position:absolute;
	right:0px;
	bottom:0px;
	  clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
	  width:100px;
	  height:40px;
	    background-color: var(--red); /* czerwony */
		display:inline-block;
		z-index:-1
}

footer {
	background: url(img/bg5.png) no-repeat center center;
	background-size:cover;
	padding-top:120px;
	padding-bottom:120px
}

#praca {
	position:relative
}

.sm-icon {
	max-width:40px
}

.footer-logo {
	margin-bottom:70px
}

.col-txt-left {
padding-right:40px	
}

.home-mobile {
	display:none
}

.single-post-title {
  font-size: 34px;
  line-height: 43px;
  padding-bottom: 25px;
  color: #212121;
}

.trp-language-switcher-container .nav-link {
	color:var(--red) !important;
	font-weight:bold;
	padding-left:40px !important
}

.bottom-shape-wrapper {
	  position: relative;
  padding-right: 100px;
}

.top-shape-wrapper {
	  position: relative;
  padding-left: 0px;
  padding-right:20px;
}

.col-txt-right {
padding-left:60px	
}

h2 {
	font-size:44px;
	line-height:49px;
	font-weight:800
}

.home-o-nas-txt {
	margin-top:40px
}

#o-nas {
	position:relative
}

.bg-img-1 {
	position:absolute;
	top:0px;
	left:0px;
	z-index:-1
}

.bg-img-4 {
	position:absolute;
	bottom:0px;
	left:0px;
	z-index:-1
}


.home-main-left {
	display: flex;
	justify-content: left;
	align-items: left;
	padding-left: 60px;
	padding-top: 120px;
	height: 100%;
	color: #fff;
	font-size: 38px;
	line-height: 45px;
	font-weight: 700;
}

.home-main-right {
	display: flex;
	justify-content: end;
	align-items: left;
	padding-right: 60px;
	padding-top: 120px;
	height: 100%;
	color: #fff;
	font-size: 38px;
	line-height: 45px;
	font-weight: 700;
}

.arrow-text-wrapper {
	display: flex;
	align-items: center;
	gap: 50px; /* odstęp między strzałką a tekstem */
}

.arrow-left-box {
	font-size: 40px;
	/* możesz tu wstawić np. ikonę zamiast litery "a" */
}

.text-box{
	transition:.3s
}

.text-box:hover {
	padding-left:10px
}

.text-box a{
	color:#fff;
	transition:.4s
}

.home-main-right .text-box:hover {
	padding-right:10px
}

.footer-left p {
	margin-bottom:27px
}

.copyright-row {
  margin-top: 10px;
  color: #a3a2a2;
  font-size: 15px;
}

.copyright-row a{
	color:#858585
}

.navbar-expand-lg .navbar-nav .dropdown-menu {
  position: absolute;
  border: 0px;
  border-radius: 0px;
  background-color: var(--red);
  color: #fff;
  padding: 12px 3px;
}

.dropdown-menu .nav-link{
  background-color: var(--red);
  color: #fff;
  padding: 5px 3px;
  white-space:nowrap;
  font-size:15px !important
}

.realizacja-xol {
	padding-bottom:25px
}

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: var(--red);
  background: none !important;
}

.dropdown-item.hover, .dropdown-item:hover {
  color: #fff;
  text-decoration: none;
  background-color: var(--red);
  background: none !important;
}

.dropdown-item {
	  color: #fff;
	  font-size:15px;
	  line-height:25px;
	  font-weight:600;
	  letter-spacing:.5px
}

.home-main-center-bg {
  background:url(img/home-center.jpg) no-repeat center center;
  background-size:cover;
  transform: skew(-10deg);
  margin: 0 auto;
  box-shadow: 0 0 80px rgba(0,0,0,0.3);
	display: flex;
	padding-top:120px;
	
	flex-direction: column;
	justify-content: center; /* wyśrodkowanie w pionie */
	align-items: center;     /* opcjonalnie: wyśrodkowanie w poziomie */
	height: 100%;            /* konieczne, aby flexbox działał względem całej wysokości */

}

.content {
  transform: skew(10deg); /* prostuje tekst */
  max-width:440px;
  text-align:center
}

.content-mobile {
  text-align:center
}

#home-mobile {
	background: url(img/homemobilebg.jpg) no-repeat center center;
	background-size:cover;
	margin-top:70px;
}



.content h2 {
	margin-top:35px;
	font-size:52px;
	line-height:60px;
	font-weight:800;
	margin-bottom:35px;
	text-transform:uppercase

}

.content h3 {
	margin-top:35px;
	font-size:35px;
	line-height:44px;
	font-weight:800;
	margin-bottom:35px;

}

#oferta {
	background: url(img/bg5.png) no-repeat top left;
	background-size:contain;
	background-color:#f7f7f7
}

.home-oferta-left {
	padding-right:35px
}

.home-oferta-right {
	padding-left:35px
}

.oferta-second-row {
	margin-top:80px
}

.home-oferta-box {
	position:relative
}

.home-oferta-box-btn {
	position:absolute;
	bottom:0px;
	left:0px
}

#realizacje {
	background: url(img/shape-2.jpg) no-repeat bottom center;
	background-size:cover;
}

.home-realizacje-box {
	padding-right:25px;
	position:relative
}

.page-realizacje-box {
	position:relative;
	overflow:hidden;
}

.page-realizacje-box  img {
	transition: transform 0.5s ease; /* płynne przejście */
}

.page-realizacje-box  img:hover {
	transform: scale(1.1);
}

.news-listing-left {
	padding:0px;
	position:relative;
	overflow:hidden;
}

.news-listing-left  img {
	transition: transform 0.5s ease; /* płynne przejście */
}

.news-listing-left  img:hover {
	transform: scale(1.1);
}

#oferta {
	position:relative
}


.footer-mail {
	margin-top:108px;
	margin-bottom:15px
}

.footer-mail a {
	font-size:44px;
	line-height:50px;
	color:#000;
	font-weight:900
}

.footer-phone a {
	font-size:40px;
	line-height:48px;
	color:var(--red);
	font-weight:700
}

.lang-box a {
	font-weight:700;
	color:var(--red)
}

#page-header {
	background: url(img/pagebg.jpg) no-repeat top center;
	background-size:cover;
	padding-top:210px;
	padding-bottom:70px;
	margin-top:100px;
	
	
}

.page-header-title {
  display: inline-block;
  color: #fff;
  font-weight: 800;
  font-size: 54px;
  line-height: 54px;
  text-decoration: none;
  padding: 17px 17px 20px 25px;
  transition: background-color 0.3s;
  text-transform: uppercase;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  letter-spacing:1px
}

.kariera-desc {
	text-align:right
}
    /* Drobne dopasowania stylów */
.job-header {
  cursor: pointer;
  padding: 35px;
}
.job-title {
  font-weight: 700;
  font-size: 20px;
  line-height:25px;
  margin: 0;
  margin-bottom: 20px !important;
  display: block;
}
.job-company {
  color: #858585;
  margin: 0;
  font-size: 14px;
  line-height:21px;
  text-transform: uppercase;
    display: block;
}


.job-company span{
  font-weight: 800;
  color: #c00303;
}

    .job-meta {
      text-align: right;
      color: #adb5bd;
      font-size: 0.9rem;
    }
    .job-body h5 {
      font-size: 1rem;
      font-weight: 600;
      margin-top: 0;
    }
    .btn-apply {
      background-color: #343a40;
      color: #fff;
      text-transform: uppercase;
      font-size: 0.85rem;
      padding: 0.5rem 1rem;
    }

.accordion-button:focus,
.accordion-button:active {
  box-shadow: none !important;
  outline: none !important;
}

/* (opcjonalnie) jeśli chcesz też wyłączyć podświetlenie po najechaniu */
.accordion-button:hover {
  background-color: transparent !important;
}

.accordion-button:not(.collapsed) {
  color: #323232;
}

.accordion-button:not(.collapsed) {
  color: #323232;
  background-color: #ffffff;
}

.accordion-body {
  padding: 35px;
  border-top: 1px solid #dee2e6;
}

.accordion-body h5{
  color:#aa0000;
  font-weight:700;
  font-size:16px;
  letter-spacing:1px;
  margin-bottom:15px
}

.accordion-button:not(.collapsed) {

  box-shadow: none !important;
}

/* Responsywność */

.single-feature {
	padding-bottom:5px;
	
}

.feature-icon {
	text-align:left;
	font-weight:600;
	color:var(--red);
	font-size:14px;
	line-height:21px;
	letter-spacing:.3px;
	padding-bottom:6px;
	text-transform:uppercase;
}

.feature-txt {
  text-align: left;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: .3px;
  color: #121212;
  padding-right:35px
}

.single-realizacja-left {
	position:relative;
}

.single-realizacja-center {
  background-color: #f7f7f7;
  padding: 30px;
}

.single-realizacja-right {
	font-size:15px;
	line-height:24px;
	color:#444;
	padding-left:50px
}

.single-realizacja-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;        /* odstępy między komórkami */
  align-items: start;    /* wyrównanie wierszy od góry */
  margin-bottom:35px
}

.single-realizacja-opis .feature-icon {
	padding-bottom:20px
}

#realizacja-galeria {
	background: url(img/bg6.png);
	background-color:#f7f7f7
}

.slick-dots {
  bottom: -45px;
}

.slick-dots li button:before {
  opacity: 1;
  color: #000;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #c00303;
}

.news-listing-box {
	border:1px solid #dfdfdf;
	padding:50px;
	padding-left:70px;
	margin-bottom:20px
}

.news-listing-left {
	
}

.news-listing-right {
	padding-left:80px
}

.news-listing-date {
	  text-align: left;
  font-weight: 600;
  color: var(--red);
  font-size: 14px;
  line-height: 21px;
  letter-spacing: .3px;
  padding-bottom: 15px;
  text-transform: uppercase;
}

.news-listing-title {
font-size:30px;
line-height:38px;
margin-bottom:30px;
	font-weight:700
}

.news-listing-desc {
	margin-bottom:30px
}

#kontakt {
	position:relative;
	padding-top:100px;
	padding-bottom:70px
}

.form-control {
  padding: 13px 20px;
  border-radius:0px
}

.contact-field {
	padding-bottom:4px
}

.contact-col {
	padding-left:20px;
	padding-right:20px
}

.contact-col .wpcf7-submit {
	margin-top:25px
}

.wpcf7-list-item-label {
  color: #5c5c5c;
  font-size: 15px;
  line-height: 24px;
}

#realizacja-aktualnosci {
		background: url(img/bg6.png);
	background-color:#f7f7f7
}

#realizacja-aktualnosci .news-listing-box {
	background-color:#fff;
}

@media only screen and (max-width: 1600px) {

.arrow-text-wrapper {
  gap: 40px;
}

.home-main-left {
  padding-left: 50px;
  font-size: 30px;
  line-height: 40px;
}

.home-main-right {
  padding-right: 50px;
  font-size: 30px;
  line-height: 40px;
}

.content h2 {
  margin-top: 5px;
  font-size: 44px;
  line-height: 54px;
}

.content h3 {
  margin-top: 35px;
  font-size: 28px;
  line-height: 36px;
  font-weight: 800;
  margin-bottom: 30px;
}



}

@media only screen and (max-width: 1400px) {

.nav-logo {
	max-width:200px
}

.home-o-nas-txt {
  margin-top: 35px;
}

.col-img-left {
  padding-right: 80px;
}

h2 {
  font-size: 40px;
  line-height: 46px;
}

.moff {
	display:none
}

section {
  padding-top: 110px;
  padding-bottom: 110px;
}

.col-img-right {
  padding-left: 70px;
}

.news-listing-right {
  padding-left: 70px;
}

.trp-language-switcher-container .nav-link {
	padding-left:30px !important
}

}

@media only screen and (max-width: 1200px) {


.nav-link {
  padding-left: 14px !important;
  padding-right: 14px !important;
  font-size: 15px;
  letter-spacing: .2px;
}

.lang-box {
  padding-left: 25px;
}

  .nav-logo {
    max-width: 170px;
  }

section {
  padding-top: 90px;
  padding-bottom: 90px;
}

h2 {
  font-size: 35px;
  line-height: 41px;
}

body {
  font-size: 16px;
  line-height: 25px;
}

.news-listing-right {
  padding-left: 50px;
}

.news-listing-title {
  font-size: 26px;
  line-height: 34px;
  margin-bottom: 30px;
  font-weight: 700;
}

.single-realizacja-right {
  padding-left: 30px;
}

  .col-img-left {
    padding-right: 48px;
  }

.col-img-right {
    padding-left: 50px;
  }
  
    .content h2 {
    margin-top: 5px;
    font-size: 34px;
    line-height: 44px;
  }
  
    .content h3 {
    margin-top: 35px;
    font-size: 23px;
    line-height: 30px;
	}
	
	.button {
  font-size: 15px;
  line-height: 15px;
	}
	
	.home-main-left {
    padding-left: 20px;
    font-size: 30px;
    line-height: 35px;
  }
  
    .home-main-right {
    padding-right: 20px;
    font-size: 25px;
    line-height: 35px;
  }
  
    .arrow-text-wrapper {
    gap: 20px;
  }
  
  .arrow-left-box {
  font-size: 30px;
}



}

@media only screen and (max-width: 998px) {

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}

.trp-language-switcher-container .nav-link {
	padding-left:13px !important
}

.navbar-nav {
	margin-top:20px
}

.navbar-expand-lg .navbar-nav .dropdown-menu {
  padding: 15px 0px;
}

.lang-box {
    padding-left: 14px;
  }

.navbar {
  padding-top: 15px;
  padding-bottom: 15px;
}

.home-desktop {
	display:none
}

.home-mobile {
	display:block
}

.content-mobile h2 {
	color:#fff;
	margin-bottom:30px;
	font-size: 45px;
    line-height: 54px;
}

.content-mobile h2 .red {
	color:#fff
}

.content-mobile h3 {
	color:#fff;
	margin-bottom:30px;
}

.content-mobile h3 .red {
	color:#fff
}

.content-mobile p {
	color:#fff
}

  section {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  
    h2 {
    font-size: 30px;
    line-height: 36px;
  }
  
  .home-o-nas-txt {
    margin-top: 25px;
  }
  
  .col-txt-left {
  padding-right: 15px;
  padding-bottom:30px
}

.bottom-shape-1 {
	display:none
}

  .col-img-right {
    padding-left: 10px;
  }
  
  #o-nas {
  position: relative;
  padding-bottom: 0px;
}

.home-cat-desc {
	padding-top:25px
}

.oferta-second-row {
  margin-top: 30px;
}

.home-oferta-left {
   padding-left: 13px;
  padding-right: 13px;
}

.home-oferta-right {
   padding-left: 13px;
  padding-right: 13px;
}

.home-realizacje-box {
  padding-right: 0px;
}

.bottom-shape-2  {
	display:none
}

  .col-img-left {
    padding-right: 13px;
  }

.col-txt-right {
  padding-left: 15px;
  padding-top: 30px;
}

#kontakt {
  padding-top: 50px;
  padding-bottom: 50px;
}

.footer-logo {
  margin-bottom: 40px;
}

.footer-mail {
  margin-top: 40px;
  margin-bottom: 15px;
}

.footer-mail a {
  font-size: 30px;
  line-height: 36px;
}

.footer-phone a {
  font-size: 30px;
  line-height: 38px;
}

.bg-img-4 {
	max-width:350px
}

.content-mobile p {
	margin-bottom:0px
}

#home-mobile {
	padding-top:65px;
	padding-bottom:85px
}

#page-header {
  background: url(img/pagebg.jpg) no-repeat top center;
  background-size: cover;
  padding-top: 110px;
  padding-bottom: 20px;
  margin-top: 70px;
}

.page-header-title {
  font-size: 34px;
  line-height: 40px;
  padding: 14px 14px 16px 21px;
}

.page-realizacje-box .button {
	line-height:27px
}

.top-shape-1  {
	display:none
}

.top-shape-wrapper
 {
  padding-left: 0px;
  padding-right: 0px;
}

  .single-realizacja-right {
    padding-left: 11px;
    padding-top: 0px;
  }
  
  .single-realizacja-features {
  display: grid
;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 10px;
  align-items: start;
  margin-bottom: 17px;
}

.single-realizacja-features {
	background: url(img/bg5.png) no-repeat top right;
	background-size:cover;
	background-color:#f7f7f7;
	padding:20px 15px
}

.single-realizacja-opis {
  padding: 10px 15px;
  padding-bottom:0px
}

.feature-icon {
  padding-bottom: 2px;
}

.news-listing-box {
  padding: 20px !important;
  padding-top:10px !important
}

  .news-listing-right {
    padding-left: 10px;
    padding-top: 25px;
  }
  
  .single-post .single-realizacja-opis {
	  padding-top:25px
  }
  
    .home-cat-desc {
    padding-top: 15px;
    text-align: left;
  }

.job-header {
  padding: 20px;
}

.accordion-body {
  padding: 20px;
}

.accordion-body ul{
  margin-bottom:25px
}

.copyright-row {
	margin-top:35px;
}

}