@import url("https://use.typekit.net/ita2fjh.css");

:root {
    --mapWidth: 3000px;
    --mapHeight: 5500px
}

body, html {
    overflow: hidden
}

body {
    font-family: museo-sans, sans-serif;
    font-display: auto;
    font-style: normal;
    position: relative;
    margin: 0;
    padding: 0;
    background-color: #beebc3
}

h4 {
    font-weight: 700;
    font-size: 1.2em
}

h4, h5 {
    margin: 7px 0
}

h5 {
    font-weight: 500;
    font-size: 1.1em
}

p {
    margin: 5px 0;
    font-size: .8em
}

#sections {
    pointer-events: none
}

.vpfixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden
}

.mapfixed {
    width: var(--mapWidth);
    height: var(--mapHeight);
    transform-origin: top left
}

.section {
    text-align: right
}

.section h1 {
    visibility: collapse;
    margin-right: 20px
}

.map {
    background-image: url("maps.bf48b5d4.40a336dd0c95.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    position: relative
}

.map, .rectangles {
    width: 3000px;
    height: 5498px
}

.rectangles {
    position: absolute;
    top: 0;
    left: 0;
    visibility: visible;
    pointer-events: none
}

.poiRect {
    position: absolute;
    opacity: 0;
    transform: translate(20px, 20px);
    transition: all .3s ease-in-out
}

.poiRect.selected {
    opacity: .1;
    transform: translate(0)
}

.km {
    width: 150px;
    height: auto;
    position: fixed;
    top: 15vh;
    z-index: 1000
}

.vertical-line {
    height: 600px;
    width: .1px;
    border: 1px solid #fff;
    margin-left: 30%
}

.km-all-buttons {
    position: absolute;
    top: -7px;
    left: 28%
}

.km-button {
    width: 7.5px;
    height: 7.5px;
    background-color: #3d8062;
    border: 1px solid #fff;
    margin-bottom: 19.5px;
    transition: all .3s ease-in-out
}

.km-button.selected {
    background-color: #3d8062;
    transform: scale(2.5);
    transform-origin: center center
}

.km-button-label {
    float: left;
    color: #fff;
    margin-left: 23px;
    margin-top: -33px;
    opacity: 0;
    transform: scale(.25);
    transform-origin: left center;
    transition: all .3s ease-in-out
}

.km-animation-toggle.selected .km-button-label, .km-animation-toggle:active .km-button-label, .km-animation-toggle:hover .km-button-label {
    opacity: 1;
    transform: scale(1.25)
}

.poi {
    width: 900px;
    opacity: 0;
    pointer-events: none;
    transform: translate(20px, 20px);
    transition: all .3s ease-in-out
}

.poi.selected {
    opacity: 1;
    transform: translate(0)
}

.poi-card {
    pointer-events: none;
    width: 400px;
    min-height: auto;
    background-color: #fff;
    float: left;
    position: relative;
    z-index: 3000;
    margin-left: 20px;
    box-shadow: 10px 10px 26px -8px rgba(0, 0, 0, .75);


}



.poi-card.selected {
    pointer-events: auto
}

.poi-image {
    width: 400px;
    height: auto
}

.poi-text {
    height: auto;
    margin: 0 40px 20px 0;
    padding: 30px 10px 10px 30px;
    position: relative;
    z-index: 101;
    font-size: 16px
}

.square {
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    margin: 3px auto
}

.horizontal-line-rt, .square {
    float: left;
    pointer-events: none
}

.horizontal-line-rt {
    width: 350px;
    height: 350px;
    border-bottom: 1px solid #fff;
    transform: translateY(-419px) translateX(-119px) rotate(-40deg);
    margin-left: -35px
}

.prt {
    margin-top: -500px;
    margin-left: -50px
}

.horizontal-line-b {
    width: 30px;
    height: 30px;
    border-bottom: 1px solid #fff;
    transform: translateY(24px) translateX(24px) rotate(90deg);
    float: left;
    margin-left: -35px;
    pointer-events: none
}

.pb {
    margin-top: 57px;
    margin-left: -207px
}

.horizontal-line-lt {
    width: 350px;
    height: 350px;
    border-bottom: 1px solid #fff;
    transform: translateY(-411px) translateX(-236px) rotate(30deg);
    float: left;
    margin-left: -25px;
    pointer-events: none
}

.plt {
    margin-top: -400px;
    margin-left: -950px
}

.horizontal-line-lb {
    width: 250px;
    height: 250px;
    transform: translateY(-86px) translateX(-288px) rotate(-50deg);
    margin-left: -35px
}

.horizontal-line-lb, .horizontal-line-lm {
    border-bottom: 1px solid #fff;
    float: left;
    pointer-events: none
}

.horizontal-line-lm {
    width: 300px;
    height: 0, 1px;
    margin-top: 13px;
    margin-left: -321px
}

.plm {
    margin-top: 500px;
    margin-left: -355px
}

.horizontal-line-rb {
    width: 350px;
    height: 350px;
    border-bottom: 1px solid #fff;
    transform: translateY(-173px) translateX(107px) rotate(40deg);
    float: left;
    margin-left: -35px;
    pointer-events: none
}

.prb {
    margin-top: -100x;
    margin-left: -50px
}

.horizontal-line-rm {
    width: 450px;
    height: 0, 1px;
    border-bottom: 1px solid #fff;
    float: left;
    margin-top: 12px;
    margin-left: 0;
    pointer-events: none
}

.prm {
    margin-left: 400px
}

.plm, .prm {
    margin-top: -300px
}

.plm {
    margin-left: -655px
}

.plb {
    margin-top: -100px;
    margin-left: -750px
}

.village {
    width: 900px;
    opacity: 0;
    transform: translate(20px, 20px);
    transition: all .3s ease-in-out
}

.village.selected {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0)
}

.name {
    font-size: 1.3em;
    float: left;
    margin: -2.5px 10px;
    color: #fff;
    font-weight: 700
}

.name.small {
    font-size: 1.2em;
    font-weight: 500
}

.name.underlined {
    text-decoration: underline
}

.horizontal-line-vl {
    width: 500px;
    border: 1px solid #fff;
    margin-left: -500px;
    margin-top: 12px
}

.vl {
    margin-top: -50%;
    margin-left: -900px
}

.horizontal-line-vr {
    width: 500px;
    border: 1px solid #fff;
    margin-left: 150px;
    margin-top: 12px
}

.vr {
    margin-top: -50%;
    margin-left: 500px
}

.m100 {
    margin-left: 100px
}

.m120 {
    margin-left: 120px
}

.m200 {
    margin-left: 200px
}

.close {
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    background-color: #c55150;
    background-image: url("cross.95d48346.928a5c23bed2.svg");
    position: absolute;
    top: 1%;
    left: 90%
}

@media only screen and (min-width: 320px) and (max-width: 1024px) and (orientation: portrait) {
    .info, .name, .village {
        pointer-events: none
    }

    .horizontal-line-b, .horizontal-line-lb, .horizontal-line-lm, .horizontal-line-lt, .horizontal-line-rb, .horizontal-line-rm, .horizontal-line-rt {
        width: 30px;
        height: 30px;
        transform: translateY(24px) translateX(24px) rotate(90deg);
        float: left;
        margin-left: -35px;
        margin-top: 0
    }

    .lt-reversed, .square-reversed {
        display: none;
    }

    .pb, .plb, .plm, .plt, .prb, .prm, .prt {
        margin-top: 57px;
        margin-left: -150px
    }

    .poi-card, .poi-image {
        width: 350px
    }

    h4 {
        font-size: 1.1em
    }

    h5 {
        font-size: 1em
    }

    p {
        font-size: .8em
    }

    .km {
        top: 6vh;
        left: -20px;
        visibility: collapse
    }

    .km a {
        pointer-events: none
    }

    .info, .km-button-label {
        visibility: collapse
    }
}

@media only screen and (min-width: 320px) and (max-width: 768px) and (orientation: landscape) {
    .km {
        left: 0;
        transform: scale(.6);
        margin-top: -25%
    }

    .km, .km-button-label, .km-label {
        visibility: collapse
    }
}
