/*
Theme Name: PuGePu
Theme URI: #
Author: Hubert Musiał
Author URI: https://pugepu.pl
Version: 0.0.1
License:  GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: PuGePu
Tags: one-column, right-sidebar, custom-header, custom-logo, featured-images
*/
/*@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;700&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,700;1,300;1,700&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;700&display=swap');

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, img {
    display: block;
}
body {
    line-height: 1;
    background-color: #fff;
    font-family: 'Montserrat';
    font-weight: 300 !important;
    letter-spacing: 0.058em;
    -webkit-transition: background-color .5s;
    -o-transition: background-color .5s;
    transition: background-color .5s;
    margin: 0;
    overflow-x: hidden;
}
/*
ol, ul {
    list-style: disc;
}
*/

blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

html, body {
    scroll-behavior: smooth;
    font-size: 12px;
}

.container-fluid{
    margin: 0;
    padding: 0 !important;
}

@media (min-width: 1400px) {
    .container {
        max-width: 1600px; /* Zwiększ szerokość tylko na dużych ekranach */
    }
}
/************************************************** PADDING / MARGIN ***********************************************/

.scroll {
    cursor: pointer;
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 20px;
    right: -80px;
    border-radius: 100%;
    background-image: -o-radial-gradient( 10% 20%, circle farthest-corner, #fff 40%, #fff 81.3% );
    background-image: radial-gradient( circle farthest-corner at 10% 20%, #fff 40%, #fff 81.3% );
    color: #CD1F25;
    opacity: 0.5;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    -webkit-box-shadow: 0 0 0 1px #CD1F25;
    box-shadow: 0 0 0 1px #CD1F25;
    -webkit-transition: 300ms;
    -o-transition: 300ms;
    transition: 300ms;
    padding-top: 12px;
    z-index: 12346;
}
.scroll:hover {
    background-image: -o-radial-gradient( 0% 20%, circle farthest-corner, #fff 40%, #fff 81.3% );
    background-image: radial-gradient( circle farthest-corner at 0% 20%, #fff 40%, #fff 81.3% );
    opacity: 1;
}

.scroll i {
    text-shadow: 0 0 2px #CD1F25;
}

.scroll:hover i{
    -webkit-animation-name: rotate;
    animation-name: rotate;
    -webkit-animation-duration: 300ms;
    animation-duration: 300ms;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
}

@-webkit-keyframes rotate {
    from {margin-top: 0px}
    to {margin-top: 10px}
}

@keyframes rotate {
    from {margin-top: 0px}
    to {margin-top: 10px}
}

.visible {
    right: 20px;
    -webkit-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg)
}

/************************************************** PADDING / MARGIN ***********************************************/

.g-6,
.gy-6 {
  --bs-gutter-y: 4rem;
}

.g-7,
.gy-7 {
  --bs-gutter-y: 5rem;
}

.p-6 {
    padding: 4rem !important;
}

.p-7 {
    padding: 5rem !important;
}

.p-lg-6 {
    padding: 4rem !important;
}

.p-lg-7 {
    padding: 5rem !important;
}

.py-lg-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

.py-lg-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.pt-6{
    padding-top: 4rem !important;
}

.pt-7{
    padding-top: 5rem !important;
}

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

.pb-7{
    padding-bottom: 5rem !important;
}

.pb-lg-7{
    padding-bottom: 5rem !important;
}

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

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

.px-7 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
}

.py-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.mt-6 {
    margin-top: 4rem !important;
}

.mt-7 {
    margin-top: 5rem !important;
}

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

.mb-7 {
    margin-bottom: 5rem !important;
}

.p-100 {
    padding-top: 100px;
}

.m65px {
    margin-top: 65px;
}

@media (min-width: 768px) {
    .p-md-6 {
        padding: 4rem !important;
    }
    
    .p-md-7 {
        padding: 5rem !important;
    }

    .py-md-7 {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }

    .mt-md-7 {
        margin-top: 5rem !important;
    }
}
/************************************************** BACKGROUND ***********************************************/
.bg-transparent{
    background-color: transparent;
}

.bg-red{
    background-color: #CD1F25;
}

.bg-gray{
    background-color: rgba(238, 242, 247, 0.69);
}

.bg-darkblue {
    background-color: #0C1A36 !important;
}

.bg-white {
    background-color: white !important;
}

.img-overlay {
    position: relative;
    display: inline-block;
}

.img-overlay::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Kolor overlaya (czarny z przezroczystością) */
    pointer-events: none; /* Zapobiega interakcji z overlayem */
    transition: opacity 0.3s ease; /* Dodane, aby animować przejście dla overlaya */
}
.img-overlay:hover::after {
    opacity: 1; /* Dodane, aby pokazać overlay po najechaniu myszą */
}
.img-overlay img {
    display: block;
    max-width: 100%;
    height: auto;
}

.no-img-overlay {
    position: relative;
    display: inline-block;
}

.no-img-overlay::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none; /* Zapobiega interakcji z overlayem */
    transition: opacity 0.3s ease; /* Dodane, aby animować przejście dla overlaya */
}
.no-img-overlay:hover::after {
    opacity: 1; /* Dodane, aby pokazać overlay po najechaniu myszą */
}
.no-img-overlay img {
    display: block;
    max-width: 100%;
    height: auto;
}

/************************************************** FONT ***********************************************/
.fw-medium {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}

.display-big {
    font-size: calc(1.825rem + 6.9vw);
    font-weight: 300;
    line-height: 1.2;
  }
  @media (min-width: 1200px) {
    .display-big {
      font-size: 7rem;
    }
  }

.display-7 {
    font-size: calc(1.325rem + 0.9vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-7 {
        font-size: 2rem;
    }
}

.display-8 {
    font-size: calc(1.275rem + 0.3vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-8 {
        font-size: 1.5rem;
    }
}

.display-9 {
    font-size: calc(1.3rem + 0.3vw);
    font-weight: 300;
    line-height: 2;
    letter-spacing: 0.058em;
}

.display-10 {
    font-size: calc(0.6rem + 0.3vw);
    font-weight: 300;
    line-height: 2;
}

.display-11 {
    font-size: calc(0.5rem + 0.25vw);
    font-weight: 300;
    line-height: 1.5;
}

@media (min-width: 1200px) {
    .display-9 {
        font-size: 1.3rem;
    }
}

/************************************************** TEXT COLOR ***********************************************/

.text-blacked{
    color: #131313 !important;
}

.text-darkblue{
    color: #0C1A36 !important;
}

.text-red{
    color: #CD1F25 !important;
}

/************************************************** ICONS ***********************************************/

.bi-bold {
    -webkit-text-stroke: 1px;
}

.fa-arrow-rotate {
    transform: rotate(-45deg); /* Zmień kąt obrotu według własnych preferencji */
}

.rotated-icon-r45 {
    transform: rotate(45deg);
}
/************************************************** BUTTONS ***********************************************/

.btn-red {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #CD1F25 !important;
    --bs-btn-border-color: #CD1F25 !important;
    --bs-btn-hover-color: #CD1F25 !important;
    --bs-btn-hover-bg: #fff !important;
    --bs-btn-hover-border-color: #CD1F25 !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
    --bs-btn-active-color: #CD1F25 !important;
    --bs-btn-active-bg: #fff !important;
    --bs-btn-active-border-color: #CD1F25 !important;
/*    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;*/
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: #CD1F25 !important;
    --bs-btn-disabled-border-color: #CD1F25 !important;
}

.btn-darkblue {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #0C1A36 !important;
    --bs-btn-border-color: #0C1A36 !important;
    --bs-btn-hover-color: #0C1A36 !important;
    --bs-btn-hover-bg: #fff !important;
    --bs-btn-hover-border-color: #0C1A36 !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
    --bs-btn-active-color: #0C1A36 !important;
    --bs-btn-active-bg: #fff !important;
    --bs-btn-active-border-color: #0C1A36 !important;
/*    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;*/
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: #0C1A36 !important;
    --bs-btn-disabled-border-color: #0C1A36 !important;
}

.btn-white {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: transparent !important;
    --bs-btn-border-color: #fff !important;
    --bs-btn-hover-color: #CD1F25 !important;
    --bs-btn-hover-bg: #fff !important;
    --bs-btn-hover-border-color: #fff !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
    --bs-btn-active-color: #CD1F25 !important;
    --bs-btn-active-bg: #fff !important;
    --bs-btn-active-border-color: #fff !important;
/*    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;*/
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: #0C1A36 !important;
    --bs-btn-disabled-border-color: #0C1A36 !important;
}

.btn-semitransparent {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: rgba(255, 255, 255, 0.27) !important;
    background-color: var(--bs-btn-bg) !important;
    --bs-btn-border-color: rgba(255,255,255,0.27) !important;
    --bs-btn-hover-color: #CD1F25 !important;
    --bs-btn-hover-bg: rgba(255,255,255,0.77) !important;
    --bs-btn-hover-border-color: rgba(255,255,255,0.77) !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
    --bs-btn-active-color: #CD1F25 !important;
    --bs-btn-active-bg: rgba(255,255,255,0.77) !important;
    --bs-btn-active-border-color: rgba(255,255,255,0.77) !important;
/*    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;*/
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: #0C1A36 !important;
    --bs-btn-disabled-border-color: #0C1A36 !important;
}

.btn-semitransparent-white-hover {
    --bs-btn-hover-bg: rgba(0, 0, 0, 0.17) !important;
}

.btn-semitransparent-white {
    --bs-btn-bg: rgba(0, 0, 0, 0.27) !important;
    --bs-btn-color: white !important;
}

.btn-semitransparent:hover {
    color: var(--bs-btn-color) !important;
    background-color: var(--bs-btn-hover-bg) !important;
}


.nav-link.btn-semitransparent::before {
    content: '\2022'; /* Kropka */
    font-size: 100px; /* Rozmiar kropki */
    color: #CD1F25; /* Kolor kropki */
    margin-right: 10px; /* Odstęp między kropką a tekstem */
    line-height: 0; /* Usuń marginesy wewnętrzne, które mogą powodować problemy */
    vertical-align: text-top; /* Wyrównanie kropki do góry tekstu */
    display: inline-block; /* Traktowanie pseudo-elementu jak element inline-block */
    transform: translateY(3px); /* Dostosowanie pozycji kropki, aby była lepiej wyrównana */
    margin-right: 3px;
}

.btn-gray-off{
    background-color: #e3e3e3;
    color: #6c6c6c;
    letter-spacing: 1.5px;
}

.btn-lightgray-off{
    background-color: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.75);
    letter-spacing: 1.5px;
}

.btn-lightgray-off::before, .btn-gray-off::before {
    content: '\2022'; /* Kropka */
    font-size: 70px; /* Rozmiar kropki */
    color: #CD1F25; /* Kolor kropki */
    margin-right: 1px; /* Odstęp między kropką a tekstem */
    line-height: 0; /* Usuń marginesy wewnętrzne, które mogą powodować problemy */
    vertical-align: text-top; /* Wyrównanie kropki do góry tekstu */
    display: inline-block; /* Traktowanie pseudo-elementu jak element inline-block */
    transform: translateY(1px); /* Dostosowanie pozycji kropki, aby była lepiej wyrównana */
}

/************************************************** UNIVERSAL ***********************************************/
@media (min-width: 576px) {
    .me-sm-6 {
        margin-right: 4rem !important;
    }
}

.vh-75 {
    height: 75vh; /* 75% wysokości widoku */
}

.hr-line {
    border: 0;
    height: 2px;
    background-color: #0C1A36;
}

/* Przełącznik języków */
.lang-switch {
    opacity: 0.5;
    transition: opacity 0.2s ease;
    line-height: 0;
}
.lang-switch.active,
.lang-switch:hover {
    opacity: 1;
}

.hr-line-gray {
    border: 0;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.36);
    width: 100%; /* Sprawia, że linia rozciąga się na całą szerokość rodzica */
}
/* Dla przeglądarek WebKit (Chrome, Edge, Safari, Opera) */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Dla przeglądarek Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

.navbar-home {
    background-color: transparent;
    color: white;
}

/* Styl dla navbar na innych stronach */
.navbar-other {
    background-color: #000;
    color: black;
}

.custom-rounded {
    border-radius: 5rem;
}

.custom-rounded-top {
    border-top-left-radius: 5rem;
    border-top-right-radius: 5rem;
}

/* cookie notice */

.dot::before {
    content: '\2022'; /* Kropka */
    font-size: 70px; /* Rozmiar kropki */
    color: #CD1F25; /* Kolor kropki */
    margin-right: 1px; /* Odstęp między kropką a tekstem */
    line-height: 0; /* Usuń marginesy wewnętrzne, które mogą powodować problemy */
    vertical-align: text-top; /* Wyrównanie kropki do góry tekstu */
    display: inline-block; /* Traktowanie pseudo-elementu jak element inline-block */
    transform: translateY(1px); /* Dostosowanie pozycji kropki, aby była lepiej wyrównana */
}

.cookie-alert {
    background: rgba(0, 0, 0, 0.8) 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 21px;
    opacity: 0.88;
    color: #fff;
    position: fixed;
    bottom: -2rem;
    right: -2rem;
    max-width: 75rem;
    margin: 0 !important;
    z-index: 999;
    opacity: 0;
    transform: translateY(100%);
    transition: all 500ms ease-out;
}

.cookie-alert.show {
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 1000ms;
}
/* END cookie notice */

.no-wrap {
    white-space: nowrap;
}

.cursorPointer {
    cursor: pointer;
}

.bg404{
    background: url('./img/bg-404.svg');
    background-repeat: no-repeat;
    background-position: center;
    /* height: 60rem;
    width: 60rem; */
    z-index: 0;
}

form > label::placeholder, input, select{
    font-family: 'Montserrat';
    font-size: 1.3rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.058em;
}

.form-floating > label {
    font-family: 'Montserrat';
    font-size: 1rem !important;
    color: #b9b9b9;
    font-weight: 300 !important;
    letter-spacing: 0.058em;
}

#breadcrumb{
    position: absolute;
    top: 20%;
    right: 0%;
    bottom: 1.25rem;
    left: 0%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #131313;
    text-align: center;
    z-index: 3;
}

.breadcrumb > li > a {
    text-decoration: none;
    color: #131313;
}

.breadcrumb > li.active {
    color: #131313;
    font-weight: 700;
}

#baner {
    position: relative;
}
#baner img {
    width: 100%;
    height: auto;
    display: block;
}
#baner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
    pointer-events: none; /* Zapobiega zakrywaniu interakcji z obrazem przez gradient */
}

.baner-mobile::after {
    background: none !important;
}
#shadowUp {
    position: relative;
}
#shadowUp img {
    width: 100%;
    height: auto;
    display: block;
}
#shadowUp::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
    pointer-events: none; /* Zapobiega zakrywaniu interakcji z obrazem przez gradient */
}

#shadowUpNo {
    position: relative;
}
#shadowUpNo img {
    width: 100%;
    height: auto;
    display: block;
}
#shadowUpNo::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* Zapobiega zakrywaniu interakcji z obrazem przez gradient */
}

/************************************************** HEADER ***********************************************/
/* TOOLTIP */

.tooltip.custom-tooltip .tooltip-inner {
  --bs-tooltip-bg: rgba(12, 26, 54, 0.95);
  --bs-tooltip-color: #fff;
  --bs-tooltip-border-radius: 0.5rem;
  font-size: 1.2rem;
  padding: 0.5rem 0.75rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.tooltip.custom-tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #333;
}


/* Domyślne ustawienia nawigacji */
.navbar {
    transition: all 0.5s ease-in-out; /* Płynne przejście dla wszystkich właściwości */
    margin-top: 4rem !important; /* Dostosowanie górnego marginesu */
}

/* Styl dla przyklejonego menu */
.navbar.sticky {
    margin-top: 0 !important; /* Usuń margines */
    top: 0; /* Przyklej do górnej krawędzi */
    background-color: rgba(255, 255, 255, 0.95); /* Lekko przezroczyste tło */
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    margin-top: 0; /* Przyklejenie */
    transition: all 0.3s ease-in-out; /* Płynna animacja */
}

#navbarScroll > form > input {
    background-color: transparent !important;
    border: transparent !important;
}
    
#navbarScroll > form > input::placeholder {
    text-align: right;
    color: var(--placeholder-color);
}
.navbar-nav a{
    color: white;
}

.navbar-nav a:hover, .navbar-nav a:focus{
    color: #CD1F25 !important;
}

.nav-link.active {
    color: #CD1F25 !important;
}

.navbar-bcg {
    background-color: white;
    transition: background-color 0.3s ease; /* Dodaj transition do efektu płynnego przejścia */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  /* Dodaj cień na dole */
}

.navbar-none {
    background-color: transparent;
    transition: background-color 0.3s ease; /* Dodaj transition do efektu płynnego przejścia */
    box-shadow: none  /* Dodaj cień na dole */
}
.navbar.scrolled {
    background-color: #fff; /* Nowy kolor po dodaniu klasy 'scrolled' */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Dodaj cień na dole */
    transition: all 0.3s ease-in-out; /* Płynna animacja */
}

.navbar {
    transition: margin-top 0.3s ease-in-out;
}

.navbar-toggler {
    border: none;
    padding: 0;
    outline: none;
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-toggler .hamburger-toggle {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    z-index: 11;
    float: right;
}
.navbar-toggler .hamburger-toggle .hamburger {
    position: absolute;
    transform: translate(-50%, -50%) rotate(0deg);
    left: 50%;
    top: 50%;
    width: 50%;
    height: 50%;
    pointer-events: none;
}
.navbar-toggler .hamburger-toggle .hamburger span {
    width: 100%;
    height: 4px;
    position: absolute;
    background: #333;
    border-radius: 2px;
    z-index: 1;
    transition: transform 0.2s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.2s cubic-bezier(0.77, 0.2, 0.05, 1), all 0.2s ease-in-out;
    left: 0px;
}
.navbar-toggler .hamburger-toggle .hamburger span:first-child {
    top: 10%;
    transform-origin: 50% 50%;
    transform: translate(0% -50%) !important;
}
.navbar-toggler .hamburger-toggle .hamburger span:nth-child(2) {
    top: 50%;
    transform: translate(0, -50%);
}
.navbar-toggler .hamburger-toggle .hamburger span:last-child {
    left: 0px;
    top: auto;
    bottom: 10%;
    transform-origin: 50% 50%;
}
.navbar-toggler .hamburger-toggle .hamburger.active span {
    position: absolute;
    margin: 0;
}
.navbar-toggler .hamburger-toggle .hamburger.active span:first-child {
    top: 45%;
    transform: rotate(45deg);
}
.navbar-toggler .hamburger-toggle .hamburger.active span:nth-child(2) {
    left: 50%;
    width: 0px;
}
.navbar-toggler .hamburger-toggle .hamburger.active span:last-child {
    top: 45%;
    transform: rotate(-45deg);
}
.navbar-toggler {
    /* border: 1px solid white !important; */
    padding: 5px;
}

.navbar-toggler-icon {
    background-image: url(
        "data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.navbar-toggler-black {
    /* border: 1px solid black !important; */
    padding: 5px;
}

.navbar-toggler-icon-black {
    background-image: url(
        "data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.icons {
    display: inline-flex;
    margin-left: auto;
}
.icons a {
    transition: all 0.2s ease-in-out;
    padding: 0.2rem 0.4rem;
    color: #ccc !important;
    text-decoration: none;
}
.icons a:hover {
    color: white;
    text-shadow: 0 0 30px white;
}

.nav-item {
    padding: 2rem !important;
    line-height: normal !important;
}

.navbarShadow {
    box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1) !important;
}

.list-group-item {
    border: 0 !important;
    padding-left: 0 !important;
}

/************************************************** HOME ***********************************************/
.firstSection {
    background: url(/img/home/slide.png);
}
.bullet-line {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
}

.carousel-caption {
    position: absolute;
    left: 50%; /* Wyśrodkowanie poziome */
    transform: translate(-50%, -50%); /* Przesunięcie środka */
    text-align: center; /* Wyrównanie tekstu na środku */
    z-index: 10; /* Nad innymi elementami */
    padding: 15px; /* Opcjonalne marginesy */
}

/* @media (min-width: 1400px) {
    .carousel-caption {
        left: 15vw;
        right: 15vw;
    }
} */

.carousel-control-next, .carousel-control-prev {
    position: relative;
    width: auto;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    background-size: 75%; /* Zmniejsz obraz tła do 50% swojego kontenera */
}

.carousel-control-next, .carousel-control-prev {
    position: relative;
    width: auto;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    background-size: 75%; /* Zmniejsz obraz tła do 50% swojego kontenera */
}

.custom-carousel-indicators {
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 0%;
  }
  
  .custom-carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 300px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease;
}

.custom-carousel-indicators .active {
    background-color: #CD1F25; /* Zmieniamy kolor aktywnego wskaźnika */
    opacity: 1; /* Aktywny wskaźnik pełny, nieprzezroczysty */
}

a.d-inline-flex:hover .btn-red {
    background-color: #fff; /* Nowy kolor tła dla przycisku */
    color: #CD1F25; /* Nowy kolor tekstu ikony */
}

a.d-inline-flex:hover .text-uppercase {
    color: inherit; /* Zapobiega zmianie koloru tekstu "O BOMI" */
}

a.custom-hover:hover .btn-red {
    background-color: #fff; /* Nowy kolor tła dla przycisku */
    color: #CD1F25; /* Nowy kolor tekstu ikony */
}

a.custom-hover:hover .text-uppercase {
    color: inherit; /* Zapobiega zmianie koloru tekstu "O BOMI" */
}

.bg-kontakt {
    background: url(/img/home/home-kontakt.png);
    border-radius: 5rem;
    background-repeat: no-repeat;
    background-size: cover;
}


/************************************************** OFERTA ***********************************************/

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.btn-tabs-disable{
    background-color: #F3F6F9 !important;
    color: #0C1A36 !important;
}

.btn-tabs-disable:hover{
    background-color: #0C1A36 !important;
    color: #F3F6F9 !important;
}

.active.btn-tabs-disable {
    background-color: #0C1A36 !important;
    color: #F3F6F9 !important;
}

#myTab > div > .nav-item {
    padding: 0 !important;
}

.btn-tabs-norm{
    background-color: #0C1A36 !important;
    color: #F3F6F9 !important;
}

/************************************************** KALKULATOR ***********************************************/

#tw, #dw, #lw, #tz, #lz, #obliczWage {
    width: 14.0rem;
}

/************************************************** KONTAKT ***********************************************/

.bg-maps {
    background: url(/img/kontakt/maps.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#map {
    height: 627px;
}

.marker-rotated {
    transform: rotate(45deg);
    transform-origin: center;  /* Ustala punkt obrotu na środek */
}

.custom-popup {
    width: 100%; /* Ustawia szerokość kontenera na 100% */
    font-size: 14px; /* Dostosowanie rozmiaru tekstu */
    color: #333; /* Kolor tekstu */
}

.custom-leaflet-popup .leaflet-popup-content-wrapper {
    border-radius: 25px; /* Zaokrąglone rogi */
    background-color: white; /* Tło popupu */
    padding: 10px; /* Wewnętrzne odstępy */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Delikatny cień */
    max-width: 470px; /* Maksymalna szerokość chmurki */
    width: 470px; /* Ustala szerokość chmurki na 100% kontenera */
}

.custom-leaflet-popup .leaflet-popup-tip {
    display: none; /* Usunięcie "dziubka" */
}

.custom-leaflet-popup .leaflet-popup-content {
    margin: 0;
    width: 100% !important;
}

.leaflet-marker-icon {
    filter: none !important; /* Upewnia się, że marker zachowuje swój kolor */
}


/************************************************** O NAS ***********************************************/

.circle-check {
    width: 30px;
    height: 30px;
    border: 2px solid #CD1F25;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #CD1F25; 
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: -2px;
}

.bg-about {
    background: url(/img/o-nas/onas_baner.webp);
    background-size: cover;
    background-position: center;
}

.dot-line::before {
    content: '\2022'; /* Kropka */
    font-size: 70px; /* Rozmiar kropki */
    color: #CD1F25; /* Kolor kropki */
    margin-right: 1px; /* Odstęp między kropką a tekstem */
    line-height: 0; /* Usuń marginesy wewnętrzne, które mogą powodować problemy */
    vertical-align: text-top; /* Wyrównanie kropki do góry tekstu */
    display: inline-block; /* Traktowanie pseudo-elementu jak element inline-block */
    transform: translateY(1px); /* Dostosowanie pozycji kropki, aby była lepiej wyrównana */
}

/************************************************** FORM ***********************************************/

.modal-fullscreen .modal-content{
    border-radius: 30px;
    width: 80vw;
    height: 90%;
    margin-left: auto;
    margin-right: auto;
}


.button-close-modal{
    position: relative !important;
    background-color: transparent;
    width: 54px;
    height: 54px;
    border: 0px solid #fff;
    border-radius: 100%;
    color: #fff;
    font-weight: 700;
    z-index: 1;
}

.button-close-modal:hover{
    -webkit-transform: rotate(0.5turn) !important;
    -ms-transform: rotate(0.5turn) !important;
    transform: rotate(0.5turn) !important;
}

.rotate360{
    -webkit-transition: -webkit-transform .8s ease-in-out;
    transition: -webkit-transform .8s ease-in-out;
    -o-transition: transform .8s ease-in-out;
    transition: transform .8s ease-in-out;
    transition: transform .8s ease-in-out, -webkit-transform .8s ease-in-out;  
}
.rotate360:hover{
    transform:rotate(0.5turn);
    -ms-transform:rotate(0.5turn);
    -webkit-transform:rotate(0.5turn);
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

#zapytanie-ofertowe input::placeholder, #zapytanie-ofertowe textarea::placeholder{
    color: white;
}

#zapytanie-ofertowe input::placeholder, #zapytanie-ofertowe textarea::placeholder{
    color: white;
}

.form-control {
    padding: .375rem .0rem !important;
}

.form-check-input{
    -webkit-box-shadow: none;
    box-shadow: none;
    margin-top: 0rem;
    width: 2rem;
    height: 2rem;
}

.form-check-input:checked {
    background-color: #CD1F25;
    border-color: #CD1F25;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-check-input:active {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-check-input:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

#bomi-footer > div > div > input::placeholder{
    color: white;
}

#bomi-footer > div > div > div > input::placeholder{
    color: white;
}

label[for="honeypot"],
#honeypot {
    display: none;
    visibility: hidden;
}

.hidden-phone {
    display: none;
}

.file-input-container {
    position: relative;
    display: inline-block;
}

.file-input {
    width: 1px;
    height: 1px;
    opacity: 0;
    position: absolute;
    z-index: -1;
}

.file-label {
    display: inline-block;
    padding: 10px;
    cursor: pointer;
    border: 0px solid #ccc;
    border-radius: 5px;
    margin-left: 10px;
    color: #FF6000;
}

.file-name {
    font-style: italic;
}

.form-cv {
    padding-top: .625rem !important;
    padding-bottom: .625rem !important;
}
/************************************************** FOOTER ***********************************************/

.border-h1{
    height: 1px !important;
}
#popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    height: 100%;
}

.popup-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.popup-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.close-btn {
    background-color: #ff5800;
    color: white;
    padding: 10px;
    cursor: pointer;
    margin-top: 10px;
}

/***************************************************************************************************************************/
/**************************************************** MOBILE ***************************************************************/
/***************************************************************************************************************************/

@media (max-width: 767px) {
#carouselBaner .w-100 {
    width: 100% !important;
    height: auto;
}

.carousel-caption {
    position: absolute;
    left: 0;
    transform: translate(0, 0);
    padding: auto;
}

.mobileHeight {
    height: 75vh;
}

.carousel-item img {
    max-height: 75vh;
    width: 100%;
    object-fit: cover; /* Dostosowuje obraz do kontenera */
}

.custom-rounded {
    border-radius: 4rem;
}
    
.custom-rounded-top {
    border-top-left-radius: 4rem;
    border-top-right-radius: 4rem;
}

.bg-kontakt {
    border-radius: 4rem;
}

form > label::placeholder, input, select{
    font-size: 1.2rem !important;
}
.vh-75 {
    height: 100vh;
}
.custom-leaflet-popup .leaflet-popup-content-wrapper {
    border-radius: 20px; /* Zaokrąglone rogi */
    max-width: 360px; /* Maksymalna szerokość chmurki */
    width: 360px; /* Ustala szerokość chmurki na 100% kontenera */
}

.modal-fullscreen .modal-content {
    border-radius: 20px;
    width: 95vw;
}
/************************************************** UNIVERSAL ***********************************************/
    .cookie-alert {
        right: 0rem;
        bottom: -1rem
    }
/************************************************** HOME ***********************************************/
    
}


/***************************************************************************************************************************/
/**************************************************** TABLET ***************************************************************/
/***************************************************************************************************************************/

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .carousel-caption {
        left: 50%;
        right: auto;
        width: 90%;
        max-width: 90%;
        transform: translate(-50%, 0%);
    }

    .carousel-caption h1.display-big {
        font-size: calc(1.6rem + 4vw) !important;
    }

    .carousel-caption h2 {
        font-size: calc(1.275rem + .3vw) !important;
    }

    /* Bootstrapowe fs-1/fs-2/fs-3 mają stały rozmiar – skalujemy je na tablecie */
    .fs-1 { font-size: 1.9rem !important; }
    .fs-2 { font-size: 1.5rem !important; }
    .fs-3 { font-size: 1.3rem !important; }

    /* Hero nie przycina treści (np. w orientacji poziomej) */
    .mobileHeight {
        height: auto;
        min-height: 75vh;
    }

    .vh-75 {
        height: auto;
        min-height: 75vh;
    }

    .carousel-item img {
        height: 100%;
        max-height: 85vh;
        width: 100%;
        object-fit: cover;
    }

    /* Mniejsze odstępy pionowe sekcji na tablecie */
    .py-md-7 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    .p-md-7  { padding: 3rem !important; }
    .p-md-6  { padding: 2.5rem !important; }
    .mt-md-7 { margin-top: 3rem !important; }

    /* Wskaźniki karuzeli nie powodują poziomego przewijania */
    .custom-carousel-indicators {
        margin-right: 0;
    }
    .custom-carousel-indicators [data-bs-target] {
        width: 100% !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) { 

}