body,
body a {
    color: var(--e-global-color-text);
    text-decoration: none;
}

@media screen and (max-width: 1200px) {
	html, body {
		max-width: 100vw;
		overflow-x: hidden !important;
	}
}

html,
body {
    scroll-behavior: smooth;
}

body .comments-area a,
body .page-content a {
    text-decoration: none;
}

body.overflow-hidden {
    overflow: hidden !important;
}

/* UTILS */
.line-before-64 {
    position: relative;
}

.line-before-64::before {
    content: "";
    position: absolute;
    background: #ddd;
    height: 100%;
    width: 1px;
    left: -50px;
    top: 0;
    margin-left: auto;
    margin-right: auto;
}

.text-left,
.text-left * {
    text-align: start !important;
}

/* BUTTONS */
.button-with-icon .elementor-button-content-wrapper {
    align-items: center;
}

/* BREADCRUMBS */
.hfe-breadcrumbs-home-icon {
    display: none !important;
}

.hfe-breadcrumbs-separator svg {
    width: 8px;
    height: 8px;
    max-width: 8px;
}

.hfe-breadcrumbs li a,
.hfe-breadcrumbs li span {
    color: white !important;
    text-decoration: none !important;
}

.hfe-breadcrumbs li:first-child a span {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* MENU */
@media screen and (min-width: 1025px) {
    header .hfe-nav-menu__layout-horizontal .menu-item:last-child {
        position: relative;
        margin-left: 24px;
    }

    header .menu-container .hfe-nav-menu__layout-horizontal .menu-item:last-child::before {
        content: "";
        left: -24px;
        display: block;
        position: absolute;
        height: 80%;
        background: #fff;
        width: 1px;
        top: 0;
        bottom: 0;
        margin-top: auto;
        margin-bottom: auto;
    }


    header .menu-container.active .hfe-nav-menu__layout-horizontal .menu-item:last-child::before {
        background: #0004;
    }


    header .hfe-nav-menu__layout-horizontal .menu-item:last-child a::after {
        content: "";
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='15' viewBox='0 0 26 15' fill='none'><path d='M17.3333 15C17.3333 14.205 18.1274 13.0179 18.9313 12.0214C19.9648 10.7357 21.1997 9.61393 22.6157 8.75786C23.6773 8.11607 24.9643 7.5 26 7.5M26 7.5C24.9643 7.5 23.6762 6.88393 22.6157 6.24214C21.1997 5.385 19.9648 4.26321 18.9313 2.97964C18.1274 1.98214 17.3333 0.792857 17.3333 0M26 7.5L0 7.5' stroke='black' stroke-opacity='0.5'/></svg>");
        width: 26px;
        height: 15px;
        opacity: 1 !important;
        background-color: transparent !important;
        display: block !important;
        position: initial;
        margin-left: 1rem !important;
        transition: all .3s;
        filter: invert(1);
    }

    header .menu-container.active .hfe-nav-menu__layout-horizontal .menu-item:last-child a::after {
        filter: invert(0);
    }
}

header .menu-container {
    transition: all 0.3s;
}

header .menu-container {
    background: linear-gradient(to bottom, #0008 20%, #0000);
}

header .menu-container.active {
    background: white !important;
}

header .menu-container.active .hfe-nav-menu-layout.horizontal a,
header .hfe-dropdown a {
    color: black !important;
}

header .menu-container.active .uzdrowiska-logo img {
    filter: none !important;

}

header #List-Light--Streamline-Phosphor {
    filter: invert(1) !important;
}

header .menu-container.active #List-Light--Streamline-Phosphor {
    filter: invert(0) !important;
}

header .uzdrowiska-logo img {
    filter: saturate(0) brightness(10) !important;
}

header .hfe-nav-menu__layout-horizontal.hfe-dropdown {
    height: 100vh !important;
    background: white !important;
    right: 0px !important;
    left: auto !important;
    top: 0px !important;
    position: fixed !important;
    width: 0 !important;

    transition: all 0.5s;
    padding: 3rem !important;
    padding-top: 8rem !important;
    align-items: start !important;
}

header .hfe-nav-menu__layout-horizontal.hfe-dropdown.menu-is-active {
    width: min(100vw, 600px) !important;
    opacity: 1 !important;
    overflow-y: auto !important;
    visibility: visible !important;
}

header .hfe-nav-menu__layout-horizontal.hfe-dropdown .hfe-nav-menu {
    display: flex !important;
    flex-direction: column !important;
}

header .hfe-nav-menu__layout-horizontal.hfe-dropdown .hfe-nav-menu>li {
    border: none !important;
}

header .hfe-nav-menu__layout-horizontal.hfe-dropdown .hfe-menu-item {
    font-family: "Ivy Mode", serif !important;
    font-size: 32px !important;
}

header .hfe-nav-menu__toggle {
    z-index: 10000;
}

@media screen and (max-width: 640px) {
    header .hfe-nav-menu__layout-horizontal.hfe-dropdown {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* FOOTER */

@media screen and (max-width: 1200px) {
    footer .menu-item {
        margin: 0.5rem 0;
    }
}

/* BADGES */

.uzdrowiska-badges {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    gap: 10px;
}

.uzdrowiska-badge {
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 1000px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.uzdrowiska-badge svg {
    width: 8px;
    height: 8px;
}

.uzdrowiska-badge__title {
    color: #777;
    font-size: 12px;
    letter-spacing: 2%;
    line-height: 160%;
}

/* NEWS */
.uzdrowiska-posts {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 64px));
    gap: 128px;
    overflow: hidden;
    width: 100%;
    margin-top: 4rem;
    position: relative;
}

.uzdrowiska-posts::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    width: 1px;
    height: 100%;
    background: #ddd;
    left: 30px;
    right: 0;
    margin: 0 auto;
}

.uzdrowiska-posts__main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.uzdrowiska-posts h3 {
    margin: 0;
    font-size: 32px;
    line-height: 120%;
}

.uzdrowiska-posts__tags {
    display: flex;
    align-items: center;
}

.uzdrowiska-posts hr {
    color: #ddd !important;
    border: none;
    display: block;
    height: 1px;
    width: 100%;
    background: #ddd;
}

.uzdrowiska-posts__content {
    color: #777777;
    line-height: 190%;
    letter-spacing: 2%;
}

.uzdrowiska-posts__content a {
    color: #d5133a !important;
    font-weight: 700;
}

.uzdrowiska-posts__image img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 12px;
}

.uzdrowiska-posts__list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.uzdrowiska-posts__list__item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

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

    /*  */
    .uzdrowiska-posts {
        grid-template-columns: 100% !important;
        gap: 1rem !important;
    }

    .uzdrowiska-posts::before {
        display: none !important;
    }
}

/* POST LIST */

.uzdrowiska-post-list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.uzdrowiska-post-list__item {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.uzdrowiska-post-list__image img {
    height: 100%;
    min-height: 360px;
    width: 260px;
    min-width: 260px;
    object-fit: cover;
    border-radius: 8px;
}

.uzdrowiska-post-list__content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.uzdrowiska-post-list__content>h3 {
    margin: 0;
    font-size: 32px;
    letter-spacing: -2%;
    line-height: 100%;
}

.uzdrowiska-post-list__content>a {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: black !important;
}

@media screen and (max-width: 768px) {
    .uzdrowiska-post-list__item {
        flex-direction: column;
    }

    .uzdrowiska-post-list__image {
        width: 100% !important;
    }

    .uzdrowiska-post-list__image img {
        width: 100% !important;
    }
}

/* WP FORM */
.wpforms-field input,
.wpforms-field textarea {
    width: 100% !important;
    max-width: none !important;
    border-color: #dddddd !important;
    border-radius: 8px !important;
    padding: 1.5rem 1rem !important;
    outline: none !important;
    box-shadow: none !important;
}

.wpforms-field input:focus,
.wpforms-field textarea:focus {
    border-color: #dddddd !important;
    box-shadow: none !important;
}

.wpforms-field textarea {
    min-height: 200px !important;
    height: 200px;
}

.wpforms-field {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.wpforms-submit {
    background: #d5133a !important;
    padding: 1em 1rem !important;
    height: fit-content !important;
    display: flex !important;
    border-radius: 8px !important;
    gap: 1.5rem !important;
    box-shadow: none !important;
    border: none !important;
    width: fit-content !important;
}

.wpforms-submit::after {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg width='26' height='15' viewBox='0 0 26 15' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M17.3333 15C17.3333 14.205 18.1274 13.0179 18.9313 12.0214C19.9648 10.7357 21.1997 9.61393 22.6157 8.75786C23.6773 8.11607 24.9643 7.5 26 7.5M26 7.5C24.9643 7.5 23.6762 6.88393 22.6157 6.24214C21.1997 5.385 19.9648 4.26321 18.9313 2.97964C18.1274 1.98214 17.3333 0.792857 17.3333 -2.80827e-07M26 7.5L-3.27835e-07 7.5' stroke='white'/></svg>") !important;
    width: 1.5rem !important;
    background-size: contain !important;
    border: none !important;
    position: static !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

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

    .wpforms-container .wpforms-first,
    .wpforms-one-half {
        width: 100% !important;
    }

    .wpforms-container .wpforms-field.wpforms-one-half {
        margin-left: 0 !important;
    }
}

/* FILTERS */
.therapies {
    display: flex;
    flex-direction: column;
}

.therapies__filters {
    display: flex;
    align-items: center;
    gap:
        1rem;
    flex-wrap: wrap;
}

.therapies__filter__text {
    position: relative;

}

.therapies__filter__text svg {
    position: absolute;
    margin:
        auto;
    width: 1rem;
    height: 2rem;
    top: 0;
    bottom: 0;
    left: 1rem;
}

.therapies__filter__text input {
    padding-left: 3rem !important;
    border:
        1px solid #ddd !important;
    border-radius:
        8px !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    width: min(100%, 400px) !important;
}

.therapies__filter__select {
    position: relative;

}

@media screen and (max-width: 640px) {
    .therapies__filter__select__title {
        max-width: 100% !important;
        width: 100% !important;
    }

}

.therapies__filter__select__title {
    border:
        1px solid #ddd;
    height: 50px;
    min-width: min(350px, 100vw);
    justify-content: space-between;
    max-width: min(350px, 100vw);
    border-radius:
        4px;
    display: flex;
    align-items: center;
    padding:
        1.25rem;
    cursor: pointer;
}

.therapies__filter__select__options {
    position: absolute;
    top: 100%;
    margin-top: 1rem;
    background:
        white;
    border:
        1px solid #ddd;
    width: 100%;
    border-radius:
        8px;
    display: none;
    flex-direction: column;
}

.therapies__filter__select__options.active {
    display: flex !important;
}

.therapies__filter__select__options>div {
    width: 100%;
    padding:
        0.75rem 1rem;
    cursor: pointer;
}

.therapies__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 3rem;
    gap:
        2rem;
}

@media screen and (max-width: 1300px) {
    .therapies__list {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media screen and (max-width: 1024px) {
    .therapies__list {
        grid-template-columns: 100% !important;
    }
}

.therapies__list__item {
    display: flex;
    flex-direction: column;
    gap:
        1.25rem;
}


.therapies__list__item img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius:
        8px;
}

.therapies__list__item h3 {
    font-size: 32px;
    color: black;
}

.therapies__list__item__tags {
    display: flex;
    align-items: start;
    gap:
        1rem;
    flex-wrap: wrap !important;

}

.therapies__list__item__tags svg {
    width: 10px;
    height: 10px;
    min-width: 10px;
}

.therapies__list__item__tags h4 {
    font-size: 18px;
    color: black;
    text-wrap:
        nowrap;
    line-height: 100%;
    margin:
        0;
}

.therapies__list__item__tags .uzdrowiska-badges {
    margin-left: auto;
    width: fit-content;
    max-width: 100%;
}

.therapies__list__item__tags>span {
    font-size: 12px;
    margin-left: auto;
}

.therapies__list__item__description {
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 2%;
}

.therapies__list__item--hidden {
    display: none !important;
}

.therapies__button {
    margin-top: 2rem;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    background:
        #d5133a;
    color: white;
    border-radius:
        8px;
    padding:
        12px 18px;
}

.therapies__button.therapies__button--hidden {
    display: none !important;
}


/* EVENT CALENDAR */

* {
    --tec-color-accent-primary: #d5133a
}

body .tribe-events .datepicker .day.active,
body .tribe-events .datepicker .day.active.focused,
body .tribe-events .datepicker .day.active:focus,
body .tribe-events .datepicker .day.active:hover,
body .tribe-events .datepicker .month.active,
body .tribe-events .datepicker .month.active.focused,
body .tribe-events .datepicker .month.active:focus,
body .tribe-events .datepicker .month.active:hover,
body .tribe-events .datepicker .year.active,
body .tribe-events .datepicker .year.active.focused,
body .tribe-events .datepicker .year.active:focus,
body .tribe-events .datepicker .year.active:hover {
    --tec-color-accent-primary: #d5133a
}

.tribe-common-l-container {
    max-width: none !important;
}

#tribe-events-pg-template {
    padding-top: 150px;
    max-width: 1792px;
}

#tribe-events-pg-template * {
    font-weight: 400 !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__export-icon,
.tribe-block__events-link .tribe-events-c-subscribe-dropdown__export-icon,
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-common-c-svgicon {
    color: #d5133a !important;
}

.tribe-common-c-btn-border {
    background: white !important;
}

.tribe-events-back {
    display: none !important;
}

.uzdrowiska-reviews__navigation {
    display: flex;
    align-items: center;
    gap:
        1rem;
    margin-top: 1rem;
}

.uzdrowiska-reviews__navigation .swiper-navigation-prev {
    height: 40px;
    cursor: pointer;

}

.uzdrowiska-reviews__navigation .swiper-navigation-next {
    height: 40px;
    transform: rotate(180deg);
    cursor: pointer;
}

/* PROCESS */
.uzdrowiska-process {
    display: flex;
    flex-direction: column;
    gap:
        4rem;
    max-width: 1200px;
    margin:
        0 auto;

    position: relative;
}

.uzdrowiska-process::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: #ddd;
    z-index: -1;
    width: 1px;
    height: 100%;
    margin: auto;
}

.uzdrowiska-process__item {
    max-width: 50%;
    margin-left: auto;
    padding-left: 80px;
    position: relative;
}

.uzdrowiska-process__item:nth-child(even) {
    margin-left: 0 !important;
    padding-left: 0px !important;
    padding-right: 80px !important;

}

.uzdrowiska-process__item svg {
    position: absolute;
    top: 2rem;
    width: 1rem;
    height: 1rem;
    left: -8px;
}

.uzdrowiska-process__item:nth-child(even) svg {
    left: initial !important;
    right: -8px;

}

.uzdrowiska-process__item__content h3 {
    font-size: 40px;
    padding: 0 !important;
}

.uzdrowiska-process__item__content span {
    color: #777;
    line-height: 160%;
}

@media screen and (max-width: 768px) {
    .uzdrowiska-process::before {
        margin: 0 !important;
    }

    body .uzdrowiska-process__item,
    body .uzdrowiska-process__item:nth-child(2n) {
        max-width: 100% !important;
        padding-left: 40px !important;
        padding-right: 0px !important;
    }

    .uzdrowiska-process__item svg,
    body .uzdrowiska-process__item:nth-child(2n) svg {
        left: -8px !important;
        right: unset !important;
    }

    .uzdrowiska-process__item__content h3 {
        font-size: 24px !important;
    }
}

/* INVESTMENTS MAP */
.uzdrowiska-investments {
    display: flex;
    align-items: start;
    justify-content: end;
    position: relative;
}

.uzdrowiska-investments__content {
    max-width: calc(1792px / 2);
    width: 50%;
    padding-top: 2rem;
    color: black;
    padding-right: 100px;
    max-height: 1000px;
    overflow-y: auto;
    padding-bottom: 2rem;
    position: relative;
}

.uzdrowiska-investments__content {
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.uzdrowiska-investments__content::-webkit-scrollbar {
    display: none;
}

.uzdrowiska-investments::after {
    position: absolute;
    bottom: 0;
    content: '';
    left: 0;
    background:
        linear-gradient(to bottom, #fff0, #fff);
    height: 200px;
    width: 100%;
}

.uzdrowiska-investments__content h2 {
    font-size: 64px;
    line-height: 100%;
    letter-spacing: -2%;
    margin:
        0;
}

.uzdrowiska-investments__map {
    width: 50%;
    height: 1000px;
}

.uzdrowiska-investments__items {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.uzdrowiska-investments__item>img {
    width: 100%;
    max-height: 160px;
    object-fit: cover;
    border-radius:
        12px;
}

.uzdrowiska-investments__item .uzdrowiska-investments__item__content {
    display: flex;
    flex-direction: column;
    gap:
        0.5rem;
    margin-top: 1rem;
}

.uzdrowiska-investments__item h3 {
    font-size: 32px;
    margin:
        0 !important;
}

.uzdrowiska-investments__item p {
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 2%;
    max-width: 600px;
}

.leaflet-popup-content {
    margin: 0 !important;
}

.leaflet-popup-tip-container,
.leaflet-popup-close-button {
    display: none !important;
}

.leaflet-popup-content {
    width: 350px !important;
}

.uzdrowiska-investments__popup img {
    height: 160px;
    object-fit: cover;
    border-radius:
        8px;
    width: 100%;
}

.uzdrowiska-investments__popup h3 {
    margin:
        0;
    padding:
        0 1rem;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: -2%;
    color: black;
    margin-top: 0.5rem;
}

.uzdrowiska-investments__popup__description {
    padding:
        0 1rem;
    line-height: 140%;
    color: #777;
    font-size: 16px;
    letter-spacing: 2%;
    margin-top: 1rem;
    font-family: 'Montserrat', sans-serif;
    padding-bottom: 1rem;
}

/* FACILITIES */
@media screen and (min-width: 1200px) {

    .facilities__container,
    .facilities__expands__single {
        max-height: 800px;
        overflow-y: auto;
    }

    .facilities__expands__single {
        display: none !important;
    }
}

.facilities__container__single {}

.facilities__container__single {
    cursor: pointer;
}

.facilities__expands__single--active.facilities__expands__single {
    display: flex !important;
}

.facilities__container {
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.facilities__container::-webkit-scrollbar {
    display: none;
}

/* FACILITIES */
@media screen and (min-width: 1024px) {
    .position-sticky {
        position: sticky;
        top: 0;
    }
}

/* POST ARCHIVE */

.uzdrowiska-post-archive-tags {
    display: flex;
    width: 100%;
    gap:
        1rem;
    flex-wrap: wrap;
}

.uzdrowiska-post-archive-tag {
    display: block;
    text-transform: capitalize;
    padding:
        8px 14px;
    font-size: 14px;
    color: #d3143b !important;
    border:
        1px solid #d3143b47;
    border-radius:
        1000px;
}

.uzdrowiska-post-archive-tag.active {
    background: #d3143b;
    color: white !important;
    border: none !important;
}

.uzdrowiska-post-archive {
    font-family: 'Proxima Nova', sans-serif;
}

.uzdrowiska-post-posts {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:
        32px;
    font-family: 'Proxima Nova';
}

.uzdrowiska-post-single {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap:
        1rem;
}

.uzdrowiska-post-single img {
    height: 350px;
    object-fit: cover;
}

.uzdrowiska-post-archive img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.uzdrowiska-post-archive .uzdrowiska-post-metadata {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap:
        1rem;
}

.uzdrowiska-post-archive .uzdrowiska-date {
    font-weight: 500;
    font-size: 18px;
}

.uzdrowiska-post-posts .uzdrowiska-tag {
    display: block;
    text-transform: capitalize;
    padding:
        8px 14px;
    font-size: 14px;
    color: #d3143b !important;
    border:
        1px solid #d3143b;
    border-radius:
        1000px;
}

.uzdrowiska-post-posts h2 {
    margin:
        0;
    font-size: 32px;
    letter-spacing: -4%;
    font-weight: 500;
    color: black;
    line-height: 90%;
}

.uzdrowiska-post-posts .uzdrowiska-excerpt {
    font-size: 18px;
    color: rgba(0, 0, 0, 0.8);
}

.uzdrowiska-post-posts a {
    display: flex;
    align-items: center;
    gap:
        1rem;
    width: fit-content;
    margin-left: auto;
    border-bottom:
        1px solid #d3143b;
}

.uzdrowiska-post-posts a span {
    color: #d3143b;
    font-weight: 500;
    font-size: 18px;
}

@media screen and (max-width: 1200px) {
    .uzdrowiska-post-posts {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media screen and (max-width: 768px) {
    .uzdrowiska-post-posts {
        grid-template-columns: repeat(1, 100%);
    }
}

/* ARTICLE CONTENT */
.article-content {
    display: flex;
    flex-direction: column;
    gap:
        0;
    align-items: center;
    width: 100vw;
}

.article-content-image {
    width: 100%;
}

.article-content-image img {
    width: 100%;
    height: 600px;
    object-fit: cover;
}

.article-content h1 {
    max-width: 1200px;
    color: black;

    padding: 0 1rem;
    font-size: 64px;
    line-height: 100%;
    margin: 0;
    margin-top: 1rem;

}

@media screen and (max-width: 1024px) {
    .article-content h1 {
        font-size: 48px;
    }

}

.article-content-metadata {
    margin-top: 1rem;
    color: #777;
    max-width: 1200px;
    padding: 0 1rem;
    width: 100%;
}

.article-post-content {
    padding: 0 1rem;
    color: black;
    max-width: 1200px;
    margin-top: 1rem;
}

.article-post-content .wp-block-heading strong {
    font-weight: 400 !important;
}

.article-post-content .wp-block-image {
	width: 100%;
}

.wpforms-field-label {
	display: none !important;
}

body.error404 #content {
	display: none !important;
}