/* Open Sans – self-hosted variable font, subset latin + SK/CZ characters.
   Declared as the same 400/700/800 faces the old Google Fonts link had, so headings
   with font-weight 600 keep rendering as 700 (the file is downloaded only once). */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/open-sans-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/open-sans-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('../fonts/open-sans-var.woff2') format('woff2');
}
/* metric-matched fallback so text does not jump when the web font swaps in */
@font-face {
	font-family: 'Open Sans Fallback';
	src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Helvetica');
	size-adjust: 105.15%;
	ascent-override: 101.65%;
	descent-override: 27.86%;
	line-gap-override: 0%;
}

body {
    top: 0px!important;
	overflow-x: hidden;
	overflow-y: auto;
	font-family: 'Open Sans', 'Open Sans Fallback', sans-serif;
}
img {
	max-width: 100%;
	height: auto;
}
.text-primary {
	color: #982c36!important;
}
ul.navbar li a:hover,
.text-white {
	color: #fff!important;
}
.text-light {
    color: #a0a0a0!important;
}
.bg-white {
	background-color: #fff!important;
}
ul.navbar li a:hover,
.bg-primary {
	background-color: #982c36!important;
}
.bg-secondary {
	background-color: #862730!important;
}
.bg-third {
	background-color: #2c313b!important;
}

a:hover {
	color: inherit;
	text-decoration: none;
}

.link-u,
.link-nu {
	text-decoration: none!important;
}
.link-nu:hover,
.link-u {
	text-decoration: underline!important;
}

.container {
	max-width: 1400px;
}
.container-fluid {
	max-width: 1920px;
}

.o-hidden {
	overflow: hidden;
}
.overflow-y-hidden {
    overflow-y: hidden!important;
    overflow-x: auto;
}
.bar-translate {
    position: absolute;
    z-index: 9999;
    right: 15px;
    top: 14px;
}
.bar-translate .goog-te-gadget:not(.goog-te-combo) {
    font-size: 0;
}
.VIpgJd-ZVi9od-l4eHX-hSRGPd,
.bar-translate .goog-te-gadget .goog-logo-link {
    display: none;
}
.goog-te-combo {
    color: #fff;
    background-color: transparent;
    margin: 0!important;
    padding: 6px 8px;
    border-radius: 25px;
}
.goog-te-combo option {
    color: #000;
}
.goog-tooltip,
.goog-te-banner-frame {
    display: none!important;
}



.clear{clear: both;}
*:focus {
    outline: none;
}

html, body{
	font-family: 'Open Sans', 'Open Sans Fallback', sans-serif;
	text-align: center;
  line-height: 1.3em;
}

h1,h2,h3,h4{
	font-weight: 600;
	letter-spacing: -1px;
	text-transform: none;
	margin-bottom: 15px;
  line-height: 1.5;
}
h1{ font-size: 50px;}
h2{ 
	font-size: 40px;
	line-height: 1.3;
}
.size-h3,
h3{	font-size: 32px;}
.size-h4,
h4{	font-size: 20px;}



i{font-weight: 400;}
a{color: #fff; text-decoration: none;}


* {font-family: 'Open Sans', 'Open Sans Fallback', sans-serif;}

.flex-row {
	display: -webkit-box!important;
    display: -moz-box!important;
    display: -ms-flexbox!important;
    display: -webkit-flex!important;
    display: flex!important;
    flex-flow: row wrap;
}


.small {
	font-size: 12px!important;
    line-height: normal;
}
.normal {
	font-size: 14px!important;
}
.text-center {
	text-align: center!important;
}

button, .button{
    display: inline-block;
	width: 194px;
	height: 58px;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 700;
	background: #000;
	border: 3px solid #000;
	border-radius: 100px;
  	color: #fff;
	transition: .2s ease;
}
.button {
    line-height: 58px;
}

button.inverse, .button.inverse{
	background: #fff;
	color: #000;
  border-color: #fff;
}

button.inverse:hover,
.button.inverse:hover {
	background: #000;
    border: 3px solid #000;
	color: #fff;
}

button:hover,  .button:hover {
	background: #982c36;
	color: #fff;
	cursor: pointer;
	border-color: #982c36;
}
button i, .button i,
button .ico, .button .ico{margin-left: 10px;}

button.main, .button.main{
  background: #982c36;
  border: none;
}
button.main:hover ,.button.main:hover{
  background: #000;
}
/*
.packages{
  padding: 10px 0;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-bottom: 1px solid #ff9191;

}
.packages ul li {
	margin: 5px 0;
}

.packages h4{
  display: inline-block;
}

.packages div{
  margin: 20px;
  width: 25%;
  background: #862730;
  padding: 20px;
}
*/
.table-wrapper{
  width: 100%;
  overflow-x: auto;
}
.hamburger:hover{
  cursor: pointer;
}

.close{
  color: #fff;
  position: absolute;
  margin-left: 380px;
  top: 20px;
}

.outdoorDiv{
  background: #eee;
  padding: 50px 15px;
}

.close:hover{
  color: red;
  cursor: pointer;
}

.cookies{
	text-transform: none;
	font-size: 11px;
	padding: 1% 10%;
	font-weight: 400;
	line-height: 15px;
	background: rgba(0,0,0,0.80);
	color: #fff;
}

.cookies a{text-decoration: underline;}

.header{
	color: #fff;
  background-size: cover;
  overflow: hidden;
  background: #2c313b;
}

.header .img{
	width: 300px;
}
.header .navbar .lang-wrapper a {
    padding: 15px 20px;
}


.header p{
	margin: 30px;
	font-size: 100%;
	line-height: 1.4em;
}

.header p span{
  color: #b3c0bb;
}

.header .img-scroll.scroll{
	display: none;
	margin: 30px 0 0 0;
	height: 60px;
}

.myVideo {
  right: 0;
  top: 0;
  min-width: 100%;
  min-height: 100vh;
  opacity: .4;
}


.navbar {
	list-style: none;
    z-index: 100;
    width: 100%;
    background: rgba(0, 0, 0, 0.65);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
	box-sizing: border-box;
}

ul.navbar li a {
	transition: .2s;
	padding: 20px;
	display: block;
	text-transform: uppercase;
}

.modal-video-close-btn:hover{
  background: none;
  color: red !important;
}

.header-i{
	left: 0;
  top: 0;
  min-width: 100%;
  min-height: 100vh;
  display: table;
  vertical-align: middle;
	background-size: 4.00px 4.00px;
  position: absolute;
}
.header-i .main-text {
	padding: 11vw 0;
}

/*  background: linear-gradient(0deg, #2c313b 25%, #ffffff00 25%, #ffffff00 50%, #2c313b 50%, #2c313b 75%, #ffffff00 75%, #ffffff00 100%);
*/

.vertical-center{
  display: table-cell;
  vertical-align: middle;
  background-size: 4.00px 4.00px;
  padding-top: 70px;
}

.lasergame, .casestudies-2, .gallery, .gallery2, .contact{
	margin-top: 80px;
}
.casestudies-2{
	background: #000;
	color: #fff;
	padding: 0 30px 50px 30px;
}

.casestudies-2 p{
	display: none;
}

.casestudies-2 h3{
	font-size: 1.5em;
	letter-spacing: 0;
}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex div{
	width: calc(100%/3);
	margin: 60px 0;
}

.flex div p{
	margin-bottom: 20px;
	line-height: 22px;
	text-transform: none;
	padding: 10px 20px;
	font-size: 85%;
}

.flex div h3{}

.flex div img{
	width: 90%;
	margin-bottom: 15px;
	transition: .5s ease;
}

.flex div img:hover{
	-webkit-filter: saturate(1.7);
   filter: saturate(1.7);
}


.outdoor{
	width: 100%;
	height: 500px;
	background: 0 0 / cover no-repeat;
	margin-top: 30px;

	padding-top: 185px;
}

.outdoor p{
	font-weight: 700;
}

.contact{
	color: #fff;
	margin: 5% 10% 0% 10%;
	padding: 70px;
	/* BG gradient */
	background: #2c313b; /* Old browsers */
}

.contact address{
  margin: 40px 0 40px 0;
}

.contact .social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.button.whatsapp {
    color: #fff;
    background-color: #25D366;
    border: 1px solid #25D366;
}
.button.whatsapp:hover {
    color: #25D366;
    background-color: #000;
    border-color: #000;
}
.button.whatsapp i,
.button.whatsapp .ico {
    margin-left: 10px;
    font-size: 24px;
}
.contact i {vertical-align: middle; padding-left: 3px;}
.contact .ico {vertical-align: middle; padding-left: 3px; box-sizing: content-box;}

.contact .tel, .contact .email {
	font-size: 26px;
  display: inline-block;
}

.contact .tel{
  margin-top: 30px;
}

.contact .email{
  margin: 20px 0 30px 0;
}

.fac{
  margin: 0 20px;
}
.contact .email{text-transform: lowercase;}

.footer img{
	margin: 50px 20px 100px 20px;
	height: 100px;
}


/*SLIDER*/
#my-slider{
  text-transform: none;
  padding: 30px 0 50px 0;
  margin-top: 80px;
}

.sp-layer{
display: flex;
justify-content: center;
width: 100%;
}

.sp-layer h3{
  margin-bottom: 20px;
}

.sp-buttons{padding: 0; margin: 15px 0 0 0;}
.sp-button{
 border-color: #757575;
}
.sp-selected-button{
  background-color: #757575;
}

.sp-layer div{
  display: flex;
  text-align: left;
  flex-direction: column;
  justify-content: center;
  margin-left: 30px;
  line-height: 1.3em;
  max-width: 600px;
}

.sp-next-arrow:after, .sp-next-arrow:before, .sp-previous-arrow:after, .sp-previous-arrow:before{
  width: 15%;
}

.modalForm {
  background: #000000aa;
  position: absolute;
  z-index: 99999;
  width: 100%;
  display: none;
}

.modalForm object{
  width: 400px;
  height: 1100px;

}



/*MENU*/
.hamburger {
    position: fixed;
    z-index: 1000;
    font-size: 2em;
    left: 0;
    top: 0;
    margin: 15px;
    color: #fff;
    background: #0000005e;
    padding: 14px 10px;
    border-radius: 5px;
	display: none;

}
.hamburger:hover{cursor: pointer;}

.lang-wrapper-mobile {
    position: fixed;
    z-index: 1000;
    right: 0;
    top: 0;
    margin: 15px;
    background: #0000005e;
    padding: 10px;
    border-radius: 5px;
	display: none;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    background-color: #000;
    overflow-x: hidden;
    transition: 0.3s;
}
.overlay-content {
    position: relative;
    top: 20%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}
.overlay .closebtn,
.overlay a {
    padding: 20px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block;
    transition: 0.3s;
}
.overlay .closebtn:hover,
.overlay .closebtn:focus,
.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
}
.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

.gallery{
  text-align: center;
  margin-bottom: 50px;
}
.gallery div{
    padding: 2px;
    display: inline-block;
    height: 250px;
    overflow: hidden;
}
.gallery img{
  width: 400px;
}




.prices {
  background: #2c313b;
}
.prices .subtitle,
.prices .title {
    color: #fff;
}
.table-prices .td-row-title {
    color: #fff;
}




.img-map {
	max-width: 100%;
	margin-top: 2rem;
}


@media screen and (max-height: 450px) {
	.overlay .closebtn,
	.overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
  .gallery img{
    width: 90%;
  }
}

input{background: red !important;}

 .area{
   width: 200px;
   margin-top: 30px;
}

.video:hover{
  cursor: pointer;
}


@media (max-width: 991.98px) {
  .gallery img{
    width: 100%;
  }
/*
  .packages{
    display: block;
    margin: 0;
    padding: 0;
  }
	.packages div{width: 100%; margin: 20px 0;}
  .prices{ padding: 0;}
*/

  .navbar{display: none !important;}
		.hamburger{display: block;}
		.lang-wrapper-mobile{display: block;}
  .contact .messenger i {margin-right: 0;}
  .lasergame .row div:nth-child(2){
    background: #2c313b;
    color: #fff;
  }
  .flex div, #my-slider{
    margin-top: 20px;
    padding: 20px 0;
  }

  .contact{
    margin: 0; padding: 50px 20px 20px 20px;
  }

  .lasergame, .gallery, .outdoor{
    margin-top: 20px;
  }


 

  .flex div p {line-height: 1.3em;}


	.header{
    height: auto;
}
  .header-i{background: none; /*position: relative;*/ min-height: inherit; padding:20px; }
  .header p{margin: 2em 0;}
/*  .myVideo{ display: none;}*/ 
  p, address{line-height: 1.2em;}
  h1,h2,h3{padding-left: 10px; padding-right: 10px;}
	h1{font-size: 2em;}
	h2{font-size: 1.8em; line-height: 1em;}
  h3{font-size: 1.5em; line-height: 1em;}

  td, th{font-size: 0.8em; line-height: 1.2em;}
	button, .button{width: auto; height: auto; line-height: 1.5; padding: 15px 25px;}
	.flex div {width: 100%;}
	.contact .messenger{display: block; margin:0 auto 20px;}
	.header .img-scroll.scroll{display: none;}
	.modal-video-close-btn{ height: 20px; }


  .modalForm object{width: 100%; height: 100vh;}
  .close {
    color: #fff;
    position: relative;
    margin-left: 0;
    top: 20px;
    font-size: 2em;
  }


  .area{width: 100%;}
    p{padding: 3px;}

    .sp-buttons{display: none;}
    .sp-layer{display: block;}
    .sp-layer div{max-width: initial;  text-align: center; margin: 0 20px;}
    .sp-layer h3{font-size: 2em;}
    .sp-layer img{width: 50%;}

    .cennik-box{
      width: 100% !important;
    }

	.hamburger{display: block;}
  .navbar{display: none !important;}
 /* .header{height: auto; background: url(../img/bg.jpg);
}*/
  .header .img{margin-top: 20px;}

    .hamburger{font-size: 1.5em;}
    .header-i{/*position: relative;*/ padding: 15px;}
    h1,h2,h3{padding-left: 10px; padding-right: 10px;}
    .lasergame .row div:nth-child(2){
      background: #2c313b;
      color: #fff;
    }
    .cennik-box{
    width: 100% !important;
    }

}

.sp-slide { -webkit-backface-visibility: hidden; /* Chrome, Safari, Opera */ -webkit-transform: translate3d(0, 0, 0); backface-visibility: hidden; }


@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
/*.myVideo{display: none;}*/
}

.fleft{
  float: left;
}

.cboth{
  clear: both;
}
.cennik-box{
  width: 50%;
}



@media (max-width: 1230px) {
	.container {
		width: 100%;
		max-width: none;
	}
}
@media (max-width: 1199.98px) {
}
@media (max-width: 991.98px) {
	.header {
		position: relative;
		height: auto;
		background-image: url(../img/hero-mobile.webp?v=1);
		background-size: cover;
		background-position: center bottom;
	}	
	.header:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.7);
	}
	.header-i {
		position: relative;
		max-width: 100%;
        padding-top: 100px!important;
	}
	.myVideo {
		display: none;
	}
	.header-i .main-text {
		padding: 0;
	}
    .bar-translate {
        top: 23px;
    }
}
@media (max-width: 767.98px) {
}
@media (max-width: 567.98px) {
    .nav-tabs .nav-item {
        width: auto;
    }
	.header .img {
		width: 200px;
	}
    .contact .social .btn-wrapper {
        width: 100%;
        margin-bottom: 30px;
    }
}



#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-change,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
	background-color: #982c36!important;
	border-color: #982c36!important;
}
#CybotCookiebotDialogTabContent input:checked+.CybotCookiebotDialogBodyLevelButtonSlider {
	background-color: #982c36!important;
}
#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-withdraw:not(:disabled),
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
	border-color: #982c36!important;
}
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-consents-list li.CookiebotWidget-approved svg {
	fill: #982c36!important;
}
#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton:hover, #CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentIABv2Tab:hover, #CybotCookiebotDialogDetailBodyContentCookieContainerTypes .CybotCookiebotDialogDetailBodyContentCookieProvider:not(.CybotCookiebotDialogDetailBodyContentCookieInfoCount):hover,
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover,
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a, #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonIABHeaderViewPartnersLink, #CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsentList dt a, #CybotCookiebotDialog #CybotCookiebotDialogDetailFooter a, #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABDescription a, #CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieLink, #CybotCookiebotDialogDetailBodyContentTextAbout a,
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a,
#CookiebotWidget .CookiebotWidget-consent-details button {
	color: #982c36!important; 
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
	border-bottom-color: #982c36!important;
}
#CookiebotWidget button {
	width: auto;
	height: auto;
}



/* ------------------------------------------------------------------
   Performance / SEO refactor (2026-09)
   ------------------------------------------------------------------ */

/* inline SVG icons (replace Font Awesome webfont – paths from FA Free 5, CC BY 4.0) */
.ico {
	display: inline-block;
	height: 1em;
	width: 1em;
	vertical-align: -.125em;
	fill: currentColor;
	overflow: visible;
}
.ico-plus, .ico-caret, .ico-wa, .ico-ig { width: .875em; }
.ico-marker { width: .75em; }
.ico-fb { width: .625em; }
.ico-yt { width: 1.125em; }
.ico.fa-3x { font-size: 3em; }
.svg-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* lazy-loaded background of the outdoor block (class added by js/main.js) */
.outdoor.is-visible {
	background-image: url('../img/outdoor-1920.webp?v=1');
}
@media (max-width: 575.98px) {
	.outdoor.is-visible {
		background-image: url('../img/outdoor-m.webp?v=1');
	}
}

/* reserve the gallery height before the slider script is loaded (no layout shift) */
#my-slider {
	min-height: 338px;
}
@media (max-width: 991.98px) {
	#my-slider {
		min-height: 300px;
	}
}

/* links styled as buttons (were <button> elements) */
a.button.inverse {
	line-height: 52px;
}
.outdoor .btn-outdoor {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	padding: 5px 20px;
	line-height: 1.3;
	vertical-align: middle;
}
@media (max-width: 991.98px) {
	a.button.inverse {
		line-height: 1.5;
	}
	.outdoor .btn-outdoor {
		line-height: 1.5;
	}
}

/* visually hidden, but readable by search engines & screen readers */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* skip rendering work for sections below the fold until they get close to the viewport
   (heights are the real section heights, so anchors and the scrollbar stay accurate) */
.prices,
.outdoorDiv,
.contact,
.footer {
	content-visibility: auto;
}
.prices { contain-intrinsic-size: auto 2260px; }
.outdoorDiv { contain-intrinsic-size: auto 825px; }
.contact { contain-intrinsic-size: auto 670px; }
.footer { contain-intrinsic-size: auto 250px; }
@media (min-width: 992px) {
	.prices { contain-intrinsic-size: auto 2765px; }
	.outdoorDiv { contain-intrinsic-size: auto 760px; }
	.contact { contain-intrinsic-size: auto 690px; }
}
