/*
Embed fonts families:
-------------------

.jost-<uniquifier> {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.qwitcher-grypen-regular {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 400;
  font-style: normal;
}

.qwitcher-grypen-bold {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 700;
  font-style: normal;
}

.cormorant {
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

animation:
-------------------
transition: all 0.5s;

Content:
1. Main styles override
2. Contact form 7 
3. Navbar bootstrap
4. ACF elements
5. Theme styles  
6. Responsive fixes
*/

/* ============================================= */
/* 1. Main styles override                       */
/* ============================================= */

body {
	font-family: "Jost", sans-serif;
	font-weight: 300;
	font-size: 18px;
	color:#fff;
	background-color: #211a00;
}
.qwitcher-grypen-regular {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 400;
  font-style: normal;
}

.qwitcher-grypen-bold {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 700;
  font-style: normal;
}
.cormorant {
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
body.admin-bar .navbar.fixed-top {
	margin-top: 32px;
}
html {
	scroll-behavior:smooth;
	font-display: swap
}
strong {
	font-weight: 700;
}
/* Links */
a {
	transition: all 0.5s;
	text-decoration: none;
	color: #fff;
}
a:focus, a:hover {
	text-decoration: none;
	outline: 0;
}
a:focus {
	outline: 0;
	outline-offset: -2px;
}
button, button:focus, button:active {
	outline: 0;
	box-shadow: 0
}
/* /Links */

/* Background classes */
.bg-glass {
	backdrop-filter: blur(10px);
	transition: all linear 0.3s;
}
.bg-test {
	background-color: rgba(255,0,0,0.5);
}

/* /Background classes */


/* Image responsive fix */
img {
	width: initial;
	max-width: 100%;
	height: auto;
}
/* /Image responsive fix */


/* Headers */
h1, h2, h3, h4, h5 {
	font-family: "Jost", sans-serif;
	font-weight: 600;
	color:#04141b;
}
h1, .h1 {
	font-size: 75px;
	text-transform: uppercase;
	font-weight: 300;
}
h2, .h2 {
	font-size: 36px;
	text-transform: uppercase;
	font-weight: 300;
}
.h2-big {
	font-size: 52px;
	text-transform: uppercase;
	font-weight: 300;
}
h3, .h3 {
	font-size: 32px;
	text-transform: uppercase;
	font-weight: 300;
}
h4, .h4 {
	font-size: 22px;
}
h5, .h5 {
	font-size: 18px;
}
h6, .h6 {
	font-size: 16px;
}
/* /Headers */
@media only screen and (max-width : 1150px) {
	h1, .h1 {
		font-size: 55px;
	}
	h2, .h2 {
		font-size: 30px;
	}
	.h2-big {
		font-size: 30px;
	}
	h3, .h3 {
		font-size: 26px;
	}
}
/* =========================================
   BOOTSTRAP 5.3 - SIATKA 5-KOLUMNOWA
========================================= */

/* --- XS (Domyślnie, telefony) --- */
.col-1-5 { flex: 0 0 auto; width: 20%; }
.col-2-5 { flex: 0 0 auto; width: 40%; }
.col-3-5 { flex: 0 0 auto; width: 60%; }
.col-4-5 { flex: 0 0 auto; width: 80%; }
.col-5-5 { flex: 0 0 auto; width: 100%; }

/* --- SM (Małe urządzenia, >= 576px) --- */
@media (min-width: 576px) {
  .col-sm-1-5 { flex: 0 0 auto; width: 20%; }
  .col-sm-2-5 { flex: 0 0 auto; width: 40%; }
  .col-sm-3-5 { flex: 0 0 auto; width: 60%; }
  .col-sm-4-5 { flex: 0 0 auto; width: 80%; }
  .col-sm-5-5 { flex: 0 0 auto; width: 100%; }
}

/* --- MD (Średnie urządzenia, >= 768px) --- */
@media (min-width: 768px) {
  .col-md-1-5 { flex: 0 0 auto; width: 20%; }
  .col-md-2-5 { flex: 0 0 auto; width: 40%; }
  .col-md-3-5 { flex: 0 0 auto; width: 60%; }
  .col-md-4-5 { flex: 0 0 auto; width: 80%; }
  .col-md-5-5 { flex: 0 0 auto; width: 100%; }
}

/* --- LG (Duże urządzenia, >= 992px) --- */
@media (min-width: 992px) {
  .col-lg-1-5 { flex: 0 0 auto; width: 20%; }
  .col-lg-2-5 { flex: 0 0 auto; width: 40%; }
  .col-lg-3-5 { flex: 0 0 auto; width: 60%; }
  .col-lg-4-5 { flex: 0 0 auto; width: 80%; }
  .col-lg-5-5 { flex: 0 0 auto; width: 100%; }
}

/* --- XL (Bardzo duże urządzenia, >= 1200px) --- */
@media (min-width: 1200px) {
  .col-xl-1-5 { flex: 0 0 auto; width: 20%; }
  .col-xl-2-5 { flex: 0 0 auto; width: 40%; }
  .col-xl-3-5 { flex: 0 0 auto; width: 60%; }
  .col-xl-4-5 { flex: 0 0 auto; width: 80%; }
  .col-xl-5-5 { flex: 0 0 auto; width: 100%; }
}

/* --- XXL (Ogromne urządzenia, >= 1400px) --- */
@media (min-width: 1400px) {
  .col-xxl-1-5 { flex: 0 0 auto; width: 20%; }
  .col-xxl-2-5 { flex: 0 0 auto; width: 40%; }
  .col-xxl-3-5 { flex: 0 0 auto; width: 60%; }
  .col-xxl-4-5 { flex: 0 0 auto; width: 80%; }
  .col-xxl-5-5 { flex: 0 0 auto; width: 100%; }
}

/* POZYCJONOWANIE ELEMENTÓW */
/* Małe urządzenia (telefony w poziomie, 576px i więcej) */
@media (min-width: 576px) {
  .position-sm-static   { position: static !important; }
  .position-sm-relative { position: relative !important; }
  .position-sm-absolute { position: absolute !important; }
  .position-sm-fixed    { position: fixed !important; }
  .position-sm-sticky   { position: sticky !important; }
}

/* Średnie urządzenia (tablety, 768px i więcej) */
@media (min-width: 768px) {
  .position-md-static   { position: static !important; }
  .position-md-relative { position: relative !important; }
  .position-md-absolute { position: absolute !important; }
  .position-md-fixed    { position: fixed !important; }
  .position-md-sticky   { position: sticky !important; }
}

/* Duże urządzenia (desktopy, 992px i więcej) */
@media (min-width: 992px) {
  .position-lg-static   { position: static !important; }
  .position-lg-relative { position: relative !important; }
  .position-lg-absolute { position: absolute !important; }
  .position-lg-fixed    { position: fixed !important; }
  .position-lg-sticky   { position: sticky !important; }
}

/* Bardzo duże urządzenia (duże desktopy, 1200px i więcej) */
@media (min-width: 1200px) {
  .position-xl-static   { position: static !important; }
  .position-xl-relative { position: relative !important; }
  .position-xl-absolute { position: absolute !important; }
  .position-xl-fixed    { position: fixed !important; }
  .position-xl-sticky   { position: sticky !important; }
}

/* Ekstra duże urządzenia (ogromne monitory, 1400px i więcej) */
@media (min-width: 1400px) {
  .position-xxl-static   { position: static !important; }
  .position-xxl-relative { position: relative !important; }
  .position-xxl-absolute { position: absolute !important; }
  .position-xxl-fixed    { position: fixed !important; }
  .position-xxl-sticky   { position: sticky !important; }
}
/* Bootstrap extra spaces */
.pt-6,
.py-6 {
	padding-top: 5rem !important;
}

.pe-6,
.px-6 {
	padding-right: 5rem !important;
}

.pb-6,
.py-6 {
	padding-bottom: 5rem !important;
}

.ps-6,
.px-6 {
	padding-left: 5rem !important;
}
.mt-6,
.my-6 {
	margin-top: 5rem !important;
}

.mr-6,
.mx-6 {
	margin-right: 5rem !important;
}

.mb-6,
.my-6 {
	margin-bottom: 5rem !important;
}

.ms-6,
.mx-6 {
	margin-left: 5rem !important;
}
.py-6-fixed {
	padding-top: 4rem !important;
	padding-bottom: 7rem !important;
}
@media only screen and (max-width : 768px) {
	.py-6-fixed {
		padding-top: 4rem !important;
		padding-bottom: 7rem !important;
	}
	.pt-6,
	.py-6 {
		padding-top: 4rem !important;
	}

	.pr-6,
	.px-6 {
		padding-right: 4rem !important;
	}

	.pb-6,
	.py-6 {
		padding-bottom: 4rem !important;
	}

	.pl-6,
	.px-6 {
		padding-left: 4rem !important;
	}
	.mt-6,
	.my-6 {
		margin-top: 4rem !important;
	}

	.me-6,
	.mx-6 {
		margin-right: 4rem !important;
	}

	.mb-6,
	.my-6 {
		margin-bottom: 4rem !important;
	}

	.ms-6,
	.mx-6 {
		margin-left: 4rem !important;
	}
}
/* /Bootstrap extra spaces */

/* Bootstrap accordion */
.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
}
.accordion .accordion-item {
	border-bottom-width: 0;
	margin-bottom: 1px;
}
.accordion .accordion-button {
	font-size: 17px;
	font-weight: 700;
	border-radius: 25px !important;
	border-bottom: 0 !important;
	background-color: #f5f7fb;
	padding: 30px 20px 30px 25px;
}
.accordion .accordion-button:not(.collapsed),
.accordion .accordion-button:hover {
	background-color: #e8eefa;
}

/* /Bootstrap accordion */

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
  border-color: transparent;
  box-shadow: none;
  outline: 0 none;
}
/* Buttons */
.btn-default {
	background-color: rgba(33, 26, 0, 0.6);
	border:1px solid #ae8900;
	border-radius: 0;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	padding:10px 25px;
	transition: all 0.5s;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
	background-color:#ae8900;
	color: #fff;
	transition: all 0.5s;
	-webkit-box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
}
.btn-big {
	font-size: 20px;
}
.btn-arrow {
	padding-right: 50px;
	position: relative;
}

.btn-arrow::after {
	content: '';
	position: absolute;
	right: 5px;
	top: 6px;
	width: 33px;
	height: 33px;
	background-image: url(../img/arrow-right-circle-fill.svg);
	background-repeat: no-repeat;
}
.focus.btn-arrow::after {
	background-image: none;
}
.focus.btn-arrow a {
	position: relative;
	padding-right:50px !important;
}
.focus.btn-arrow a::after {
	content: '';
	position: absolute;
	right: 5px;
	top: 11px;
	width: 33px;
	height: 33px;
	background-image: url(../img/arrow-right-circle-fill.svg);
	background-repeat: no-repeat;
	transition: all 0.5s;
}
.sticky .focus.btn-arrow a::after {
	top: 8px;
}
.btn-default.btn-search {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	padding-top: 16px;
	padding-bottom: 17px;
}
.cn-button.bootstrap {
	background-color: #ae8900 !important;
	text-transform: uppercase !important;
}
.btn:focus, .btn:active {
  outline: none !important;
  box-shadow: none !important;
}
/* /Buttons */

section {
	position: relative;
}
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}

/* Vertical align */
.vertical-a {
	display: flex;
	justify-content: center;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	/* IE10+ CSS styles go here */
	.vertical-align {
		display: block;
	}
}
.vertical-b {
	align-self: center;
	width: 100%;
}
/* /Vertical align */

/* Placeholder  */
::-webkit-input-placeholder {
	color:#888;
}
:-moz-placeholder {
	color:#888;
}
::-moz-placeholder {
	color:#888;
}
:-ms-input-placeholder {
	color:#888;
}
/* /Placeholder  */

/* Selection  */
::selection {
	background: #ae8900; /* WebKit/Blink Browsers */
	color:#fff;
}
::-moz-selection {
	background: #ae8900; /* Gecko Browsers */
	color:#fff;
}
/* /Selection */

/* Box links (often used)  */
.box-link {
	position:absolute;
	height:100%;
	width:100%;
	left:0px;
	top:0px;
	cursor: pointer;
}
/* /Box links (often used)  */


.dark, .dark p, .dark a, .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark .h1, .dark .h2, .dark .h3, .dark .h4, .dark .h5, .dark .h6 {
	color: #fff;
}


/* Element single post box */
.img {
	width: 540px;
	max-width: 100%;
	height: 650px;
	position: relative;
}
.img img {
	width: 100%;
	max-width: 100%;
	height: 650px;
	object-fit: cover;
}
/* /Element single post box */

/* Image fill */
.fill {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden
}
.fill img { 
	min-height:100%; 
	min-width: 100%; 
	object-fit: cover; 
	border-radius: 15px;
}
.fill-not-100 img { 
	height: auto;
	min-height: auto;
	object-fit: cover; 
	border-radius: 15px;
}
/* /Image fill */


/* ============================================= */
/* 2. Contact form 7                             */
/* ============================================= */
.wpcf7 input[type="text"],
.wpcf7 input[type="date"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7-select,
.wpcf7 textarea {
	background-color: transparent;
	color: #303338;
	border:0;
	border-radius: 0;
	border-bottom:1px solid #fff;
	padding: 13px 20px;
	font-size: 15px;
	width: 100% !important;
	color:#fff;
	margin-top: 15px;
}
.wpcf7 label {
	width: 100%;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7-select:focus {
	background-color: #1d1700;
	color: #fff;
	box-shadow: none;
	outline: 0 none;
}
.wpcf7-form select {
	padding: 0px;
	line-height: 40px;
}
.wpcf7-list-item {
	display: block;
}

.wpcf7-list-item-label {
	color:#fff; 
	font-size: 18px;
	margin-left: 20px;
}

.wpcf7-list-item-label a {
	color:#fff; 
	font-weight: 500;
}

.wpcf7-form-control.wpcf7-acceptance label {
    display: flex;
    line-height: 1.2;
}

.wpcf7-form-control.wpcf7-acceptance input[type="checkbox"] {
    width: auto;
    margin-top: 5px;
    margin-right: 5px;
    align-self: start;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
}
.wpcf7-submit {
	background-color: rgba(33, 26, 0, 0.6);
	border:1px solid #ae8900;
	border-radius: 0;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	padding:10px 25px;
	transition: all 0.5s;
}
.wpcf7-submit:hover,
.wpcf7-submit:focus,
.wpcf7-submit:active {
	background-color:#ae8900;
	color: #fff;
	transition: all 0.5s;
	-webkit-box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 16px -1px rgba(0,0,0,0.3);
}

.wpcf7-form.submitting .wpcf7-submit,
.wpcf7-form.invalid .wpcf7-submit {
	color: #fff !important;
}

.wpcf7-submit:disabled {
	opacity:0.7;
}
/* Placeholder  */
::-webkit-input-placeholder {
 color:#fff;
 opacity: 0.7;
}
:-moz-placeholder {
 color:#fff;
 opacity: 0.7;
}
::-moz-placeholder {
 color:#fff;
 opacity: 0.7;
}
:-ms-input-placeholder {
 color:#fff;
 opacity: 0.7;
}
:active::-webkit-input-placeholder,
:focus::-webkit-input-placeholder {
 color:#b5b5b5;
 opacity: 1;
}
:active::-moz-placeholder,
:focus::-moz-placeholder {
 color:#b5b5b5;
 opacity: 1;
}
:active::-moz-placeholder,
:focus::-moz-placeholder {
 color:#b5b5b5;
 opacity: 1;
}
:active::-ms-input-placeholder,
:focus::-ms-input-placeholder {
 color:#b5b5b5;
 opacity: 1;
}
/* /Placeholder  */

/* ============================================= */
/* 3. Navbar (bootstrap)                         */
/* ============================================= */

.navbar {
	padding-bottom: 0;
	background-color: rgba(33, 26, 0, 0) !important;
	transition: all 0.5s;
}
.navbar .navbar--bg {
	height: 100%;
	width: calc(100% - 6rem);
	left: 5px;
	-webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.05);
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.05);
	background-color:rgb(4, 20, 27, 0.7) !important;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
.navbar .container-fluid {
	transition: all linear 0.3s;
	padding-top: 30px;
	padding-bottom: 30px;
}
.sticky.navbar .container-fluid {
	padding-top: 5px;
	padding-bottom: 5px;
}
.sticky.navbar {
	background-color: rgba(33, 26, 0, 0.8) !important;
}
.navbar-brand {
	padding-bottom: 0;
	padding-top: 0;
}
.navbar-brand img {
	width: 125px;
	height: auto;
    transition: all linear 0.3s;
}
.sticky .navbar-brand img{
	width: 50px;
	height: auto;
}
@media (max-width: 1399px) {
	.navbar-brand img {
		width: 70px;
		height: auto;
	}
}
#header-top {
	transition: all linear 0.3s;
}
.sticky #header-top {
	margin-top: -64px;
}
.navbar-dark .navbar-nav .nav-link {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	padding:14px 25px;
	transition: all 0.5s;
	border:1px solid trasparent;
}
.navbar-dark .navbar-nav .book .nav-link {
	border:1px solid #ae8900;
	background-color: transparent;
}

@media only screen and (max-width : 1350px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-left: 12px;
		padding-right: 12px; 
	}
}
@media only screen and (max-width : 1125px) {
	#main-menu-container .container-fluid {
		display: block;
	}
}
@media only screen and (max-width : 1040px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-left: 10px;
		padding-right: 10px; 
	}
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .nav-link.show {
	color: #ae8900;
	transition: all 0.5s;
}
.navbar-dark .navbar-nav .current-menu-item .active > .nav-link,
.navbar-dark .navbar-nav .current-menu-item .nav-link.active {
	color: #ae8900;
}
.navbar-toggler {
	border-radius: 0px;
	transition: all 0.5s;
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}
.navbar-toggler span {
	display: block;
	background-color: rgba(255,255,255,0.6);
	height: 2px;
	width: 24px;
	margin-top: 6px;
	margin-bottom: 6px;
	position: relative;
	left: 0;
	opacity: 1;
	transition: all 0.35s ease-out;
	transform-origin: center left;
}
.navbar-toggler span:nth-child(1) {
	transform: translate(0%, 0%) rotate(0deg);
}
 
.navbar-toggler span:nth-child(2) {
	opacity: 1;
}
 
.navbar-toggler span:nth-child(3) {
	transform: translate(0%, 0%) rotate(0deg);
}
.navbar-toggler span:nth-child(1) {
	margin-top: 0.3em;
}
 
.navbar-toggler:not(.collapsed) span:nth-child(1) {
	transform: translate(15%, -33%) rotate(45deg);
}
 
.navbar-toggler:not(.collapsed) span:nth-child(2) {
	opacity: 0;
}
.navbar-toggler:not(.collapsed) span:nth-child(3) {
	transform: translate(15%, 33%) rotate(-45deg);
}

.navbar .contact a.nav-link {
	background: #00465e;
	/*background: linear-gradient(0deg, rgba(33,37,41,1) 0%, rgba(0,62,83,1) 100%);*/
}
/* ============================================= */
/* POPRAWKI DLA MENU MOBILNEGO                   */
/* ============================================= */
@media only screen and (max-width: 991px) {
    
    /* 1. Wymuszenie tła i mniejszych marginesów od samego startu, bez czekania na scroll */
    .navbar {
        background-color: rgba(33, 26, 0, 0.98) !important;
    }
    .navbar .container-fluid {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    /* 2. Zmiana układu głównego kontenera na elastyczny (Flexbox) */
    .flex-grow-1.position-relative {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
    }

    /* 3. Naprawa "uciekającego" paska z socialami (likwidacja top:-40px) */
    .menu--above {
        position: absolute !important;
		top:20px !important;
		right: 80px !important;
		z-index: 10;
		transition: all 0.5s;
    }
	.sticky .menu--above {
		top: 10px !important;
	}

    /* 4. Wyrównanie ikony hamburgera do prawej krawędzi */
    .navbar-toggler {
		margin-top: 15px;
        order: 2;
        margin-left: auto; 
    }
	.sticky .navbar-toggler {
		margin-top: 5px;
	}

    /* 5. Gwarancja, że rozwinięte menu pokaże się w całości pod spodem (nie obok) */
    #main-menu {
        order: 3;
        width: 100%;
        margin-top: 15px;
    }
}

.search-activator {
	cursor: pointer;
}

.search-activator a.nav-link {
	text-indent: -9999px;
	background-image: url(../img/icon-main-menu-search.png);
	background-repeat: no-repeat;
	background-position: center;
}

.dropdown-menu {
	margin-top: -2px;
	border-radius: 0px;
	background-color: #1e1e1e;
	border:0px;
	text-transform: lowercase;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.10);
	-moz-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.10);
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.10);
}

/* Opinie Slider Styles */
.opinie-slider-controls {
    position: absolute;
    top: 50%;
    left: -50px;
	max-width: unset !important;
    width: calc(100% + 110px);
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
    padding: 0;
}
@media (max-width: 1399px) {
    .opinie-slider-controls {
        display: none !important;
    }
}
@media (max-width: 991px) {
    .opinie-slider-controls {
        display: none !important;
    }
}
.opinie-slider-controls button {
    pointer-events: auto;
    background: transparent;
    border: none;
    color: #ae8900;
    font-size: 24px;
    cursor: pointer;
    transition: color 0.3s ease;
}
.opinie-slider-controls button:hover {
    color: #ffffff;
}
.tns-nav {
    text-align: center;
    margin-top: 20px;
}
.tns-nav button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ae8900;
    border: none;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.tns-nav button.tns-nav-active {
    background-color: #ffffff;
}
.dropdown-menu[data-bs-popper] {
	margin-top: -1px;
	border-top:1px solid #00465e;
}
.dropdown-menu li a.dropdown-item {
	font-size: 14px;
	line-height: 35px;
	color: #fff;
	transition: all 0.5s;
}


.dropdown-menu li a.dropdown-item:hover {
	color:#ae8900;
	transition: all 0.3s;
}
.dropdown-menu li a.dropdown-item:hover,
.dropdown-menu li a.dropdown-item:focus,
.dropdown-menu li a.dropdown-item:active {
	background-color: transparent;
	transition: all 0.3s;
	border-left-color: #ae8900;
}
.dropdown-item.active {
	background-color: transparent;
	color:#ae8900 !important;
}


/* Search window */
#search-container {
	display: none;
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.9);
	top:0px;
	left:0px;
	max-height: 100vh;
	z-index: 999999999;
}
#search-container .d-flex {
	height: 100%;
}
#search-close {
	position: absolute;
	right: 40px;
	top:25px;
	background-image: url(../img/search-close.png);
	background-repeat: no-repeat;
	background-color: transparent;
	height: 41px;
	width: 41px;
	z-index: 100000;
	cursor: pointer;
}
#search-close span {
	position: absolute;
	right: 50px;
	top:10px;
	width: 100px;
	text-align: right;
	color: #fff
}
#search-container .vertical-align {
	height: 100%;
}
#title .form-control {
	border:0;
}
.search-btn {
	background-image: url(../img/icon-search.png);
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
}
.search-input {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	line-height: 56px;
	height: 56px;
	padding-left: 25px;
}
/* /Search window */

/* Open on hover for desktops only */
ul.nav li.dropdown:hover > ul.dropdown-menu {
	display: block;    
}
@media (min-width: 979px) {
	ul.nav li.dropdown:hover > ul.dropdown-menu {
		display: block;
	}
}
/* /Open on hover for desktops only */


/* ============================================= */
/* 4. ACF elements                               */
/* ============================================= */
.embed-container { 
    position: relative; 
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
} 
.embed-container iframe,
.embed-container object,
.embed-container embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.acf-map {
	width: 100%;
	height: 475px;
	margin-bottom: 0px;
}
/* fixes potential theme css conflict */
.acf-map img {
	max-width: inherit !important;
}
.gm-style iframe + div { border:none!important; }

/* ============================================= */
/* 5. Theme styles                               */
/* ============================================= */

/* Tiny Slider Banner */
.banner-slider-container .height-keeper {
	left: 12px;
	top: 0;
	width: 100%;
	min-height: 700px;
	overflow:hidden;
	padding-bottom: 50px;
}
.slider-container .slider-controls {
	margin: 0;
    padding: 0;
    list-style: none;
    position: absolute;   
    top: 50%;
    transform: translatey(-50%);
    display: flex;
    align-items: center;    
    justify-content: space-between;
}
.banner-slider-container .slider-controls {
	left: 30px;
    right: 30px;
    z-index: 40;
}
.banner-slider-container .slider-item {
	padding: 0;
	height: 958px;
	max-height: 70vh;
}
.arrow {
	height: 18px;
	width: 40px;
	background-image: url(../img/arrows.png);
	cursor: pointer;
}

.arrow.arrow-right {
	background-position: 40px 0;
}
.tns-nav {
	position: absolute;
	left: 50%;
	bottom: -50px;
	transform: translateX(-50%);
}
.tns-nav button {
	background-color: #cfcfcf;
	border:0;
	margin: auto 5px;
	border-radius: 50%;
	width: 12px;
	height: 12px;
}
.tns-nav button.tns-nav-active {
	background-color: #ae8900;
	border:0;
	margin: auto 5px;
	border-radius: 50%;
	width: 12px;
	height: 12px;
}
/* /Tiny Slider Banner */
.lang-switcher-wrapper {
	background-image: url(../img/bg-lang-switcher-wrapper.webp);
	background-repeat: no-repeat;
	background-position: left center;
	margin-left: 20px;
}
.wpml-ls-legacy-list-horizontal {
	padding: 0;
}
.wpml-ls-legacy-list-horizontal a {
	margin: 0;
	padding:0;
	margin-left: 20px;
}
.wpml-ls-legacy-list-horizontal a img {
	width: 18px;
}
.menu--above {
	right: 0;
	top:-40px;
}
#banner {
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
	min-height:800px;
	height:95vh;
}
#title {
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
	height:580px;
}
.curtine {
	width: 100%;
	height:100%;
	background-image: url(../img/curtine-banner.webp);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}
#title .curtine {
	background-image: url(../img/curtine-title.webp);
}
.banner-contacts {
	right: 0px;
	width: 300px;
	bottom: 50px;
	border-left:1px solid #fff;
	padding-left:30px;
	font-weight: 400;
}
@media only screen and (max-width : 1150px) {
	.banner-contacts {
		display: none;
		border-left:none;
		border-top:1px solid #fff;
		bottom: 15px;
		right: unset;
		left:50%;
		transform: translateX(-50%);
		text-align: center;
		padding-left:0;
	}
}
.vertical-lines {
    width: 100%;
	height:100%;
}

.vertical-lines::before,
.vertical-lines::after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    width: 1px;
    background: rgba(255, 255, 255, 0.08); /* #fff przy 8% widoczności */
    pointer-events: none; /* żeby nie blokować klików pod spodem */
}
.vertical-lines::before {
    left: 22%;
}

.vertical-lines::after {
    left: 52%;
}
#banner .vertical-lines::before,
#title .vertical-lines::before {
    left: 25%;
}

#banner .vertical-lines::after,
#title .vertical-lines::after {
    left: 55%;
}

.font-size-24 {
	font-size: 24px;
	line-height: 26px;
}
.font-size-50 {
	font-size: 50px;
	line-height: 50px;
}
@media only screen and (max-width : 1150px) {
	.font-size-24 {
		font-size: 18px;
		line-height: 22px;
	}
	.font-size-50 {
		font-size: 40px;
		line-height: 44px;
	}
}
.color-yellow {
	color: #ae8900;
}
header a {
	color:#fff;
}
.header-faded {
	margin-left:-100px;
	left: -80px;
	font-size: 86px;
	color:#3b2e00;
}
@media only screen and (max-width : 1150px) {
	.header-faded {
		font-size: 55px;
		line-height: 58px;
		margin-left:0px;
		left: -80px;
		color:#3b2e00;
	}
}
/* Stan początkowy elementu (ukryty i przesunięty w dół) */
.animate {
    opacity: 0;
    transform: translateY(40px); /* Zmień wartość, aby kontrolować dystans "wypłynięcia" */
    
    /* Krzywa cubic-bezier nadająca animacji charakter premium */
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
                
    /* Wskazówka dla przeglądarki, aby sprzętowo przyspieszyć te właściwości */
    will-change: opacity, transform; 
}

/* Stan końcowy elementu (widoczny i na swoim miejscu) */
.animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Opcjonalnie: Klasy pomocnicze do opóźniania animacji (np. dla siatki elementów) */
.animate.delay-100 { transition-delay: 100ms; }
.animate.delay-200 { transition-delay: 200ms; }
.animate.delay-300 { transition-delay: 300ms; }

/* Zapewnia właściwe zachowanie nagłówka przed i w trakcie łamania linii */
.text-reveal-mask {
    visibility: hidden; /* Ukrywa tekst zanim skrypt JS go przetworzy */
}

/* Kiedy JS jest gotowy, pokazujemy nagłówek, ale słowa nadal są ukryte głębiej */
.text-reveal-mask.ready {
    visibility: visible;
}

/* Zewnętrzny kontener słowa - MASKA */
.text-reveal-mask .word-wrapper {
    display: inline-block; /* Aby słowa zachowywały się jak tekst */
    overflow: hidden;      /* To jest nasza MASKA. Odcina dolną krawędź */
    vertical-align: bottom; /* Ważne dla poprawnego wyrównania słów w linii */
    
    /* Mały hack, aby kropki nad 'i' czy ogonki (ą, ę) nie zostały ucięte */
    padding-bottom: 0.1em;
    margin-bottom: -0.1em;
}

/* Wewnętrzny element zawierający samo SŁOWO - to on się porusza */
.text-reveal-mask .word-inner {
    display: block;
    
    /* Stan początkowy: Schowany poniżej dolnej krawędzi maski */
    transform: translateY(110%);
    opacity: 0; /* Dodajemy lekkie fade-in dla płynności */
    
    /* Super-płynna, dynamiczna krzywa (Cubic Bezier - Webflow Style) */
    transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1),
                opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Wyzwalacz animacji dodawany przez JavaScript na scroll */
.text-reveal-mask.is-visible .word-inner {
    transform: translateY(0); /* Słowo wyjeżdża do góry */
    opacity: 1;
}
#opinie {
	background-color: #1d1700;
}
.opinia--pos {
	background-color: #302600;
}
.opinia--pos-meta .autor {
	font-weight: 500;
}
.opinia--pos-meta .zrodlo {
	font-size: 14px;
}
.opinia--pos-gwiazdki {
	color: #ae8900;
}
.menu-dan--pozycja-tytul span {
	color:#ae8900;
	font-family: "Qwitcher Grypen", cursive;
	font-size: 39px;
	text-transform: none;
	margin-left: 10px;
}
.menu-dan--grupa hr {
	margin-bottom: 0;
	width: 80% !important;
	margin-left: 10% !important;
	opacity: 0.2;
}
.menu-dan--pozycja-tytul {
	font-weight: 500;
}
.menu-dan--pozycja-opis,
.menu-dan--pozycja-cena-gramatura {
	text-transform: uppercase;
	font-size: 14px;
}
.menu-dan--pozycja-cena-gramatura {
	font-weight: 500;
}
.menu-dan--grupa.promowana {
	background-color: #1d1700;
	border:1px solid #4f3e00;
}
.post-box h3  {
	font-size: 18px;
	font-weight: 500;
}
.post-box h3 a {
	font-size: 18px;
}
.post-box:hover h3 a {
	color:#ae8900;
}
.box-img {
	width: 100%;
	height: 450px;
	position: relative;
}

.box-img img {
	width: 100%;
	height: 450px;
	object-fit: cover;
}
.post-box--date {
	font-size: 14px;
	font-weight: 400;
}
.post-box--excerpt {
	line-height: 24px;
}
.font-size-14 {
	font-size: 14px;
}
.font-size-26 {
	font-size: 26px;
}
@media only screen and (max-width : 1150px) {
	.font-size-26 {
		font-size: 20px;
	}
}
.adres-pozycja .legenda {
	font-size: 14px;
	font-weight: 500;
}
#flying-contact {
    display: inline-block;
    width: auto;
    position: fixed;
    background-color: #ae8900;
    
    /* Sztywna pozycja docelowa, żadnego chowania poza ekran */
    bottom: 15px;
    right: 24px;
    z-index: 9999;
    
    /* Stan ukryty: znika w miejscu */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Kluczowe: zapobiega blokowaniu kliknięć gdy jest ukryty */
    
    /* Płynna animacja tylko dla przezroczystości */
    transition: opacity 0.5s ease, visibility 0.5s ease;
    
    animation: flying-pulse 1.5s infinite alternate;
}

/* Klasa aktywująca przycisk (dodawana przez JS) */
#flying-contact.show-flying {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* Przywraca klikalność */
}

/* Klatki kluczowe pulsowania */
@keyframes flying-pulse {
    0% {
        box-shadow: 0 0 5px 0 rgba(174, 137, 0, 0.2);
    }
    100% {
        box-shadow: 0 0 10px 5px rgba(174, 137, 0, 0.4);
    }
}
.copyrights {
	font-size: 14px;
	background-color: #e9e7e3;
	color:#1d1700;
	text-transform: uppercase;
	font-weight: 300;
}
.copyrights a,
.copyrights img {
	color:#1d1700;
}
.otgs-development-site-front-end {
	display: none;
}
.opinia--pos-gwiazdki {
	min-width: 97px;
}
/* Wymuszenie na ścieżce slidera układu rzędowego i rozciągania do najwyższego elementu */
.tns-slider {
    display: flex !important;
    flex-wrap: nowrap !important; /* To powstrzymuje slajdy przed spadaniem w dół! */
    align-items: stretch !important; 
}

/* Pojedynczy slajd (kafelek) */
.tns-item {
    display: flex !important;
    height: auto !important;
}
.menu-filtry {
	border:1px solid #ae8900;
	background-color:#1d1700;
	padding:10px;
}
.menu-filtry ul {
	padding:0;
	margin:0;
	list-style:none;
	text-align: center;
}
.menu-filtry ul li {
	padding:0;
	margin:0;
	display: inline-block;
	text-transform: uppercase;
}
.menu-filtry ul li a {
	color:#fff;
	font-size: 14px;
	font-weight: 500;
	padding-left: 15px;
	padding-right: 15px;
	display: block;
}
.menu-filtry ul li a:hover {
	color:#ae8900;
}
.gm-style .gm-style-iw-c{
	color: #000 !important;
}
.bg-dark {
	background-color: #1d1700 !important;
}
.pagination-container {
	border:1px solid #ae8900;
	padding:10px 20px;
}
.page-numbers {
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 500;
}
.page-numbers.current {
	color:#ae8900;
}
.userMenu--opened {
	right: 0 !important;
	background-color: red !important;
}
/* ============================================= */
/* 6. Responsive fixes                           */
/* ============================================= */

@media only screen and (max-width : 1150px) {
}

/* Medium Devices, Desktops */
@media only screen and (max-width : 991px) { 
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
	/* WP image float fix */
	figure.alignleft, img.alignleft, figure.alignright, img.alignright {
		float:none;
	}
	/* /WP image float fix */
} 

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 480px) {
}

/* Custom, iPhone Retina */ 
@media only screen and (max-width : 320px) {
}


/* Height */
@media only screen and (max-height : 730px) {
}