/* DEBUG GRID */
/*
.fs-grid [class*="fs-lg-"] { border:1px dotted red; }
.fs-grid .row .row [class*="fs-lg-"] { border:1px dotted #ccc; }
*/

html {
	height:100%;
	min-height:100%;
	}

body {
	height:100%;
	min-height:100%;
	background:#fff;
	font-family:"Titillium Web", Arial, Helvetica, sans-serif;
	font-weight:400;
	}

@-webkit-keyframes fade-in { 0% { -webkit-opacity:0; background:#fff; } 100% { -webkit-opacity:1; background:#fff; } }
@keyframes fade-in { 0% { opacity:0; background:#fff; } 100% { opacity:1; background:#fff; } }


@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 80%, 0);
		transform: translate3d(0, 80%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 80%, 0);
		transform: translate3d(0, 80%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.trans1 {
	-webkit-transition:all 250ms ease;
	-moz-transition:all 250ms ease;
	-ms-transition:all 250ms ease;
	-o-transition:all 250ms ease;
	transition:all 250ms ease;
	}

.trans2 {
	-webkit-transition:all 250ms ease;
	-moz-transition:all 250ms ease;
	-ms-transition:all 250ms ease;
	-o-transition:all 250ms ease;
	transition:all 250ms ease;
	outline:1px solid transparent;
	}

em { font-style:italic; }
strong { font-weight:600; }

.clear { clear:both; }

#pageHolder {
	overflow:hidden;
	width:100%;
	}

#fixedHeader {
	display:none;
	}

header {
	width:100%;
	background:url(/gfx/header-bck.png) 0 200px repeat-x;
	}

#logo, #logo2 {
	display:inline-block;
	margin-top:40px;
	margin-bottom:20px;
	-webkit-transition:all 250ms ease;
	-moz-transition:all 250ms ease;
	-ms-transition:all 250ms ease;
	-o-transition:all 250ms ease;
	transition:all 250ms ease;
	}

#logo img, #logo2 img {
	display:block;
	width:100%;
	max-width:100%;
	}

/* Jednorazowe pojawienie się segmentów logo wyłącznie na stronie głównej. */
#logo.logo-home { width: 321px; max-width: 100%; }
#logo .logo-intro { display: block; width: 100%; max-width: 100%; height: auto; }
@keyframes vento-logo-reveal {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
    .logo-intro__segment { animation: vento-logo-reveal 300ms ease-out both; }
    .logo-intro__segment--1 { animation-delay: 80ms; }
    .logo-intro__segment--2 { animation-delay: 200ms; }
    .logo-intro__segment--3 { animation-delay: 320ms; }
    .logo-intro__segment--4 { animation-delay: 440ms; }
    .logo-intro__segment--5 { animation-delay: 560ms; }
    .logo-intro__wordmark { animation: vento-logo-reveal 550ms ease-out 940ms both; }
}

nav {
	text-align:right;
	line-height:40px;
	margin-top:55px;
	}

nav a {
	display:inline-block;
	font-size:16px;
	font-weight: 600;
	color:#181818;
	text-decoration:none;
	text-transform:uppercase;
	}

nav a:hover,
nav a.active {
	color:#009edf;
	}

nav span {
	display:inline-block;
	font-size:16px;
	color:#009edf;
	margin:0 17px;
	}

#baner {
	margin-top:15px;
	height:480px;
	position:relative;
	}

header .brand-slogan {
    /* Odstęp zachowany z pierwotnego nagłówka H1. */
    margin-top: 0.67em;
    margin-bottom: 0.67em;
	position:absolute;
	top:145px;
	left:50%;
	margin-left:-95%;
	z-index:3;
	font-size:39px;
	line-height:60px;
	font-weight:600;
	color:#fff;
	}

header .brand-slogan span {
	display:block;
	margin-left:40px;
	cursor:default;
	-webkit-animation-duration:500ms;	animation-duration:500ms;
	-webkit-animation-delay:700ms; 		animation-delay:700ms;
	-webkit-animation-fill-mode:both; 	animation-fill-mode:both;
	-webkit-animation-name:fadeInUp; 	animation-name:fadeInUp;
	}

header .brand-slogan span:first-child {
	margin:0;
	}

header .brand-slogan span:last-child {
	margin-left:80px;
	}

#corner {
	width:622px;
	height:436px;
	background:url(/gfx/corner.png) no-repeat;
	position:absolute;
	left:-85px;
	top:0;
	z-index:2;
	}

#outer-mask {
    position:absolute;
    left:-70px;
    top:0;
    width:106%;
    height:436px;
	overflow:hidden;
	z-index:1;
	}

#inner-mask {
    position:absolute;
    right:-167px;
    top:0;
    width:100%;
    height:100%;
	overflow:hidden;
    -webkit-transform:skew(36.5deg, 0deg);
        -ms-transform:skew(36.5deg, 0deg);
         -o-transform:skew(36.5deg, 0deg);
            transform:skew(36.5deg, 0deg);
	}

#slidesHolder {
    position:absolute;
    left:130px;
    top:0;
    width:100%;
    height:100%;
	overflow:hidden;
	-webkit-transform:skew(-36.5deg, 0deg);
        -ms-transform:skew(-36.5deg, 0deg);
         -o-transform:skew(-36.5deg, 0deg);
            transform:skew(-36.5deg, 0deg);
	}

#indexOffer {
	margin-top:20px;
	margin-bottom:20px;
	text-align:center;
	}

#indexOffer a {
	display:block;
	margin:0 auto 30px auto;
	text-decoration:none;
	color:#181818;
	}

#indexOffer p {
	height:167px;
	margin:0;
	overflow:hidden;
	}

#indexOffer img {
	max-width:100%;
	height:auto;
	position:relative;
	top:0;
	}

#indexOffer a:hover p img {
	position:relative;
	top:-167px;
	}

#indexOffer span {
	display:block;
	margin:0 auto;
	font-size:29px;
	font-weight:400;
	}

#indexOffer a:hover .offer1 {
	color:#949393;
	}

#indexOffer a:hover .offer2 {
	color:#00aef5;
	}

#indexOffer a:hover .offer3 {
	color:#e90102;
	}

#aboveH2 {
	margin:0;
	position:relative;
	top:25px;
	color:#969696;
	}

#aboveH2 a {
	text-decoration:none;
	color:#969696;
	}

#aboveH2 a:hover {
	color:#e80103;
	}

#aboveH2 .sep {
	display:inline-block;
	margin:0 5px;
	}

:is(h1.page-title, h2) {
	font-size:32px;
	line-height:40px;
	color:#181818;
	text-transform:uppercase;
	position:relative;
	border-bottom:1px solid #ededed;
	}

/* H1 zachowuje odstęp pierwotnego tytułu H2. */
h1.page-title {
    margin-top: 0.83em;
}

:is(h1.page-title, h2) span {
	display:inline-block;
	background:#fff;
	padding-right:20px;
	position:relative;
	top:9px;
	}

:is(h1.page-title, h2) span.sep {
	display:inline-block;
	padding:0;
	margin:0 5px;
	position:static;
	background:none;
	font-weight:300;
	}

:is(h1.page-title, h2) a {
	color:#009edf;
	text-decoration:none;
	}

:is(h1.page-title, h2) a:hover {
	color:#e80103;
	}

.fullWidth {
	width:100%;
	background:#ededed;
	text-shadow:1px 1px 0px rgba(255, 255, 255, 1);
	}

#indexTxt {
	background:url(/gfx/w-arrow.png) no-repeat 50% 0;
	padding-top:90px;
	}

#indexTxt .fs-cell {
	margin-bottom:40px;
	}

#indexTxt .fs-cell:first-child {
	padding-right:40px;
	}

#indexTxt .fs-cell:last-child {
	padding-left:40px;
	}

#indexTxt .fs-cell:last-child .fs-cell {
	padding:0 !important;
	margin-bottom:0;
	}

#indexTxt .fs-cell:last-child .fs-cell:first-child {
	margin-bottom:15px;
	}

#indexTxt .fs-cell:last-child a {
	display:block;
	border:3px solid #fff;
	background:#fff;
	}

#indexTxt .fs-cell:last-child a:hover {
	background:#00aef5;
	}

#indexTxt .fs-cell:last-child a:hover img {
	opacity:0.3;
	}

#indexTxt .zoom { width: 100%; }
#indexTxt .zoom img { width: 100%; height: auto; aspect-ratio: 464 / 300; }

#indexTxt .fs-cell:last-child img {
	max-width:100%;
	display:block;
	}

.header {
	font-size:32px;
	font-weight:600;
	line-height:40px;
	color:#181818;
	text-transform:uppercase;
	position:relative;
	border-bottom:1px solid #fff;
	margin:0 0 40px 0;
	}

.header span {
	display:inline-block;
	background:#ededed;
	padding-right:10px;
	position:relative;
	top:9px;
	}

.header span span {
	background:none;
	padding:0;
	top:auto;
	color:#009edf;
	}

.aRight {
	display:block;
	float:right;
	}

#parallax, #parallaxSubpage {
	width:100%;
	height:650px;
	clear:both;
	position:relative;
	z-index:1;
	background:url(/gfx/footer-bck.jpg) 50% 0 no-repeat fixed;
    background-image: image-set(url(/gfx/footer-bck.webp) type("image/webp"), url(/gfx/footer-bck.jpg) type("image/jpeg"));
	}

#parallaxSubpage {
	height:350px;
	}

.nobg {
	background-attachment:local !important;
	}

#vTop {
	width:100%;
	height:92px;
	background:url(/gfx/v-top.png) no-repeat 50% 0;
	}

#parallaxSubpage #vTop,
#mapHolder #vTop {
	background:url(/gfx/v-top-w.png) no-repeat 50% 0;
	}

#mapHolder #vTop {
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	}

#mapHolder {
	width:100%;
	height:600px;
	clear:both;
	position:relative;
	z-index:1;
	}

#mapa {
	width:100%;
	height:100%;
	position:relative;
	z-index:1;
	}

#mapaCaption {
	width:260px;
	font-size:14px;
	line-height:22px;
	padding:15px 0 15px 10px;
	}

footer {
	width:100%;
	height:230px;
	background:url(/gfx/v-bottom.png) no-repeat 50% 0;
	margin:-132px 0 0 0;
	position:relative;
	z-index:2;
	color:#fff;
	}

#footerDataA {
	height:132px;
	background:url(/gfx/f-mapa.png) no-repeat 0 50%;
	padding-top:30px;
	padding-left:80px;
	font-size:16px;
	line-height:25px;
	font-weight:300;
	}

#footerDataA strong {
	font-size:18px;
	font-weight:600;
	}

#footerDataB {
	height:132px;
	float:right;
	text-align:right;
	background:url(/gfx/f-tel.png) no-repeat 100% 50%;
	padding-top:32px;
	padding-right:50px;
	font-size:22px;
	line-height:32px;
	font-weight:300;
	}

#footerDataB span {
	font-size:32px;
	font-weight:600;
	}

#footerDataC {
	font-size:14px;
	color:#555;
	margin-top:35px;
	}

#footerDataC a {
	text-decoration:none;
	color:#555;
	}

#footerDataC a:hover {
	color:#009edf;
	}

#footerDataC .sep {
	display:inline-block;
	margin:0 10px;
	}

#fmenu {
	margin-bottom:15px;
	}

#copy {
	font-size:18px;
	position:relative;
	top:3px;
	}

#fdesign {
	text-align:right;
	}

#topBut {
	display:block;
	width:40px;
	height:40px;
	background:#c9c9c9;
	position:fixed;
	right:-40px;
	bottom:130px;
	z-index:999;
	text-decoration:none;
	text-align:center;
	line-height:45px;
	color:#fff;
	}

#topBut:hover {
	background:#00b0f9;
	}

#social {
	display:none;
	position:absolute;
	top:53px;
	right:0;
	}

#social a {
	display:block;
	width:40px;
	height:40px;
	background:#c9c9c9;
	text-align:center;
	text-decoration:none;
	line-height:40px;
	color:#fff;
	}

#social a:hover {
	width:50px;
	padding-right:10px;
	}

#social a.social-fb:hover {
	background:#3a5795;
	}

#content {
	position:relative;
	margin-bottom:30px;
	}

#content :is(h1.page-title,h2) {
	margin-bottom:60px;
	}

.category, .gallery {
	text-align:center;
	}

.category a {
	display:block;
	width:auto;
	max-width:320px;
	margin:0 auto 40px auto;
	color:#009edf;
	text-decoration:none;
	}

.category a img {
	display:block;
	width:var(--cms-image-width, auto);
	max-width:100%;
	position:relative;
	z-index:1;
	height:auto;
	}

.category p:first-child {
	margin:0;
	overflow:hidden;
	position:relative;
	}

.category p span {
	display:block;
	width:50px;
	height:50px;
	position:absolute;
	left:50%;
	top:50%;
	margin-top:-25px;
	margin-left:-25px;
	z-index:2;
	opacity:0;
	color:#fff;
	-webkit-transform:translate3d(0, 50%, 0);
	transform:translate3d(0, 50%, 0);
	-webkit-transition-delay:100ms;
	transition-delay:100ms;
	}

.category .cat-desc {
	font-size:22px;
	line-height:1.3;
	font-weight:400;
	margin:10px 0 0 0;
	}

.category a:hover p:first-child {
	background:#00aef5;
	}

.category a:hover img {
	opacity:0.3;
	-webkit-transform:scale(1.1) rotate(0.02deg);
	transform:scale(1.1) rotate(0.02deg);
	}

.category a:hover p span {
	opacity:1;
	-webkit-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
	}

.category a:hover .cat-desc {
	color:#e80103;
	}


.zoom {
	display:inline-block;
	width:auto;
	max-width:100%;
	margin:0 auto;
	overflow:hidden;
	position:relative;
	}

.zoom img {
	display:block;
	width:var(--cms-image-width, auto);
	max-width:100%;
	position:relative;
	z-index:1;
	height:auto;
	}

.zoom span {
	display:block;
	width:50px;
	height:50px;
	position:absolute;
	left:50%;
	top:50%;
	margin-top:-25px;
	margin-left:-25px;
	z-index:2;
	opacity:0;
	color:#fff;
	-webkit-transform:translate3d(0, 50%, 0);
	transform:translate3d(0, 50%, 0);
	-webkit-transition-delay:100ms;
	transition-delay:100ms;
	}

.zoom:hover {
	background:#00aef5;
	}

.zoom:hover img {
	opacity:0.3;
	-webkit-transform:scale(1.1) rotate(0.02deg);
	transform:scale(1.1) rotate(0.02deg);
	}

.zoom:hover span {
	opacity:1;
	-webkit-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
	}

.gallery .zoom {
	margin-bottom:20px;
	}

.imgLeft {
	float:left;
	margin:4px 40px 30px 0;
	}

.imgRight {
	float:right;
	margin:4px 0 30px 40px;
	}

.txt {
	font-size:16px;
	line-height:26px;
	font-weight:300;
	text-align:justify;
	}

.txt p {
	margin-bottom:20px;
	}

.txt .color_1 { color:#009ee0 !important; }
.txt .color_2 { color:#e90102 !important; }
.txt .color_3 { color:#181818 !important; }
.txt .color_4 { color:#969696 !important; }

.txt .bigTxt {
	display:inline-block;
	font-size:20px;
	line-height:30px;
	margin-bottom:7px;
	}

.txt .smallTxt {
	font-size:14px;
	line-height:18px;
	}

.txt h3 {
	font-size:32px;
	font-weight:400;
	line-height:1.25;
	text-align:left;
	margin-bottom:25px;
	}

.txt h4 {
	font-size:25px;
	font-weight:400;
	line-height:1.25;
	text-align:left;
	margin-bottom:25px;
	}

.txt blockquote:before {
	font-family:FontAwesome;
	content:"\f10d";
	color:#009ee0;
	font-size:55px;
	position:absolute;
	left:0;
	top:5px;
	}

.txt blockquote {
	display:block;
	margin:35px 0 45px 20px;
	font-style:italic;
	font-size:21px;
	line-height:30px;
	text-align:left;
	padding:0 0 0 80px;
	position:relative;
	}

.txt a {
	text-decoration:none;
	color:#009ee0;
	-webkit-transition:all 250ms ease;
	-moz-transition:all 250ms ease;
	-ms-transition:all 250ms ease;
	-o-transition:all 250ms ease;
	transition:all 250ms ease;
	}

.txt a:hover {
	text-decoration:underline;
	color:#e90203;
	}

.txt a.pdf {
	display:inline-block;
	line-height:30px;
	margin-left:3px;
	}

.txt a.pdf + a.pdf {
	margin-left:10px;
	}

.txt a.pdf:hover {
	text-decoration:none;
	}

.txt a.pdf:before {
	font-family:FontAwesome;
	content:"\f1c1";
	font-size:1.3em;
	padding-right:8px;
	color:#707070;
	}

hr {
	color:#ededed;
	border:none;
	border-top:1px solid #ededed;
	margin:40px 0;
	clear:both;
	}

.txt ol, .txt ul {
	overflow:hidden;
	}

.txt ul {
	list-style:none;
	}

.txt li {
	margin-bottom:13px;
	text-align:justify;
	}

.txt ul li {
	position:relative;
	}

.txt ul li:before {
    content:"";
    width:.4em;
    height:.4em;
    background:#00b0f9;
    margin:.24em .25em 0;
	position:absolute;
	left:-19px;
	top:7px;
	}

.txt ol + ul {
	margin-left:20px;
	margin-top:-10px;
	}

.txt .frame {
	display:inline-block;
	border:1px solid #00b0f9;
	padding:7px 12px 9px 12px;
	text-decoration:none;
	}

.txt caption {
	font-size:24px;
	font-weight:300;
	line-height:30px;
	margin:0 auto 15px auto;
	color:#00467c;
	}

.txt table {
	border-collapse:collapse;
	margin:25px auto 50px auto;
	line-height:24px;
	background:#f2f2f2;
	}

.txt h3 + table,
.txt h4 + table {
	margin-top:40px;
	}

.txt table + table {
	margin-top:60px;
	}

.txt table tr td {
	-webkit-transition:all 250ms ease; -moz-transition:all 250ms ease; -ms-transition:all 250ms ease; -o-transition:all 250ms ease; transition:all 250ms ease;
	}

.txt table td,
.txt table th {
	border-bottom:1px solid #fff;
	padding:10px 15px;
	text-align:left;
	}

.txt table th {
	font-weight:600;
	padding:10px 15px;
	background:#00aef5;
	color:#fff;
	}

.txt table tr:first-child td {
	border-top:5px solid #00aef5;
	padding-top:16px;
	}

.txt table tr:hover td {
	background:#e5e5e5;
	}

.txt table.noborder,
.txt table.noborder tr,
.txt table.noborder td {
	border:none !important;
	background:none !important;
	line-height:25px !important;
	padding:0 !important;
	margin:0 !important;
	}

.txt table.noborder {
	margin-bottom:25px !important;
	}

.txt a.button {
	text-decoration:none;
	text-transform:uppercase;
	font-size:15px;
	padding:5px 10px;
	background:#fff;
	color:#181818;
	text-shadow:none;
	}

.txt a.button:hover {
	background:#00467c;
	color:#fff;
	}





/* --- COOKIES BOX START --- */
#cookie-msg { width:100%; font-size:14px; color:#181818; display:none; background:#f2f2f2; left:0; bottom:0; z-index:500; position:fixed; }
#cookie-msg-inner { max-width:420px; margin:0 auto; padding:8px 0; overflow:hidden; text-align:center; }
#cookie-msg-inner p { display:inline-block; margin:0 auto; padding:0; line-height:32px; }
#cookie-msg-inner p a { text-decoration:none; color:#181818; outline:none; }
#cookie-msg-inner p a:hover { color:#009edf; }
#cookieClose { display:inline-block; margin-left:15px; cursor:pointer; background:#fff; color:#181818; font-weight:400; padding:1px 10px 2px 10px; font-size:14px; line-height:30px; text-transform:uppercase; }
#cookieClose:hover { background:#00467c; color:#fff; }
/* --- COOKIES BOX STOP --- */

/* Pierwszy slajd pozostaje widoczny także przed inicjalizacją slidera. */
#slides > img.nivo-slide-source { display: none; }
#slides > img { max-width: 948px !important; height: auto; }
#slides .nivo-main-image { display: block; width: 100%; height: auto; }
/* Mapa dochodzi pod trójkąt stopki tak jak w oryginalnym projekcie. */
#mapHolder #vTop { pointer-events: none; }
#mapa[aria-busy="true"] { text-align: center; }
#mapa .map-load { margin: 100px 16px 16px; padding: 10px 16px; cursor: pointer; }
#footerDataB a { color: inherit; text-decoration: none; }
.txt table { border: 0 !important; }
@media (prefers-reduced-motion: reduce) {
    body { animation: none; }
    header .brand-slogan span { animation: none; }
    *, *::before, *::after { scroll-behavior: auto !important; }
}
