html {
  scroll-behavior: smooth;
}
.body
{
  margin: 50px;
}


.menu
{
  
  
  display: flex;
  padding: 10px 30px;
  align-items: center;
  justify-content: space-between;
  
}
.logo
{
        display: flex;
        align-items: center;
        margin-left: 0;
  height: auto;
  transition: transform 0.3s ease;
}
.logo img
{
  display: block;
  width: auto;
  max-height: 100px;
  object-fit: cover;
  object-position: top;
  transition: transform 0.3s ease, filter 0.3s ease;
  }
.logo:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}
.logo:hover
{
  transform: scale(1.05);
}
.odniesienia
{
  display: grid;
    place-items: center;
    margin-top: 50px;
    margin-left: 30%;

}
.odniesienia_zawartosc
{
    display: flex;
  flex-direction: row;
  gap: 20px;
  text-align: center;
  list-style: none;  
    padding: 0;        
    margin: 0;
}
.odn
{
   width: 120px;
   height: 30px;
   text-align: center;
}
.odn_act 
{
  color: black;
  text-decoration: none;
  transition: color 0.3s ease;
}
.odn_act a
{
 color: #007cc2;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
}
.odn_act a::after {
  width: 100%;
}
.odn_act a:hover
{
  color: #0033ff;
  text-decoration: none;
}
.odn a
{
  color: black;
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
}
.odn a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 2px;
  background: #007cc2;
  transition: 0.3s;
}
.odn a:hover::after {
  width: 100%;
}
.odn a:hover
{
  color: #0033ff;
  text-decoration: none;
  
}
.oddzielacz
{
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
  border:solid gray;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.strona_glowna
{
  margin:20px;
}
.of-underline
{
  width: 90px;
  border:solid #007cc2;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.cyfrowyzdj img
{
  width: 350px;
  height: auto;
  object-fit: cover;
  object-position: top;
   border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.cyfrowycon
{
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
}
.certlist
{
  display: flex;
  flex-direction: row;
}
.colum
{
  display: flex;
  flex-direction: column;
}
.colum img
{
  width: 60%;
  height: auto;
}
.ofertyimg img
{
box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.offbutt
{
  background-color: #007cc2;
  text-decoration: none;
  width: 180px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center; 
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.opisindex a
{
 text-decoration: none;
 color: white;
}
.part
{
  display: flex;
  flex-direction: row; 
  gap: 20px;
  margin: 0 auto;
}
.part img
{
height: 100px;
width: auto;
object-fit: cover;
justify-content: center;
 margin: 0 auto;
}
.stopa 
{
  background: #1c1c1c;
  color: #ddd;
  font-family: Arial, sans-serif;
}
.stopacont
{
  max-width: 1200px;
  margin: auto;
  padding: 40px 20px;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.kolumna 
{
  flex: 1;
  min-width: 220px;
}
.kolumna h4 
{
  margin-bottom: 15px;
  color: #fff;
}
.kolumna p 
{
  margin: 5px 0;
  font-size: 14px;
}
.kolumna a 
{
  display: block;
  color: #bbb;
  text-decoration: none;
  margin-bottom: 8px;
  font-size: 14px;
  transition: 0.3s;
}
.kolumna a:hover 
{
  color: #fff;
  padding-right: 5px;
}
.lewa 
{
  text-align: left;
}

.prawa 
{
  text-align: right;
}
.stopa-dol 
{
  text-align: center;
  padding: 15px;
  border-top: 1px solid #333;
  font-size: 13px;
  color: #aaa;
}
.kontakt
{
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: space-between;
  margin: 40px;
}
.ofertacon
{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
}
.okno
{
  border:2px solid black;
  border-radius: 10px;
  width: calc(25% - 20px);
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: 0.3s;
}
.okno img 
{
  width: 150px;
  height: auto;
}
.okno a 
{
  color: black;
  text-decoration: none;
}
.okno:hover
{
  transform: scale(1.05);
}
.okno2
{
  display: flex;
  flex-direction: row;
  border: 2px solid black;
  border-radius: 10px;
  width: 90%;
  align-items: center; 
 
}
.okno2 img 
{
  width: 500px;
  height: auto;
  text-align: left;
  padding: 5%;
  

}
.opis 
{
  text-align: left;
  padding: 5%;
 
}
.opis ul 
{
  list-style: none;
}
.finish a
{
 text-decoration: none;
 color: white;
}
.finish
{
  width: 100%;
  display: flex;
  justify-content: center;
}
.ofertasala
{
  display: flex;
  justify-content: center;
}
.cyfrowy a 
{
  text-decoration: none;
  color: white;
}
.mapa {
  width: 90%;
  max-width: 90%;
}
.mapa iframe {
  width: 100%;
  height: 470px;
  border-radius: 10px;
}
.cyf_img
{
  text-align: center;
}
.cyf_dok
{
  text-align: center;
  justify-content: center;
}
.cyf_txt
{
  margin-left: 15%;
  margin-right: 15%;
}
 .cyf_txt table 
 {
  margin: 0 auto;
  border-collapse: collapse;
  width: 100%;
 }
 .cyf_txt th, td 
 {
    border: 1px solid black;
    padding: 8px;
    text-align: left;
  }
  .cyf_txt  th 
  {
    background-color: #f2f2f2;
  }
  .cyf_txt2 b
  {
    color: red;
  }
  .cybunk
  {
    text-align: center;
  }
  .cybunk img
 {
  height: auto;
  width: 60%;
 }
 .cyfrowybox
 {
  display: flex;
  flex-direction: row;
 }
 .cyfrowyzdj img
 {
  width: 350px;
  height: auto;
  object-fit: cover;
  object-position: top;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
 }
.cyfroweinfo a
{
 text-decoration: none;
 color: white;
}
.realizacje
{
  text-align: center;
  margin-top: 40px;
}
.swiper
{
  margin-top: 20px;
  width: 80%;
  height: 400px;
  text-align: center;
}
.swiper-slide img
{
  width: 70%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.tiny
{
  width: 50%;
  height: auto;
}
.realbut
{
  margin-left: 45%;
}
.realbut a
{
 text-decoration: none;
 color: white;
}
.main_real img 
{
  width: 33%;
  height: auto;
}
@media (max-width: 768px) {
  html {font-size: 16px;}
  .menu { flex-direction: column; height: auto; align-items: center; gap: 10px;}
  .logo img { width: 120%;}
  .odniesienia { margin-left: 0; margin-top: 20px; }
  .odniesienia_zawartosc {display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;}
  .okno { width: 100%; }
  .part {flex-direction: row; flex-wrap: wrap; width: 80%; max-width: 300px; margin: 0 auto;}
  .cyfrowycon, .kontakt { flex-direction: column; }
  .stopacont { flex-direction: column; text-align: center; }
  .prawa { text-align: center; }
  .lewa { text-align: center; }
  .cyfrowyzdj img{width: 80%; max-width: 300px; justify-content: center;}
  .mapa{width: 80%; max-width: 300px; justify-content: center;}
  .mapa iframe{width: 100%; height: 250px; border-radius: 10px;}
  .okno2 {width: 100%; flex-direction: column; }
  .okno2 img {width: 100%; max-width: 300px;}
  .opis ul{list-style: square;}
  .odn{width: auto; min-width: 45%; max-width: 48%; padding: 8px 10px; height: auto; text-align: center; display: flex;
        justify-content: center; align-items: center;}
  .odn a{font-size: 14px; white-space: nowrap;}
  .cybunk img {height: auto; width: 100%; text-align: center;}
  .cyfrowybox {display: flex; flex-direction: column;}
  .cyfrowezdj img { height: auto; max-width: 100%; padding-top: 5%;}
  .opisindex{margin: 0 auto;}
  .offbutt {width:100%; margin-bottom: 5%; margin-top: 5%;}
  .strona_glowna{ width: 100%; margin: 0;}
  .part img {width: 20%; height: auto;}
  .swiper {height: 60%; width:100% }
  .swiper-slide img {width: 100%; height: 300px; object-fit: cover; text-align: center;}
  .cyf_img img {height: auto; max-width: 100%;}
  .cyf_txt {margin: 0 auto;}
  .cyf_txt th, td {font-size: 10px;}
  h2 {font-size: 18px;}
  h5 {font-size: 14px;}
  a {font-size: 14px;}
  }

