﻿/*
Theme Name:  Site Theme
Author: Mozhejko Vadim
Author URI: https://mozhejko.ru/
Description:  Site's Site
Version: 1.0
*/

/* ======================================= */
/* variables */
:root{
    --font: "Lora", Arial, sans-serif;
    --font-roboto: "Roboto", Arial, sans-serif;
    
    /**/
    --light: #fff;
    --common: #000;
    --disabled: #666;
    --primary: #f2e8cf;
    --dark: #623e2a;
    --bg: #f7f0ec;
    --works-bg: #f4f1ed;
    --gray: #dcdedf;
    --button: #7f564d;
    --button-hover: #594f4f;
    --border: #c9c9c9;
}

/* ======================================= */
/* RESET */
/* ======================================= */
a, article, body, div, footer, form, fieldset, h1, h2, h3, h4, h5, h6, header, html, i, img, li, nav, ol, p, section, span, u, ul, input, textarea, dl, dt, table, tr, td, th, pre {
	margin: 0;
	padding: 0;
}

html,body{
	position: relative;
    
    
}

html.admin-bar{
    
}

@media screen and (max-width: 782px){
    html.admin-bar{
    
    }
}

body{   
    color: var(--common);
    font: 400 16px/1.4 var(--font);
    
    background-color: var(--bg);
    
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: none;
}

li{
	list-style: none;
}

a{
	color: var(--common);
}

.svg{
    display: none;
}

.strong,
strong,
b{
    font-weight: 900;
}

svg,
use,
path{
    display: block;    
}

svg{
    pointer-events: none;
}

table{    
    border-collapse: collapse;
}

iframe{
    border: none;
}

.grecaptcha-badge{
    display: none!important;
}

/* indents */
.t4{padding-top:4px}.b4{padding-bottom:4px}.t6{padding-top:6px}.b6{padding-bottom:6px}.t8{padding-top:8px}.b8{padding-bottom:8px}.t10{padding-top:10px}.b10{padding-bottom:10px}.t12{padding-top:12px}.b12{padding-bottom:12px}.t14{padding-top:14px}.b14{padding-bottom:14px}.t16{padding-top:16px}.b16{padding-bottom:16px}.t18{padding-top:18px}.b18{padding-bottom:18px}.t20{padding-top:20px}.b20{padding-bottom:20px}.t22{padding-top:22px}.b22{padding-bottom:22px}.t24{padding-top:24px}.b24{padding-bottom:24px}.t26{padding-top:26px}.b26{padding-bottom:26px}.t28{padding-top:28px}.b28{padding-bottom:28px}.t30{padding-top:30px}.b30{padding-bottom:30px}.t32{padding-top:32px}.b32{padding-bottom:32px}.t34{padding-top:34px}.b34{padding-bottom:34px}.t36{padding-top:36px}.b36{padding-bottom:36px}.t38{padding-top:38px}.b38{padding-bottom:38px}.t40{padding-top:40px}.b40{padding-bottom:40px}.t42{padding-top:42px}.b42{padding-bottom:42px}.t44{padding-top:44px}.b44{padding-bottom:44px}.t46{padding-top:46px}.b46{padding-bottom:46px}.t48{padding-top:48px}.b48{padding-bottom:48px}.t50{padding-top:50px}.b50{padding-bottom:50px}.t52{padding-top:52px}.b52{padding-bottom:52px}.t54{padding-top:54px}.b54{padding-bottom:54px}.t56{padding-top:56px}.b56{padding-bottom:56px}.t58{padding-top:58px}.b58{padding-bottom:58px}.t60{padding-top:60px}.b60{padding-bottom:60px}.t62{padding-top:62px}.b62{padding-bottom:62px}.t64{padding-top:64px}.b64{padding-bottom:64px}.t66{padding-top:66px}.b66{padding-bottom:66px}.t68{padding-top:68px}.b68{padding-bottom:68px}.t70{padding-top:70px}.b70{padding-bottom:70px}.t72{padding-top:72px}.b72{padding-bottom:72px}.t74{padding-top:74px}.b74{padding-bottom:74px}.t76{padding-top:76px}.b76{padding-bottom:76px}.t78{padding-top:78px}.b78{padding-bottom:78px}.t80{padding-top:80px}.b80{padding-bottom:80px}.t82{padding-top:82px}.b82{padding-bottom:82px}.t84{padding-top:84px}.b84{padding-bottom:84px}.t86{padding-top:86px}.b86{padding-bottom:86px}.t88{padding-top:88px}.b88{padding-bottom:88px}.t90{padding-top:90px}.b90{padding-bottom:90px}.t92{padding-top:92px}.b92{padding-bottom:92px}.t94{padding-top:94px}.b94{padding-bottom:94px}.t96{padding-top:96px}.b96{padding-bottom:96px}.t98{padding-top:98px}.b98{padding-bottom:98px}.t100{padding-top:100px}.b100{padding-bottom:100px}.t102{padding-top:102px}.b102{padding-bottom:102px}.t104{padding-top:104px}.b104{padding-bottom:104px}.t106{padding-top:106px}.b106{padding-bottom:106px}.t108{padding-top:108px}.b108{padding-bottom:108px}.t110{padding-top:110px}.b110{padding-bottom:110px}.t112{padding-top:112px}.b112{padding-bottom:112px}.t114{padding-top:114px}.b114{padding-bottom:114px}.t116{padding-top:116px}.b116{padding-bottom:116px}.t118{padding-top:118px}.b118{padding-bottom:118px}.t120{padding-top:120px}.b120{padding-bottom:120px}@media screen and (max-width:1024px){.tt0{padding-top:0;}.tb0{padding-bottom:0}.tt4{padding-top:4px}.tb4{padding-bottom:4px}.tt6{padding-top:6px}.tb6{padding-bottom:6px}.tt8{padding-top:8px}.tb8{padding-bottom:8px}.tt10{padding-top:10px}.tb10{padding-bottom:10px}.tt12{padding-top:12px}.tb12{padding-bottom:12px}.tt14{padding-top:14px}.tb14{padding-bottom:14px}.tt16{padding-top:16px}.tb16{padding-bottom:16px}.tt18{padding-top:18px}.tb18{padding-bottom:18px}.tt20{padding-top:20px}.tb20{padding-bottom:20px}.tt22{padding-top:22px}.tb22{padding-bottom:22px}.tt24{padding-top:24px}.tb24{padding-bottom:24px}.tt26{padding-top:26px}.tb26{padding-bottom:26px}.tt28{padding-top:28px}.tb28{padding-bottom:28px}.tt30{padding-top:30px}.tb30{padding-bottom:30px}.tt32{padding-top:32px}.tb32{padding-bottom:32px}.tt34{padding-top:34px}.tb34{padding-bottom:34px}.tt36{padding-top:36px}.tb36{padding-bottom:36px}.tt38{padding-top:38px}.tb38{padding-bottom:38px}.tt40{padding-top:40px}.tb40{padding-bottom:40px}.tt42{padding-top:42px}.tb42{padding-bottom:42px}.tt44{padding-top:44px}.tb44{padding-bottom:44px}.tt46{padding-top:46px}.tb46{padding-bottom:46px}.tt48{padding-top:48px}.tb48{padding-bottom:48px}.tt50{padding-top:50px}.tb50{padding-bottom:50px}.tt52{padding-top:52px}.tb52{padding-bottom:52px}.tt54{padding-top:54px}.tb54{padding-bottom:54px}.tt56{padding-top:56px}.tb56{padding-bottom:56px}.tt58{padding-top:58px}.tb58{padding-bottom:58px}.tt60{padding-top:60px}.tb60{padding-bottom:60px}.tt62{padding-top:62px}.tb62{padding-bottom:62px}.tt64{padding-top:64px}.tb64{padding-bottom:64px}.tt66{padding-top:66px}.tb66{padding-bottom:66px}.tt68{padding-top:68px}.tb68{padding-bottom:68px}.tt70{padding-top:70px}.tb70{padding-bottom:70px}.tt72{padding-top:72px}.tb72{padding-bottom:72px}.tt74{padding-top:74px}.tb74{padding-bottom:74px}.tt76{padding-top:76px}.tb76{padding-bottom:76px}.tt78{padding-top:78px}.tb78{padding-bottom:78px}.tt80{padding-top:80px}.tb80{padding-bottom:80px}.tt82{padding-top:82px}.tb82{padding-bottom:82px}.tt84{padding-top:84px}.tb84{padding-bottom:84px}.tt86{padding-top:86px}.tb86{padding-bottom:86px}.tt88{padding-top:88px}.tb88{padding-bottom:88px}.tt90{padding-top:90px}.tb90{padding-bottom:90px}.tt92{padding-top:92px}.tb92{padding-bottom:92px}.tt94{padding-top:94px}.tb94{padding-bottom:94px}.tt96{padding-top:96px}.tb96{padding-bottom:96px}.tt98{padding-top:98px}.tb98{padding-bottom:98px}.tt100{padding-top:100px}.tb100{padding-bottom:100px}.tt102{padding-top:102px}.tb102{padding-bottom:102px}.tt104{padding-top:104px}.tb104{padding-bottom:104px}.tt106{padding-top:106px}.tb106{padding-bottom:106px}.tt108{padding-top:108px}.tb108{padding-bottom:108px}.tt110{padding-top:110px}.tb110{padding-bottom:110px}.tt112{padding-top:112px}.tb112{padding-bottom:112px}.tt114{padding-top:114px}.tb114{padding-bottom:114px}.tt116{padding-top:116px}.tb116{padding-bottom:116px}.tt118{padding-top:118px}.tb118{padding-bottom:118px}.tt120{padding-top:120px}.tb120{padding-bottom:120px}}@media screen and (max-width:767px){.mt0{padding-top:0;}.mb0{padding-bottom:0;}.mt4{padding-top:4px}.mb4{padding-bottom:4px}.mt6{padding-top:6px}.mb6{padding-bottom:6px}.mt8{padding-top:8px}.mb8{padding-bottom:8px}.mt10{padding-top:10px}.mb10{padding-bottom:10px}.mt12{padding-top:12px}.mb12{padding-bottom:12px}.mt14{padding-top:14px}.mb14{padding-bottom:14px}.mt16{padding-top:16px}.mb16{padding-bottom:16px}.mt18{padding-top:18px}.mb18{padding-bottom:18px}.mt20{padding-top:20px}.mb20{padding-bottom:20px}.mt22{padding-top:22px}.mb22{padding-bottom:22px}.mt24{padding-top:24px}.mb24{padding-bottom:24px}.mt26{padding-top:26px}.mb26{padding-bottom:26px}.mt28{padding-top:28px}.mb28{padding-bottom:28px}.mt30{padding-top:30px}.mb30{padding-bottom:30px}.mt32{padding-top:32px}.mb32{padding-bottom:32px}.mt34{padding-top:34px}.mb34{padding-bottom:34px}.mt36{padding-top:36px}.mb36{padding-bottom:36px}.mt38{padding-top:38px}.mb38{padding-bottom:38px}.mt40{padding-top:40px}.mb40{padding-bottom:40px}.mt42{padding-top:42px}.mb42{padding-bottom:42px}.mt44{padding-top:44px}.mb44{padding-bottom:44px}.mt46{padding-top:46px}.mb46{padding-bottom:46px}.mt48{padding-top:48px}.mb48{padding-bottom:48px}.mt50{padding-top:50px}.mb50{padding-bottom:50px}.mt52{padding-top:52px}.mb52{padding-bottom:52px}.mt54{padding-top:54px}.mb54{padding-bottom:54px}.mt56{padding-top:56px}.mb56{padding-bottom:56px}.mt58{padding-top:58px}.mb58{padding-bottom:58px}.mt60{padding-top:60px}.mb60{padding-bottom:60px}.mt62{padding-top:62px}.mb62{padding-bottom:62px}.mt64{padding-top:64px}.mb64{padding-bottom:64px}.mt66{padding-top:66px}.mb66{padding-bottom:66px}.mt68{padding-top:68px}.mb68{padding-bottom:68px}.mt70{padding-top:70px}.mb70{padding-bottom:70px}.mt72{padding-top:72px}.mb72{padding-bottom:72px}.mt74{padding-top:74px}.mb74{padding-bottom:74px}.mt76{padding-top:76px}.mb76{padding-bottom:76px}.mt78{padding-top:78px}.mb78{padding-bottom:78px}.mt80{padding-top:80px}.mb80{padding-bottom:80px}.mt82{padding-top:82px}.mb82{padding-bottom:82px}.mt84{padding-top:84px}.mb84{padding-bottom:84px}.mt86{padding-top:86px}.mb86{padding-bottom:86px}.mt88{padding-top:88px}.mb88{padding-bottom:88px}.mt90{padding-top:90px}.mb90{padding-bottom:90px}.mt92{padding-top:92px}.mb92{padding-bottom:92px}.mt94{padding-top:94px}.mb94{padding-bottom:94px}.mt96{padding-top:96px}.mb96{padding-bottom:96px}.mt98{padding-top:98px}.mb98{padding-bottom:98px}.mt100{padding-top:100px}.mb100{padding-bottom:100px}.mt102{padding-top:102px}.mb102{padding-bottom:102px}.mt104{padding-top:104px}.mb104{padding-bottom:104px}.mt106{padding-top:106px}.mb106{padding-bottom:106px}.mt108{padding-top:108px}.mb108{padding-bottom:108px}.mt110{padding-top:110px}.mb110{padding-bottom:110px}.mt112{padding-top:112px}.mb112{padding-bottom:112px}.mt114{padding-top:114px}.mb114{padding-bottom:114px}.mt116{padding-top:116px}.mb116{padding-bottom:116px}.mt118{padding-top:118px}.mb118{padding-bottom:118px}.mt120{padding-top:120px}.mb120{padding-bottom:120px}}


* swiper slider styles */
.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
  box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper {
  transform: translate3d(0px,0,0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

/* ======================================= */
/* COMMON ELEMS */
/* ======================================= */
@media screen and (max-width: 600px){
    #wpadminbar{
        position: fixed;
    }
}

.global-page{
    position: relative;
}

.block,
.wrapper,
.container{
    position: relative;
    
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    
    box-sizing: border-box;
    
    z-index: 1;
}

.container{
    max-width: 1040px;
    margin: 0 auto;
}

.wrapper{
    max-width: 1300px;
    margin: 0 auto;
}

.container.static{
    position: static;
}

.block-img{
    
}

.block-img__elem{
    position: relative;
}

.img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.picture{
    width: 100%;
    height: auto;
}

.relative{
    position: relative;
}

.ohb{
    overflow: hidden;
}

.block-c{
    display: block;
}

.center{
    text-align: center;
}

.lh0{
    line-height: 0;
}

.container-title{
    color: var(--dark);
    font: 600 22px/1.4 var(--font);    
}

.section-title{
    color: var(--dark);
    font: 600 24px/1.4 var(--font);
    text-transform: uppercase;
}

.block-title{
    color: var(--dark);
    font: 700 54px/1.4 var(--font);
}

.page-anchor{
    position: relative;
    top: -80px;
}

.admin-bar .page-anchor{
    position: relative;
    top: -112px;
}

.z-index-10{
    z-index: 10;
}

@media screen and (max-width: 1279px){
    .block, 
    .wrapper, 
    .container{
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .block-title{
        font-size: 48px;
    }
}

@media screen and (max-width: 767px){
    .block, 
    .wrapper, 
    .container{
        padding-left: 16px;
        padding-right: 16px;
    }
    
    .block-title{
        font-size: 28px;
    }
}

/**/

/* header */
@media screen and (min-width: 1025px){
    .fake-header{
        height: 138px;
    }
    
    .header{
        /*position: -webkit-sticky;
        position: sticky;*/
        position: fixed;
        top: 10px;
        left: 56px;
        right: 56px;
        
        font-family: var(--font-roboto);
        
        padding: 38px 0;
        
        background: url("images/head-bg.svg") center 2px / 100% no-repeat;
        
        z-index: 1000;
    }
    
    .admin-bar .header{
        top: 42px;
    }
    
    .header-line{
        position: relative;
        
        display: flex;
        align-items: center;
        justify-content: space-between;
        
        padding: 0 12px;    
    }
    
    .logo-wrapper{
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);        
    }
    
    .header-left{
        padding-left: 16px;
    }
    
    
    .logo{
        display: block;
        
        width: 150px;
        
        background: url("images/logo.png") center center / 100% no-repeat;
    }
    
    .logo:before{
        content: "";
        
        display: block;
        padding-top: 33.33333333333%;
    }
    
    .phone-container{
        position: relative;
        top: 1px;
        
        margin-right: 24px;
    }
    
    .phone{
        display: block;
        
        color: var(--dark);
        font-weight: 600;
        text-decoration: none;
    }
    
    .nav-menu{
        position: relative;
        top: 1px;
        
        display: flex;
        gap: 20px;
    }
    
    .nav-menu > .menu-item{
        position: relative;
        padding: 10px 0;
    }
    
    .nav-menu > .menu-item-has-children > a:after{
        content: "";
        
        display: inline-block;
        vertical-align: middle;
        margin-left: 5px;
        
        border-top: 5px solid var(--common);
        border-left: 5px solid transparent;
        border-right: 5px solid transparent; 
        
        transition: all 0.15s ease-in-out;
    }
    
    .nav-menu > .menu-item-has-children:hover > a:after{
        border-top-color: var(--button);
        
        transform: rotate(-180deg);
    }
    
    .nav-menu a{
        font-weight: 400;
        font-size: 15px;
        text-decoration: none;
        text-transform: uppercase;
        
        padding: 0 5px;
        
        transition: color 0.15s ease-in-out;
    }
    
    .nav-menu a:hover,
    .nav-menu > .menu-item-has-children:hover > a{
        color: var(--button);
    }
    
    .nav-menu > .menu-item > .sub-menu{
        position: absolute;
        left: 0;
        top: 100%;
        
        text-align: center;
        
        width: 100px;
        padding: 20px 15px;
        
        border-radius: 12px;
        box-shadow: 0 2px 7px 0 rgba(0,0,0,0.2);
        background-color: var(--light);
        
        box-sizing: border-box;
        
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        
        transition: all 0.15s ease-in-out;
    }
    
    .nav-menu > .menu-item:hover > .sub-menu{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .header-right{
        display: flex;
        align-items: center;
    }
    
    .header-right-menu,
    .head-contacts{
        display: flex;
        align-items: center;
    }
    
    .head-button{
        display: inline-block;
        
        color: var(--light);
        font: 400 14px/1.5 var(--font-roboto);
        
        padding: 20px 50px;
        
        border-radius: 12px;
        background-color: var(--button);
        
        cursor: pointer;
        user-select: none;    
    }
    
    .head-button:active{
        transform: translateY(1px);
    }    
    
    .head-button{
        transition: background-color 0.15s ease-in-out;
    }
    
    .head-button:hover{
        background-color: var(--button-hover);
    }    
    
    .contacts-buttons{
        display: flex;
        align-items: center;
        
        gap: 5px;
        
        margin: 0 16px 0 24px;
    }
    
    .contact-button{
        display: block;
        
        width: 32px;
        height: 32px;
        
        background: center center / 24px no-repeat;
        
        transition: opacity 0.15s ease-in-out;
        
        user-select: none;
    }
    
    .contact-button:hover{
        opacity: 0.7;
    }
    
    .contact-button:active{
        transform: translateY(1px);
    }
    
    .contact-button.instagram{
        background-image: url("images/icons/buttons/instagram.svg");
    }
    
    .contact-button.telegram{
        background-image: url("images/icons/buttons/telegram.svg");
    }
    
    .contact-button.viber{
        background-image: url("images/icons/buttons/viber.svg");
    }

    .menu-burger,
    .mobile-nav,
    .menu-item.mobile{
        display: none;
    }    
}

@media screen and (min-width: 1025px) and (max-width: 1919px){
    .fake-header{
        height: calc(100vw / 1920 * 138);
    }
    
    .header{
        top: calc(100vw / 1920 * 10);
        left: calc(100vw / 1920 * 56);
        right: calc(100vw / 1920 * 56);
        
        padding: calc(100vw / 1920 * 38) 0;
        
        background: url("images/head-bg.svg") center calc(100vw / 1920 * 2) / 100% no-repeat;
    }
    
    .admin-bar .header{
        top: calc(100vw / 1920 * 10 + 32);
    }
    
    .header-line{
        padding: 0 calc(100vw / 1920 * 12);    
    }


    .logo{
        width: calc(100vw / 1920 * 150);
    }
    
    .phone-container{        
        margin-right: calc(100vw / 1920 * 24);
    }
    
    .phone{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .nav-menu{
        gap: calc(100vw / 1920 * 20);
    }
    
    .nav-menu a{
        font-size: calc(100vw / 1920 * 15);
        
        padding: 0 calc(100vw / 1920 * 5);
    }
    
    .head-button{
        font-size: calc(100vw / 1920 * 14);
        
        padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 50);
        
        border-radius: calc(100vw / 1920 * 12);    
    }
    
    .contacts-buttons{
        gap: calc(100vw / 1920 * 5);
        
        margin: 0 calc(100vw / 1920 * 16) 0 calc(100vw / 1920 * 24);
    }
    
    .contact-button{
        width: calc(100vw / 1920 * 32);
        height: calc(100vw / 1920 * 32);
        
        background: center center / calc(100vw / 1920 * 24) no-repeat;
    }    
    
    .nav-menu > .menu-item-has-children > a:after{
        margin-left: calc(100vw / 1920 * 5);
        
        border-top-width: calc(100vw / 1920 * 5);
        border-left-width: calc(100vw / 1920 * 5);
        border-right-width: calc(100vw / 1920 * 5);
    }
    
    .nav-menu > .menu-item > .sub-menu{
        width: calc(100vw / 1920 * 100);
        padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 15);
        
        border-radius: calc(100vw / 1920 * 12);
    }
}

@media screen and (max-width: 1024px){
    .header-left,
    .header-right-menu,
    .mobile-nav,
    .menu-item.desktop{
        display: none;    
    }
    
    .header{
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        
        font-family: var(--font-roboto);
        
        padding: 10px 20px;
        
        background-color: var(--light);
        
        z-index: 1000;
    }
    
    .admin-bar .header{
        top: 32px;
    }
    
    .header-line{
        display: flex;
        align-items: center;
        
        min-height: 50px;
    }
    
    .logo-wrapper{
        margin-right: auto;
    }
    
    .logo{
        display: block;
        
        width: 150px;
        margin-left: -10px;
        
        background: url("images/logo.png") center center / 100% no-repeat;
    }
    
    .logo:before{
        content: "";
        
        display: block;
        padding-top: 33.33333333333%;
    }
    
    .menu-burger{
        min-width: 50px;
        max-width: 50px;
        margin-right: -5px;
    }
    
    .menu-burger:active{
        opacity: 0.8;
    }
    
    .menu-burger__row{
        width: 40px;
        height: 3px;
        margin-left: auto;
        margin-right: auto;
        
        border-radius: 10px;
        background-color: var(--dark);
    }
    
    .menu-burger__row:not(:first-child){
        margin-top: 5px;
    }
    
    .phone-container{
        top: 0;
    }
    
    .mobile-nav-head{
        padding: 10px 0;
    }
    
    .mobile-nav{
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        
        background-color: var(--light);
        
        z-index: 1000;
        
        opacity: 0;
        visibility: hidden;
        
        transition: all 0.25s ease-in-out;
    }
    
    .mobile-nav.active{
        display: block;
    }
    
    .mobile-nav.visual{
        opacity: 1;
        visibility: visible;
    }
    
    .mobile-nav > .block{
        display: flex;
        flex-direction: column;
        
        height: 100%;
    }
    
    .mobile-nav-body{
        height: 100%;
        
        padding-bottom: 20px;
        
        box-sizing: border-box;
        
        overflow: auto;
    }
    
    .admin-bar .mobile-nav{
        top: 32px;
    }
    
    .close-menu-btn{
        position: relative;
        
        margin-left: auto;
        
        width: 50px;
        height: 50px;
        margin-right: -10px;
    }
    
    .close-menu-btn:before,
    .close-menu-btn:after{
        content: "";
        
        position: absolute;
        left: 50%;
        top: 50%;
        
        margin: -1px 0 0 -14px;
        
        width: 28px;
        height: 2px;
        
        border-radius: 10px;
        background-color: var(--dark);
    }
    
    .close-menu-btn:before{
        transform: rotate(-45deg);
    }
    
    .close-menu-btn:after{
        transform: rotate(45deg);
    }
    
    .nav-menu{
        display: block;
    }
    
    .nav-menu a{
        display: inline-block;
        
        font-size: 16px;
        
        padding: 5px 0;
    }
    
    .nav-menu .menu-item{
        margin-top: 5px;
    }
}

@media screen and (max-width: 782px){
    .admin-bar .mobile-nav,
    .admin-bar .header{
        top: 46px;
    }
}

@media screen and (max-width: 767px){
    .header{
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media screen and (max-width: 390px){
    .logo{
        width: 120px;
    }
}

/* intro */
.home-intro{
    height: 600px;
}

.intro-slide{
    line-height: 0;
    
    height: 100%;
}

.intro-slide__img{
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

@media screen and (max-width: 1024px){
    .home-intro{
        height: auto;
    }
}

/* works */
.works-section{
    background-color: var(--works-bg);
}

.works-container{
    display: flex;
    flex-wrap: wrap;
    
    margin: -20px;
}

.works-container__elem{
    width: 50%;
    padding: 20px;
    
    box-sizing: border-box;
}

.work-item{
    position: relative;
    display: block;    
}

.work-item__picture{
    display: block;
    position: relative;
    
    border-radius: 20px;
    
    overflow: hidden;
    
    z-index: 0;
}

.work-item__picture:before{
    content: "";
    
    display: block;
    padding-top: 52%;
}

.work-item__info{
    position: absolute;
    right: -10px;
    bottom: -10px;
    
    color: var(--common);
    
    padding: 16px;
    min-width: 200px;
    
    border: 2px solid var(--light);
    background-color: rgba(255,255,255,0.6);
    backdrop-filter: blur(4px);
}


.work-item__price{
    display: block;
    
    font-weight: 600;
}

.work-item__text{
    display: block;
}

@media screen and (max-width: 1024px){
    .works-container{
        margin: -10px;
    }
    
    .works-container__elem{
        padding: 10px;
    }
}

@media screen and (max-width: 767px){
    .works-container{
        display: block;
        
        margin: -20px 0;
    }
    
    .works-container__elem{
        width: 100%;
        padding: 20px 0;
    }
}

/* steps */
.steps-section{
    color: var(--dark);
}

.steps-section-text{
    max-width: 705px;
    margin: 0 auto;
}

.steps-container{
    padding-left: 100px;
}

.steps-container__elem:not(:first-child):before{
    content: "";
    
    display: block;
    
    height: 56px;
    width: 2px;
    margin: 10px 0 10px 19px;
    
    background-color: var(--common);
}

.step-item{
    display: flex;
    align-items: center;
}

.step-item__number{
    display: flex;
    align-items: center;
    justify-content: center;
    
    color: var(--common);
    font-weight: 600;
    font-size: 20px;
    font-style: italic;
    
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-right: 32px;
    
    border-radius: 50%;
    background-color: #cdb285;
}

.step-item__body{
    width: 100%;
}

.step-item__text{
    font-weight: 700;
    font-size: 24px;
}

.step-item__note{
    font-weight: 500;
    font-size: 14px;
}

.step-item__note a{
    text-decoration: none;
}

@media screen and (min-width: 1025px){
    .step-item__note a:hover{
        text-decoration: underline;
    }    
}

@media screen and (max-width: 1024px){
    .steps-container{
        padding: 0;
    }
}

/* contacts */
.contacts-section{
    color: var(--light);    
    
    background: center center / cover no-repeat;
}

.contacts-section__inside{
    padding: 72px 0;
    
    background-color: rgba(0,0,0,0.3);
}

.contacts-title{
    font: 500 42px/1.4 var(--font);
}

.contacts-section-text{
    font-weight: 500;
    font-size: 20px;
    text-transform: uppercase;
}

.social-links{
    display: flex;
    justify-content: center;
    gap: 24px;
}

.social-icon{
    display: block;
    
    width: 50px;
    height: 50px;
    
    background: center center / 100% no-repeat;
}

.social-icon.phone-icon{
    background-image: url("images/icons/phone.svg");
}

.social-icon.telegram-icon{
    background-image: url("images/icons/telegram.svg");
}

.social-icon.instagram-icon{
    background-image: url("images/icons/instagram.svg");
}

.contacts-email{
    font-weight: 500;
    font-size: 18px;
    text-align: center;
}

.contacts-email a{
    color: var(--light);
}

.payments-way-container{
    
}

.payment-text{
    font-size: 14px;
}

.payment-logos{
    display: flex;
    justify-content: center;
    gap: 20px;
}

.payment-logos img{
    width: 50px;
    height: auto;
}

@media screen and (max-width: 1024px){
    .contacts-section__inside{
        padding: 48px 0;
    }
    
    .contacts-section-text{
        font-size: 16px;
        
        padding-top: 24px;
    }
    
    .social-icon{
        width: 40px;
        height: 40px;
    }
    
    .payment-logos{
        flex-wrap: wrap;
    }
}

/* content page */
.content p:not(:first-child),
.content ul:not(:first-child){
    margin-top: 22px;
}

.content img{
    max-width: 100%;
    height: auto;
}

.content li{
    position: relative;
    padding-left: 16px;    
}

.content li:not(:first-child) {
    margin-top: 22px;
}

.content li:before{
    content: ""; 
    
    position: absolute;
    left: 0;
    top: 8px;
    
    width: 5px;
    height: 5px;
    
    border-radius: 50%;
    background-color: var(--dark);
}

.content li li{
    padding: 0;
    margin-top: 0;
}

.content li li:before{
    display: none;
}

/* catalog page */
.goods-section:not(:first-child){
    padding-top: 72px;
}

.goods-line-wrapper:not(:first-child){
    padding-top: 56px;
}
.goods-line{
    display: flex;
    flex-wrap: wrap;
    
    margin: -30px -10px;
}

.goods-line__elem{
    width: 25%;
    padding: 30px 10px;
    box-sizing: border-box;
}

.product-item{
    
}

.product-item__picture{
    position: relative;
    
    line-height: 0;
    
    border-radius: 10px;
    
    overflow: hidden;
    
    z-index: 0;
}

.product-item__img{
    width: 100%;
    height: 200px;
    
    object-fit: cover;
}

.ticket-footer{
    position: relative;
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    color: var(--dark);
    font-size: 20px;
    white-space: nowrap;
    
    margin-top: 20px;    
}

.ticket-footer__time,
.ticket-footer__price{
    position: relative;
        
    
    box-sizing: border-box;
}

.ticket-footer__time{
    text-align: right;
    
    padding-right: 20px;
}

.ticket-footer__time:before{
    content: "";
    
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -20px;
    
    height: 40px;
    
    border-left: 1px solid var(--gray);
}

.ticket-footer__price{
    text-transform: uppercase;
    
    padding-left: 20px;
}

.ticket-footer__price strong,
.ticket-footer__price b{
    position: relative;
    top: 3px;
    
    display: inline-block;
    margin-right: 5px;
    
    font-weight: 600;
    font-size: 30px; 
    line-height: 0;   
}

.ticket-buy {
    line-height: 0;
    text-align: center;
    
    padding-top: 14px;
}

.buy-btn{
    position: relative;
    display: inline-block;
    
    color: var(--dark);
    font-size: 20px;    
    line-height: 1.4;
    
    padding-left: 38px;
    
    cursor: pointer;
    user-select: none;
}

.buy-btn:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 0;
    
    width: 28px;
    height: 28px;
    
    background: url("images/icons/cart.svg") center center / 100% no-repeat;
}

.cart-notice{
    position: fixed;
    top: 50%;
    left: 50%;
    
    color: var(--light);
    font-size: 20px;
    line-height: 1.4;
    white-space: nowrap;
    
    padding: 15px 25px;
    
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    
    border-radius: 10px;
    background-color: var(--dark);
    
    animation: notice-hidding 1s linear both;
    
    opacity: 0;
    
    z-index: 100;
}

@keyframes notice-hidding{
    0%{
        opacity: 0;
    }
    
    15%{
        opacity: 1;
    }
    
    85%{
        opacity: 1;
    }
    
    100%{
        opacity: 0;
    }
}

.cart-btn-container{
    position: fixed;
    
    padding: 12px 20px;
    top: 160px;
    right: 56px;
    
    border-radius: 12px;
    background-color: var(--button);
    
    z-index: 9;
    cursor: pointer;
    
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    
    transition: all 0.25s ease-in-out;
}

.admin-bar .cart-btn-container{
    top: 182px;
}

.cart-btn-container.active{
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.cart-btn{
    position: relative;
    display: block;
    
    color: var(--light);
    font-size: 24px;
    line-height: 1.4;
    
    padding-left: 38px;
}

.cart-btn:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 9px;
    
    width: 28px;
    height: 28px;
    
    background: url("images/icons/cart-white.svg") center center / 100% no-repeat;
}

.cart-btn__number{
    position: absolute;
    left: 10px;
    top: -5px;
    
    color: var(--dark);
}

.cart-btn__number{
    
}

.cart-btn__circle{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    
    width: 100%;
    max-width: 38px;
    
    border-radius: 50%;
    background-color: #fff;
    
    z-index: 0;    
}

.cart-btn__circle:before{
    content: "";
    
    display: block;
    padding-top: 100%;
}

.cart-btn__label{
    position: relative;
    
    display: block;
    
    font: 600 10px/1 var(--font);
    white-space: nowrap;
    
    padding: 4px;
    padding: 4.65px;
    
    max-width: 33px;
    overflow: hidden;
    text-overflow: ellipsis;
    
    z-index: 1;
}

.cart-btn-container.p10 .cart-btn__number{
    left: 6px;
    top: -7px;
}

.cart-btn-container.p100 .cart-btn__number{
    left: 3px;
    top: -10px;
}

.cart-btn-container.p1000 .cart-btn__number{
    left: 0;
    top: -13px;
}

.cart-btn-container.p10000 .cart-btn__number{
    left: -2px;
    top: -15px;
}

@media screen and (min-width: 1025px) and (max-width: 1919px){
    .cart-btn-container{
        padding: calc(100vw / 1920 * 12) calc(100vw / 1920 * 20);
        top: calc(100vw / 1920 * 160);
        right: calc(100vw / 1920 * 56);
        border-radius: calc(100vw / 1920 * 12);
    }
    
    .admin-bar .cart-btn-container{
        top: calc(100vw / 1920 * 182);
    }
    
    .cart-btn{
        font-size: calc(100vw / 1920 * 24);

        padding-left: calc(100vw / 1920 * 38);
    }
    
    .cart-btn:before{
        top: calc(100vw / 1920 * 9);
        
        width: calc(100vw / 1920 * 28);
        height: calc(100vw / 1920 * 28);
        
    }
    
    .cart-btn__number{
        left: calc(100vw / 1920 * 10);
        top: calc(100vw / 1920 * -5);
    }
    
    .cart-btn__circle{
        max-width: calc(100vw / 1920 * 38);
    }
    
    .cart-btn__label{
        font-size: calc(100vw / 1920 * 10);
        
        padding: calc(100vw / 1920 * 4);
        
        max-width: calc(100vw / 1920 * 33);
    }
    
    .cart-btn-container.p10 .cart-btn__number{
        left: calc(100vw / 1920 * 6);
        top: calc(100vw / 1920 * -7);
    }
    
    .cart-btn-container.p100 .cart-btn__number{
        left: calc(100vw / 1920 * 3);
        top: calc(100vw / 1920 * -10);
    }
    
    .cart-btn-container.p1000 .cart-btn__number{
        top: calc(100vw / 1920 * -13);
    }
    
    .cart-btn-container.p10000 .cart-btn__number{
        left: calc(100vw / 1920 * -2);
        top: calc(100vw / 1920 * -15);
    }
}

@media screen and (max-width: 1024px){
    .goods-line__elem{
        width: 33.33333333333%;
    }
    
    .cart-btn-container{
        top: 80px;
        right: 20px;
        
        padding: 0;
        border-radius: 50%;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
        background-color: hsla(0, 0%, 100%, .8);
    }
    
    .admin-bar .cart-btn-container{
        top: 112px;
    }
    
    .cart-btn{
        font-size: 0;
        
        padding: 0;
    }
    
    .cart-btn:before{
        position: relative;
        display: block;
        top: 0;
        left: 0;
        
        width: 60px;
        height: 60px;
        
        background: url("images/icons/cart-line.svg") center center / 34px no-repeat;
    }
    
    .cart-btn__number{
        left: auto;
        top: auto;
        
        right: -6px;
        bottom: -6px;
        
        border-radius: 50%;
        background-color: red;        
    }
    
    .cart-btn__circle{
        display: none;
    }
    
    .cart-btn__label{
        display: flex;
        align-items: center;
        justify-content: center;
        
        color: var(--light);
        font-size: 16px;
        text-align: center;
        
        padding: 0;
        width: 24px;
        height: 24px;
    }
}

@media screen and (max-width: 1023px){
    .goods-line__elem{
        width: 50%;
    }
}

@media screen and (max-width: 782px){
    .admin-bar .cart-btn-container{
        top: 126px;
    }
}

@media screen and (max-width: 767px){
    .goods-line__elem{
        width: 100%;
    }
}

/**/
.order-popup{
    position: fixed;
    top: 160px;
    right: 56px;
    
    font-family: var(--font);
    
    width: calc(100% - 60px);
    max-width: 600px;
    
    border-radius: 5px;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.35);
    background-color: var(--light);
    
    box-sizing: border-box;
    
    z-index: 100;
    
    max-height: calc(100vh - 160px);
    overflow: auto;
    
    display: none;
    
    opacity: 0;
    -webkit-transform: translateX(100%) translateZ(0);
    transform: translateX(100%) translateZ(0);
    
    transition: all 0.25s ease-in-out;
}

.order-popup::-webkit-scrollbar,
.order-popup::-webkit-scrollbar-thumb{
  width: 26px;
  border-radius: 13px;
  background-clip: padding-box;
  border: 10px solid transparent;
}

.order-popup::-webkit-scrollbar{
    background-color: rgba(0,0,0,0.05);
}

.order-popup::-webkit-scrollbar-thumb{        
  box-shadow: inset 0 0 0 10px rgba(0,0,0,0.3);
}


.order-popup.active{
    display: block;
}

.order-popup.visible{
    opacity: 1;    
    -webkit-transform: translateX(0) translateZ(0);
    transform: translateX(0) translateZ(0);
}

.admin-bar .order-popup{
    top: 182px;
    max-height: calc(100vh - 182);
}

@media screen and (min-width: 1025px) and (max-width: 1919px){
    .order-popup{
        top: calc(100vw / 1920 * 160);
        right: calc(100vw / 1920 * 56);
    }
    
   .admin-bar .order-popup{
        top: calc(100vw / 1920 * 182);
        max-height: calc(100vh - calc(100vw / 1920 * 182));
    } 
}

.order-popup__inside{
    padding: 20px 35px 30px;
}

.order-popup__title{
    color: var(--dark);
    font: normal 28px/1.4 var(--font);
}

.order-popup__title.hidden{
    display: none;
}

.order-list{
    max-height: 306px;
    margin-top: 27px;
    padding-right: 20px;
    margin-right: -20px;
    
    overflow: auto;
}

@media screen and (min-width: 1025px){
    .order-list::-webkit-scrollbar,
    .order-list::-webkit-scrollbar-thumb{
      width: 26px;
      border-radius: 13px;
      background-clip: padding-box;
      border: 10px solid transparent;
    }
    
    .order-list::-webkit-scrollbar{
        background-color: rgba(0,0,0,0.05);
    }
    
    .order-list::-webkit-scrollbar-thumb{        
      box-shadow: inset 0 0 0 10px rgba(0,0,0,0.3);
    }
}

.order-list__row{
    margin-top: 20px;
    padding-top: 20px;
    
    border-top: 1px solid #dfdfdf;
}

.order-list__row:first-child{
    padding-top: 0;
    margin: 0;
    
    border: none;
}

.order-item{
    display: -webkit-flex;
    display: flex;
}

.order-item__picture{
    line-height: 0;
    
    width: 100%;
    max-width: 150px;
}

.order-item__img{
    width: 100%;
    height: 100px;
    
    border-radius: 5px;
    
    object-fit: cover;
}

.order-item__body{
    display: flex;
    flex-direction: column;
    
    margin-left: 24px;
    width: 100%;
}

.order-item__head{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.order-item__info{
    font-size: 20px;
}

.order-item__info strong{
    position: relative;
    top: 2px;
    
    font-weight: 600;
    font-size: 26px;
    line-height: 0;
}

.order-counter{
    position: relative;
    
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    
    font-size: 20px;
}

.order-counter__btn{
    position: relative;
    
    width: 24px;
    height: 24px;
    
    border: 1px solid #dbdbdb;
    background-color: #fff;
    
    box-sizing: border-box;
    
    cursor: pointer;
}

.order-counter__btn:active{
    transform: scale(0.9);
}

.order-counter__btn:before{
    content: "";
    
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -1px 0 0 -6px;
    
    width: 12px;
    height: 2px;
    
    background-color: #000;
}

.order-counter__btn.plus:after{
    content: "";
    
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -6px 0 0 -1px;
    
    width: 2px;
    height: 12px;
    
    background-color: #000;
}

.order-counter__number{
    text-align: center;
    
    min-width: 26px;
    margin: 0 2px;
}

.order-item__names{
    font-size: 16px;
    line-height: 1.4;
    
    padding-top: 4px;
    margin-top: auto;
}

.order-item__name{
    padding-top: 4px;
}

.order-item__name:first-child{
    padding: 0;
}

.order-details-total.hidden{
    display: none;
}

.order-details{
    line-height: 0;
    
    padding-top: 33px;
    
    opacity: 0.4;
    pointer-events:none;
}

.order-details.active{
    opacity: 1;
    pointer-events: auto;
}

.order-details__group{
    padding-top: 9px;
}

.order-details__row{
    padding-top: 9px;
}

.order-details__group:first-child,
.order-details__row:first-child{
    padding: 0;
}

.order-details__row.disabled{
    pointer-events: none;
}

.custom-radio{
    position: relative;
    
    display: inline-block;
    
    font-size: 20px;
    line-height: 30px;
    
    padding-left: 37px;
    
    overflow: hidden;
    
    user-select: none;
    cursor: pointer;
}

.custom-radio__input{
    position: absolute;
    left: -100px;
    top: -100px;
    
    font-size: 0;
    
    opacity: 0;
}

.custom-radio__elem{
    position: absolute;
    left: 0;
    top: 4px;
    
    width: 23px;
    height: 23px;
    
    border: 3px solid #9d9d9d;
    border-radius: 50%;
    
    box-sizing: border-box;
    
    transition: all 0.15s ease-in-out;
}

.custom-radio__elem:before{
    content: "";
    
    position: absolute;
    left: 3px;
    top: 3px;
    
    width: 11px;
    height: 11px;
    
    border-radius: 50%;
    background-color: #2aa8e2;
    
    opacity: 0; 
    transition: all 0.15s ease-in-out;
}

.custom-radio__input:checked + .custom-radio__elem{
    border-color: #2aa8e2;
}

.custom-radio__input:checked + .custom-radio__elem:before{
    opacity: 1;
}

.custom-radio__label{
    
}

.order-details-price{
    font-size: 20px;
    
    margin-top: 28px;
}

.order-details-price strong{
    position: relative;
    top: 2px;
    
    display: inline-block;
    
    font-weight: 600;
    font-size: 28px;
    line-height: 0;
    
    margin: 0 1px 0 4px;
}

.order-info{
    display: none;
    
    font-size: 20px;
    
    padding-top: 10px;
}

.order-info.active{
    display: block;
}

.order-info__row{
    margin-top: 5px;
}

.order-info__row:first-child{
    margin: 0;
}

.order-info__row strong{
    position: relative;
    top: 2px;
    
    display: inline-block;
    
    font-weight: 600;
    font-size: 30px;
    line-height: 0;
    
    margin: 0 1px 0 4px;
}


.order-btn{
    padding-top: 46px;
    
    opacity: 0.4;
    pointer-events: none;
}

.order-btn.active{
    opacity: 1;
    pointer-events: auto;
}

.order-btn.hidden{
    display: none;
}

.form-btn{
    display: block;
    
    color: var(--light);
    font: 400 20px/1.4 var(--font);
    text-align: center;
    text-decoration: none;
    
    padding: 10px 20px;
    width: 100%;
    
    border: none;
    border-radius: 10px;
    background: var(--button);
      
    box-sizing: border-box;
    
    cursor: pointer;
    user-select: none;
}

.form-btn.primary{
    font-size: 16px;
    
    padding: 16px;
    
    border-radius: 5px;
}

.form-btn:active{
    transform: translateY(2px);
}

.form-btn[disabled]:active{
    transform: none;
}

.form-btn[disabled]{
    cursor: not-allowed;
}

.form-btn:focus{
    outline: none;
}

@media screen and (min-width: 1025px){
    .form-btn{
        transition: background-color 0.15s ease-in-out;
    }
    
    .form-btn:hover{
        background-color: var(--button-hover);
    }
}

.order-form{
    display: none;
    
    padding-top: 20px;
}

.order-form.active{
    display: block;
}

.popup-form-row{
    position: relative;
    
    margin-top: 14px;
}

div:first-child + .popup-form-row{
    margin: 0;
}

.wpcf7-form-control-wrap{
    position: relative;
    
    display: block;
    
    line-height: 0;
}

.popup-field{
    display: block;
    
    color: var(--dark);
    font: 400 16px/1.4 var(--font);
    text-align: left;
    
    padding: 8px 20px;
    width: 100%;
    
    border: 1px solid var(--gray);
    border-radius: 5px;
    background: var(--light);
    
    box-sizing: border-box;
    
    transition: border 0.15s ease-in-out;
}

.popup-field::placeholder{
    color: #9d9d9d;
}

.popup-field.focused::placeholder{
    text-align: left;
}

.popup-field:focus{
    outline: none;
    
    border-color: var(--button);
}

.popup-field.popup-textarea{
    max-height: 50px;
    
    resize: none;
}

.screen-reader-response,
.wpcf7-response-output{
    display: none!important;
}

.wpcf7-not-valid-tip{
    position: absolute;
    right: -24px;
    top: 50%;
    margin-top: -10px;
    
    width: 20px;
    height: 20px;
    
    font-size: 0;
    
    background: url("images/icons/error.svg") center center / 100% no-repeat;
}

.form-note{
    color: #9d9d9d;
    font-size: 14px;
    
    padding-top: 5px;
}

.form-submit{
    padding-top: 10px;
}

.sent .order-popup__body{
    display: none;
}

.response-text{
    color: var(--dark);
    font: normal 24px/1.4 var(--font);
    text-align: center;
    
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;    
    margin-bottom: -14px;
}

.wpcf7-form.submitting{
    opacity: 0.4;
    
    pointer-events: none;
}

.cart-icon{
    display: none;
}

.cart-icon.link{
    display: block;
}

.cart-icon{    
    position: relative;
    
    width: 32px;
    height: 32px;    
}

.cart-icon:before,
.cart-icon:after{
    content: "";
    
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    background: center center / 100% no-repeat;
}

.cart-icon:before{
    background-image: url(images/icons/cart.svg);
}


.cart-icon:active:before{
    opacity: 0;
}

.cart-icon:active:after{
    opacity: 1;
}

.close-order-popup{
    position: absolute;
    right: 17px;
    top: 14px;
    
    width: 54px;
    height: 50px;
    
    cursor: pointer;
}

.close-order-popup:active{
    transform: scale(0.96);
}

.close-order-popup:before,
.close-order-popup:after{
    content: "";
    
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -1px 0 0 -12px;
    
    width: 24px;
    border-top: 2px solid var(--dark);
    
    transition: border 0.15s ease;
}

.close-order-popup:before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.close-order-popup:after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* checkbox in form */
.checkbox-label{
    padding: 10px 0;    
}

.checkbox-label label{
    user-select: none;
    cursor: pointer;
}

.checkbox-label label.disabled{
    cursor: not-allowed;
}

.checkbox-label .wpcf7-list-item-label{
    position: relative;
    
    display: inline-block;
    
    font-size: 16px;
    line-height: 1.4;
    
    padding: 4px 0 4px 30px;
}

.checkbox-label.large .wpcf7-list-item-label{
    font-size: 16px;
}

.checkbox-label input{
    position: absolute;
    opacity: 0;
}

.checkbox-label .wpcf7-list-item-label:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 50%;
    
    width: 20px;
    height: 20px;
    margin-top: -11px;
    
    border: 2px solid #9d9d9d;
    
    transition: border 0.15s ease-in-out, background-color 0.15s ease-in-out;
    
    box-sizing: border-box;
    
    z-index: 1;
}

.checkbox-label input:checked + .wpcf7-list-item-label:before{
    border-color: transparent;
    background: url("images/icons/checked.svg") center center / 22px no-repeat var(--gray);
}

@media screen and (max-width: 1024px){
    .order-popup{
        top: 0;
        right: 0;
        
        width: 100%;
        max-width: none;
        
        height: 100%;
        max-height: 100%;
        
        border: none;
        
        z-index: 10000;
    }
    
    .close-order-popup{
        right: 0;
        top: 13px;
    }
    
    .admin-bar .order-popup{
        top: 32px;
    }
    
    .admin-bar .order-popup {
        top: 32px;
        max-height: calc(100vh - 32px);
    }
    
    .form-btn{
        max-width: 500px;
        margin: 0 auto;
    }
    
    .cart-icon{
        display: block;
        
        margin-right: 90px;
    }
    
    .cart-icon__label{
        position: absolute;
        left: 6px;
        right: 0;
        top: -5px;
        
        color: #2aa8e2;
        font: 600 12px/1 "Open Sans", Arial, sans-serif;
        text-align: center;
    }
    
    .order-list{
        margin-top: 34px;
    }
    
    .order-details{
        padding-top: 40px;
    }
    
    .order-btn{
        padding-top: 46px;
    }
    
    
}

@media screen and (max-width: 782px){
    
    .admin-bar .order-popup {
        top: 46px;
        max-height: calc(100vh - 46px);
    }
}

@media screen and (max-width: 767px){
    .order-popup__inside{
        padding-left: 34px;
        padding-right: 34px;
    }
    
    .order-list{
        max-height: 320px;   
    }
    
    .order-item{
        display: block;
    }
    
    .order-item__body{
        margin: 15px 0 0 0;
        width: auto
    }
    
    .order-info{
        padding-top: 30px;
    }
    
    .cart-icon{
        margin-right: 60px;
    }
    
    .response-text{
        font-size: 18px;
        padding-left: 10px;
        padding-right: 10px;
    }
}


/* faq */
.faq-block {
    padding: 32px 0;
    
    border-top: 1px solid var(--gray);
}

.faq-block:first-child {
    padding-top: 0;
    
    border: 0
}

.faq-block:last-child{
    padding-bottom: 0;
}

.faq-block__question {
    position: relative;
    
    font-size: 22px;
    
    padding-right: 50px;    
    
    user-select: none;
    cursor: pointer
}

.faq-block__question.active .faq-block__btn {
    border-color: var(--dark);
}

.faq-block__question.active .faq-block__btn-open {
    opacity: 0;
    visibility: hidden
}

.faq-block__question.active .faq-block__btn-close {
    opacity: 1;
    visibility: visible
}

.faq-block__answer {
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: opacity .3s ease,height .3s ease;
    transform: translateZ(0)
}

.faq-block__answer.active,.profeatures-carousel .owl-next:hover,.profeatures-carousel .owl-prev:hover {
    opacity: 1
}

.faq-block__btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    box-sizing: border-box;
    border: 2px solid var(--dark);
    transition: border .3s ease
}

.faq-block__btn-close,.faq-block__btn-open {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: all .3s ease;
    transform: translateZ(0)
}

.faq-block__btn-close:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 4px;
    background: var(--dark);
    width: 12px;
    height: 2px;
    margin: -1px 0 0 -6px
}

.faq-block__btn-close {
    opacity: 0;
    visibility: hidden
}

.faq-block__btn-open:after,.faq-block__btn-open:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 4px;
    background-color: var(--dark);
}

.faq-block__btn-open:before {
    width: 2px;
    height: 12px;
    margin: -6px 0 0 -1px
}

.faq-block__btn-open:after {
    width: 12px;
    height: 2px;
    margin: -1px 0 0 -6px
}

/* goods */
.products-wrapper{
    display: flex;
    flex-wrap: wrap;
    
    margin: -30px -20px;
}

.products-wrapper__item{
    width: 33.33333333333333%;
    padding: 30px 20px;
    
    box-sizing: border-box;
}

.product-elem{
    display: block;
    
    color: var(--dark);
    text-align: center;
    text-decoration: none;
}

.product-elem__picture{
    position: relative;
    
    overflow: hidden;
}

.product-elem__picture:before{
    content: "";
    
    display: block;
    padding-top: 100%;
}

.product-elem__img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

@media screen and (min-width: 1025px){
    .product-elem__img{
        transition: transform 0.15s ease-in-out;
    }
    
    .product-elem:hover .product-elem__img{
        transform: scale(1.1);
    }
}

.product-elem__title{
    font-weight: 700;
    font-size: 18px;
}

.product-elem__text{
    font-size: 14px;
}

.product-elem__info{
    display: flex;
    align-items: center;
    justify-content: center;
    
    gap: 8px;
}

.product-elem__price{
    font-weight: 700;
}

.product-elem__count{
    opacity: 0.5;
}

.button{
    display: inline-block;
    
    color: var(--light);
    font: 400 16px/1.4 var(--font);
    text-align: center;
    
    padding: 10px 20px;
    
    border: none;
    border-radius: 10px;
    background-color: var(--button);
    
    cursor: pointer;
    user-select: none;
}

.button:active{
    transform: translateY(1px);
}

@media screen and (max-width: 1024px){
    .products-wrapper__item{
        width: 50%;
    }
}

@media screen and (max-width: 767px){
    .products-wrapper__item{
        width: 100%;
    }
}

/* goods page */
:root{
    --swiper-navigation-color: #fff; 
    --swiper-pagination-color: #fff
}

@media screen and (min-width: 1024px){
    .product-page{
        display: flex;
    }
    
    .product-gallery{
        max-width: 600px;
        min-width: 600px;
    }
    
    .product-page__body{
        width: 100%;
        margin-left: 32px;    
    }
}



.gallery-slide{
    position: relative;
}

.gallery-slide:before{
    content: "";
    
    display: block;
    padding-top: 100%;
}

.gallery-slide__img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.product-page .mySwiper .swiper-slide-thumb-active {
  opacity: 1;
}


.goods-price{
    color: var(--dark);
    font-weight: 500;
    font-size: 20px;
}

.goods-order-button{
    max-width: 250px;
}

@media screen and (max-width: 1023px){
    .product-gallery{
        max-width: 600px;
        margin: 0 auto;
    }
    
    .product-page__body{
        margin-top: 32px;    
    }
}

/* contacts */
.breadcrumbs{
    font-size: 14px;
}

.breadcrumbs a{
    text-decoration: none;
}

.breadcrumbs a:hover{
    text-decoration: underline;
}

@media screen and (min-width: 1024px){
    .contacts-page{
        display: flex;
    }
    
    .contacts-page__map{
        width: 60%;
        margin-right: 32px;
    }
    
    .map-google{
        height: 500px;
    }
    
    .contacts-page__body{
        width: 40%;
    }
}

.gm-style-iw-chr{
    position: relative;
    
    z-index: 10000;
}

.gm-style-iw-d{
    margin-top: -30px;
}

.row-contact{
    display: flex;
    align-items: center;
}

.contact-link{
    display: inline-flex;
    align-items: center;
    
    text-decoration: none;
}

.info-svg-icon{
    margin-right: 6px;
}

.info-svg{
    width: 20px;
    height: 20px;
}

.info-svg.line{
    fill: var(--common);
}

.mess-icon{
    display: block;
    
    width: 24px;
    margin-right: 8px;
}

.messager-icon{
    width: 20px;
    height: 20px;
}

.messager-icon.line, 
.contact-link .messager-icon.line {
    fill: #222;
}

.phone-link{
    text-decoration: none;
}

@media screen and (max-width: 1023px){
    .map-google{
        height: 300px;
    }
    
    .contacts-page__body{
        margin-top: 32px;
    }
}

/* reviews */
.reviews-container{
    position: relative;
    
    line-height: 0;
    
    max-width: 400px;
    margin: 0 auto;
}

.reviews-carousel{
    
}

.review-wrapper{
    
}

.review-screen{
    position: relative;
    
    opacity: 0.5;
    transform: scale(0.8);
    
    transition: all 0.3s ease-in-out;
}

.swiper-slide-active .review-screen{
    opacity: 1;
    transform: scale(1);
}

.review-screen:before{
    content: "";
    
    display: block;
    padding-top: 175%;
}

.review-screen__img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.reviews-nav-btn{
    position: absolute;
    top: 50%;
    margin-top: -30px;
    
    width: 60px;
    height: 60px;
    
    border-radius: 50%;
    background: url("images/icons/left.svg") center center / 32px no-repeat rgba(0,0,0,0.5);
    
    cursor: pointer;
    outline: none;
    user-select: none;
    
    z-index: 10;
}

.reviews-nav-btn.prev{
    left: -40px;
}

.reviews-nav-btn.prev:active{
    left: -41px;
}

.reviews-nav-btn.next{
    right: -40px;
    
    transform: scale(-1, 1);
}

.reviews-nav-btn.next:active{
    right: -41px;
}

@media screen and (max-width: 1024px){
    .reviews-container{
        max-width: 300px;
    }
    
    .reviews-nav-btn.prev{
        left: 10px;
    }
    
    .reviews-nav-btn.prev:active{
        left: 9px;
    }
    
    .reviews-nav-btn.next{
        right: 10px;
        
        transform: scale(-1, 1);
    }
    
    .reviews-nav-btn.next:active{
        right: 9px;
    }
}

/* contact form popup */
.radio-row{
    margin: 30px -2px 10px;
}

.radio-row .wpcf7-form-control{
    margin: -4px 0;
}

.radio-row .wpcf7-list-item{
    display: block;
    
    padding: 4px 0;
}

.radio-row label{
    position: relative;
    display: inline-block;
}

.radio-row .wpcf7-list-item-label{
    display: block;
    
    font-size: 14px;
    line-height: 1;
    
    padding: 4px 0 4px 26px;
    
    cursor: pointer;
}

.radio-row .wpcf7-list-item-label:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -10px;
    
    width: 20px;
    height: 20px;
    
    border: 2px solid var(--disabled);
    border-radius: 50%;
    
    box-sizing: border-box;
    
    transition: border 0.15s ease-in-out;
}

.radio-row .wpcf7-list-item-label:after{
    content: "";
    
    position: absolute;
    left: 5px;
    top: 50%;
    margin-top: -5px;
    
    width: 10px;
    height: 10px;
    
    border-radius: 50%;
    background-color: var(--common);
    
    transition: opacity 0.15s ease-in-out;
    
    opacity: 0;    
}

.radio-row input:checked + .wpcf7-list-item-label:before{
    border-color: var(--common);    
}

.radio-row input:checked + .wpcf7-list-item-label:after{
    opacity: 1;
}

.radio-row input{
    position: absolute;
    opacity: 0;
}

/* ======================================= */
/* POPUP */
/* ======================================= */
.site-popup{
    display: none;
    
    position: fixed;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    overflow: hidden;
    
    background-color: rgba(0,0,0,0.6);
    z-index: 1001;
    
    box-sizing: border-box;
    
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
    transform: translateZ(0);
}

.admin-bar .site-popup{
    top: 32px;
    height: calc(100% - 32px);
}

@media screen and (max-width: 782px){
    .admin-bar .site-popup{
        top: 46px;
        height: calc(100% - 46px);
    }
}

.site-popup.active{
    display: block;
}

.site-popup.visible{
    opacity: 1;
}

.inside-popup{
    height: 100%;
    width: 100%;
    padding: 50px 20px;
    
    box-sizing: border-box;
    
    display: none;
    
    opacity: 0;
    transform: translateY(30px) translateZ(0);
    transition: opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
    
    overflow: auto;
}

.inside-popup.active{
    display: flex;
    align-items: center;
}

.inside-popup.visible{
    opacity: 1;
    transform: translateY(0) translateZ(0);
}

.close-popup{
    position: absolute;
    right: 25px;
    top: 10px;
    
    width: 40px;
    height: 40px;
    
    z-index: 1;
    
    cursor: pointer;
}

.close-popup:before,
.close-popup:after{
    content: "";
    
    position: absolute;
    left: 50%;
    top: 50%;
    
    width: 32px;
    height: 2px;
    margin: -1px 0 0 -16px;
    
    border-radius: 10px;
    background-color: var(--light);
}

.close-popup:before{
    transform: rotate(45deg);
}

.close-popup:after{
    transform: rotate(-45deg);
}

.close-popup:active{
    transform: scale(0.96);    
}

.close-popup-icon{
    width: 16px;
    height: 16px;
}

.close-popup-icon.line{
    fill: var(--common);
}

@media screen and (min-width: 1025px){
    .close-popup-icon.line{
        transition: all var(--dur) ease-in-out;
    }
    
    .close-popup:hover .close-popup-icon.line{
        fill: var(--primary);
    }
}

.form-popup{
    width: 100%;
    max-width: 560px;
    margin: auto;
    padding: 40px 45px;
    
    
    background-color: var(--light);
    
    box-sizing: border-box;
}

.form-title{
    color: var(--common);
    font-weight: 600;
    font-size: 24px;
}

.form-text{
    
}

.form-row{
    position: relative;
}

.form-label-container{
    position: relative;
}

.form-label{
    margin-bottom: 8px;
}

.form-field{
    display: block;
    
    font: 400 14px/1 var(--font);
    
    width: 100%;
    padding: 20px;
    
    border-radius: 5px;
    border: 1px solid var(--border);
    background: var(--light);
    
    box-sizing: border-box;
    
    transition: border 0.15s ease-in-out;
    
    outline: none;
}

.form-field:focus{
    border-color: var(--button);
}

@media screen and (max-width: 767px){
    .site-popup{
        background-color: rgba(0,0,0,0.8);
    }
    
    .inside-popup{
        padding: 16px;
    }
    
    .inside-popup.active{
        display: block;
    }
    
    .form-popup{
        padding: 30px;
        max-width: none;
    }
    
    .close-popup {
        top: 18px;
        right: 18px;
    }
    
    .close-popup:before, 
    .close-popup:after{
        width: 24px;
        margin-left: -12px;
        
        background-color: var(--common);
    }
}

/* about us page */
.content-row{
    gap: 80px;
}

.content-row:not(:first-child){
    padding-top:  72px;
}

.content-pictures{
    display: flex;
    gap: 20px;
    line-height: 0;
}

.content-img-wrapper{
    flex: 1;
}

.content-img{
    width: 100%;
    height: auto;
}

.content-body{
    width: 100%;
}

.content-body__title{
    font-weight: 500;
    font-size: 20px;
}

.content-body__text{
    
}

@media screen and (min-width: 1024px){
    .content-row{
        display: flex;
        align-items: center;
    }
    
    .content-row:nth-child(2n+1) .content-body{
        order: -1;
    }
    
    .content-pictures{        
        min-width: 52%;
        max-width: 52%;
    }
}

@media screen and (max-width: 1280px){
    .content-row{
        gap: 40px;
    }
}

@media screen and (max-width: 1024px){
    .content-row:not(:first-child){
        padding-top:  48px;
    }
}

@media screen and (max-width: 1023px){
    .content-pictures{
        max-width: 600px;
        margin: 0 auto 24px;
    }
}

