:root {
    --body: #ffffff;
    --text-main: #383838;
    --primary-100: #1DBAB5;
    --primary-100-20: #1DBAB533;
    --primary-100-36: #1DBAB55c;
    --primary-100-50: #1DBAB580;
    --primary-200: #159F9B;
    --secondary-100: #114B5F;
    --secondary-200: #0F3E4F;
    --heading-100: #373434;
    --heading-200: #181616;
    --text-100: #E7E7E7;
    --text-200: #A6A6A6;
    --text-300: #888888;
    --text-400: #848484;
    --text-500: #747474;
    --text-600: #383838;
    --gray-100: #F7F7F7;
    --gray-200: #E6E6E6;
    --gray-300: #DBDBDB;
    --gray-400: #A7A7A7;
    --input-bg: #f5f6f7;
    --input-secondary-bg: #ffffff;
    --input-text: #383838;
    --blue: #114B5F;
    --green: #1dbab5;
    --yellow: #FFBD12;
    --yellow-20: #FFBD1233;
    --red: #d60043;
    --red-20: #d6004333;
    --main-font: "IRANYekanXFANum";
    --secondary-font: "AnjomanFANum"
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
    line-height: 2;
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

    blockquote:after, blockquote:before, q:after, q:before {
        content: "";
        content: none
    }

table {
    border-collapse: collapse;
    border-spacing: 0
}

html {
    overflow-x: hidden;
    font-family: var(--main-font)
}

    html:has(body.sticky-header) {
        scroll-padding-top: 160px
    }

body {
    overflow-x: hidden;
    overflow-wrap: break-word;
    position: relative;
    max-width: 100%;
    color: var(--text-main);
    background-color: var(--body)
}

body, html {
    scroll-behavior: smooth
}

a {
    color: var(--primary-100);
    text-decoration: none;
    will-change: color,background,border,font-size,font-weight,line-height,transform;
    transition: .2s ease-in-out;
    transition-property: color,background,border,font-size,font-weight,line-height,transform
}

    a:focus-visible, button:focus-visible, input:focus-visible {
        outline: 1px dashed #747474;
        outline-offset: 2px
    }

.outline:focus {
    outline: 1px dashed var(--gray-200) !important
}

.elementor-heading-title, .elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a {
    line-height: 1.5
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-100)
}

h1, h2, h3, h4 {
    font-weight: 800
}

img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    font-style: italic;
    font-size: .875rem;
    color: var(--text-200)
}

video {
    max-width: 100%
}

.ltr {
    direction: ltr
}

.rtl {
    direction: rtl
}

[class*=" newweb-icon-"], [class=newweb-icon], [class^=newweb-icon-] {
    font-size: 1.5em
}

.round-8 {
    border-radius: 8px !important
}

.round-16 {
    border-radius: 16px !important
}

.circle {
    border-radius: 50% !important
}

.entry-container {
    padding: 0
}

.hide {
    display: none !important
}

.show {
    opacity: 1 !important;
    visibility: visible !important
}

.fullwidth {
    width: 100% !important
}

svg.size-24 {
    width: 24px !important;
    height: 24px !important
}

svg.size-28 {
    width: 28px !important;
    height: 28px !important
}

.screen-reader-text {
    clip: rect(1px,1px,1px,1px) !important;
    word-wrap: normal !important;
    border: 0 !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important
}

::-webkit-scrollbar {
    width: 8px
}

body ::-webkit-scrollbar {
    width: 8px;
    height: 8px
}

::-webkit-scrollbar-track {
    border-radius: 96px;
    background: var(--gray-600)
}

::-webkit-scrollbar-thumb {
    background: var(--primary-200);
    border-radius: 96px
}

    ::-webkit-scrollbar-thumb:hover {
        background: var(--primary-100)
    }

.line-clamp a, .line-clamp:not(:has(a)) {
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical
}

.line-clamp-1 a, .line-clamp-1:not(:has(a)) {
    line-clamp: 1;
    -webkit-line-clamp: 1
}

.line-clamp-2 a, .line-clamp-2:not(:has(a)) {
    line-clamp: 2;
    -webkit-line-clamp: 2
}

.line-clamp-3 a, .line-clamp-3:not(:has(a)) {
    line-clamp: 3;
    -webkit-line-clamp: 3
}

a, a:active, button, button:active, input, input:active, textarea, textarea:active {
    outline: 1px solid transparent
}

.disabled, [disabled] {
    opacity: .5;
    touch-action: none;
    pointer-events: none
}

.newweb-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,.4);
    z-index: 9999;
    display: none;
    cursor: pointer
}

#container {
    overflow-x: hidden;
    min-height: 100vh;
    min-height: 100dvh
}

#header-container + #page-body {
    padding-top: 64px
}

.sticky-header.admin-bar #header-container + #page-body {
    padding-top: 32px
}

.page-width {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: 72px;
    box-sizing: border-box
}

::selection {
    color: #fff;
    background-color: var(--primary-100)
}

::-moz-selection {
    color: #fff;
    background-color: var(--primary-100)
}

table {
    width: 100%;
    margin-bottom: 1em
}

    table td, table th {
        border: 1px solid var(--gray-500);
        padding: 2px 12px
    }

    table th {
        text-align: start
    }

    table td {
        text-align: start
    }

#overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--primary-100-50);
    z-index: 100;
    backdrop-filter: blur(8px);
    cursor: pointer;
    display: none
}

#primary {
    align-items: flex-start;
    row-gap: 20px;
    margin: 0
}

#post-content {
    margin: 0
}

#page-header, .woocommerce-products-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap
}

#breadcrumb-wrap ~ #page-header {
    margin-top: 0
}

#page-title {
    margin: 0
}

#header > * {
    z-index: 2
}

#header-container {
    z-index: 100
}

#header_inner {
    --header-bg: #fff;
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: start;
    grid-template-rows: min-content;
    gap: 16px;
    padding: 24px 48px 24px 32px;
    border-radius: 0 0 32px 32px;
    height: auto;
    background: var(--header-bg);
    box-shadow: 0 0 12px 0 rgba(158,158,158,.25);
    box-sizing: border-box;
    z-index: 100;
    will-change: height;
    transition: height .2s ease-in-out
}

.site-title {
    display: flex;
    font-size: inherit;
    line-height: unset
}

    .site-title a {
        color: inherit;
        font-family: inherit;
        line-height: inherit;
        font-size: inherit
    }

.header-actions-wrap {
    margin-inline-start: auto;
    display: flex;
    gap: 12px;
    align-items: center
}

.header-logo {
    max-width: 308px
}

.header-menu-wrap {
    margin-inline-start: 24px
}

.header-mobile-menu-wrap {
    grid-column: 1/-1;
    align-self: start;
    padding-top: 12px;
    padding-inline: 4px;
    height: 75vh;
    overflow: hidden auto
}

    .header-mobile-menu-wrap .header-mobile-actions-wrap {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: "account cart";
        gap: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--gray-300);
        margin-bottom: 16px
    }

        .header-mobile-menu-wrap .header-mobile-actions-wrap .header-cart-wrap {
            grid-area: cart
        }

        .header-mobile-menu-wrap .header-mobile-actions-wrap .header-account-wrap {
            grid-area: account
        }

            .header-mobile-menu-wrap .header-mobile-actions-wrap .header-account-wrap.guest-user-wrap {
                justify-self: start;
                padding-inline: 1px
            }

            .header-mobile-menu-wrap .header-mobile-actions-wrap .header-account-wrap.has-notif-badge {
                margin-inline-start: 5px
            }

        .header-mobile-menu-wrap .header-mobile-actions-wrap .woocommerce-mini-cart {
            max-height: 460px
        }

    .header-mobile-menu-wrap .header-menu-wrap {
        margin: 0
    }

        .header-mobile-menu-wrap .header-menu-wrap .menu > ul, .header-mobile-menu-wrap .header-menu-wrap ul.menu {
            flex-direction: column;
            gap: 16px;
            align-items: start
        }

            .header-mobile-menu-wrap .header-menu-wrap .menu > ul > li, .header-mobile-menu-wrap .header-menu-wrap ul.menu > li {
                width: 100%;
                padding: 4px
            }

                .header-mobile-menu-wrap .header-menu-wrap .menu > ul > li .menu-item-icon, .header-mobile-menu-wrap .header-menu-wrap ul.menu > li .menu-item-icon {
                    font-size: 1.25rem
                }

.header-mobile-menu-toggle-icons {
    gap: 0 !important;
    padding: 4px !important
}

    .header-mobile-menu-toggle-icons i {
        font-size: 1.75rem;
        will-change: font-size,transform;
        transition: .3s ease-in-out;
        transition-property: font-size,transform
    }

    .header-mobile-menu-toggle-icons.closed i:last-child {
        font-size: 0;
        transform: rotate(45deg)
    }

    .header-mobile-menu-toggle-icons:not(.closed) i:first-child {
        font-size: 0;
        transform: rotate(45deg)
    }

.header-popover {
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: #fff;
    box-shadow: 0 0 12px 0 rgba(158,158,158,.25);
    padding: 12px;
    border-radius: 16px;
    box-sizing: border-box;
    overflow: auto;
    position: absolute;
    inset-inline: 0;
    top: calc(100% + 16px);
    z-index: 1;
    cursor: initial;
    will-change: opacity,visibility;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility
}

.header-cart-texts {
    display: flex;
    flex-direction: column;
    text-align: left;
    gap: 2px
}

.header-cart-empty {
    padding-inline-start: 8px
}

.header-cart-count-wrap, .header-cart-total {
    line-height: 1
}

.header-cart-count-wrap {
    position: absolute;
    inset-block-start: -10px;
    inset-inline-start: -10px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background: var(--secondary-100);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    border-radius: 50%;
    box-sizing: border-box
}

    .header-cart-count-wrap:has(.cart-count:empty) {
        display: none
    }

.header-cart-total {
    color: var(--text-200);
    font-size: 1.25rem
}

    .header-cart-total .amount bdi {
        justify-content: end;
        gap: 2px
    }

    .header-cart-total .woocommerce-Price-currencySymbol {
        color: var(--text-400);
        font-size: .875rem
    }

        .header-cart-total .woocommerce-Price-currencySymbol .currency-symbol-text {
            display: block
        }

        .header-cart-total .woocommerce-Price-currencySymbol svg {
            display: none
        }

.header-cart-wrap {
    position: relative;
    width: fit-content
}

    .header-cart-wrap::before {
        content: "";
        position: absolute;
        top: 100%;
        height: 20px;
        inset-inline: auto 0;
        width: 100%
    }

    .header-cart-wrap:focus .header-mini-cart-wrap, .header-cart-wrap:focus-within .header-mini-cart-wrap, .header-cart-wrap:hover .header-mini-cart-wrap {
        opacity: 1;
        visibility: visible
    }

        .header-cart-wrap:focus .header-mini-cart-wrap:is(.header-cart-wrap.has-btn-arrow.header-mini-cart-wrap), .header-cart-wrap:focus-within .header-mini-cart-wrap:is(.header-cart-wrap.has-btn-arrow.header-mini-cart-wrap), .header-cart-wrap:hover .header-mini-cart-wrap:is(.header-cart-wrap.has-btn-arrow.header-mini-cart-wrap) {
            inset-inline-end: 0
        }

    .header-cart-wrap .header-mini-cart-wrap {
        width: fit-content;
        min-width: 300px;
        top: auto;
        margin-top: 20px
    }

        .header-cart-wrap .header-mini-cart-wrap.p-start {
            inset-inline: 0 auto
        }

        .header-cart-wrap .header-mini-cart-wrap.p-end {
            inset-inline: auto 0
        }

        .header-cart-wrap .header-mini-cart-wrap.p-center {
            transform: translateX(50%);
            inset-inline: 50% 0
        }

.header-action-btn {
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    box-sizing: border-box;
    width: 100%
}

.header-action-icon {
    font-size: 1.5rem
}

.header-cart-btn {
    position: relative;
    background: var(--gray-100);
    padding: 16px 12px;
    border: 1px solid var(--gray-100);
    color: var(--primary-100)
}

    .header-cart-btn:focus, .header-cart-btn:focus-within, .header-cart-btn:hover {
        background: var(--primary-100);
        color: #fff
    }

.header-account-wrap {
    position: relative;
    border-radius: 12px;
    border: 1px solid var(--primary-100);
    width: fit-content;
    display: flex;
    align-items: center;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .header-account-wrap::before {
        content: "";
        position: absolute;
        top: 100%;
        height: 20px;
        inset-inline: auto 0;
        width: 100%
    }

    .header-account-wrap .header-action-btn {
        display: flex;
        align-items: center;
        gap: 16px;
        height: 54px;
        cursor: pointer;
        padding: 4px 12px;
        background: #fff;
        box-sizing: border-box;
        transition: all .2s ease-in-out
    }

        .header-account-wrap .header-action-btn.guest-user {
            padding-block: 16px
        }

    .header-account-wrap .account-avatar {
        border-radius: 50%;
        width: 48px;
        height: 48px;
        object-fit: cover;
        border: 1px solid var(--primary-100);
        box-sizing: border-box
    }

    .header-account-wrap .header-account-display_name {
        position: relative;
        font-size: .875rem;
        font-weight: 500;
        max-width: 100px
    }

        .header-account-wrap .header-account-display_name::before {
            content: "";
            position: absolute;
            height: 22px;
            width: 1px;
            background-color: #e2e2e2;
            top: 50%;
            transform: translateY(-50%);
            inset-inline-start: -8px
        }

    .header-account-wrap.has-btn-arrow.active .header-account-items, .header-account-wrap:not(.has-btn-arrow):focus .header-account-items, .header-account-wrap:not(.has-btn-arrow):focus-within .header-account-items, .header-account-wrap:not(.has-btn-arrow):hover .header-account-items {
        opacity: 1;
        visibility: visible
    }

    .header-account-wrap .header-account-active-icon {
        margin-inline-start: auto;
        color: var(--text-200);
        font-size: 1.75rem;
        will-change: transform;
        transition: transform .3s ease-in-out
    }

    .header-account-wrap.active .header-account-active-icon {
        transform: rotate(180deg)
    }

.header-account-avatar-wrap {
    display: flex;
    position: relative
}

    .header-account-avatar-wrap::after {
        content: "";
        position: absolute;
        inset-block: 13px;
        inset-inline-end: -8px;
        z-index: 1;
        width: 1px;
        height: 22px;
        background: var(--gray-200);
        top: 50%;
        transform: translateY(-50%)
    }

    .header-account-avatar-wrap:has(i)::after {
        inset-block: 0;
        height: 100%
    }

.header-header-action-btn span {
    font-weight: 600
}

ul.header-account-items {
    min-width: 240px;
    max-width: 300px;
    padding: 16px;
    gap: 8px
}

    ul.header-account-items.p-start {
        inset-inline: 0 auto
    }

    ul.header-account-items.p-end {
        inset-inline: auto 0
    }

    ul.header-account-items.p-center {
        transform: translateX(50%);
        inset-inline: 50% 0
    }

.account-item-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    border-radius: 12px;
    color: var(--text-main);
    will-change: color,background,padding;
    transition: .2s ease-in-out;
    transition-property: color,background,padding
}

    .account-item-link .account-item-icon {
        font-size: 1.125rem
    }

    .account-item-link .account-item-label {
        display: flex;
        align-items: center;
        gap: 8px
    }

    .account-item-link .account-item-hover-icon {
        margin-inline-start: auto;
        opacity: 0;
        visibility: hidden;
        will-change: opacity,visibility;
        transition: .2s ease-in-out;
        transition-property: opacity,visibility
    }

    .account-item-link:focus, .account-item-link:focus-within, .account-item-link:hover {
        color: #fff;
        background: var(--primary-100);
        padding: 10px
    }

        .account-item-link:focus .account-item-hover-icon, .account-item-link:focus-within .account-item-hover-icon, .account-item-link:hover .account-item-hover-icon {
            opacity: 1;
            visibility: visible
        }

.account-item:not(:last-child) .account-item-link {
    position: relative
}

    .account-item:not(:last-child) .account-item-link::after {
        content: "";
        position: absolute;
        bottom: -4px;
        background-color: var(--text-100);
        opacity: .5;
        inset-inline: 0;
        height: 1px
    }

.site-logo {
    display: flex
}

.header-mobile-menu-btn {
    margin-inline-start: auto;
    border-radius: 12px
}

.sticky-header #header-container {
    position: fixed;
    top: 0;
    inset-inline: 0
}

    .sticky-header #header-container + * {
        margin-top: var(--header-height,106px)
    }

.sticky-header.admin-bar #header-container + * {
    margin-top: var(--header-height,138px)
}

.sticky-header.admin-bar #header-container {
    top: 32px
}

#breadcrumb-wrap {
    margin-bottom: 40px
}

    #breadcrumb-wrap #newweb-breadcrumbs {
        display: flex;
        align-items: center;
        flex-wrap: wrap
    }

    #breadcrumb-wrap .breadcrumb-separator {
        display: flex;
        font-size: .625rem;
        margin-inline: 2px 4px
    }

    #breadcrumb-wrap .breadcrumb-item {
        font-size: .875rem;
        color: var(--text-200)
    }

    #breadcrumb-wrap .breadcrumb-item-active {
        color: var(--heading-200);
        font-weight: 700
    }

    #breadcrumb-wrap + .woocommerce-notices-wrapper:not(:empty) {
        margin-top: 16px
    }

#page-title, #post-title {
    font-size: 1.125rem;
    font-weight: 800
}

.post-thumbnail, .post-thumbnail a {
    display: flex;
    position: relative
}

select.orderby {
    display: none
}

.newweb-loading-image-1-c1 {
    stroke: var(--primary-100)
}

.newweb-loading-image-1-c2 {
    stroke: var(--secondary-100)
}

[data-swapy-dragging] {
    user-select: none !important
}

.newweb-notice {
    padding: 10px 16px;
    background: #fff;
    margin-bottom: 16px;
    border-radius: 12px;
    border: 1px solid var(--primary-100)
}

.newweb-notice-success {
    background: var(--primary-100-20)
}

.newweb-notice-error {
    border-color: var(--red);
    background: var(--red-20);
    color: var(--red)
}

.media-frame, .media-modal, .rtl .media-frame, .rtl .media-frame .search, .rtl .media-frame input[type=email], .rtl .media-frame input[type=number], .rtl .media-frame input[type=password], .rtl .media-frame input[type=search], .rtl .media-frame input[type=tel], .rtl .media-frame input[type=text], .rtl .media-frame input[type=url], .rtl .media-frame select, .rtl .media-frame textarea, .rtl .media-modal {
    font-family: var(--main-font) !important
}

    .media-modal .media-router .media-menu-item {
        border-radius: 12px;
        color: var(--primary-100);
        border: 1px solid var(--primary-100);
        background: #fff;
        margin-inline: 0 8px;
        margin-block: -4px 0
    }

        .media-modal .media-router .media-menu-item.active {
            background: var(--primary-100);
            color: #fff
        }

            .media-modal .media-router .active, .media-modal .media-router .media-menu-item.active:last-child {
                background: var(--primary-100);
                border: 1px solid var(--primary-100);
                margin-inline: 0 8px;
                margin-block: -4px 0
            }

    .media-modal .attachments-browser .media-toolbar {
        height: 80px;
        left: 0
    }

    .media-modal .attachments-browser .uploader-inline, .media-modal .attachments-browser.has-load-more .attachments-wrapper, .media-modal .attachments-browser:not(.has-load-more) .attachments {
        top: 80px
    }

    .media-modal .media-modal-content .media-frame select.attachment-filters {
        min-width: 140px
    }

    .media-modal .media-sidebar {
        display: none
    }

    .media-modal .attachments-browser .uploader-inline, .media-modal .attachments-browser.has-load-more .attachments-wrapper, .media-modal .attachments-browser:not(.has-load-more) .attachments {
        left: 0
    }

    .media-modal .media-modal-close {
        margin: 12px;
        width: 28px;
        height: 28px;
        border-radius: 6px
    }

        .media-modal .media-modal-close:active, .media-modal .media-modal-close:hover {
            color: #fff
        }

body .lg-container {
    position: relative;
    z-index: 999999
}

    body .lg-container .lg-content {
        direction: ltr
    }

.newweb-menu-wrap {
    margin-inline-start: 24px
}

    .newweb-menu-wrap.right {
        margin-inline-end: auto
    }

    .newweb-menu-wrap.left {
        margin-inline-start: auto
    }

    .newweb-menu-wrap.center {
        margin-inline: auto
    }

    .newweb-menu-wrap.col-direction .menu, .newweb-menu-wrap.col-direction .menu > ul {
        flex-direction: column;
        align-items: start
    }

    .newweb-menu-wrap.col-reverse-direction .menu, .newweb-menu-wrap.col-reverse-direction .menu > ul {
        flex-direction: column-reverse;
        align-items: start
    }

    .newweb-menu-wrap.row-reverse-direction .menu, .newweb-menu-wrap.row-reverse-direction .menu > ul {
        flex-direction: row-reverse
    }

    .newweb-menu-wrap .menu, .newweb-menu-wrap .menu > ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 32px
    }

        .newweb-menu-wrap .menu .menu-item a, .newweb-menu-wrap .menu li a, .newweb-menu-wrap .menu > ul .menu-item a, .newweb-menu-wrap .menu > ul li a {
            display: flex;
            align-items: center;
            gap: 4px;
            color: var(--text-600)
        }

        .newweb-menu-wrap .menu .menu-item-title, .newweb-menu-wrap .menu > ul .menu-item-title {
            font-size: .875rem;
            transition: all .2s ease-in-out
        }

        .newweb-menu-wrap .menu li.menu-item-has-children, .newweb-menu-wrap .menu li.page_item_has_children, .newweb-menu-wrap .menu > ul li.menu-item-has-children, .newweb-menu-wrap .menu > ul li.page_item_has_children {
            position: relative
        }

            .newweb-menu-wrap .menu li.menu-item-has-children:focus-within > .sub-menu, .newweb-menu-wrap .menu li.menu-item-has-children:focus-within > ul.children, .newweb-menu-wrap .menu li.menu-item-has-children:focus > .sub-menu, .newweb-menu-wrap .menu li.menu-item-has-children:focus > ul.children, .newweb-menu-wrap .menu li.menu-item-has-children:hover > .sub-menu, .newweb-menu-wrap .menu li.menu-item-has-children:hover > ul.children, .newweb-menu-wrap .menu li.page_item_has_children:focus-within > .sub-menu, .newweb-menu-wrap .menu li.page_item_has_children:focus-within > ul.children, .newweb-menu-wrap .menu li.page_item_has_children:focus > .sub-menu, .newweb-menu-wrap .menu li.page_item_has_children:focus > ul.children, .newweb-menu-wrap .menu li.page_item_has_children:hover > .sub-menu, .newweb-menu-wrap .menu li.page_item_has_children:hover > ul.children, .newweb-menu-wrap .menu > ul li.menu-item-has-children:focus-within > .sub-menu, .newweb-menu-wrap .menu > ul li.menu-item-has-children:focus-within > ul.children, .newweb-menu-wrap .menu > ul li.menu-item-has-children:focus > .sub-menu, .newweb-menu-wrap .menu > ul li.menu-item-has-children:focus > ul.children, .newweb-menu-wrap .menu > ul li.menu-item-has-children:hover > .sub-menu, .newweb-menu-wrap .menu > ul li.menu-item-has-children:hover > ul.children, .newweb-menu-wrap .menu > ul li.page_item_has_children:focus-within > .sub-menu, .newweb-menu-wrap .menu > ul li.page_item_has_children:focus-within > ul.children, .newweb-menu-wrap .menu > ul li.page_item_has_children:focus > .sub-menu, .newweb-menu-wrap .menu > ul li.page_item_has_children:focus > ul.children, .newweb-menu-wrap .menu > ul li.page_item_has_children:hover > .sub-menu, .newweb-menu-wrap .menu > ul li.page_item_has_children:hover > ul.children {
                opacity: 1;
                visibility: visible;
                pointer-events: all
            }

        .newweb-menu-wrap .menu > li:hover .newweb-simple-icon-wrap.icon-has-bg, .newweb-menu-wrap .menu > ul > li:hover .newweb-simple-icon-wrap.icon-has-bg {
            color: #fff
        }

            .newweb-menu-wrap .menu > li:hover .newweb-simple-icon-wrap.icon-has-bg::before, .newweb-menu-wrap .menu > ul > li:hover .newweb-simple-icon-wrap.icon-has-bg::before {
                background-color: var(--primary-100)
            }

    .newweb-menu-wrap ul.children, .newweb-menu-wrap ul.sub-menu {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        position: absolute;
        top: auto;
        inset-inline-start: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: start;
        min-width: 250px;
        max-width: 300px;
        margin-top: 16px;
        padding: 16px 0;
        border-radius: 16px;
        background-color: #fff;
        box-shadow: 0 0 12px 0 rgba(158,158,158,.25);
        z-index: 10;
        will-change: opacity,visibility;
        transition: .2s ease-in-out;
        transition-property: opacity,visibility
    }

        .newweb-menu-wrap ul.children::before, .newweb-menu-wrap ul.sub-menu::before {
            content: "";
            position: absolute;
            top: -16px;
            height: 16px;
            inset-inline: 0
        }

        .newweb-menu-wrap ul.children ul, .newweb-menu-wrap ul.sub-menu ul {
            inset-inline-start: 100%;
            margin-top: 0;
            top: 0
        }

            .newweb-menu-wrap ul.children ul::before, .newweb-menu-wrap ul.sub-menu ul::before {
                content: unset
            }

        .newweb-menu-wrap ul.children .menu-item-title, .newweb-menu-wrap ul.children li a, .newweb-menu-wrap ul.sub-menu .menu-item-title, .newweb-menu-wrap ul.sub-menu li a {
            grid-area: title;
            color: var(--secondary-100);
            font-weight: 500
        }

        .newweb-menu-wrap ul.children .newweb-simple-icon-wrap, .newweb-menu-wrap ul.sub-menu .newweb-simple-icon-wrap {
            grid-area: icon
        }

        .newweb-menu-wrap ul.children .menu-item-subtitle, .newweb-menu-wrap ul.sub-menu .menu-item-subtitle {
            grid-area: subtitle;
            color: var(--text-200);
            font-size: .875rem;
            font-weight: 300
        }

        .newweb-menu-wrap ul.children .menu-item, .newweb-menu-wrap ul.children:is(.children) li, .newweb-menu-wrap ul.sub-menu .menu-item, .newweb-menu-wrap ul.sub-menu:is(.children) li {
            width: 100%
        }

            .newweb-menu-wrap ul.children .menu-item a, .newweb-menu-wrap ul.children:is(.children) li a, .newweb-menu-wrap ul.sub-menu .menu-item a, .newweb-menu-wrap ul.sub-menu:is(.children) li a {
                gap: 0 8px;
                padding-inline: 16px;
                position: relative;
                display: grid;
                grid-template-areas: "icon title" "icon subtitle";
                grid-template-columns: auto 1fr
            }

                .newweb-menu-wrap ul.children .menu-item a::after, .newweb-menu-wrap ul.children:is(.children) li a::after, .newweb-menu-wrap ul.sub-menu .menu-item a::after, .newweb-menu-wrap ul.sub-menu:is(.children) li a::after {
                    content: "";
                    position: absolute;
                    height: 100%;
                    inset-inline-end: 0;
                    width: 4px;
                    opacity: 0;
                    background: var(--primary-200);
                    border-radius: 96px;
                    will-change: opacity;
                    transition: opacity .2s ease-in-out
                }

                .newweb-menu-wrap ul.children .menu-item a:focus-within::after, .newweb-menu-wrap ul.children .menu-item a:focus::after, .newweb-menu-wrap ul.children .menu-item a:hover::after, .newweb-menu-wrap ul.children:is(.children) li a:focus-within::after, .newweb-menu-wrap ul.children:is(.children) li a:focus::after, .newweb-menu-wrap ul.children:is(.children) li a:hover::after, .newweb-menu-wrap ul.sub-menu .menu-item a:focus-within::after, .newweb-menu-wrap ul.sub-menu .menu-item a:focus::after, .newweb-menu-wrap ul.sub-menu .menu-item a:hover::after, .newweb-menu-wrap ul.sub-menu:is(.children) li a:focus-within::after, .newweb-menu-wrap ul.sub-menu:is(.children) li a:focus::after, .newweb-menu-wrap ul.sub-menu:is(.children) li a:hover::after {
                    opacity: 1
                }

        .newweb-menu-wrap ul.children:hover, .newweb-menu-wrap ul.sub-menu:hover {
            pointer-events: all
        }

.widget-area {
    display: flex;
    flex-direction: column;
    gap: 24px
}

    .widget-area .widget {
        background: var(--gray-100);
        display: flex;
        flex-direction: column;
        gap: 20px;
        border-radius: 16px;
        padding: 16px;
        box-sizing: border-box
    }

        .widget-area .widget input {
            background: #fff
        }

        .widget-area .widget img {
            box-sizing: border-box;
            border: 1px solid var(--gray-200);
            border-radius: 12px;
            will-change: border-color;
            transition: border-color .2s ease-in-out
        }

        .widget-area .widget .checkbox-wrap.checkbox-secondary {
            color: #617081;
            font-size: .875rem;
            font-weight: 600
        }

            .widget-area .widget .checkbox-wrap.checkbox-secondary input:checked + * {
                color: var(--primary-100)
            }

    .widget-area .widgettitle {
        border-radius: 16px;
        padding: 10px;
        background: var(--primary-100);
        color: #fff;
        font-weight: 700;
        font-size: 1rem;
        width: 100%;
        box-sizing: border-box;
        text-align: center
    }

:is(.widget_categories,.widget_newweb_hospital_categories) ul {
    display: flex;
    flex-direction: column;
    gap: 12px
}

    :is(.widget_categories,.widget_newweb_hospital_categories) ul li {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        justify-content: space-between;
        gap: 4px;
        color: #617081;
        position: relative;
        z-index: 1;
        box-sizing: border-box;
        will-change: color;
        transition: color .2s ease-in-out
    }

        :is(.widget_categories,.widget_newweb_hospital_categories) ul li ul {
            padding-inline-start: 8px;
            box-sizing: border-box
        }

        :is(.widget_categories,.widget_newweb_hospital_categories) ul li a {
            color: inherit;
            padding-top: 4px;
            padding-inline-end: 8px;
            box-sizing: border-box;
            overflow: hidden !important;
            -webkit-box-orient: vertical;
            text-overflow: ellipsis;
            text-wrap: nowrap;
            max-width: 100%;
            transition: unset
        }

        :is(.widget_categories,.widget_newweb_hospital_categories) ul li:is(.current-cat,:hover) {
            color: var(--primary-100)
        }

            :is(.widget_categories,.widget_newweb_hospital_categories) ul li:is(.current-cat,:hover) .count {
                background: var(--primary-100);
                color: #fff
            }

:is(.widget_categories,.widget_newweb_hospital_categories) .count {
    background: #fff;
    border-radius: 8px;
    width: 64px;
    color: var(--text-200);
    font-size: .875rem;
    padding-inline: 4px;
    text-align: center;
    box-sizing: border-box;
    will-change: background,color;
    transition: .2s ease-in-out;
    transition-property: background,color
}

.search_categorized_results-sections {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.search_categorized_results-section {
    color: var(--text-600)
}

.search_categorized_results-section-link {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    color: inherit
}

    .search_categorized_results-section-link:hover {
        color: var(--primary-100)
    }

.search_categorized_results-section-count {
    padding: 2px 8px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 8px;
    min-width: 36px;
    text-align: center;
    color: var(--text-300)
}

.search_categorized_results-section.active .search_categorized_results-section-link {
    color: var(--primary-100)
}

.search_categorized_results-section.active .search_categorized_results-section-count {
    background: var(--primary-100);
    color: #fff
}

.newweb-specialities-filter {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.newweb-specialities-filter-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    justify-content: space-between;
    font-size: .875rem
}

    .newweb-specialities-filter-item input {
        display: none !important
    }

.newweb-specialities-filter-item-text {
    color: #617081;
    font-weight: 600;
    will-change: color;
    transition: color .2s ease-in-out
}

.newweb-specialities-filter-item-count {
    background: #fff;
    color: var(--text-200);
    font-weight: 500;
    padding: 0 2px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    will-change: color,background;
    transition: .2s ease-in-out;
    transition-property: color,background
}

.newweb-specialities-filter-item-active .newweb-specialities-filter-item-text, .newweb-specialities-filter-item:hover .newweb-specialities-filter-item-text {
    color: var(--primary-100)
}

.newweb-specialities-filter-item-active .newweb-specialities-filter-item-count, .newweb-specialities-filter-item:hover .newweb-specialities-filter-item-count {
    color: #fff;
    background: var(--primary-100)
}

.widget_newweb_specialists .specialists-style-list .specialist a {
    grid-template-columns: 1fr 80px;
    align-items: center
}

.widget_newweb_specialists .specialists-style-list .specialist-avatar-wrap {
    order: 2
}

.widget_newweb_specialists .specialists-style-list .specialist-name {
    color: var(--text-600);
    font-size: 1rem;
    font-weight: 400
}

.widget_newweb_specialists_type .specialists-type-filter {
    display: flex;
    flex-direction: column;
    gap: 8px
}

label {
    cursor: pointer;
    will-change: color;
    transition: color .2s ease-in-out
}

    label:hover {
        color: var(--text-200)
    }

    label:has(+:is(:focus,:focus-within)) {
        color: var(--text-600)
    }

input, select, textarea {
    font-family: inherit;
    border: 0;
    outline: 1px solid transparent;
    border-radius: 0;
    font-size: 1rem;
    line-height: inherit
}

    input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]), select, textarea {
        background: var(--input-bg);
        border: 0;
        border-radius: 16px;
        padding: 12px 16px;
        color: var(--input-text);
        width: 100%;
        box-sizing: border-box
    }

        input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week])::placeholder, select::placeholder, textarea::placeholder {
            color: var(--text-200)
        }

        input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]).input-secondary, select.input-secondary, textarea.input-secondary {
            background: var(--input-secondary-bg);
            border: 1px solid var(--primary-100-20);
            will-change: border-color;
            transition: border-color .2s ease-in-out;
            border-radius: 12px
        }

            input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]).input-secondary:focus, input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]).input-secondary:not(:placeholder-shown), select.input-secondary:focus, select.input-secondary:not(:placeholder-shown), textarea.input-secondary:focus, textarea.input-secondary:not(:placeholder-shown) {
                border-color: var(--primary-100)
            }

        input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]).input-transparent, select.input-transparent, textarea.input-transparent {
            background: rgba(0,0,0,0);
            border: 1px solid transparent;
            will-change: border-color;
            transition: border-color .2s ease-in-out
        }

            input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]).input-transparent::placeholder, select.input-transparent::placeholder, textarea.input-transparent::placeholder {
                color: var(--text-main)
            }

.input-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.input-group-row {
    flex-direction: row;
    align-items: center
}

.input-label {
    font-size: .875rem;
    color: var(--text-300)
}

    .input-label .input-required {
        color: var(--primary-100);
        font-size: 1.125rem;
        font-weight: 600;
        margin-inline-start: 4px
    }

.input-wrap {
    background: var(--input-bg);
    border: 0;
    border-radius: 16px;
    padding: 8px 16px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    display: flex;
    gap: 8px;
    align-items: center;
    will-change: background,border-color,color;
    transition: .2s ease-in-out;
    transition-property: background,border-color,color
}

    .input-wrap.input-wrap-white {
        background: #fff;
        border: 1px solid var(--gray-200)
    }

        .input-wrap.input-wrap-white:focus-within, .input-wrap.input-wrap-white:has(>input:not(:placeholder-shown):not([type=hidden])) {
            border-color: var(--primary-100)
        }

    .input-wrap input, .input-wrap select, .input-wrap textarea {
        background: rgba(0,0,0,0);
        border-radius: 0;
        padding: 0
    }

    .input-wrap .select2-container--default .select2-selection--single .select2-selection__arrow.select2-selection__arrow {
        inset-inline-end: 0
    }

.input-icon {
    color: var(--text-400);
    font-size: 1.5rem;
    cursor: pointer
}

.password-wrap input[type=password] ~ .hide-password {
    display: none
}

.password-wrap input[type=text] ~ .show-password {
    display: none
}

.input-error {
    display: none;
    gap: 4px;
    align-items: start;
    color: var(--red)
}

    .input-error i {
        font-size: .875rem;
        margin-top: 8px
    }

.error .input-error {
    display: flex
}

.error .input-wrap, .error .input-wrap.input-wrap-white {
    border-color: var(--red) !important
}

.input-ltr {
    direction: ltr !important;
    text-align: left !important
}

input ~ .password-icon {
    position: absolute;
    top: 50%;
    inset-inline-start: 8px;
    color: var(--text-500);
    cursor: pointer;
    display: none;
    transform: translateY(-50%);
    font-size: 1.25rem
}

input:has(~.password-icon) {
    width: calc(100% - 20px);
    margin-inline-end: auto
}

input[type=password] ~ .show-password, input[type=text] ~ .hide-password {
    display: block
}

input:is([type=checkbox],[type=radio]) {
    width: auto;
    margin: 0;
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    background-color: rgba(0,0,0,0)
}

    input:is([type=checkbox],[type=radio])::after, input:is([type=checkbox],[type=radio])::before {
        cursor: pointer
    }

input:is([type=checkbox])::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1px solid var(--gray-400);
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

input:is([type=checkbox])::before {
    content: "";
    font-family: newweb;
    position: absolute;
    inset: 0;
    color: var(--primary-100);
    transform: scale(0);
    will-change: transform;
    transition: transform .1s ease-in-out
}

input:is([type=checkbox]):checked::after {
    border-color: var(--primary-100)
}

input:is([type=checkbox]):checked::before {
    transform: scale(1) translateY(-50%)
}

input[type=radio]::after {
    content: "";
    display: block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    border: 1px solid var(--gray-400);
    box-sizing: border-box;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

input[type=radio]::before {
    content: "";
    position: absolute;
    inset: 4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: scale(0);
    box-sizing: border-box;
    will-change: transform;
    transition: transform .1s ease-in-out
}

input[type=radio]:checked::after {
    border-color: var(--primary-100)
}

input[type=radio]:checked::before {
    transform: scale(1);
    border: 4px solid var(--primary-100)
}

.checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 8px
}

    .checkbox-wrap:is(label) {
        color: var(--text-main)
    }

    .checkbox-wrap.checkbox-secondary {
        justify-content: space-between
    }

        .checkbox-wrap.checkbox-secondary input {
            background: rgba(0,0,0,0);
            order: 2
        }

            .checkbox-wrap.checkbox-secondary input:is([type=checkbox])::before {
                font-size: .75rem;
                padding-top: 6px;
                padding-inline-start: 2px
            }

    .checkbox-wrap:focus-within, .radio-wrap:focus-within {
        outline: 1px dashed var(--gray-200)
    }

.checkbox-box {
    display: grid;
    grid-template-columns: auto 1fr auto;
    border: 1px solid var(--gray-100);
    border-radius: 20px;
    padding: 16px;
    width: 100%;
    box-sizing: border-box;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .checkbox-box .checkbox-icon {
        color: var(--gray-300);
        font-size: 2.5rem
    }

    .checkbox-box img {
        border-radius: 16px
    }

    .checkbox-box .checkbox-label {
        color: var(--primary-100);
        font-weight: 600;
        font-size: .875rem;
        display: flex;
        flex-direction: column
    }

    .checkbox-box .checkbox-label-sub {
        font-size: .75rem;
        font-weight: 500;
        color: var(--text-200)
    }

    .checkbox-box input {
        margin-inline-start: auto
    }

    .checkbox-box:hover {
        border-color: var(--gray-200)
    }

    .checkbox-box:has(input:checked) {
        border-color: var(--primary-100)
    }

body .select2-dropdown {
    border: 0 !important;
    box-shadow: 0 4px 16px 0 rgba(20,20,20,.0784313725)
}

body .select2-container--default .select2-selection--single {
    border: 0;
    height: auto;
    margin: 0;
    background: var(--input-bg);
    border-radius: 16px
}

    body .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 2;
        font-weight: 400
    }

body .select2-container .select2-selection--single .select2-selection__rendered.select2-selection__rendered {
    padding: 6px 16px;
    box-sizing: border-box
}

body .select2-container--default .select2-selection--single .select2-selection__arrow.select2-selection__arrow {
    height: 100%;
    inset-inline-end: 16px
}

body .select2-container--default .select2-results__option--highlighted[aria-selected], body .select2-container--default .select2-results__option--highlighted[data-selected] {
    background: var(--primary-100)
}

body .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 0;
    padding: 12px 16px
}

body .input-wrap .select2-container--default .select2-selection--single {
    height: auto;
    background: rgba(0,0,0,0);
    border-radius: 0
}

body .input-wrap .select2-container .select2-selection--single .select2-selection__rendered.select2-selection__rendered {
    padding: 0
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
    float: right !important
}

.input-secondary[data-select2-id] + .select2 {
    background: var(--input-secondary-bg);
    border: 1px solid var(--primary-100);
    will-change: border-color;
    transition: border-color .2s ease-in-out;
    border-radius: 12px;
    padding: 12px 16px;
    color: var(--input-text);
    width: 100%;
    box-sizing: border-box
}

    .input-secondary[data-select2-id] + .select2 .select2-selection--single {
        background: rgba(0,0,0,0)
    }

        .input-secondary[data-select2-id] + .select2 .select2-selection--single .select2-selection__rendered.select2-selection__rendered {
            padding: 0
        }

.newweb-switch {
    display: none !important
}

.newweb-switch-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px;
    cursor: pointer
}

    .newweb-switch-wrap.disabled {
        opacity: .5;
        pointer-events: none;
        touch-action: none
    }

.newweb-switch-slider {
    width: 64px;
    height: 28px;
    border-radius: 96px;
    background: var(--gray-200);
    position: relative;
    will-change: background;
    transition: background .2s ease-in-out
}

    .newweb-switch-slider::after {
        content: "";
        position: absolute;
        top: 2px;
        bottom: 2px;
        inset-inline-start: 2px;
        border-radius: 50%;
        background: #fff;
        width: 24px;
        will-change: transform;
        transition: transform .2s ease-in-out
    }

.newweb-switch:checked + .newweb-switch-slider {
    background: var(--primary-200)
}

    .newweb-switch:checked + .newweb-switch-slider::after {
        transform: translateX(-36px)
    }

.newweb-field-description {
    color: var(--text-400);
    font-size: .875rem
}

.newweb_filter_additional_options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: -4px
}

.newweb_filter_additional_option {
    position: relative;
    height: 24px;
    display: flex;
    align-items: center
}

    .newweb_filter_additional_option:not(:hover) {
        color: var(--text-500)
    }

    .newweb_filter_additional_option::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: var(--gray-300);
        border: 0
    }

    .newweb_filter_additional_option.radio-end {
        padding-inline-end: 32px
    }

        .newweb_filter_additional_option.radio-end::before {
            inset-inline-end: 0
        }

    .newweb_filter_additional_option.radio-start {
        padding-inline-start: 32px
    }

        .newweb_filter_additional_option.radio-start::before {
            inset-inline-start: 0
        }

    .newweb_filter_additional_option.active::before {
        background: var(--primary-100)
    }

    .newweb_filter_additional_option.active::after {
        content: "";
        position: absolute;
        top: 6px;
        bottom: 6px;
        border-radius: 50%;
        background: #fff;
        width: 12px;
        height: 12px
    }

    .newweb_filter_additional_option.radio-end::after {
        inset-inline-end: 6px
    }

    .newweb_filter_additional_option.radio-start::after {
        inset-inline-start: 6px
    }

.newweb-loading {
    display: none
}

.loading .newweb-loading {
    display: flex;
    align-items: center;
    gap: 4px
}

.newweb-simple-icon-wrap {
    position: relative;
    display: flex;
    width: fit-content;
    font-size: 1.125rem
}

    .newweb-simple-icon-wrap.icon-has-bg {
        color: var(--primary-100)
    }

        .newweb-simple-icon-wrap.icon-has-bg::before {
            content: "";
            position: absolute;
            inset: 0;
            background-color: var(--primary-100-36);
            border-radius: 8px;
            rotate: 8deg;
            will-change: background-color;
            transition: background-color .2s ease-in-out
        }

        .newweb-simple-icon-wrap.icon-has-bg i {
            padding: 4px;
            z-index: 2;
            will-change: color;
            transition: color .2s ease-in-out
        }

    .newweb-simple-icon-wrap i {
        box-sizing: border-box;
        font-size: inherit
    }

.proicon {
    padding: 16px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    border: 1px solid #f0f0f0;
    border-radius: 20px;
    will-change: border-color,background;
    transition: .2s ease-in-out;
    transition-property: border-color,background
}

.proicon-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px
}

    .proicon-img-wrap img {
        width: 40px;
        height: 40px;
        object-fit: contain;
        will-change: filter;
        transition: filter .2s ease-in-out
    }

    .proicon-img-wrap i {
        font-size: 2.5rem;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #cbcbcb
    }

.proicon-title {
    color: var(--primary-100);
    font-size: 1.125rem;
    font-weight: 800
}

.proicon-subtitle {
    color: var(--text-200);
    font-size: .75rem;
    font-weight: 500
}

.proicon i, .proicon-subtitle, .proicon-title {
    will-change: color;
    transition: color .2s ease-in-out
}

.proicon-btn {
    color: var(--text-200)
}

.proicon-icon-top .proicon-img-wrap {
    align-self: flex-start
}

.proicon-icon-center .proicon-img-wrap {
    align-self: center
}

.proicon-icon-bottom .proicon-img-wrap {
    align-self: flex-end
}

.proicon:hover {
    border-color: var(--primary-100)
}

.proicon-hover-fill:hover {
    background: var(--primary-100)
}

    .proicon-hover-fill:hover .proicon-subtitle, .proicon-hover-fill:hover .proicon-title, .proicon-hover-fill:hover i {
        color: #fff
    }

.elementor .proicon-img-wrap img {
    height: 40px
}

.newweb_stars {
    position: relative;
    display: flex;
    gap: 4px
}

    .newweb_stars.newweb_stars-has-radio .newweb_star {
        cursor: pointer
    }

        .newweb_stars.newweb_stars-has-radio .newweb_star:has(~.newweb_star:hover), .newweb_stars.newweb_stars-has-radio .newweb_star:hover {
            color: var(--primary-100)
        }

.newweb_star {
    font-size: 1rem;
    line-height: 1
}

    .newweb_star.newweb_star-active {
        color: var(--primary-100)
    }

.newweb_star-input {
    display: none !important
}

    .newweb_star-input::after, .newweb_star-input::before {
        display: none
    }

.newweb-slider-wrap .wrapper:not(.swiper-wrapper) {
    display: flex;
    overflow: hidden;
    gap: 16px
}

.newweb-slider-wrap .swiper-wrapper {
    gap: 0 !important
}

.newweb-slider-wrap .slider-slide {
    height: auto
}

.newweb-slider-wrap .newweb-slider-head {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
    align-items: flex-start
}

    .newweb-slider-wrap .newweb-slider-head .section-title-wrap {
        flex: 1
    }

    .newweb-slider-wrap .newweb-slider-head > .button {
        padding: 6px 8px;
        margin: 0
    }

.newweb-custom-select {
    display: none !important
}

.newweb-custom-select-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 12px 16px;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid var(--primary-100-20);
    background: #fff;
    min-width: 200px;
    will-change: background-color,border-color,color;
    transition: .2s ease-in-out;
    transition-property: background-color,border-color,color
}

    .newweb-custom-select-wrap.active {
        border-color: var(--primary-100)
    }

        .newweb-custom-select-wrap.active .newweb-custom-select-icon {
            transform: rotate(180deg)
        }

    .newweb-custom-select-wrap.selected {
        border-color: var(--primary-100)
    }

        .newweb-custom-select-wrap.selected.newweb-filled-change-bg {
            background-color: var(--primary-100)
        }

            .newweb-custom-select-wrap.selected.newweb-filled-change-bg, .newweb-custom-select-wrap.selected.newweb-filled-change-bg .newweb-custom-select-icon {
                color: #fff
            }

.newweb-custom-select-placeholder {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.newweb-custom-select-icon {
    font-size: .75rem;
    color: #6d6d6d;
    will-change: transform,color;
    transition: .2s ease-in-out;
    transition-property: transform,color
}

.newweb-custom-select-popover {
    display: none;
    position: absolute;
    z-index: 99;
    background: #fff;
    border: 1px solid var(--primary-100-20);
    border-radius: 12px;
    box-sizing: border-box;
    margin-top: 4px
}

    .newweb-custom-select-popover.show {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        padding: 8px
    }

.newweb-custom-select-popover-search-wrap {
    padding: 4px;
    background: var(--gray-100);
    border-radius: 12px;
    display: flex;
    gap: 4px
}

.newweb-custom-select-popover input.newweb-custom-select-popover-search {
    background: #fff;
    padding: 4px 8px;
    border-radius: 8px
}

.newweb-custom-select-popover-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 232px;
    overflow: scroll;
    padding-inline-end: 4px
}

    .newweb-custom-select-popover-list::-webkit-scrollbar {
        width: 4px
    }

    .newweb-custom-select-popover-list::-webkit-scrollbar-thumb {
        background: var(--primary-100)
    }

.newweb-custom-select-popover-item {
    cursor: pointer;
    border: 1px solid var(--gray-100);
    color: var(--text-200);
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 16px;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 8px 16px;
    box-sizing: border-box;
    will-change: color,border-color;
    transition: .2s ease-in-out;
    transition-property: color,border-color
}

    .newweb-custom-select-popover-item span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .newweb-custom-select-popover-item::after {
        content: "";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border: 1px solid currentColor;
        font-size: 8px;
        border-radius: 4px;
        box-sizing: border-box;
        font-family: newweb
    }

    .newweb-custom-select-popover-item:hover {
        border-color: var(--primary-100)
    }

    .newweb-custom-select-popover-item.selected {
        border-color: var(--primary-100);
        color: var(--primary-200)
    }

        .newweb-custom-select-popover-item.selected::after {
            content: ""
        }

.newweb-select {
    position: relative;
    cursor: pointer
}

.newweb-select-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--gray-100);
    color: var(--text-200);
    font-size: .875rem;
    border-radius: 12px
}

.newweb-select-head-icon {
    font-size: .875rem;
    will-change: transform;
    transition: transform .2s ease-in-out
}

.newweb-select-value {
    color: var(--heading-200);
    font-weight: 500;
    flex: 1
}

.newweb-select-options {
    position: absolute;
    inset-inline: 0;
    display: flex;
    flex-direction: column;
    margin-top: 16px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    will-change: opacity,visibility;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility
}

.newweb-select-option {
    background: var(--gray-100);
    padding: 12px 20px;
    color: var(--heading-200);
    font-weight: 500;
    will-change: background;
    transition: background .2s ease-in-out
}

    .newweb-select-option:first-child {
        border-radius: 12px 12px 0 0
    }

    .newweb-select-option:last-child {
        border-radius: 0 0 12px 12px
    }

    .newweb-select-option.selected {
        touch-action: none;
        pointer-events: none;
        background: var(--gray-200);
        font-weight: 700
    }

    .newweb-select-option:hover {
        background: var(--gray-200)
    }

.newweb-select.show .newweb-select-head-icon {
    transform: rotate(180deg)
}

.newweb-select.show .newweb-select-options {
    opacity: 1;
    visibility: visible
}

.newweb-search-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 12px 16px;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid var(--primary-100-20);
    background: #fff;
    min-width: 200px;
    will-change: background-color,border-color,color;
    transition: .2s ease-in-out;
    transition-property: background-color,border-color,color
}

    .newweb-search-input-wrap.active, .newweb-search-input-wrap.filled, .newweb-search-input-wrap:focus-within {
        border-color: var(--primary-100)
    }

    .newweb-search-input-wrap.newweb-filled-change-bg.filled, .newweb-search-input-wrap.newweb-filled-change-bg:not(:has(:placeholder-shown)) {
        background-color: var(--primary-100)
    }

        .newweb-search-input-wrap.newweb-filled-change-bg.filled input, .newweb-search-input-wrap.newweb-filled-change-bg:not(:has(:placeholder-shown)) input {
            color: #fff
        }

.newweb-search-input-popover {
    display: none;
    position: absolute;
    z-index: 99;
    background: #fff;
    border: 1px solid var(--primary-100-20);
    border-radius: 12px;
    box-sizing: border-box;
    margin-top: 4px
}

    .newweb-search-input-popover.show {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        padding: 16px
    }

    .newweb-search-input-popover:is(.loading,.empty) .newweb-search-input-popover-list {
        display: none
    }

.newweb-search-input-popover-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 232px;
    overflow: scroll;
    padding-inline-end: 4px
}

    .newweb-search-input-popover-list::-webkit-scrollbar {
        width: 4px
    }

    .newweb-search-input-popover-list::-webkit-scrollbar-thumb {
        background: var(--primary-100)
    }

.newweb-search-input-popover-item {
    cursor: pointer;
    border: 1px solid var(--gray-100);
    color: var(--text-200);
    border-radius: 8px;
    display: grid;
    grid-template-columns: 56px 1fr 16px;
    align-items: center;
    gap: 4px;
    padding: 8px;
    box-sizing: border-box;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .newweb-search-input-popover-item span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

.newweb-search-input-popover-item-icon-wrap {
    display: flex
}

    .newweb-search-input-popover-item-icon-wrap img {
        border-radius: 12px;
        border: 1px solid var(--gray-200);
        box-sizing: border-box
    }

    .newweb-search-input-popover-item-icon-wrap i {
        font-size: 3rem;
        color: var(--gray-300)
    }

.newweb-search-input-popover-item-text {
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.newweb-search-input-popover-item-title {
    color: var(--text-600)
}

.newweb-search-input-popover-item-subtitle {
    color: var(--text-200)
}

.newweb-search-input-popover-item::after {
    content: "";
    font-family: newweb;
    display: block
}

.newweb-search-input-popover-item:hover {
    color: var(--primary-100);
    border-color: var(--primary-100)
}

.newweb-search-input-popover-empty {
    display: none;
    align-items: center;
    gap: 4px
}

.newweb-search-input-popover.empty .newweb-search-input-popover-empty {
    display: flex
}

input.newweb-search-input {
    background: rgba(0,0,0,0);
    border: 0;
    border-radius: 0;
    padding: 0
}

.button, button, input:is([type=button],[type=submit],[type=reset]) {
    position: relative;
    padding: 12px 16px;
    box-sizing: border-box;
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-family: inherit;
    text-align: center;
    width: fit-content;
    cursor: pointer;
    color: #fff;
    background-color: var(--primary-100);
    box-shadow: unset;
    border: 1px solid var(--primary-100);
    font-weight: 600;
    line-height: 2;
    font-size: 1rem;
    will-change: width,color,background,border,opacity,font-size,font-weight,line-height,transform,margin,padding;
    transition: .2s ease-in-out;
    transition-property: width,color,background,border,opacity,font-size,font-weight,line-height,transform,margin,padding
}

    .button:has(>i:only-child), button:has(>i:only-child), input:is([type=button],[type=submit],[type=reset]):has(>i:only-child) {
        padding: 16px
    }

    .button:focus, .button:focus-within, .button:hover, button:focus, button:focus-within, button:hover, input:is([type=button],[type=submit],[type=reset]):focus, input:is([type=button],[type=submit],[type=reset]):focus-within, input:is([type=button],[type=submit],[type=reset]):hover {
        background-color: var(--primary-200);
        border-color: var(--primary-200)
    }

    .button.button-secondary, button.button-secondary, input:is([type=button],[type=submit],[type=reset]).button-secondary {
        border-color: var(--secondary-200);
        background-color: var(--secondary-200)
    }

        .button.button-secondary:focus, .button.button-secondary:focus-within, .button.button-secondary:hover, button.button-secondary:focus, button.button-secondary:focus-within, button.button-secondary:hover, input:is([type=button],[type=submit],[type=reset]).button-secondary:focus, input:is([type=button],[type=submit],[type=reset]).button-secondary:focus-within, input:is([type=button],[type=submit],[type=reset]).button-secondary:hover {
            border-color: var(--secondary-100);
            background-color: var(--secondary-100)
        }

    .button.button-gray, button.button-gray, input:is([type=button],[type=submit],[type=reset]).button-gray {
        background-color: var(--gray-100);
        border-color: var(--gray-100);
        color: var(--text-200)
    }

        .button.button-gray:focus, .button.button-gray:focus-within, .button.button-gray:hover, button.button-gray:focus, button.button-gray:focus-within, button.button-gray:hover, input:is([type=button],[type=submit],[type=reset]).button-gray:focus, input:is([type=button],[type=submit],[type=reset]).button-gray:focus-within, input:is([type=button],[type=submit],[type=reset]).button-gray:hover {
            background-color: var(--primary-100);
            border-color: var(--primary-100);
            color: #fff
        }

    .button.button-white, button.button-white, input:is([type=button],[type=submit],[type=reset]).button-white {
        background-color: #fff;
        border-color: #fff;
        color: var(--primary-100)
    }

        .button.button-white:focus, .button.button-white:focus-within, .button.button-white:hover, button.button-white:focus, button.button-white:focus-within, button.button-white:hover, input:is([type=button],[type=submit],[type=reset]).button-white:focus, input:is([type=button],[type=submit],[type=reset]).button-white:focus-within, input:is([type=button],[type=submit],[type=reset]).button-white:hover {
            background-color: var(--primary-200);
            border-color: var(--primary-200);
            color: #fff
        }

    .button.button-action, button.button-action, input:is([type=button],[type=submit],[type=reset]).button-action {
        background: var(--gray-100);
        border-color: var(--gray-100);
        color: var(--primary-100)
    }

        .button.button-action:focus, .button.button-action:focus-within, .button.button-action:hover, button.button-action:focus, button.button-action:focus-within, button.button-action:hover, input:is([type=button],[type=submit],[type=reset]).button-action:focus, input:is([type=button],[type=submit],[type=reset]).button-action:focus-within, input:is([type=button],[type=submit],[type=reset]).button-action:hover {
            background-color: var(--primary-100);
            border-color: var(--primary-100);
            color: #fff
        }

    .button.button-bordered, button.button-bordered, input:is([type=button],[type=submit],[type=reset]).button-bordered {
        background: rgba(0,0,0,0);
        color: var(--primary-100)
    }

        .button.button-bordered:focus, .button.button-bordered:focus-within, .button.button-bordered:hover, button.button-bordered:focus, button.button-bordered:focus-within, button.button-bordered:hover, input:is([type=button],[type=submit],[type=reset]).button-bordered:focus, input:is([type=button],[type=submit],[type=reset]).button-bordered:focus-within, input:is([type=button],[type=submit],[type=reset]).button-bordered:hover {
            background: var(--primary-100);
            border-color: var(--primary-100);
            color: #fff
        }

    .button.button-transparent, button.button-transparent, input:is([type=button],[type=submit],[type=reset]).button-transparent {
        background: rgba(0,0,0,0);
        border-color: transparent;
        color: var(--text-200)
    }

        .button.button-transparent:focus, .button.button-transparent:focus-within, .button.button-transparent:hover, button.button-transparent:focus, button.button-transparent:focus-within, button.button-transparent:hover, input:is([type=button],[type=submit],[type=reset]).button-transparent:focus, input:is([type=button],[type=submit],[type=reset]).button-transparent:focus-within, input:is([type=button],[type=submit],[type=reset]).button-transparent:hover {
            color: var(--primary-100)
        }

    .button.button-start, button.button-start, input:is([type=button],[type=submit],[type=reset]).button-start {
        margin-inline-end: auto
    }

    .button.button-center, button.button-center, input:is([type=button],[type=submit],[type=reset]).button-center {
        margin-inline: auto
    }

    .button.button-end, button.button-end, input:is([type=button],[type=submit],[type=reset]).button-end {
        margin-inline-start: auto
    }

    .button.normal, button.normal, input:is([type=button],[type=submit],[type=reset]).normal {
        border-radius: 0
    }

    .button.circle, button.circle, input:is([type=button],[type=submit],[type=reset]).circle {
        padding: 12px
    }

    .button.small, button.small, input:is([type=button],[type=submit],[type=reset]).small {
        padding: 6px 12px;
        border-radius: 12px;
        font-size: .875rem
    }

        .button.small.circle, .button.small:has(>i:only-child), button.small.circle, button.small:has(>i:only-child), input:is([type=button],[type=submit],[type=reset]).small.circle, input:is([type=button],[type=submit],[type=reset]).small:has(>i:only-child) {
            padding: 8px
        }

    .button.medium, button.medium, input:is([type=button],[type=submit],[type=reset]).medium {
        padding: 8px 12px;
        border-radius: 12px
    }

        .button.medium.circle, .button.medium:has(>i:only-child), button.medium.circle, button.medium:has(>i:only-child), input:is([type=button],[type=submit],[type=reset]).medium.circle, input:is([type=button],[type=submit],[type=reset]).medium:has(>i:only-child) {
            padding: 12px
        }

    .button.loading, button.loading, input:is([type=button],[type=submit],[type=reset]).loading {
        pointer-events: none;
        touch-action: none
    }

        .button.loading > :not(.button-loading), button.loading > :not(.button-loading), input:is([type=button],[type=submit],[type=reset]).loading > :not(.button-loading) {
            display: none
        }

        .button.loading .button-loading, button.loading .button-loading, input:is([type=button],[type=submit],[type=reset]).loading .button-loading {
            display: block
        }

.button-loading {
    display: none;
    line-height: 1 !important
}

    .button-loading circle {
        fill: currentColor
    }

.mce-btn button:hover, .mce-window .mce-window-head .mce-close:hover, .mce-window-head .mce-close .mce-i-remove:hover, .wp-editor-wrap.wp-editor-wrap button:hover {
    background: rgba(0,0,0,0)
}

#plotId.mj-datepicker-plot-area {
    border-radius: 6px;
    padding: 8px;
    box-shadow: 0 5px 10px var(--primary-100-20);
    border: 1px solid var(--primary-100)
}

    #plotId.mj-datepicker-plot-area:not(.pwt-mobile-view.mj-datepicker-plot-area) {
        width: 240px
    }

    #plotId.mj-datepicker-plot-area .datepicker-navigator .pwt-btn-next, #plotId.mj-datepicker-plot-area .datepicker-navigator .pwt-btn-prev, #plotId.mj-datepicker-plot-area .datepicker-navigator .pwt-btn-switch {
        color: var(--text-main);
        font-weight: 500;
        font-size: .875rem;
        line-height: 2
    }

    #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-submit, #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-today {
        border: 1px solid var(--text-100);
        border-radius: 4px;
        background-color: #fff;
        padding: 4px 6px;
        will-change: background;
        transition: background .2s ease-in-out
    }

        #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-submit:hover, #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-today:hover {
            background-color: var(--text-100)
        }

    #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-today {
        margin-inline-end: 0;
        margin-inline-start: auto
    }

    #plotId.mj-datepicker-plot-area .toolbox .pwt-btn-submit {
        margin-inline-end: auto;
        margin-inline-start: 0
    }

    #plotId.mj-datepicker-plot-area .datepicker-day-view .table-days td.selected span, #plotId.mj-datepicker-plot-area .datepicker-month-view .month-item.selected, #plotId.mj-datepicker-plot-area .datepicker-year-view .year-item.selected {
        background-color: var(--primary-100);
        color: #fff
    }

    #plotId.mj-datepicker-plot-area .datepicker-day-view td span, #plotId.mj-datepicker-plot-area .datepicker-month-view .month-item, #plotId.mj-datepicker-plot-area .datepicker-year-view .year-item {
        border-radius: 4px;
        will-change: background,color;
        transition: .2s ease-in-out;
        transition-property: background,color
    }

        #plotId.mj-datepicker-plot-area .datepicker-day-view td span:hover, #plotId.mj-datepicker-plot-area .datepicker-month-view .month-item:hover, #plotId.mj-datepicker-plot-area .datepicker-year-view .year-item:hover {
            color: #000;
            background-color: var(--primary-100-36)
        }

.newweb-popover {
    position: absolute;
    top: calc(100% + 8px);
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    background: #fff;
    padding: 4px 16px;
    filter: drop-shadow(0 0 16px rgba(211, 211, 211, .4784313725));
    color: var(--text-400);
    border-radius: 96px;
    white-space: nowrap;
    width: fit-content;
    overflow: visible;
    font-size: .75rem;
    font-weight: 300;
    pointer-events: none;
    touch-action: none;
    will-change: opacity,visibility;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility
}

.newweb-popover-wrap {
    position: relative
}

    .newweb-popover-wrap:focus .newweb-popover, .newweb-popover-wrap:focus-within .newweb-popover, .newweb-popover-wrap:hover .newweb-popover {
        opacity: 1;
        visibility: visible
    }

.newweb-popover::before {
    content: "";
    position: absolute;
    top: -8px;
    inset-inline-start: 18px;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 8px solid #fff
}

.newweb-popover-start .newweb-popover {
    inset-inline-start: -16px
}

.newweb-popover-end .newweb-popover {
    transform: translateX(calc(100% - 32px))
}

    .newweb-popover-end .newweb-popover::before {
        inset-inline: auto 18px
    }

.newweb-popover-center {
    inset-inline: auto
}

    .newweb-popover-center::before {
        inset-inline-start: 50%;
        transform: translateX(-50%)
    }

.newweb-slider-wrap .swiper-slide {
    overflow: unset
}

.swiper-button-next, .swiper-button-prev {
    height: auto;
    margin-top: 0
}

    .swiper-button-next::after, .swiper-button-prev::after {
        content: unset !important
    }

.newweb-slider-wrap:not(.swiper) .swiper-button-next, .newweb-slider-wrap:not(.swiper) .swiper-button-prev {
    display: none
}

.newweb-slider-arrows:not(.newweb-slider-arrows-inline) .newweb-slider-nav-btn {
    position: absolute
}

    .newweb-slider-arrows:not(.newweb-slider-arrows-inline) .newweb-slider-nav-btn.swiper-button-prev {
        inset-inline: 0 auto !important;
        padding-inline-start: 0 !important;
        justify-content: flex-start
    }

    .newweb-slider-arrows:not(.newweb-slider-arrows-inline) .newweb-slider-nav-btn.swiper-button-next {
        inset-inline: auto 0 !important;
        padding-inline-end: 0 !important;
        justify-content: flex-end
    }

.newweb-slider-arrows-inline {
    display: flex;
    gap: 4px
}

    .newweb-slider-arrows-inline .newweb-slider-nav-btn {
        position: relative;
        inset: unset
    }

        .newweb-slider-arrows-inline .newweb-slider-nav-btn i {
            font-size: 12px
        }

.section-title {
    display: flex;
    gap: 8px;
    align-items: center
}

.section-title-title {
    color: var(--text-600);
    font-weight: 800;
    font-size: 1.125rem
}

.section-title-with-arrows {
    display: flex;
    align-items: center;
    gap: 16px
}

    .section-title-with-arrows .section-title {
        flex: 1
    }

.list-posts .post {
    height: auto
}

    .list-posts .post > a {
        height: 100%;
        padding: 16px;
        box-sizing: border-box;
        border-radius: 24px;
        border: 1px solid transparent;
        display: flex;
        flex-direction: column;
        gap: 16px;
        color: var(--text-600);
        background: var(--gray-100)
    }

.list-posts .post-title {
    font-size: .875rem;
    margin-bottom: 8px;
    font-weight: 400
}

.list-posts .post-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
    margin-top: auto
}

.list-posts .post-time {
    color: inherit;
    font-weight: 500;
    font-size: .875rem
}

.list-posts .post img {
    border-radius: 16px
}

.list-posts .post:hover > a {
    border-color: var(--primary-100)
}

.list-posts .post:hover .read-more-btn {
    color: var(--primary-100)
}

.list-posts .read-more-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--text-200);
    will-change: color;
    transition: color .2s ease-in-out
}

.list-posts .read-more-btn-text {
    font-size: .875rem;
    font-weight: 500
}

.list-posts .read-more-btn-icon {
    font-size: 1.125rem
}

.recent-posts {
    display: flex;
    flex-direction: column
}

    .recent-posts .post {
        display: grid;
        grid-template-columns: 1fr 80px;
        align-items: center;
        gap: 8px;
        font-size: .75rem
    }

        .recent-posts .post .product-title {
            font-size: 1rem
        }

        .recent-posts .post a {
            display: flex;
            color: var(--text-600)
        }

        .recent-posts .post .post-thumbnail img {
            width: 80px;
            height: 80px
        }

        .recent-posts .post .recent-post-texts {
            overflow: hidden;
            height: 100%;
            display: flex;
            flex-direction: column;
            padding-block: 8px;
            box-sizing: border-box
        }

    .recent-posts .post-time {
        margin-top: auto
    }

    .recent-posts .post:not(:last-child) {
        margin-bottom: 16px;
        padding-bottom: 16px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--gray-200)
    }

    .recent-posts .post:hover a {
        color: var(--primary-100)
    }

    .recent-posts .post:hover img {
        border-color: var(--primary-100)
    }

.newweb-search-form {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    flex-wrap: wrap
}

.newweb-search .button, .newweb-search-field-group {
    flex: 1
}

.newweb-search-text-field-group {
    flex: 2
}

.newweb-search-select-wrap {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-inline-end: 16px;
    border: 1px solid var(--primary-100-20);
    border-radius: 12px;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .newweb-search-select-wrap input {
        border: 0 !important
    }

    .newweb-search-select-wrap:focus-within, .newweb-search-select-wrap:not(:has(input:placeholder-shown)) {
        border-color: var(--primary-100)
    }

.newweb-services {
    gap: var(--desktop-gap,80px)
}

    .newweb-services:not(.swiper-wrapper) .newweb-service:not(:last-child)::after {
        content: "";
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        width: 1px;
        background: #ededed
    }

.newweb-service {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 24px;
    will-change: background-color;
    transition: background-color .2s ease-in-out
}

.newweb-service-icon {
    color: var(--gray-200);
    font-size: 2.5rem;
    will-change: color;
    transition: color .2s ease-in-out
}

.newweb-service-texts {
    display: flex;
    flex-direction: column
}

.newweb-service-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--primary-100);
    will-change: color;
    transition: color .2s ease-in-out
}

.newweb-service-subtitle {
    font-size: .875rem;
    font-weight: 300;
    color: var(--text-400);
    will-change: color;
    transition: color .2s ease-in-out
}

.newweb-service:hover {
    background: var(--primary-100)
}

    .newweb-service:hover .newweb-service-icon {
        color: var(--primary-200)
    }

    .newweb-service:hover .newweb-service-title {
        color: #fff
    }

    .newweb-service:hover .newweb-service-subtitle {
        color: var(--text-100)
    }

.specialist-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 24px;
    padding: 32px 16px 16px;
    max-width: 246px;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .specialist-card .specialist-avatar-wrap a {
        width: 96px;
        height: 96px;
        overflow: hidden
    }

    .specialist-card .specialist-avatar-wrap img {
        border-radius: 16px
    }

    .specialist-card .specialist-name a, .specialist-card .specialist-short_bio a {
        font-size: inherit;
        font-weight: inherit;
        font-family: inherit;
        color: inherit
    }

    .specialist-card .specialist-name {
        color: var(--heading-200);
        font-size: .875rem;
        font-weight: 500
    }

    .specialist-card .specialist-name-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: auto
    }

    .specialist-card .specialist-short_bio {
        color: var(--text-200);
        font-size: .75rem;
        font-weight: 500
    }

    .specialist-card .specialist-is-verified {
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 4px 16px;
        border-radius: 8px;
        background-color: var(--primary-100-20);
        color: var(--primary-100);
        font-size: .75rem;
        margin-top: 4px
    }

        .specialist-card .specialist-is-verified i {
            font-size: 1.25rem
        }

    .specialist-card .specialist-meta {
        flex: 1;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        align-items: center
    }

        .specialist-card .specialist-meta.specialist-meta-address {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 4px
        }

    .specialist-card .specialist-meta-wrap {
        display: flex;
        flex-wrap: wrap;
        gap: 16px
    }

    .specialist-card .specialist-meta-title {
        font-size: .75rem;
        font-weight: 500;
        color: var(--text-300)
    }

    .specialist-card .specialist-meta-value {
        font-weight: 500;
        font-size: .75rem;
        color: var(--text-600)
    }

    .specialist-card .specialist-meta-not-available-reserve {
        text-align: center
    }

    .specialist-card .specialist-meta:not(:last-child)::after {
        content: "";
        position: absolute;
        inset-block: 8px;
        inset-inline-end: -8px;
        width: 1px;
        background: var(--gray-300)
    }

    .specialist-card .specialist-book-info {
        position: absolute;
        top: 18px;
        z-index: 2;
        line-height: 1
    }

    .specialist-card .specialist-book-info-time {
        inset-inline-start: 18px
    }

    .specialist-card .specialist-book-info-availability {
        inset-inline-end: 18px
    }

    .specialist-card:hover {
        border-color: var(--primary-100)
    }

.specialists-style-card-2 .specialist .specialist-avatar-wrap {
    position: relative
}

    .specialists-style-card-2 .specialist .specialist-avatar-wrap a {
        position: relative;
        z-index: 1;
        border-radius: 50%
    }

    .specialists-style-card-2 .specialist .specialist-avatar-wrap img {
        border-radius: 50%;
        width: 100%;
        height: 100%;
        will-change: width,height;
        transition: .3s ease-in-out;
        transition-property: width,height
    }

    .specialists-style-card-2 .specialist .specialist-avatar-wrap::after {
        content: "";
        position: absolute;
        inset: -8px;
        border: 1px solid var(--gray-200);
        border-radius: 50%;
        will-change: border-color;
        transition: border-color .2s ease-in-out
    }

.specialists-style-card-2 .specialist:hover .specialist-avatar-wrap img {
    width: 104px;
    height: 104px
}

.specialists-style-card-2 .specialist:hover .specialist-avatar-wrap::after {
    border-color: var(--primary-100)
}

.specialists-style-list .specialist a {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 12px
}

.specialists-style-list .specialist:not(:last-child) {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gray-200)
}

.specialists-style-list .specialist-avatar-wrap {
    display: flex
}

    .specialists-style-list .specialist-avatar-wrap img {
        border-radius: 12px
    }

.specialists-style-list .specialist-item-texts {
    overflow: hidden
}

.specialists-style-list .specialist-name {
    color: var(--secondary-100);
    font-size: .875rem;
    font-weight: 500
}

.specialists-style-list .specialist-short_bio {
    font-size: .75rem;
    font-weight: 500;
    color: var(--text-200)
}

.specialist {
    position: relative
}

.specialist-avatar-wrap a {
    display: flex;
    justify-content: center
}

.newweb-alert {
    display: flex;
    gap: 4px;
    align-items: flex-start;
    border-radius: 4px;
    background: #cce5ff;
    border: 1px solid #b8daff;
    color: #004085;
    padding: .75rem 1.25rem
}

    .newweb-alert.newweb-alert-error {
        background: #f8d7da;
        border-color: #f5c6cb;
        color: #721c24
    }

    .newweb-alert.newweb-alert-success {
        background: #d4edda;
        border-color: #c3e6cb;
        color: #155724
    }

    .newweb-alert.newweb-alert-warning {
        background: #f9f6d9;
        border-color: #ad9e07;
        color: #ad9e07
    }

    .newweb-alert i {
        margin-top: 4px
    }

.newweb-cta1 {
    display: grid;
    grid-template-columns: 2fr 3fr
}

.newweb-cta1-content-wrap {
    display: flex;
    align-items: center;
    gap: 24px;
    background: var(--primary-100);
    border-radius: 0 32px 32px 0;
    padding: 36px 44px
}

.newweb-cta1-btn {
    position: relative;
    display: flex;
    background: #fff;
    padding: 16px;
    border-radius: 50%;
    font-size: 2.25rem;
    z-index: 3;
    color: var(--primary-100)
}

    .newweb-cta1-btn::after {
        content: "";
        position: absolute;
        inset: -10px;
        background: hsla(0,0%,100%,.18);
        border-radius: 50%;
        z-index: 1
    }

    .newweb-cta1-btn::before {
        content: "";
        position: absolute;
        inset: -4px;
        background: hsla(0,0%,100%,.18);
        border-radius: 50%;
        z-index: 1
    }

.newweb-cta1-title {
    font-family: var(--secondary-font);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    color: #fff
}

.newweb-cta1-subtitle {
    font-size: .875rem;
    color: #fff
}

.newweb-cta1-image-wrap {
    position: relative;
    background: var(--secondary-100);
    border-radius: 32px 0 0 32px;
    background-image: url(../images/cta-1-bg.svg);
    background-repeat: no-repeat;
    background-size: cover
}

    .newweb-cta1-image-wrap::before {
        content: "";
        inset-inline-start: -4px;
        height: 100%;
        border-inline-start: 5px dashed var(--img-bg-color,var(--secondary-100));
        position: absolute
    }

.newweb-cta1-img {
    position: absolute;
    bottom: 0;
    inset-inline-end: 44px;
    max-width: calc(100% - 44px) !important
}

.newweb-cta2 {
    position: relative;
    padding: 28px 0;
    min-height: 458px
}

.newweb-cta2-bg {
    position: absolute;
    inset: 0 24px;
    background: var(--primary-100);
    border-radius: 24px;
    z-index: 0
}

.newweb-cta2-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center
}

.newweb-cta2-title {
    margin-inline: 24px;
    color: #fff;
    font-family: var(--secondary-font);
    font-weight: 800;
    font-size: 1.5rem;
    text-align: center
}

.newweb-cta2-subtitle {
    margin-inline: 24px;
    color: #fff;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 12px;
    font-size: .875rem;
    background: var(--primary-200);
    border-radius: 12px;
    margin-block: 16px 24px
}

    .newweb-cta2-subtitle span {
        font-size: 1.125rem;
        font-weight: 800;
        font-family: var(--secondary-font)
    }

.newweb-cta2 .button {
    margin-top: 24px
}

.statistic {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 16px;
    color: #fff
}

.statistic-number {
    position: relative;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 6px;
    border-radius: 12px;
    background: var(--secondary-200);
    font-weight: 800;
    font-size: 1.25rem;
    line-height: 1.5
}

    .statistic-number::before {
        content: "";
        position: absolute;
        inset-block: 10px;
        inset-inline-end: -8px;
        width: 1px;
        background-color: var(--secondary-200)
    }

.statistic-texts {
    overflow: hidden
}

.statistic-title {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.5
}

.statistic-subtitle {
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.5
}

.testimonials1-section-title {
    margin-bottom: 32px
}

    .testimonials1-section-title .newweb-slider-nav-btn {
        background-color: #fff
    }

.testimonials1-item {
    padding: 12px;
    border-radius: 16px;
    background: #fff;
    max-width: 300px;
    height: auto;
    display: flex;
    flex-direction: column
}

.testimonials1-item-header {
    display: flex;
    align-items: center;
    gap: 4px
}

.testimonials1-item-name-wrap {
    display: flex;
    flex-direction: column;
    margin-inline-end: auto
}

.testimonials1-item-name {
    font-weight: 700;
    color: var(--heading-100);
    margin-bottom: 4px
}

.testimonials1-item-date {
    font-size: .875rem;
    font-weight: 300;
    color: var(--gray-400)
}

.testimonials1-item-score {
    font-size: .875rem;
    font-weight: 300;
    color: var(--text-500)
}

.testimonials1-item-score-wrap {
    display: flex;
    flex-direction: column;
    align-items: center
}

.testimonials1-item-score-icon {
    font-size: 1rem;
    color: #f1db18;
    margin-bottom: 2px
}

.testimonials1-item-content {
    color: #000;
    font-size: .875rem;
    font-weight: 300;
    line-height: 2;
    margin-top: 16px;
    margin-bottom: 36px
}

.testimonials1-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto
}

.testimonials1-item-visit-text {
    font-size: .875rem;
    font-weight: 300;
    color: var(--gray-400)
}

.testimonials1-item-specialist {
    font-size: .75rem;
    font-weight: 700;
    color: var(--heading-100)
}

.elementor .testimonials1-item-avatar {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    margin-inline-end: 12px
}

.testimonials2-wrap {
    --ts2-bg-color: var(--gray-100);
    display: flex;
    flex-direction: column-reverse;
    background-color: var(--ts2-bg-color);
    border-radius: 32px;
    padding: 32px;
    height: 100%
}

.testimonials2-slider-main {
    display: flex;
    flex-direction: column;
    padding: 28px;
    min-height: 240px;
    height: 100%;
    border-radius: 24px;
    background: #fff
}

.testimonials2-slider-wrap {
    height: 100%;
    width: 100%;
    margin-bottom: 16px
}

.testimonials2-quote-icon {
    font-size: 2rem;
    color: var(--primary-100)
}

    .testimonials2-quote-icon:last-child {
        margin-inline-start: auto;
        margin-top: auto
    }

.testimonials2-item-content {
    margin-block: 16px;
    color: var(--text-600)
}

.testimonials2-slider-thumbs {
    max-width: 100%;
    width: 100%
}

    .testimonials2-slider-thumbs::after, .testimonials2-slider-thumbs::before {
        content: "";
        position: absolute;
        inset-block: 0;
        width: 72px;
        z-index: 2;
        pointer-events: none
    }

    .testimonials2-slider-thumbs::before {
        background: linear-gradient(90deg,transparent 0,var(--ts2-bg-color) 100%);
        inset-inline-end: 0
    }

    .testimonials2-slider-thumbs::after {
        background: linear-gradient(90deg,var(--ts2-bg-color) 0,transparent 100%);
        inset-inline-start: 0
    }

.testimonials2-slider-thumb {
    display: flex;
    padding: 10px 10px 10px 12px;
    justify-content: flex-start;
    align-items: center;
    border-radius: 8px;
    background: #fff;
    max-width: 200px
}

    .testimonials2-slider-thumb.swiper-slide-thumb-active {
        background-color: var(--primary-100)
    }

        .testimonials2-slider-thumb.swiper-slide-thumb-active .testimonials2-item-name {
            color: #fff
        }

        .testimonials2-slider-thumb.swiper-slide-thumb-active .testimonials2-item-position {
            color: var(--text-100)
        }

.testimonials2-item-avatar-wrap {
    display: flex;
    align-items: center
}

.testimonials2-item-info {
    display: flex;
    flex-direction: column;
    align-items: start;
    font-size: .875rem
}

.testimonials2-item-name {
    font-weight: 500;
    color: var(--text-600)
}

.testimonials2-item-position {
    color: var(--text-200)
}

.elementor .testimonials2-item-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    margin-inline-end: 6px
}

.newweb-booking-widget-fields {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
    gap: 16px;
    align-items: center
}

.newweb-booking-widget-field-group {
    border: 1px solid var(--text-100);
    background: #fff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

    .newweb-booking-widget-field-group:focus-within, .newweb-booking-widget-field-group:not(:has(input:placeholder-shown)) {
        border-color: var(--primary-100)
    }

.newweb-booking-widget-field-wrap {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-inline-end: 16px
}

.newweb-booking-widget-field {
    color: inherit !important;
    font-size: inherit;
    font-weight: inherit
}

    .newweb-booking-widget-field::placeholder {
        color: var(--text-main)
    }

.newweb-booking-widget-time-title .section-title-title {
    margin-block: 32px 16px;
    color: var(--text-600);
    font-size: 1rem;
    line-height: 2
}

.newweb-booking-widget-time-wrap:has(.newweb-booking-widget-time-slot:hover) {
    z-index: 3
}

.newweb-booking-widget-time-slots {
    padding-bottom: 72px;
    --mobile-gap: 16px
}

.newweb-booking-widget-time-slot {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 76px;
    width: fit-content;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid var(--primary-100);
    color: var(--primary-100);
    will-change: background-color;
    transition: background-color .2s ease-in-out
}

    .newweb-booking-widget-time-slot:focus, .newweb-booking-widget-time-slot:focus-within, .newweb-booking-widget-time-slot:hover {
        background-color: var(--primary-100-20);
        color: var(--primary-100)
    }

    .newweb-booking-widget-time-slot.reserved {
        background: #fff;
        border-color: #fff;
        color: var(--text-100);
        cursor: default
    }

    .newweb-booking-widget-time-slot.available .newweb-booking-widget-time-slot-note {
        display: none
    }

    .newweb-booking-widget-time-slot:has(input:checked) {
        color: #fff;
        background: var(--primary-100)
    }

        .newweb-booking-widget-time-slot:has(input:checked) .selected-slot {
            display: block
        }

        .newweb-booking-widget-time-slot:has(input:checked) .slot-status {
            display: none
        }

        .newweb-booking-widget-time-slot:has(input:checked) .newweb-booking-widget-time-slot-selected-icon {
            opacity: 1;
            visibility: visible;
            scale: 1;
            color: var(--primary-100)
        }

        .newweb-booking-widget-time-slot:has(input:checked) .newweb-booking-widget-time-slot-label {
            color: inherit
        }

        .newweb-booking-widget-time-slot:has(input:checked) .newweb-booking-widget-time-slot-note {
            display: flex
        }

    .newweb-booking-widget-time-slot .newweb-booking-widget-time-slot-note {
        top: calc(100% + 24px)
    }

.newweb-booking-widget-time-slot-time {
    border-bottom: 1px solid var(--text-100);
    display: flex;
    width: 100%;
    justify-content: center;
    font-size: 1.125rem;
    font-weight: 800
}

.newweb-booking-widget-time-slot-label:is(.available.newweb-booking-widget-time-slot-label) {
    color: var(--text-main)
}

.newweb-booking-widget-time-slot .selected-slot {
    display: none
}

.newweb-booking-widget-time-slot-selected-icon {
    position: absolute;
    bottom: 0;
    background: #fff;
    font-size: 1rem;
    border-radius: 50%;
    padding: 4px;
    filter: drop-shadow(0 0 4px var(--primary-100-36));
    transform: translateY(50%);
    opacity: 0;
    visibility: none;
    scale: 0;
    will-change: opacity,visibility,scale;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility,scale
}

.newweb-booking-widget-time-radio {
    display: none !important
}

.newweb-booking-widget-button {
    margin-top: -48px;
    z-index: 1
}

.newweb-book-form-widget {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(var(--desktop-columns,2),1fr);
    align-items: start
}

    .newweb-book-form-widget .newweb-search-input-wrap {
        padding: 8px 16px;
        border-color: var(--gray-200)
    }

.newweb-book-form-widget-button-wrap {
    grid-column: 1/-1
}

.newweb-book-form-widget .newweb-foreign-checkbox::before {
    font-size: .75rem;
    top: 3px;
    inset-inline-start: 2px
}

.newweb-book-form-widget > :has(+.newweb-book-form-widget-button-wrap):nth-child(odd) {
    grid-column: 1/-1
}

.newweb-consult-form-widget {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(var(--desktop-columns,2),1fr);
    align-items: start
}

    .newweb-consult-form-widget .newweb-search-input-wrap {
        padding: 8px 16px;
        border-color: var(--gray-200)
    }

.newweb-consult-form-widget-button-wrap {
    grid-column: 1/-1
}

.newweb-consult-form-widget .newweb-foreign-checkbox::before {
    font-size: .75rem;
    top: 3px;
    inset-inline-start: 2px
}

.newweb-consult-form-widget > :has(+.newweb-consult-form-widget-button-wrap):nth-child(even) {
    grid-column: 1/-1
}

.accordion-items {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.accordion-item {
    width: 100%;
    background: var(--gray-100);
    color: var(--text-600);
    padding: 8px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box
}

.accordion-item-icon {
    color: var(--text-300);
    will-change: color;
    transition: color .2s ease-in-out
}

.accordion-item-head {
    display: flex;
    gap: 8px;
    cursor: pointer;
    align-items: flex-start;
    padding: 8px
}

    .accordion-item-head:focus .accordion-item-icon, .accordion-item-head:focus-within .accordion-item-icon, .accordion-item-head:hover .accordion-item-icon {
        color: var(--primary-200)
    }

.accordion-item-title {
    font-weight: 500
}

.accordion-item-icon {
    margin-inline-start: auto;
    display: grid;
    margin-top: 4px
}

    .accordion-item-icon i {
        grid-row: 1;
        grid-column: 1;
        will-change: opacity;
        transition: opacity .2s ease-in-out
    }

.accordion-item-icon-open {
    opacity: 1
}

.accordion-item-icon-close {
    opacity: 0
}

.accordion-item-content {
    padding: 16px 12px;
    background-color: #fff;
    color: var(--heading-200);
    text-align: justify;
    border-radius: 0 0 12px 12px;
    display: none
}

.accordion-item.accordion-item-active .accordion-item-icon-open, .accordion-item.accordion-item-default .accordion-item-icon-open {
    opacity: 0
}

.accordion-item.accordion-item-active .accordion-item-icon-close, .accordion-item.accordion-item-default .accordion-item-icon-close {
    opacity: 1
}

.accordion-item.accordion-item-default .accordion-item-content {
    display: block
}

.clinics {
    --border-color: var(--gray-200);
    --bg-color: var(--gray-100);
    display: none;
    flex-wrap: wrap;
    position: relative;
    background: var(--bg-color)
}

    .clinics::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid var(--bg-color);
        z-index: 1;
        touch-action: none;
        pointer-events: none
    }

    .clinics.odd-mode .clinic-last .clinic-inner::after, .clinics.odd-mode .clinic-last .clinic-inner::before {
        display: none
    }

.clinic {
    position: relative;
    width: calc(100%/var(--desktop-cols,6));
    will-change: color;
    transition: color .2s ease-in-out
}

.clinic-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    overflow: hidden;
    padding: 20px 16px;
    position: relative
}

.clinic-title {
    font-size: .875rem;
    color: var(--text-200)
}

.clinic-empty:last-child {
    display: none !important
}

.clinic-icon {
    width: 42px;
    height: 42px;
    font-size: 42px;
    color: var(--text-100);
    will-change: color;
    transition: color .2s ease-in-out
}

.clinic-icon-wrap {
    display: flex
}

.clinic-popover {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: fit-content;
    white-space: nowrap;
    bottom: 20px;
    padding: 0 16px;
    border-radius: 960px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,.08);
    text-align: center;
    will-change: opacity,visibility;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility
}

.clinic:focus .clinic-icon, .clinic:focus-within .clinic-icon, .clinic:hover .clinic-icon {
    color: var(--primary-100)
}

.clinic:focus .clinic-popover, .clinic:focus-within .clinic-popover, .clinic:hover .clinic-popover {
    opacity: 1;
    visibility: visible
}

.clinic-separator {
    position: absolute;
    bottom: 0;
    inset-inline-end: 0;
    z-index: 2;
    transform: translate(-50%,50%) rotate(45deg)
}

.clinic-separator-white {
    inset-inline: 0 auto;
    transform: translate(50%,50%) rotate(45deg)
}

    .clinic-separator-white.icon-has-bg::before {
        background-color: #fff
    }

.clinic::after, .clinic::before {
    content: "";
    position: absolute;
    background: var(--border-color)
}

.clinic::before {
    top: 0;
    inset-inline: 20px;
    height: 1px
}

.clinic::after {
    inset-block: 20px;
    inset-inline-start: 0;
    width: 1px
}

.clinic-last .clinic-separator {
    display: none
}

.pagination, .woocommerce-pagination > .page-numbers {
    margin-top: 64px
}

    .pagination, .pagination .nav-links, .woocommerce-pagination > .page-numbers {
        text-align: center;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px
    }

.pagination, .woocommerce-pagination {
    grid-column: 1/-1
}

    .pagination .page-numbers:is(a,span), .woocommerce-pagination .page-numbers:is(a,span) {
        color: var(--primary-100);
        border-radius: 8px;
        display: flex;
        justify-content: center;
        align-items: center
    }

        .pagination .page-numbers:is(a,span):not(.next):not(.prev):not(.dots), .woocommerce-pagination .page-numbers:is(a,span):not(.next):not(.prev):not(.dots) {
            aspect-ratio: 1;
            width: 44px
        }

        .pagination .page-numbers:is(a,span):not(.dots), .woocommerce-pagination .page-numbers:is(a,span):not(.dots) {
            background: #f0f0f0
        }

        .pagination .page-numbers:is(a,span).current, .woocommerce-pagination .page-numbers:is(a,span).current {
            background: var(--secondary-100);
            color: #fff
        }

        .pagination .page-numbers:is(a,span).next, .pagination .page-numbers:is(a,span).prev, .woocommerce-pagination .page-numbers:is(a,span).next, .woocommerce-pagination .page-numbers:is(a,span).prev {
            padding: 6px 16px;
            gap: 4px;
            color: var(--text-200)
        }

            .pagination .page-numbers:is(a,span).next i, .pagination .page-numbers:is(a,span).prev i, .woocommerce-pagination .page-numbers:is(a,span).next i, .woocommerce-pagination .page-numbers:is(a,span).prev i {
                color: var(--primary-100)
            }

        .pagination .page-numbers:is(a,span).next, .woocommerce-pagination .page-numbers:is(a,span).next {
            padding-inline-end: 8px
        }

        .pagination .page-numbers:is(a,span).prev, .woocommerce-pagination .page-numbers:is(a,span).prev {
            padding-inline-start: 8px
        }

        .pagination .page-numbers:is(a,span).dots, .woocommerce-pagination .page-numbers:is(a,span).dots {
            height: 100%;
            font-size: 1.125rem;
            font-weight: 800;
            padding-bottom: 4px;
            color: #a3c1e0
        }

        .pagination .page-numbers:is(a,span):not(.dots):not(.current):hover, .woocommerce-pagination .page-numbers:is(a,span):not(.dots):not(.current):hover {
            background: var(--primary-100);
            color: #fff
        }

            .pagination .page-numbers:is(a,span):not(.dots):not(.current):hover i, .woocommerce-pagination .page-numbers:is(a,span):not(.dots):not(.current):hover i {
                color: inherit
            }

.social-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.social-item {
    display: flex;
    align-items: center;
    gap: 4px
}

    .social-item:not(:hover) {
        color: var(--text-200)
    }

.widget.widget_newweb_socials {
    padding: 0;
    background: rgba(0,0,0,0)
}

.social_widget-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 16px;
    box-sizing: border-box;
    border-radius: 16px
}

    .social_widget-inner.style_1 {
        background: var(--gray-100)
    }

    .social_widget-inner.style_2 {
        border: 1px solid var(--gray-200)
    }

        .social_widget-inner.style_2 .widgettitle {
            background: rgba(0,0,0,0);
            border-radius: 0;
            border-bottom: 1px solid var(--primary-100);
            color: var(--primary-100);
            padding-top: 0
        }

    .social_widget-inner.style_3 {
        padding: 0
    }

        .social_widget-inner.style_3 .widgettitle {
            border: 1px solid var(--primary-100);
            color: var(--primary-100);
            background: rgba(0,0,0,0)
        }

        .social_widget-inner.style_3 .social-items {
            gap: 16px 20px
        }

.repeater {
    display: flex;
    flex-wrap: wrap
}

.repeater-flow-column {
    flex-direction: column;
    gap: 16px
}

.repeater-flow-row {
    gap: 32px 16px
}

.repeater-slot:last-child .repeater-icons {
    display: none
}

.repeater-flow-column .repeater-slot:not(:last-child) .repeater-item {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--primary-100)
}

.repeater-item {
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
    position: relative
}

.repeater-icons {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: absolute;
    top: 0;
    inset-inline-start: 0
}

.repeater-move {
    cursor: grab
}

.repeater-remove {
    cursor: pointer;
    color: var(--red)
}

.repeater-row {
    position: relative;
    margin-inline-start: 36px;
    padding-inline-start: 24px
}

    .repeater-row::before {
        content: "";
        position: absolute;
        top: 8px;
        inset-inline-start: 0;
        width: 12px;
        height: 12px
    }

.repeater-row-primary::before {
    background: var(--primary-100);
    border-radius: 4px
}

.repeater-row-secondary::before {
    content: "";
    font-family: newweb !important;
    line-height: 1;
    color: var(--primary-100)
}

.repeater-row-double {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 8px
}

.repeater:not(.repeater-grid) input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week]), .repeater:not(.repeater-grid) select, .repeater:not(.repeater-grid) textarea {
    padding: 0;
    border: 0;
    border-radius: 0
}

    .repeater:not(.repeater-grid) input:is([type=text],[type=password],[type=tel],[type=url],[type=date],[type=datetime-local],[type=search],[type=email],[type=month],[type=number],[type=time],[type=week])::placeholder, .repeater:not(.repeater-grid) select::placeholder, .repeater:not(.repeater-grid) textarea::placeholder {
        color: var(--text-200)
    }

.repeater-grid .repeater-row {
    padding-inline-start: 0
}

.repeater-grid.repeater-flow-column {
    margin-inline-start: 0
}

@media screen and (max-width:480px) {
    .repeater-row-double {
        grid-template-columns: 1fr
    }
}

.newweb-dropzone-wrap {
    background: var(--gray-100);
    padding: 16px 24px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.newweb-dropzone-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-600)
}

.newweb-dropzone {
    width: 100%;
    border-radius: 16px;
    border: 1px dashed var(--primary-100);
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 16px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden
}

    .newweb-dropzone.dz-max-files-reached {
        pointer-events: none;
        touch-action: none
    }

    .newweb-dropzone .newweb-dropzone-upload-icon {
        font-size: 3rem;
        color: var(--primary-100);
        touch-action: none;
        pointer-events: none
    }

    .newweb-dropzone .newweb-dropzone-upload-text {
        touch-action: none;
        pointer-events: none
    }

    .newweb-dropzone:has(.dz-preview) .newweb-dropzone-upload-icon, .newweb-dropzone:has(.dz-preview) .newweb-dropzone-upload-text {
        display: none
    }

    .newweb-dropzone .dz-preview > div:not(.dz-image):not(.dz-details):not(.dz-progress) {
        display: none
    }

    .newweb-dropzone .dz-image {
        display: flex;
        position: relative;
        z-index: 1
    }

    .newweb-dropzone .dz-progress {
        position: absolute;
        inset: 0;
        z-index: 0
    }

        .newweb-dropzone .dz-progress .dz-upload {
            background: rgba(29,186,181,.2);
            height: 100%;
            display: block
        }

.newweb-dropzone-info-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    color: var(--text-200)
}

.newweb-dropzone-current-value {
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    margin-top: 24px;
    box-sizing: border-box
}

.newweb-dropzone .dz-preview, .newweb-dropzone-current-value {
    display: flex;
    gap: 12px;
    width: 100%
}

    .newweb-dropzone .dz-preview img, .newweb-dropzone-current-value img {
        border: 1px solid var(--primary-100);
        width: 56px;
        height: 56px;
        object-fit: cover;
        box-sizing: border-box;
        border-radius: 8px
    }

.newweb-dropzone .dz-preview, .newweb-dropzone-current-value-img {
    display: flex
}

.newweb-dropzone .dz-details, .newweb-dropzone-current-value-details {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    gap: 2px;
    font-size: .875rem;
    max-width: 300px;
    position: relative;
    z-index: 1
}

.newweb-dropzone .dz-size, .newweb-dropzone-current-value-size {
    color: var(--text-200)
}

.newweb-dropzone .dz-filename, .newweb-dropzone-current-value-filename {
    color: var(--heading-200);
    font-weight: 500;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    text-wrap: nowrap;
    max-width: 100%
}

.newweb-dropzone-current-value-remove {
    cursor: pointer;
    font-size: 1rem;
    margin-inline-start: auto;
    align-self: flex-start
}

.dropdown {
    border-radius: 16px;
    padding: 8px 16px;
    color: #1d1d1d;
    background: #fff;
    font-size: 1rem;
    font-weight: 400;
    position: relative;
    min-width: 172px;
    box-sizing: border-box;
    cursor: pointer;
    will-change: border-radius;
    transition: border-radius .1s ease-in-out
}

.dropdown-current {
    white-space: nowrap
}

.dropdown-current-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between
}

.dropdown-current-icon {
    will-change: transform;
    transition: transform .2s ease-in-out
}

.dropdown-items {
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
    position: absolute;
    top: 100%;
    inset-inline: 0;
    z-index: 10;
    background: inherit;
    padding: inherit;
    padding-top: 0;
    border-radius: 0 0 16px 16px;
    border-top: 1px dashed rgba(155,156,164,.7);
    max-height: 200px;
    overflow: auto;
    will-change: opacity,visibility;
    transition: .2s ease-in-out;
    transition-property: opacity,visibility
}

.dropdown-item {
    color: var(--text-500);
    will-change: color;
    transition: color .2s ease-in-out
}

    .dropdown-item:hover {
        color: var(--text-600)
    }

.dropdown.hover {
    border-radius: 16px 16px 0 0
}

    .dropdown.hover .dropdown-items {
        opacity: 1;
        visibility: visible
    }

    .dropdown.hover .dropdown-current-icon {
        transform: rotate(180deg)
    }

.hospital-address {
    font-size: .875rem;
    font-style: normal
}

.hospital-address-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--text-200)
}

.hospitals-items .hospital a {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 8px;
    align-items: center;
    background: var(--gray-100);
    border-radius: 20px;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid transparent;
    width: 100%;
    height: 100%;
    will-change: border-color;
    transition: border-color .2s ease-in-out
}

.hospitals-items .hospital-item-texts {
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden
}

.hospitals-items .hospital-name {
    color: var(--text-600);
    font-size: 1rem;
    font-weight: 800
}

.hospitals-items .hospital img {
    border-radius: 16px
}

.hospitals-items .hospital:hover a {
    border-color: var(--primary-100)
}

.hospitals .hospital {
    height: auto
}

    .hospitals .hospital a {
        display: flex;
        flex-direction: column;
        gap: 4px;
        border: 1px solid var(--gray-200);
        border-radius: 24px;
        padding: 16px;
        box-sizing: border-box;
        width: 100%;
        max-width: 246px;
        text-align: center;
        will-change: border-color;
        transition: border-color .2s ease-in-out
    }

        .hospitals .hospital a img {
            border-radius: 16px
        }

        .hospitals .hospital a:hover {
            border-color: var(--primary-100)
        }

.hospitals .hospital-address-wrap {
    color: var(--primary-100);
    margin-top: auto
}

.hospitals .hospital-subtitle {
    color: var(--text-200);
    font-size: .875rem;
    text-align: center
}

.archive .hospitals .hospital a {
    max-width: unset;
    height: 100%
}

#site-footer {
    background: #114b5f;
    position: relative;
    margin-top: 90px
}

    #site-footer.show-top-bar::before {
        content: "";
        width: 100%;
        height: 37px;
        display: block;
        background: var(--gray-100)
    }

#footer {
    position: relative
}

#footer_content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-between;
    padding-block: 54px 44px;
    gap: 42px
}

#footer_about_us p {
    font-size: .875rem;
    font-weight: 400;
    line-height: 2;
    color: var(--text-100);
    text-align: justify
}

#footer_info {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 42px
}

#footer-contact_info-inner {
    color: var(--text-100);
    font-size: .875rem;
    font-weight: 400
}

    #footer-contact_info-inner p {
        line-height: 32px
    }

#footer-socials-wrap {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 8px;
    align-items: start
}

#footer-org-items-wrap {
    display: flex;
    justify-content: center;
    padding: 14px;
    border-radius: 24px;
    background: var(--secondary-200)
}

#footer-orgs-logo-section {
    display: flex;
    flex-direction: column;
    gap: 12px
}

    #footer-orgs-logo-section .footer-org-item {
        display: flex;
        align-items: center;
        justify-content: center;
        mix-blend-mode: luminosity;
        will-change: mix-blend-mode;
        transition: mix-blend-mode .3s ease-in-out
    }

        #footer-orgs-logo-section .footer-org-item:hover {
            mix-blend-mode: normal
        }

    #footer-orgs-logo-section img {
        height: 50px;
        object-fit: contain
    }

#footer-social {
    border-radius: 24px;
    padding: 12px 16px 24px;
    background: var(--secondary-200)
}

    #footer-social:only-child {
        grid-column: 1/-1
    }

    #footer-social .footer-section-title {
        border-bottom: 1px solid var(--secondary-100);
        padding-bottom: 10px;
        text-align: center
    }

    #footer-social .site-title-inner {
        margin: auto
    }

#footer-social-section {
    margin-bottom: 24px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center
}

#footer-copyright-wrap {
    text-align: center;
    padding: 10px 12px;
    border-top: 1px solid var(--secondary-200);
    font-size: .75rem;
    font-weight: 300;
    line-height: 32px;
    color: var(--text-100)
}

.footer-section-title {
    margin-bottom: 8px
}

.footer-section-title-text {
    color: #fff;
    font-weight: 800;
    line-height: 2
}

.footer-menu-wrap .menu ul, .footer-menu-wrap ul.menu {
    display: flex;
    flex-direction: column
}

    .footer-menu-wrap .menu ul a, .footer-menu-wrap ul.menu a {
        color: var(--text-100);
        font-size: .875rem;
        font-weight: 400;
        line-height: 2
    }

        .footer-menu-wrap .menu ul a:hover, .footer-menu-wrap ul.menu a:hover {
            color: var(--primary-100)
        }

.footer-contacts-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer-contact-wrap {
    display: flex;
    gap: 8px;
    align-items: center
}

    .footer-contact-wrap i {
        font-size: 1.125rem;
        line-height: 32px
    }

    .footer-contact-wrap .footer-contact {
        color: inherit;
        line-height: 32px
    }

        .footer-contact-wrap .footer-contact:hover {
            color: var(--primary-100)
        }

.footer-address-title {
    line-height: 32px
}

.footer-address {
    line-height: 32px;
    font-style: normal
}

.footer-address-inner {
    display: flex;
    gap: 8px
}

    .footer-address-inner i {
        font-size: 1.25rem;
        line-height: 32px
    }

.footer-social-item {
    display: flex;
    padding: 14px;
    border-radius: 12px;
    background: var(--secondary-100);
    color: #fff
}

    .footer-social-item:hover {
        background: var(--primary-100)
    }

#back_to_top {
    position: absolute;
    transform: translateY(-50%);
    inset-inline-end: 72px;
    background: var(--gray-100);
    border-radius: 50%;
    padding: 2px
}

#back_to_top_inner {
    display: flex;
    padding: 7px;
    color: #fff;
    background: var(--primary-100);
    border-radius: 50%
}

@media screen and (min-width:1201px) {
    .hide-desktop {
        display: none !important
    }

    .desktop-columns {
        display: grid !important;
        grid-template-columns: repeat(var(--desktop-cols),1fr);
        gap: var(--desktop-gap)
    }

    .newweb-slider-wrap .desktop-slider:not(.desktop-slider-auto) .slider-slide {
        max-width: unset
    }

    .desktop-slider-auto article {
        max-width: 280px
    }

    .desktop-slider-auto .product {
        max-width: 280px
    }

    .desktop-slider-auto .newweb-service {
        max-width: fit-content
    }

    .desktop-slider-auto .proicon {
        max-width: fit-content
    }
}

@media screen and (max-width:1200px) {
    .show-only-desktop {
        display: none !important
    }

    body:not(.sticky-header) #header-container + #page-body {
        padding-top: 0
    }

    #header-container + #page-body #page-main {
        padding-top: 80px
    }

    .admin-bar #header-container + #page-body #page-main {
        padding-top: 40px
    }

    .tablet-slider-auto article {
        max-width: 280px
    }

    .tablet-slider-auto .product {
        max-width: 280px
    }

    .tablet-slider-auto .newweb-service {
        max-width: fit-content
    }

    .tablet-slider-auto .proicon {
        max-width: fit-content
    }

    #footer_content {
        grid-template-columns: 1fr 1fr
    }

    #footer-socials-wrap {
        grid-column: 1/-1;
        margin: auto;
        align-items: center
    }
}

@media screen and (max-width:1024px) {
    html {
        font-size: 14px
    }

    .show-only-desktop-1024 {
        display: none !important
    }

    .newweb-cta1 {
        grid-template-columns: 1fr
    }

    .newweb-cta1-content-wrap {
        border-radius: 32px 32px 0 0;
        padding: 32px;
        padding-inline-end: 16px;
        gap: 20px
    }

    .newweb-cta1-btn {
        padding: 2px
    }

    .newweb-cta1-icon {
        background: #fff;
        padding: 14px;
        border-radius: 50%;
        font-size: 1.5rem
    }

    .newweb-cta1-title {
        font-size: 1.5rem;
        font-weight: 900;
        line-height: 1;
        color: #fff
    }

    .newweb-cta1-subtitle {
        font-size: .75rem;
        color: #fff
    }

    .newweb-cta1-image-wrap {
        display: flex;
        padding: 28px 0 0;
        border-radius: 0 0 32px 32px
    }

        .newweb-cta1-image-wrap::before {
            height: 8px;
            inset-inline: 0;
            top: -4px;
            border-inline-start: 0;
            border-top: 5px dashed var(--img-bg-color,var(--secondary-100))
        }

    .newweb-cta1-img {
        position: relative;
        inset-inline-end: -50%;
        transform: translateX(50%);
        max-width: 100%
    }

    .newweb-book-form-widget {
        grid-template-columns: repeat(var(--tablet-columns,2),1fr)
    }

    .newweb-consult-form-widget {
        grid-template-columns: repeat(var(--tablet-columns,2),1fr)
    }

    #header_inner {
        padding: 24px
    }
}

@media screen and (min-width:1025px) {
    .hide-desktop-1024 {
        display: none !important
    }
}

@media screen and (max-width:768px) {
    .page-width {
        padding-inline: 20px
    }
}

@media screen and (min-width:768px)and (max-width:1200px) {
    .tablet-columns {
        display: grid !important;
        grid-template-columns: repeat(var(--tablet-cols),1fr);
        gap: var(--tablet-gap)
    }

    .hide-tablet {
        display: none !important
    }

    .newweb-slider-wrap .tablet-slider:not(.tablet-slider-auto) .slider-slide {
        max-width: unset
    }

    .clinic {
        width: calc(100%/var(--tablet-cols,4))
    }

    .newweb-services:not(.swiper-wrapper) .newweb-service:not(:last-child) {
        inset-inline-end: calc(-1*var(--tablet-gap)/2)
    }
}

@media screen and (max-width:767px) {
    #primary {
        flex-direction: column-reverse
    }

    .mobile-columns {
        gap: var(--mobile-gap)
    }

        .mobile-columns.mobile-display-flex {
            display: flex !important;
            flex-wrap: wrap;
            justify-content: center
        }

        .mobile-columns.mobile-display-grid {
            display: grid !important;
            grid-template-columns: repeat(var(--mobile-cols),1fr)
        }

    .hide-mobile {
        display: none !important
    }

    .newweb-slider-wrap .mobile-slider:not(.mobile-slider-auto) .slider-slide {
        max-width: unset
    }

    .mobile-slider-auto article {
        max-width: 280px
    }

    .mobile-slider-auto .product {
        max-width: 280px
    }

    .newweb-services:not(.swiper-wrapper) .newweb-service:not(:last-child) {
        inset-inline-end: calc(-1*var(--mobile-gap)/2)
    }

    .mobile-slider-auto .newweb-service {
        max-width: fit-content
    }

    .mobile-slider-auto .proicon {
        max-width: fit-content
    }

    .newweb-booking-widget-time-slot {
        width: 80px
    }

    .section-title-wrap .newweb-slider-arrows {
        display: none
    }

    .clinic {
        width: calc(100%/var(--mobile-cols,4))
    }

    .accordion-item-icon {
        display: none
    }

    .accordion-item:not(.accordion-item-active) .accordion-item-title {
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        line-clamp: 1;
        -webkit-line-clamp: 1
    }

    .newweb-book-form-widget {
        grid-template-columns: repeat(var(--mobile-columns,2),1fr)
    }

    .newweb-consult-form-widget {
        grid-template-columns: repeat(var(--mobile-columns,2),1fr)
    }

    #footer_content {
        grid-template-columns: 1fr
    }

    #footer_info {
        grid-template-columns: auto auto;
        justify-content: space-around
    }

    #footer-socials-wrap {
        margin: unset;
        justify-content: space-around
    }

    #back_to_top {
        inset-inline-end: 20px
    }

    #header_inner {
        padding: 12px;
        grid-template-columns: auto auto 1fr
    }

    .header-mobile-menu-btn {
        padding: 8px
    }

    .sticky-header.admin-bar #header-container {
        top: 46px
    }

    .sticky-header #header-container + * {
        margin-top: 0
    }

    .sticky-header.admin-bar #header-container + * {
        margin-top: 48px
    }
}

@media screen and (max-width:479px) {
    .list-posts .post > a {
        padding: 8px
    }

    #footer_info {
        justify-content: space-between
    }

    #footer-socials-wrap {
        grid-template-columns: 1fr;
        gap: 16px;
        margin: auto
    }

    #footer-org-items-wrap {
        order: 2
    }

    #footer-orgs-logo-section {
        flex-direction: row
    }

    .newweb-menu-wrap ul.children ul, .newweb-menu-wrap ul.sub-menu ul {
        position: relative;
        inset-inline-start: 0;
        background: unset;
        box-shadow: unset;
        opacity: 1;
        visibility: visible;
        padding-bottom: 0;
        border-inline-start: 2px solid var(--primary-100);
        border-radius: 0;
        margin-inline-start: 16px
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        animation: none !important;
        transition: none !important
    }
}
