/*
Embed fonts families:
-------------------
// <weight>: Use a value from 200 to 800
// <uniquifier>: Use a unique and descriptive class name

.archivo-<uniquifier> {
  font-family: "Archivo", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

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: "Archivo", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-size: 17px;
	font-style: normal;
	color:#003437;
}
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:#04768f;
}
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, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: "Archivo", sans-serif;
	font-weight: 100;
	font-style: italic;
	color:#04768f;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong {
	font-family: "Archivo", sans-serif;
	font-weight: 400;
	font-style: normal;
	color:#003437;
}
h1, .h1 {
	font-size: 38px;
}
h2, .h2 {
	font-size: 38px;
}
@media screen and (max-width: 1200px) {
	h2, .h2 {
		font-size: 34px;
	}
}
h3, .h3 {
	font-size: 24px;
}
.box-type-a h3 {
	font-size: 22px;
}
.postbox h3 {
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	color:#02333e;
}
@media screen and (max-width: 1200px) {
	.box-type-a h3 {
		font-size: 20px;
	}
}
@media screen and (min-width: 575px) {
	.box-type-a h3 {
		font-size: 22px;
	}
}
footer h3 {
	text-transform: uppercase;
	color:#04768f;
	font-size: 15px;
	font-weight: 400;
	font-style: normal;
	position: relative;
	margin-bottom: 30px;
}
footer h3::after {
	content:"";
	position: absolute;
	margin-left: 30px;
	width: 96px;
	height:1px;
	background-color: #92a1aa;
	top:50%;
	transform: translateY(-50%);
}

h4, .h4 {
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	color:#02333e;
}
h5, .h5 {
	font-size: 18px;
}
h6, .h6 {
	font-size: 16px;
}
/* Zaktualizowany pseudoelement generujący kreskę */
.heading-with-line::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: 20px; 
    width: 9999px; 
    margin-right: -9999px; 
    height: 1px; 
    background-color: #8fa7a5; 
    position: relative;
    top: -0.1em; 
    
    /* --- NOWE REGUŁY DLA ANIMACJI --- */
    
    /* Przesuwamy całą kreskę w prawo poza szerokość okna (viewportu) */
    transform: translateX(100vw); 
    
    /* Ukrywamy ją na start, aby zapobiec mignięciu */
    opacity: 0; 
    
    /* Używamy tej samej płynnej krzywej Webflow. 
       Dodajemy opóźnienie 0.4s (400ms), aby kreska wjeżdżała równolegle z ostatnimi słowami */
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
                opacity 1s ease-out 0.4s;
}
.dark .heading-with-line::after {
	background-color: rgb(255, 255, 255, 0.4);
}
/* Stan końcowy animacji po przescrollowaniu do elementu */
.heading-with-line.is-visible::after {
    /* Kreska wraca do swojej naturalnej pozycji startowej tuż za tekstem */
    transform: translateX(0); 
    opacity: 1;
}

/* Jeśli chcesz, aby druga część tekstu (tak jak w obraz.png) była pisana kursywą 
   bez konieczności dodawania <em> w HTML, możesz wykorzystać ten mały trik: */
.heading-with-line {
    font-style: italic;
}
.heading-with-line strong {
    font-style: normal;
}
/* /Headers */

/* 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 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%; }
}

/* 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;
	color:#003437;
}
.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: #04768f;
	border:1px solid #04768f;
	border-radius: 10px;
	font-size: 17px;
	font-weight: 600;
	color: #fff;
	padding:12px 35px;
	transition: all 0.5s;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
	background-color:#0387a5;
	color: #fff;
	transition: all 0.5s;
	-webkit-box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3);
	-moz-box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3);
	box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3);
}
#flying-contact.btn-default {
	padding:12px 25px 12px 18px;
}
#cta .btn-default {
	background-color: #023e4b;
	font-size: 22px;
	font-weight: 400;
	white-space: nowrap;
	border:1px solid #023e4b;
}
#cta .btn-default:hover,
#cta .btn-default:focus,
#cta .btn-default:active {
	-webkit-box-shadow: 0px 0px 35px -1px rgba(0, 67, 82, 0.6);
	-moz-box-shadow: 0px 0px 35px -1px rgba(0, 67, 82, 0.6);
	box-shadow: 0px 0px 35px -1px rgba(0, 67, 82, 0.6);
}
.btn-text {
	background-color: transparent;
	font-size: 15px;
	font-weight: 400;
	padding:0;
	color: #04768f;
	background-image: url(../img/bg-btn-text.webp);
	background-repeat: no-repeat;
	background-position: center right;
	padding-right: 25px;
	transition: all 0.5s;
}
.accordion-hide .btn-text {
	background-image: url(../img/bg-btn-text-hide.webp);
}
.btn-text:hover,
.btn-text:focus,
.btn-text:active {
	color: #03667c;
	padding-right: 35px;
}
.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: #04768f !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: #04768f; /* WebKit/Blink Browsers */
	color:#fff;
}
::-moz-selection {
	background: #04768f; /* 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, .dark h1 strong, .dark h2 strong, .dark h3 strong, .dark h4 strong, .dark h5 strong {
	color: #fff;
}


/* Element single post box */
.post-box--img {
	width: 100%;
	height: 380px;
	position: relative;
}
.post-box--img img {
	width: 100%;
	height: 380px;
	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: #f4f4f4;
	color: #303338;
	border-radius: 10px;
	border:1px solid #8d9d9e;
	padding: 13px 20px;
	font-size: 15px;
	width: 100% !important;
	color:#04768f;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7-select:focus {
	background-color: #fff;
	color: #303338;
	box-shadow: none;
	outline: 0 none;
}
.wpcf7 label {
	font-weight: 400;
}
.wpcf7-form select {
	padding: 0px;
	line-height: 40px;
}
.wpcf7-list-item {
	display: block;
}

.wpcf7-list-item-label {
	color:#02333e; 
	margin-left: 20px;
}

.wpcf7-list-item-label a {
	color:#04768f; 
	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: #3d4045 !important;
	border:1px solid #3d4045 !important;
	border-radius: 10px;
	font-size: 14px;
	color: #fff;
	font-family: "Archivo", sans-serif;
	text-transform:lowercase;
	padding:10px 25px;
	transition: all 0.5s;
}
.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)                         */
/* ============================================= */
.custom--padding {
	padding: 15px 15px 0px 15px;
	transition: all linear 0.3s;
}
.custom--margin {
	margin-left: 15px;
	width: calc(100% - 30px);
	transition: all linear 0.3s;
}
#header-main {
    position: relative;
    z-index: 9999;
}
#main-menu-container {
	margin-top: 15px;
	margin-left: 15px;
	width: calc(100% - 30px);
	background-color: rgb(244, 244, 244, 0.5);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: 9999 !important;
}
#main-menu-container.is-frontpage {
	background-color: rgba(0,0,0,0.3);

}
#main-menu-container.sticky {
	margin-top: 5px;
}
.navbar {
	font-family: "Archivo", sans-serif;
	padding-top: 0;
	padding-bottom: 0;
	
}
.navbar-brand {
	padding-bottom: 0;
	padding-top: 0;
}
.navbar-brand img {
	transition: all linear 0.3s;
}
.is-frontpage .navbar-brand img {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(267deg) brightness(103%) contrast(101%);
}
.socials {
	background-image: url('../img/bg-socials.webp');
	background-repeat: no-repeat;
	background-position: center left;
	padding-left: 50px;
	right: 15px;
	top:-25px;
	transition: all linear 0.3s;
}
.is-frontpage .socials {
	background-image: url('../img/bg-socials-white.webp');
}
footer .socials {
	background-image: url('../img/bg-socials-footer.webp');
	background-repeat: no-repeat;
	background-position: center left;
	padding-left: 50px;
	right: 15px;
	top:-25px;
	transition: all linear 0.3s;
}
.sticky .socials {
	opacity: 0;
}
#main-menu-container.custom--padding {
	padding: 30px 0px;
	transition: all linear 0.3s;
}
#main-menu-container.sticky.custom--padding {
	padding:8px 0px;
}
#header-top {
	transition: all linear 0.3s;
}
.sticky #header-top {
	margin-top: -64px;
}
.navbar-dark .navbar-nav .nav-link {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	padding:29px 25px;
	transition: all 0.5s;
}
.highlighted {
	background-color: #04768f !important;
	border-radius: 10px !important;
}
.highlighted:hover a {
	background-color:#0387a5 !important;
	transition: all 0.5s;
	border-radius: 10px !important;
	-webkit-box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3) !important;
	-moz-box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3) !important;
	box-shadow: 0px 0px 16px -1px rgba(3, 135, 165, 0.3) !important;
}
.highlighted:hover a {
	border-bottom-color: transparent !important;
}

@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; 
	}
}
@media only screen and (max-width : 959px) {

	.sticky #main-menu-container {
		margin-top:10px;
	}
	#main-menu-container .navbar-brand {
		position: absolute;
	}
	#main-menu-container .navbar-brand img {
		width: 170px;
	}
	.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target, .ubermenu-main .ubermenu-item-level-0 > .ubermenu-custom-content.ubermenu-custom-content-padded { 
		padding-top:15px !important; 
		padding-bottom:15px !important; 
	}
	.ubermenu-responsive-default.ubermenu-responsive.ubermenu-sub-indicators .ubermenu-tabs>.ubermenu-tabs-group>.ubermenu-tab.ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator {
		transform:rotate(0);
		top: calc(50% - 8px);
		right:10px;
		left:auto
	}
}
.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: #04768f;
	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: #04768f;
}
.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%);*/
}
.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);
}
.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:#04768f;
	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: #04768f;
}
.dropdown-item.active {
	background-color: transparent;
	color:#04768f !important;
}

/* Ubermenu */
.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target { 
	font-size:17px; 
	border-bottom: 1px solid transparent; 
}
.ubermenu.ubermenu-main .ubermenu-item-level-0:hover > .ubermenu-target, .ubermenu-main .ubermenu-item-level-0.ubermenu-active > .ubermenu-target { 
	border-bottom: 1px solid #04768f;
}
.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item:hover > .ubermenu-target, .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent > .ubermenu-target, .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target { color:#04768f !important; }

.ubermenu-nav .ubermenu-submenu {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}
.ubermenu-submenu-drop {
	border-radius:10px !important;
}
.ubermenu-responsive-toggle {
	padding: 15px 15px !important;
}
.is-frontpage .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
	color:#ffffff !important;
}
.is-frontpage .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
	color:#ffffff !important;
}
.ubermenu-main .ubermenu-item-level-0.highlighted > .ubermenu-target { 
	color:#fff !important; 
}

.is-frontpage .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target, 
.is-frontpage .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent > .ubermenu-target, 
.is-frontpage .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target { color:#c2ecf5 !important; }

.is-frontpage .ubermenu-responsive-toggle.ubermenu-responsive-toggle-main { font-size:15px; color:#ffffff; }
.is-frontpage .ubermenu-responsive-toggle.ubermenu-responsive-toggle-main:hover { color:#c2ecf5; }

/* / Ubermenu */

.is-frontpage .socials svg {
    fill: #ffffff;
    transition: fill 0.3s ease; /* Opcjonalnie: płynne przejście koloru, np. przy hoverze */
}
/* Jeśli chcesz, aby kolor zmieniał się po najechaniu myszką (hover): */
.is-frontpage .socials a:hover svg {
    fill: #ffffff; /* Możesz tu wstawić dowolny inny kolor na hover */
} 

/* 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 */
/* Before/After Gallery w karuzeli */
.before-after-carousel .twentytwenty-container {
    height: 600px !important; /* Tutaj możesz określić wysokość galerii przed/po */
}
.before-after-carousel .twentytwenty-container img {
    height: 600px;
    width: 100%;
    object-fit: cover;
}
.before-after-carousel .carousel-control-prev,
.before-after-carousel .carousel-control-next {
    
    width: 40px;
    height: 40px;
    border-radius: 50%;
    opacity: 1;
    top: 320px; /* Połowa wysokości (600px) galerii */
    transform: translateY(-50%);
    bottom: auto;
    z-index: 40;
}
.before-after-carousel .carousel-control-prev {
    left: -50px;
}
.before-after-carousel .carousel-control-next {
    right: -50px;
}
.before-after-carousel .carousel-control-prev-icon,
.before-after-carousel .carousel-control-next-icon {
    width: 30px;
    height: 13px;
	background-image: url(../img/arrow-prev.webp);
}
.before-after-carousel .carousel-control-next-icon {
	background-image: url(../img/arrow-next.webp);
}


/* Wskaźniki (kropki) karuzeli */
.before-after-carousel .carousel-indicators {
    bottom: auto;
}
.before-after-carousel .carousel-indicators button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid #003437;
    margin: 0 4px;
}
.before-after-carousel .carousel-indicators button.active {
    background-color: #003437;
}
.bg-line {
	height: 1px;
	width: 90%;
	background-color: #92a1aa;
	top:50%;
	left: 50%;
	transform: translateX(-50%);
}
.border-start-end-20 {
	border-left: 20px solid #fff;
	border-right: 20px solid #fff;
}
/* ============================================= */
/* 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 */

.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: auto;
    right: 60px;
    top: auto;
    bottom: 42px;
    transform: translateY(50%);
    z-index: 999;
    gap: 0px;
}
.posts-1-slider-container .slider-controls {
	left: auto;
    right: 0;
    top: auto;
    bottom: -60px;
    z-index: 999;
    gap: 0px;
}
@media (max-width: 768px) {
	.banner-slider-container .slider-controls,
	.tns-nav {
		display: none;
	}
}
.banner-slider-container .slider-item {
	padding: 0;
	position: relative;
}
.banner-slider-container .slider-item .w-100 {
	height: 80vh;
	min-height: 80vh;
}
.banner-slider-container .slider-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.arrow {
	height: 25px;
	width: 35px;
	background-image: url(../img/arrows.png);
	cursor: pointer;
}
.posts-1-slider-container .arrow {
	height: 25px;
	width: 35px;
	background-image: url(../img/arrows-dark.png);
	cursor: pointer;
}
.arrow.arrow-right {
	background-position: 35px 0;
}
.tns-nav {
	position: absolute;
	left: 50%;
	bottom: 30px;
	transform: translateX(-50%);
	z-index: 999;
}
.tns-nav button {
	background-color: transparent;
	border:1px solid #fff;
	margin: auto 5px;
	border-radius: 50%;
	width: 16px;
	height: 16px;
}
.tns-nav button.tns-nav-active {
	background-color: #fff;
	border:1px solid #fff;
}
#testimonials .tns-nav {
	position: relative;
	bottom: auto;
	margin-top: 30px;
	left: auto;
	transform: none;
	text-align: center;
	width: 100%;
	display: flex;
	justify-content: center;
}
#testimonials .tns-nav button {
	background-color: transparent !important;
	border: 1px solid #02333e !important;
}
#testimonials .tns-nav button.tns-nav-active {
	background-color: #02333e !important;
}
/* /Tiny Slider Banner */

#banner .content {
	background-color: #00465e;
}
#banner .banner-text {
	font-size: 48px;
	line-height: 45px;
	font-weight: 100;
}
#banner .banner-text {
	font-style: italic;
}
#banner .banner-text strong {
	font-weight: 400;
	font-style: normal;
}
@media (max-width: 768px) {
	#banner .banner-text {
		font-size: 30px;
		line-height: 34px;
	}
}
.banner--curtine-01 {
	background-image: url(../img/banner--bg-curtine-01.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
	height: 100%;
	width: 100%;
	bottom: 0;
	left: 0;
}
.banner-no {
	display: inline-block;
	width: 60px;
	font-weight: 300;
	font-size: 17px;
	height:60px;
	line-height: 60px;
	background-image: url(../img/bg-banner-no.webp);
	background-repeat: no-repeat;
	background-position: center;
}
@media (max-width: 768px) {
	.banner-no  {
		font-size: 15px;
		line-height: 60px;
	}
}
.text-line {
	display: inline-block;
	position: relative;
	height: 0;
	width: 64px;
	vertical-align: middle;
	margin: 0 10px;
}
.text-line::after {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	top: 0;
	left: 0;
}
.bg-grey {
	background-color: #f4f4f4;
}
.bg-blue {
	background-color: #04768f;
}

/* Accordion readmore */
.accordions-readmore-wrapper .read-more-btn .accordion-hide {
	display:inline
}
.accordions-readmore-wrapper .read-more-btn:not(.collapsed) .accordion-show {
	display:none
}
.accordions-readmore-wrapper .read-more-btn.collapsed .accordion-hide {
	display:none
}
.accordions-readmore-wrapper .accordion-read-more {
	position: relative;
}

.accordions-readmore-wrapper .accordion-read-more .accordion-item {
 background-color: transparent;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-body {
 padding-left: 0;
 padding-right: 0;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button.read-more-btn {
	background-color: transparent;
	padding:0;
	position: relative;
	border:0;
}

.accordions-readmore-wrapper .accordion-read-more .accordion-button.read-more-btn:not(.collapsed)::before {
	display: none;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button.read-more-btn::after {
	display: none;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button {
	color:#000 !important;
	padding:0;
	font-size: 18px;
	font-weight: 400;
	position: relative;
	display: inline-block;
	box-shadow: none !important;
    border-color: rgba(0,0,0,.125) !important;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button span {
	position: relative;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button span::after{
	content:"";
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	width: 11px;
	height: 11px;
	transition: all 0.5s;
}

.accordions-readmore-wrapper .accordion-read-more .accordion-button span:hover{
	color:#000;
}
.accordions-readmore-wrapper .accordion-read-more .accordion-button span:hover::after{
	right: -30px;
}
/* Accordion readmore */

/* 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;
}
.line-left {
	position: absolute;
	left: -4015px;
	top: 12px;
	transform: translateY(-50%);
	width: 4000px;
	border-top:1px solid #8d9d9e;
}
#gallery .line-left {
	top: auto;
	bottom: 30px;
}
.box-testimonial--text {
	background-image: url(../img/bg-testimonial.webp);
	background-repeat: no-repeat;
	background-position: left top;
	padding-top: 40px;
}
.box-testimonial--author-and-source-author {
	color:#04768f;
	font-weight: 700;
}
.box-testimonial--author-and-source-source {
	display: inline-block;
	background-image: url(../img/line-author.webp);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 60px;
	color:#000000;
}
.tag-desc {
	background-color: #fff;
	display: block;
	width: auto;
	font-weight: 500;
	padding:15px 25px;
	text-align: center;
}
@media only screen and (min-width : 1460px) {
	.tag-desc {
		position:absolute;
		display: inline-block;
		text-align: left;
		box-shadow: 0px 0px 26px -1px rgba(3, 135, 165, 0.3);
	}
}
.tag-desc.tag-desc--buttom {
	bottom:50px;
	left:-100px;
	white-space: normal;
	max-width: 80%;
	z-index: 22;
}
@media only screen and (max-width : 1460px) {
	.tag-desc.tag-desc--buttom {
		max-width: unset;
	}
}
.tag-desc.tag-video {
	bottom:15%;
	left:-40px;
	padding:15px 15px;
}
.tag-desc.tag-video img {
	width: 70px;
	height: 70px;
	
}
.tag-desc.tag-desc-feature-1 {
	top:50px;
	left:90%;
	white-space: nowrap;
	z-index: 20;
}
.tag-desc.tag-desc-feature-2 {
	top:120px;
	left:90%;
	white-space: nowrap;
	z-index: 18;
}
.tag-desc.tag-desc-feature-3 {
	top:190px;
	left:90%;
	white-space: nowrap;
	z-index: 16;
}

#flying-contact {
	position: fixed;
	bottom: -115px;
	right: 15px;
	width: auto;
	text-align: center;
	transition: all 0.5s;
	z-index: 99999999;
}
#flying-contact.sticky {
	bottom: 15px;
}
#flying-contact.hide-at-bottom, #to-top.hide-at-bottom {
	bottom: -115px !important;
}
/* Stylizacja i stan początkowy krótkiej linii */
.short-line {
    display: inline-block;
    vertical-align: middle;
    height: 1px;
    background-color: #8fa7a5; /* Kolor linii - zmień w razie potrzeby */
    width: 95px;               /* Szerokość dla desktopu */
    margin: 0 10px;            /* Odstęp od tekstu z lewej i prawej strony */
    position: relative;
    top: -0.1em;
    
    /* --- ANIMACJA --- */
    transform-origin: left center; /* Punkt startowy animacji (rośnie od lewej do prawej) */
    transform: scaleX(0);          /* Na start linia ma szerokość 0 (jest zwinięta) */
    opacity: 0;                    /* Jest niewidoczna */
    
    /* Używamy tej samej krzywej animacji, czasy dostosowane do poprzedniej linii */
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.1s,
                opacity 0.6s ease-out 0.1s;
}
.dark .short-line {
	background-color: rgb(255, 255, 255, 0.4);
}
/* Stan po przescrollowaniu (klasa dodawana przez nasz skrypt JS) */
.is-visible .short-line {
    transform: scaleX(1); /* Rozwija się do 100% zadeklarowanej szerokości */
    opacity: 1;
}

/* Responsywność - dla ekranów mobilnych szerokość 45px */
@media (max-width: 768px) {
    .short-line {
        width: 45px;
    }
}

.curtine {
	width: 100%;
	height:100%;
	top:0;
	left: 0;
	background-image: url(../img/curtine-1.webp);
	background-size: cover;
}
.box-type-a--img {
	background-color: #003437;
}
.box-type-a--img img {
	object-fit: cover;
	opacity: 0.8;
	transition: opacity 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (max-width: 575px) {
	.box-type-a--img img {
		max-height: 420px;
	}
}
.box-type-a:hover .curtine {
	opacity: 0.2;
}

.box-type-a--content {
	background-color: rgb(0, 52, 55, 0.65);
	backdrop-filter: blur(10px);
	transition: padding 1.2s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.box-type-a--desc {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: opacity 1s cubic-bezier(0.25, 0.1, 0.25, 1) 0.1s, transform 1.2s cubic-bezier(0.25, 0.1, 0.25, 1), max-height 1.2s cubic-bezier(0.25, 0.1, 0.25, 1), margin-top 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
	transform: translateY(10px);
	margin-top: 0;
}
.box-type-a:hover .box-type-a--img img {
	opacity: 1;
}
.box-type-a:hover .box-type-a--desc {
	max-height: 200px;
	opacity: 1;
	transform: translateY(0);
	margin-top: 1rem;
}
.box-type-a:hover .box-type-a--content {
	background-color: rgb(4, 118, 143, 0.65);
}

.box-type-a--title {
	overflow: hidden;
}
.box-type-a--title h3::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px; 
	width: 9999px; 
	margin-right: -9999px; 
	height: 1px; 
	background-color: #fff; 
	position: relative;
	top: -0.1em; 
	transform-origin: left;
	transform: scaleX(0);
	transition: transform 6.2s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}
.box-type-a:hover .box-type-a--title h3::after {
	transform: scaleX(1);
}
.text-highlighted {
	font-size: 24px;
}
.text-highlighted strong {
	font-style: italic;
	color:#04768f;
	font-weight: 300;
}
.text-highlighted .short-line {
	background-color: rgb(146, 161, 170, 0.4);
}
.font-size-38 {
	font-size: 38px;
}
.font-size-32 {
	font-size: 32px;
}
.font-size-22 {
	font-size: 22px;
}
@media screen and (max-width: 1400px) {
	.font-size-38 {
		font-size: 30px;
		line-height:34px;
	}
	.font-size-32 {
		font-size: 26px;
	}
	.font-size-22 {
		font-size: 19px;
	}
}
.font-size-14 {
	font-size: 14px;
}
.newsletter-subscription .wpcf7 p {
  display: flex !important;
  align-items: start;
}

.newsletter-subscription .wpcf7 p .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  min-width: 0; /* zapobiega overflow */
}

.newsletter-subscription .wpcf7 p .wpcf7-form-control-wrap input {
  width: 100%;
  height:45px;
  background-color: #fff;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.newsletter-subscription .wpcf7 p .wpcf7-form-control-wrap input::placeholder {
  color:#494949;
}

.newsletter-subscription .wpcf7 p .wpcf7-submit {
	display: inline-block;
	flex-shrink: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	color: transparent;
	text-indent: -9999px;
	background-color:#0387a5 !important;
	border-color:#0387a5 !important;
	background-image: url(../img/icon-send.svg) !important;
	background-position: center center;
	background-repeat: no-repeat;
	padding-left: 25px;
	padding-right: 25px;
}
.newsletter-subscription .wpcf7 p .wpcf7-not-valid-tip,
.newsletter-subscription .wpcf7 .wpcf7-response-output {
	font-size: 14px;
}
.newsletter-subscription .wpcf7 p .wpcf7-spinner {
  flex-shrink: 0;
  position: absolute;
}
.img-natural {
    width: auto;
    max-width: none;
}
.postbox .date {
	font-size: 15px;
	color:#04768f;
	font-weight: 400;
	overflow: hidden;
	display: flex;
    align-items: center; /* Wyrównuje tekst i linię idealnie w pionie */
}
.postbox .date::after {
    content: "";
    flex-grow: 1; /* Sprawia, że linia zajmuje całą resztę dostępnego miejsca */
    margin-left: 20px; 
    height: 1px; 
    background-color: #8fa7a5; 
    
    /* Pozycjonowanie i animacja pozostają bez zmian */
    transform-origin: left;
    transform: scaleX(0);
    transition: transform 0.5s ease-in-out; 
}

.postbox:hover .date::after {
    transform: scaleX(1);
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.postbox {
	transition: all 0.5s;
}
.postbox:hover {
	background-color: #f4f4f4;
}
.box-img {
	width: 100%;
	height: 380px;
	position: relative;
}

.box-img img {
	width: 100%;
	height: 380px;
	object-fit: cover;
}
footer ul {
	padding:0;
	margin:0;
}
footer ul li {
	list-style: none;
	font-weight: 500;
	margin-top: 8px;
	margin-bottom: 8px;
}
footer a {
	color:#02333e;
}
footer ul li a{
	display: block;
}
footer a:hover {
	color:#04768f;
}
.copyrights a {
	font-weight: 400;
}
.contact-item--header {
	color:#02333e;
	font-weight: 400;
	position: relative;
	display: inline-block;
}
.contact-item--header::before {
	content:"";
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	width: 63px;
	height: 1px;
	background-color: #8d9d9e;
	right: -93px;
}
.contact-item--content,
.contact-item--content a {
	color:#003437;
}
.contact-item--content a:hover {
	color:#00a1c5;
}
.contact-form {
	top:-50px;
	transition: all 0.5s;
	-webkit-box-shadow: 0px 0px 25px -1px rgba(3, 135, 165, 0.3);
	-moz-box-shadow: 0px 0px 25px -1px rgba(3, 135, 165, 0.3);
	box-shadow: 0px 0px 25px -1px rgba(3, 135, 165, 0.3);
}
@media screen and (max-width: 1400px) {
	.contact-form {
		top:unset;
		position: relative !important;
	}
}
.breadcrumbs {
	font-size: 15px;
	position: relative;
}
.breadcrumbs::before {
	content:'';
	position: absolute;
	background-color: #8d9d9e;
	width: 65px;
	height: 1px;
	position: absolute;
	left:-70px;
	top:50%;
	transform: translateY(-50%);
}
.breadcrumbs span span {
	margin-left: 5px;
	margin-right: 5px;
}
.breadcrumbs a:hover {
	color:#033e4b;
}
.img-container-1 {
	left: 0;
	top:60px;
	display: inline-block;
	width: 40%;
}
.img-container-2 {
	right: 0;
	top:0;
	display: inline-block;
	width: 70%;
}
.img-container-3 {
	right: 0;
	top:60px;
	display: inline-block;
	width: 40%;
	z-index: 100;
}
.img-container-4 {
	left: 0;
	top:0;
	display: inline-block;
	width: 70%;
}
.img-container-5 {
	left: 0;
	top:150px;
	display: inline-block;
	width: 50%;
	z-index: 10;
}
.img-container-6 {
	right: 0;
	top:0;
	display: inline-block;
	width: 60%;
}
@media (max-width: 768px) {
	.img-container-1 {
		width: 50%;
	}
	.img-container-2 {
		margin-top:-70%;
		width: 80%;
		float: right;
	}
	.img-container-3 {
		width: 50%;
	}
	.img-container-4 {
		margin-top:-70%;
		width: 80%;
		float: right;
	}
	.img-container-5 {
		width: 50%;
	}
	.img-container-6 {
		margin-top:-70%;
		width: 80%;
		float: right;
	}
}
.list-style ul{
	padding-left: 0;
	margin-left: 0px;
}
.list-style ul li {
	list-style: none;
	background-image: url(../img/list-style-li.webp);
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 50px;
}
/* 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; }
}
/* ============================================= */
/* 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) {
}