
:root{
	--vh:100vh;
}

@font-face{
	font-family: "Montserrat";
	src: url("../fonts/montserrat_medium.ttf") format("truetype");
	font-weight:500;
	font-style:medium;
	font-display:swap;
}
  
html{
	font-size: 16px; /* 1rem = 16px */
	font-family: 'Montserrat',sans-serif;
	    touch-action:none;
	letter-spacing: 0.06em;
}
body{
	margin:0px;
}
body *{margin:0; padding:0;}

/* general background and color variable *************************/
.page-bg{
	background: var(--page-bg);
	color:var(--page-color);
}
.page-header{
	visibility:visible;
	z-index: 1;
    transition: all 0.8s ease-out;
    transform: translateY(0);
	opacity:1;
	color:var(--header-color);
}
.header{
	visibility:visible;
}

/* phone wrap ****************************/
.phone-wrap{
    position: absolute;
    transition: all .8s ease-out;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    pointer-events: none;
	transform:translateY(-100%);
}
.phone-wrap.show{
    visibility: visible;
    opacity: 1;
    z-index: 11;
    transform: translateX(0);
	pointer-events: auto;
	cursor: pointer;
}
.page-bg.full .phone-wrap.show{
    visibility: hidden;
    transform: translateY(-100%);
	opacity:0;
	z-index: -1;
}
.phone-anchor{
	color:var(--text-color);
	fill:var(--text-color);
}
.page-bg.full .page-header,
.page-bg.full .popup-contr.menu-wrap{
    visibility: hidden;
    transform: translateY(-100%);
	opacity:0;
	z-index: -1;
}
.nav-box .act-elem.link {
	color:var(--page-color);
}
.submenu {
	background:var(--text-bg);
	border:1px solid var(--page-border-color);
}
.arrow-btn{
	background: var(--page-color);
    color: var(--page-bg);
	opacity: 0.7;
}
.screen.current{
	border-color: var(--page-act-color);
}

.level-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* site navigation *************/
.level-nav-wrap{
	transform:translateX(0);
	transition:all .8s ease-out;
	visibility:visible;
	opacity:1;
	z-index: 1;
}
.page-bg.full .level-nav-wrap {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
	transform: translateX(100%);
}
.scr-nav-wrap{
	transition:all .8s ease-out;
	transform:translateY(0);
	visibility:visible;
	opacity:1;
	z-index: 1;
}
.page-bg.full .scr-nav-wrap{
	visibility:hidden;
	opacity:0;
	z-index: -1;
	transform:translateY(100%);
}

/* figure ****************************/
.figcaption{
	position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.mini-data{
	background: var(--page-color);
	color: var(--page-bg);
}
.figure-slider-btn{
	background: var(--btn-main-bg);
  	color: var(--btn-main-color);
}
.figure-slider-item{
	border-color:var(--page-bg);
}
.figure-slider-item:hover{
	border-color:var(--page-border-color);
}
.figure-slider-item.cur,
.figure-slider-item.cur:hover{
	border-color:var(--page-act-color);
}
.slide-img{
	border:1px solid var(--page-border-color);
}
.figure-slider-counter{
	background:var(--page-color);
  	color:var(--page-bg);
}

.text-main-wrap{
	border:1px solid var(--page-border-color);
}
.text-main-wrap li::before {
    content: "◆";
  	color: var(--title-color);
}
.text-main-wrap .offer li::before {
  	color: var(--page-bg);
}
.text-wrap{
	background:var(--text-bg);
}
.scr-wrap.full .text-wrap,
.scr-wrap.full .slide-text.left,
.scr-wrap.full .slide-text.right,
.scr-wrap.full .slide-text.center .text-main-wrap{
	background:transparent;
}
.cost-first-wrap{
	color:var(--cost-color);
}
.cost-sec-wrap{
	color:var(--sec-cost-color);
}
.promo-wrap{
	color:var(--promo-color);
}
.title{
	color:var(--title-color);
}
.product-benefits{
	color:var(--benefits-color);
	list-style:disc;
}
.scr-wrap.full .product-benefits{
	list-style:none;
}
.panel-more-wrap{
	color: var(--text-color);
}
.panel-wrap.offer{
	position:relative;
	overflow: hidden;
	background: var(--offer-bg);
	border-radius: 0.633579vh;
}
.panel-wrap.offer .panel-grid li{
  	border:1px solid transparent;
	border-left-color: var(--text-color);
	z-index: 5;
}
.panel-wrap.offer h5,
.panel-more .panel-wrap.offer p,
.panel-wrap.offer button{
	position: relative;
	z-index: 5;
}
.panel-wrap.offer h5{
	color:var(--offer-color);
}
.panel-btn{
	background: var(--text-bg);
	color: var(--btn-color);
	border:1px solid var(--btn-border-color);
}
.panel-wrap .panel-grid li{
	border:1px solid transparent;
	border-left-color: var(--text-color);
}

.delivery-wrap{
	color: var(--delivery-color);
}

.more-btn{
	background: var(--abstract-color);
	color: var(--btn-sec-color);
}
.scr-wrap .more-btn.act-elem{
	background: var(--abstract-color);;
    color: var(--btn-sec-color);
	border: 1px solid var(--btn-sec-border-color);
}
.pageActBtn{
	position:relative;
	overflow: hidden;
	background:var(--btn-main-bg);
	color:var(--btn-main-color);
	text-align: center;
	border:1px solid var(--btn-main-border-color);
  	backdrop-filter: blur(10px);
}
.pageActSecBtn{
	position:relative;
	overflow: hidden;
	background:var(--abstract-color);;
	color:var(--btn-sec-color);
	border:1px solid var(--btn-sec-border-color);
	text-align: center;
}
.pageActBtn.sec-shining::after {
	content: "";
	position: absolute;
	top: 0;
	left: -150%;
	width: 150%;
	height: 100%;
	background: linear-gradient(to right, transparent, rgba(18, 44, 79, 0.3), transparent);
	transform: skewX(-30deg);
	animation: shine 2s infinite;
}
.pageActBtn.shining::after {
	content: "";
	position: absolute;
	top: 0;
	left: -150%;
	width: 150%;
	height: 100%;
	background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3), transparent);
	transform: skewX(-30deg);
	animation: shine 2s infinite;
}

/* кнопка закрытия текстового экрана*/
.text-main-wrap .popup-close-btn{
	top:0;
	right:0;
	opacity:0;
	transition: opacity .8s;
	pointer-events:none;
}
.popup-contr .popup-close-btn,
.text-main-wrap.show .popup-close-btn{
	opacity:1;
	pointer-events:auto;
	z-index: 1001;
	border-radius: 50%;
	background: var(--abstract-color);
	opacity: 0.7;
}
.popup-contr .popup-close-btn{
	background: var(--page-bg);
}

.sec-scr-nav-btn:hover{
	color:var(--abstract-color);
}

@keyframes sec-shine {
	0% { left: -150%; }
	100% { left: 150%; }
}
@keyframes shine {
	0% { left: -150%; }
	100% { left: 150%; }
}
.popup-contr{
	color:var(--text-color);
	background:var(--text-bg);
}
.popup-contr.msg-popup{
	border:1px solid var(--page-border-color);
}
.popup-p{
	color:var(--text-color);
}
.modal-header{
	background: var(--abstract-color);
	color:var(--modal-header-color);
	fill:var(--modal-header-color);
}
.modal-urgency{
	display:flex;
	align-items:center;
	background: var(--abstract-color);
    color:var(--modal-urgency-color);
	fill: var(--modal-urgency-color);
}
.modal-urgency svg{
	width: 2.639915vh;
	height: 2.639915vh;
	margin-right: 0.527983vh;
	fill: var(--modal-urgency-color);
}

/* Специфичный для чата контейнер внутри popup */
#chat-popup-wrap .popup-contr-wrap {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* Основные стили чата */
.chat-container {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	overflow: auto;
}

/* Контейнер сообщений */
.chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	scroll-behavior: smooth;
}

/* Кастомный скроллбар чата */
.chat-messages::-webkit-scrollbar {
	width: 6px;
}
.chat-messages::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}
.chat-messages::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 3px;
}
.chat-messages::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* Нижняя панель чата */
.dialog-wrap {
	margin-top: auto;
}

/* Стили сообщений */
.message {
	display: flex;
	flex-direction: column;
	max-width: 85%;
	margin-bottom: 8px;
	animation: messageSlideIn 0.3s ease-out;
}
.message-user {
	align-self: flex-end;
	align-items: flex-end;
}
.message-bot {
	align-self: flex-start;
	align-items: flex-start;
}
.message-error {
	align-self: center;
	align-items: center;
}

/* Содержимое сообщений */
.message-content {
	padding: 12px 16px;
	border-radius: 18px;
	word-wrap: break-word;
	font-size: 14px;
	line-height: 1.4;
	position: relative;
}
.message-user .message-content {
	border-bottom-right-radius: 4px;
	background: var(--page-bg);
}
.message-bot .message-content {
	background: var(--page-bg);
	border-bottom-left-radius: 4px;
}
.message-error .message-content {
	color: var(--msg-error-color);
	border: 2px solid var(--msg-error-color);;
	text-align: center;
}

/* Время сообщения */
.message-time {
	font-size: 11px;
	margin-top: 4px;
	opacity: 0.7;
}
.message-user .message-time {
	text-align: right;
}
.message-bot .message-time {
	text-align: left;
}

/* Индикатор печати */
.typing-indicator {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	font-size: 13px;
	animation: fadeIn 0.3s ease-in;
}
.typing-dots {
	display: flex;
	gap: 3px;
}
.typing-dots span {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	animation: typingDot 1.4s infinite;
}
.typing-dots span:nth-child(2) {
	animation-delay: 0.2s;
}
.typing-dots span:nth-child(3) {
	animation-delay: 0.4s;
}

/* Быстрые кнопки */
.quick-buttons{
	padding: 12px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.quick-button{
	display:flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: var(--abstract-color);
	color: var(--text-color);
  	fill: var(--text-color);
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	flex:1;
	padding: 0.755857vh;
	font-size: 1.2093vh;
	border: 0.1511vh solid var(--page-border-color);
}
.quick-button span{
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	fill:inherit;
	margin-right: 6px;
}

/* Кнопки действий */
.action-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
	animation: messageSlideIn 0.3s ease-out;
}
.action-button {
	padding: 8px 16px 10px;
	background: var(--abstract-color);
	color: var(--page-color);
	border: none;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

/* Контейнер ввода */
.chat-input-container {
	padding:0 20px 30px;
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

/* Поле ввода */
.chat-input {
	flex: 1;
	min-height: 40px;
	max-height: 120px;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 16px;
	font-family: inherit;
	resize: none;
	outline: none;
	line-height: 1.4;
	color: var(--page-color);
	border: none;
	border: 2px solid var(--abstract-color);
}
.chat-input::placeholder {
	font-size:16px;
}

/* Кнопка отправки */
.chat-send-btn {
	width: 40px;
	height: 40px;
	border: none;
	border-radius:8px;
	background: var(--btn-main-bg);
    color: var(--btn-main-color);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.chat-send-btn:disabled {
	background: var(--abstract-color);
	color: var(--page-bg);
	cursor: not-allowed;
	transform: none;
}

/* Форма контактов */
.contact-form {
	max-height: 0;
	overflow: hidden;
	padding: 0 20px;
	animation: slideDown 0.8s ease-out;
	transition: max-height .8s ease-out;
}
#contact-form{
	margin-bottom: 30px;
}
.contact-form h4 {
	margin: 0 0 16px 0;
	font-size: 16px;
	font-weight: 600;
}
.contact-form input {
	width: 100%;
	padding: 10px 12px;
	margin-bottom: 12px;
	border: 2px solid var(--abstract-color);
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	outline: none;
	transition: border-color 0.2s ease;
	box-sizing: border-box;
	color: var(--text-color);
}
.contact-form input::placeholder {
	color: var(--text-color);
	font-size: 16px;
}

/* Кнопки формы */
.form-buttons {
	display: flex;
	gap: 8px;
	margin-top: 16px;
}
.btn-primary {
	flex: 1;
	padding: 10px 16px;
	background: var(--text-color);
	color: var(--text-bg);
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}
.btn-primary:disabled {
	background: var(--abstract-color);
	color: var(--page-bg);
	cursor: not-allowed;
	transform: none;
}
.btn-secondary {
	padding: 10px 16px;
	background: var(--abstract-color);
	color: var(--text-color);
	border-radius: 8px;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.2s ease;
}

/* Ошибки формы */
.form-error {
	padding: 8px 12px;
	/* background: #f8d7da; */
	color: var(--msg-error-color);
	border: 2px solid var(--msg-error-color);
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 12px;
	animation: shake 0.5s ease-in-out;
}

/* CSS стили для чекбокса согласия */
.privacy-consent-container{
	max-height: 0;
	overflow: hidden;
	transition: max-height .8s ease-out;
}
.privacy-consent-wrapper {
	font-size: 12px;
	line-height: 1.4;
	padding: 12px;
	margin: 0;
}
.privacy-consent-label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	user-select: none;
	gap: 8px;
	line-height: 1.5;
	color: var(--text-color);
}
.privacy-consent-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.checkmark {
	flex-shrink: 0;
	height: 16px;
	width: 16px;
	background-color: var(--page-color);
	border: 2px solid var(--text-color);
	border-radius: 3px;
	margin-top: 2px;
	transition: all 0.3s ease;
	position: relative;
}
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
	left: 5px;
	top: 2px;
	width: 4px;
	height: 8px;
	border: solid var(--text-color);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.privacy-consent-label input:checked ~ .checkmark:after {
	display: block;
}
.consent-text {
	color: var(--text-color);
	flex: 1;
}
.privacy-link {
	color: var(--text-color);
	text-decoration: none;
	font-weight: 500;
}
.privacy-link:hover {
	text-decoration: underline;
}
.privacy-consent-error {
	display: none;
	margin-top: 8px;
	animation: shake 0.5s ease-in-out;
}

/* Анимации */
@keyframes messageSlideIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes typingDot {
	0%, 60%, 100% {
		transform: translateY(0);
		opacity: 0.4;
	}
	30% {
		transform: translateY(-10px);
		opacity: 1;
	}
}
@keyframes slideDown {
	from {
		opacity: 0;
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
	to {
		opacity: 1;
		max-height: 500px;
		padding-top: 16px;
		padding-bottom: 16px;
	}
}
@keyframes shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-5px); }
	75% { transform: translateX(5px); }
}

/*******************************************************/
.modal-nav-btn{
	width:50%;
    text-transform: uppercase;
	border:1px solid var(--page-border-color);
	transition: all 0.4s ease;
	color: var(--btn-color);
	text-align: center;
	background: inherit;
	backdrop-filter: blur(10px);
}
.modal-nav-btn:last-child{
	width:100%;
}
.modal-nav-btn[disabled] {
	color: var(--page-border-color);
	border:1px solid var(--page-border-color);
}
.popup-btn.act-elem{
	background: var(--text-bg);
	color: var(--text-color);
}
.social-link-anchor{
	fill: var(--btn-main-bg);
	background:var(--abstract-color);
	border:1px solid var(--page-border-color);
}
.message-error .message-content {
	/* background: #f8d7da; */
	color: var(--msg-error-color);
	border: 2px solid var(--msg-error-color);
	text-align: center;
}

/* footer ***************************/
.ticker-wrap {
    position: absolute;
    overflow: hidden;
    background: var(--text-bg);
    visibility: hidden;
    transition: all 0.8s ease-out;
    opacity: 0;
    z-index: 0;
}
.page-bg.full .ticker-wrap.show{
    visibility: hidden;
    opacity: 0;
    z-index: 0;
}
.ticker-wrap.show {
    visibility: visible;
    transform: translateY(0);
    opacity: 0.7;
    z-index: 1;
}
.footer-wrap{
	transition:all .8s ease-out;
	visibility:visible;
	opacity:1;
	z-index:1;
	transform:translateY(0);
}
.page-bg.full .footer-wrap{
	visibility:hidden;
	opacity:0;
	z-index:-1;
	transform:translateY(100%);
}
.page-bg.full .footer-year,
.page-bg.full .footer-btn-list{
	visibility:hidden;
	opacity:0;
	z-index: 0;
}
.guide-main-btn{
	transition:all .8s ease-out;
	visibility:visible;
	opacity:1;
	z-index: 1;
	transform:translateX(0);
}
.page-bg.full .guide-main-btn{
	visibility:hidden;
	opacity:0;
	z-index:-1;
	transform: translateX(100%);
}
.guide-main-btn.popup-btn.act-elem{
	border:1px solid var(--page-border-color);
	background: var(--page-color);
	color: var(--page-bg);
	width: auto;
	transition:all .8s ease-out;
}

/* level and screen navigation ******************/
.scr-nav-wrap .act-elem .act-anchor-btn,
.level-nav-wrap .act-elem .act-anchor-btn{
	background:var(--page-color);
}
.scr-nav-wrap .nav-wrap .act-elem.cur,
.level-nav-wrap .nav-wrap .act-elem.cur{
	border:4px solid var(--page-color);
}

.faq-item summary > strong{
	margin-left:5px;
}

/* animation *****************************************/
@keyframes increase {
	0% {
		transform: translateX(15px); /* Здесь можно задать нужное расстояние */
	}
	100% {
		transform: translateX(-15px);
	}
}
@keyframes move {
	0% {
		transform: translateX(-5px);
	}
	100% {
		transform: translateX(5px); /* Здесь можно задать нужное расстояние */
	}
}

/***************************************/
/* cookie settings ****************/
.cookie-category {
	transition: all 0.2s ease;
}
.category-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.category-info {
	flex: 1;
	display: flex;
	align-items: center;
}
.category-title {
	color: var(--text-color);
}
.required-badge {
	background: var(--text-color);
    color: var(--page-bg);
	text-transform: uppercase;
}
.toggle-switch {
	position: relative;
  	flex-shrink: 0;
}
.toggle-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}
.toggle-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--text-color);
	transition: .3s;
}
.toggle-slider::before {
	position: absolute;
	content: "";
	background-color: var(--page-color);;
	transition: .3s;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
input:disabled + .toggle-slider {
	cursor: not-allowed;
}
input:disabled + .toggle-slider::before {
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    cursor: not-allowed;
}
.category-description {
	color: var(--text-color);
}
.details-toggle {
	background: none;
	color: var(--text-color);
	display: flex;
	align-items: center;
	transition: color 0.2s ease;
}
.details-toggle .arrow {
  	transition: transform 0.4s ease;
	transform: rotate(-90deg);
}
.cookies-list {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
.cookies-list li {
	color: var(--text-color);
}
.cookies-list code {
	background: var(--text-color);
	color:var(--text-bg);
	font-family: 'Courier New', monospace;
}
.cookies-list li span {
  	display: inline-block;
}
.action-buttons-group {
	display: flex;
  	justify-content: center;
}
.popup-btn {
  	transition: all 0.2s ease;
	background: var(--abstract-color);
  	color: var(--btn-color);
  	border: 2px solid var(--page-border-color);
	will-change: transform;
    width: 50%;
}
.popup-btn.save-btn {
	width: 100%;
	background: var(--text-color);
    color: var(--text-bg);
}
.popup-footer {
  	text-align: center;
}
.footer-text {
	color: var(--text-color);
}
.popup-link {
	color: var(--page-color);
	display: inline;
    display: inline-block;
    text-decoration: underline;
    transition: color .4s;
}

/* chrom scroll style *******************************************/
/* Цвет полосы прокрутки */
::-webkit-scrollbar {
    width:0.659340vh; /*6px/9,1 Ширина полосы прокрутки */
}
::-webkit-scrollbar-track {
    /* background-color: #f1f1f1; /* Цвет фона трека */
	background-color:transparent;
}
::-webkit-scrollbar-thumb {
    /* background-color: #888; /* Цвет полосы прокрутки */
	background: #626262;
	transition: background-color 0.3s ease; /* Анимация при изменении цвета */
}
::-webkit-scrollbar-thumb:hover {
    /* background-color: #555; /* Цвет полосы прокрутки при наведении */
	background:#626262; /* Цвет полосы прокрутки при наведении */
	/* width: 8px; /* Увеличиваем ширину при наведении */
}

/* стили полосы прокрутки для менеджера ********************************/
.popup-contr-wrap::-webkit-scrollbar-track {
	background:#eee;
}
.popup-contr-wrap::-webkit-scrollbar-thumb {
    background:#626262; /* Цвет полосы прокрутки */
    transition: background-color 0.3s ease; /* Анимация при изменении цвета */
}
.popup-contr-wrap::-webkit-scrollbar-thumb:hover {
    background:#444; /* Цвет полосы прокрутки при наведении */
}

/* uni style ************************************************/
a{
	display: block;
	text-decoration: none;
	font-weight:inherit;
	color: inherit;
	fill:inherit;
	outline: none;
	cursor:pointer;
}
button{
	font-family:unset;
	border:none;
	outline:none;
	background:transparent;
	color:inherit;
	transition:all .4s;
	cursor:pointer;
	visibility:visible;
	font-size:inherit;
}
input,
select,
textarea{
	outline:none;
	background:transparent;
	transition:all .4s;
	cursor:pointer;
}
ul{list-style:none}
/***********************************************************************/

/* *******************************************************/
/* Firefox */
input::placeholder,
textarea::placeholder {
  color: var(--text-color);
}

/* form **************************************/
.form-group {
	margin-bottom:2.1119vh;/*20px/9,47*/ 
}
.form-group:last-child {
	margin-bottom: 0;
}
.form-input,
.form-textarea {
  	width: calc(100% - 3.37909vh);
	padding:1.055966vh 1.689545vh;/*10px 16px/9,47*/
	border:0.2111vh solid var(--page-border-color);/*2px/9,47*/
	border-radius:0.8446vh;/*8px/9,47*/
	font-size:1.689545vh;/*16px/9,47*/
	color: var(--text-color);
}
.form-label {
	display: block;
	margin-bottom:1.055966vh;/*10px/9,47*/
	font-size:1.4783vh;/*14px/9,47*/
	font-weight: 500;
}
.form-textarea {
	min-height:10.559662vh;/*100px/9,47*/
	resize: vertical;
}
.form-input:focus,
.form-textarea:focus {
	border-color: var(--page-border-color);
}

input.form-input:-webkit-autofill {
	-webkit-text-fill-color: var(--text-color) !important;
	transition: background-color 5000s ease-in-out 0s !important;
}
input.form-input.body:-webkit-autofill {
	-webkit-text-fill-color: var(--text-color) !important;
	transition: background-color 5000s ease-in-out 0s !important;
}

.svg-icon{fill:inherit}

.pos-rel{position:relative}
.pos-abs{position:absolute}
.pos-fxd{position:fixed}
.block{display:block}
.hidden{display:none}

.flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.flex-dir-col{flex-direction:column}
.sp-between{justify-content:space-between}
.al-it-center{align-items:center}
.al-it-end{align-items: flex-end}
.al-flex-end{justify-content:flex-end}
.column{flex-direction:column}

.scroll{overflow:auto}
.box-shad{box-shadow: 1px 1px 10px 2px rgba(0,0,0,0.14)}

/* padding *************************************************************/
.p-l-0{padding-left:0}
.p-r-0{padding-right:0}
.p-t-5{padding-top:0.54945vh/*5px/9.1*/}
.p-b-5{padding-bottom:0.54945vh/*5px/9.1*/}
.p-b-10{padding-bottom:1.0989vh/*10px/9.1*/}
.p-r-20{padding-right:2.1978vh/*20px/9.1*/}
.p-l-20{padding-left:2.1978vh/*20px/9.1*/}

/* margin *******************************************/
.m-l-0{margin-left:0}
.m-r-0{margin-right:0}

.m-t-5{margin-top:0.54945vh/*5px/9.1*/}
.m-r-5{margin-right:0.54945vh/*5px/9.1*/}
.m-b-5{margin-bottom:0.54945vh/*5px/9.1*/}

.m-t-10{margin-top:1.0989vh/*10px/9.1*/}
.m-b-10{margin-bottom:1.0989vh/*10px/9.1*/}
.m-l-10{margin-left:1.0989vh/*10px/9.1*/}

.m-t-20{margin-top:2.1978vh/*20px/9.1*/}
.m-b-20{margin-bottom:2.1978vh/*20px/9.1*/}

/* column *********************************************/

.no-wrap{white-space:nowrap}
.no-wrap.phone{
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    display: block;
}

/**************************************************/

.visually-hidden{
	position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
/**************************************************/

.level-wrap.dragging .scr-wrap,
.level-wrap.dragging .level,
.level-wrap.dragging .screen,
.level-wrap.dragging .slide,
.level-wrap.dragging h1,
.level-wrap.dragging p {
    -webkit-user-select: none;
    user-select: none;
}

.level{
	position:absolute;
	display:flex;
    justify-content: space-around;
	width:100%;
	height:100%;
	overflow:hidden;
	transform:translateY(0);
	transition:1400ms;
}

.level.queue{
    transform:translateY(100%);
    opacity:0;
}
.level.prev{
    transform:translateY(-100%);
    opacity:0;
}
.level:first-child.top-bounce{
	transform:translateY(10%);
}
.level:last-child.bottom-bounce{
	transform:translateY(-10%);
}

.arrow-wrap{
	display:block;
	visibility:visible;
	opacity:1;
	transition:all 0.4s;
	transform:translateX(0);
}
.arrow-btn{
	position: relative;
	border-radius:50%;
	text-align:center;
	box-shadow: 1px 1px 10px 2px rgba(0, 0, 0, 0.14);
	animation: move 2s ease-in-out infinite alternate;
}
.page-bg.full .arrow-wrap.L,
.arrow-wrap.L.hid{
	visibility:hidden;
	opacity:0;
	transform:translateX(-20px);
}
.page-bg.full .arrow-wrap.R,
.arrow-wrap.R.hid{
	visibility:hidden;
	opacity:0;
	transform:translateX(20px);
}

/* page raiting ********************/
.page-rating-container{
    position: absolute;
    transition: all .8s ease-out;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
	line-height: 1;
	transform: translateX(100%);
    color: var(--text-color);
}
.page-rating-container.show{
    visibility: visible;
    opacity: 1;
    z-index: 11;
    transform: translateX(0);
	pointer-events: auto;
	cursor: pointer;
}
.page-bg.full .page-rating-container.show{
    visibility: hidden;
    transform: translateX(100%);
	opacity:0;
	z-index: -1;
}

.page-rating-stars{
	color: var(--title-color);
	cursor: pointer;
}

/* popup rating stars ******************************/
.popup-stars-wrap{border:none}
.rating-star{
	line-height: 1;
}
.rating-star.selected{
	color: var(--title-color);
}
.comment-stars-wrap{
	line-height: 1;
}
.comment-text{
	display:inline;
}

/* site-nav-style ***********************************************/
.nav-level-1 > .act-anchor {
	display: block;
	white-space: nowrap;
	background: none;
	border: none;
	cursor: pointer;
	transition: background-color 0.5s;
}
/* Стрелка для первого уровня */
.nav-level-1 > .act-anchor::after {
	content: " \2039";
	font-size:2.534318vh;/*24px/9,47*/
	position: absolute;
  	right: 0.2111vh;/*2px/9,47*/
	top:1px;
	transition: transform 0.5s;
}
.nav-level-1.active > .act-anchor::after {
	transform: rotate(-90deg);
}
.submenu .act-elem.link{
	margin: 0;
	border:none;
	display: flow-root;
}
.submenu .act-elem:hover{
	background:var(--abstract-color,);
}
.submenu .act-elem.link.cur,
.submenu .act-elem:hover.cur{
	background:var(--abstract-color,);
}

.nav-level-2 > .act-anchor {
	width: 100%;
	text-align:left;
	transition: background-color 0.5s;
	padding-top: 1.0559vh;/*10px/9,47*/
	padding-bottom: 1.0559vh;/*10px/9,47*/
	margin: 0.4223vh 0;/*4px/9,47*/
}
.nav-level-2 > a.act-anchor{
	width: calc(100% - 4.2vh);
}

.btn {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
    margin-bottom: 16px;
}
@keyframes pulse {
     0%, 100% { transform: scale(1); }
     50% { transform: scale(1.05); }
}
@keyframes slideUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }
     to {
         opacity: 1;
         transform: translateY(0);
     }
}
@keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px);
     }
     to {
         opacity: 1;
         transform: translateY(0);
     }
}
@keyframes slideIn {
     from {
         opacity: 0;
         transform: translateY(20px);
     }
     to {
         opacity: 1;
         transform: translateY(0);
     }
}