.kftheme-offices-map {
	position: relative;
	overflow: visible;
}

.kftheme-offices-map__media {
	position: relative;
	overflow: visible;
}

.kftheme-offices-map__image {
	display: block;
	width: 100%;
	height: auto;
}

.kftheme-offices-map__markers {
	position: absolute;
	inset: 0;
	overflow: visible;
}

.kftheme-offices-map__marker {
	position: absolute;
	z-index: 2;
	transform: translate(-50%, -50%);
}

.kftheme-offices-map__marker:hover {
	z-index: 3;
}

.kftheme-offices-map__dot {
    --dot-size: 12px;
	position: relative;
	display: block;
	width: var(--dot-size);
	height: var(--dot-size);
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #5F61FF;
	box-shadow: 0px 3px 4px 0px #2D2F8F59;
	cursor: pointer;
	outline: none;

	transition: background-color 0.15s ease;
}

.kftheme-offices-map__dot:focus-visible,
.kftheme-offices-map__dot:hover {
	background: #FF9371;
}

.kftheme-offices-map__tooltip {
	position: absolute;
	bottom: calc(100% + 12px);
	left: 50%;
	z-index: 3;
	min-width: 180px;
	max-width: min(300px, calc(100vw - 32px));
    width: max-content;
	padding: 10px 15px;
	border-radius: 10px;
	background: #fff;
	color: #191919;
    box-shadow: 0px 4px 20px 0px #00000040;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(6px);
	transition: opacity 140ms ease, visibility 140ms ease, transform 140ms ease;
	will-change: opacity, transform;
}

.kftheme-offices-map__tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 10px;
	height: 10px;
	background: #fff;
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.kftheme-offices-map__tooltip-title {
    font-weight: 700;
    font-size: 12px;
    line-height: 100%;

    color: #191919;

    margin-bottom: .5em;

    box-shadow: 1px 1px 1px 0px #00000001;
}

.kftheme-offices-map__tooltip-address {
    font-family: degular-variable, sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 120%;
    /* letter-spacing: 0%; */
    box-shadow: 1px 1px 1px 0px #00000001;

    opacity: .85;
}

.kftheme-offices-map__marker:hover .kftheme-offices-map__tooltip,
.kftheme-offices-map__marker:focus-within .kftheme-offices-map__tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.kftheme-offices-map__marker.is-tooltip-left .kftheme-offices-map__tooltip {
	left: 0;
	transform: translateX(-8px) translateY(6px);
}

.kftheme-offices-map__marker.is-tooltip-left .kftheme-offices-map__tooltip::after {
	left: 17px;
}

.kftheme-offices-map__marker.is-tooltip-left:hover .kftheme-offices-map__tooltip,
.kftheme-offices-map__marker.is-tooltip-left:focus-within .kftheme-offices-map__tooltip {
	transform: translateX(-8px) translateY(0);
}

.kftheme-offices-map__marker.is-tooltip-center .kftheme-offices-map__tooltip {
	left: 50%;
	transform: translateX(-50%) translateY(0px);
}

.kftheme-offices-map__marker.is-tooltip-center .kftheme-offices-map__tooltip::after {
	left: 50%;
}

.kftheme-offices-map__marker.is-tooltip-right .kftheme-offices-map__tooltip {
	left: auto;
	right: 0;
	transform: translateX(8px) translateY(6px);
}

.kftheme-offices-map__marker.is-tooltip-right .kftheme-offices-map__tooltip::after {
	left: auto;
	right: 20px;
    transform: translateX(8px) translateY(-50%) rotate(45deg);
}

.kftheme-offices-map__marker.is-tooltip-right:hover .kftheme-offices-map__tooltip,
.kftheme-offices-map__marker.is-tooltip-right:focus-within .kftheme-offices-map__tooltip {
	transform: translateX(8px) translateY(0);
}

.kftheme-offices-map__dot:focus-visible {
	outline: 0;
}

.kftheme-offices-map__dot:focus-visible .kftheme-offices-map__dot-core {
	box-shadow:
		0 0 0 4px rgba(255, 255, 255, 0.9),
		0 4px 14px rgba(15, 23, 42, 0.28);
}

@media (max-width: 767px) {
    .kftheme-offices-map__dot {
        --dot-size: 10px;
    }   
}