body {
	background-color: #FaFaFa;
	margin: 0px;
	padding: 0px;
}

#menutogglebutton {
	display:none;
}

#menu {
	background-color: #FFFFFF;
/*	position:fixed; */
	display:block;
	float: left;
	width:100%;
	height:13vh;
	transition: all 1s;
	min-height: 64px;
}
#menu:hover {
	width:100%;
	background-color: #FFFFFF;
	display:block;
	float: left;
	transition: all 0.6s;
	min-height: 64px;
}
#main {
	overflow: auto;
	display:block;
	float:left;
	width:100%;
	transition: all 0.8s;
	padding-top: 30px;
	
}
#menuico {
	margin-top: 5px;
	margin-bottom: 5px;
	margin-left: 2%;
	width:25%;
	display:block;
	float:left;
	height: 12.5vh;
	text-align:center;
	transition: all 0.1s;
	background-color: #FFFFFF;
}


#menupng {
	display:block;
	float:left;
	height: 100%;
	width: 100%;
	text-align:center;
	transition: all 0.1s;
	background-color: #FFFFFF;
	min-height: 60px;
}
#menuheader {
	margin: 0px;
	margin-top: 2vh;
	text-align: right;
	margin-right: 1%;
	display:block;
	float:right;
	background-color: #FFFFFF;
	width:70%;
	height: 4vh;
	text-shadow: 0 0 #2f2f2f;
	min-height: 20px;
}

#menuheader2 {
	margin: 0px;
	margin-right: 1%;
	display:block;
	float:right;
	width:70%;
	height: 6vh;
	min-height: 40px;
	text-align:center;
	background-color: #FFFFFF;
	margin-top: 0.2vh;
	font-size: large

}

.menubuttons {
	overflow: hidden;
	margin-top: 2.5vh;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-right: 0.25%;
	width:11%;
	display:block;
	float:right;
	height: 95%;
	text-align:center;
	transition: all 0.5s;
	text-shadow: 0 0 black;
}
#menu0{
	width:16%;
	border-left: none;

}

p.nomargin {
	margin:0px;
	/* background-color:rgba(255,255,255,0.75); */
	color: black;
	transition: all 0.75s;
}

p.nomargin:hover {
	margin:0px;
	transition: all 0.5s;
	background-color:rgba(200,200,200,0.75);
	color: white;
}

p.nomarginselected {
	margin:0px;
	/* background-color:rgba(255,255,255,0.75); */
	background-color:rgba(254, 247, 157,0.2);
	color: black;
	transition: all 0.75s;
}

.opinie {
  text-align: center;
  padding: 10px 20px;
  background: #fff;
  font-family: Arial, sans-serif;
}

.opinie h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
  display: inline-block;
}

.opinie h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: #0d47a1;
  margin: 8px auto 0;
}

 /* Kontakt iframe */
 
#kontakt-iframe {
	max-width: 100%;
	overflow-x: hidden;
	padding: 20px;
	box-sizing: border-box;
	height:590px;
}

@media (max-width: 1080px) {
#kontakt-iframe {
	max-width: 100%;
	overflow-x: hidden;
	padding: 20px;
	box-sizing: border-box;
	height:980px;
}
}

@media (max-width: 760px) {
#kontakt-iframe {
	max-width: 100%;
	overflow-x: hidden;
	padding: 20px;
	box-sizing: border-box;
	height:1000px;
}
}

.opinie-blok {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.opinie-blok2 {
  flex: 1 1 250px;
  max-width: 350px;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 30px 20px;
  background: #fff;
  box-shadow: 0 0 0 1px #f2f2f2;
  position: relative;
  text-align: center;
}


.slideimg {
	width:70%; 
	height:35vw;
	object-fit: none; 
	margin-left:15%
}


.opinie-blok2 .opinie-przypis {
  display: block;
  font-size: 36px;
  color: #0d47a1;
  margin-bottom: 15px;
}

.opinie-blok2 p {
  font-size: 15px;
  color: #444;
  line-height: 1.6;
  margin-bottom: 20px;
}

.opinie-blok2 h4 {
  font-weight: bold;
  font-size: 16px;
  margin: 0;
}


p.nomarginselected:hover {
	margin:0px;
	transition: all 0.5s;
	background-color:rgba(254, 247, 157,0.5);
	color: white;
}
.menuspacer {
	
	overflow: hidden;
	margin-top: 2.5vh;
	text-overflow: ellipsis;
	white-space: nowrap;
	width:0.5%;
	display:block;
	float:right;
	height: 95%;
	text-align:center;
	text-shadow: 0 0 black;
	color: rgb(220,220,220);
}

.main-oferta {
  position: relative;
  padding: 0px 20px;
  color: #333;
  font-family: Arial, sans-serif;
}

.main-oferta::before {
  content: "";
  position: absolute;
  /* inset: 0; */
  background: rgba(255, 255, 255, 0.85);
  z-index: 0;
}

.main-oferta .main-oferta-content {
  position: relative;
  max-width: 900px;
  padding-left: 5%;
  padding-right: 20px;
  margin: -20px auto;
  z-index: 1;
}

.main-oferta h1 {
  font-size: 32px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 40px;
}

.main-oferta h2 {
  font-size: 24px;
  font-weight: 800;
  margin-top: 30px;
  margin-bottom: 10px;
}

.main-oferta p {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.main-oferta ul {
  list-style-type: disc;
  padding-left: 20px;
  margin-bottom: 20px;
}

.main-oferta li {
  margin-bottom: 8px;
  font-size: 18px;
}

.main-oferta strong {
  font-weight: 900;
}



/*
.menubuttons:hover {
	transition: all 0.5s;
	text-shadow: 0 0 blue;
	background-color:rgba(200,200,200,0.75);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
*/
#menu0:hover,#menu1:hover,#menu2:hover,#menu3:hover,#menu3:hover,#menu4:hover {


}
table#table1 {
	border: solid 2px black;
}
td{
	border:2px solid cyan;
}


a.menu-link {
	text-decoration: none;
	transition: all 1s;
	color: black;
	
}

a.contact-text {
	text-decoration: none;
	font-size:initial;
	color: rgba(200,200,200,0.3);
	padding-left:3%;
	background-color:rgba(255,255,255,0.5);
	transition: all 1s;
	
}

a.contact-text:hover {
	text-decoration: underline;
	font-size:initial;
	color: gray;
	background-color:rgba(240,240,240,0.5);
	transition: all 0.35s;
}

/* animowane slajdy */

* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  display:contents;
  height:640px;
  max-width: 1920px;
  position: relative;
  margin: auto;
  overflow: hidden;
  margin-top: 80px;
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -12px;
  padding: 32px;
  color: gold;
  font-weight: bold;
  font-size: 24px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  z-index: 2;
  display:none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}


/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.75s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.25s;
}

@keyframes fade {
  from {opacity: .45}
  to {opacity: 1}
}


#cookies{
    position: fixed;
    z-index: 10;
	left: 0;
	bottom: 0;
	width:100%;
	background-color: #FFFFFF;
	text-align: center;
}

#cookie_accept_button {
	width:15%;
	min-width: 80px;
	background-color: #6FBF6F;
	color:#FFFFFF;
	text-align:center;
	border: 1px solid black;
}


.maintext {
	display: block;
	float: left;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 2px;
	padding-bottom:5px;
	font-size: larger;
}

.maintextoffer {
	display: block;
	float: left;
	padding-left: 10%;
	padding-right: 5%;
	padding-top: 2px;
	padding-bottom:5px;
	font-size: larger;
}
h1 {
	display: block;
	float: left;
	text-align: center;
	width:100%;
	margin-top: 16px;
	padding-bottom: 16px;
}

#offer-body {
	width:95%;
	display:block;
	float:left;
	margin-left: 0%;
	margin-right:5%;
	margin-top: 80px;
}
.offer-block {
	width:95%;
	display:block;
	float:left;
	margin-top: 12px;
	margin-bottom: 20px;
	margin-left: 8%;
}
.offer-blockleft {
	width:15%;
	display:block;
	float:left;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: gray;
	margin-right: 5%;
	font-weight: 700;
	padding-bottom: 15px;
}
.offer-blockright {
	width:75%;
	display:block;
	float:left;
	font-size: large;
}
#mobilemenuspacer{
	display:none;
	}

#maintxt3 {
	text-align: center;
	display:flex;
	justify-content: center;
	width:100%;
	font-size: x-large;
	
}

#maintxt4 {
	text-align: center;
	justify-content: center;
	width:100%;
	font-size: x-large;
	
}


 /* Gallery */


#mainflex {
  width:100%;
  margin: 0;
  min-height: 50vh;
  max-height: 60vh;
  background: #fafafa;
  font-family: sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 12vmin;
  overflow: hidden;
  transform: skew(5deg);
}
.container .card {
  flex: 1;
  transition: all 1s ease-in-out;
  height: 55vmin;
  min-height: 320px;
  position: relative;
}
.container .card .card__head {
  color: black;
  background: rgba(255, 30, 173, 0.75);
  padding: 0.5em;
  transform: rotate(-90deg);
  transform-origin: 0% 0%;
  transition: all 0.5s ease-in-out;
  min-width: 100%;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1em;
  white-space: nowrap;
}
.container .card:hover {
  flex-grow: 5;
}
.container .card:hover img {
}
.container .card:hover .card__head {
  text-align: center;
  top: calc(100% - 2em);
  color: white;
  background: rgba(0, 0, 0, 0.5);
  font-size: 2em;
  transform: rotate(0deg) skew(-5deg);
}
.container .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s ease-in-out;
}
.container .card:not(:nth-child(4)) {
  margin-right: 1em;
}


.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5%;
  width: 100%;
}

.image-wrapper {
  background-color: white;
  padding: 20%;
  margin-top: -10%;
  padding-top: 0%;
  padding-bottom: 0%;
  margin-bottom: -65%;
  aspect-ratio: 1 / 1; /* Makes square boxes */
  overflow: hidden;
}

.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


@media (max-width: 760px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
  
 .image-wrapper {
   background-color: white;
   padding: 10%;
   margin-top: 0%;
   margin-bottom: 0%;
   aspect-ratio: 1 / 1; /* Makes square boxes */
   overflow: hidden;
 }
 
 .image-wrapper img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
 }
 
 
 
 
}



/* Przycisk pokaż więcej (do img) */

    .button-wrapper {
      display: flex;
      justify-content: center;
      margin-top: 40px;
    }

    .more-button {
      position: relative;
      background-color: #f27306;
      color: white;
      padding: 12px 24px;
      border: none;
      font-size: 20px;
      cursor: pointer;
      overflow: hidden;
	  width: 30%;
      transition: background-color 0.45s ease;
      text-decoration: none;
      display: inline-grid;
      align-items: center;
    }

    .more-button .text {
      display: inline-block;
      transition: transform 0.3s ease;
    }

    .more-button .arrow {
      display: inline-block;
      opacity: 0;
      margin-left: 8px;
      transition: opacity 0.45s ease;
	  text-align: right;
    }

    .more-button:hover .text {
      transform: translateX(-5px);
    }

    .more-button:hover .arrow {
      opacity: 1;
    }



/* end */



/* MOBILE */


@media (max-width: 760px) {
	

.slideimg {
	width:85%; 
	height:500px; 
	object-fit: none; 
	margin-left:9%
}



#mainflex {
  width:100%;
  margin: 0;
  min-height: 52vh;
  max-height: 53vh;
  background: #fafafa;
  font-family: sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5vmin;
  overflow: hidden;
  transform: skew(5deg);
}
.container .card {
  flex: 1;
  transition: all 1s ease-in-out;
  height: 50vmin;
  min-height: 350px;
  position: relative;
}

#menuheader {
	text-align: center;
	display:flex;
	justify-content: center;
	width:16%;
	height: 42px;
	text-shadow: 0 0 black;
	min-height: 20px;
	margin-top: 2px;
	margin-right: 0;
}

#menuheader2 {
	transition: height .1s;
	text-align: center;
	display:flex;
	justify-content: center;
	width:100%;
	height: 0px;
	text-shadow: 0 0 black;
	min-height: 0px;
	display:block;
	margin-top: 24px;
	background-color: transparent;
}

#menutogglebutton {
	display:block;
	float:left;
	justify-content: left;
	width:100%;
	height:64px;
	
}

#menu {
	background-color: #FFFFFF;
	
/*	position:fixed; */
	display:block;
	position: fixed;
	transition: all 0.75s;
    top:0;
    left:0;
    width:100%;
    height:0px;
    z-index:1000;
}
#menu0{
	width:95%;

}
#menuico {
	display: block;
	width:80%;
	height: 58px;
	margin-top: 2px;
	}

.contact-text {
	display: none;
}

.menubuttons {
	overflow: hidden;
	margin-top: 2.5vh;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-right: 0.25%;
	width:95%;
	display:block;
	float:center;
	height: 0px;
	text-align:center;
	transition: all 0.5s;
	 /* background-color:rgba(255,255,255,0.5); */
	text-shadow: 0 0 black;
}

.slideshow-container {

  display:block;
  float:left;
  height:720px;
  max-width: 760px;
  position: inherit;
  margin: auto;
  margin-bottom: -40px
}
#mobilemenuspacer{
	height:80px;
	width:100%;
	display:block;
	float:left;
	}
	
.menuspacer {
	display:none;
}

  .opinie-blok {
    flex-direction: column;
    align-items: center;
  }

  .opinie-blok2 {
    width: 100%;
    max-width: 500px;
	flex: 1 1 200px;
  }

#menupng {
	display:block;
	float:left;
	height: 60px;
	width: 100%;
	text-align:center;
	transition: all 0.8s;
}
	
.container .card img {
  width: 100%;
  height: 80%;
  object-fit: cover;
  transition: all 1s ease-in-out;
}


.more-button {
  position: relative;
  background-color: #f27306;
  color: white;
  padding: 12px 24px;
  border: none;
  font-size: 20px;
  cursor: pointer;
  overflow: hidden;
  width: 50%;
  transition: background-color 0.45s ease;
  text-decoration: none;
  display: inline-grid;
  align-items: center;
}


#offer-body {
	width:100%;
	display:block;
	float:left;
	margin-left: 0%;
	margin-right:5%;
	margin-top: 80px;
}
.offer-block {
	width:100%;
	display:block;
	float:left;
	margin-top: 12px;
	margin-bottom: 20px;
}
.offer-blockleft {
	width:15%;
	display:block;
	float:left;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: gray;
	margin-right: 5%;
	font-weight: 700;
	padding-bottom: 15px;
	min-width:70px;
}
.offer-blockright {
	width:75%;
	display:block;
	float:left;
	font-size: large;
}


} /* End of mobile ver */
	