.button-call {
    background: #f39c12;
    border: 2px solid #f39c12;
    border-radius: 50%;
    box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3);
    cursor: pointer;
    height: 40px;
    width: 40px;
    text-align: center;
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 999;
    transition: .3s;
    -webkit-animation: hoverWave linear 1s infinite;
    animation: hoverWave linear 1s infinite;
    display: flex;
    justify-content: center;
    align-items: center;
		text-decoration: none;
}

.button-callback__ico {
    display: flex;
    justify-content: center;
    align-items: center;
    animation: 1200ms ease 0s normal none 1 running shake;
    animation-iteration-count: infinite;
    -webkit-animation: 1200ms ease 0s normal none 1 running shake;
    -webkit-animation-iteration-count: infinite;
    color: white;
    font-size: 27px;
    padding-top: 0px;
    transition: .3s all;
}

.btn-open .button-callback__ico, .btn-open.button-call {
	animation: none;
	-webkit-animation: none;
}

.button-call:hover, .btn-open {
    background-color: #fff;
}

.button-call:hover .button-callback__ico, .btn-open .button-callback__ico {
    color: #f39c12;
}

.btn-open + .callback__window {
	background-color: black;
}

.btn-open .hidden-ignore {
	display: block;
}

.button-call .hidden {
	display: none;
}

@-webkit-keyframes hoverWave {
    0% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 0 rgba(243, 156, 18, 0.2), 0 0 0 0 rgba(243, 156, 18, 0.2)
    }

    40% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 15px rgba(243, 156, 18, 0.2), 0 0 0 0 rgba(243, 156, 18, 0.2)
    }

    80% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 30px rgba(243, 156, 18, 0), 0 0 0 26.7px rgba(243, 156, 18, 0.067)
    }

    100% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 30px rgba(243, 156, 18, 0), 0 0 0 40px rgba(243, 156, 18, 0.0)
    }
}

@keyframes hoverWave {
    0% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 0 rgba(243, 156, 18, 0.2), 0 0 0 0 rgba(243, 156, 18, 0.2)
    }

    40% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 15px rgba(243, 156, 18, 0.2), 0 0 0 0 rgba(243, 156, 18, 0.2)
    }

    80% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 30px rgba(243, 156, 18, 0), 0 0 0 26.7px rgba(243, 156, 18, 0.067)
    }

    100% {
        box-shadow: 0 8px 10px rgba(243, 156, 18, 0.3), 0 0 0 30px rgba(243, 156, 18, 0), 0 0 0 40px rgba(243, 156, 18, 0.0)
    }
}

/* animations icon */

@keyframes shake {
    0% {
        transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }

    10% {
        transform: rotateZ(-30deg);
        -ms-transform: rotateZ(-30deg);
        -webkit-transform: rotateZ(-30deg);
    }

    20% {
        transform: rotateZ(15deg);
        -ms-transform: rotateZ(15deg);
        -webkit-transform: rotateZ(15deg);
    }

    30% {
        transform: rotateZ(-10deg);
        -ms-transform: rotateZ(-10deg);
        -webkit-transform: rotateZ(-10deg);
    }

    40% {
        transform: rotateZ(7.5deg);
        -ms-transform: rotateZ(7.5deg);
        -webkit-transform: rotateZ(7.5deg);
    }

    50% {
        transform: rotateZ(-6deg);
        -ms-transform: rotateZ(-6deg);
        -webkit-transform: rotateZ(-6deg);
    }

    60% {
        transform: rotateZ(5deg);
        -ms-transform: rotateZ(5deg);
        -webkit-transform: rotateZ(5deg);
    }

    70% {
        transform: rotateZ(-4.28571deg);
        -ms-transform: rotateZ(-4.28571deg);
        -webkit-transform: rotateZ(-4.28571deg);
    }

    80% {
        transform: rotateZ(3.75deg);
        -ms-transform: rotateZ(3.75deg);
        -webkit-transform: rotateZ(3.75deg);
    }

    90% {
        transform: rotateZ(-3.33333deg);
        -ms-transform: rotateZ(-3.33333deg);
        -webkit-transform: rotateZ(-3.33333deg);
    }

    100% {
        transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }
}

@-webkit-keyframes shake {
    0% {
        transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }

    10% {
        transform: rotateZ(-30deg);
        -ms-transform: rotateZ(-30deg);
        -webkit-transform: rotateZ(-30deg);
    }

    20% {
        transform: rotateZ(15deg);
        -ms-transform: rotateZ(15deg);
        -webkit-transform: rotateZ(15deg);
    }

    30% {
        transform: rotateZ(-10deg);
        -ms-transform: rotateZ(-10deg);
        -webkit-transform: rotateZ(-10deg);
    }

    40% {
        transform: rotateZ(7.5deg);
        -ms-transform: rotateZ(7.5deg);
        -webkit-transform: rotateZ(7.5deg);
    }

    50% {
        transform: rotateZ(-6deg);
        -ms-transform: rotateZ(-6deg);
        -webkit-transform: rotateZ(-6deg);
    }

    60% {
        transform: rotateZ(5deg);
        -ms-transform: rotateZ(5deg);
        -webkit-transform: rotateZ(5deg);
    }

    70% {
        transform: rotateZ(-4.28571deg);
        -ms-transform: rotateZ(-4.28571deg);
        -webkit-transform: rotateZ(-4.28571deg);
    }

    80% {
        transform: rotateZ(3.75deg);
        -ms-transform: rotateZ(3.75deg);
        -webkit-transform: rotateZ(3.75deg);
    }

    90% {
        transform: rotateZ(-3.33333deg);
        -ms-transform: rotateZ(-3.33333deg);
        -webkit-transform: rotateZ(-3.33333deg);
    }

    100% {
        transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }
}

.fa-phone {
	font-size: 22px;
}

.fa-viber {
	font-size: 28px;
    padding-top: 2px;
}

.fa-telegram {
	font-size: 28px;
}

.fa-whatsapp {
	font-size: 28px;
}

.fa-envelope {
	font-size: 22px;
}

.button-green {
	background-color: #39c41d;
    width: 5px;
    height: 5px;
    position: absolute;
    top: 2px;
    right: 2px;
    border-radius: 50%;
}

.button-call .hidden-ignore {
	display: none;
}

.btn-open .visible, .btn-open .hidden {
	display: none !important;
}

.button-call.btn-open .hidden-ignore {
	display: block !important;
}

.callback__window {
	position: fixed;
    bottom: 63px;
    right: -240px;
    width: 232px;
    height: 288px;
    z-index: 99;
    background: #fff;
	box-shadow: 0px 0px 4px #000000;
	transition: right ease 0.5s;
}

.callback__window:after {
	content: "";
    position: absolute;
    bottom: -4px;
    width: 0px;
    right: 18px;
    height: 0px;
    border-style: solid;
    border-width: 4px 4px 0 4px;
    border-color: #FFFFFF transparent transparent transparent;
    transform: rotate(0deg);
}

.callback__header {
	text-transform: uppercase;
	letter-spacing: 1px;
    text-align: center;
    background-color: #519dc6;
    color: #ffffff;
    font-size: 19px;
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 15px;
	font-family: CyrRegular, sans-serif;
}
.callback__subtitle {
    text-align: center;
    color: #000;
    width: 100%;
    box-sizing: border-box;
    font-size: 14px;
    display: block;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-weight: 400;
    font-family: Arial, sans-serif;
}

.callback__body {
	display: flex;
    flex-direction: column;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 6px;
}

.callback__body a:link, .callback__body a:visited {
	color: #000;
    font-size: 16px;
    padding-left: 0px;
    text-decoration: none;
	padding-top: 4px;
    padding-bottom: 5px;
    display: flex;
	line-height: 24px;
}

.callback__window:has(+ .btn-open) {
    right: 15px;
}

.callback__method::before {
    background-repeat: no-repeat;
    background-position: center center;
    width: 28px !important;
    height: 28px !important;
    margin-right: 8px;
    background-size: 22px;
    transition: background 0.5s ease;
	content: " ";
    display: block;
}

.callback__phone::before {
    background-image: url(../img/icons/phone.svg);
    width: 28px;
    height: 30px;
	background-color: #228814;
	background-size: 20px;
}

.callback__viber::before {
    background-image: url(../img/icons/viber.svg);
    width: 28px;
    height: 30px;
	background-color: #623a92;
}

.callback__telegram::before {
    background-image: url(../img/icons/telegram.svg);
    width: 28px;
    height: 28px;
	background-color: #34ace1;
	background-position: 1px 2px;
}

.callback__mail::before {
	background-image: url(../img/icons/mail.svg);
    background-size: 22px;
    background-color: #dd700e;
}

.callback__phone:hover::before {
	background-color: #227416;
}

.callback__viber:hover::before {
    background-color: #623a92;
}

.callback__telegram:hover::before {
    background-color: #3498c4;
}

.callback__mail:hover::before {
	background-color: #d06e15;
}
 
.callback__wrap {
	top: 30px !important;
}

.callback_title {
	color: #ffffff;
    background-color: #000000;
    font-family: CyrRegular, sans-serif;
    padding: 10px 15px;
    text-transform: uppercase;
    letter-spacing: -1px;
    font-size: 16px;
}

.callback_subtitle {
	color: #ffffff;
	font-size: 16px;
	font-family: CyrRegular, sans-serif;
	background: url(/img/template/online-order.svg);
	padding-left: 30px;
	background-size: 26px;
	background-position: left center;
	background-repeat: no-repeat;
	display: block;
}

.callback_subtitle span {
	text-transform: uppercase;
	font-size: 16px;
}

#online-callback {
	padding-top: 12px;
}

#online-callback label {
	display: block;
}

.callback__wrap .fancybox-close {
	background-image: url(../img/fancybox/close_callback.svg);
	background-color: #bf2f2f;
    background-size: 28px 28px;
    background-repeat: no-repeat;
    background-position: 4px;
    right: 0;
    top: 0;
}