.widget{
    position: fixed;
    bottom: 67px;
    right: 90px;
    z-index: 1001;
}

.widget .object-contain {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.widget .text-body-med {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: -.03em
}

.widget .text-sub-body {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -.03em
}

.widget .text-mini {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: -.03em
}

.widget .text-dark {
    color: #353535
}

.widget .text-grey {
    color: #7e7e7e
}

.widget .button {
    outline: none;
    border: none;
    background: #ff6433;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 200px;
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -.03em;
    color: #fdfdfd;
    cursor: pointer
}

.widget .button:hover {
    background: #cf4b22;
    color: #fdfdfd
}

.widget .button-dark-mini {
    background: #353535;
    color: #fff;
    padding: 5px;
    border-radius: 50%;
    width: 40px;
    height: 40px
}

.widget .button-circle {
    padding: 10px;
    flex-shrink: 0
}

.widget .input-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    width: 100%
}

.widget .input {
    appearance: none;
    display: inline-block;
    cursor: pointer;
    outline: none;
    transition: all .3s;
    border-radius: 500px;
    background: #d7d7d7;
    padding: 19px 20px;
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -.03em;
    border: 1px solid #d7d7d7;
    width: 100%;
    color: #353535
}

.widget .input::placeholder {
    color: #7e7e7e
}

.widget .input:focus {
    border: 1px solid #7e7e7e
}

.widget .icon-mini {
    width: 21px;
    height: 21px
}

.widget .tg-mini {
    margin-right: 3px
}

@media only screen and (max-width: 1300px) {
    .widget__button{
        border-radius: 15px !important;
    }

    .widget .text-subtitle-mini-bold-tab {
        font-weight: 700;
        font-size: 20px;
        line-height: 120%;
        letter-spacing: -.03em
    }

    .widget .text-main-med-tab {
        font-weight: 500;
        font-size: 16px;
        line-height: 110%;
        letter-spacing: -.03em
    }
}

@media only screen and (max-width: 768px) {
    .widget__button {
        border-radius: 15px !important;
        font-weight: 500;
        font-size: 14px;
        line-height: 120%;
        letter-spacing: -.03em;
    }

    .widget .button-circle {
        width: 40px;
        height: 40px
    }

    .widget .button-circle img {
        width: 17px;
        height: 12px
    }

    .widget .input {
        padding: 13px 20px;
        font-size: 14px;
        line-height: 120%;
        letter-spacing: -.03em
    }

    .widget .icon-mini {
        width: 15px;
        height: 15px
    }
}

.widget::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.63);
    -webkit-backdrop-filter: blur(12.4px);
    backdrop-filter: blur(12.399999618530273px);
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s cubic-bezier(.4, 0, .2, 1), visibility .35s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none
}

.widget__close {
    display: none
}

.widget--open .widget__block {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1)
}

.widget--open .widget__panel--active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.widget--open .widget__panel--active.widget__panel--leaving, .widget--open .widget__panel--active.widget__panel--entering {
    opacity: 0;
    pointer-events: none
}

.widget--open .widget__button::after {
    animation: none;
    opacity: 0
}

.widget--open .widget__button_icon--closed {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.6) rotate(45deg)
}

.widget--open .widget__button_icon--open {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg)
}

.widget--chat-open .widget__button::after {
    animation: none;
    opacity: 0
}

.widget--chat-open .widget__button_icon--closed {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.6) rotate(45deg)
}

.widget--chat-open .widget__button_icon--open {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg)
}

.widget__button {
    border-radius: 100%;
    width: 120px;
    height: 120px;
    padding: 20px;
    position: relative;
    display: block;
    pointer-events: auto
}

.widget__button_inner {
    display: none
}

.widget__button::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 100%;
    box-shadow: 0 0 0 0 rgba(255, 100, 51, 0.4);
    animation: pulse 2s ease-out infinite;
    transition: opacity .35s cubic-bezier(.4, 0, .2, 1)
}

.widget__button_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;
    transition: opacity .35s cubic-bezier(.4, 0, .2, 1), transform .35s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none
}

.widget__button_icon--closed {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg)
}

.widget__button_icon--open {
    width: 48px;
    height: 48px;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.6) rotate(-45deg)
}

.widget__block {
    position: absolute;
    right: 0;
    bottom: calc(100% + 28px);
    width: 305px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    border-radius: 25px;
    box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.5);
    background: linear-gradient(134deg, #fff 0%, #e4e4e4 34.62%, #fff 62.98%, #e4e4e4 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    will-change: transform, opacity;
    transform: translateY(16px) scale(0.94) translateZ(0);
    -webkit-transform: translateY(16px) scale(0.94) translateZ(0);
    transition:
            opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
            transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
            visibility 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.widget__panels {
    position: relative;
    width: 100%;
    overflow: hidden;
    transition: height .35s cubic-bezier(.4, 0, .2, 1)
}

.widget__panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s cubic-bezier(.4, 0, .2, 1);
    z-index: 1
}

.widget__panel--active {
    z-index: 2
}

.widget__panel--leaving {
    opacity: 0;
    z-index: 1
}

.widget__panel--entering {
    opacity: 0;
    z-index: 2
}

.widget__panel--measure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    z-index: -1
}

.widget .widget-call-form {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.widget__success, .widget__error {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    padding: 40px 0
}

.widget__success_icon, .widget__error_icon {
    width: 43px;
    height: 43px
}

.widget__success_text, .widget__error_text {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -.03em;
    color: #353535
}

.widget__error_icon {
    flex-shrink: 0;
    background-color: #f33;
    mask-image: url("../images/alert-dang.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("../images/alert-dang.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain
}

.widget__call_title {
    color: #353535
}

.widget__call_field .input {
    padding: 14px 16px;
    font-size: 14px
}

.widget__call_actions {
    display: flex;
    align-items: center
}

.widget__call_actions:hover .widget__call_button {
    background: #cf4b22
}

.widget__call_button {
    flex: 1;
    width: 100%;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 120%
}

.widget__call_button-circle {
    width: 48px;
    height: 48px;
    padding: 10px
}

.widget__call_button-circle img {
    width: 17px;
    height: 12px
}

.widget__menu {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.widget__menu_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 10px;
    border: none;
    border-bottom: 1px solid rgba(53, 53, 53, 0.2);
    background: none;
    cursor: pointer;
    text-align: left
}

.widget__menu_item:last-child {
    border-bottom: none
}

.widget__menu_title {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -.03em;
    color: #353535
}

.widget__menu_sub {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: -.03em;
    color: #7e7e7e
}

.widget__menu_arrow {
    margin-left: auto;
    flex-shrink: 0
}

.widget__social {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.widget__social_list {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.widget__social_list .button-dark-mini {
    width: 52px;
    height: 52px
}

.widget__social_list .icon-mini {
    width: 24px;
    height: 24px
}

.widget__work-time {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.widget__work-time_text {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -.03em;
    color: #353535;
    opacity: .5
}

@media only screen and (max-width: 1300px) {
    .widget {
        bottom: calc(10px + env(safe-area-inset-bottom));
        left: 15px;
        right: 15px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        transition: inset 0s
    }

    .widget__close {
        display: block;
        position: absolute;
        top: 16px;
        right: 16px;
        background: none;
        border: none;
        padding: 5px;
        cursor: pointer;
        z-index: 10;
        width: 24px;
        height: 24px
    }

    .widget__close img {
        width: 14px;
        height: 14px;
        object-fit: contain
    }

    .widget__block {
        width: 100%;
        right: 0;
        bottom: calc(100% + 15px);
        border-radius: 20px;
        transition: none !important;
        -webkit-transition: none !important;
    }

    .widget__button {
        width: 100%;
        height: 54px;
        border-radius: 15px;
        padding: 0 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #ff6433;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity .3s ease, visibility .3s ease, transform .3s ease
    }

    .widget__button::after {
        display: none
    }

    .widget__button_inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        opacity: 1;
        transition: opacity .2s ease
    }

    .widget__button_phone {
        width: 24px;
        height: 24px;
        filter: brightness(0) invert(1)
    }

    .widget__button_text {
        font-family: "Ubuntu", sans-serif;
        font-weight: 500;
        font-size: 15px;
        line-height: 120%;
        color: #fff;
        white-space: nowrap
    }

    .widget__button_icon {
        width: 24px;
        height: 24px
    }

    .widget__button_icon--closed {
        display: none
    }

    .widget__button_icon--open {
        display: none
    }

    .widget--open {
        pointer-events: auto;
        position: fixed;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1001
    }

    .widget--open::before {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: none !important;
    }

    .widget--open .widget__button {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: scale(.8)
    }

    .widget--open .widget__block {
        position: relative;
        bottom: auto;
        right: auto;
        width: calc(100% - 30px);
        max-width: 340px;
        margin: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none
    }

    .widget--chat-open .widget__button, .widget--chat-open_inner {
        opacity: 0;
        pointer-events: none
    }

    .widget--chat-open_icon--open {
        display: block;
        opacity: 1;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        filter: brightness(0) invert(1)
    }
}

@media only screen and (max-width: 1300px) and (max-width: 768px) {
    .widget {
        bottom: 55px
    }
}

.ws-chat-btn-el-container {
    display: none !important
}

@media only screen and (min-width: 1300px) {
    .ws-chat,
    .ws-chat-container {
        position: fixed !important;
        right: 80px !important;
        bottom: 215px !important;
        left: auto !important;
        top: auto !important;
        z-index: 1002 !important;
    }
}

@media only screen and (max-width: 1300px) {
    .ws-chat,
    .ws-chat-container {
        bottom: calc(79px + env(safe-area-inset-bottom)) !important;
    }
}

@media only screen and (max-width: 1300px) and (max-width: 768px) {
    .ws-chat,
    .ws-chat-container {
        bottom: calc(124px + env(safe-area-inset-bottom)) !important;
    }
}

@-moz-keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 100, 51, 0.4)
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 100, 51, 0)
    }
}

@-webkit-keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 100, 51, 0.4)
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 100, 51, 0)
    }
}

@-o-keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 100, 51, 0.4)
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 100, 51, 0)
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 100, 51, 0.4)
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 100, 51, 0)
    }
}