body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    background-color: #f5f7fa;
    color: #1d3557;
}

.hero-banner {
    position: relative;
    width: 100%;
    height: 250px;
    background: url('/img/top1.jpg') center center / cover no-repeat;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}

.hero-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(11,40,72,0.8);
    z-index: 1;
}

.hero-banner h1 {
    position: relative;
    z-index: 2;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
    font-size: 2rem;
    margin: 0;
}

@media (min-width: 768px) {
    .hero-banner {
        height: 350px;
    }
    .hero-banner h1 {
        font-size: 3rem;
        font-weight:700;
    }
}

.container h1,.container-fluid h1,h2,h3,h4,h5{
	font-weight:700;
	color:#0C2949 !important;
	text-align:center;
}

.desc, .desc p{
	font-size:1.5rem;
	font-weight:200;
	color:#fff;
}

a{text-decoration:none}
h4{text-align:center;margin:30px 0;color:#444}


.footer{
	padding-top:40px;
	padding-bottom:40px;
	background-color:#010D1A;
	color:#fff;
}
/******************* Timeline Demo - 8 - POPRAWIONY *****************/
.main-timeline8{
    overflow: visible;
    position: relative;
}
.main-timeline8:after,
.main-timeline8:before{
    content: "";
    display: block;
    width: 100%;
    clear: both;
}
.main-timeline8:before{
    content: "";
    width: 4px;
    height: 100%;
    background: #d6d5d5;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
}
.main-timeline8 .timeline{
    width: 50%;
    float: left;
    padding-right: 30px;
    position: relative;
    margin-bottom: 100px !important;
    clear: both;
}
.main-timeline8 .timeline-icon{
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid #1F4064;
    position: absolute;
    top: 50px;
    right: -18px;
    z-index: 2;
}
.main-timeline8 .year{
    display: block;
    padding: 12px 25px;
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    border-radius: 0 50px 50px 0;
    background: #1F4064;
    text-align: center;
    position: relative;
    min-width: 120px;
    z-index: 1;
}
.main-timeline8 .year:before{
    content: "";
    border-top: 40px solid #264d76;
    border-left: 40px solid transparent;
    position: absolute;
    bottom: -40px;
    left: 0;
}
.main-timeline8 .timeline-content{
    padding: 25px;
    margin: 0 50px 0 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    position: relative;
    min-height: 200px;
    overflow: visible;
}
.main-timeline8 .title{
    font-size: 22px;
    font-weight: 700;
    color: #1d3557;
    margin: 0 0 15px;
    line-height: 1.3;
}
.main-timeline8 .description{
    font-size: 16px;
    color: #444;
    line-height: 1.6;
    margin: 0 0 15px;
}
.main-timeline8 .timeline-content img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px;
    border-radius: 5px;
}

/* Elementy po prawej stronie */
.main-timeline8 .timeline:nth-child(2n){
    padding: 0 0 0 30px;
    float: right;
}
.main-timeline8 .timeline:nth-child(2n) .timeline-icon{
    right: auto;
    left: -18px;
}
.main-timeline8 .timeline:nth-child(2n) .year{
    border-radius: 50px 0 0 50px;
    margin-left: auto;
    margin-right: 0;
}
.main-timeline8 .timeline:nth-child(2n) .year:before{
    border-left: none;
    border-right: 40px solid transparent;
    border-top-color: #264d76;
    left: auto;
    right: 0;
}
.main-timeline8 .timeline:nth-child(2n) .timeline-content{
    text-align: center;
    margin: 0 40px 0 50px;
}

/* USUŃ WSZYSTKIE PROBLEMATYCZNE MARGINESY */
.main-timeline8 .timeline:nth-child(2),
.main-timeline8 .timeline:nth-child(odd),
.main-timeline8 .timeline:nth-child(even) {
    margin: 0 0 -180px 0 !important;
}

.main-timeline8 .timeline:first-child,
.main-timeline8 .timeline:last-child:nth-child(even) {
    margin: 0 0 -180px 0 !important;
}

/* Ustawienie tekstu na środku dla .text-center */
.main-timeline8 .timeline-content.text-center {
    text-align: center;
}

/* Style dla przycisków */
.main-timeline8 .btn-outline-primary {
    margin-top: 15px;
    border-radius: 25px;
    color: #1F4064;
    border-color: #1F4064;
    font-weight: 600;
    padding: 8px 20px;
}
.main-timeline8 .btn-outline-primary:hover {
    background-color: #1F4064;
    border-color: #1F4064;
    color: white;
}

/* ============================================================
   8 ODCIENI GRANATU - ZAKTUALIZOWANE
   ============================================================ */
.main-timeline8 .timeline:nth-child(1n) .timeline-icon { border-color: #1F4064; }
.main-timeline8 .timeline:nth-child(1n) .year { background: #1F4064; }
.main-timeline8 .timeline:nth-child(1n) .year:before { border-top-color: #264d76; }

.main-timeline8 .timeline:nth-child(2n) .timeline-icon { border-color: #264d76; }
.main-timeline8 .timeline:nth-child(2n) .year { background: #264d76; }
.main-timeline8 .timeline:nth-child(2n) .year:before { border-top-color: #2d5a88; }

.main-timeline8 .timeline:nth-child(3n) .timeline-icon { border-color: #2d5a88; }
.main-timeline8 .timeline:nth-child(3n) .year { background: #2d5a88; }
.main-timeline8 .timeline:nth-child(3n) .year:before { border-top-color: #34679a; }

.main-timeline8 .timeline:nth-child(4n) .timeline-icon { border-color: #34679a; }
.main-timeline8 .timeline:nth-child(4n) .year { background: #34679a; }
.main-timeline8 .timeline:nth-child(4n) .year:before { border-top-color: #3b74ac; }

.main-timeline8 .timeline:nth-child(5n) .timeline-icon { border-color: #3b74ac; }
.main-timeline8 .timeline:nth-child(5n) .year { background: #3b74ac; }
.main-timeline8 .timeline:nth-child(5n) .year:before { border-top-color: #4481be; }

.main-timeline8 .timeline:nth-child(6n) .timeline-icon { border-color: #4481be; }
.main-timeline8 .timeline:nth-child(6n) .year { background: #4481be; }
.main-timeline8 .timeline:nth-child(6n) .year:before { border-top-color: #4c8ed0; }

.main-timeline8 .timeline:nth-child(7n) .timeline-icon { border-color: #4c8ed0; }
.main-timeline8 .timeline:nth-child(7n) .year { background: #4c8ed0; }
.main-timeline8 .timeline:nth-child(7n) .year:before { border-top-color: #559be2; }

.main-timeline8 .timeline:nth-child(8n) .timeline-icon { border-color: #559be2; }
.main-timeline8 .timeline:nth-child(8n) .year { background: #559be2; }
.main-timeline8 .timeline:nth-child(8n) .year:before { border-top-color: #5ca9f4; }

/* ============================================================
   RESPONSYWNOŚĆ - POPRAWIONA DLA TELEFONÓW
   ============================================================ */
@media only screen and (max-width: 991px) {
    .main-timeline8 .timeline {
        margin-bottom: 80px !important;
    }
    
    .main-timeline8 .timeline-content {
        padding: 20px;
        min-height: 180px;
    }
    
    .main-timeline8 .year {
        font-size: 24px;
        padding: 10px 20px;
    }
}

/* NAJWAŻNIEJSZA POPRAWKA: TYLKO JEDEN STYL DLA .timeline-content NA TELEFONACH */
@media only screen and (max-width: 767px){
    .main-timeline8{
        overflow:visible;
    }
    .main-timeline8:before{
        top:0;
        left:30px;
        transform:translateX(0);
    }
    
    /* USUŃ WSZYSTKIE SPECJALNE MARGINESY NA MOBILE */
    .main-timeline8 .timeline:nth-child(2),
    .main-timeline8 .timeline:nth-child(even),
    .main-timeline8 .timeline:nth-child(odd){
        margin:0;
    }
    
    .main-timeline8 .timeline:nth-child(2),
.main-timeline8 .timeline:nth-child(odd),
.main-timeline8 .timeline:nth-child(even) {
    margin: 0 0 100px 0 !important;
}

.main-timeline8 .timeline:first-child,
.main-timeline8 .timeline:last-child:nth-child(even) {
    margin: 0 0 100px 0 !important;
}
    
    .main-timeline8 .timeline{
        width:100%;
        float:none;
        padding:0 0 0 30px !important;
        margin-bottom:40px !important;
    }
    
    .main-timeline8 .timeline:last-child{
        margin-bottom:0 !important;
    }
    
    .main-timeline8 .timeline-icon{
        right:auto;
        left:14.5px;
        top:30px;
    }
    
    .main-timeline8 .timeline:nth-child(2n) .timeline-icon {
    	left:14.5px;
    }
    
    .main-timeline8 .year{
        border-radius:50px 0 0 50px;
        font-size:26px;
        padding:8px 20px;
        float:none !important;
        margin:0 -18px 0px 30px !important; /* POPRAWIONE: marginesy takie same jak .timeline-content */
        display:block; /* POPRAWIONE: z inline-block na block */
        width:auto; /* POPRAWIONE: automatyczna szerokość */
        min-width:auto;
        box-sizing: border-box; /* POPRAWIONE: aby padding nie zwiększał szerokości */
    }
    
    .main-timeline8 .year:before{
        border-left:none;
        border-right:35px solid transparent;
        left:auto;
        right:0;
        bottom:-35px;
        border-top-width:35px;
        border-right-width:35px;
    }
    
    /* TYLKO JEDEN STYL DLA WSZYSTKICH .timeline-content NA MOBILE! */
    .main-timeline8 .timeline-content,
    .main-timeline8 .timeline:nth-child(2n) .timeline-content {
        margin:0 20px 0 30px !important;
        text-align:center !important;
        padding:20px;
        min-height:auto;
        background:#fff;
        border-radius:8px;
        box-shadow:0 3px 15px rgba(0,0,0,0.08);
    }
    
    .main-timeline8 .timeline:nth-child(2n) .year:before {
        border-top-color:#264d76;
    }
    
    .main-timeline8 .title{
        font-size:20px;
    }
    
    .main-timeline8 .description{
        font-size:15px;
    }
}

@media only screen and (max-width: 480px) {
    .main-timeline8:before{
        left:25px;
    }
    
    .main-timeline8 .timeline{
        padding-left:25px !important;
        margin-bottom:30px !important;
    }
    
    .main-timeline8 .timeline-icon{
        left:9.5px;
        width:30px;
        height:30px;
    }
    
      .main-timeline8 .timeline:nth-child(2n) .timeline-icon {
    	left:9.5px;
    }
    
    .main-timeline8 .year{
        font-size:22px;
        padding:6px 15px;
        margin:0 -15px 0px 20px !important; /* POPRAWIONE: dostosowane do nowych marginesów */
        display:block; /* POPRAWIONE: z inline-block na block */
        width:auto; /* POPRAWIONE: automatyczna szerokość */
    }
    
    .main-timeline8 .year:before{
        border-top-width:30px;
        border-right-width:30px;
        bottom:-30px;
    }
    
    .main-timeline8 .timeline-content,
    .main-timeline8 .timeline:nth-child(2n) .timeline-content {
        margin:0 15px 0 20px !important;
        padding:15px;
    }
    
    .main-timeline8 .title{
        font-size:18px;
        margin-bottom:10px;
    }
    
    .main-timeline8 .description{
        font-size:14px;
    }
}



.projectFactsWrap{
    display: flex;
  margin-top: 30px;
  flex-direction: row;
  flex-wrap: wrap;
}


#projectFacts .fullWidth{
  padding: 0;
}

.projectFactsWrap .item{
  width: 33.333%;
  height: 100%;
  padding: 50px 0px;
  text-align: center;
}

.projectFactsWrap .item:nth-child(1){
  background: rgb(12, 41, 73);
}

.projectFactsWrap .item:nth-child(2){
  background: rgb(31, 64, 100);
}

.projectFactsWrap .item:nth-child(3){
  background: rgb(56, 89, 125);
}

.projectFactsWrap .item:nth-child(4){
  background: rgb(1, 113, 199);
}

.projectFactsWrap .item p.number{
  font-size: 40px;
  padding: 0;
  font-weight: bold;
}

.projectFactsWrap .item p{
  color: rgba(255, 255, 255, 0.8);
  font-size: 18px;
  margin: 0;
  padding: 10px;
  font-family: "Jost", sans-serif;
}


.projectFactsWrap .item span{
  width: 60px;
  background: rgba(255, 255, 255, 0.8);
  height: 2px;
  display: block;
  margin: 0 auto;
}


.projectFactsWrap .item i{
  vertical-align: middle;
  font-size: 50px;
  color: rgba(255, 255, 255, 0.8);
}


.projectFactsWrap .item:hover i, .projectFactsWrap .item:hover p{
  color: white;
}

.projectFactsWrap .item:hover span{
  background: white;
}

@media (max-width: 786px){
  .projectFactsWrap .item {
     flex: 0 0 50%;
  }
}
