@font-face {
	font-display: swap;
	font-family: 'ys';
	font-weight: 400;
	font-style: normal;
	src: url('/yastatic/s3/home/fonts/ys/4/text-regular.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'ys';
	font-weight: 400;
	font-style: italic;
	src: url('/yastatic/s3/home/fonts/ys/4/text-regular-italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'ys';
	font-weight: 500;
	font-style: normal;
	src: url('/yastatic/s3/home/fonts/ys/4/text-medium.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'ys';
	font-weight: 700;
	font-style: normal;
	src: url('/yastatic/s3/home/fonts/ys/4/text-bold.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'ys-wide';
	font-weight: 800;
	font-style: normal;
	src: url('/yastatic/s3/home/fonts/ys/4/text-wide-heavy.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'ys-wide';
	font-weight: 500;
	font-style: normal;
	src: url('/yastatic/s3/home/fonts/ys/4/text-wide-medium.woff2') format('woff2');
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	/* outline: 1px solid #f00; */
}

:root {
	--col-white: #fff;
	--col-lightgrey: #ccc;
	--col-grey: #999;
	--col-black: #000;
	--col-orange: #f90;
	--col-blue: #0cf;
	--col-skin: #f3ece6;
	--col-darkskin: #736c66;
	--col-blackskin: #753;

	--col-bg-glass: #fffc;
	--col-text-glass: #0009;
	--col-block-shadow: #0001;
	--col-tip-shadow: #0003;
	--col-marker-shadow: #fffc;

	--back-filter: blur(5px);

	--size-font: 16px;
	--width: min(790px, calc(100% - 2rem));
	--width-wide: min(1000px, calc(100% - 2rem));

	@media (max-width: 500px) {
		--size-font: 14px;
	}
}

html {
	font-family: 'ys', sans-serif;
	font-weight: 400;
	font-size: var(--size-font);

	#rs-root {
		font-size: 1rem;
		line-height: 1.5rem;

		background-color: var(--col-white);
		color: var(--col-black);

		em {
			font-style: italic;
		}

		strong {
			font-weight: 700;
		}

		img, svg {
			display: block;
			width: 100%;
			height: auto;
		}
	}
}

@keyframes ymaps3--controls-spinner-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.ymaps3--controls-spinner {
    position: relative;

    display: block;

    width: 16px;
    height: 16px;
    margin: 4px;

    animation-name: ymaps3--controls-spinner-spin;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.ymaps3--controls-spinner__circle {
    position: absolute;
    top: 0;
    left: 50%;

    overflow: hidden;

    width: 100%;
    height: 100%;

    color: #000;
}

.ymaps3--controls-spinner__dark {
    color: #fff;
}

.ymaps3--controls-spinner__circle::before {
    position: absolute;
    top: 0;
    left: -50%;

    width: 100%;
    height: 100%;

    content: '';

    border-radius: 100%;
    box-shadow: inset 0 0 0 2px;
}

.ymaps3--geolocation-control {
    display: block;

    width: 24px;
    height: 24px;

    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuMzE1IDYuNzNjLS40ODIuMjI3LS4zOS45NC4xMzQgMS4wMzdsNC4wNi43MjQuNzIzIDQuMDZjLjA5OC41MjUuODEuNjE3IDEuMDM3LjEzNWw0LjY3NS05LjlhLjU1LjU1IDAgMCAwLS43MzItLjczbC05LjkgNC42NzRoLjAwMnoiIGZpbGw9IiM0ZDRkNGQiLz48L3N2Zz4K) center / 24px 24px no-repeat;
}

.ymaps3--geolocation-control__dark {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuMzE1IDYuNzNjLS40ODIuMjI3LS4zOS45NC4xMzQgMS4wMzdsNC4wNi43MjQuNzIzIDQuMDZjLjA5OC41MjUuODEuNjE3IDEuMDM3LjEzNWw0LjY3NS05LjlhLjU1LjU1IDAgMCAwLS43MzItLjczbC05LjkgNC42NzRoLjAwMnoiIGZpbGw9IiNjY2NjY2MiLz48L3N2Zz4K) center / 24px 24px no-repeat;
}

.ymaps3--geolocation-control-is-loading {
    height: auto;

    background: inherit;
}

.ymaps3--geolocation-control-self {
    display: block;

    width: 40px;
    height: 40px;

    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2IDI4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMjIuNjI3IDQgMTYgNCA0IDkuMzczIDQgMTZzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE2IDI1YTkgOSAwIDEgMCAwLTE4IDkgOSAwIDAgMCAwIDE4WiIgZmlsbD0iI0Y0MyIvPjwvc3ZnPgo=) center / 24px 24px no-repeat;

    transform: translate(-50%, -50%);
}

.ymaps3--rotate-control {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
    width: 56px;
    height: 56px;

    font-size: 19px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;

    color: #34374a;
    border-radius: 50%;
    background-color: #fff;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0NDQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNDggMjRhMiAyIDAgMSAwIDAgNCAyIDIgMCAwIDAgMC00TTAgMjZhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwbTIzLjAwNCAyMy4wMDRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRjQzIiBkPSJNMjQuODIxLjM1OGEuMi4yIDAgMCAxIC4zNTggMGwyLjY3NiA1LjM1M2EuMi4yIDAgMCAxLS4xNzguMjloLTUuMzUzYS4yLjIgMCAwIDEtLjE4LS4yOXoiLz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: center;
    background-size: calc(56px - 4px * 2); /* 4px as border width */
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
}

.ymaps3--rotate-control:hover {
    color: #050d33;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdCN0Q4NSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNDggMjRhMiAyIDAgMSAwIDAgNCAyIDIgMCAwIDAgMC00TTAgMjZhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwbTIzLjAwNCAyMy4wMDRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRjQzIiBkPSJNMjQuODIxLjM1OGEuMi4yIDAgMCAxIC4zNTggMGwyLjY3NiA1LjM1M2EuMi4yIDAgMCAxLS4xNzguMjloLTUuMzUzYS4yLjIgMCAwIDEtLjE4LS4yOXoiLz48L3N2Zz4=);

    transition:
        color,
        background-image 0.4s;
}

.ymaps3--rotate-tilt_rotate {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    width: 56px;
    height: 56px;

    -webkit-user-select: none;

       -moz-user-select: none;

            user-select: none;
}

.ymaps3--rotate-tilt_rotate__ring {
    position: absolute;

    box-sizing: border-box;
    width: 100%;
    height: 100%;

    cursor: pointer;
    pointer-events: all;

    border: 10px solid #fff;
    border-radius: 50%;
    box-shadow:
        inset 0 2px 6px 0 rgba(0, 0, 0, 0.2),
        0 2px 6px 0 rgba(0, 0, 0, 0.2);
}

.ymaps3--rotate-tilt_rotate__ring::before {
    position: absolute;

    width: 56px;
    height: 56px;

    content: '';

    border-radius: 50%;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0NDQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNDggMjRhMiAyIDAgMSAwIDAgNCAyIDIgMCAwIDAgMC00TTAgMjZhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwbTIzLjAwNCAyMy4wMDRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRjQzIiBkPSJNMjQuODIxLjM1OGEuMi4yIDAgMCAxIC4zNTggMGwyLjY3NiA1LjM1M2EuMi4yIDAgMCAxLS4xNzguMjloLTUuMzUzYS4yLjIgMCAwIDEtLjE4LS4yOXoiLz48L3N2Zz4=) center no-repeat;

    transform: translate(-10px, -10px); /* 10px as border width */
}

.ymaps3--rotate-tilt_rotate__ring:hover::before {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdCN0Q4NSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNDggMjRhMiAyIDAgMSAwIDAgNCAyIDIgMCAwIDAgMC00TTAgMjZhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwbTIzLjAwNCAyMy4wMDRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRjQzIiBkPSJNMjQuODIxLjM1OGEuMi4yIDAgMCAxIC4zNTggMGwyLjY3NiA1LjM1M2EuMi4yIDAgMCAxLS4xNzguMjloLTUuMzUzYS4yLjIgMCAwIDEtLjE4LS4yOXoiLz48L3N2Zz4=) center no-repeat;

    transition: background 0.4s;
}

.ymaps3--rotate-tilt_rotate__container {
    z-index: 1;
}

.ymaps3--rotate-tilt_tilt {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 32px;
    height: 32px;

    font-size: 16px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    pointer-events: all;

    color: #4d4d4d;
    border-radius: 50%;
    background-color: #fff;
}

.ymaps3--rotate-tilt_tilt:hover {
    color: #050d33;
}

.ymaps3--rotate-tilt_tilt__tilted {
    color: #fff;
    background-color: #196dff;

    transition: background-color 0.4s;
}

.ymaps3--rotate-tilt_tilt__tilted:hover {
    color: #fff;
}

.ymaps3--rotate-tilt_tilt__in-action {
    cursor: grabbing;
}

.ymaps3--suggest-control {
    display: flex;
    flex-direction: column;
    gap: 12px 0;

    padding: 12px 4px;
    border-radius: 12px;

    box-shadow:
        0px 4px 24px 0px rgba(95, 105, 131, 0.04),
        0px 4px 12px 0px rgba(95, 105, 131, 0.1);
    background-color: rgb(255, 255, 255);
}

.ymaps3--suggest-control._dark {
    background-color: #111;
}

.ymaps3--suggest-control._bottom {
    flex-direction: column-reverse;
}

.ymaps3--suggest-control._hide {
    display: none;
}

.ymaps3--suggest-item-control {
    cursor: pointer;

    display: flex;
    flex-direction: column;
    gap: 4px 0;

    padding: 6px 12px;
    box-sizing: border-box;
    border-radius: 6px;
}

.ymaps3--suggest-item-control._active {
    background-color: #5c5e660a;
}

.ymaps3--suggest-item-control._active._dark {
    background-color: #9c9fa90a;
}

.ymaps3--suggest-item-control__title {
    font-size: 16px;
    font-weight: 600;
}

.ymaps3--suggest-item-control__title._dark {
    color: #fff;
}

.ymaps3--suggest-item-control__subtitle {
    color: #6e7077;
}

.ymaps3--suggest-item-control__subtitle._dark {
    color: #868892;
}

.ymaps3--route-control_waypoint-input {
    display: flex;
    flex-direction: column;
    position: relative;
}

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input_form {
        display: flex;
        flex-direction: row;
        padding: 4px 4px 4px 2px;
        position: relative;
        align-items: center;
        align-self: stretch;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input_suggest {
        position: absolute;
        top: 48px;
        z-index: 1000;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input_suggest._bottom {
            top: unset;
            bottom: 48px;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__indicator {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 12px;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__indicator.ymaps3--route-control_waypoint-input__indicator_empty {
            color: #c8c9cc !important;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field {
        box-sizing: border-box;
        height: 40px;
        padding: 12px;
        border: none;
        border-radius: 8px;
        background: #f6f6f6;
        flex-grow: 1;
        color: #000000;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus {
            border: 1px solid #196dff;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field-buttons {
        display: none;
        position: relative;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus + .ymaps3--route-control_waypoint-input__field-buttons {
        display: inline-block;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus:-moz-placeholder-shown
        + .ymaps3--route-control_waypoint-input__field-buttons .ymaps3--route-control_waypoint-input__field-buttons__location {
            display: flex;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus:placeholder-shown
        + .ymaps3--route-control_waypoint-input__field-buttons .ymaps3--route-control_waypoint-input__field-buttons__location {
            display: flex;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus:not(:-moz-placeholder-shown)
        + .ymaps3--route-control_waypoint-input__field-buttons .ymaps3--route-control_waypoint-input__field-buttons__reset {
            display: flex;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field:focus:not(:placeholder-shown)
        + .ymaps3--route-control_waypoint-input__field-buttons .ymaps3--route-control_waypoint-input__field-buttons__reset {
            display: flex;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field-buttons__location {
        /* display: flex; */
        display: none;
        padding: 8px;
        justify-content: center;
        align-items: center;
        position: absolute;
        transform: translate(-36px, -50%);
        border-radius: 8px;
        background: none;
        outline: none;
        border: none;
        cursor: pointer;
        color: #196dff;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field-buttons__location:hover {
            background: #122db20a;
            color: #3c83ff;
        }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field-buttons__reset {
        /* display: flex; */
        display: none;
        padding: 8px;
        justify-content: center;
        align-items: center;
        position: absolute;
        transform: translate(-36px, -50%);
        border-radius: 8px;
        background: none;
        outline: none;
        border: none;
        cursor: pointer;
        color: #878787;
    }

    .ymaps3--route-control_waypoint-input .ymaps3--route-control_waypoint-input__field-buttons__reset:hover {
            background: #122db20a;
        }

/* dark theme styles */
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field {
        background: #111111;
        color: #cccccc;
    }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field:focus {
            border: 1px solid #3d7eff;
        }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__indicator_empty {
        color: #666666 !important;
    }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field-buttons__location {
        color: #3d7eff;
    }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field-buttons__location:hover {
            background: #7d90f012;
            color: #5794ff;
        }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field-buttons__reset {
        color: #999999;
    }
.ymaps3--route-control_waypoint-input._dark-input .ymaps3--route-control_waypoint-input__field-buttons__reset:hover {
            background: #7d90f012;
        }

.ymaps3--route-control {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .ymaps3--route-control.ymaps3--route-control_bottom {
        flex-direction: column-reverse;
    }

    .ymaps3--route-control svg {
        display: block;
    }

.ymaps3--route-control_parameters {
    box-sizing: border-box;
    display: flex;
    width: 330px;
    padding: 12px;
    flex-direction: column;
    gap: 12px;
    border-radius: 12px;
    background: #fff;
    box-shadow:
        0px 4px 12px 0px rgba(95, 105, 131, 0.1),
        0px 4px 24px 0px rgba(95, 105, 131, 0.04);
}

.ymaps3--route-control_parameters svg {
        display: block;
    }
.ymaps3--route-control_info {
    box-sizing: border-box;
    display: flex;
    width: 330px;
    padding: 12px 16px;
    align-items: flex-start;
    gap: 20px;
    border-radius: 12px;
    border: 1px solid #eee;
    background: #fff;

    box-shadow:
        0px 4px 12px 0px rgba(95, 105, 131, 0.1),
        0px 4px 24px 0px rgba(95, 105, 131, 0.04);
}
.ymaps3--route-control_info.ymaps3--route-control_info__error {
        padding: 20px 16px;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

.ymaps3--route-control_modes {
    width: 100%;
    padding: 4px;
}

.ymaps3--route-control_modes .ymaps3--route-control_modes__container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 5px;
        padding: 2px;
        border-radius: 8px;
        background: #f6f6f6;
    }

.ymaps3--route-control_modes input[type='radio'] {
        display: none;
    }

.ymaps3--route-control_modes label {
        display: flex;
        justify-content: center;
        flex-grow: 1;
        padding: 6px;
        border-radius: 8px;
        cursor: pointer;
        color: #878787;
    }

.ymaps3--route-control_modes input[type='radio']:checked + label {
        background: #fff;
        box-shadow:
            0px 4px 12px 0px rgba(95, 105, 131, 0.1),
            0px 4px 24px 0px rgba(95, 105, 131, 0.04);
        color: #000000;
    }

.ymaps3--route-control_waypoints {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ymaps3--route-control_actions {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.ymaps3--route-control_actions button {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding: 8px 0px;
        background: none;
        border: none;
        color: #196dff;
        text-align: center;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 16px;
        cursor: pointer;
    }

.ymaps3--route-control_actions button:hover {
            color: #2e4ce5;
        }

.ymaps3--route-control_actions button:disabled {
            color: #cccccc;
        }

@keyframes ymaps3--spinner_rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.ymaps3--route-control_info_loading {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #34374a;
}

.ymaps3--route-control_info_loading svg {
        position: relative;
        animation: ymaps3--spinner_rotate 1.5s linear infinite;
    }

.ymaps3--route-control_info_container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ymaps3--route-control_info_container .ymaps3--route-control_info_container__label {
        color: #878787;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
    }

.ymaps3--route-control_info_container .ymaps3--route-control_info_container__value {
        color: #000000;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 28px;
    }

.ymaps3--route-control_info_error__icon {
    display: flex;
    padding: 10px;
    gap: 10px;
    border-radius: 12px;
    background: #ffeceb;
}

.ymaps3--route-control_info_error__text-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.ymaps3--route-control_info_error__label {
    color: #000000;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.ymaps3--route-control_info_error__description {
    color: #878787;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.ymaps3--route-control_info_error__button {
    padding: 8px 12px;
    border-radius: 8px;
    border: none;
    background-color: #196dff;
    color: #ffffff;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
    cursor: pointer;
}

.ymaps3--route-control_info_error__button:hover {
        background-color: #2e4ce5;
    }

/* dark theme styles */
.ymaps3--route-control._dark .ymaps3--route-control_parameters {
        background: #212326;
        box-shadow:
            0px 4px 12px 0px rgba(18, 20, 26, 0.22),
            0px 4px 24px 0px rgba(18, 20, 26, 0.14);
    }
.ymaps3--route-control._dark .ymaps3--route-control_modes .ymaps3--route-control_modes__container {
            background: #111111;
        }
.ymaps3--route-control._dark .ymaps3--route-control_modes input[type='radio']:checked + label {
            background: #212326;
            color: #cccccc;
        }
.ymaps3--route-control._dark .ymaps3--route-control_actions button {
        color: #3d7eff;
    }
.ymaps3--route-control._dark .ymaps3--route-control_actions button:disabled {
            color: #666666;
        }
.ymaps3--route-control._dark .ymaps3--route-control_info {
        border: 1px solid #393e46;
        background: #212326;
        box-shadow:
            0px 4px 12px 0px rgba(18, 20, 26, 0.22),
            0px 4px 24px 0px rgba(18, 20, 26, 0.14);
    }
.ymaps3--route-control._dark .ymaps3--route-control_info .ymaps3--route-control_info_container__value {
            color: #cccccc;
        }
.ymaps3--route-control._dark .ymaps3--route-control_info .ymaps3--route-control_info_error__icon {
            background: #4f1f24;
        }
.ymaps3--route-control._dark .ymaps3--route-control_info .ymaps3--route-control_info_error__label {
            color: #cccccc;
        }
.ymaps3--route-control._dark .ymaps3--route-control_info .ymaps3--route-control_info_loading {
            color: #f2f5fa;
        }

.ymaps3--search-control {
    display: flex;
    flex-direction: column;
    gap: 4px 0;

    width: 320px;
}

.ymaps3--search-control._bottom {
    flex-direction: column-reverse;
}

.ymaps3--search-control__form {
    position: relative;
}

.ymaps3--search-control__input {
    outline: none;
    border: none;
    box-sizing: border-box;

    width: 100%;
    height: 48px;

    padding-left: 16px;
    padding-right: 50px;

    font-size: 16px;

    border-radius: 12px;
    box-shadow:
        0px 2px 4px 0px rgba(95, 105, 131, 0.2),
        0px 0px 2px 0px rgba(95, 105, 131, 0.08);
}

.ymaps3--search-control__input:focus {
    box-shadow:
        0px 2px 12px 0px rgba(95, 105, 131, 0.2),
        0px 0px 6px 0px rgba(95, 105, 131, 0.08);
}

.ymaps3--search-control__input::-moz-placeholder {
    color: #7b7d85;
}

.ymaps3--search-control__input::placeholder {
    color: #7b7d85;
}

.ymaps3--search-control__input._dark {
    color: #ccc;
    background-color: #111;
}

.ymaps3--search-control__input._dark::-moz-placeholder {
    color: #92959f;
}

.ymaps3--search-control__input._dark::placeholder {
    color: #92959f;
}

.ymaps3--search-control__clear {
    display: block;
    border: 0;
    outline: 0;

    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);

    cursor: pointer;

    width: 24px;
    height: 24px;

    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTQuMjkzLDE4LjI5MywxMC41ODYsMTIsNC4yOTMsNS43MDdBMSwxLDAsMCwxLDUuNzA3LDQuMjkzTDEyLDEwLjU4Nmw2LjI5My02LjI5M2ExLDEsMCwxLDEsMS40MTQsMS40MTRMMTMuNDE0LDEybDYuMjkzLDYuMjkzYTEsMSwwLDEsMS0xLjQxNCwxLjQxNEwxMiwxMy40MTQsNS43MDcsMTkuNzA3YTEsMSwwLDAsMS0xLjQxNC0xLjQxNFoiIGZpbGw9IiM0ZDRkNGQiLz48L3N2Zz4=) center no-repeat;
}

.ymaps3--search-control__clear._hide {
    display: none;
}

.ymaps3--tilt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 48px;
    height: 48px;

    font-size: 19px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;

    color: #34374a;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 2px 6px 0 rgb(0 0 0 / 20%);
}

.ymaps3--tilt:hover {
    color: #050d33;
}

.ymaps3--tilt_active {
    color: #2e4ce5;

    transition: color 0.4s;
}

.ymaps3--tilt_active:hover {
    color: #2e4ce5;
}

.ymaps3--tilt_indicator_in {
    width: 8px;
    height: 7px;

    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOCA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBpZD0iVmVjdG9yIDU5MyAoU3Ryb2tlKSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjY2Nzk5IDAuNDk0MTFDMy44MjY0OSAwLjI1ODIzIDQuMTczNTEgMC4yNTgyMyA0LjMzMjAxIDAuNDk0MTExTDcuODE1OTMgNS42NzkwMUM3LjkyMjggNS44MzgwNiA3LjkwMTg2IDYuMDUwNTYgNy43NjYgNi4xODU3TDcuMTgxMTMgNi43Njc0NEM3LjA0NTM1IDYuOTAyNDkgNi44MzI5MSA2LjkyMjM2IDYuNjc0NDQgNi44MTQ4M0w0LjMzNjkgNS4yMjg2MkM0LjEzMzUxIDUuMDkwNTkgMy44NjY0OSA1LjA5MDU5IDMuNjYzMSA1LjIyODYyTDEuMzI1NTYgNi44MTQ4M0MxLjE2NzA5IDYuOTIyMzYgMC45NTQ2NDUgNi45MDI0OSAwLjgxODg2OSA2Ljc2NzQ0TDAuMjMzOTk4IDYuMTg1N0MwLjA5ODEzNzcgNi4wNTA1NiAwLjA3NzE5ODkgNS44MzgwNiAwLjE4NDA3MiA1LjY3OTAxTDMuNjY3OTkgMC40OTQxMVoiIGZpbGw9IiNFNEU2RUIiLz4KPC9zdmc+Cg==) center no-repeat;
}

.ymaps3--tilt_indicator_out {
    width: 8px;
    height: 7px;

    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOCA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBpZD0iVmVjdG9yIDU5MyAoU3Ryb2tlKSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjY2Nzk5IDAuNDk0MTFDMy44MjY0OSAwLjI1ODIzIDQuMTczNTEgMC4yNTgyMyA0LjMzMjAxIDAuNDk0MTExTDcuODE1OTMgNS42NzkwMUM3LjkyMjggNS44MzgwNiA3LjkwMTg2IDYuMDUwNTYgNy43NjYgNi4xODU3TDcuMTgxMTMgNi43Njc0NEM3LjA0NTM1IDYuOTAyNDkgNi44MzI5MSA2LjkyMjM2IDYuNjc0NDQgNi44MTQ4M0w0LjMzNjkgNS4yMjg2MkM0LjEzMzUxIDUuMDkwNTkgMy44NjY0OSA1LjA5MDU5IDMuNjYzMSA1LjIyODYyTDEuMzI1NTYgNi44MTQ4M0MxLjE2NzA5IDYuOTIyMzYgMC45NTQ2NDUgNi45MDI0OSAwLjgxODg2OSA2Ljc2NzQ0TDAuMjMzOTk4IDYuMTg1N0MwLjA5ODEzNzcgNi4wNTA1NiAwLjA3NzE5ODkgNS44MzgwNiAwLjE4NDA3MiA1LjY3OTAxTDMuNjY3OTkgMC40OTQxMVoiIGZpbGw9IiNFNEU2RUIiLz4KPC9zdmc+Cg==) center no-repeat;

    transform: rotate(180deg);
}

.ymaps3--tilt_indicator__active {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOCA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBpZD0iVmVjdG9yIDU5MyAoU3Ryb2tlKSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjY2Nzk5IDAuNDk0MTFDMy44MjY0OSAwLjI1ODIzIDQuMTczNTEgMC4yNTgyMyA0LjMzMjAxIDAuNDk0MTExTDcuODE1OTMgNS42NzkwMUM3LjkyMjggNS44MzgwNiA3LjkwMTg2IDYuMDUwNTYgNy43NjYgNi4xODU3TDcuMTgxMTMgNi43Njc0NEM3LjA0NTM1IDYuOTAyNDkgNi44MzI5MSA2LjkyMjM2IDYuNjc0NDQgNi44MTQ4M0w0LjMzNjkgNS4yMjg2MkM0LjEzMzUxIDUuMDkwNTkgMy44NjY0OSA1LjA5MDU5IDMuNjYzMSA1LjIyODYyTDEuMzI1NTYgNi44MTQ4M0MxLjE2NzA5IDYuOTIyMzYgMC45NTQ2NDUgNi45MDI0OSAwLjgxODg2OSA2Ljc2NzQ0TDAuMjMzOTk4IDYuMTg1N0MwLjA5ODEzNzcgNi4wNTA1NiAwLjA3NzE5ODkgNS44MzgwNiAwLjE4NDA3MiA1LjY3OTAxTDMuNjY3OTkgMC40OTQxMVoiIGZpbGw9IiMyRTRDRTUiLz4KPC9zdmc+Cg==) center no-repeat;

    transition: background 0.4s;
}

.ymaps3--tilt_label {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 24px;
    height: 24px;
    padding: 2px 0;
}

.ymaps3--tilt-control__in-action {
    cursor: grabbing;
}

.hide-indicator {
    display: none;
}

.ymaps3--zoom-control {
    display: flex;
}

.ymaps3--zoom-control_vertical {
    flex-direction: column;
}

.ymaps3--zoom-control_horizontal {
    flex-direction: row-reverse;
}

.ymaps3--zoom-control__in {
    display: block;

    width: 24px;
    height: 24px;

    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMSA1Ljk5MmMwLS41MzcuNDQ4LS45OTIgMS0uOTkyLjU1NiAwIDEgLjQ0NCAxIC45OTJWMTFoNS4wMDhjLjUzNyAwIC45OTIuNDQ4Ljk5MiAxIDAgLjU1Ni0uNDQ0IDEtLjk5MiAxSDEzdjUuMDA4YzAgLjUzNy0uNDQ4Ljk5Mi0xIC45OTItLjU1NiAwLTEtLjQ0NC0xLS45OTJWMTNINS45OTJDNS40NTUgMTMgNSAxMi41NTIgNSAxMmMwLS41NTYuNDQ0LTEgLjk5Mi0xSDExVjUuOTkyeiIgZmlsbD0iIzRkNGQ0ZCIvPjwvc3ZnPgo=) center no-repeat;
}

.ymaps3--zoom-control__dark-in {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMSA1Ljk5MmMwLS41MzcuNDQ4LS45OTIgMS0uOTkyLjU1NiAwIDEgLjQ0NCAxIC45OTJWMTFoNS4wMDhjLjUzNyAwIC45OTIuNDQ4Ljk5MiAxIDAgLjU1Ni0uNDQ0IDEtLjk5MiAxSDEzdjUuMDA4YzAgLjUzNy0uNDQ4Ljk5Mi0xIC45OTItLjU1NiAwLTEtLjQ0NC0xLS45OTJWMTNINS45OTJDNS40NTUgMTMgNSAxMi41NTIgNSAxMmMwLS41NTYuNDQ0LTEgLjk5Mi0xSDExVjUuOTkyeiIgZmlsbD0iI2NjY2NjYyIvPjwvc3ZnPgo=) center no-repeat;
}

.ymaps3--zoom-control__out {
    display: block;

    width: 24px;
    height: 24px;

    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01IDEyYTEgMSAwIDAgMSAxLTFoMTJhMSAxIDAgMSAxIDAgMkg2YTEgMSAwIDAgMS0xLTF6IiBmaWxsPSIjNGQ0ZDRkIi8+PC9zdmc+Cg==) center no-repeat;
}

.ymaps3--zoom-control__dark-out {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01IDEyYTEgMSAwIDAgMSAxLTFoMTJhMSAxIDAgMSAxIDAgMkg2YTEgMSAwIDAgMS0xLTF6IiBmaWxsPSIjY2NjY2NjIi8+PC9zdmc+Cg==) center no-repeat;
}

@keyframes ymaps3--popup-marker-show-top {
    from {
        transform: translateY(12px);
        opacity: 0;
    }
    to {
        transform: none;
        opacity: 1;
    }
}

@keyframes ymaps3--popup-marker-show-bottom {
    from {
        transform: translateY(-12px);
        opacity: 0;
    }
    to {
        transform: none;
        opacity: 1;
    }
}

@keyframes ymaps3--popup-marker-show-left {
    from {
        transform: translateX(12px);
        opacity: 0;
    }
    to {
        transform: none;
        opacity: 1;
    }
}

@keyframes ymaps3--popup-marker-show-right {
    from {
        transform: translateX(-12px);
        opacity: 0;
    }
    to {
        transform: none;
        opacity: 1;
    }
}

.ymaps3--popup-marker {
    --ymaps3-default-tail-height: 8px;
    --ymaps3-default-tail-width: 24px;
    --ymaps3-default-border-radius: 12px;

    --ymaps3-default-tail-height-and-offset: calc(var(--ymaps3-default-tail-height) + var(--ymaps3-default-offset));
    --ymaps3-default-popup-tail-rotate-offset: calc(
        var(--ymaps3-default-tail-width) / 2 - var(--ymaps3-default-tail-height) / 2
    );

    --ymaps3-default-popup-tail-transform-top: translate(-50%, calc(-100% - var(--ymaps3-default-offset)))
        rotate(180deg);
    --ymaps3-default-popup-tail-transform-bottom: translate(-50%, var(--ymaps3-default-offset));

    position: absolute;
}

.ymaps3--popup-marker.ymaps3--popup-marker__hide {
        display: none;
    }

.ymaps3--popup-marker svg {
    display: block;
}

.ymaps3--popup-marker_container {
    width: -moz-max-content;
    width: max-content;
    max-width: 500px;
    max-height: 600px;
    display: block;
    position: absolute;
    padding: 8px 12px;
    border-radius: var(--ymaps3-default-border-radius);
    background-color: #fff;
    color: #34374a;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    box-shadow:
        0px 4px 12px 0px #5f69831a,
        0px 4px 24px 0px #5f69830a;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ymaps3--popup-marker_container.ymaps3--popup-marker__dark {
        background-color: #272729;
        color: #c8c9cc;
    }

.ymaps3--popup-marker_tail {
    display: block;
    position: absolute;
    color: #fff;
}

.ymaps3--popup-marker_tail.ymaps3--popup-marker__dark {
        color: #272729;
    }

.ymaps3--popup-marker_tail svg {
        filter: drop-shadow(0px 4px 24px rgba(95, 105, 131, 0.04)) drop-shadow(0px 4px 12px rgba(95, 105, 131, 0.1));
    }

/* positions */
.ymaps3--popup-marker__position-top {
    animation: ymaps3--popup-marker-show-top 200ms ease-out !important;
}
.ymaps3--popup-marker__position-top .ymaps3--popup-marker_container {
        transform: translate(-50%, calc(-100% - var(--ymaps3-default-tail-height-and-offset)));
    }
.ymaps3--popup-marker__position-top .ymaps3--popup-marker_tail {
        transform: var(--ymaps3-default-popup-tail-transform-top);
    }
/* top left */
.ymaps3--popup-marker__position-top.ymaps3--popup-marker__position-left .ymaps3--popup-marker_container {
            transform: translate(
                calc(-100% + var(--ymaps3-default-border-radius) + var(--ymaps3-default-tail-width) / 2),
                calc(-100% - var(--ymaps3-default-tail-height-and-offset))
            );
        }
.ymaps3--popup-marker__position-top.ymaps3--popup-marker__position-left .ymaps3--popup-marker_tail {
            transform: var(--ymaps3-default-popup-tail-transform-top);
        }
/* top right */
.ymaps3--popup-marker__position-top.ymaps3--popup-marker__position-right .ymaps3--popup-marker_container {
            transform: translate(
                calc(-1 * var(--ymaps3-default-border-radius) - var(--ymaps3-default-tail-width) / 2),
                calc(-100% - var(--ymaps3-default-tail-height-and-offset))
            );
        }
.ymaps3--popup-marker__position-top.ymaps3--popup-marker__position-right .ymaps3--popup-marker_tail {
            transform: var(--ymaps3-default-popup-tail-transform-top);
        }

.ymaps3--popup-marker__position-bottom {
    animation: ymaps3--popup-marker-show-bottom 200ms ease-out !important;
}

.ymaps3--popup-marker__position-bottom .ymaps3--popup-marker_container {
        transform: translate(-50%, var(--ymaps3-default-tail-height-and-offset));
    }

.ymaps3--popup-marker__position-bottom .ymaps3--popup-marker_tail {
        transform: var(--ymaps3-default-popup-tail-transform-bottom);
    }

/* bottom left */

.ymaps3--popup-marker__position-bottom.ymaps3--popup-marker__position-left .ymaps3--popup-marker_container {
            transform: translate(
                calc(-100% + var(--ymaps3-default-border-radius) + var(--ymaps3-default-tail-width) / 2),
                var(--ymaps3-default-tail-height-and-offset)
            );
        }

.ymaps3--popup-marker__position-bottom.ymaps3--popup-marker__position-left .ymaps3--popup-marker_tail {
            transform: var(--ymaps3-default-popup-tail-transform-bottom);
        }

/* bottom right */

.ymaps3--popup-marker__position-bottom.ymaps3--popup-marker__position-right .ymaps3--popup-marker_container {
            transform: translate(
                calc(-1 * var(--ymaps3-default-border-radius) - var(--ymaps3-default-tail-width) / 2),
                var(--ymaps3-default-tail-height-and-offset)
            );
        }

.ymaps3--popup-marker__position-bottom.ymaps3--popup-marker__position-right .ymaps3--popup-marker_tail {
            transform: var(--ymaps3-default-popup-tail-transform-bottom);
        }

.ymaps3--popup-marker__position-left {
    animation: ymaps3--popup-marker-show-left 200ms ease-out;
}

.ymaps3--popup-marker__position-left .ymaps3--popup-marker_container {
        transform: translate(calc(-100% - var(--ymaps3-default-tail-height-and-offset) + 2px), -50%);
    }

.ymaps3--popup-marker__position-left .ymaps3--popup-marker_tail {
        transform: translate(
                calc(-100% - var(--ymaps3-default-offset) + var(--ymaps3-default-popup-tail-rotate-offset)),
                -50%
            )
            rotate(90deg);
    }

.ymaps3--popup-marker__position-right {
    animation: ymaps3--popup-marker-show-right 200ms ease-out;
}

.ymaps3--popup-marker__position-right .ymaps3--popup-marker_container {
        transform: translate(calc(var(--ymaps3-default-tail-height-and-offset) - 2px), -50%);
    }

.ymaps3--popup-marker__position-right .ymaps3--popup-marker_tail {
        transform: translate(calc(var(--ymaps3-default-offset) - var(--ymaps3-default-popup-tail-rotate-offset)), -50%)
            rotate(-90deg);
    }

@keyframes ymaps3--default-marker-hint-hover {
    from {
        margin-left: -10px;
        opacity: 0;
    }
    to {
        margin-left: 0px;
        opacity: 1;
    }
}

.ymaps3--default-marker-point {
    position: absolute;
    cursor: pointer;
}
.ymaps3--default-marker-point svg {
    display: block;
}

.ymaps3--hint {
    box-sizing: border-box;
    position: absolute;
    max-width: 190px;
    padding: 4px 12px 4px 20px;
    flex-direction: column;
    align-items: center;
    border-radius: 1000px;
    background: rgba(255, 255, 255, 0.84);
    line-height: 16px;
    white-space: nowrap;
    z-index: -2;
}
.ymaps3--hint__stable {
    display: inline-flex;
}
.ymaps3--hint__hovered {
    display: none;
}
.ymaps3--default-marker-point:hover .ymaps3--hint__hovered {
    display: inline-flex;
    animation: ymaps3--default-marker-hint-hover 200ms ease-out;
}
.ymaps3--hint-title {
    display: block;
    width: 100%;
    color: #050d33;
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ymaps3--hint-subtitle {
    display: block;
    width: 100%;
    color: #7b7d85;
    font-size: 12px;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* normal size */
.ymaps3--pin .ymaps3--default-marker__background {
    position: absolute;
    transform: translate(-50%, calc(-100% + 2px)); /* 2px - point radius */
    filter: drop-shadow(0px 2px 6px rgba(24, 27, 34, 0.4));
}
.ymaps3--pin .ymaps3--default-marker__stroke {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: -1;
}
.ymaps3--pin .ymaps3--default-marker__icon {
    position: absolute;
    transform: translate(-50%, calc(-61px + 2px + 10px)); /* 61px - pin height, 2px - point radius, 10px - offset */
    z-index: 1;
}
.ymaps3--pin .ymaps3--hint {
    transform: translate(
        calc(46px / 2 - 12px),
        calc(-61px + 2px + 10px)
    ); /* 46px, 61px - pin width, height, 2px - point radius, -12px, 10px - offsets */
}
.ymaps3--pin .ymaps3--hint.ymaps3--hint__big {
    transform: translate(
        calc(46px / 2 - 12px),
        calc(-61px + 2px + 2px)
    ); /* 46px, 61px - pin width, height, 2px - point radius, -12px, 10px - offsets */
}

/* small size */
.ymaps3--small-poi .ymaps3--default-marker__background {
    position: absolute;
    transform: translate(-50%, -50%);
}
.ymaps3--small-poi .ymaps3--default-marker__stroke {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: -1;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
}
.ymaps3--small-poi .ymaps3--default-marker__icon {
    position: absolute;
    z-index: 1;
    transform: translate(-50%, -50%);
}
.ymaps3--small-poi .ymaps3--default-marker__icon svg {
    transform: scale(calc(14 / 24));
}
.ymaps3--small-poi .ymaps3--hint {
    transform: translate(calc(24px / 2 - 12px), calc(-24px / 2)); /* 24px - poi size, -12px offset */
}
.ymaps3--small-poi .ymaps3--hint.ymaps3--hint__big {
    transform: translate(calc(24px / 2 - 12px), calc(-40px / 2)); /* 24px - poi size, -12px offset */
}

/* micro size */
.ymaps3--micro-poi .ymaps3--default-marker__background {
    position: absolute;
    transform: translate(-50%, -50%);
}
.ymaps3--micro-poi .ymaps3--default-marker__stroke {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: -1;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
}
.ymaps3--micro-poi .ymaps3--hint {
    transform: translate(calc(14px / 2 - 8px), calc(-24px / 2));
}
.ymaps3--micro-poi .ymaps3--hint.ymaps3--hint__big {
    transform: translate(calc(14px / 2 - 8px), calc(-40px / 2));
}

/* dark theme */
.ymaps3--default-marker-point_dark .ymaps3--hint {
    background: rgba(29, 30, 31, 0.84);
}
.ymaps3--default-marker-point_dark .ymaps3--hint-title {
    color: #f2f5fa;
}
.ymaps3--default-marker-point_dark .ymaps3--hint-subtitle {
    color: #7b7d85;
}

.ymaps3--default-ruler-point_icon {
    position: absolute;

    cursor: pointer;

    transform: translate(-50%, -50%);
}

.ymaps3--default-ruler-point_icon svg {
    display: block;
}

.ymaps3--default-ruler-preview-point {
    position: absolute;

    cursor: pointer;

    opacity: 0.6;

    transform: translate(-50%, -50%);
}

.ymaps3--default-ruler-preview-point svg {
    display: block;
}

.ymaps3--default-ruler-point_tooltip {
    position: relative;
}

.ymaps3--default-ruler-point_tooltip svg {
    display: block;
}

.ymaps3--default-ruler-point_measurements {
    position: absolute;

    display: inline-flex;
    align-items: flex-start;

    padding: 2px 6px;

    font-size: 14px;
    font-weight: 500;
    font-style: normal;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;

    color: #050d33;
    border-radius: 8px;
    background: #fff;
    box-shadow:
        0 0 2px 0 rgba(95, 105, 131, 0.08),
        0 2px 4px 0 rgba(95, 105, 131, 0.2);

    transform: translate(10px, -50%);
}

.ymaps3--default-ruler-point_measurements.ymaps3--default-ruler-point__hidden {
    display: none;
}

.ymaps3--default-ruler-point_actions.ymaps3--default-ruler-point__hidden {
    display: none;
}

.ymaps3--default-ruler-point_actions {
    position: absolute;

    display: inline-flex;
    align-items: center;

    padding: 0;

    border-radius: 8px;
    background: #fff;
    box-shadow:
        0 0 2px 0 rgba(95, 105, 131, 0.08),
        0 2px 4px 0 rgba(95, 105, 131, 0.2);

    transform: translate(10px, calc(8px + 6px));
}

.ymaps3--default-ruler-point_actions button {
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 8px;

    cursor: pointer;

    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0);
}

.ymaps3--default-ruler-point_actions .ymaps3--default-ruler-point_actions__finish {
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 8px;
    gap: 6px;
}

.ymaps3--default-ruler-point_actions button:hover {
    color: #122db2;
}


.rs-mapview {
	user-select: none;
	z-index: 0;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: block;

	&:has(.active) {
		.rs-marker {
			opacity: .25;
		}
	}

	.rs-callto {
		position: absolute;
		top: 68px;
		left: 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		width: 100%;

		span {
			color: var(--col-text-glass);
			border-radius: 1rem;
			background-color: var(--col-bg-glass);
			backdrop-filter: var(--back-filter);
			padding: 0 1rem;
		}
	}

	.rs-button-next {
		cursor: pointer;
		background-color: var(--col-white);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' %3E%3Cpolyline fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' points='12,20 25,33 38,20'/%3E%3C/svg%3E%0A");
		box-shadow: 0 5px 10px var(--col-tip-shadow);
		border: none;
		border-radius: 50%;

		position: absolute;
		left: 50%;
		bottom: 40px;
		display: block;
		width: 50px;
		height: 50px;
		transform: translate(-50%, 0);

		&:active {
			box-shadow: 0 0 2px var(--col-tip-shadow);
			transform: translate(-50%, 2px);
		}
	}

	.rs-marker {
		cursor: pointer;
		position: absolute;
		display: flex;
		flex-flow: column;
		align-items: center;
		transform-origin: 50% 0;
		transform: translate(-50%, 0) scale(1);
		transition: all .25s ease-out;

		&.rs-marker_big {
			.rs-marker-title {
				width: auto;
			}
		}

		&.active {
			transform: translate(-50%, 0) scale(1.25);
			opacity: 1;
		}

		.rs-marker-corner {
			clip-path: path('M10,0C5,6,0,6,0,6l10,2l10-2C20,6,15,6,10,0z');

			box-shadow: 0 0 10px var(--col-marker-shadow);

			width: 20px;
			height: 8px;
			margin-bottom: -2px;

			&.empty {
				clip-path: path('M10,0C8,4,3.2,5.5,3.2,5.5L10,8l6.8-2.5C16.8,5.5,12,4,10,0z');
				margin-bottom: -4px;
			}
		}

		.rs-marker-title {
			font-size: 1rem;
			white-space: nowrap;

			box-shadow: 0 0 10px var(--col-marker-shadow);
			border-radius: 1rem;

			display: flex;
			flex-flow: row nowrap;
			align-items: center;
			width: 2rem;
			height: 2rem;
			padding: .125rem 1rem .25rem;
		}
	}
}

.rs-popup {
	background-color: var(--col-white);
	border-radius: 1.5rem;
	box-shadow: 0 .25rem 1rem var(--col-block-shadow);

	position: absolute;
	top: 50vh;
	left: 1rem;
	display: flex;
	flex-flow: column;
	width: min(calc(360px - 2rem), calc(100% - 2rem));
	padding: 1rem;
	transform: translateY(-50%);

	@media (max-width: 500px) {
		left: 1rem;
		width: calc(100% - 2rem);
	}

	.rs-h3 {
		font-family: 'ys-wide';
		font-weight: 500;
		font-size: 1.25rem;
		line-height: 1.25rem;
		text-align: center;
		text-wrap: balance;
	}

	.rs-figure {
		display: flex;
		flex-flow: column;
		align-items: center;

		margin-top: 1rem;
	}

	.rs-top {
		border: 1px solid var(--col-lightgrey);
		border-radius: .5rem;
		margin-top: 1.5rem;
		padding: .5rem 0;

		.rs-h4 {
			font-weight: 500;
			font-size: 1rem;
			line-height: 1.5rem;
			text-wrap: balance;

			display: flex;
			flex-flow: row nowrap;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			margin: -1.25rem .75rem .25rem .75rem;

			.rs-top-title {
				background-color: var(--col-white);
				padding: 0 .25rem;
			}

			.rs-top-tip {
				cursor: pointer;
				font-size: .85rem;

				background-color: var(--col-white);
				border: 1px solid var(--col-lightgrey);
				border-radius: 50%;

				display: flex;
				flex-flow: row nowrap;
				align-items: center;
				justify-content: center;
				width: 20px;
				height: 20px;
			}
		}

		ol {
			font-size: .85rem;
			line-height: 1.25rem;

			margin: 0 .5rem 0 2rem;

			li {
				& + li {
					margin-top: 1px;
				}

				.rs-list-row {
					display: flex;
					flex-flow: row nowrap;
					align-items: flex-start;
					justify-content: space-between;
					gap: 1rem;

					span {
						&::first-letter {
							text-transform: uppercase;
						}

						&:last-of-type {
							padding: 0 .5rem;
						}
					}
				}
			}
		}
	}

	.rs-tip {
		font-size: .75rem;
		line-height: 1rem;

		background-color: var(--col-bg-glass);
		backdrop-filter: var(--back-filter);
		box-shadow: 0 .25rem 1rem var(--col-tip-shadow);
		border-radius: .5rem;

		pointer-events: none;
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		flex-flow: column;
		align-items: center;
		width: 200px;
		padding: .5rem 1rem;
		transform: translate(-90%, calc(-1 * (100% + 10px)));

		&.active {
			opacity: 1;
		}
	}
}

.rs-figure {
	&.rs-cover {
		width: var(--width-wide);
		margin: 0 auto 3rem auto;
	}

	&.rs-locator {
		border: 1px solid var(--col-lightgrey);
		border-radius: 1.5rem;
		overflow: hidden;
	}

	object {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
}

.rs-wrapper {
	z-index: 9;
	position: relative;

	&.rs-storyline {
		margin-top: -100vh;

		&.disabled {
			z-index: -1;
			pointer-events: none;
		}
	}

	&.rs-section {
		&.rs-section_bg {
			background-color: var(--col-white);
			padding: 3rem 0;
		}

		.rs-h1 {
			--h1: 2.75rem;
			font-family: 'ys-wide';
			font-weight: 800;
			font-size: var(--h1);
			line-height: var(--h1);
			text-wrap: balance;

			display: flex;
			flex-flow: row nowrap;
			align-items: flex-end;
			width: var(--width);
			margin: 0 auto;

			@media (max-width: 500px) {
				--h1: 2.25rem;
			}
		}

		.rs-h2 {
			--h2: 1.75rem;
			font-family: 'ys-wide';
			font-weight: 800;
			font-size: var(--h2);
			line-height: var(--h2);
			text-wrap: balance;

			width: var(--width);
			margin: 3rem auto;

			@media (max-width: 500px) {
				--h2: 1.5rem;
			}
		}

		.rs-h3 {
			font-family: 'ys-wide';
			font-weight: 500;
			font-size: 1rem;
			line-height: 1.5rem;
			text-wrap: balance;

			width: var(--width);
			margin: 0 auto;
		}

		.rs-text {
			font-size: 1rem;
			line-height: 1.5rem;

			width: var(--width);
			margin: 1.5rem auto;

			&.rs-text_source {
				opacity: .35;
				margin-bottom: 3rem;
			}

			&.rs-text_info {
				font-style: italic;
				color: var(--col-darkskin);
				background-color: var(--col-skin);
				border-radius: 1rem;
				padding: 1rem 1.5rem;
			}

			&.rs-text_cast {
				em {
					opacity: .35;
				}
			}

			span {
				border-radius: 1rem;
				display: inline-block;
				margin: 1px 0 0 0;
				padding: 0 .75rem;

				&.rs-orange {
					background-color: var(--col-orange);
				}

				&.rs-blue {
					background-color: var(--col-blue);
				}
			}
		}

		.rs-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
			gap: 1rem;
			width: var(--width-wide);
			margin: 1.5rem auto 3rem auto;

			object, svg {
				display: block;
				width: 100%;
				height: auto;
			}

			@media (max-width: 500px) {
				grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
			}
		}
	}

	.rs-person-one {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;

		position: absolute;
		top: -100px;
		left: calc((100% - var(--width-wide)) / 2);
		display: block;
		width: 200px;
		height: 200px;

		@media (max-width: 1000px) {
			top: -75px;
			width: 150px;
			height: 150px;
		}
	}

	.rs-person-two {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;

		position: absolute;
		top: -126px;
		right: calc((100% - var(--width-wide)) / 2);
		display: block;
		width: 200px;
		height: 200px;

		@media (max-width: 1000px) {
			top: -95px;
			width: 150px;
			height: 150px;
		}
	}
}

.rs-intro-chart {
	position: relative;
	width: min(100%, 100vh, 790px);
	margin: 3rem auto;

	.rs-layer {
		text {
			user-select: none;
			pointer-events: none;

			--txt: 1rem;
			font-size: var(--txt);
			text-anchor: middle;
			opacity: .5;

			.rs-tip-percent {
				font-size: calc(var(--txt) * 1.5);
			}

			@media (max-width: 500px) {
				--txt: 1.5rem;
			}
		}

		circle {
			opacity: .75;

			&:hover {
				opacity: 1;
				stroke: var(--col-black);
				stroke-width: 2px;
			}
		}
	}

	.rs-tip {
		pointer-events: none;
		background-color: var(--col-bg-glass);
		backdrop-filter: var(--back-filter);
		box-shadow: 0 .25rem 1rem var(--col-tip-shadow);
		border-radius: .5rem;
		opacity: 0;

		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		flex-flow: column;
		width: max-content;
		max-width: 250px;
		padding: .5rem;
		transform: translate(-50%, calc(-1 * (100% + 10px)));

		&.active {
			opacity: 1;
		}

		.rs-tip-percent {
			font-size: 1.25rem;
			line-height: 1.75rem;
		}

		.rs-tip-title {
			font-size: 1rem;
			line-height: 1rem;
		}

		.rs-tip-description {
			font-size: .85rem;
			line-height: 1rem;

			border-top: 1px solid var(--col-grey);
			opacity: .5;

			margin-top: .5rem;
			padding-top: .25rem;
		}
	}
}

.rs-stage {
	user-select: none;
	height: 150vh;
	padding: 1.5rem 0;

	@media (max-width: 500px) {
		height: 200vh;
	}

	&.rs-stage_empty {
		height: 50vh;
	}

	.rs-stage-header {
		border-radius: 1.5rem;
		display: flex;
		flex-flow: column;
		width: var(--width);
		margin: 0 auto;

		&.rs-stage-header_bg {
			background-color: var(--col-bg-glass);
			backdrop-filter: var(--back-filter);
			box-shadow: 0 .25rem 1rem var(--col-block-shadow);
		}

		.rs-text {
			width: auto;
			margin: 1.5rem;
		}
	}
}

.rs-share {
	list-style: none;
	display: flex;
	flex-flow: row nowrap;
	gap: 1rem;
	justify-content: center;
	width: var(--width);
	margin: 3rem auto;

	li {
		a {
			color: transparent;
			border-radius: 50%;

			overflow: hidden;
			display: block;
			width: 40px;
			height: 40px;

			&:hover {
				background-color: var(--col-black);
			}

			img {
				mix-blend-mode: difference;
			}
		}
	}
}

