

/* Start:/local/templates/main/assets/fonts/Montserrat/stylesheet.css?17736866726711*/
/* This stylesheet generated by Transfonter (https://transfonter.org) on October 3, 2017 10:05 PM */

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Light.eot');
	src: local('Montserrat Light'), local('Montserrat-Light'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Light.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Light.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-MediumItalic.eot');
	src: local('Montserrat Medium Italic'), local('Montserrat-MediumItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-MediumItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-MediumItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Thin.eot');
	src: local('Montserrat Thin'), local('Montserrat-Thin'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Thin.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Thin.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Thin.ttf') format('truetype');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.eot');
	src: local('Montserrat ExtraLight Italic'), local('Montserrat-ExtraLightItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf') format('truetype');
	font-weight: 200;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BoldItalic.eot');
	src: local('Montserrat Bold Italic'), local('Montserrat-BoldItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BoldItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BoldItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BoldItalic.ttf') format('truetype');
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBold.eot');
	src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBold.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLight.eot');
	src: local('Montserrat ExtraLight'), local('Montserrat-ExtraLight'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLight.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLight.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.eot');
	src: local('Montserrat ExtraBold Italic'), local('Montserrat-ExtraBoldItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf') format('truetype');
	font-weight: 800;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Italic.eot');
	src: local('Montserrat Italic'), local('Montserrat-Italic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Italic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Italic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Italic.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Bold.eot');
	src: local('Montserrat Bold'), local('Montserrat-Bold'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Bold.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-LightItalic.eot');
	src: local('Montserrat Light Italic'), local('Montserrat-LightItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-LightItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-LightItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BlackItalic.eot');
	src: local('Montserrat Black Italic'), local('Montserrat-BlackItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BlackItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BlackItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-BlackItalic.ttf') format('truetype');
	font-weight: 900;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.eot');
	src: local('Montserrat SemiBold Italic'), local('Montserrat-SemiBoldItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf') format('truetype');
	font-weight: 600;
	font-style: italic;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Regular.eot');
	src: local('Montserrat Regular'), local('Montserrat-Regular'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Regular.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Medium.eot');
	src: local('Montserrat Medium'), local('Montserrat-Medium'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Medium.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Medium.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBold.eot');
	src: local('Montserrat ExtraBold'), local('Montserrat-ExtraBold'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBold.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBold.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Black.eot');
	src: local('Montserrat Black'), local('Montserrat-Black'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Black.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Black.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ThinItalic.eot');
	src: local('Montserrat Thin Italic'), local('Montserrat-ThinItalic'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ThinItalic.eot?#iefix') format('embedded-opentype'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ThinItalic.woff') format('woff'),
		url('/local/templates/main/assets/fonts/Montserrat/Montserrat-ThinItalic.ttf') format('truetype');
	font-weight: 100;
	font-style: italic;
}

/* End */


/* Start:/local/templates/main/assets/css/jquery.modal.min.css?17736866723201*/
.blocker{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:auto;z-index:1;padding:20px;box-sizing:border-box;background-color:#000;background-color:rgba(0,0,0,0.75);text-align:center}.blocker:before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-right:-0.05em}.blocker.behind{background-color:transparent}.modal{display:none;vertical-align:middle;position:relative;z-index:2;max-width:500px;box-sizing:border-box;width:90%;background:#fff;padding:15px 30px;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;-ms-border-radius:8px;border-radius:8px;-webkit-box-shadow:0 0 10px #000;-moz-box-shadow:0 0 10px #000;-o-box-shadow:0 0 10px #000;-ms-box-shadow:0 0 10px #000;box-shadow:0 0 10px #000;text-align:left}.modal a.close-modal{position:absolute;top:-12.5px;right:-12.5px;display:block;width:30px;height:30px;text-indent:-9999px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.modal-spinner{display:none;position:fixed;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);padding:12px 16px;border-radius:5px;background-color:#111;height:20px}.modal-spinner>div{border-radius:100px;background-color:#fff;height:20px;width:2px;margin:0 1px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}.modal-spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.modal-spinner .rect3{-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.modal-spinner .rect4{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}@-webkit-keyframes sk-stretchdelay{0%,40%,100%{-webkit-transform:scaleY(0.5)}20%{-webkit-transform:scaleY(1.0)}}@keyframes sk-stretchdelay{0%,40%,100%{transform:scaleY(0.5);-webkit-transform:scaleY(0.5)}20%{transform:scaleY(1.0);-webkit-transform:scaleY(1.0)}}
/* End */


/* Start:/local/templates/main/components/bitrix/menu/main/style.css?177572035516066*/
:root {
    /*--color-menu-item-active-bg: #f4f6fb;*/
    --color-menu-item-active-bg: #f2f5f9;
}
.menu {
    display: flex;
    align-items: center;
    /*padding: 0 1rem;*/
    /*color: #fff;
    background: var(--color-secondary);*/
}
.menu__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000a;
    backdrop-filter: blur(2px);
    cursor: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"),auto;

    visibility: hidden;
    opacity: 0;
    transition: .3s;
}
.menu.active .menu__backdrop {
    visibility: visible;
    opacity: 1;
}
.menu__btn {
    margin-left: auto;
    width: 1.8rem;
    height: 1.8rem;
    cursor: pointer;
    display: block;
}
.menu__close-btn {
    position: relative;
    transform: translateX(30%);
    padding: .75rem;
    width: 1.25rem;
    height: 1.25rem;
    transition: .3s;
    box-sizing: initial;
    opacity: .5;
}

.menu__close-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid #e2e2e2;
    border-radius: .5rem;
    width: 75%;
    height: 75%;
    /*background: #dce5ef;*/
    background: #eee;
    transform: translate(-50%, -50%) scale(0);
    transition: .3s;
}
.menu__close-btn:hover {
    opacity: 1;
}
.menu__close-btn:hover::before {
    transform: translate(-50%, -50%);
}
.menu__close-btn::after {
    content: '';
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23000' fill-rule='nonzero'/%3E%3C/svg%3E") center/75% no-repeat;
}

.menu__content {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    max-width: 420px;
    width: 100%;
    z-index: 2;
    box-shadow: -1px 0 4px -2px #0007;
    overflow: auto;

    visibility: hidden;
    transform: translateX(calc(100% + 1rem));
    transition: .3s;
}

.menu.active .menu__content {
    display: flex;
    flex-direction: column;
    visibility: visible;
    transform: none;
}
.menu-content {
    background: var(--color-light);
    /*color: var(--color-primary);*/
}
.menu-content__top {
    position: sticky;
    top: 0;
    padding: .75rem 1.5rem;
    display: flex;
    justify-content: space-between;
    flex: none;
    /*border-bottom: 1px solid #ddd;*/

    border-bottom: 1px solid #0003;
    box-shadow: 0 .125rem .25rem -.25rem #000a;

    background: #fff;
    overflow: auto;
    z-index: 1;
}
.menu__bottom {
    margin-top: auto;
    border-top: 1px solid #ddd;
    padding: 1rem;
    line-height: 1.375em;
    font-weight: 400;
    font-size: 1rem;
    color: #000a;
    background: #f8f8f8;
}
/*.menu__contacts {
    padding: 1rem 1rem;
    background: #f2f2f2;
}*/
.menu__logo {
    display: block;
    width: 3.5rem;
}
.menu__social {
    margin: 1rem -1rem -1rem;
    padding: 1rem 1.5rem;
    font-size: 1.75rem;
    color: var(--blue-color);
}
@media screen and (min-width: 640px) {
    .menu__close-btn {
        width: 1rem;
        height: 1rem;
    }
    .menu-content__top {
        background: #fffa;
        backdrop-filter: blur(3px);
    }
    .menu__btn {
        width: 2rem;
        height: 2rem;
    }
}
@media screen and (min-width: 768px) {
    .menu {
        font-size: 1rem;
    }
    .menu__btn {
        width: 2.2rem;
        height: 2.2rem;
    }
}
@media screen and (min-width: 1024px) {
    .menu { font-size: 1.1rem; }
    /*.menu__nav {
        transform: translateX(-.75rem);
    }*/
    .menu__logo {
        display: none;
    }
    .menu__content {
        position: static;
        max-width: 1150px;
        width: 100%;
        box-shadow: none;
        visibility: visible;
        transform: none;
        overflow: initial;
    }
    .menu-content {
        background: inherit;
        color: inherit;
    }
    .menu-content__top {
        display: none;
    }
    .menu__bottom {
        display: none;
    }
    .menu__btn {
        display: none;
    }
}

.nav {
    /*font-weight: 400;*/
    font-weight: 500;
}
.nav-list {
    padding: 0;

    display: flex;
    /*gap: .25rem;*/
    /*gap: clamp(.125rem, .25vw, .25rem);*/
    flex-wrap: wrap;
    /*background: #aaa2;*/
}
.nav-list_root {
    display: flex;
    flex-wrap: wrap;
    /*margin: calc(var(--gap) * -.5);*/

    background: #fafafa;
}
.nav-list:not(.nav-list_root) {
    top: -.5rem;
    left: calc(100% + .5rem + 1px);
}
.nav-list:not(.nav-list_root)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    width: 1.125rem;
    height: 100%;
}
.nav-list__group {
    list-style: none;
}

.nav-group__heading {
    padding: .75rem 1rem .25rem;
    font-size: .875rem;
    color: var(--blue-color);
    text-transform: uppercase;
}
.nav-group__list {
    display: flex;
    flex-direction: column;
    padding: 0;
    list-style: none;
}

.nav-item {
    position: relative;
    width: 100%;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    white-space: normal;
}
.nav-item:not(.active)::after {
    content: '';
    display: block;
    width: 100%;
    border-bottom: 1px solid #ddd;
}
.nav-item:not(.nav-item_root):first-of-type::before {
    content: '';
    display: block;
    width: 100%;
    border-top: 1px solid #ddd;
}
.nav-item_root {
    /*padding: calc(var(--gap) * .5);*/
    width: 100%;
}
.nav-item:has(.nav-item.selected) > .nav-item__link,
.nav-item.selected > .nav-item__link,
.nav-item:hover > .nav-item__link {
    background: var(--color-menu-item-active-bg);
    box-shadow: 3rem 0 0 0 var(--color-menu-item-active-bg);
    color: var(--color-primary);
}
.nav-item__list {
    max-height: 0;
    width: 100%;
    overflow: hidden;
    color: initial;
}
.nav-item_root > .nav-item__list {
    top: calc(100% + 1px);
    left: initial;
}
.nav-item__link {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*border-radius: .25rem;*/
    text-decoration: none;
    color: inherit;
    padding: .875rem 1.5rem;
    transition: .3s;
}
/*.nav-item.selected > .nav-item__link, .nav-item:hover > .nav-item__link, .nav-item.active > .nav-item__link {
    text-shadow: 0 0 .5px, 0 0 .5px, 0 0 .5px, 0 0 .5px, 0 0 .5px;
    color: var(--color-primary);
}*/

.nav-item__dropdown {
    position: relative;
    right: .75rem;
    display: block;
    padding: .75rem;
    width: 1.25em;
    height: 1.25em;
    flex: none;
    cursor: pointer;
    align-self: center;
    box-sizing: unset;
    opacity: .5;
    transition: .3s;
}
.nav-item.active > .nav-item__dropdown {
    opacity: 1;
}
.nav-item__dropdown::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    border: 1px solid #e2e2e2;
    border-radius: .5rem;
    width: 75%;
    height: 75%;
    background: #eee;
    transition: .3s;
}
.nav-item__dropdown:hover::before {
    transform: translate(-50%, -50%) scale(1);
}
.nav-item__dropdown::after {
    content: '';
    position: relative;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 58.026 58.026" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M29.013 46.019c-1.1 0-2.1-.4-2.9-1.2l-25-26c-1.5-1.6-1.5-4.1.1-5.7 1.6-1.5 4.1-1.5 5.7.1l22.1 23 22.1-23c1.5-1.6 4.1-1.6 5.7-.1s1.6 4.1.1 5.7l-25 26c-.8.8-1.8 1.2-2.9 1.2z" fill="%23000000" opacity="1" data-original="%23000000" class=""></path></g></svg>') center/75% no-repeat;
    display: block;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    transition: .3s;
}
.nav-item.active > .nav-item__dropdown::after {
    transform: none;
}
.nav-item__preview {
    margin-right: 1rem;
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    border-radius: .375rem;
}
.nav-item__link:has(>.nav-item__preview) {
    justify-content: flex-start;
    font-weight: 600;
}
.nav-item__note {
    margin-top: .125rem;
    font-size: .82em;
    font-weight: 500;
    color: #888;
}

@media screen and (min-width: 640px) {
    .nav-item__dropdown {
        width: 1rem;
        height: 1rem;
    }
    .nav-item__link {
        padding: .75rem 1rem;
    }
    .nav-item__link:has(>.nav-item__preview) {
        font-size: .875rem !important;
    }
    .nav-item__note {
        margin-top: .25rem;
    }
}
@media screen and (min-width: 1024px) {
    .nav {
        --gap: 0rem;
        /*font-weight: inherit;*/
        /*text-transform: uppercase;*/
    }
    .nav-list {
        gap: clamp(.125rem, .25vw, .25rem);
        background: initial;
    }
    .nav-list_root {
        background: initial;
    }
    .nav-item {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        /*width: calc(clamp(320px, 31.2vw, 380px) - 1rem);*/
        width: 300px;
        z-index: 1;
    }
    .nav-item:not(.nav-item_root) {
        text-transform: initial;
    }
    /*.nav-item:not(.nav-item_root):hover > .nav-item__link {
        background: var(--color-primary-alt);
    }*/
    /*.nav-item.selected > .nav-item__link {
        background: var(--color-secondary);
    }*/
    /*.nav-item_root.selected > .nav-item__link {
        background: #030f0188;
    }*/
    .nav-item::after {
        display: none;
    }
    .nav-item_root {
        width: initial;
        flex-grow: 1;
        white-space: nowrap;
    }
    .nav-item_root > .nav-item__link {
        justify-content: center;
        /*min-height: 3.375rem;*/
        /*line-height: 1;*/
    }
    .nav-item_root .nav-item__link {
        font-size: clamp(.875rem, 1.22vw, 1rem);
        line-height: 1.375;
    }
    .nav-item:not(.nav-item_root):first-of-type::before {
        display: none;
    }
    .nav-item__list {
        position: absolute;
        top: 0;
        left: 100%;
        margin: 0;
        border-radius: .375rem;
        display: flex;
        padding: .5rem;
        width: auto;
        max-height: initial;
        /*background: var(--color-primary);*/
        visibility: hidden;
        transition: transform .3s, opacity .3s, visibility 0s linear .3s;
        /*border-radius: .25rem;*/
        box-shadow: 0 1px 5px -2px #0007;
        overflow: initial;

        transform: translateY(1rem);
        opacity: 0;
    }
    .nav-item__list::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        border-radius: .5rem;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(3px);
        /*box-shadow: 0 1px 5px -2px #0007;*/
        box-shadow: 0 .625rem .75rem -.375rem #0001;
        z-index: 0;
        /*background: #292929f4;*/
        background: #fffd;
        transition: none;
    }
    /*.nav-item_root > .nav-item__list {
        top: calc(100% + .5rem);
    }*/
    .nav-item_root > .nav-item__list::before {
        content: '';
        top: 0;
        left: 0;
        transform: translateY(-100%);
        width: 100%;
        height: .5rem;
    }
    .nav-list_groupped {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .nav-item:hover > .nav-item__list {
        visibility: visible;
        transform: translateY(.5rem);
        opacity: 1;
        transition: .5s;
    }
    .nav-item__dropdown {
        display: none;
    }
    .nav-item__link {
        /*padding: .5rem;*/
        border-radius: .375rem;
        padding: .75rem .625rem;
        font-size: clamp(.75rem, 1.375vw, 1rem);
        text-shadow: none !important;
    }
    /*.nav-item:hover > .nav-item__link {
        background: var(--color-primary-alt);
    }*/
    .nav-item:has(.nav-item__list) > .nav-item__link::after {
        content: '';
        flex: none;
        margin-left: .375em;
        display: block;
        width: .625em;
        height: .625em;

        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 58.026 58.026" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M29.013 46.019c-1.1 0-2.1-.4-2.9-1.2l-25-26c-1.5-1.6-1.5-4.1.1-5.7 1.6-1.5 4.1-1.5 5.7.1l22.1 23 22.1-23c1.5-1.6 4.1-1.6 5.7-.1s1.6 4.1.1 5.7l-25 26c-.8.8-1.8 1.2-2.9 1.2z" fill="%23000000" opacity="1" data-original="%23000000" class=""></path></g></svg>') no-repeat;
        opacity: .6;
        transition: .3s;
    }
    .nav-item:hover > .nav-item__link::after,
    .nav-item.selected > .nav-item__link::after {
        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 58.026 58.026" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M29.013 46.019c-1.1 0-2.1-.4-2.9-1.2l-25-26c-1.5-1.6-1.5-4.1.1-5.7 1.6-1.5 4.1-1.5 5.7.1l22.1 23 22.1-23c1.5-1.6 4.1-1.6 5.7-.1s1.6 4.1.1 5.7l-25 26c-.8.8-1.8 1.2-2.9 1.2z" fill="%23066cb4" opacity="1"></path></g></svg>') no-repeat;
    }
    .nav-item:has(.nav-item__list):hover > .nav-item__link::after {
        transform: rotate(-90deg);
        opacity: 1;
    }
    .nav-item_root:has(.nav-item__list):hover > .nav-item__link::after {
        transform: translateY(10%);
    }
    .nav-item:not(.active)::after {
        display: none;
    }

    .nav-group__heading {
        padding: .5rem .5rem .25rem;
    }

    /*.nav-item.selected > .nav-item__link, .nav-item:hover > .nav-item__link, .nav-item.active > .nav-item__link {
        color: var(--color-light);
    }*/
    .nav-item:has(.nav-item.selected) > .nav-item__link,
    .nav-item.selected > .nav-item__link,
    .nav-item:hover > .nav-item__link {
        box-shadow: none;
    }
}
@media screen and (min-width: 1280px) {
    .nav-list_root {
        justify-content: space-between;
    }
    /*.nav-item { width: 300px; }*/
    .nav-item_root { width: initial; }
    .nav-item__link {
        padding: .75rem clamp(.25rem, .8vw, 1rem);
    }
    /*.nav-item:not(.nav-item_root) .nav-item__link {
        padding: .75rem clamp(.25rem, .8vw, 1rem) .75rem;
        font-size: .9em;
    }*/
    .nav-item:has(.nav-item__list) > .nav-item__link::after {
        margin-left: .75em;
    }
    .nav-group__heading {
        padding: .5rem .75rem .25rem;
    }
}


/* Mobile menu */
.mobile-menu {
    position: sticky;
    top: 0;
    padding: 1rem 0;
    width: 100%;
    z-index: 4;
    /*background: var(--color-light);*/
    /*box-shadow: 0 .125rem .375rem -.25rem #000d;*/
}
.mobile-menu__container {
    position: relative;
    padding: .75rem 1.5rem .75rem 1.125rem;
}
.mobile-menu__container>* {
    position: relative;
    z-index: 1;
}
.mobile-menu__container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 1rem;
    width: 100%;
    height: 100%;
    background: #fffe;
    backdrop-filter: blur(3px);
    /*box-shadow: 0 .125rem .5rem -.25rem #0002;*/
    box-shadow: 0 .125rem .375rem -.25rem #000e;
    z-index: 0;
    transition: .3s;
}
.mobile-menu__btn {
    display: flex;
    font-size: 2rem;
    cursor: pointer;
}
.mobile-menu__logo {
    display: block;
    width: clamp(3rem, 10vw, 6rem);
}
@media screen and (min-width: 1024px) {
    .mobile-menu {
        display: none;
    }
}

.mobile-menu:has(~.header_project) {
    position: fixed;
}
/* end Mobile menu */
/* End */


/* Start:/local/components/custom/modal/assets/css/default.css?17736866752614*/
.modal {
    --gap: 1.75rem;
    border-radius: .25rem;
    padding: var(--gap);
    max-width: 400px;
    width: 100%;
    overflow: hidden;
    cursor: initial;
}
.modal__header {
    border-bottom: 1px solid #ddd;
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 400;
    text-align: center;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal__header {
    margin: calc(-1 * var(--gap)) calc(-1 * var(--gap)) 1rem;
    padding: calc(.75 * var(--gap)) var(--gap) calc(var(--gap)/1.5);
    background: var(--color-gray);
    color: var(--color-primary);
}
.modal__header:empty {
    display: none;
}
.modal__content {
    font-size: 1rem;
}

.modal a.close-modal {
    position: absolute;
    top: .825rem;
    right: .825rem;
    display: block;
    padding: .5rem;
    width: 1.125rem;
    height: 1.125rem;
    transition: .3s;
    box-sizing: initial;
    font-size: 0;
    background: none;
    opacity: .5;
}
.modal a.close-modal::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid #e2e2e2;
    border-radius: .5rem;
    width: 92%;
    height: 92%;
    /*background: #dce5ef;*/
    background: #eee;
    transform: translate(-50%, -50%) scale(0);
    transition: .3s;
}
.modal a.close-modal:hover {
    opacity: 1;
}
.modal a.close-modal:hover::before {
    transform: translate(-50%, -50%);
}
.modal a.close-modal::after {
    content: '';
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23000' fill-rule='nonzero'/%3E%3C/svg%3E") center/75% no-repeat;
}

.blocker {
    z-index: 4;
    backdrop-filter: blur(4px);
    cursor: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"),auto;
}

@media screen and (min-width: 768px) {
    .modal { --gap: 2rem; }
}
/* End */


/* Start:/local/components/custom/modal/templates/.default/style.css?1773686675497*/
.modal_info .modal__header {
    /*justify-content: flex-start;*/
    font-size: 1rem;
    font-weight: 500;
    background: initial;
    padding: calc(.75 * var(--gap)) var(--gap) calc(var(--gap)/2);
}
.modal_info .modal__body {
    font-size: .875rem;
}
.modal_info .modal__accent {
    border: 1px dashed #ccc;
    padding: calc(var(--gap)/3);
    margin-top: calc(var(--gap)/3);
}
.modal_info .modal__accent a {
    font-weight: 500;
    white-space: nowrap;
    color: var(--color-primary);
}
/* End */


/* Start:/local/templates/main/components/custom/modal/booking/style.css?1779280931490*/
.modal__info:empty {
    display: none;
}

.booking-object {
    border: 1px solid #c4d5ea;
    border-radius: .25rem;
    padding: .625rem .875rem;
    font-size: clamp(.875rem, 1.25vw, 1rem);
    font-weight: 500;
    color: var(--color-primary);
    background: var(--color-menu-item-active-bg);
}
.booking-object::before {
    content: 'Вы бронируете объект';
    display: block;
    opacity: .6;
    font-size: .875rem;
    font-weight: initial;
    color: initial;
}
/* End */


/* Start:/local/templates/main/template_styles.css?177918396745559*/
:root {
    --color-primary: #066cb4;
    --color-primary-alt: #5091c6;
    --color-secondary: #4f4f4f;
    --color-inactive: #dddddd;
    --color-light: #ffffff;
    --color-dark: #212121;
    --color-success: #6cae6d;
    --color-error: #ff0000;
    --font-primary: "Montserrat", sans-serif;
    --gap: 1rem;
    --section-space: 1.5rem;
    --container: 1536px;
    --sidebar: 100%;
    --container-space: 1rem;

    --form-control-bg: #fff;
}

@media screen and (min-width: 768px) {
    :root { --container-space: 1.5rem; }
}
@media screen and (min-width: 1280px) {
    :root { --container-space: 2rem; }
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    line-height: 1.625;
    font-family: var(--font-primary);
}
body {
    margin: 0;
    min-height: 100vh;
    /*color: var(--color-primary);*/
    background: #f5f5f5;
}

a {
    text-decoration: none;
    color: inherit;
    outline: none;
}

img { max-width: 100%; }

ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
ol { padding-left: 1.125em; }
ol:first-child, ul:first-child { margin-top: 0; }
ol:last-child, ul:last-child { margin-bottom: 0; }

p, .p {
    margin-top: 1em;
    margin-bottom: 1em;
}
p:first-child, .p:first-child { margin-top: 0; }
p:only-child, .p:only-child { margin-bottom: 0; }
p:last-child, .p:last-child { margin-bottom: 0; }

input, button {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    border: none;
    padding: 0;
    width: 100%;
    font: inherit;
    line-height: inherit;
    color: inherit;
    background: initial;
    outline: none;
}

button, [type="button"], [type="submit"] {
    border: none;
    background: none;
}
sup { font-size: .625em; }

.link {
    position: relative;
}
.link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: .3s;
}
.link:hover {
    color: var(--color-primary);
    opacity: 1;
}
.link:hover::after {
    width: 100%;
}

.text-success { color: var(--color-success); }
.text-error { color: var(--color-error); }
.text-primary { color: var(--color-primary); }
.text-primary-alt { color: var(--color-primary-alt); }
.text-secondary { color: var(--color-secondary); }
.text-light { color: var(--color-light); }
.text-highlight { opacity: .5; }
.text-inactive-gradient {
    background: linear-gradient(to right, #777, var(--color-inactive));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bg-primary { background-color: var(--color-primary); }
.bg-secondary { background-color: var(--color-secondary); }
.bg-light { background-color: var(--color-light); }
.bg-dark { background-color: var(--color-dark); }

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-auto {
    margin-top: auto;
    margin-bottom: auto;
}

.min-lg { min-width: 1024px; }
.max-xs { max-width: 480px; }
.max-sm { max-width: 640px; }
.max-md { max-width: 768px; }
.max-lg { max-width: 1024px; }
.max-xl { max-width: 1280px; }
.max-2xl { max-width: 1536px; }

.x-stretch { width: 100%; }
.y-stretch { height: 100%; }

.hidden { display: none; }
.block { display: block; }
@media screen and (min-width: 480px) {
    .xs\:block { display: block; }
}
@media screen and (min-width: 640px) {
    .sm\:block { display: block; }
}
@media screen and (min-width: 768px) {
    .md\:hidden { display: none; }
    .md\:block { display: block; }
}
@media screen and (min-width: 1024px) {
    .lg\:hidden { display: none; }
    .lg\:block { display: block; }
}
@media screen and (min-width: 1280px) {
    .xl\:block { display: block; }
}

/* Flex position */
.flex-col { flex-direction: column; }
.flex-reverse { flex-direction: row-reverse; }

.flex-center { justify-content: center; }
.flex-evenly { justify-content: space-evenly; }
.flex-between { justify-content: space-between; }
.flex-top { align-items: flex-start; }
.flex-bottom { align-items: flex-end; }
.flex-middle { align-items: center; }
.flex-baseline { align-items: baseline; }

.self-bottom { align-self: flex-end; }
.self-top { align-self: flex-start; }
.self-left {
    justify-self: flex-start;
    /*margin-left: auto;*/
}
.self-right {
    justify-self: flex-end;
    margin-left: auto;
}
.self-center { justify-self: center; }
.self-middle { align-self: center; }

.flex-grow {
    flex-grow: 1;
    flex-basis: 0;
    min-width: 1px;
}
.flex-shrink { flex-shrink: 1; }

@media screen and (min-width: 640px) {
    .sm\:flex-row { flex-direction: row; Œ}
}
/* end Flex position */

/* Grid */
.gap-none { --gap: 0; }
.gap-1\/4 { --gap: .25rem; }
.gap-0\.5 { --gap: .5rem; }
.gap-0\.75, .gap-3\/4 { --gap: .75rem; }
.gap { --gap: 1rem; }
.gap-1\.5 { --gap: 1.5rem; }
.gap-2 { --gap: 2rem; }
.gap-2\.5 { --gap: 2.5rem; }
.gap-3 { --gap: 3rem; }
.gap-4 { --gap: 4rem; }

@media screen and (min-width: 480px) {
    .xs\:gap-1\.5 { --gap: 1.5rem; }
    .xs\:gap-2 { --gap: 2rem; }
}
@media screen and (min-width: 640px) {
    .sm\:gap-1\.5 { --gap: 1.5rem; }
    .sm\:gap-2 { --gap: 2rem; }
}
@media screen and (min-width: 768px) {
    .md\:gap { --gap: 1rem; }
    .md\:gap-2 { --gap: 2rem; }
    .md\:gap-3 { --gap: 3rem; }
}
@media screen and (min-width: 1024px) {
    .lg\:gap { --gap: 1rem; }
    .lg\:gap-1\.5 { --gap: 1.5rem; }
    .lg\:gap-2 { --gap: 2rem; }
    .lg\:gap-3 { --gap: 3rem; }
}
@media screen and (min-width: 1280px) {
    .xl\:gap { --gap: 1rem; }
    .xl\:gap-1\.5 { --gap: 1.5rem; }
    .xl\:gap-2 { --gap: 2rem; }
    .xl\:gap-3 { --gap: 3rem; }
    .xl\:gap-4 { --gap: 4rem; }
}
@media screen and (min-width: 1536px) {
    .\32xl\:gap-2 { --gap: 2rem; }
    .\32xl\:gap-3 { --gap: 3rem; }
}

.r {
    display: flex;
    flex-wrap: wrap;
    margin: calc(var(--gap) * -.5);
}
.r_line { flex-wrap: nowrap; }


.c, [class*="c-"], [class*=":c"] {
    padding: calc(var(--gap) * .5);
}
[class*="c-"], [class*=":c-"] {
    width: 100%;
}
.c { width: initial; }
.c-2 { max-width: calc(1/6 * 100%); }
.c-3 { max-width: 25%; }
.c-4 { max-width: calc(1/3 * 100%); }
.c-5 { max-width: calc(5/12 * 100%); }
.c-6 { max-width: 50%; }
.c-7 { max-width: calc(7/12 * 100%); }
.c-8 { max-width: calc(2/3 * 100%); }
.c-9 { max-width: 75%; }
.c-12 { max-width: 100%; }

.c-1\/5 { max-width: 20%; }
.c\:collapse { padding-top: 0; }

@media screen and (min-width: 640px) {
    .sm\:c {
        width: initial;
        max-width: initial;
    }
    .sm\:c-3 { max-width: 25%; }
    .sm\:c-4 { max-width: calc(1/3 * 100%); }
    .sm\:c-6 { max-width: 50%; }
    [class*="sm:c-"] { width: 100%; }
}
@media screen and (min-width: 768px) {
    .md\:c {
        width: initial;
        max-width: initial;
    }
    .md\:c-3 { max-width: 25%; }
    .md\:c-4 { max-width: calc(1/3 * 100%); }
    .md\:c-5 { max-width: calc(5/12 * 100%); }
    .md\:c-6 { max-width: 50%; }
    .md\:c-7 { max-width: calc(7/12 * 100%); }
    .md\:c-8 { max-width: calc(2/3 * 100%); }
    [class*="md:c-"] { width: 100%; }
}
@media screen and (min-width: 1024px) {
    .lg\:c {
        max-width: initial;
        width: initial;
    }
    .lg\:c-3 { max-width: 25%; }
    .lg\:c-5 { max-width: calc(5/12 * 100%); }
    .lg\:c-4 { max-width: calc(1/3 * 100%); }
    .lg\:c-5 { max-width: calc(5/12 * 100%); }
    .lg\:c-6 { max-width: 50%; }
    .lg\:c-7 { max-width: calc(7/12 * 100%); }
    .lg\:c-8 { max-width: calc(2/3 * 100%); }
    .lg\:c-9 { max-width: 75%; }
    .lg\:c-12 { max-width: 100%; }
    [class*="lg:c-"] { width: 100%; }
}
@media screen and (min-width: 1280px) {
    .xl\:c {
        width: initial;
        max-width: initial;
    }
    .xl\:c-3 { max-width: 25%; }
    .xl\:c-4 { max-width: calc(1/3 * 100%); }
    .xl\:c-8 { max-width: calc(2/3 * 100%); }
    .xl\:c-12 { max-width: 100%; }
    [class*="xl:c-"] { width: 100%; }
}
/* end Grid */

/* Containers */
.section {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
}
.section_start {
    padding: 0;
}
.section_top {
    padding-top: 0;
}
.section_back {
    background-size: cover;
}
.section_back_grid {
    position: relative;
}
.section_back_grid > * {
    position: relative;
    z-index: 1;
}
.section_back_grid::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /*background: url("/local/templates/main/assets/images/grid.svg") center/contain;*/
    opacity: .07;
}
.section_grayscale {
    position: relative;
}
.section_grayscale::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: #0007;*/
    background: radial-gradient(transparent, #000a);
    backdrop-filter: grayscale(100%);
}
.section_grayscale > * {
    position: relative;
    z-index: 1;
}
.section_dark { position: relative; }
.section_dark > * {
    position: relative;
    z-index: 1;
}
.section_dark::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(transparent, #000a);
}
.section_feedback {
    --section-space: 1.5rem;
    padding-bottom: calc(var(--section-space) * .75);
}
.container {
    margin: 0 auto;
    padding: 0 calc(var(--container-space));
    max-width: calc(var(--container) - var(--container-space) * 2);
}

@media screen and (min-width: 1280px) {
    .section { --section-space: 4rem; }
    .section_feedback {
        --section-space: 2rem;
    }
}
/* end Containers */

/* Content */
.content ul, .content ol {
    --gap: .75em;
    margin: calc(var(--gap) * -.5);
}
.content li {
    padding: calc(var(--gap) / 2);
    transition: .3s;
}
.content ul li::before {
    content: '';
    margin-right: .75rem;
    display: inline-flex;
    width: .75rem;
    height: .75rem;
    border-radius: .125rem;
    background: var(--color-primary-alt);
    box-shadow: .25rem .25rem 0 0 #5091c64d;
    vertical-align: middle;
    transition: .3s;
}
/* end Content */

/* Headers */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-top: .75em;
    margin-bottom: .75em;
    font-family: var(--font-secondary);
    line-height: initial;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
.h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child {
    margin-top: 0;
}
h1:only-child, h2:only-child, h3:only-child, h4:only-child, h5:only-child, h6:only-child,
.h1:only-child, .h2:only-child, .h3:only-child, .h4:only-child, .h5:only-child, .h6:only-child {
    margin: 0;
}
h1, .h1 {
    font-size: clamp(1.25rem, 3vw, 2.25rem);
    line-height: 1.5;
    text-transform: uppercase;
}
h2, .h2 {
    /*font-size: 4rem;*/
    font-size: clamp(1.375rem, 2.5vw, 2.25rem);
    font-weight: 500;
    /*text-transform: uppercase;*/
    text-align: center;
}
h3, .h3 {
    /*font-size: 4rem;*/
    font-size: clamp(1.375rem, 1.5vw, 1.625rem);
    font-weight: 500;
    /*text-transform: uppercase;*/
    text-align: center;
}
h4, .h4 {
    /*font-size: 4rem;*/
    font-size: clamp(1rem, 1.25vw, 1.375rem);
    font-weight: 500;
    /*text-transform: uppercase;*/
    text-align: center;
}

.section__subtitle {
    margin-bottom: 3rem;
    /*font-size: clamp(1.25rem, 1.53vw, 1.375rem);*/
    /*font-size: clamp(1rem, 1.5vw, 1.25rem);*/
    font-size: clamp(1rem, 1.625vw, 1.25rem);
    text-align: center;
}
/* end Headers */

.text-left { text-align: left; }
.text-center { text-align: center; }

.text-default {
    all: initial;
    font-family: inherit;
}
.text-xs { font-size: .75rem; }
.text-sm { font-size: .875rem; }
.text-md { font-size: 1.125rem; }
.text-lg { font-size: 1.25rem; }
.text-xl { font-size: 1.5rem; }
.text-\32x { font-size: 2em; }

.nowrap { white-space: nowrap; }

/* Components */
*:has(>.tooltip) {
    position: relative;
}
.tooltip {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: .25rem;
    padding: .5rem 1rem;
    max-width: 320px;
    width: max-content;
    font-size: .875rem;
    color: #fff;
    background: #222931aa;
    transition: .3s;
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
}
.tooltip.shown {
    opacity: 1;
    visibility: visible;
    top: -.5rem;
}

.back {
    border-radius: 1rem;
    padding: 2.5rem 1.5rem;
    background-size: cover;
    /*overflow: hidden;*/
}
.back_dark, .back_grayscale, .back_blur {
    position: relative;
}
.back_grayscale::before,
.back_dark::before,
.back_blur::before,
.back_grayscale::after,
.back_dark::after,
.back_blur::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-radius: inherit;
    width: 100%;
    height: 100%;
}
.back_grayscale::before,
.back_dark::before,
.back_blur::before {
    background-image: inherit;
}
.back_grayscale > *,
.back_dark > *,
.back_blur > * {
    position: relative;
    z-index: 1;
}
.back_grayscale::after {
    background: radial-gradient(#0005, #000a);
    backdrop-filter: grayscale(100%);
}
.back_dark::after {
    background: #000000d6;
}
.back_blur::after {
    background: #0008;
    backdrop-filter: blur(5px);
}
.back_mobile_expand {
    margin: 0 calc(var(--container-space) * -1);
    border-radius: 0;
    padding-left: var(--container-space);
    padding-right: var(--container-space);
}

.back:has(>.back__poster) {
    position: relative;
}
.back:has(>.back__poster) > *:not(.back__poster) {
    position: relative;
    z-index: 1;
}
.back__poster {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: inherit;
    height: 100%;
    overflow: hidden;
    z-index: 0 !important;
}
.back__poster_right {
    left: calc(10%);
    opacity: .3;
}

@media screen and (min-width: 480px) {
    .back { padding: 3rem 2rem; }
}
@media screen and (min-width: 768px) {
    .back__poster_right {
        left: calc(20% + var(--container) / 5);
        opacity: initial;
    }
}
@media screen and (min-width: 1280px) {
    .back { padding: 4rem 3rem; }
}

.btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: .25rem;
    padding: .75rem clamp(1rem, 2vw, 2rem);
    color: var(--color-light);
    /*background: var(--color-primary);*/
    background: linear-gradient(45deg, var(--color-primary), var(--color-primary-alt));
    transition: .5s;
    cursor: pointer;
    z-index: 1;
}
.btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.btn:hover {
    /*background: linear-gradient(var(--color-primary-alt));*/

    /*font-size: 1.625rem;*/
}
.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-radius: inherit;
    width: 100%;
    height: 100%;
    display: block;
    background: var(--color-primary);
    opacity: 0;
    transition: inherit;
    z-index: -1;
}
.btn:hover {
    box-shadow: 0 .25rem .5rem -.125rem #0005;
}
.btn:hover::before {
    opacity: 1;
}
.btn__icon {
    margin-right: .75rem;
    font-size: 1rem;
    line-height: 1;
    transform: scale(1.5);
}
.btn__inset {
    position: relative;
    z-index: 1;
}
/*.btn:has(>.btn__back) {
    position: relative;
    overflow: hidden;
}
.btn__back {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 50%;
    width: 5rem;
    height: 5rem;
    z-index: 0;
    transition: .5s box-shadow, .5s transform, .5s opacity;
    transform: scale(0);
    box-shadow: none;
    background: #688a0a77;
    opacity: 0;
}
.btn:hover .btn__back {
    box-shadow: 0 0 0 100px #688a0a77;
    transform: scale(10);
    opacity: 1;
}*/

.btn_inherit {
    font-family: inherit;
    font-size: inherit;
    padding: .75rem 1rem;
}
.btn_inverse {
    color: var(--color-primary);
    background: transparent;
    box-shadow: 0 0 0 1.5px var(--color-primary) inset;
    font-weight: 500;
}
.btn_inverse:hover {
    color: var(--color-light);
    background: var(--color-primary);
}
.btn_scaled {
    padding-top: .75em;
    padding-bottom: .5em;
    font-size: clamp(1.5rem, 2vw, 1.75em);
}
.btn_stretch { width: 100%; }

.image {
    display: block;
    width: 100%;
    object-fit: cover;
}
.image_contain {
    object-fit: contain;
}
.image_left { object-position: left; }
@supports (aspect-ratio: auto) {
    .image_sd { aspect-ratio: 4/3; }
    .image_hd { aspect-ratio: 16/9; }
    .image_sq { aspect-ratio: 1; }
}
@supports not (aspect-ratio: auto) {
    *:has(.image_sd),
    *:has(.image_hd),
    *:has(.image_sq) {
        display: flex;
        align-items: stretch;
    }
    *:has(.image_sd)::before {
        content: '';
        padding-top: calc(3/4 * 100%);
    }
    *:has(.image_hd)::before {
        content: '';
        padding-top: calc(9/16 * 100%);
    }
    *:has(.image_sq)::before {
        content: '';
        padding-top: 100%;
    }
}

.show-all {
    padding: .125rem .25rem;
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
    border-bottom: 2px solid var(--color-secondary);
    transition: .3s;
}
.show-all:hover {
    box-shadow: 0 -1rem 0 0 var(--color-secondary) inset;
}

.icon {
    width: 1em;
    height: 1em;
}

.counter { counter-reset: order; }
.counter > * { counter-increment: order; }
.counter__digit::before { content: counter(order); }

.tile {
    --tile-space: 2rem;
    display: grid;
    align-content: start;
    grid-gap: .75rem;
    border-radius: .75rem;
    padding: var(--tile-space);
    height: 100%;
    /*font-size: 1.25rem;
    text-align: center;*/
}
.tile__title {
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
}
.tile__text {
    font-size: 1rem;
    color: #6e6e6e;
}
.tile__icon {
    font-size: 2.75em;
    color: var(--color-secondary);
}

.tile_framed {
    box-shadow: 0 1px 5px 0 #eaeaea;
}
.tile_default { padding: 0; }
.tile_stage {
    padding-top: 20%;
    min-height: 320px;
}
.tile_stage .tile__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto .75rem;
    border-radius: 50%;
    width: 2.25em;
    height: 2.25em;
    font-size: 1.25rem;
    color: var(--color-light);
    background: var(--color-secondary);
}
.tile_mobile_expand {
    margin: 0 calc(var(--container-space) * -1);
    border-radius: 0;
    padding-left: var(--container-space);
    padding-right: var(--container-space);
}

.tile_tablet_expand {
    margin: 0 calc(var(--container-space) * -1);
    border-radius: 0;
    padding-left: var(--container-space);
    padding-right: var(--container-space);
}
.tile_motivation .tile__title { font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
.tile__poster {
    margin: calc(var(--tile-space) * -1);
    margin-bottom: 0;
    border-radius: inherit;
    overflow: hidden;
}

@media screen and (min-width: 480px) {
    .tile_mobile_expand {
        margin: initial;
        border-radius: .75rem;
        padding: var(--tile-space);
    }
}
@media screen and (min-width: 1024px) {
    .tile_tablet_expand {
        margin: initial;
        border-radius: .75rem;
        padding: var(--tile-space);
    }
}
@media screen and (min-width: 1280px) {
    .tile_default .tile__text {
        font-size: 1.125rem;
    }
}

.r__divider {
    display: flex;
    align-items: center;
    padding: calc(var(--gap) * .5) 0;
    opacity: .2;
}
.r__divider::before {
    content: '';
    display: block;
    background: linear-gradient(to bottom, black 6px, transparent 6px);
    background-size: 1px 12px;
    /*border: 1px dashed;*/
    width: 1px;
    height: calc(100% - var(--gap) /2);
}

.backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000a;
    backdrop-filter: blur(3px) grayscale(.9);
    cursor: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"),auto;
    transition: .3s;

    opacity: 0;
    visibility: hidden;
}
.backdrop.shown {
    opacity: 1;
    visibility: visible;
}
.blocker {
    background: #000a;
    backdrop-filter: blur(3px) grayscale(.9);
    z-index: 2;
}

.exp-item__header {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.exp-item__btn {
    display: flex;
    margin-left: auto;
    padding-left: 1rem;
    font-size: 0;
    line-height: 1;
    text-transform: initial;
    transition: .3s;
    opacity: .3;
}
.exp-item__btn::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="chevron" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="%23000000"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>');
    margin-left: .5rem;
    margin-top: .125em;
    display: block;
    width: 1em;
    height: 1em;
    flex: none;
    font-size: 1rem;
    transition: .3s;
}
.exp-item:hover .exp-item__btn {
    opacity: .5;
}
.exp-item.active .exp-item__btn::after {
    transform: rotate(180deg);
}
.exp-item__content {
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .exp-item__btn { font-size: 1rem; }
    .exp-item__btn::after { font-size: 1em; }
}

.form__group {
    display: block;
    /*flex-direction: column;*/
}
.form__label {
    font-size: .875rem;
    color: #999;
}
.form__control {
    display: flex;
    border: 1px solid #ddd;
    border-radius: .375rem;
    padding: .75rem 1rem;
    min-width: 3.125rem;
    /*line-height: 1.5;*/
    font-family: inherit;
    color: #797979;
    background: var(--form-control-bg);
    /*box-shadow: 0 0 0 1px #ddd inset;*/
    transition: .3s;
}
.form__control:focus {
    /*0 0 0 .125rem #f8f8f8, 0 0 .25rem 0 #0002 inset*/
    box-shadow: 0 0 .125rem .125rem #0001 inset;
}
.form__control:has(>:focus) {
    /*box-shadow: 0 0 0 1px #ddd inset, 0 0 5px 1px #e8e8e8 inset;*/
    box-shadow: 0 0 5px 1px #e8e8e8 inset;
}
.form__control:has(:disabled) {
    opacity: .3;
    pointer-events: none;
}
.form__control::placeholder, .form__control input::placeholder {
    font-weight: 300;
    color: #bbb;
}
.form__control_checkbox_default {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: initial;
    display: inline-block;
    padding: initial;
    min-width: initial;
    width: 1.375rem;
    height: 1.375rem;
    vertical-align: middle;
    cursor: pointer;
}
.form__control_checkbox_default:not(:only-child) {
    margin-right: .25em;
}
.form__control_checkbox_default:checked {
    border-color: var(--color-success);
    box-shadow: 0 0 0 0.125em var(--color-success) inset, 0 0 0 0.25em #fff inset;
    background: var(--color-success);
}
.form__agreement {
    font-size: .875em;
    color: #bbb;
}
*:has(>.form__agreement) { line-height: 1.5; }

.form__control_collapses_right {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.form_dark .form__control {
    background: #353535;
    box-shadow: 0 0 0 1px #3b3b3b inset;
    color: #fff;
}
.form_dark .form__control:hover {
    box-shadow: 0 0 0 1px #474747 inset;
}
.form_dark .form__control_select::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff" stroke="%23ffffff" stroke-width="1"><path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z" clip-rule="evenodd" /></svg>');
    line-height: normal;
    opacity: .5;
}

/* Switcher component */
.switcher-control {
    display: flex;
    font-weight: 500;
}
.switcher-control select {
    display: none;
}
.switcher-control__item {
    display: flex;
    justify-content: center;
    min-width: 3.2rem;
    padding: .75rem 1rem;
    border: 1px solid #ccc;
    border-left: none;
    cursor: pointer;
    background: var(--color-inactive);
    color: #888;
}
.switcher-control__item.active {
    background: var(--color-primary-alt);
    border-color: var(--color-primary-alt);
    color: #fff;
}
/*.switcher-control__item:first-of-type {
    border-radius: .25rem 0 0 .25rem;
}*/
.switcher-control__item:last-of-type {
    border-radius: 0 .25rem .25rem 0;
}
/* end Switcher component */

/* Selector component */
.selector {
    position: relative;
    width: 100%;
    max-width: 100%;
    color: var(--color-main);
    white-space: nowrap;
}
.selector__choice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*border: 1px solid var(--color-main-light);*/
    /*padding: 1rem;*/
    /*border-radius: .25rem;*/
    /*height: 3rem;*/
    /*background: var(--color-backdrop);*/
    /*background: #fff;*/
    cursor: pointer;
    transition: .3s;
    color: #000a;
    /*line-height: 1;*/
}
.selector.active .selector__choice {
    color: inherit;
}
/*.selector__choice:hover, .selector.active .selector__choice {
    background: var(--color-backdrop);
}*/
.selector__choice::before {
    content: '';
    margin-left: auto;
    order: 1;
}
.selector__choice::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1"><path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z" clip-rule="evenodd" /></svg>');
    /*content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 15 12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" /></svg>');*/
    /*transform: translateX(30%);*/
    margin-left: .5em;
    width: 1em;
    height: 1em;
    opacity: .6;
    transition: .3s;
    order: 1;
}
.selector.active .selector__choice::after {
    transform: rotate(180deg);
    opacity: .9;
}
.selector__list {
    position: absolute;
    top: calc(100% + 10px);
    min-width: 100%;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: .3s;
    transform: translateY(10px) scale(.95);

    border-radius: .375rem;
    padding: .25rem;
    max-height: 320px;
    background: #fff;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    box-shadow: 0 .625rem .75rem -.375rem #0005;
    overflow: auto;
}
.selector.active .selector__list {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.selector-list {
    display: flex;
    flex-direction: column;
    gap: .125rem;
}
.selector__item {
    display: flex;
    align-items: center;
    border-radius: .25rem;
    padding: .625rem .75rem .625rem .5rem;
    color: initial;
    cursor: pointer;
    transition: .2s;
}
.selector__item.disabled {
    opacity: .3;
    pointer-events: none;
}
.selector__item:empty {
    height: 2em;
}
.selector__item:hover {
    color: var(--color-light);
    background: var(--color-primary);
}
.selector__item::before {
    content: '';
    position: relative;
    bottom: .2em;
    transform: translateY(10%);
    margin-right: .75rem;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: text-bottom;
}
/*.selector__item:first-child[data-value=""] {
    color: #0007;
}*/
.selector__item.selected {
    color: var(--color-light);
    background: var(--color-primary);
}
.selector__item.selected::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23ffffff" viewBox="0 0 24 24" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>');
}
.selector__control {
    display: none;
    appearance: none;
    -webkit-appearance: none;
}

@media screen and (min-width: 480px) {
    /*.selector { max-width: 360px; }*/
}

.selector_sort {
    color: var(--color-primary);
    white-space: nowrap;
}
.selector_sort .selector__choice::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M10 18H4c-.6 0-1-.4-1-1s.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1zM13 13H4c-.6 0-1-.4-1-1s.4-1 1-1h9c.6 0 1 .4 1 1s-.4 1-1 1zM18 20c-.6 0-1-.4-1-1v-8c0-.6.4-1 1-1s1 .4 1 1v8c0 .6-.4 1-1 1z" fill="%23000000" opacity="1" data-original="%23000000" class=""></path><path d="M18 20c-.3 0-.5-.1-.7-.3l-3-3c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l2.3 2.3 2.3-2.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-3 3c-.2.2-.4.3-.7.3zM16 8H4c-.6 0-1-.4-1-1s.4-1 1-1h12c.6 0 1 .4 1 1s-.4 1-1 1z" fill="%23000000" opacity="1" data-original="%23000000" class=""></path></g></svg>');
    margin-right: .375rem;
    display: block;
    width: 1em;
    height: 1em;
    font-size: 1.5rem;
    line-height: 1;
    order: initial;
}
.selector_sort .selector__choice::after {
    display: none;
}
.selector_sort .selector__list {
    right: 0;
    background: #fff;
}
.selector_sort .selector__item:hover {
    color: var(--color-light);
}
/* end Selector component */

/* Group */
.group {
    display: grid;
    grid-gap: var(--gap);
    justify-content: start;
}
.group__icon {
    grid-column: 1;
    grid-row: 1 / 2;
    margin-right: .625rem;
    font-size: 1.75em;
    line-height: 1;
}
.group__title {
    grid-column: auto;
    grid-row: 1;
    align-self: center;
}
.group:has(.group__text) .group__icon {
    grid-row: 1 / 3;
}
.group_footer .group__title {
    opacity: .6;
}
.group__text {
    grid-column: auto;
    grid-row: 2;
}
/* end Group */

.to-top {
    position: fixed;
    bottom: 1.5rem;
    left: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    background: var(--color-light);
    box-shadow: 0 .25rem .75rem 0 #0001;
    cursor: pointer;
    /*visibility: hidden;*/
    transform: translateY(200%);
    transition: .3s;
    z-index: 1;
}
.to-top::before {
    content: '›';
    position: relative;
    bottom: -20%;
    transform: rotate(-90deg) translateY(-4%);
    font-size: 2.5rem;
    transition: .2s bottom .15s;
    color: var(--color-primary-alt);
}
.to-top:hover {
    box-shadow: 0 .125rem .25rem 0 #0001;
}
.to-top.shown {
    transform: none;
    /*visibility: visible;*/
}
.to-top.shown::before {
    bottom: 0;
}

.has-error {
    color: #f00;
    border-color: #f77;
}
.has-error > * {
    --form-control-bg: #f772 !important;
    border-color: inherit !important;
    color: inherit !important;
}

.filter {
    /* position: fixed;
     top: 0;
     left: 0;
     border-radius: 0;
     max-width: inherit;
     transition: .3s;
     z-index: 2;
     transform: translateX(calc(-1rem - 100%));*/
}
.filter.shown {
    transform: none;
}

.filter__form {
    /*display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));*/
}

.filter__caption {
    position: sticky;
    top: -1.5rem;
    margin: -1.5rem -1.5rem 0 -1.5rem;
    border-bottom: 1px solid #ccc;
    padding: 1.5rem;
    font-size: clamp(1rem, 2vw, 1.125rem);
    font-weight: 600;
    background: #fffb;
    backdrop-filter: blur(3px);
}
.filter__title {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    font-weight: 600;
}
.filter__control {
    display: block;
    border-radius: .375rem;
    padding: .75rem;
    min-width: 3.125rem;
    color: #797979;
    background: #f2f2f2;
    box-shadow: 0 0 0 1px #e8e8e8 inset;
    transition: .3s;
}
.filter__control::placeholder,
.filter__control input::placeholder {
    color: #aaa;
}
.filter__control:hover {
    box-shadow: 0 0 0 1px #ccc inset;
}

.filter__btn {
    border-radius: .375rem;
    padding-bottom: .75em;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    font-family: inherit;
    text-transform: initial;
}

@media screen and (min-width: 1024px) {
    .filter {
        position: static;
        transform: none;
        display: block;
        border-radius: .75rem;
    }
    .filter__caption {
        display: none;
    }
}
@media screen and (min-width: 1536px) {
    .filter__control { padding: .875rem; }
}

*:has(>.payment-qr) {
    position: relative;
}
.payment-qr {
    max-width: 360px;
    width: 100%;
    overflow: hidden;
}
.payment-qr img {
    margin: -2.5%;
    display: block;
    width: 105%;
}
@media screen and (min-width: 1024px) {
    .payment-qr {
        position: absolute;
        bottom: var(--tile-space);
        right: var(--tile-space);
        max-width: clamp(5rem, 13vw, 10rem);
    }
}

.social {
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    grid-gap: .75rem;
    font-size: 1rem;
}
.social__link {
    display: flex;
    justify-content: center;
    align-items: center;
    /*border-radius: 1rem;
    width: 1.625em;
    height: 1.625em;
    color: var(--color-primary);
    background: var(--color-secondary);*/
    font-size: 1.125em;
    /*color: var(--color-secondary);*/
    opacity: .7;
    transition: .3s;
}
.social__link:hover {
    /*color: #fff;
    background: #777;*/
    opacity: 1;
}
.social__link_vk {
    font-size: 1.25em;
}

.social_header .social__link {
    color: var(--color-primary);
    /*color: var(--color-light);
    background: var(--color-primary);*/
    opacity: .8;
}
.social_header .social__link:hover {
    opacity: 1;
}
/* end Components */

/* Product cards */
.product-card {
    border-radius: 1rem;
    box-shadow: 0 .125rem 1.25rem 0 #0001;
}
.product-card__container {
    border-radius: inherit;
    overflow: hidden;
    background: #fff;
}
.product-card__title {
    font-size: 1.375rem;
    font-weight: 600;
    text-transform: uppercase;
}
.product-card__image {
    position: relative;
}
.product-card__label {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: .125rem .5rem;
    border-radius: .375rem;
    font-size: 1.125rem;
    font-weight: 600;
    background: #fff;
    z-index: 1;
}
.product-card__features {
    display: grid;
    grid-gap: .25rem;
    color: #848484;
}
.product-card__content {
    display: grid;
    grid-gap: .75rem;
    padding: .75rem 1rem 1rem;
}
.product-feature__item {
    display: flex;
    align-items: baseline;
}
.product-feature__item::before {
    content: '';
    margin: 0 .75rem;
    border-bottom: 1px dashed currentColor;
    flex-grow: 1;
    order: 1;
    opacity: .4;
}
.product-feature__item span:last-child {
    order: 1;
}
.product-card__price {
    display: flex;
    justify-content: space-between;
}
.product-price {
    font-weight: 700;
}
.product-price::before {
    content: 'от ';
    font-weight: initial;
}
.product-price::after {
    content: ' ₽';
}
/* end Product cards */

/* Temporary */
/*.nav-list_root {
    display: flex;
}
.nav-list_root li {
    flex-grow: 1;
}
.nav-list_root a {
    display: block;
    padding: .875rem 1rem;
}*/

.main-poster {
    padding: 1rem 0;
    aspect-ratio: 9/4;
    display: block;
    min-height: 30rem;
    background-size: cover;
    background-position: center;
}
.main-poster__container {
    display: flex;
    height: 100%;
}
/* end Temporary */

/* Index page */
.problem-tile {
    position: relative;
    border-radius: .75rem;
    padding: 1.5rem 1.25rem;
    /*max-width: 480px;*/
    max-width: clamp(420px, 31vw, 450px);
    font-size: clamp(.875rem, 1.125vw, 1rem);
    background: #1115;
    backdrop-filter: blur(10px);
    box-shadow: 0 0 0 1px #333;
}
.problem-tile__icon {
    font-size: 2.25rem;
    color: var(--color-secondary);
}
.problem-tile__title {
    margin-bottom: .5rem;
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: uppercase;
}

@media screen and (min-width: 1280px) {
    .problem-tile {
        padding: 1.5rem;
    }
}

.help-link {
    display: block;
    width: clamp(10rem, 14vw, 15rem);
}

.review {
    /*border: 1px solid #eee;*/
    display: grid;
    grid-gap: 1.125rem;
    box-shadow: 0 .125rem 1.25rem 0 #0001;
}
.review__top {
    display: flex;
    justify-content: space-between;
    line-height: 1;
    color: #777;
}
.review__date {
    opacity: .6;
}
.review__person {
    font-weight: 600;
}
.review__title {
    font-size: 1.125rem;
    font-weight: 600;
}
.review__media {
    border-radius: .5rem;
    overflow: hidden;
}
/* end Index page */

/* Project page */
.tabs {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    border-radius: 1rem;
    padding: .5rem;
    background: var(--color-light);
}
.tabs__item {
    border-radius: .75rem;
    padding: .75rem 1.5rem;
    color: #888;
    cursor: pointer;
}
.tabs__item.active {
    font-weight: 500;
    color: var(--color-light);
    background: var(--color-secondary);
}

.project-type {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed #aaa;
    color: #666;
}
.project-type__price {
    margin-left: 1.5rem;
    font-size: clamp(1rem, 1.75vw, 1.75rem);
    font-weight: 600;
    color: #000;
}

.project-type-previews {
    margin: calc(var(--gap) * -.5) 0;
}
.project-type-preview {
    /*border-bottom: 1px dashed #aaa;*/
}
.project-type-preview::after {
    content: '';
    display: block;
    background: linear-gradient(to right, black 6px, transparent 6px);
    background-size: 12px 1px;
    height: 1px;
    opacity: .2;
}
.project-type-preview__top {
    padding: calc(var(--gap) * .5) 0;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
}
.project-type-preview__content {
    /*margin-top: -.4em;*/
    color: #666;
}
.project-type-preview__content::after {
    content: '';
    display: block;
    height: calc(var(--gap) * .5);
}

@media screen and (min-width: 768px) {
    .project-type-preview__top { font-size: 1.25rem; }
}

.project-type-picture {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
}
.project-type-picture__caption {
    position: absolute;
    top: 1rem;
    left: 1rem;
    border: 1px solid #fff3;
    border-radius: 1.75rem;
    padding: .5rem 1rem .125rem;
    max-width: calc(100% - 2rem);
    font-size: clamp(1.25rem, 2.25vw, 2rem);
    font-family: var(--font-secondary);
    line-height: 1.2;
    color: var(--color-light);
    text-transform: uppercase;
    background: #2227;
    backdrop-filter: blur(5px);
}

.project-types-details {
    border-radius: 1rem;
    border-collapse: collapse;
    width: 100%;
    text-align: center;
    box-shadow: 0 0 0 1px #2a2a2a inset, 0 0 0 1px #2a2a2a;
    overflow: hidden;
}
.project-types-details__header {
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-light);
    background: #2a2a2a;
}
.project-types-details__header th:first-of-type {
    border-radius: 1rem 0 0 0;
}
.project-types-details__header th:last-of-type {
    border-radius: 0 1rem 0 0;
}
.project-types-details td, .project-types-details th {

}
.project-types-details th {
    padding: 1rem .75rem;
    border: 1px solid #2a2a2a;
    /*border-right: 1px dashed #9997;*/
}
.project-types-details td {
    padding: .75rem;
    border: 1px dashed #9997;
    background: #f8f8f8;
}
.project-types-details td:first-of-type {
    text-align: initial;
}
.project-types-details td:first-of-type {
    font-weight: 600;
    width: fit-content;
}
.project-types-details tr:last-child td:first-child { border-radius: 0 0 0 1rem; }
.project-types-details tr:last-child td:last-child { border-radius: 0 0 1rem 0; }
.project-types-details [data-has]::before {
    content: '+';
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    padding-bottom: .125em;
    width: 2rem;
    height: 2rem;
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1;
    color: var(--color-light);
    background: var(--color-secondary);
}
/* end Project page */


/* Filter */
.sidebar {
    position: relative;
    padding: 0;
    max-width: var(--sidebar);
    height: 100%;
}
*:has(>.sidebar) {
    flex-wrap: initial;
    flex-direction: column;
}

@media screen and (min-width: 768px) {
    :root { --sidebar: 380px; }
}
@media screen and (min-width: 1024px) {
    /*.sidebar { padding: calc(var(--gap, 0) * .5); }*/
    *:has(>.sidebar) {
        flex-direction: initial;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 1536px) {
    :root { --sidebar: 400px; }
}

.tile_sidebar {
    padding: 1.5rem;
    box-shadow: 0 .125rem 1.25rem 0 #0001;
}

.form__control_checkbox {
    /*display: inline-block;*/
    justify-content: center;
    text-align: center;
    cursor: pointer;
}
.form__control_checkbox input {
    display: none;
}
.form__control_checkbox:has([type="checkbox"]:checked) {
    color: var(--color-light);
    background: var(--color-primary);
    box-shadow: none;
}

.sort-btn {
    display: inline-grid;
    grid-auto-flow: column;
    grid-gap: .5rem;
    white-space: nowrap;
}


/* Tags */
.tags {
    --tags-gap: .75rem;
    margin: calc(var(--tags-gap) * -.5);
    display: flex;
    flex-wrap: wrap;
}
.tags__item {
    padding: calc(var(--tags-gap) * .5);
}
.tags__link {
    display: block;
    border-radius: .75rem;
    padding: .5rem 1rem .625rem;
    background: #e8e8e8;
    transition: .3s;
}
.tags__link:hover {
    color: var(--color-light);
    background: #212121;
}
/* end Tags */

/* Header */
.header {
    position: sticky;
    top: 0;
    padding-top: 1rem;
    z-index: 2;
}
.header__container {
    border-radius: 1rem;
    padding: 1rem 1.125rem;
    background: #fffe;
    backdrop-filter: blur(3px);
    box-shadow: 0 .125rem .5rem -.25rem #0002;
}
.header__phone {
    font-size: 1.125rem;
    line-height: 1;
    color: var(--color-primary);
}
.header__workmode {
    /*display: none;*/
    font-size: .875rem;
    line-height: 1.25;
    color: #777;
    /*opacity: .5;*/
}
.header_top {
    padding: .75rem 0;
    font-size: .875rem;
    color: #999;
}
.header_top a { transition: .3s; }
.header_top a:hover { color: #555; }
.header_top a[href*="booking"] {
    color: var(--color-primary-alt);
}
/*.header__callback {
    margin-top: .25rem;
}*/
.header_nav {
    padding: .75rem 0;
    background: #fffe;
    /*backdrop-filter: blur(3px);*/
    box-shadow: 0 1px 0 0 #eaeaea;
    transition: .5s;
}
.header_nav > * {
    position: relative;
    z-index: 1;
}
.header_nav::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(3px);
}
.header__logo {
    display: none;
    width: 100%;
    /*max-width: clamp(10rem, 12vw, 12rem);*/
    max-height: clamp(2.5rem, 3.5vw, 3rem);
}
.header__logo_alt {
    display: block;
    width: fit-content;
}
.header-logo {
    display: flex;
}
.header-logo__img {
    font-size: 10rem;
    width: 1em;
    height: .3em;
}
.header-logo__text {
    display: flex;
    flex-direction: column;
    margin-left: .75rem;
    border-left: 1px solid currentColor;
    padding-left: .75rem;
    /*font-size: .75rem;*/
    font-size: clamp(.5rem, 0.875vw, .75rem);
    font-weight: 500;
    line-height: 1.25;
    text-transform: uppercase;
}
.logo-link { display: block; }

@media screen and (min-width: 1024px) {
    .header_nav { padding: 1rem 0; }
    .header_nav_active { padding: .75rem 0; }
    .header__workmode { display: block; }
}
@media screen and (min-width: 1280px) {
    .header__logo { display: block; }
    .header__logo_alt { display: none; }
    .header__phone { font-size: 1.25rem; }
    .header__workmode { font-size: 1rem; }
}

/* Tmp */
.c:has(.nav) {
    position: absolute;
    /*display: none;*/
}
.nav ul {
    /*display: grid;
    grid-auto-flow: column;
    grid-gap: clamp(1rem, 1.7vw, 1.5rem);*/
    /*text-transform: uppercase;*/
    /*font-weight: 600;*/
}
@media screen and (min-width: 1024px) {
    .c:has(.nav) {
        position: initial;
        /*display: block;*/
    }
}
/* end Tmp */

/* end Header */

/* Footer */
.footer {
    padding-bottom: 0;
    color: var(--color-light);
    background: var(--color-secondary);
    font-weight: 300;
}
.footer__header {
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 1.25rem;
    color: #fff7;
}
.footer__logo {
    /*margin-bottom: 2rem;*/
    width: clamp(10rem, 12vw, 12rem);
}
.footer__copy {
    margin-top: 2rem;
    padding: 1.25rem 0;
    font-weight: 400;
    text-align: center;
    background: #444;
    color: #fff8;
}
.footer__title {
    margin-bottom: 1rem;
    /*font-size: .9rem;*/
    font-weight: 400;
    color: #999;
    white-space: nowrap;
}
.footer__links a {
    transition: .3s;
}
.footer__links:has(a:hover) a {
    opacity: .5;
}
.footer__links a:hover {
    opacity: 1 !important;
}
/*.footer__links_contacts {
    font-weight: 400;
}*/
.footer__social {
    font-size: 1.375rem;
}

@media screen and (min-width: 640px) {
    .footer__group { order: 1; }
    .footer__copy {
        font-size: .875rem;
        padding: .75rem 0;
    }
}
@media screen and (min-width: 768px) {
    .footer { font-size: .875rem; }
    .footer__header { margin-bottom: 1.5rem; }
}
@media screen and (min-width: 1024px) {
    .footer__group {
        order: initial;
    }
}
/* end Footer */

/* Other */
[id^="wait_comp_"], .grecaptcha-badge { display: none !important; }

.resize-animation-stopper * {
    animation: none !important;
    transition-property: none !important;
}
/* end Other */
/* End */
/* /local/templates/main/assets/fonts/Montserrat/stylesheet.css?17736866726711 */
/* /local/templates/main/assets/css/jquery.modal.min.css?17736866723201 */
/* /local/templates/main/components/bitrix/menu/main/style.css?177572035516066 */
/* /local/components/custom/modal/assets/css/default.css?17736866752614 */
/* /local/components/custom/modal/templates/.default/style.css?1773686675497 */
/* /local/templates/main/components/custom/modal/booking/style.css?1779280931490 */
/* /local/templates/main/template_styles.css?177918396745559 */
