/* variables */
/* :root {
    --filters-width: 300px;
} */

#anim_box { border-radius: 6px; }
.hide { display: none; }
.anim_b {
    max-width: 1500px;
    max-height: 100vh;
    margin: auto;
    overflow: hidden;
    position: relative;
    transition: height 0.3s;
    background: #fff;
}
.anim_scroll_info { color: #F20000; position: absolute; top: 0; width: 100%; height: 100%; display: none; z-index: 11; }
#budynek_wybor { z-index: 12; display: block; position: relative; }
#go_home { position: absolute; top: 0; left: 0; cursor: pointer; z-index: 14; display: none; width: 60px; height: 60px; border-radius: 50%; }

.anim_scroll_info h2 { text-align: center; font-weight: 400; position: relative; top: 50%; margin-top: -35px; }

.anim_box, .locales {
    width: 100%;
    height: 100%;
    transition: transform 0.2s;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.home_anim { transition: transform 0.2s, left 0.2s, top 0.2s; }
#navigation_left { max-width: 1400px; text-align: center; margin: 0 auto 20px; }
#navigation_left ul { display: inline-block; }
#navigation_left li { cursor: pointer; display: inline-block; position: relative; font-size: 18px; padding: 8px 15px 7px; background: #f3f2f2; transition:all 0.5s ease; }
#navigation_left li:first-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
#navigation_left li:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
#navigation_left li:hover, #navigation_left li.active { background: #beaa83; color: #FFF; }

div.filters-button { position: absolute; left: -66px; top: 50%; transform: rotate(270deg) translateY(-50%); cursor: pointer; z-index: 1; width: max-content; transition: color 0.2s, right 0.3s; background: #f1f1f1; padding: 10px 25px 8px; border-top-left-radius: 6px; border-top-right-radius: 6px; font-size: 12px; line-height: 12px; font-weight: 700; text-transform: uppercase; }
div.filters-button:hover { color: #beaa83; }
div.filters-button > .fa-filter { font-size: 22px; }


div.locales{
    position: relative;
    width: 100%;
}
div.filters-container {
    position: relative;
    right: 0;
    width: 0;
    background: #f1f1f1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 20;
    height: 100%;
    transition: width 0.3s;
	box-sizing:border-box;
	border-radius: 6px;
}
div.filters-container.active {
    /* width: var(--filters-width); */
}

div.filters-container>.filter { padding: 20px 25px 0; text-align: center; margin-top: 0; }
div.filters-container .title { display: block; color: #696969; font-size: 12px; font-weight: 700; transform: translateY(-12px); }
div.filters-container .filter.t_wolne { text-align: center; }
div.filters-container .filter.t_wolne div { text-align: center; font-size: 12px; margin: 0 auto 5px; }


div.filters-container>.filter.close {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
}
div.filters-container>.filter.close i {
    margin: 0 10px;
    color: #F20000;
}
div.filters-container>.filter.close:hover {
    text-shadow: 0 0 1px #3a00ad;
}

div.filters-container>.filter>.values {
    margin-top: 10px;
    font-size: 18px;
    font-weight: bold;
    display: flex;

    justify-content: space-evenly;
}
div.filters-container>.filter>ul.options-list {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 15px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}
div.filters-container>.filter>ul.options-list li {
    cursor: pointer;
    padding: 8px 12px;
    margin: 0 0px;
    font-size: 20px;
    color: #222222;
    border: 1px solid #444444;
    border-left: none;
    font-weight: bold;
    background: linear-gradient(0deg, #b3b3b3, #eaeaea);
    transition: background 0.2s, color 0.2s;
}
div.filters-container>.filter>ul.options-list li:first-child { border-left: 1px solid #444444; }

div.filters-container>.filter>ul.options-list li:hover, div.filters-container>.filter>ul.options-list li.selected {
    background: linear-gradient(0deg, #6a11cb, #2575fc);
    color: #ffffff;
}

#zoom_bar {
    transform: rotate(-90deg);
    display: none;
    width: 127px;
    height: 129px;
    position: relative;
    transform-origin: 38px 85px;
    outline: none;
}
.grab { cursor: grab; }

#anim_content { position: relative; left: 0; top: 0; display: flex; }
#navigation_right { max-width: 24px; right: 0; position: absolute; z-index: 10; text-align: center; transition: right 0.3s; }

#stage_name {
    width: 100%;
    text-align: center;
    font-size: 26pt;
    font-family: arial;
    font-weight: bold;
}
#arrow_up, #arrow_down { width: 96px; height: 96px; margin-right: 15px; }
.navi_button { width: 24px; height: 24px; opacity: 0.5; cursor: pointer; display: block; float: right; }
.navi_button:hover { opacity: 1; color: #F20000; }
#blok_button {
    width: 177px;
    height: 80px;
    position: absolute;
    top: 33px;
    left: 40px;
    z-index: 10;
    box-shadow: 1px 1px 2px 0px #8c8b8b;
    transition: box-shadow 0.1s;
    cursor: pointer;
}
#blok_button:hover { box-shadow: 0px 0px 0px 0px #8c8b8b; }

/* SVG STYLES */

svg.budynek-wybor > polygon, svg.pietro-wybor > polygon { fill:#00ff00;opacity: 0; transition: opacity 800ms; cursor: pointer; }
svg.budynek-wybor > polygon:hover, svg.pietro-wybor > polygon:hover { opacity: 0.6; }

@keyframes svgInUp {
    from {
        opacity: 0;
        transform: translateY(-50%);
    }
    to {
        opacity: 1;
        transform: translateY(0%);
    }
}
@keyframes svgOutUp {
    from {
        opacity: 1;
        transform: translateY(0%);
    }
    to {
        opacity: 0;
        transform: translateY(50%);
    }
}
@keyframes svgOutDown {
    from {
        opacity: 1;
        transform: translateY(0%);
    }
    to {
        opacity: 0;
        transform: translateY(-50%);
    }
}
@keyframes svgInDown {
    from {
        opacity: 0;
        transform: translateY(50%);
    }
    to {
        opacity: 1;
        transform: translateY(0%);
    }
}

.svgOutUp { animation: svgOutUp 1s; }
.svgInUp { animation: svgInUp 1s; }
.svgInDown { animation: svgInDown 1s; }
.svgOutDown { animation: svgOutDown 1s; }
#anim_content svg {
    transform: translateY(0%) scale(0.9);
    opacity: 0;
    position: absolute;
  pointer-events:none;
    top: 0px;
    left: 0px;
  transition: opacity 500ms, transform 500ms;
}
#anim_content svg.active { transform: translateY(0%) scale(1); opacity: 1; pointer-events:all;}
.dymek:hover { display: none; left: -100%; top: -100%; }
.dymek {
	text-align: left;
    opacity: 0;
    position: absolute;
    transition: opacity 300ms;
    z-index: 15;
    left: 0;
    top: 0;
    border-radius: 6px; /* 9px 9px 0 9px */
    padding: 15px 20px;
    background: rgba(60,60,59, 0.85);
    color: #fff;
    pointer-events: none;
}
#dymek2 { border-radius: 6px; }
.dymek.active { opacity: 1; }
.dymek h3 { font-weight: 700; margin-bottom: 0; }
.dymek p { margin: 1px 0!important; font-size: 13px; line-height: 14px; }
.dymek span { font-size: 11px; }
.local_group polygon { cursor: pointer; fill: #00ff00; opacity: 0.6; transition: opacity 300ms; }
.local_group polygon:hover { opacity: 0.3; }
.local_group polygon.filtered { pointer-events:none; opacity: 0 }

@media screen and (min-width: 801px) {
	div.filters-container.active { width: 240px; }
	#navigation_left ul { padding: 0 40px; }
	#navigation_right.with_filters { right: 205px; }
}

@media only screen and (max-width: 800px) {
    .dymek { display: none; }
    #blok_button { transform: scale(0.5); top: -23px; left: -40px; }
    div.filters-button {
        display: none;
    }
    #anim_content {
        flex-direction: column;
        height: auto;
    }
    div.locales{
        height: fit-content;
    }
    div.filters-container {
		width: 100%!important;
        padding: 0 10px;
        border: none;
        height: fit-content;
		border-radius: 9px;
    }
    div.filters-container>.filter { width: calc(100% - 60px); }
    .container { max-height: fit-content; }
    #navigation_right.with_filters { right: 0; }
    div.filters-container>.filter:first-child { margin-top: 0!important; }
    div.filters-container>.filter.t_wolne {
        align-items: center;
        justify-content: center;
    }
    #go_home { display: none!important; }
}


@media screen and (min-width: 581px) {

	#navigation_left #break { display: none!important; }
}
@media screen and (max-width: 580px) {
	#navigation_left #break { display: block!important; background: #FFF!important; padding: 0!important; height: 8px!important; }
}