/* Styles */

/* Front page - Global color change */

:root {
    --color-1: #default-value;
    --color-3: #default-value;
    --color-4: #default-value;
}

a{
    color: var(--color-1);
}

html{
    overflow-x: hidden;
}

/* Global Elements */*[id] {
    scroll-margin-top: 110px;
}

blockquote{
    border-left: 5px solid #bfbfbf !important;
}

/* Menu */

.homepage-menu svg {
    fill: var(--color-4);
    position: relative;
    top: 3px;
    width: 18px;
    height: 18px;
}

@media(min-width: 1024px) {
    .main-navigation .main-nav > ul > li:first-child {
        padding-left: 10px;
    }
}

.main-navigation {
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,.2);
}

.main-navigation{
    background-color: var(--color-1) !important;
}

.main-navigation .main-nav ul li a{
    color: var(--color-4) !important;
}

.main-navigation .main-nav ul li a:hover{
    color: var(--color-1) !important;
    background-color: var(--color-3) !important;
}

.main-navigation .main-nav ul li a:focus{
    color: var(--color-1) !important;
    background-color: var(--color-3) !important;
}

@media (min-width: 769px){
    .main-navigation .main-nav ul li[class*="current-menu-"] > a{
        color: var(--color-1) !important;
        background-color: var(--color-3) !important;
    }
    .main-navigation .main-nav ul li[class*="current-menu-"] > a svg{
        fill: var(--color-1) !important;
    }
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a{
    color: var(--color-1) !important;
    background-color: var(--color-3) !important;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a svg{
    fill: var(--color-1) !important;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a:active svg,
.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a:focus svg {
    fill: var(--color-1) !important;
}

.main-navigation ul{
    background-color: var(--color-1) !important;
}

.header-icons-container svg{
    fill: var(--color-1) !important;
}

.search-icon-top{
    background-color: #ffffff !important;
}

@media (min-width: 769px){
    .header-icons-container{
        margin-left: auto;
    }

    .header-icons-container a{
        display: inline-flex;
        align-items: center;
        width: 50px;
        height: 50px;
        font-size: 30px;
        padding: 15px 0 15px 11px;
    }
    .header-icons-container .social-icons-facebook{
        padding-left: 16px;
    }
    .search-icon-top {
        width: 50px;
        height: 50px;
        font-size: 28px;
        position: relative;
        top: 6px;
    }
    .search-icon-top{
        padding: 5px 0px 0px 2px;
    }
}

.search-wrapper {
    position: relative;
    display: inline-block;
}

.custom-search-form {
    position: absolute;
    right: 0;
    top: 50px;
    width: 250px;
    z-index: 100;
}

@media (max-width: 768px){
    .custom-search-form {
        top: 46px;
    }
}

.custom-search-form input{
    border-radius: 0px !important;
}

.custom-search-form input[type="text"] {
    width: 70%;
    border: 1px solid #bfbfbf;
    padding: 5px;
}

.custom-search-form input[type="submit"] {
    width: 30%;
    border: 1px solid #bfbfbf;
    padding: 5px;
    background: #bfbfbf;
    color: #ffffff;
    cursor: pointer;
}

.custom-search-form input[type="submit"]:hover,
.custom-search-form input[type="submit"]:active,
.custom-search-form input[type="submit"]:focus{
    background: #e0e0e0;
}

.custom-search-form:empty {
    display: block;
}

/* Menu - Imagify FIX */
@media (min-width: 769px) {
    .site-logo {
        width: 290px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .site-logo {
        width: 200px;
    }
}

/* Menu - Mobile */
.site-logo.mobile-header-logo img {
    height: 60px !important;
    padding-left: 6px !important;
}

@media (max-width: 768px){
    .header-icons-container a{
        display: inline-block !important;
        width: 30px;
        height: 30px;
        padding: 5px 10px 10px 8px;
    }
    .search-icon-top{
        padding: 0px 5px 0px 5px;
        position: relative;
        top: 3px;
    }
    .header-icons-container .social-icons-facebook svg,
    .header-icons-container .social-icons-contact svg{
        width: 18px;
        height: 18px;
    }
    .header-icons-container .social-icons-contact svg{
        position: relative;
        top: 1px;
    }
}

@media (max-width: 768px){
    .main-navigation .menu-toggle{
        width: 100%;
    }
}

#mobile-header{
    background-color: #ffffff !important;
}

#mobile-header .menu-toggle{
    padding-left: 8px;
    color: var(--color-1);
    padding-right: 15px !important;
}

#mobile-header .menu-toggle svg{
    width: 18px;
    height: 18px;
    top: 4px;
}

/* Menu - paragraphs elements */
.main-navigation p{
    color: var(--color-4);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 15px;
    display: block;
    text-decoration: none;
    margin-bottom: 0px;
}

.main-navigation .main-nav ul li p{
    padding-left: 10px;
    padding-right: 10px;
    line-height: 45px;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > p{
    color: var(--color-1) !important;
    background-color: var(--color-3) !important;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > p {
    color: var(--color-1) !important;
    background-color: var(--color-3) !important;
}

.menu-item-has-children .dropdown-menu-toggle{
    padding-right: 0px !important;
}

.drop-down-p,
.menu-p{
    cursor: pointer;
}

/* 0 search results - Search */

.search-form-custom input[type="submit"] {
    position: relative;
    left: -3px;
    border: 1px solid #bfbfbf;
    background: #bfbfbf;
    color: #ffffff;
}

.search-form-custom input[type="submit"]:hover,
.search-form-custom input[type="submit"]:active,
.search-form-custom input[type="submit"]:focus{
    background: #e0e0e0;
}

/* Ranking */
.element-with-l-border {
    position: relative;
    margin-bottom: 40px;
    background: #FCFCFC ;
}

.element-with-l-border::before,
.element-with-l-border::after,
.element-with-l-border .content::before,
.element-with-l-border .content::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    border-style: solid;
    border-width: 3px;
}

.element-with-l-border::before {
    top: 0;
    left: 0;
    border-color: black transparent transparent black;
}

.element-with-l-border::after {
    top: 0;
    right: 0;
    border-color: black black transparent transparent;
}

.element-with-l-border .content {
    padding: 25px 20px 20px 20px;
}

.element-with-l-border .content::before {
    bottom: 0;
    left: 0;
    border-color: transparent transparent black black;
}

.element-with-l-border .content::after {
    bottom: 0;
    right: 0;
    border-color: transparent black black transparent;
}

.local-ranking-map{
    width: 100%;
    height: 220px;
    z-index: 0;
}

@media (max-width: 1024px){
    .local-ranking-map{
        height: 200px;
    }
}

@media (max-width: 767px){
    .local-ranking-map{
        height: 180px;
    }
}

.summary-ranking{
    padding: 40px 0px 10px 0px;
    text-align: center;
}

.summary-ranking .ranking-trophy{
    text-align: center;
    font-size: 19px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
}

.summary-ranking .ranking-trophy svg{
    margin-right: 15px;
    width: 28px;
    height: 28px;
}

.summary-ranking .ranking-trophy-p{
    font-size: 16px;
}

.summary-ranking .ranking-rating{
    font-size: 16px;
    font-weight: 600;
}

.summary-ranking .rating-container svg{
    padding-right: 2px;
    width: 25px;
    height: 25px;
}

@media (max-width: 1024px){
    .summary-ranking .rating-container svg{
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 767px){
    .summary-ranking .rating-container svg{
        width: 22px;
        height: 22px;
    }
}

.summary-ranking .rating-container svg:last-child{
    padding-right: 0px;
}

.ranking-lokalizacja svg,
.ranking-telefon svg,
.ranking-liczba-opinii svg,
.ranking-ocena svg,
.ranking-aktualizacja svg,
.ranking-godziny-otwarcia svg,
.open-hours svg,
.ranking-google-profile svg,
.ranking-website-profile svg{
    position: relative;
    top: 2px;
    width: 22px;
    height: 18px;
    margin-right: 6px;
}

.ranking-lokalizacja span,
.ranking-telefon span,
.ranking-liczba-opinii span,
.ranking-ocena span,
.ranking-aktualizacja span,
.ranking-godziny-otwarcia span,
.ranking-google-profile span,
.ranking-website-profile span{
    font-weight: 700;
}

.ranking-liczba-opinii .liczba-opinii-google-tooltip {
    display: inline;
    cursor: pointer;
}

.ranking-liczba-opinii .liczba-opinii-google-tooltip .info-icon-svg {
    padding-left: 2px;
    display: inline-block;
    width: 20px;
    height: 20px;
    fill: var(--color-1);
    cursor: pointer;
    position: relative;
    top: -4px;
    margin-right: 0px !important;
}

.liczba-opinii-label {
    font-weight: 700;
}

.ranking-liczba-opinii .liczba-opinii-google-tooltip {
    font-weight: normal;
}

.company-details-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin: 20px 0;
}

.company-details-left-column,
.company-details-right-column {
    display: flex;
    flex-direction: column;
}

.customer-feedback-section p {
    display: inline-block;
    cursor: pointer;
    margin-bottom: 12px;
}

.customer-feedback-section .customer-feedback-tooltip{
    font-weight: 700;
}
.customer-feedback-section .customer-feedback-tooltip svg{
    display: inline-block;
}

.ranking-google-profile {
    display: inline-block;
    align-items: center;
    gap: 8px;
}

.ranking-google-profile svg,
.ranking-google-profile span,
.ranking-google-profile .google-profile-button {
    display: inline-block;
    vertical-align: middle;
}

.ranking-website-profile {
    display: inline-block;
    align-items: center;
    gap: 8px;
}

.ranking-website-profile svg,
.ranking-website-profile span,
.ranking-website-profile .website-profile-button,
.ranking-website-profile .website-link-display {
    display: inline-block;
    vertical-align: middle;
}

.ranking-website-profile svg {
    top: 0px;
}

.ranking-website-profile a{
    margin-left: -5px;
}

.ranking-telefon,
.ranking-google-profile,
.ranking-website-profile {
    display: inline-block;
    align-items: center;
    gap: 8px;
    line-height: 30px;
}

.ranking-telefon svg,
.ranking-telefon span,
.ranking-telefon .phone-profile-button,
.ranking-telefon .phone-number-display {
    display: inline-block;
    vertical-align: middle;
}

.ranking-google-profile svg,
.ranking-google-profile span,
.ranking-google-profile .google-profile-button {
    display: inline-block;
    vertical-align: middle;
}

.ranking-website-profile svg,
.ranking-website-profile span,
.ranking-website-profile .website-profile-button,
.ranking-website-profile .website-link-display {
    display: inline-block;
    vertical-align: middle;
}

.ranking-google-profile svg {
    top: 2px;
}

.ranking-telefon svg {
    top: -1px;
}

.ranking-telefon span {
    margin-right: 5px;
}

.ranking-website-profile span {
    margin-right: 30px;
}

.ranking-google-profile span {
    margin-right: 25px;
}

.ranking-telefon a{
    margin-left: -5px;
}

.google-profile-button,
.website-profile-button,
.phone-profile-button {
    vertical-align: middle;
    position: relative;
}

.phone-number-display,
.website-link-display {
    margin-left: 5px;
}

.phone-number-display:not([style*="display:none"]),
.website-link-display:not([style*="display:none"]) {
    display: inline-block !important;
}

.ranking-google-profile svg{
    top: 0px;
}

.ranking-pricing {
    display: flex;
    align-items: center;
}

.ranking-pricing svg {
    margin-right: 8px;
    flex-shrink: 0;
}

.ranking-pricing span {
    margin-right: 8px;
    font-weight: 700;
}

.google-profile-button,
.website-profile-button,
.phone-profile-button {
    background-color: var(--color-1);
    color: var(--color-4);
    border: none;
    padding: 5px 10px;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    font-weight: 700;
    display: inline-block;
}

.google-profile-button:hover,
.website-profile-button:hover,
.phone-profile-button:hover,
.google-profile-button:active,
.website-profile-button:active,
.phone-profile-button:active,
.google-profile-button:focus,
.website-profile-button:focus,
.phone-profile-button:focus {
    background-color: var(--color-1);
    color: var(--color-4);
}

@media (max-width: 768px) {
    .ranking-google-profile {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .google-profile-button {
        align-self: flex-start;
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .company-details-two-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

.open-hours p {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
}

.open-hours svg{
    top: 0px !important;
}

.open-hours p .accordion-arrow {
    width: 20px;
    height: 20px;
    background: var(--color-1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

@media screen and (min-width: 940px) {
    .open-hours p .accordion-arrow {
        margin-left: 65px;
    }
}

@media screen and (min-width: 768px) and (max-width: 940px) {
    .open-hours p .accordion-arrow {
        margin-left: 10px;
    }
}

@media screen and (max-width: 768px) {
    .open-hours p .accordion-arrow {
        margin-left: 65px;
    }
}

.open-hours p .accordion-arrow::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid var(--color-4);
    transition: transform 0.3s ease;
}

.open-hours.opened p .accordion-arrow::after {
    transform: rotate(180deg);
}

.open-hours ul {
    margin: 0px 0 18px 26px;
    padding: 0;
    list-style: none;
    max-height: none;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.open-hours.opened ul {
    max-height: 300px;
}

.open-hours li {
    margin: 4px 0;
    font-size: 12px;
    list-style: none;
    position: relative;
    padding-left: 0;
}

.open-hours li::before {
    display: none;
}

.open-hours:not(.opened) li:nth-child(n+3) {
    display: none;
}

.open-hours.opened li {
    display: block;
}

.open-hours li::before {
    background-size: 10px 10px !important;
    width: 10px !important;
    height: 10px !important;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    padding-right: 18px !important;
    margin-left: 0px !important;
    vertical-align: middle !important;
}

.ranking-ocena,
.ranking-liczba-opinii,
.ranking-lokalizacja{
    margin-bottom: 20px !important;
}

.ranking-google-profile,
.ranking-website-profile,
.ranking-telefon{
    margin-bottom: 15px !important;
}

/* Ranking - TABELA - Desktop */
#rankingTable thead th{
    background: #f5f5f5;
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 17px;
}

#rankingTable:before{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

#rankingTable tbody{
    text-align: center;
}

#rankingTable tbody td {
    padding: 20px 0;
}

#rankingTable {
    position: relative;
    border: none;
    border-collapse: collapse;
}

#rankingTable th, #rankingTable td {
    border: none;
}

#rankingTable thead tr:first-child {
    border-bottom: 2px solid #bfbfbf;
}

#rankingTable tr td {
    border-bottom: 1px solid #bfbfbf;
}

#rankingTable tr:hover td {
    border-bottom: 1px solid var(--color-1);
    background-color: #fafafa;
}

#rankingTable .ranking-rating{
    display: flex;
    gap: 2px;
}

#rankingTable .ranking-rating svg{
    width: 18px !important;
    height: 18px !important;
}

#rankingTable .ranking-table-button,
.responsive-ranking-table .ranking-table-button{
    padding: 10px 20px !important;
    background-color: var(--color-1);
    color: var(--color-4);
    font-weight: 700;
}

#rankingTable .ranking-table-button:hover,
#rankingTable .ranking-table-button:active,
#rankingTable .ranking-table-button:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

#rankingTable th svg{
    width: 20px;
    height: 16px;
    margin-right: 5px;
    position: relative;
    top: 1px;
}

#rankingTable th,
#rankingTable td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#rankingTable th:nth-child(2),
#rankingTable td:nth-child(2) {
    white-space: normal;
    word-wrap: break-word;
}

#rankingTable tr th{
    padding-right: 20px;
}

#rankingTable tr th:last-child{
    padding-right: 20px;
}

#rankingTable tr th:first-child{
    padding-left: 20px;
}

#rankingTable tbody tr td{
    padding-right: 20px;
}

#rankingTable tbody tr td:last-child{
    padding-right: 10px;
}

#rankingTable tbody tr td:first-child{
    padding-left: 10px;
}

/* Ranking - TABELA - Mobile */

.responsive-ranking-table-container{
    margin-top: -30px;
    border: none;
}

.ranking-table-container .responsive-ranking-table th{
    width: 40%;
    text-align: left;
    background-color: #f5f5f5;
}

.ranking-table-container .responsive-ranking-table td{
    width: 60%;
    text-align: center;
}

.ranking-table-container .responsive-ranking-table td:hover{
    background-color: #fafafa;
}

.ranking-table-container .responsive-ranking-table th svg{
    width: 20px;
    height: 16px;
    margin-right: 5px;
    position: relative;
    top: 1px;
}

.ranking-table-container .responsive-ranking-table td svg{
    width: 18px;
    height: 18px;
}

.ranking-table-container .responsive-ranking-table{
    border: 1px solid #bfbfbf;
    border-bottom: none;
    margin-top: 30px;
}

.ranking-table-container .responsive-ranking-table tr td,
.ranking-table-container .responsive-ranking-table tr th{
    border: none;
    border-bottom: 1px solid #bfbfbf;
}

.ranking-table-container .responsive-ranking-table tr td,
.ranking-table-container .responsive-ranking-table tr th{
    border: none;
    border-bottom: 1px solid #bfbfbf;
    padding: 15px;
}

.ranking-table-container .responsive-ranking-table tr td{
    border-left: 1px solid #bfbfbf;
}

table.responsive-ranking-table{
    position: relative;
}

table.responsive-ranking-table:before{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

@media (max-width: 499px){
    .responsive-ranking-table tr th,
    .responsive-ranking-table tr td{
        padding: 15px 8px !important;
    }
    .ranking-table-container .responsive-ranking-table td svg{
        width: 16px !important;
        height: 16px !important;
    }
}

/* Ranking banner */
.ranking-banner{
    background: #f5f5f5;
    padding: 25px 35px 5px 35px;
    margin-bottom: 20px;
    position: relative;
}

.ranking-banner:before
{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}


.ranking-banner-bold{
    font-weight: 700;
    font-size: 20px;
}
@media screen and (max-width: 767px){
    .ranking-banner-bold{
        font-size: 18px;
    }
}

/* Mapka */
.leaflet-control-zoom {
    display: none;
}

.leaflet-control-attribution{
    display: flex;
 }

.leaflet-control-attribution .openstreetmap-copy{
    cursor: pointer;
    margin-bottom: 0px;
    margin-left: 5px;
    color: var(--color-1);
}

.leaflet-control-attribution .leaflet-link{
    margin-right: 5px;
    cursor: pointer;
    margin-bottom: 0px;
    color: var(--color-1);
}

.leaflet-zoom-animated {
    filter: grayscale(1);
}
.leaflet-marker-icon {
    filter: grayscale(0) !important;
}

#weather-map .leaflet-zoom-animated,
#rainviewer-map .leaflet-zoom-animated {
    filter: none !important;
}

/* Pogoda */

.weather-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.weather-info {
    flex: 1;
    min-width: 300px;
    box-sizing: border-box;
}

.weather-map-current-time {
    color: var(--color-1);
    margin-bottom: 0px;
}

.weather-map-city-name{
    font-size: 25px;
    font-weight: 700;
}

.source-openweathermap{
    margin-bottom: 5px;
    font-size: 12px;
}

.openweather-source,
.gios-source{
    cursor: pointer;
    color: var(--color-1);
    font-weight: 700;
}

.weather-map-temperature-container{
    display: flex;
    align-items: center;
}

.weather-image{
    width: 50px;
    height: 50px;
}

.weather-image-deg{
    font-size: 36px;
    margin-bottom: 0px;
    margin-left: 10px;
}

.weather-text{
    font-weight: 700;
}

.weather-features-container{
    display: flex;
    flex-wrap: wrap;
}

.weather-info-features-column-1{
    flex: 1;
    min-width: 50%;
}

.weather-info-features-column-2{
    flex: 1;
    min-width: 47%;
    margin-left: 10px;
}

.weather-features-text{
    display: flex;
    align-items: center;
    margin-bottom: 0px;
}

.weather-features-container svg{
    width: 50px;
    height: 50px;
    margin-right: 8px;
}

.weather-map-container {
    flex: 1;
    min-width: 300px;
    box-sizing: border-box;
}

#weather-map {
    width: 100%;
    height: 320px;
    z-index: 0;
}


@media (max-width: 990px) {
    .weather-map-container {
        margin-top: 30px;
        flex-basis: 100%;
    }
    .weather-info{
        min-width: 200px;
    }
}

@media (max-width: 450px){
    .weather-info-features-column-1{
        min-width: 100% !important;
    }
    .weather-info-features-column-2{
        min-width: 100% !important;
        margin-left: 0px !important;
    }
}


.forecast-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #bfbfbf;
    width: 100%;
    margin: 0;
    padding: 5px 0px;
}

.forecast-item:last-child {
    border-bottom: none;
}

@media (min-width: 500px){
    .forecast-item > div {
        flex: 1;
    }
}

.forecast-item > div {
    padding: 0px 5px;
}

.weather-icon-container {
    display: flex;
    align-items: center;
}

.weather-icon-container svg {
    width: 50px;
    height: 50px;
    position: relative;
}

.weather-icon-container p {
    margin-left: 8px;
    margin-right: 8px;
    margin-bottom: 0px;
}

.forecast-item p {
    margin-bottom: 0px;
}

@media (max-width: 499px) {
    .weather-date-container, .weather-icon-container {
        flex: 1;
    }
    .weather-description-container {
        width: 100%;
    }
    .forecast-item{
        padding-bottom: 18px;
    }
}

#rainviewer-map{
    height: 500px;
    z-index: 0;
}

@media screen and (max-width:996px) {
    #rainviewer-map {
        height: 320px;
    }
}

.legenda-title{
    font-size:12px;
    margin-top:20px;
    font-weight: 600;
    margin-bottom: 5px;
}

.hr-container {
    height: 20px;
    background-color: #ffffff;
}

@media screen and (max-width:996px) {
    .hr-container {
        height: 5px;
    }
}

/* Job offers || Kamery || Ogłoszenia*/

.job-search-container,
.kamery-container,
.ogloszenia-container{
    padding: 30px 30px 30px 30px;
    background-color: #f5f5f5;
    position: relative;
}

.job-search-container:before,
.kamery-container:before,
.ogloszenia-container:before
{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.kamery-preview-text{
    margin-top: 20px;
    margin-bottom: 0px;
    font-style: italic;
    font-size: 14px;
}

.job-search-input {
    background-color: #ffffff !important;
    width: 300px;
}

.job-search-submit{
    margin-top: 20px;
    font-weight: 700;
    padding: 6px 20px 6px 20px !important;
    background-color: var(--color-1) !important;
    color: var(--color-4) !important;
    border-radius: 0px !important;
}

.job-offers-h2-container{
    padding: 30px 30px 30px 30px;
}

.job-results{
    margin-top: 20px;
}

.job-results-bold{
    font-weight: 700;
}

.job-results .job-offer-add-button{
    display: flex;
    margin-bottom: 15px;
}

.job-offer-sponsored-container{
    border: 1px solid var(--color-1);
}

.job-offer-sponsored-container .job:first-child{
    padding-top: 60px !important;
}


.job-offer-sponsored-container:before{
    content: "Oferty promowane";
    background-color: var(--color-1);
    color: var(--color-4);
    position: absolute;
    padding: 5px 10px;
    font-size: 14px;
}

.job-offer-sponsored-container .job-offers-hr:last-child {
    display: none;
}

.info-icon-job-offers{
    padding-right: 5px;
    font-style: italic;
    font-size: 12px;
    margin-top: -15px;
    margin-bottom: 2px;
}

.info-icon-job-offers .info-icon-svg{
    top: 5px;
    padding-left: 4px;
    left: -4px;
}



.job {
    z-index: 5;
    padding: 30px 30px 30px 30px;
}

.job:hover {
    background-color: #fafafa;
}

.job p {
    margin-bottom: 10px;
}

.job-title,
.job-title-normal{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--color-1);
    cursor: pointer;
}

.job-title:hover,
.job-title-normal:hover,
.job-title-normal-homepage:hover{
    text-decoration: underline;
}

.job-company{
    display: flex;
    align-items: center;
    font-weight: 700;
}

.job-company-image{
    margin-right: 8px;
    width: 20px;
    height: 20px;
}

.job-locations{
    display: flex;
    align-items: center;
    font-weight: 700;
}

.job-locations-image{
    margin-right: 8px;
    width: 20px;
    height: 20px;
}

.job-salary{
    display: flex;
    align-items: center;
    font-weight: 700;
}

.job-salary-image{
    margin-right: 8px;
    width: 20px;
    height: 20px;
}

.job-date {
    display: inline-block;
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: #e0e0e0;
}

.job-apply,
.job-apply-normal{
    display: inline-block;
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: var(--color-1);
    color: var(--color-4) !important;
    cursor: pointer;
}

.job-apply:hover,
.job-apply:active,
.job-apply:focus,
.job-apply-normal:hover,
.job-apply-normal:active,
.job-apply-normal:focus{
    background-color: var(--color-1) !important;
    color: var(--color-4) !important;
}

.job-offers-hr {
    border: 0;
    height: 1px;
    background: #bfbfbf;
    margin: 0;
}

.job:hover + .job-offers-hr {
    background: var(--color-1);
}

.job-source-data-svg {
    fill: #2062af;
    width: 55px;
    position: relative;
    top: 4px;
    padding-right: 2px;
}


.job-pagination {
    text-align: center;
    margin: 40px 0px 0px 0px;
}

.job-pagination p {
    display: inline-block;
    padding: 5px 10px;
    cursor: pointer;
}

.job-pagination p:hover {
    background-color: #fafafa;
    color: var(--color-1);
}


.job-pagination p.job-current-page {
    color: var(--color-1);
    font-weight: 700;
}

.job-pagination-next-previous {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.job-next-page, .job-previous-page{
    padding: 10px 20px !important;
    background-color: var(--color-1);
    color: var(--color-4);
    cursor: pointer;
    font-weight: 700;
}

.job-next-page:hover, .job-previous-page:hover{
    background-color: var(--color-1);
    color: var(--color-4);
}

.job-next-page:focus, .job-previous-page:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

.ogloszenia-container{
    margin-bottom: 50px;
}

.ogloszenie-single{
    z-index: 5;
    padding: 30px 10px 30px 10px;
    display: flex;
    column-gap: 40px;
}

.ogloszenie-single:hover{
    background-color: #fafafa;
}

.ogloszenie-single-image img {
    display: block;
}

.ogloszenie-single-image,
.ogloszenie-single-details{
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ogloszenie-single-content{
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ogloszenie-single-title{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--color-1);
    cursor: pointer;
}

.ogloszenie-single-title:hover{
    text-decoration: underline;
}

.ogloszenie-single-date-location p{
    margin-bottom: 0px;
}

.ogloszenie-single-date-location .button-ogloszenia{
    display: inline-block;
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: var(--color-1);
    color: var(--color-4) !important;
}

.ogloszenie-single-date-location .ogloszenia-details{
    margin-bottom: 10px;

}

.ogloszenie-single-date-location .button-ogloszenia:hover,
.ogloszenie-single-date-location .button-ogloszenia:focus,
.ogloszenie-single-date-location .button-ogloszenia:active{
    background-color: var(--color-1);
}

.ogloszenie-single-date-location .ogloszenie-single-location{
    margin-top: 0px;
    display: inline-block;
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: #e0e0e0;
}

.ogloszenie-single-price span{
    font-weight: 700;
}

.ogloszenie-single-category span,
.ogloszenie-single-condition span{
    padding: 2px 12px 4px 12px;
    font-weight: 700;
    background-color: #e0e0e0;
    white-space: nowrap;
}

.ogloszenie-single-condition{
    margin-bottom: 0px;
}

.ogloszenie-single-category,
.ogloszenie-single-condition{
    line-height: 25px;
}

.ogloszenie-single-hr{
    border: 0;
    height: 1px;
    background: #bfbfbf;
    margin: 0;
}

.ogloszenie-single:hover + .ogloszenie-single-hr {
    background: var(--color-1);
}

@media screen and (max-width: 750px) {

    .ogloszenie-single{
        column-gap: 20px;
    }

    .ogloszenie-single-location{
        margin-top: 20px;
    }

    .ogloszenie-single-category,
    .ogloszenie-single-condition{
        font-size: 14px;
    }
}

@media screen and (max-width: 640px) {

    .ogloszenie-single {
        flex-wrap: wrap;
    }

    .ogloszenie-single-image{
        width: 100%;
    }

    .ogloszenie-single-content{
        width: 70%;
    }

    .ogloszenie-single-details{
        width: 22%;
    }

    .ogloszenie-single-content,
    .ogloszenie-single-details{
        padding-top: 20px;
    }

    .ogloszenie-single-image,
    .ogloszenie-single-details{
        justify-content: start;
    }
}

@media screen and (max-width: 560px) {
    .ogloszenie-single-content{
        width: 60%;
    }

    .ogloszenie-single-details{
        width: 34%;
    }
}

@media screen and (max-width: 450px) {
    .ogloszenie-single-content{
        width: 55%;
    }

    .ogloszenie-single-details{
        width: 35%;
    }
}

/* Custom post type - Praca */

.entry-header .info-icon-job-offers{
    font-size: 14px;
    margin-top: 5px;
}

.job-offers-single-tooltip p{
    margin-bottom: 0px;
}

.oferta-pracy-firma{
    margin-top: -10px;
    margin-bottom: 20px;
}

.oferta-pracy-details p{
    margin-right: 15px;
}

.oferta-pracy-details{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0px;
}

.oferty-pracy-lokalizacja,
.oferty-pracy-wynagrodzenie,
.oferty-pracy-typ-umowy,
.oferty-pracy-wymiar-czasu-pracy{
    display: flex;
    align-items: center;
    fill: var(--color-1);
    margin-bottom: 0px;
    font-weight: 700;
}

.job-typ-umowy-image,
.job-wymiar-czasu-image{
    margin-right: 8px;
}

.oferta-pracy-details-meta{
    margin-top: 25px;
}

.oferta-pracy-details-meta p{
    margin-right: 20px;
}


.sticky-container-praca{
    margin-top: 77px;
    background-color: #f5f5f5;
    padding: 30px 20px;
}

@media screen and (max-width: 768px){
    .sticky-container-praca{
        margin: 0px 15px 0px 15px;
    }
}

.oferty-pracy-stanowisko{
    font-weight: 700;
    font-size: 20px;
}

.oferty-pracy-stanowisko svg{
    fill: var(--color-1);
    margin-bottom: -3px;
}

@media screen and (max-width: 767px) {
    .oferty-pracy-stanowisko {
        font-size: 18px;
    }
}

.oferty-pracy-wygasanie-widget{
    display: inline-block;
    font-weight: 700;
}

.oferty-pracy-wygasanie-widget svg{
    margin-right: 5px;
    margin-bottom: -3px;
    fill: var(--color-1);
}

.oferty-pracy-stanowisko svg{
    margin-right: 8px;
}

.praca-widget-button-cta{
    width: 100%;
    padding: 15px 20px !important;
    font-size: 22px !important;
}

@media screen and (max-width: 767px) {
    .praca-widget-button-cta{
        font-size: 18px !important;
    }
}

.praca-widget-button-phone{
    width: 100%;
    opacity: 0.7;
    margin-bottom: 25px !important;
}

.praca-widget-button-phone svg{
    fill: var(--color-4);
    rotate: 20deg;
    margin-bottom: -4px;
    margin-right: 5px;
}

.content-separator-widget-praca{
    background-color: #bfbfbf;
    margin-top: 5px;
    margin-bottom: 20px;
}

.oferty-pracy-oferty-pracodawcy{
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 1em;
}

.oferta-pracy-widget{
    margin-bottom: 10px;
}

.oferta-pracy-widget-firma,
.oferta-pracy-widget-lokalizacja{
    margin-bottom: 0px;
    font-size: 14px;
}

.job-locations-image-widget{
    width: 16px;
    height: 16px;
    margin-right: 5px;
    fill: var(--color-1);
}

.oferta-pracy-widget-lokalizacja{
    display: flex;
    align-items: center;
}

.oferta-pracy-bottom-container-main{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.oferta-pracy-bottom-container-2{
    display: flex;
    align-items: center;
    column-gap: 20px;
    margin-bottom: -15px;
}

.oferta-pracy-bottom-container-2 p{
    margin-bottom: 0px;
    font-size: 17px;
    font-weight: 700;
}
.oferta-pracy-bottom-container-2 .scriptlesssocialsharing{
    margin: 0px;
}

.praca-button-cta{
    padding: 15px 100px !important;
    margin-bottom: 20px !important;
}

.print-button-praca{
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: #e0e0e0;
    color: #222222;
    margin-top: 5px;
    margin-bottom: 10px;
}
.print-button-praca svg{
    margin: 0px 5px -2px 0px;
}

.print-button-praca:hover,
.print-button-praca:focus,
.print-button-praca:active{
    background-color: #e0e0e0;
    color: #222222;
}

/* Archive - Kategorie_firm */
.tax-kategorie_firm .category-firms-container {
    display: grid;
    gap: 0px 20px;
}

.tax-kategorie_firm .local-business-details {
    background: #f5f5f5;
    padding: 20px;
    margin-top: 20px;
}

.tax-kategorie_firm .local-business-title {
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 0px;
    gap: 15px;
}

.tax-kategorie_firm .local-business-title a {
    color: #222222;
}

.tax-kategorie_firm .local-business-title a:hover {
    color: var(--color-1);
}

.tax-kategorie_firm .business-svg-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 1025px) {
    .tax-kategorie_firm .category-firms-container {
        grid-template-columns: repeat(2, 1fr);
    }
    .tax-kategorie_firm .business-svg-icon,
    .tax-kategorie_firm .business-svg-icon svg {
        width: 45px;
        height: 45px;
    }
    .tax-kategorie_firm .local-business-title {
        font-size: 18px;
        flex-direction: row;
        text-align: left;
        gap: 20px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .tax-kategorie_firm .category-firms-container {
        grid-template-columns: repeat(2, 1fr);
    }
    .tax-kategorie_firm .business-svg-icon,
    .tax-kategorie_firm .business-svg-icon svg {
        width: 40px;
        height: 40px;
    }
    .tax-kategorie_firm .local-business-title {
        font-size: 17px;
        flex-direction: row;
        text-align: left;
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .tax-kategorie_firm .category-firms-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .tax-kategorie_firm .local-business-details {
        padding: 15px;
        margin-top: 10px;
    }
    .tax-kategorie_firm .business-svg-icon,
    .tax-kategorie_firm .business-svg-icon svg {
        width: 35px;
        height: 35px;
    }
    .tax-kategorie_firm .local-business-title {
        font-size: 16px;
    }
}

/* Page - Firmy */

h2.kategorie-firm{
    margin-top: 30px;
    margin-bottom: 30px;
}

.main-category-firmy{
    margin-bottom: 40px !important;
}

.main-category-firmy-container h3{
    display: inline;
}

.main-category-firmy-container h3, .main-category-firmy-container span{
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.main-category-firmy-container h3, .main-category-firmy-container h3 a{
    font-size: 18px;
    font-weight: 700;
    color: #222222;
    margin-right: 2px;
}

.main-category-firmy-container svg{
    margin-right: 8px;
    width: 20px;
    height: 18px;
    position: relative;
    top: 1px;
}

.main-category-firmy-container h3 a:hover{
    color: var(--color-1);
}

.main-category-firmy-counter{
    font-size: 18px;
    display: inline;
}

.category-posts-firmy {
    margin-top: 20px;
    margin-bottom: -5px;
}

p.post-item-firmy {
    margin-bottom: 10px;
    display: inline-flex;
}

.post-item-firmy a,
.post-item-firmy span {
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    margin-right: 15px;
    margin-bottom: 5px;
    border-style: solid;
    border-width: 1px;
    border-color: #222222;
    color: #222222;
}

.post-item-firmy a:hover {
    color: var(--color-4);
    background-color: var(--color-1);
    border-color: var(--color-1);
}

.description-firmy-post-type ul li{
    padding-bottom: 20px;
}

.firmy-regulamin{
    color: var(--color-1);
    cursor: pointer;
}

/* Page - Firmy Kategorie */
.kategorie-firmy-sidebar svg{
    position: relative;
    top: 2px;
    width: 20px;
    height: 18px;
}

.kategorie-firmy-sidebar p{
    font-weight: 700;
    font-size: 18px;
}

@media screen and (max-width: 1024px){
    .kategorie-firmy-sidebar svg{
        height: 17px;
    }

    .kategorie-firmy-sidebar p{
        font-size:17px;
    }
}


@media screen and (max-width: 767px){
    .kategorie-firmy-sidebar svg{
        height: 16px;
    }

    .kategorie-firmy-sidebar p{
        font-size:16px;
    }
}

.kategorie-firmy-sidebar:last-child p{
    margin-bottom: 0px;
}

.kategorie-firmy-sidebar p a{
    margin-left: 8px;
}

.category-ads-banner-container{
    margin-top: 50px;
    margin-bottom: 40px;
}

h2.category-business-counter-text{
    font-weight:700;
    font-size:28px;
}

@media screen and (max-width: 1024px){
    h2.category-business-counter-text{
        font-weight:700;
        font-size:24px;
    }
}

@media screen and (max-width: 767px){
    h2.category-business-counter-text{
        font-weight:700;
        font-size:20px;
    }
}

@media screen and (max-width: 500px){
    .gb-grid-wrapper > .gb-grid-column-07acf0c3{
        width: 100% !important;
    }
}

@media (max-width: 767px){
    .gb-grid-wrapper > .gb-grid-column-07acf0c3 {
        width: 50% !important;
    }
}

/* Firmy lokalne - banner - shortcode */
.banner-ads-container{
    padding: 30px 30px 45px 30px;
    background-color: #f5f5f5;
    position: relative;
}

.banner-ads-container-inner{
    display: flex;
    column-gap: 40px;
}

.single-firmy .banner-ads-container-inner{
    column-gap: 30px;
}

.banner-ads-text, .banner-ads-pros {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.post-type-archive-nekrologi .banner-ads-text {
    width: 100%;
}

.banner-ads-container:before
{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.banner-ads-title{
    font-weight: 700;
    font-size: 20px;
}

.banner-ads-button{
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--color-1);
    color: var(--color-4);
    font-weight: 700;
}

.banner-ads-buttons-container{
    margin-top: auto;
}

@media screen and (min-width: 850px) {
    .single-firmy .banner-ads-button {
        margin-top: 10px;
    }
}

.banner-ads-button:hover,
.banner-ads-button:active,
.banner-ads-button:focus{
    color: var(--color-4);
    background-color: var(--color-1);
}

.banner-pros-item svg, .banner-pros-item p{
    display: inline-block;
    vertical-align: middle;
}

.banner-pros-item {
    display: flex;
    align-items: start;
    margin-bottom: 10px;
}

.banner-pros-item:last-child {
    margin-bottom: 0px;
}

.banner-pros-item p {
    margin-bottom: 0px;
}

.banner-pros-item svg {
    fill: var(--color-1);
    margin-right: 5px;
    width: 20px;
    height: 18px;
    position: relative;
    top: 3px;
    flex-shrink: 0;
}

@media screen and (max-width: 600px) {
    .banner-ads-container-inner{
        flex-direction: column;
    }

    .banner-ads-text, .banner-ads-pros {
        width: 100%;
    }

    .banner-ads-title{
        font-size: 18px;
    }

    .banner-ads-pros{
        margin-top: 50px;
    }
}

@media screen and (max-width: 820px) {
    .single-firmy .banner-ads-container-inner,
    .tax-kategorie_firm .banner-ads-container-inner{
        flex-direction: column;
    }

    .single-firmy .banner-ads-text, .single-firmy .banner-ads-pros,
    .tax-kategorie_firm .banner-ads-text, .tax-kategorie_firm .banner-ads-pros{
        width: 100%;
    }

    .single-firmy .banner-ads-title,
    .tax-kategorie_firm .banner-ads-title{
        font-size: 18px;
    }

    .single-firmy .banner-ads-pros,
    .tax-kategorie_firm .banner-ads-pros{
        margin-top: 50px;
    }
}

/* Footer */
.firmy-footer-item {
    display: flex;
    align-items: start;
}

.display-firmy-footer{
    position: relative;
    top: -2px;
    color: var(--color-4);
}

.display-firmy-footer:hover{
    color: var(--color-4);
}

.firmy-footer-image svg{
    fill: var(--color-4);
    width: 15px;
    height: 15px;
    margin-right: 10px;
    flex-shrink: 0;
}

.firmy-footer-container {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0px;
}

.firmy-footer-container .firmy-footer-image {
    display: inline-block !important;
}

.firmy-footer-container .display-firmy-footer {
    display: inline-block !important;
}

@media (max-width: 1200px) {
    .firmy-footer-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .firmy-footer-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .firmy-footer-container {
        grid-template-columns: repeat(1, 1fr);
    }
}

.display-firmy-footer{
    padding-bottom: 10px;
}


.footer-social-media svg{
    color: var(--color-4);
}

.about-us-footer{
    color: var(--color-4);
}

.about-us-footer p{
    margin-bottom: 0px;
}

/* Footer - Latest Posts */

@media screen and (max-width: 890px){
    .latest-posts-list .latest-posts-list-li{
        float: none !important;
        margin-right: 0px;
    }
}

@media screen and (max-width: 767px){
    .latest-posts-list li {
        width: 100% !important;
    }
}

.latest-posts-list {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.latest-posts-list li {
    font-weight: 400;
    color: var(--color-4);
    display: flex;
    align-items: flex-start;
    width: 48%;
    box-sizing: border-box;
    margin-bottom: 10px;
}
.latest-posts-list li a{
    color: var(--color-4);
}

.latest-posts-list li a:hover,
.latest-posts-list li a:active,
.latest-posts-list li a:focus{
    color: var(--color-4);
}

.latest-posts-list svg {
    position: relative;
    top: 4px;
    height: 16px !important;
    width: 16px !important;
    fill: var(--color-4);
    margin-right: 10px;
    display: inline-block;
    flex-shrink: 0;
}

.footer-email-text{
    color: var(--color-4);
    word-break: break-all;
    margin-bottom: 0px;
}

/* Footer linki na JS */
.regulamin, .polityka-prywatnosci{
    margin-bottom: 0px;
    cursor: pointer;
}

.regulamin:hover, .polityka-prywatnosci:hover{
    color: #767676;
}

/* Spis Treści */

#table-of-contents-container{
    position: relative;
    padding: 30px 20px 30px 20px;
    background-color: #f5f5f5;
    display: inline-block;
    margin: 14px 0px 32px 0px;
}

#table-of-contents-container:before{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.table-of-contents-title{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .table-of-contents-title {
        font-size: 18px;
    }
}

.table-of-contents-item, .table-of-contents-subitem{
    padding: 5px 0;
    border-bottom: 1px solid #bfbfbf;
}

.table-of-contents-subitem{
    margin-left: 20px;
}

.table-of-contents-item a,
.table-of-contents-item a:hover,
.table-of-contents-item a:active,
.table-of-contents-item a:focus,
.table-of-contents-subitem a,
.table-of-contents-subitem a:hover,
.table-of-contents-subitem a:active,
.table-of-contents-subitem a:focus{
    color: var(--color-1);
}

.table-of-contents-item:last-child, .table-of-contents-subitem:last-child{
    border-bottom: none;
}

.toc-toggle::before {
    cursor: pointer;
    content: '\25B6';
    font-size: 14px;
    margin-right: 2px;
    color: #bfbfbf;
    display: inline-block;
    transition: transform 0.2s ease;
    transform-origin: center;
}

.table-of-contents-item.open .toc-toggle::before {
    transform: rotate(90deg);
}

.table-of-contents-subitems {
    display: none;
}

.table-of-contents-item.open .table-of-contents-subitems {
    display: block;
}


/* Breadcrumbs */
.rank-math-breadcrumb{
    font-size: 14px;
}

.rank-math-breadcrumb .separator{
    padding: 0px 5px 0px 5px;
    font-size: 14px;
    color: #bfbfbf;
}

.rank-math-breadcrumb div p{
    margin-bottom: 0px;
    display: inline;
}

.rank-math-breadcrumb div{
    margin-bottom: 1.5em;
}

/* Social Buttons */
.scriptlesssocialsharing__buttons .button{
    border: none !important;
    color: var(--color-1) !important;
    background-color: #fff !important;
}

.scriptlesssocialsharing__buttons svg{
    font-size: 30px;
}

@media screen and (min-width: 1025px){
    .social-icons-post-top {
        float:right;
    }
}

@media screen and (max-width: 1025px){
    .social-icons-post-top {
        margin-left: -12px;
    }
}

.social-icons-post-top svg{
    font-size: 25px;
}

/* Category Archive */
.category-description-below-container{
    margin-top: -10px;
    margin-bottom: 60px;
}

/* Post - new custom template */

.single-post-meta-top-container{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -20px;
}

.single-post-meta-top-inner-container-1{
    justify-content: center;
    display: flex;
    flex-direction: column;
}

.single-post-meta-top-inner-container-1,
.single-post-meta-top-inner-container-2{
    width: 50%;
}

.social-share-container-post{
    display: flex;
    align-items: center;
    column-gap: 20px;
    margin-top: -35px;
    margin-bottom: -35px;
}

.social-share-container-post-title{
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .single-post-meta-top-container{
        margin-top: 10px;
    }

    .single-post-meta-top-inner-container-1,
    .single-post-meta-top-inner-container-2{
        width: 100%;
    }

    .social-icons-post-top{
        margin-top: 10px;
    }
}

@media (max-width: 767px) {
    .social-share-container-post{
        margin-top: -10px;
        flex-direction: column;
        align-items: start;
    }
}

.sticky-container-post-list{
    margin-top: 77px;
    background-color: #f5f5f5;
    padding: 30px 20px 45px 20px;
}

.sidebar-post-title{
    font-weight: 700;
    font-size: 20px;
}

.custom-post-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.custom-post-sidebar-item {
    display: flex;
    align-items: center;
    row-gap: 20px;
}

.custom-post-sidebar-thumbnail {
    flex-shrink: 0;
    width: 105px;
    height: 65px;
    aspect-ratio: auto 1.5;
    overflow: hidden;
}

.custom-post-sidebar-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-post-sidebar-content {
    height: 100%;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.custom-post-sidebar-title {
    font-size: 16px;
    line-height: 18px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 0;
    color: #222222;
}

.custom-post-sidebar-title:hover {
    color: var(--color-1);
}

@media (max-width: 1024px) {
    .custom-post-sidebar-thumbnail {
        width: 78px;
        height: 48px;
    }
}

@media (max-width: 767px) {
    .sticky-container-post-list{
        margin-right: 15px;
        margin-left: 15px;
        padding-right: 30px;
        padding-left: 30px;
        margin-top: 20px
    }

    .custom-post-sidebar-thumbnail {
        width: 157px;
        height: 97px;
    }

    .sidebar-post-title{
        font-size: 18px;
    }
}

@media (max-width: 450px) {
    .custom-post-sidebar-thumbnail {
        width: 105px;
        height: 65px;
    }
}

@media (max-width: 360px) {
    .custom-post-sidebar-thumbnail {
        width: 78px;
        height: 48px;
    }
}

.wiadomosci-post-source{
    margin-top: 50px;
    font-size: 14px;
    font-weight: 700;
}

.wiadomosci-post-source span{
    font-weight: normal;
    color: var(--color-1);
    cursor: pointer;
}

/* Post */
.gb-container-df5dc3d1.inline-post-meta-area > .gb-inside-container{
    display: inline !important;
}

.post-date-container-meta{
    display: flex;
}

.post-date-meta{
    font-size:14px;
    color: #767676;
    margin-bottom: 0px;
    padding-right: 5px;
}

.post-date-meta-sponsored-article{
    margin-top: 10px;
    font-size:14px;
    color: #767676;
    margin-bottom: 0px;
    padding-right: 5px;
}

.post-meta-date{
    font-weight:700;
    font-size: 14px;
    color: #767676;
    margin-bottom: 0px;
    padding-right: 10px;
}

.post-date-bold{
    font-weight:700;
}

/* Author Info */
.author-info-container {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.author-image-container {
    margin-right: 10px;
}

.author-image,
.author-image img {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    max-width: 30px !important;
    max-height: 30px !important;
    display: block !important;
}

.author-name-container {
    flex: 1;
}

.author-name {
    color: #767676;
    font-size: 14px;
    margin: 0;
}

.author-name-bold {
    font-weight: 700;
}

.content-separator{
    background-color: #bfbfbf;
}

.content-separator-top{
    margin-top: 10px;
    background-color: #bfbfbf;
}

.content-separator-summary{
    margin-top: -35px;
    background-color: #bfbfbf;
}

.featured-image-post{
    margin-top: 45px;
    margin-bottom: 40px;
    width: 100%;
    padding-top: 59.8%;
    position: relative;
}

.featured-image-post img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-caption{
    position: relative;
    top: 15px;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 767px){
    .social-icons-post-bottom{
        position: relative;
        left: -15px;
    }
}

/* Custom post type 'przewodnik' */
/* Archive /przewodnik + homepage*/

.tourist-guide-categories-content .category-link{
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    padding: 10px 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    border-style: solid;
    border-width: 1px;
    border-color: var(--color-1);
    color: var(--color-1);
}

.tourist-guide-categories-content .category-link:hover{
    background-color: var(--color-1);
    border-color: var(--color-4);
    color: var(--color-4);
}

.category-post-image-container .category-label {
    position: absolute;
    bottom: 0px;
    right: 0px;
    background-color: var(--color-1);
    color: var(--color-4);
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 1;
}

.post-type-archive-ludzie .category-post-image-container,
.tax-ludzie_kategoria .category-post-image-container {
    padding-bottom: 50%;
}

.people-image-container{
    padding-bottom: 50%;
}

/* Post 'przewodnik' - Left Sidebar */
.przewodnik-left-sidebar{
    width: 23.5% !important;
}

.przewodnik-left-sidebar .sticky-container-post-list{
    padding: 30px 20px 30px 20px;
}

.is-left-sidebar .inside-left-sidebar a{
    font-size: 15px;
}

@media screen and (max-width: 999px){
    .przewodnik-left-sidebar {
        width: 100% !important;
        margin-bottom: 50px !important;
    }
    .przewodnik-left-sidebar .sticky-container-post-list{
        margin-top: 50px !important;
    }
}

@media screen and (max-width: 1314px){
    .przewodnik-left-sidebar {
        padding-left: 10px;
    }
}

@media (max-width: 768px) {
    .przewodnik-left-sidebar .sticky-container-post-list {
        margin-top: 60px !important;
        margin-right: 0px !important;
        margin-left: 0px !important;
    }
    .przewodnik-right-sidebar aside {
        margin-top: 50px !important;
    }
}

@media screen and (min-width: 969px){
    .toc-wrapper{
        overflow-y: auto;
        max-height: 500px;
    }
}

/* Post 'przewodnik' - Right Sidebar */

.przewodnik-right-sidebar{
    width: 30% !important;
    margin-left: -20px;
}

@media screen and (min-width: 997px){
    .przewodnik-right-sidebar {
        width: 23.5% !important;
    }
}

.przewodnik-right-sidebar aside{
    background-color: #f5f5f5;
    margin-top: 78px;
}

@media screen and (max-width: 1314px){
    .przewodnik-right-sidebar {
        padding-right: 10px;
    }
}

@media screen and (max-width: 781px){
    .przewodnik-right-sidebar {
        padding-right: 0px !important;
    }
}

@media screen and (max-width: 768px){
    .przewodnik-right-sidebar {
        margin-left: 0px !important;
        width: 100% !important;
        padding-right: 0px !important;
    }
}

@media (max-width: 767px) {
    .przewodnik-right-sidebar{
         margin-right: 0px !important;
         margin-left: 0px !important;
    }
}

.sidebar-tourist-guide-title-container{
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid #bfbfbf;
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
}

.sidebar-tourist-guide-title{
    text-align: center;
    margin-bottom: 0px;
}

.tourist-guide-image-container {
    padding: 2px;
    border-top: 1px solid #bfbfbf;
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
    display: flex;
    justify-content: center;
}

.tourist-guide-image-container img {
    max-width: 100%;
    height: auto;
}

.tourist-guide-table-content{
    font-size: 15px;
    margin-top: -6px;
    margin-bottom: -23px;
}

.tourist-guide-table-content td{
    background-color: #ffffff !important;
}

.tourist-guide-map-content{
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.tourist-guide-map-content-title{
    padding-top: 20px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    font-size: 18px;
}

.tourist-guide-map-content .local-ranking-map-container{
    padding: 2px;
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.tourist-guide-coordinates p{
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    font-style: italic;
}

.tourist-guide-coordinates .coordinates-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.single-przewodnik .local-ranking-map,
.single-ludzie .local-ranking-map {
    height: 200px !important;
}

.tourist-guide-source-container{
    padding-top: 20px;
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.tourist-guide-source{
    margin-bottom: 20px;
    text-align: center;
}

.tourist-guide-source .data{
    color: var(--color-1);
    cursor: pointer;
}

.tourist-guide-source .source{
    font-weight: 700;
}

.tourist-guide-source span svg{
    position: relative;
    top: 2px;
}



/* Post 'przewodnik' - Content */

@media screen and (min-width: 997px) {
.single-przewodnik .site-content .content-area,
.single-ludzie .site-content .content-area {
	width: 56% !important;
}
}

.single-przewodnik .site-content .content-area table,
.single-ludzie .site-content .content-area table{
    text-align: center;
    display: block;
    overflow-x: auto;
    max-width: 100%;
    width: 100%;
}

.single-przewodnik table,
.single-przewodnik td,
.single-przewodnik th,
.single-ludzie table,
.single-ludzie td,
.single-ludzie th {
    border: 1px solid #bfbfbf !important;
    border-width: 0.5px 0.5px 0.5px 0.5px !important;
}


.przewodnik .single-post-meta-top-inner-container-1,
.ludzie .single-post-meta-top-inner-container-1{
    width: 40%;
}

.przewodnik .single-post-meta-top-inner-container-2,
.ludzie .single-post-meta-top-inner-container-2{
    width: 60%;
}

@media (max-width: 960px) {
    .przewodnik .single-post-meta-top-container,
    .ludzie .single-post-meta-top-container{
        margin-top: 20px;
    }

    .przewodnik .single-post-meta-top-inner-container-1,
    .ludzie .single-post-meta-top-inner-container-1{
        width: 100%;
    }

    .przewodnik .single-post-meta-top-inner-container-2,
    .ludzie .single-post-meta-top-inner-container-2{
        width: 100%;
    }

}

.przewodnik .category-label,
.ludzie .category-label,
.wizytowki-firm .category-label{
    display: inline-block;
    align-self: flex-start;
    background-color: var(--color-1);
    color: var(--color-4);
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.przewodnik .inside-article h2,
.ludzie .inside-article h2{
    padding-bottom: 20px;
    border-bottom: 1px solid #bfbfbf;
}

.tourist-guide-simillar-objects{
    margin-top: 40px;
    padding: 20px;
    background-color: #f5f5f5;
}

.tourist-guide-simillar-objects p{
    font-weight: 700;
    display: inline;
    margin-right: 2px;
}

.tourist-guide-simillar-objects span{
    color: #bfbfbf;
}

.tourist-guide-footnotes li{
    font-size: 14px;
    font-style: italic;
}

.przewodnik .social-share-container-post,
.ludzie .social-share-container-post{
    margin-bottom: 0px;
}

/* External linking maps */

.map-title{
    margin-top: 54px;
    margin-bottom: 50px;
}

.svg-map-container {
    width: 100%;
    position: relative;
}
.svg-map-container svg {
    width: 100%;
    height: auto;
}

.map-pin {
    position: absolute;
    transform: translate(-50%, -100%);
    cursor: pointer;
    color: var(--color-1);
    text-decoration: none;
    white-space: nowrap;
    font-weight: 700;
    padding-left: 30px;
    display: flex;
    align-items: center;
}

.map-pin::after {
    content: attr(data-name);
    position: relative;
    display: inline-block;
    width: 4ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}



@media screen and (min-width: 390px) {
    .map-pin::after {
        width: auto;
    }
}

.map-pin img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
}

@media screen and (max-width: 1024px) {
    .map-pin img {
        width: 19px;
        height: 19px;
    }
    .map-pin {
        font-size: 12px;
        padding-left: 22px;
    }
}

@media screen and (max-width: 767px) {
    .map-pin img {
        width: 15px;
        height: 15px;
    }
    .map-pin {
        font-size: 10px;
        padding-left: 16px;
    }
}

@media screen and (max-width: 389px) {
    .map-pin {
        margin-left: -5px;
        padding-left: 14px;
        font-size: 9px;
    }
    .map-pin img {
        width: 12px;
        height: 12px;
    }
}


/* Stars rating */
.stars {
    font-size: 2em;
    margin-bottom: 5px;
}

.star {
    cursor: pointer;
    color: #e0e0e0;
    padding-right: 10px;
}

.star-gold {
    color: gold;
}

.clicked {
    color: gold;
}

.rating-value {
    font-weight: 700;
    margin-left: 5px;
    padding-right: 10px;
}

.stars-ocen{
    font-weight: 700;
    margin-bottom: 5px;
    font-size: 17px;
}

.stars-meta{
    font-size: 14px;
}

/* Sponsored article */

.sponsored-article-text {
    font-size: 12px;
    font-style: italic;
    margin-bottom: 0px;
}

/* Sidebar */

.inside-right-sidebar {
    height: 100%;
}

.sticky-container{
    position: relative;
}

.sticky-container:before
{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.sticky-container-post-firmy-banner {
    margin-top: 80px;
    background-color: #f5f5f5;
    padding: 30px 20px 40px;
}

@media screen and (max-width: 767px){
    .sticky-container-post-firmy-banner{
        margin: 80px 15px 70px;
    }
}

.post-widget-banner-title-fanpage{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.post-widget-banner-title-fanpage .post-forum-widget-text{
    margin-bottom: 0px;
}

.post-widget-banner-title-fanpage svg{
    fill: var(--color-1);
    width: 50px;
    height: 50px;
}

@media screen and (max-width:768px) {
    .sticky-container-post-firmy-banner{
        display: none;
    }
}

/* Sidebar Firmy */

.sticky-container-firmy-posts{
    margin-top: 110px;
    background-color: #f5f5f5;
    padding: 30px 20px;
}

@media screen and (max-width:767px) {
    .sticky-container-firmy-posts{
        margin-top: 20px;
        margin-right: 15px;
        margin-left: 15px;
    }
}

.post-firmy-widget-title{
    font-size: 20px;
    font-weight: 700;
}

.post-firmy-widget-title a{
    color: #222222;
}

@media screen and (max-width:767px) {
    .post-firmy-widget-title {
        font-size: 18px;
    }

}

.firmy-widget-item {
    display: flex;
    align-items: center;
}

.firmy-widget-item .business-svg-icon {
    margin-right: 15px;
    display: flex;
    align-items: center;
}

.firmy-widget-item .business-svg-icon svg {
    width: 40px;
    height: 40px;
}

.firmy-widget-item a{
    font-size: 18px;
    font-weight: 700;
    color: #222222;
}

@media screen and (max-width:1024px) {
    .firmy-widget-item a{
        font-size: 17px;
    }
    .firmy-widget-item .business-svg-icon svg {
        width: 37px;
        height: 37px;
    }
}

@media screen and (max-width:767px) {
    .firmy-widget-item a{
        font-size: 16px;
    }
    .firmy-widget-item .business-svg-icon svg {
        width: 33px;
        height: 33px;
    }
}

.post-forum-widget-text{
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width: 767px){
    .post-forum-widget-text{
        font-size: 18px;
    }
}

/* Next / Previous Posts */

.posts-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
    font-weight: 700;
    margin-top: 40px;
}

.posts-container .post-preview{
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(50% - 10px);
}

.single-firmy .posts-container .post-column {
    padding-top: 0px;
}

.single-firmy .post-preview {
    background-color: #f5f5f5;
    padding: 20px;
    align-items: center;
    flex-direction: row;
    text-align: left;
}

.single-firmy .post-preview .business-svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.single-firmy .post-preview .business-svg-icon svg {
    width: 45px;
    height: 45px;
}

.single-firmy .post-preview p {
    margin: 0;
    display: inline-block;
    font-size: 18px;
}

.single-firmy .post-preview p a {
    text-decoration: none;
    color: #222222;
}

.single-firmy .post-preview p a:hover {
    color: var(--color-1);
}

@media (min-width: 768px) and (max-width: 1024px) {
    .single-firmy .post-preview .business-svg-icon svg{
        width: 40px;
        height: 40px;
    }
    
    .single-firmy .post-preview p {
        font-size: 17px;
    }
}

@media screen and (max-width: 767px) {
    .single-firmy .post-preview {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .single-firmy .post-preview .business-svg-icon svg{
        margin-right: 0;
        margin-bottom: 10px;
        width: 35px;
        height: 35px;
    }
    
    .single-firmy .post-preview p {
        font-size: 16px;
        text-align: center;
    }
}

.posts-container .post-column-details a {
    color: #222222;
}

.posts-container .post-column-details a:hover{
    color: var(--color-1);
}

.posts-container .post-column{
    width: 100%;
    padding-top: 59.8%;
    position: relative;
}

.posts-container .post-column img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.posts-container .post-column-details p {
    padding-top: 15px;
}

.similar-posts{
    font-size: 20px;
    font-weight: 700;
    padding-left: 20px;
    position: relative;
}

@media screen and (max-width:767px) {
    .similar-posts {
        font-size: 18px;
    }
}

.similar-posts:before{
    background-color: var(--color-1);
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    width: 5px;
}

/* FAQ Styles */

.faq-styles:before{
    background-color: var(--color-1);
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    width: 5px;
}

.faq-styles{
    padding-left: 20px;
    position: relative;
}

.wp-block-spacer-faq{
    height:20px;
}

/* Social BOX */
.social-box-container{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #f5f5f5;
    padding: 20px 23px 20px 20px;
    gap:20px;
}

.social-box-container:before {
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.social-box-title{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 10px;
}

@media screen and (max-width:767px) {
    .social-box-title {
        font-size: 18px;
    }
}

.social-box-description{
    margin-bottom: 0px;
}

.social-box-button{
    background-color: var(--color-1);
    color: var(--color-4);
    border: none;
    padding: 10px 20px;
    text-align: center;
    white-space: nowrap;
    font-weight: 700;
    display: inline-flex;
}

.facebook-social-box-image svg{
    fill: var(--color-1);
    width: 60px;
    height: 60px;
    position: relative;
    top: 3px;
}

.social-box-button:hover, .social-box-button:active, .social-box-button:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

@media (max-width: 768px) {
    .social-box-container {
        padding-top: 20px;
        padding-bottom: 27px;
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Back to top */
button.generate-back-to-top{
    background-color: #bfbfbf;
    color: #ffffff;
    line-height: 0px !important;
    width: 40px;
    height:40px;
    z-index: 1001;
}

button.generate-back-to-top:hover, button.generate-back-to-top:active, button.generate-back-to-top:focus{
    background-color: #e0e0e0;
    color: #ffffff;
}

button.generate-back-to-top svg{
    top: 0px;
    left: -9px;
}

/* Cookie banner */
.cookies-banner-container{
    z-index: 1000;
    display: block;
    position:fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #f5f5f5;
    color: #222222;
    padding: 15px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,.2);
}

.cookies-banner-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1300px;
    padding: 0px 40px;
}

@media (max-width: 1314px) {
    .cookies-banner-inner {
        padding: 0px 25px;
    }
}

@media (max-width: 768px) {
    .cookies-banner-inner {
        padding: 0px 0px;
    }
}

.cookies-banner-inner span {
    margin: 0px 15px 0px 0px;
}

.cookies-banner-container span,
.cookies-banner-buttons{
    display: inline-block;
}

.cookies-banner-container button {
    font-size: 13px;
    margin: 0px 15px 0px 0px;
    padding: 5px 10px 5px 10px;
    background-color: var(--color-1);
    color: var(--color-4);
    font-weight: 700;
}

.cookies-banner-container button:hover,
.cookies-banner-container button:focus,
.cookies-banner-container button:active{
    background-color: var(--color-1);
    color: var(--color-4);
}


.cookies-banner-buttons{
    margin-top: 10px;
}

.cookies-banner-inner .settings-panel{
    margin: 20px 0px 0px 0px;
}

.cookies-banner-inner .settings-panel{
    max-height: 200px;
    overflow-y: scroll;
}

.cookies-banner-inner .settings-panel hr{
    background-color: #bfbfbf;
    margin: 0px 0px 25px 0px;
}

.cookies-banner-inner .settings-panel .title-preferences{
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}

.slider-container .slider-button{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.slider-container .slider-button label{
    font-size: 16px;
}

.slider-container .slider-button input[type="checkbox"]{
    position: relative;
    width: 44px;
    height: 24px;
    margin-right: 10px;
    background: #d0d5d2;
    -webkit-appearance: none;
    border-radius: 50px;
    cursor: pointer;
    outline: 0;
    border: none;
    top: 0;
}

.slider-container .slider-button input[type="checkbox"]:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 2px;
    bottom: 2px;
    border-radius: 50%;
    background-color: #ffffff;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    margin: 0;
}

.slider-container .slider-button input[type="checkbox"]:checked:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}

.slider-container .slider-button input[type="checkbox"]:checked {
    background: var(--color-1);
}

input#requiredCookies {
    opacity: 0.5;
}

button#savePreferences{
    margin: 20px 0px 5px 0px !important;
}

/* Cookie consent management button - circular with cookie icon */
.manage-consent-button {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 999;
    background-color: var(--color-1);
    color: var(--color-4);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    display: flex !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
    animation: fadeInScale 0.5s ease forwards;
    padding: 0;
}

@keyframes fadeInScale {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.manage-consent-button:hover,
.manage-consent-button:focus,
.manage-consent-button:active {
    background-color: var(--color-1);
    color: var(--color-4);
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.manage-consent-button::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background-color: var(--color-4);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='m89.2835464 54.4975777c-7.4684601-1.1271286-13.7255707-5.9305611-16.8751755-12.5142174-.1053772.0105438-.2001495.0105438-.2949829.0105438-12.3983536 0-22.4265327-10.038784-22.4265327-22.4160538 0-2.6440067.4634933-5.1826353 1.3061867-7.5422068.8216057-2.2858906-.7584724-4.7613192-3.1917877-4.771863h-.2317123c-25.9448681 0-46.7807846 21.9314766-44.9584503 48.2660904 1.5695329 22.6794014 20.2565651 40.8502846 42.9675369 41.8299294 23.7433318 1.0217533 43.6417159-16.3274593 46.6754684-39.0174083.2528076-1.8644486-1.106041-3.5709267-2.9705506-3.8448143zm-68.2908782 8.7009658c-.4108353.3897476-.9375286.5793495-1.4536762.5793495-.5583248 0-1.1165848-.2106895-1.52742-.6426125l-3.1706982-3.3181229c-.8005829-.8426971-.7689505-2.1805153.0737448-2.9810982.8426943-.8005829 2.1805143-.7689514 2.9810972.0737457l3.1601524 3.3076439c.8110637.8426935.7794952 2.1805117-.0632 2.9810945zm5.8883838-20.5199775c-2.8019753 0-5.0878658-2.27528-5.0878658-5.0878639 0-2.8019753 2.2858906-5.0878029 5.0878658-5.0878029 2.8125191 0 5.0878658 2.2858276 5.0878658 5.0878029 0 2.8125839-2.2753467 5.0878639-5.0878658 5.0878639zm9.0801716-24.6491604 3.4445877-.8954163c1.1271286-.2949142 2.2752838.3687229 2.5702591 1.4957886.3054581 1.1271286-.3686562 2.2753468-1.4957848 2.570261l-3.4551353.9059601c-.1790581.0526562-.3581123.0737438-.5266914.0737438-.9375267 0-1.7907677-.6320686-2.0435677-1.5695972-.2949142-1.1270638.3792038-2.2858258 1.5063324-2.58074zm3.981823 70.4398251c-2.7809486 0-5.0352097-2.2542572-5.0352097-5.0352097 0-2.7704086 2.254261-5.0246658 5.0352097-5.0246658 2.7809525 0 5.0351448 2.2542572 5.0351448 5.0246658 0 2.7809524-2.2541924 5.0352097-5.0351448 5.0352097zm11.2080269-31.7069169c-.2949753.8743286-1.1165848 1.4221077-1.9909096 1.4221077-.2317772 0-.4529495-.0316315-.6741829-.1053772l-4.1924515-1.4220428c-1.0955582-.368721-1.6854515-1.5589867-1.3167305-2.6650925.3792038-1.106041 1.5695343-1.6959343 2.6755753-1.3167305l4.1819687 1.4115639c1.0954971.3686562 1.6959343 1.5695305 1.3167305 2.6755714zm9.9966125 3.9501954c0-2.5597191 2.0751343-4.6348572 4.6348534-4.6348572 2.5597153 0 4.6349182 2.0751381 4.6349182 4.6348572 0 2.5597153-2.0752029 4.6349182-4.6349182 4.6349182-2.5597191 0-4.6348534-2.075203-4.6348534-4.6349182zm13.0830193 22.7215118c-.4108353.4634933-.9796448.6952744-1.5589905.6952744-.5056686 0-1.0112686-.1791229-1.4115601-.5372391l-2.2542648-2.0435715c-.8637772-.7794952-.9269791-2.1067657-.1474228-2.9705505.7794952-.8637848 2.1172485-.9269867 2.9704895-.1474915l2.2542572 2.0330276c.8637848.7794953.9375305 2.1067658.1474915 2.9705506z'/%3E%3Cpath d='m70.3647995 17.2814789c4.0028534-1.5063324 8.1426468-5.7198706 8.521843-7.3421249.9269867-3.950192-3.8132401-7.3420601-8.521843-7.3420601-4.7086639 0-8.5219078 3.2865551-8.5219078 7.3420601 0 4.0555696 4.1082268 8.985403 8.5219078 7.3421249z'/%3E%3Cpath d='m85.628334 25.655899c-2.7282944 1.5800781-4.4453201 6.2676525-1.6221924 8.5955925 2.5597229 2.1067696 7.0155182 3.244442 8.2479553 2.875782 3.0126648-.9165039 3.4551315-5.4249554 1.6222534-8.5956535-1.832939-3.1601543-5.5197829-4.4557972-8.2480163-2.875721z'/%3E%3Cpath d='m94.0027542 7.5376706c-1.9382553 0-3.5077896 1.5695329-3.5077896 3.4972453 0 1.9381914 1.5695343 3.5077887 3.5077896 3.5077887 1.9276505 0 3.4972458-1.5695972 3.4972458-3.5077887 0-1.9277124-1.5695953-3.4972453-3.4972458-3.4972453z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='m89.2835464 54.4975777c-7.4684601-1.1271286-13.7255707-5.9305611-16.8751755-12.5142174-.1053772.0105438-.2001495.0105438-.2949829.0105438-12.3983536 0-22.4265327-10.038784-22.4265327-22.4160538 0-2.6440067.4634933-5.1826353 1.3061867-7.5422068.8216057-2.2858906-.7584724-4.7613192-3.1917877-4.771863h-.2317123c-25.9448681 0-46.7807846 21.9314766-44.9584503 48.2660904 1.5695329 22.6794014 20.2565651 40.8502846 42.9675369 41.8299294 23.7433318 1.0217533 43.6417159-16.3274593 46.6754684-39.0174083.2528076-1.8644486-1.106041-3.5709267-2.9705506-3.8448143zm-68.2908782 8.7009658c-.4108353.3897476-.9375286.5793495-1.4536762.5793495-.5583248 0-1.1165848-.2106895-1.52742-.6426125l-3.1706982-3.3181229c-.8005829-.8426971-.7689505-2.1805153.0737448-2.9810982.8426943-.8005829 2.1805143-.7689514 2.9810972.0737457l3.1601524 3.3076439c.8110637.8426935.7794952 2.1805117-.0632 2.9810945zm5.8883838-20.5199775c-2.8019753 0-5.0878658-2.27528-5.0878658-5.0878639 0-2.8019753 2.2858906-5.0878029 5.0878658-5.0878029 2.8125191 0 5.0878658 2.2858276 5.0878658 5.0878029 0 2.8125839-2.2753467 5.0878639-5.0878658 5.0878639zm9.0801716-24.6491604 3.4445877-.8954163c1.1271286-.2949142 2.2752838.3687229 2.5702591 1.4957886.3054581 1.1271286-.3686562 2.2753468-1.4957848 2.570261l-3.4551353.9059601c-.1790581.0526562-.3581123.0737438-.5266914.0737438-.9375267 0-1.7907677-.6320686-2.0435677-1.5695972-.2949142-1.1270638.3792038-2.2858258 1.5063324-2.58074zm3.981823 70.4398251c-2.7809486 0-5.0352097-2.2542572-5.0352097-5.0352097 0-2.7704086 2.254261-5.0246658 5.0352097-5.0246658 2.7809525 0 5.0351448 2.2542572 5.0351448 5.0246658 0 2.7809524-2.2541924 5.0352097-5.0351448 5.0352097zm11.2080269-31.7069169c-.2949753.8743286-1.1165848 1.4221077-1.9909096 1.4221077-.2317772 0-.4529495-.0316315-.6741829-.1053772l-4.1924515-1.4220428c-1.0955582-.368721-1.6854515-1.5589867-1.3167305-2.6650925.3792038-1.106041 1.5695343-1.6959343 2.6755753-1.3167305l4.1819687 1.4115639c1.0954971.3686562 1.6959343 1.5695305 1.3167305 2.6755714zm9.9966125 3.9501954c0-2.5597191 2.0751343-4.6348572 4.6348534-4.6348572 2.5597153 0 4.6349182 2.0751381 4.6349182 4.6348572 0 2.5597153-2.0752029 4.6349182-4.6349182 4.6349182-2.5597191 0-4.6348534-2.075203-4.6348534-4.6349182zm13.0830193 22.7215118c-.4108353.4634933-.9796448.6952744-1.5589905.6952744-.5056686 0-1.0112686-.1791229-1.4115601-.5372391l-2.2542648-2.0435715c-.8637772-.7794952-.9269791-2.1067657-.1474228-2.9705505.7794952-.8637848 2.1172485-.9269867 2.9704895-.1474915l2.2542572 2.0330276c.8637848.7794953.9375305 2.1067658.1474915 2.9705506z'/%3E%3Cpath d='m70.3647995 17.2814789c4.0028534-1.5063324 8.1426468-5.7198706 8.521843-7.3421249.9269867-3.950192-3.8132401-7.3420601-8.521843-7.3420601-4.7086639 0-8.5219078 3.2865551-8.5219078 7.3420601 0 4.0555696 4.1082268 8.985403 8.5219078 7.3421249z'/%3E%3Cpath d='m85.628334 25.655899c-2.7282944 1.5800781-4.4453201 6.2676525-1.6221924 8.5955925 2.5597229 2.1067696 7.0155182 3.244442 8.2479553 2.875782 3.0126648-.9165039 3.4551315-5.4249554 1.6222534-8.5956535-1.832939-3.1601543-5.5197829-4.4557972-8.2480163-2.875721z'/%3E%3Cpath d='m94.0027542 7.5376706c-1.9382553 0-3.5077896 1.5695329-3.5077896 3.4972453 0 1.9381914 1.5695343 3.5077887 3.5077896 3.5077887 1.9276505 0 3.4972458-1.5695972 3.4972458-3.5077887 0-1.9277124-1.5695953-3.4972453-3.4972458-3.4972453z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Lead extractor */
.post-lead, .lead{
    font-size: 18px;
    font-weight: 700;
}

/* Lista punktowana */

.content-area ul li:not(.przewodnik li):not(.ludzie li):not(.tourist-guide-footnotes li) {
    list-style: none;
}

.content-area ul:not(.tourist-guide-footnotes ul) li:not(.przewodnik li):not(.ludzie li):before {
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='black'%3E%3Cpath d='M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z'/%3E%3C/svg%3E") no-repeat;
    background-size: 16px 16px;
    padding-right: 25px;
    margin-left: -25px;
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* Sitemap */
.sitemap .polityka-prywatnosci,
.sitemap .regulamin,
.sitemap .nekrolog-formularz,
.sitemap .firmy-formularz{
    display: inline;
    color: var(--color-1);
}

.sitemap .nekrolog-formularz,
.sitemap .firmy-formularz{
    cursor: pointer;
}

.sitemap ul li{
    margin-bottom: 6px;
}

/*
====================
  HOMEPAGE STYLES
====================
*/

/* Homepage - Global */
.title-decoration:before{
    background-color: var(--color-1);
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    width: 5px;
}

.title-decoration{
    padding-left: 20px;
    position: relative;
}

.homepage-h2-title{
    font-weight: 700;
}

/* Homepage - Forecast */
.homepage-forecast-container{
    display: flex;
    border-bottom: 1px solid #bfbfbf;
    position: relative;
    margin-top: -30px;
}

.homepage-forecast-container::before {
    content: "";
    position: absolute;
    width: 1px;
    background-color: #bfbfbf;
    top: 0;
    bottom: 0;
    left: 33.33%;
}

.homepage-forecast-container::after {
    content: "";
    position: absolute;
    width: 1px;
    background-color: #bfbfbf;
    top: 0;
    bottom: 0;
    left: 66.66%;
}

.homepage-forecast-container .weather-forecast,
.homepage-forecast-container .air-quality-forecast{
    padding-bottom: 20px;
}

@media (min-width: 803px) {
    .homepage-forecast-container .weather-forecast,
    .homepage-forecast-container .air-quality-forecast {
        padding: 0 20px;
        padding-bottom: 20px;
    }
}

.homepage-forecast-container .forecast-current-day{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.homepage-forecast-container .forecast-current-day,
.homepage-forecast-container .weather-forecast,
.homepage-forecast-container .air-quality-forecast{
    width: 33.33%;
}

.forecast-current-day .current-day{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0px;
}

.forecast-current-day .name-day{
    margin-bottom: 0px;
}

.homepage-forecast-container .weather-forecast .weather-forecast-title,
.homepage-forecast-container .air-quality-forecast .air-quality-forecast-title{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
}

.source-openweather-gios-homepage{
    margin-bottom: 0px;
    font-size: 12px;
}

.weather-details-container{
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.weather-details-container .weather-svg,
.weather-details-container .weather-details {
    display: flex;
}

.weather-details-container .weather-details {
    flex-direction: column;
}

.weather-details-container .weather-svg svg{
    height: 50px;
    width: 50px;
}

.weather-details-container .weather-details p{
    margin-bottom: 0px;
}

.weather-details .weather-details-data{
    font-weight: 700;
}

.air-quality-details-container{
    display: flex;
    align-items: center;
    column-gap: 15px;
    padding-top: 8px;
    padding-bottom: 9px;
}

.air-quality-details-container svg{
    height: 35px;
    width: 35px;
}

.air-quality-details-title{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0px;
}

@media (max-width: 802px) {
    .homepage-forecast-container{
        flex-wrap: wrap;
    }
    .homepage-forecast-container .forecast-current-day,
    .homepage-forecast-container .weather-forecast {
        width: 50%;
    }
    .homepage-forecast-container .air-quality-forecast {
        width: 100%;
        text-align: center;
        order: 3;
    }
    .homepage-forecast-container::before,
    .homepage-forecast-container::after {
        display: none;
    }
    .air-quality-details-container {
        justify-content: center;
        padding-bottom: 0px;
    }
    .homepage-forecast-container .forecast-current-day,
    .homepage-forecast-container .weather-forecast,
    .homepage-forecast-container .air-quality-forecast{
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .homepage-forecast-container .forecast-current-day,
    .homepage-forecast-container .weather-forecast{
        border-bottom: none;
    }
    .homepage-forecast-container .air-quality-forecast {
        border-top: 1px solid #bfbfbf;
    }
    .homepage-forecast-container .air-quality-forecast .air-quality-forecast-title{
        margin-bottom: 0px;
    }
    .homepage-forecast-container .forecast-current-day{
        padding-right: 25px;
        border-right: 1px solid #bfbfbf;
    }
    .homepage-forecast-container .weather-forecast{
        padding-left: 25px;
    }
}

@media (max-width: 767px) {
    .homepage-forecast-container .forecast-current-day .current-day,
    .homepage-forecast-container .weather-forecast .weather-forecast-title,
    .homepage-forecast-container .air-quality-forecast .air-quality-forecast-title,
    .homepage-forecast-container .air-quality-forecast .air-quality-details-title{
        font-size: 18px;
    }
}

@media (max-width: 565px){
    .weather-details p .weather-details-label{
        display: none;
    }
}

/* Homepage - News Section */

.homepage-news-container {
    margin-top: 50px;
    width: 100%;
    box-sizing: border-box;
}

.news-container-top {
    margin-top: 40px;
}

.left-news-container {
    position: relative;
    width: 100%;
    height: 300px;
}

@media (min-width: 767px){
    .left-news-container {
        height: 371px;
    }
}

.left-news-container .news-item{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.left-news-container .news-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.left-news-container .gradient-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 65%, #222222 100%);
    z-index: 2;
}

.left-news-container .news-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #fff;
    padding: 8px 20px;
    z-index: 3;
    box-sizing: border-box;
}

@media screen and (min-width: 1025px){
    .news-container-top {
        display: flex;
        flex-wrap: nowrap;
        gap: 20px;
    }
    .left-news-container,
    .right-news-container {
        width: calc(50% - 10px);
        box-sizing: border-box;
    }
    .right-news-container .news-item {
        display: flex;
        width: 100%;
        height: calc(50% - 10px);
        flex-direction: row;
        gap: 20px;
        box-sizing: border-box;
    }
    .right-news-container {
        flex-direction: column;
        gap: 21px;
    }
    .right-news-container .news-image-container{
        display: flex;
        flex-direction: column;
        height: 100%;
        width: 100%;
        flex-basis: 290px;
        padding-top: 29%;
        position: relative;
    }
    .right-news-container .news-details {
        width: 50%;
        flex-grow: 1;
        flex-basis: 0%;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
}

@media (max-width: 1024px){
    .right-news-container {
        margin-top: 40px;
        gap: 0px 20px;
    }
    .right-news-container .news-item{
        width: 50%;
    }
    .right-news-container .news-image-container {
        width: 100%;
        padding-top: 59.8%;
        position: relative;
    }
}
.right-news-container {
    display: flex;
}

.right-news-container .news-image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1024px){
    .right-news-container{
        margin-bottom: 20px;
        gap: 20px;
    }
    .right-news-container .news-title{
        margin-top: 10px;
    }
}

.right-news-container .news-title{
    font-size: 16px;
    font-weight: 700;
}

.right-news-container .news-title a{
    color: #222222;
}

.right-news-container .news-title a:hover{
    color: var(--color-1)
}

@media (min-width: 1025px){
    .news-container-bottom{
        margin-top: 33px;
    }
}

.news-container-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.news-container-bottom .news-item {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(50% - 10px);
}

@media screen and (min-width: 1025px) {
    .news-container-bottom .news-item {
        width: calc(25% - 15px);
    }
}

.news-container-bottom .news-image-container{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 59.8%;
    position: relative;
}

.news-container-bottom .news-image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-container-bottom .news-details {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
}

.news-container-bottom .news-title{
    font-size: 16px;
    font-weight: 700;
}

.news-container-bottom .news-title a{
    color: #222222;
}

.news-container-bottom .news-title a:hover{
    color: var(--color-1)
}

.news-container-bottom .news-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Homepage - Local Business Categories */
.homepage-local-business-categories{
    margin-top: 50px;
}

.homepage-local-business-categories-container{
    margin-top: 50px;
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
    background-color: var(--color-1);
    padding-top: 50px;
    padding-bottom: 30px
}

.homepage-categories-content{
    max-width: 1300px;
    padding: 0px 40px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 470px){
    .homepage-categories-content{
        padding: 0px 14px !important;
    }
}

@media (min-width: 471px) and (max-width: 768px){
    .homepage-categories-content{
        padding: 0px 15px !important;
    }
}

@media (min-width: 769px) and (max-width: 1310px){
    .homepage-categories-content{
        padding: 0px 40px !important;
    }
}

.homepage-categories-content .category-link{
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    padding: 10px 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    border-style: solid;
    border-width: 1px;
    border-color: var(--color-4);
    color: var(--color-4);
    cursor: pointer;
}

.homepage-categories-content .category-link:hover{
    background-color: var(--color-3);
    color: var(--color-1);
    border-color: var(--color-3);
}

.homepage-categories-content .category-icon{
    line-height: 0;
    padding-right: 0.5em;
}

.homepage-categories-content .category-icon svg{
    width: 1.2em;
    height: 1.2em;
    fill: var(--color-4)
}

.homepage-categories-content .category-link:hover .category-icon svg{
    fill: var(--color-1);
}

/* Dla przeglądarek z paskiem przewijania */
@media (max-width: 470px){
    .homepage-categories-content.scrollbar-active{
        padding: 0px 21px !important;
    }
}

@media (min-width: 471px) and (max-width: 768px){
    .homepage-categories-content.scrollbar-active{
        padding: 0px 22px !important;
    }
}

@media (min-width: 769px) and (max-width: 1310px){
    .homepage-categories-content.scrollbar-active{
        padding: 0px 47px !important;
    }
}

/* Homepage - Local Business Posts */
.homepage-local-business-posts{
    margin-top: 50px;
}

.local-business-container{
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 0px 20px;
}

.local-business-container .local-business-details {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(50% - 10px);
    background-color: #f5f5f5;
    padding: 20px;
    margin-top: 20px;
}

.local-business-container .local-business-title {
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    margin-bottom: 0px;
}

.local-business-container .local-business-title a {
    color: #222222;
}

.local-business-container .local-business-title a:hover {
    color: var(--color-1);
}

.local-business-container .business-svg-icon {
    display: flex;
    align-items: center;
}

.local-business-container .business-svg-icon svg {
    width: 35px;
    height: 35px;
    fill: #000;
    margin-right: 20px;
}

@media (max-width: 767px) {
    .local-business-container {
        gap: 10px 20px;
    }
    .local-business-container .local-business-details {
        padding: 15px;
        margin-top: 10px;
    }
    .local-business-container .local-business-title {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    .local-business-container .business-svg-icon svg {
        margin-right: 0;
    }
}

@media (min-width: 924px) {
    .local-business-container .local-business-details {
        width: calc(33.333% - 13.333px);
    }
    .local-business-container .business-svg-icon svg {
        width: 40px;
        height: 40px;
    }
}

/* Homepage - Police Chronicle */
.homepage-police-chronicle-posts{
    margin-top: 50px;
}

.homepage-police-chronicle-posts .police-chronicle-container {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.homepage-police-chronicle-posts .police-chronicle-item {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(50% - 10px);
}

@media (min-width: 1024px) {
    .homepage-police-chronicle-posts .police-chronicle-item {
        width: calc(25% - 15px);
    }
}

.homepage-police-chronicle-posts .police-chronicle-image-container{
    display: flex;
    flex-direction: column;
}

.homepage-police-chronicle-posts .police-chronicle-details {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
}

.homepage-police-chronicle-posts .police-chronicle-title{
    font-size: 16px;
    font-weight: 700;
}

.homepage-police-chronicle-posts .police-chronicle-title a{
    color: #222222;
}

.homepage-police-chronicle-posts .police-chronicle-title a:hover{
    color: var(--color-1)
}

.homepage-police-chronicle-posts .police-chronicle-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Homepage - Job offers */
.homepage-job-offers{
    margin-top: 50px;
    margin-bottom: 20px;
}

.homepage-job-offers .job-offer-add-button{
    margin-top: 50px;
    display: block;
    margin-bottom: 20px;
}

.homepage-job-offers-container{
    margin-top: 35px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.homepage-job-offers-container .job-homepage{
    width: calc(33% - 10px);
    border: 1px solid #bfbfbf;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1080px){
    .homepage-job-offers-container .job-homepage {
        width: calc(50% - 10px);
    }
}

@media screen and (max-width: 767px) {
    .homepage-job-offers-container .job-homepage {
        width: 100%;
    }
}

.job-homepage .job-title-normal-homepage,
.job-homepage .job-title{
    font-size: 18px;
    font-weight: 700;
    color: var(--color-1);
}

.job .info-icon-container{
    display: flex;
    margin-top: 0px;
}

.job-offers-praca-tooltip + .tooltip-content{
    margin-top: 0px !important;
}

.wizytowki-firm-tooltip-ranking + .tooltip-content{
    margin-top: -20px !important;
}

.customer-feedback-tooltip + .tooltip-content{
    margin-top: -15px !important;
}

.customer-feedback-section .customer-advantages-list {
    list-style: none !important;
    margin-left: 40px;
}

.customer-feedback-section .customer-advantages-list li {
    margin: 8px 0;
    position: relative;
    list-style: none !important;
}

.customer-feedback-section .customer-advantages-list li::before {
    content: '' !important;
    position: absolute;
    top: 5px;
    width: 18px;
    height: 18px;
    padding-right: 25px;
    background-image: url('data:image/svg+xml;charset=utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 408.576 408.576" style="enable-background:new 0 0 408.576 408.576;" xml:space="preserve"><g><g><path fill="%23222222" d="M204.288,0C91.648,0,0,91.648,0,204.288s91.648,204.288,204.288,204.288s204.288-91.648,204.288-204.288S316.928,0,204.288,0z M318.464,150.528l-130.56,129.536c-7.68,7.68-19.968,8.192-28.16,0.512L90.624,217.6c-8.192-7.68-8.704-20.48-1.536-28.672c7.68-8.192,20.48-8.704,28.672-1.024l54.784,50.176L289.28,121.344c8.192-8.192,20.992-8.192,29.184,0C326.656,129.536,326.656,142.336,318.464,150.528z"/></g></g></svg>') !important;
}

@media screen and (max-width: 450px){
    .wizytowki-firm-tooltip-ranking + .tooltip-content{
        margin-top: 0px !important;
    }
}

.wizytowki-firm-tooltip-kategoria + .tooltip-content{
    margin-top: 5px !important;
}

.homepage-promoted-companies .wizytowki-firm-tooltip-kategoria + .tooltip-content{
    margin-top: -10px !important;
}

@media screen and (max-width: 450px){
    .homepage-promoted-companies .wizytowki-firm-tooltip-kategoria + .tooltip-content{
        margin-top: 20px !important;
    }
}

.single-wizytowki-firm .trophy + .tooltip-content{
    margin-top: 35px !important;
}

.single-wizytowki-firm .company-profiles-post-similar .company-profile-card .trophy + .tooltip-content{
    margin-top: 80px !important;
}

@media (max-width: 526px){
    .single-wizytowki-firm .company-profiles-post-similar .company-profile-card .trophy + .tooltip-content{
        margin-top: 100px !important;
    }
}

.job-homepage p.job-company-homepage,
.job-homepage p.job-locations-homepage{
    margin-bottom: 0px;
    display: flex;
    align-items: center;
}

.job-homepage p.job-locations-homepage{
    margin-bottom: 20px;
}

.job-homepage p.job-date {
    margin-top: auto;
    margin-bottom: 5px;
    display: inline-block;
    padding: 2px 12px 3px 12px;
    font-size: 14px;
    font-weight: 700;
    background-color: #e0e0e0;
}

.job-homepage .job-homepage-image{
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

.job-homepage-dates{
    display: flex;
    gap: 20px;
    margin-top: auto;
}

.job-homepage .info-icon-job-offers{
    margin-top: -24px;
    margin-bottom: 0px;
}


.job-offers-homepage-tooltip + .tooltip-content{
    margin-top: 53px;
}

/* Homepage - For Residents */
.homepage-for-residents{
    margin-top: 50px;
}

.homepage-for-residents-container{
    margin-top: 50px;
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
    background-color: var(--color-1);
}

.homepage-for-residents-content{
    max-width: 1300px;
    padding: 0px 40px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media (max-width: 470px){
    .homepage-for-residents-content{
        padding: 0px 14px !important;
    }
}

@media (min-width: 471px) and (max-width: 768px){
    .homepage-for-residents-content{
        padding: 0px 15px !important;
    }
}

@media (min-width: 769px) and (max-width: 1310px){
    .homepage-for-residents-content{
        padding: 0px 40px !important;
    }
}

/* Dla przeglądarek z paskiem przewijania */
@media (max-width: 470px){
    .homepage-for-residents-content.scrollbar-active{
        padding: 0px 21px !important;
    }
}

@media (min-width: 471px) and (max-width: 768px){
    .homepage-for-residents-content.scrollbar-active{
        padding: 0px 22px !important;
    }
}

@media (min-width: 769px) and (max-width: 1310px){
    .homepage-for-residents-content.scrollbar-active{
        padding: 0px 47px !important;
    }
}

.homepage-for-residents-content a,
.homepage-for-residents-content p{
    margin-bottom: 0px;
    padding: 50px 10px 50px 10px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 767px){
    .homepage-for-residents-content a,
    .homepage-for-residents-content p {
        flex: 0 0 50%;
        padding: 25px 10px 25px 10px;
    }
}

.homepage-for-residents-content a span,
.homepage-for-residents-content p span{
    text-align: center;
}


.homepage-for-residents-content svg {
    width: 3em;
    height: 3em;
    margin-bottom: 10px;
    fill: var(--color-4);
}

.homepage-for-residents-content span {
    font-weight: 700;
    font-size: 20px;
    margin-top: 5px;
    color: var(--color-4);
}

@media (max-width: 1024px) {
    .homepage-for-residents-content span {
        font-size: 18px;
    }
    .homepage-for-residents-content svg {
        width: 2.5em;
        height: 2.5em;
    }
}

@media (max-width: 767px) {
    .homepage-for-residents-content span {
        font-size: 16px;
    }
    .homepage-for-residents-content svg {
        width: 2em;
        height: 2em;
    }
}

.homepage-for-residents-content a:hover,
.homepage-for-residents-content p:hover{
    background-color: var(--color-3);
}

.homepage-for-residents-content a:hover svg,
.homepage-for-residents-content p:hover svg{
    fill: var(--color-1);
}

.homepage-for-residents-content a:hover span,
.homepage-for-residents-content p:hover span{
    color: var(--color-1);
}

/* Homepage - Necrologies List */
.homepage-nekrologi{
    margin-top: 50px;
}

.homepage-nekrologi .nekrologi-container{
    margin-top: 50px;
}

/* Homepage - Post Categories */
.homepage-category-posts {
    margin-top: 50px;
}

.homepage-category-posts .category-posts-container {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.homepage-category-posts .category-post-item {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(50% - 10px);
}

@media (min-width: 1024px) {
    .homepage-category-posts .category-post-item {
        width: calc(25% - 15px);
    }
}

@media (min-width: 1024px) {
    .homepage-categories-row .homepage-category-posts .category-post-item {
        width: calc(50% - 10px);
    }
    .homepage-categories-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 20px;
        margin-top: 50px;
    }
    
    .homepage-categories-row .homepage-category-posts {
        width: calc(50% - 10px);
        margin-top: 0;
    }
}

.homepage-category-posts .category-post-image-container{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 59.8%;
    position: relative;
}

.homepage-category-posts .category-post-image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-category-posts .category-post-details {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
}

.homepage-category-posts .category-post-title{
    font-size: 16px;
    font-weight: 700;
}

.homepage-category-posts .category-post-title a{
    color: #222222;
}

.homepage-category-posts .category-post-title a:hover{
    color: var(--color-1)
}

.homepage-category-posts .category-post-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Homepage - Description */
.homepage-description{
    margin-top: 50px;
}

/* Archive Page - Nekrologi */

h2.nekrologi-h2 {
    margin-top: 30px;
    margin-bottom: 30px;
}

@media (min-width: 786px){
    .nekrologi-container{
        display: flex;
        flex-wrap: wrap;
    }
    .nekrologi-container .nekrolog {
        flex: 0 0 calc(50% - 10px);
        flex-direction: row;
    }
}

.nekrologi-container {
    margin-bottom: 40px;
    gap: 20px;
}

.nekrologi-container .nekrolog {
    padding: 20px;
    display: flex;
    align-items: center;
    background-color: #f5f5f5;
    border: 4px solid #bfbfbf;
}

@media (max-width: 785px){
    .nekrologi-container .nekrolog {
        margin-bottom: 20px;
    }
}

.nekrologi-container .nekrolog:nth-child(2n) {
    margin-right: 0;
}

.nekrolog .nekrolog-content {
    flex-grow: 1;
}

.nekrolog-content .nekrolog-title,
.nekrolog-content .nekrolog-data-smierci,
.nekrolog-content .nekrolog-wiek,
.nekrolog-content .nekrolog-miejsce-uroczystosci,
.nekrolog-content .nekrolog-data-pogrzebu{
    font-family: "Source Serif Pro" !important;
}

.nekrolog .nekrolog-content .nekrolog-title{
    font-size: 24px;
    cursor: pointer;
    margin-bottom: 2px;
}

@media screen and (max-width: 1024px){
    .nekrolog .nekrolog-content .nekrolog-title{
        font-size: 22px;
    }
}

@media screen and (max-width: 767px){
    .nekrolog .nekrolog-content .nekrolog-title{
        font-size: 20px;
    }
}

.nekrolog .nekrolog-content .nekrolog-title:hover{
    color: var(--color-1);
    text-decoration: underline;
}

.nekrologi-container .nekrolog p {
    margin-bottom: 0px;
}

.nekrolog-content .nekrolog-details{
    display: flex;
}

.nekrolog-content .nekrolog-details p{
    padding: 20px 20px 0px 0px;
    color: var(--color-1);
    cursor: pointer;
}

.nekrolog-content .nekrolog-details p:hover{
    color: var(--color-1);
}

.nekrolog .nekrolog-cross{
    text-align: right;
}

.nekrolog .nekrolog-cross svg{
    width: 100px;
    height: 100px;
}

@media (max-width: 400px){
    .post-type-archive-nekrologi .nekrolog .nekrolog-cross svg{
        width: 80px;
        height: 80px;
    }
}

.nekrologi-pagination {
    text-align: center;
    margin: 40px 0px 0px 0px;
}

.nekrologi-pagination p {
    display: inline-block;
    padding: 5px 10px;
    cursor: pointer;
}

.nekrologi-pagination p:hover {
    background-color: #fafafa;
    color: var(--color-1);
}


.nekrologi-pagination p.nekrologi-current-page {
    color: var(--color-1);
    font-weight: 700;
}

.nekrologi-pagination-next-previous {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.nekrologi-next-page, .nekrologi-previous-page{
    padding: 10px 20px !important;
    background-color: var(--color-1);
    color: var(--color-4);
    cursor: pointer;
    font-weight: 700;
}

.nekrologi-next-page:hover, .nekrologi-previous-page:hover{
    background-color: var(--color-1);
    color: var(--color-4);
}

.nekrologi-next-page:focus, .nekrologi-previous-page:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

/* Post - Nekrologi */

.nekrolog-single{
    background-color: #f5f5f5;
    border: 4px solid #bfbfbf;
    padding: 50px;
}

@media screen and (max-width: 1024px){
    .nekrolog-single{
        padding: 30px;
    }
}

@media screen and (max-width: 767px){
    .nekrolog-single{
        padding: 20px;
    }
}

.nekrolog-single h1,
.nekrolog-single h2,
.nekrolog-single h3,
.nekrolog-single p{
    font-family: "Source Serif Pro" !important;
    text-align: center;
}

.nekrolog-single p{
    font-size: 18px;
}

.nekrologi-single-title{
    font-weight: 600;
}

.nekrolog-single-cross{
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 40px;
}

.nekrolog-single-cross svg{
    text-align: center;
    width: 250px;
    height: 250px;
}

@media screen and (max-width: 1024px){
    .nekrolog-single-cross svg{
        width: 200px;
        height: 200px;
    }
}

@media screen and (max-width: 767px){
    .nekrolog-single-cross svg{
        width: 150px;
        height: 150px;
    }
}

@media screen and (max-width: 500px){
    .nekrolog-single-cross svg{
        width: 120px;
        height: 120px;
    }
}
.nekrolog-single .nekrologi-single-top p,
.nekrolog-single .nekrologi-single-below p{
    margin-bottom: 0px;
}

.candles-cta-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.title-decoration, .banner-ads-button {
    margin: 0;
}

.candles-container .candles-cta-container .title-decoration{
    font-weight: 700;
    margin: 40px 0px;
}

.candles-container .candles svg{
    width: 40px;
    height: 40px;
}

.candle-button-cta{
    margin-left: 5px;
}

/* Sidebar - Nekrologi */
.sticky-container-nekrologi{
    margin-top: 77px;
    background-color: #f5f5f5;
    padding: 30px 20px;
}

.post-nekrologi-widget-title{
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width:767px) {
    .post-nekrologi-widget-title {
        font-size: 18px;
    }
}


.sticky-container-nekrologi .nekrolog p {
    margin-bottom: 0px;
}

.sticky-container-nekrologi .nekrolog {
    padding: 20px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 4px solid #bfbfbf;
    margin-bottom: 20px;
}

.nekrolog-widget-content p{
    padding-top: 10px;
    color: var(--color-1);
    cursor: pointer;
}

@media screen and (max-width: 400px){
    .single-nekrologi .nekrolog .nekrolog-cross svg{
        width: 80px;
        height: 80px;
    }
}

@media screen and (max-width: 768px){
    .sticky-container-nekrologi{
        margin: 0px 15px 0px 15px;
    }
}

@media screen and (min-width: 786px) and (max-width: 1120px){
    .single-nekrologi .nekrolog-content{
        width: 65%;
    }
    .single-nekrologi .nekrolog-cross{
        width: 35%;
    }
    .single-nekrologi .nekrolog-cross svg{
        width: 80px;
        height: 80px;
    }
}

@media screen and (min-width: 769px) and (max-width: 850px){
    .single-nekrologi .nekrolog-content{
        width: 75%;
    }
    .single-nekrologi .nekrolog-cross{
        width: 25%;
    }
    .single-nekrologi .nekrolog-cross svg{
        width: 50px;
        height: 50px;
    }
}

/* Archive Page - Wiadomości */
.pagination-archive-pages{
    margin-top: 30px;
    margin-bottom: 80px;
}

.pagination-archive-pages .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 5px;
}

.pagination-archive-pages .nav-links a{
    padding: 15px 20px;
    background-color: var(--color-1);
    color: var(--color-4);
}

.pagination-archive-pages .nav-links span{
    padding: 15px 20px;
    background-color: var(--color-1);
    color: var(--color-4);
    opacity: 0.6;
}

/*
====================
  STATIC PAGES
====================
*/

.content-separator-lead{
    background-color: #bfbfbf;
    margin-bottom: 50px;
}

/* Static Pages - O Nas */
.about-us-logo{
    padding-bottom: 30px;
}

/* Static Pages - Kamery */

#kamery-image{
    cursor: pointer;
}

/* Static Pages - Kontakt || O nas */
.contact-bold-text{
    margin-bottom: 0px;
    font-weight: 700;
    font-size: 18px;
}

button#show-publisher,
button#show-editor{
    margin: 10px 0px 0px 0px;
}

#editor-details,
#publisher-details{
    margin-bottom: 24px;
}

.contact-section .editorial-data p,
.contact-section .editors-list p {
    margin-bottom: 0px;
}

.contact-section .editorial-data p{
    margin-bottom: 0px;
    margin-top: 15px;
}


/* Static Pages - Jakość Powietrza */
#air-quality-map iframe{
    height: 500px;
    width: 100%;
}

/*
====================
  Tooltip
====================
*/

.info-icon-container {
    position: relative;
    display: inline-block;
}

.info-icon-inner-container,
.info-icon-job-offers{
    cursor: pointer;
}

.info-icon-inner-container p{
    display: inline-block;
    margin-bottom: 0px;
    padding-right: 5px;
    font-style: italic;
    font-size: 14px;
}

.info-icon-svg{
    padding-left: 2px;
    display: inline-block;
    width: 20px;
    height: 20px;
    fill: var(--color-1);
    cursor: pointer;
    position: relative;
    top: -4px;
}

.tooltip-content {
    z-index: 100;
    margin-top: 10px;
    position: absolute;
    background-color: #f5f5f5;
    border: 1px solid #bfbfbf;
    padding: 15px 20px 15px 10px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    max-width: 650px;
    font-size: 12px;
    font-style: italic;
    margin-right: 30px;
}

.tooltip-content p{
    margin-bottom: 0px;
}

.tooltip-content .close-tooltip {
    position: absolute;
    top: -2px;
    right: 5px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
}

@media screen and (max-width:394px){
    .job-tooltip-data .info-icon-svg{
        top: 2px !important;
    }
}

.job-tooltip-source-data{
    margin-top: 20px;
}

.ogloszenia-tooltip{
    margin-top: 20px;
}

@media screen and (max-width:394px){
    .ogloszenia-tooltip .info-icon-svg{
        top: 2px !important;
    }
}

.system-ogloszen-tooltip{
    margin-bottom: 20px;
}

.system-ogloszen-tooltip + .tooltip-content{
    margin-top: -10px;
}

.firmy-lead-tooltip,
.wiadomosci-post-tooltip{
    margin-bottom: 20px;
}

.firmy-lead-tooltip + .tooltip-content,
.wiadomosci-post-tooltip + .tooltip-content{
    margin-top: 0px;
}

@media screen and (max-width:346px){
    .wiadomosci-post-tooltip .info-icon-svg{
        top: 2px !important;
    }
}

@media screen and (min-width:1025px) and (max-width: 1046px){
    .wiadomosci-post-tooltip .info-icon-svg{
        top: 2px !important;
    }
}

.firmy-tooltip-top-company{
    margin-bottom: 1.5em;
}

.firmy-tooltip-top-company + .tooltip-content{
    margin-top: -15px;
}

.firmy-tooltip-top-company p{
    font-size: 16px !important;
    font-style: normal !important;
}

@media screen and (max-width:678px){
    .firmy-tooltip-top-company .info-icon-svg{
        top: 2px !important;
    }
}

@media screen and (min-width:769px) and (max-width: 1082px){
    .firmy-tooltip-top-company .info-icon-svg{
        top: 2px !important;
    }
}

.nekrologi-tooltip{
    margin-top: 15px;
    width: 100%;
}

@media screen and (max-width:587px){
    .nekrologi-tooltip .info-icon-svg{
        top: 2px !important;
    }
}

@media screen and (min-width:786px) and (max-width: 1215px){
    .nekrologi-tooltip .info-icon-svg{
        top: 2px !important;
    }
}

@media screen and (max-width:500px){
    .nekrolog-single .nekrologi-tooltip-single-post .info-icon-svg{
        top: 2px !important;
    }
}

.nekrologi-tooltip-single-post{
    margin-top: 15px;
    display: flex !important;
    justify-content: center;
}

.nekrologi-tooltip-single-post + .tooltip-content p{
    font-size: 12px !important;
    text-align: left !important;
}

.kamery-image-display{
    margin-top: 10px;
}

/* Accordion */

.ranking-information-accordion{
    position: relative;
    cursor: pointer;
    padding: 20px;
    background-color: #f5f5f5;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ranking-information-accordion:before {
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

.ranking-information-accordion h2{
    margin-bottom: 5px;
}

.ranking-information-accordion h2,
.ranking-information-accordion svg{
    display: inline-block;
}

.ranking-information-accordion .accordion-icon-svg{
    fill: var(--color-1);
    width: 65px;
    height: 65px;
    float: right;
}

.ranking-information-tab {
    background-color: #f5f5f5;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    max-height: 0;
}

.ranking-information-html{
    padding: 0px 20px 40px 20px;
}

.ranking-information-html p{
    margin-bottom: 0px;
}



/*
====================
  FORM
====================
*/

.form-main-container{
    max-width: 1000px;
}

.local-form-container{
    margin-bottom: 40px;
}

.local-form {
    margin-top: 40px;
    position: relative;
    padding: 20px;
    background-color: #f5f5f5;
}

.local-form:before {
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    border-style: solid;
    border-width: 7px;
    top: -7px;
    left: -7px;
    border-color: var(--color-1) transparent transparent var(--color-1);
}

@media screen and (min-width: 645px){
    .local-form .form-row {
        display: flex;
        justify-content: space-between;
        margin-bottom: 16px;
    }
    .local-form select{
        margin-bottom: 32px !important;
    }
}

.local-form .form-col {
    flex: 0 0 48%;
}

.local-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
}

.local-form input[type="text"],
.local-form input[type="number"],
.local-form input[type="date"],
.local-form input[type="time"],
.local-form input[type="email"],
.local-form textarea{
    width: 100%;
    padding: 10px;
    margin-bottom: 16px;
    border: 1px solid #bfbfbf;
    background: #fafafa;
    color: #222222;
}

.local-form select{
    padding: 10px;
    margin-bottom: 16px;
    border: 1px solid #bfbfbf;
    background: #fafafa;
    color: #222222;
}

.local-form input[type="text"]:active,
.local-form input[type="date"]:active,
.local-form input[type="number"]:active,
.local-form input[type="time"]:active,
.local-form input[type="email"]:active,
.local-form textarea:active,
.local-form select:active,
.local-form input[type="text"]:focus,
.local-form input[type="date"]:focus,
.local-form input[type="number"]:focus,
.local-form input[type="time"]:focus,
.local-form input[type="email"]:focus,
.local-form textarea:focus,
.local-form select:focus{
    background: #ffffff;
    color: #222222;
}

.local-form input[type="submit"] {
    padding: 10px 20px;
    background-color: var(--color-1);
    color: var(--color-4);
    border: none;
    cursor: pointer;
    font-weight: 700;
    transition: background-color 0.2s;
}

.local-form input[type="submit"]:hover,
.local-form input[type="submit"]:active,
.local-form input[type="submit"]:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

.nekrologi-live-editor{
    margin-top: 40px;
}

.local-form-message {
    padding: 15px;
    margin: 20px 0;
    border: 1px solid #4CAF50;
    background-color: #DFF2BF;
    color: #3C763D;
}

.local-form-message-fail {
    padding: 15px;
    margin: 20px 0;
    border: 1px solid #f44336;
    background-color: #FFC9C8;
    color: #a94442;
}

#date-error-message,
#additional-info-error-message{
    color: red;
}

#additional-info-error-message{
    margin-bottom: 1.5em;
}

.cf-turnstile{
    margin-bottom: 15px;
}

.local-form .form-agreements label{
    font-weight: 400;
    font-size: 14px;
}

.local-form .form-agreements div {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}

.local-form .form-agreements input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 4px;
}

/* Form Praca */

table.pricing-table-localwebsite{
    margin-top: 85px;
    margin-bottom: 50px;
}

.pricing-table-localwebsite {
    width: 100%;
    border-collapse: collapse;
}

.pricing-table-localwebsite .package {
    font-size: 20px;
    font-weight: 700;
}

.pricing-table-localwebsite .package button {
    padding: 5px 20px;
    margin: 10px 0px;
    font-size: 16px;
    color: var(--color-4);
    background-color: var(--color-1);
    font-weight: 700;
}

.pricing-table-localwebsite tbody td {
    border: 1px solid #bfbfbf;
    padding: 10px;
    text-align: center;
}

.pricing-table-localwebsite tbody td:first-child {
    text-align: left;
}

.pricing-table-localwebsite small {
    display: block;
    font-size: 0.8em;
    font-style: italic;
}

.pricing-table-localwebsite .empty {
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
}

tr:nth-child(even) td {
    background-color: #f5f5f5;
}

.pricing-table-localwebsite .extended-package {
    border-left: 2px solid var(--color-1);
    border-right: 2px solid var(--color-1);
}

.pricing-table-localwebsite .package.extended-package {
    border-top: 2px solid var(--color-1);
}

.pricing-table-localwebsite .extended-package.last{
    border-bottom: 2px solid var(--color-1);
}

.checkmark {
    color: green !important;
    font-weight: bold;
}

.praca-form-text {
    margin: 20px 0px;
}

.pricing-table-localwebsite .package.extended-package::before {
    content: 'Polecane';
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-4);
    background-color: var(--color-1);
    position: relative;
    top: -45px;
    width: calc(100% + 24px);
    margin-left: -12px;
    margin-bottom: -35px;
    padding: 5px 0;
    box-sizing: border-box;
}

/* Table mobile */
.pricing-table-localwebsite-mobile{
    display: flex;
    flex-direction: column;
    gap: 50px 20px;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px;
}

.pricing-table-localwebsite-mobile .package {
    border: 1px solid #bfbfbf;
    padding: 20px;
    position: relative;
}

.pricing-table-localwebsite-mobile .package-header {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.pricing-table-localwebsite-mobile .package button {
    padding: 5px 20px;
    margin: 10px 0px 20px 0px;
    font-size: 16px;
    color: var(--color-4);
    background-color: var(--color-1);
    font-weight: 700;
    width: 100%;
}

.pricing-table-localwebsite-mobile .package-detail {
    border-top: 1px solid #bfbfbf;
    padding: 10px 0;
    text-align: left;
}

.pricing-table-localwebsite-mobile .package-detail-row {
    display: flex;
    justify-content: space-between;
}

.pricing-table-localwebsite-mobile .package-detail-row .package-bold {
    font-weight: 700;
}

.second-column{
    margin-left: 15px;
}

.pricing-table-localwebsite-mobile .extended-package {
    margin-top: 20px;
    border: 2px solid var(--color-1);
}

.pricing-table-localwebsite-mobile .extended-package::before {
    content: 'Polecane';
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-4);
    background-color: var(--color-1);
    position: relative;
    top: -45px;
    width: calc(100% + 44px);
    margin-left: -22px;
    margin-bottom: -35px;
    padding: 5px 0;
    box-sizing: border-box;
}

/* RWD */
.pricing-table-localwebsite-mobile{
    display: none;
}

@media screen and (max-width: 580px){
    .pricing-table-localwebsite-mobile.praca-table{
        display: flex;
    }
    .pricing-table-localwebsite.praca-table{
        display: none;
    }
}
@media screen and (max-width: 745px){
    .pricing-table-localwebsite-mobile.firmy-table{
        display: flex;
    }
    .pricing-table-localwebsite.firmy-table{
        display: none;
    }
    .pricing-table-localwebsite-mobile.firmy-table{
        flex-direction: row;
        flex-wrap: wrap;
    }
    .pricing-table-localwebsite-mobile.firmy-table .package{
        width: calc(50% - 10px);
    }
}

@media screen and (max-width: 600px){
    .pricing-table-localwebsite-mobile.firmy-table{
        display: flex;
    }
    .pricing-table-localwebsite.firmy-table{
        display: none;
    }
    .pricing-table-localwebsite-mobile.firmy-table{
        flex-direction: row;
        flex-wrap: wrap;
    }
    .pricing-table-localwebsite-mobile.firmy-table .package{
        width: 100%;
    }
}

/*
====================
BANNERS
====================
*/

/* Homepage banner */

.homepage-banner-top-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.homepage-banner-top-container{
    margin-top: 50px;
    margin-bottom: 60px;
    border: 1px solid #bfbfbf;
    padding: 20px;
}

/* Oferteo - Ranking */
/* Ranking oferteo */
.oferteo-single-company-container{
    padding: 40px;
    margin-top: 50px;
    margin-bottom: 50px;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    background-color: #f5f5f5;
    max-width: 650px;
}

.oferteo-banner-title{
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

.oferteo-button-container{
    display: flex;
    align-items: center;
}

.oferteo-single-button{
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--color-1);
    color: var(--color-4);
    font-size: 24px;
    font-weight: 700;
    display: inline-block;
    flex-shrink: 0;
}

.oferteo-single-button:hover,
.oferteo-single-button:active,
.oferteo-single-button:focus{
    background-color: var(--color-1);
    color: var(--color-4);
}

.oferteo-input{
    flex: 1;
}

.oferteo-input input{
    width: 100%;
    box-sizing: border-box;
    height: 58px;
    position: relative;
    display: inline-block;
    border-right: 0 !important;
}

.oferteo-input input[type="text"]:focus{
    background-color: #fafafa !important;
    border-color: #cccccc !important;
}

.oferteo-banner-svg{
    border: 1px solid #cccccc;
    border-left: none;
    padding: 13px 0px 13px 0px;
    background-color: #fafafa;
}

.oferteo-banner-svg svg{
    margin-top: 4px;
    margin-right: 12px;
}

@media screen and (max-width: 1024px){
    .oferteo-banner-title{
        font-size: 22px;
    }
    .oferteo-single-button{
        font-size: 22px;
    }
    .oferteo-input input{
        height: 55px;
    }
    .oferteo-banner-svg{
        padding: 11.5px 0px 11.5px 0px;
    }
}

@media screen and (max-width: 767px){
    .oferteo-banner-title{
        font-size: 20px;
    }
    .oferteo-single-button{
        font-size: 20px;
    }
    .oferteo-input input{
        height: 52px;
        padding: 10px 5px 10px 10px !important;
    }
    .oferteo-banner-svg{
        padding: 10px 0px 10px 0px;
    }
    .oferteo-single-company-container{
        padding: 40px 20px 40px 20px;
    }
}

/* Oferteo - Homepage */
.homepage-oferteo-widget .oferteo-single-company-container{
    max-width: 850px;
    padding: 50px 50px 60px 50px;
}

.homepage-oferteo-widget .homepage-h2-title{
    margin-bottom: 40px;
    text-align: center;
}

.homepage-oferteo-widget .oferteo-input input{
    height: 66px;
    padding: 10px 15px !important;
}

.homepage-oferteo-widget .oferteo-banner-svg{
    padding: 17px 0px 17px 0px;
}

.homepage-oferteo-widget .oferteo-single-button{
    padding: 15px 24px;
}

@media screen and (max-width: 1024px){
    .homepage-oferteo-widget .oferteo-input input{
        height: 63px;
    }
    .homepage-oferteo-widget .oferteo-banner-svg{
        padding: 15.5px 0px 15.5px 0px;
    }
}

@media screen and (max-width: 767px){
    .homepage-oferteo-widget .oferteo-input input{
        height: 52px;
        padding: 10px 5px 10px 10px !important;
    }
    .homepage-oferteo-widget .oferteo-banner-svg{
        padding: 10px 0px 10px 0px;
    }
    .homepage-oferteo-widget .oferteo-single-company-container{
        padding: 50px 20px 60px 20px;
    }
    .homepage-oferteo-widget .oferteo-single-button{
        padding: 11px 20px;
    }
}

/*
====================
COMPANY PROFILES
====================
*/

/* Post type "firmy" module */

.ranking-company-profiles {
    margin-bottom: 30px;
}

.ranking-company-profiles-title{
    margin-bottom: 25px;
}

.single-firmy .company-profile-card {
    border: 1px solid #bfbfbf;
    display: flex;
    background: #fff;
    margin-bottom: 15px;
    padding: 15px;
    gap: 20px;
}

.single-firmy .ranking-company-profiles-title-more{
    margin-top: 80px;
}

.company-profile-image-container {
    width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

.single-firmy .company-profile-image-container{
    align-items: center;
    gap: 0px !important;
}

.company-profile-image-container .trophy {
    display: block;
}

.firmy .company-profile-image-container svg,
.firmy .company-profile-image-container img{
    object-fit: contain;
}

.company-profile-featured-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.company-profile-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.company-profile-content {
    flex: 1;
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.company-profile-name a{
    color: #222222;
}

.company-profile-name a:hover{
    color: var(--color-1);
}

.company-profile-name{
    margin-bottom: 5px !important;
}

.company-profile-trophies {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: -6px;
}

.trophy {
    display: inline-block;
    position: relative;
}

.company-profile-contact{
    display: flex;
    gap: 0px 20px;
    flex-wrap: wrap;
}

@media screen and (max-width: 1024px){
    .firmy .company-profile-image-container svg, .firmy .company-profile-image-container img{
        object-fit: contain;
    }
    .single-firmy .ranking-company-profiles .company-profile-trophies svg{
        width: 18px !important;
        height: 18px !important;
    }
    .company-profile-card{
        gap: 20px;
    }
}

@media screen and (max-width: 767px){
    .company-profile-contact{
        display: inline;
    }
    .single-firmy .ranking-company-profiles .company-profile-trophies svg{
        width: 15px !important;
        height: 15px !important;
    }
    .company-profile-card{
        gap: 20px;
    }
    .firmy .company-profile-image-container svg, .firmy .company-profile-image-container img{
        object-fit: contain;
    }
}
.company-profile-contact-web,
.company-profile-contact-phone,
.company-profile-address {
    margin-top: 10px;
    display: flex;
    align-items: center;
}

.company-website-link {
    color: var(--color-1);
    cursor: pointer;
}

.company-profile-contact-web svg,
.company-profile-contact-phone svg,
.company-profile-address svg {
    margin-right: 8px;
    flex-shrink: 0;
}

.rating-score{
    font-weight: 700;
}

.company-profile-contact-phone .phone-masked,
.company-profile-contact-phone a{
    cursor: pointer;
    position: relative;
    color: var(--color-1);
}

.phone-masked {
    display: inline-block;
}

.phone-link {
    display: none;
    text-decoration: none;
    color: inherit;
}

.firmy .company-profile-trophies .trophy + .tooltip-content{
    margin-top: 30px !important;
}

/* Category module */
.company-profiles-slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
}

.post-type-archive-firmy .company-profiles-slider-container{
    margin-top: -10px;
    margin-bottom: 50px;
}

.company-profiles-slider {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 15px 0px;
    gap: 20px;
}

.post-type-archive-firmy .company-profiles-slider{
    padding: 0px !important;
}

.company-profiles-slider::-webkit-scrollbar {
    display: none;
}

.company-profile-slide {
    flex: 0 0 auto;
    min-width: 360px;
    max-width: 360px;
    display: flex;
    align-items: center;
    background: white;
    border: 1px solid #bfbfbf;
    overflow: hidden;
}

@media screen and (max-width: 410px){
    .company-profile-slide{
        min-width: 300px;
        max-width: 300px;
    }
}

.company-profile-slide-image {
    width: 30%;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px;
    flex-shrink: 0;
}

.company-profile-slide-image img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.company-profile-slide-image svg {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.company-profile-slide-content {
    padding: 10px 15px 10px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
}

.default-thumbnail {
    width: 100%;
    height: 100%;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #888;
}

.wizytowki-firm-tooltip-ranking .info-icon-inner-container svg,
.wizytowki-firm-tooltip-kategoria .info-icon-inner-container svg{
    top: 0px;
}

.company-profile-slide-title {
    font-weight: bold;
    color: #222222;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.company-profile-slide-title:hover{
    color: var(--color-1);
}

.company-profile-slide-content .company-profile-trophies svg{
    width: 15px;
    height: 15px;
}

.company-profiles-slider-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    z-index: 10;
}

.slider-prev, .slider-next {
    pointer-events: auto;
    background: var(--color-1);
    width: 40px;
    height: 40px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-prev:hover,
.slider-next:hover,
.slider-prev:active,
.slider-next:active,
.slider-prev:focus,
.slider-next:focus{
    background: var(--color-1);
}

.slider-prev {
    margin-left: 10px;
}

.slider-next {
    margin-right: 10px;
}

.company-profile-slide-city{
    font-size: 12px;
    display: flex;
    align-items: center;
}

.company-profile-slide-city svg{
    margin-right: 5px;
    height: 12px;
    width: 12px;
}

.wizytowki-firm-tooltip-ranking p,
.wizytowki-firm-tooltip-kategoria p{
    font-size: 12px;
}

.company-profile-slide-content .wizytowki-firm-tooltip-ranking svg{
    width: 17px;
    height: 17px;
}

.company-profile-slide-website {
    font-size: 14px;
    display: flex;
    align-items: center;
}

.company-profile-slide-website svg{
    position: relative;
    top: 1px;
    margin-right: 5px;
}

.post-type-archive-firmy .company-profile-trophies .trophy + .tooltip-content{
    margin-top: 25px !important;
}

/* Homepage module */

.homepage-promoted-companies .company-profile-card {
    border: 1px solid #bfbfbf;
    display: flex;
    background: #fff;
}

.homepage-promoted-companies .company-profile-card .company-profile-image-container svg,
.homepage-promoted-companies .company-profile-card .company-profile-image-container img{
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.homepage-promoted-companies .ranking-company-profiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 50px;
}

@media (max-width: 1024px) {
    .homepage-promoted-companies .ranking-company-profiles {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .homepage-promoted-companies .ranking-company-profiles {
        grid-template-columns: 1fr;
    }
}

.ranking-company-profiles .company-profile-trophies svg{
    width: 15px;
    height: 15px;
}

.single-firmy .ranking-company-profiles .company-profile-trophies svg{
    width: 20px;
    height: 20px;
}

.homepage-promoted-companies .company-profile-card {
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
}

.homepage-promoted-companies .company-profile-image-container {
    flex: 0 0 100px;
    position: relative;
    margin-left: 10px;
}

.homepage-promoted-companies .company-profile-featured-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.homepage-promoted-companies .company-profile-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
}

.homepage-promoted-companies .company-profile-content {
    flex: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
}

.homepage-promoted-companies .company-profile-name {
    margin: 0 0 8px 0;
    font-size: 16px;
    line-height: 1.3;
}

.homepage-promoted-companies .company-profile-name a {
    color: #222222;
    text-decoration: none;
}

.homepage-promoted-companies .company-profile-name a:hover {
    color: var(--color-1);
}

.homepage-promoted-companies .company-profile-trophies {
    display: flex;
    align-items: center;
}

.homepage-promoted-companies .company-profile-trophies,
.post-type-archive-firmy .company-profile-trophies,
.tax-kategorie_firm .company-profile-trophies {
    margin-bottom: 3px;
}

.homepage-promoted-companies .trophy {
    margin-right: 5px;
}

.homepage-promoted-companies .company-profile-trophies p {
    margin: 0;
    font-size: 13px;
    color: #222222;
}

.homepage-promoted-companies .company-profile-address {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.homepage-promoted-companies .company-profile-address svg {
    margin-right: 5px;
}

.homepage-promoted-companies .company-profile-address p {
    margin: 0;
    font-size: 13px;
    color: #222222;
}

.homepage-promoted-companies .company-profile-contact-web {
    margin-top: auto;
}

.homepage-promoted-companies .company-profile-website {
    display: inline-flex;
    align-items: center;
    color: var(--color-1);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.homepage-promoted-companies .company-profile-website svg {
    margin-left: 5px;
}

.company-profile-trophies svg{
    cursor: pointer;
}

.homepage-promoted-companies .company-profile-trophies .trophy + .tooltip-content{
    margin-top: 80px !important;
}

.homepage-promoted-companies .company-profile-trophies .tooltip-content p{
    font-size: 12px !important;
}

/* Company profiles sidebar */

.sticky-container-wizytowki-firm-posts {
    margin-top: 110px;
    background-color: #f5f5f5;
    padding: 30px 20px;
}

.kontakt-widget-button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    cursor: pointer;
}

.kontakt-widget-button svg {
    margin-right: 10px;
    fill: var(--color-4);
}

@media screen and (max-width: 768px) {
    .company-profiles-right-sidebar {
        display: none;
    }
}

/* Company profiles single page module */
.company-profiles-post-section {
    margin-bottom: 50px;
}

.company-profiles-post-section-title {
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.company-profiles-post-section-title svg {
    margin-right: 10px;
    fill: #222222;
    width: 18px;
    height: 18px;
}

.company-profiles-post-container{
    margin-top: 40px;
}

.company-profiles-post-header {
    margin-bottom: 40px;
}

.company-profiles-post-header-top {
    display: flex;
    gap: 24px;
}

.company-profiles-post-logo {
    width: 140px;
    height: 140px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.company-profiles-post-logo img,
.company-profiles-post-logo picture {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.company-profiles-post-title {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 10px !important;
}

.company-profiles-post-address {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.company-profiles-post-directions {
    display: inline-flex;
    align-items: center;
    color: var(--color-1);
    margin-bottom: 8px;
    cursor: pointer;
}

.company-profiles-post-trophies {
    margin-top: 30px;
    display: flex;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
}

.company-profiles-post-trophies .trophy {
    cursor: pointer;
}

.company-profiles-post-rankings-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
}

.company-profiles-post-rankings-container .category-label-company-profiles a{
    display: inline-block;
    align-self: flex-start;
    background-color: var(--color-1);
    color: var(--color-4);
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.company-profiles-post-toc {
    display: flex;
    flex-wrap: wrap;
    padding: 5px 0;
    margin-bottom: 50px;
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.company-profiles-post-toc-item {
    padding: 8px 1rem;
    font-weight: 700;
    position: relative;
}

.company-profiles-post-toc-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 20px;
    width: 1px;
    background-color: #bfbfbf;
}

.company-profiles-post-contact-wrapper {
    display: flex;
    gap: 32px;
    margin-bottom: 24px;
}

.company-profiles-post-contact-left{
    width: 40%;
    margin-top: 10px;
}

.company-profiles-post-contact-right{
    width: 60%;
}

.company-profiles-post-contact-container {
    margin-bottom: 24px;
}

.company-profiles-post-phone,
.company-profiles-post-email {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    color: var(--color-1);
}

.company-profiles-post-email a,
.company-profiles-post-website span,
.company-profiles-post-website-link,
.company-profiles-post-website a {
    word-wrap: break-word;
    word-break: break-all;
    overflow-wrap: break-word;
    max-width: 100%;
    display: inline-block;
}

.company-profiles-post-phone svg,
.company-profiles-post-email svg,
.company-profiles-post-website svg {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    flex-shrink: 0;
}

.company-profiles-post-phone a,
.company-profiles-post-email a,
.company-profiles-post-website a,
.company-profiles-post-phone span,
.company-profiles-post-email span {
    display: flex;
    align-items: center;
    color: var(--color-1);
}

.company-profiles-post-website{
    display: flex;
    align-items: center;
}

.company-profiles-post-website-link{
    cursor: pointer;
    color: var(--color-1);
}

.company-profiles-post-social-links {
    display: flex;
    gap: 12px;
    margin-left: -10px;
}

.company-profiles-post-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.company-profiles-post-social-link svg {
    width: 20px;
    height: 20px;
}

.company-profiles-post-map {
    overflow: hidden;
    max-height: 250px;
    position: relative;
}

.company-profiles-post-hours-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.company-profiles-post-hours-item {
    display: flex;
    align-items: baseline;
    padding: 5px 0;
}

.company-profiles-post-hours-day {
    min-width: 120px;
}

.company-profiles-post-hours-time {
    font-weight: 700;
}

.company-profiles-pricelist {
    margin-top: 30px;
    margin-bottom: 30px;
}

.pricelist-category-accordion {
    margin-bottom: 15px;
    overflow: hidden;
}

.pricelist-category-header {
    background-color: #f5f5f5;
    padding: 12px 15px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pricelist-category-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.accordion-toggle-icon {
    transition: transform 0.3s ease;
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;

}

.accordion-toggle-icon svg {
    fill: #222222;
}

.pricelist-category-accordion.active .accordion-toggle-icon {
    transform: rotate(180deg);
}

.pricelist-category-content {
    display: none;
    padding: 15px;
    background-color: #f5f5f5;
}

.pricelist-category-accordion.active .pricelist-category-content {
    display: block;
}

.pricelist-item {
    margin-bottom: 15px;
    border-bottom: 1px solid #bfbfbf;
}

.pricelist-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.pricelist-item-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
}

.pricelist-item-name {
    font-size: 16px;
    font-weight: 600;
}

.pricelist-item-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-title-blue);
    text-align: right;
    white-space: nowrap;
    margin-left: 15px;
}

.pricelist-item-description {
    font-size: 14px;
}

.company-profiles-post-gallery{
    margin-top: 25px;
}

.company-profiles-gallery-slider {
    position: relative;
    width: 100%;
    margin-bottom: 16px;
    overflow: hidden;
}

.gallery-slider-container {
    display: flex;
    transition: transform 0.4s ease;
    width: 100%;
}

.gallery-slide {
    flex: 0 0 100%;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start;
    position: relative;
    overflow: hidden;
}

.gallery-slide.active {
    z-index: 1;
}

.gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
     width: 40px;
    height: 40px;
    background-color: var(--color-1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
}

.gallery-slider-nav svg{
    stroke: var(--color-4);
}

.gallery-slider-nav:hover {
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}

.gallery-slider-prev {
    left: 10px;
}

.gallery-slider-next {
    right: 10px;
}

.gallery-slider-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    justify-content: center;
    padding: 0 10px;
    max-width: 100%;
    overflow-x: auto;
}

.gallery-slider-thumbnail {
    width: 80px;
    height: 80px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s ease;
    position: relative;
}

.gallery-slider-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.gallery-slider-thumbnail:hover {
    border-color: var(--color-1);
}

.gallery-slider-thumbnail.active {
    border-color: var(--color-1);
}

.gallery-slider-thumbnail:hover img {
    transform: scale(1.05);
}

.fancybox-instant-close,
.fancybox-instant-close * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transition: none !important;
    animation: none !important;
}

.fancybox__container, 
.fancybox__container *,
.fancybox__backdrop, 
.fancybox__content,
.fancybox-image {
    transition: none !important;
    animation: none !important;
}

.is-classic .is-nav-selected .f-thumbs__slide__button::after {
    border-color: var(--color-1) !important;
    border-width: 2px !important;
}

.f-thumbs__slide__button:hover::after {
    border-color: var(--color-1) !important;
    opacity: 0.7;
}

.company-profiles-post-reviews-rating {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 10px;
}

.company-profiles-post-reviews-stars {
    display: flex;
    gap: 4px;
    align-items: center;
}

.company-profiles-post-reviews-value {
    font-weight: 700;
}

.company-profiles-post-reviews-star {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
}

.company-profiles-post-reviews-count {
    font-size: 14px;
}

.company-profiles-post-reviews-link {
    cursor: pointer;
    color: var(--color-1);
}

.company-profiles-post-articles-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 25px;
}

.company-profiles-post-article {
    display: flex;
    align-items: center;
}

.company-profiles-post-article-image {
    width: 105px;
    height: 65px;
    margin-right: 20px;
    overflow: hidden;
}

.company-profiles-post-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.company-profiles-post-article-content {
    flex: 1;
}

.company-profiles-post-article-title {
    font-weight: 700;
    color: #222222;
}

.company-profiles-post-article-title:hover {
    color: var(--color-1);
}

.company-profiles-post-similar .ranking-company-profiles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.company-profiles-post-similar .company-profile-card {
    display: flex;
    overflow: hidden;
    border: 1px solid #bfbfbf;
}

.company-profiles-post-similar .company-profile-image-container {
    flex: 0 0 100px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.company-profiles-post-similar .company-profile-image-container svg,
.company-profiles-post-similar .company-profile-image-container img {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
}

.company-profiles-post-similar .company-profile-content {
    flex: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
}

.company-profiles-post-similar .company-profile-slide-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    line-height: 1.3;
}

.company-profiles-post-similar .company-profile-slide-title:hover {
    color: var(--color-1);
}

.company-profiles-post-similar .company-profile-trophies {
    display: flex;
    align-items: center;
}

.company-profiles-post-similar .trophy {
    margin-right: 5px;
}

.company-profiles-post-similar .company-profile-address {
    display: flex;
    align-items: center;
}

.company-profiles-post-similar .company-profile-address svg,
.company-profiles-post-similar .company-profile-contact-web svg {
    width: 12px;
    height: 12px;
    margin-right: 5px;
}

.company-profiles-post-similar .company-profile-address p {
    margin: 0;
    font-size: 12px;
}

.company-profiles-post-similar .company-profile-contact-web {
    display: flex;
    align-items: center;
    margin-top: 0px !important;
}

.company-profiles-post-similar .company-profile-contact-web a,
.company-profiles-post-similar .company-profile-contact-web span {
    font-size: 12px;
    color: var(--color-1);
}

.single-wizytowki-firm .company-profiles-post-similar .company-profile-card{
    gap: 5px !important
}

@media (max-width: 767px) {

    .company-profiles-post-title {
        font-size: 24px;
    }
    
    .company-profiles-post-contact-wrapper {
        flex-direction: column;
    }
    
    .company-profiles-post-contact-right,
    .company-profiles-post-contact-left{
        width: 100%;
    }

    .company-profiles-post-toc-item {
        padding: 8px;
        font-size: 12px;
    }
      
    .gallery-slide {
        height: 250px;
    }
      
    .gallery-slider-thumbnail {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 900px) {
    .company-profiles-post-similar .ranking-company-profiles {
        grid-template-columns: 1fr;
    }
}

/* Info banner under navigation */

.info-banner-container {
    width: 100%;
    text-align: center;
    margin-top: 10px;
    background-color: #fff;
}

@media screen and (min-width: 769px) {
    .info-banner-container {
        padding: 0px 30px 0px 30px;
    }
}

.info-banner-content {
    display: flex;
    flex-wrap: nowrap;
    max-width: 1220px;
    margin: 0 auto;
    margin-top: 20px;
    align-items: stretch;
}

.info-banner-alert {
    background-color: #e63946;
    color: white;
    padding: 8px 15px;
    font-weight: 800;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.info-banner-text {
    padding: 8px 20px;
    background-color: #f5f5f5;
    font-size: 18px;
    flex: 1;
    text-align: left;
    display: inline-block;
    white-space: normal;
    line-height: 1.5;
}

.info-banner-icon {
    vertical-align: middle;
    position: relative;
    margin: 0 8px;
    fill: var(--color-1);
    width: 18px;
    height: 18px;
}

.info-banner-link {
    color: var(--color-1);
    text-decoration: none;
}

@media (max-width: 768px) {
    .info-banner-content {
        padding: 0 10px;
    }
    
    .info-banner-alert {
        font-size: 14px;
        padding: 6px 12px;
    }
    
    .info-banner-text {
        font-size: 14px;
        padding: 6px 15px;
    }
    
    .info-banner-icon {
        width: 14px;
        height: 14px;
    }
}

@media (max-width: 480px) {
    .info-banner-alert {
        font-size: 12px;
        padding: 5px 10px;
    }
    
    .info-banner-text {
        font-size: 12px;
        padding: 5px 10px;
    }
    
    .info-banner-icon {
        width: 12px;
        height: 12px;
    }
}

/* Related articles */
.related-article-box {
    display: flex;
    margin: 20px 0;
    background: #f5f5f5;
    overflow: hidden;
}

.related-article-image-link {
    position: relative;
    width: clamp(157px, 27%, 270px);
    aspect-ratio: 174/104;
    overflow: hidden;
}

.related-article-image-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-article-content {
    flex: 1;
    padding: 15px 20px;
    display: flex;
    align-items: center;
}

.related-article-link {
    font-weight: 700;
    font-size: 18px;
}

@media (max-width: 1024px) {
    .related-article-link {
        font-size: 17px;
    }
}

@media (max-width: 768px) {
    .related-article-image-link {
        width: clamp(120px, 35%, 200px);
    }

    .related-article-content {
        padding: 12px 15px;
    }

    .related-article-link {
        font-size: 16px;
    }
}