.cd-img-replace {
display: inline-block;
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
}

.cd-single-point {
position: absolute;
border-radius: 50%;
}
.cd-single-point > a {
position: relative;
z-index: 2;
display: block;
width: 30px;
height: 30px;
border-radius: inherit;
background: #fc5c10;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
-webkit-transition: background-color 0.2s;
-moz-transition: background-color 0.2s;
transition: background-color 0.2s;
}
.cd-single-point > a::after, .cd-single-point > a:before {
content: '';
position: absolute;
left: 50%;
top: 50%;
bottom: auto;
right: auto;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
background-color: white;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
transition-property: transform;
-webkit-transition-duration: 0.2s;
-moz-transition-duration: 0.2s;
transition-duration: 0.2s;
}
.cd-single-point > a::after {
height: 2px;
width: 12px;
}
.cd-single-point > a::before {
height: 12px;
width: 2px;
}
.cd-single-point::after {
/* this is used to create the pulse animation */
content: '';
position: absolute;
z-index: 1;
width: 100%;
height: 100%;
top: 0;
left: 0;
border-radius: inherit;
background-color: transparent;
-webkit-animation: cd-pulse 2s infinite;
-moz-animation: cd-pulse 2s infinite;
animation: cd-pulse 2s infinite;
}

.cd-single-point.is-open > a {
background-color: #666666;
}
.cd-single-point.is-open > a::after, .cd-single-point.is-open > a::before {
-webkit-transform: translateX(-50%) translateY(-50%) rotate(135deg);
-moz-transform: translateX(-50%) translateY(-50%) rotate(135deg);
-ms-transform: translateX(-50%) translateY(-50%) rotate(135deg);
-o-transform: translateX(-50%) translateY(-50%) rotate(135deg);
transform: translateX(-50%) translateY(-50%) rotate(135deg);
}
.cd-single-point.is-open::after {
display: none;
}
.cd-single-point.is-open .cd-more-info {
visibility: visible;
opacity: 1;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
-webkit-transition: opacity 0.3s 0s, visibility 0s 0s, -webkit-transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
-moz-transition: opacity 0.3s 0s, visibility 0s 0s, -moz-transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
transition: opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
}
.cd-single-point.visited > a {
background-color: #fc5c10;
}
.cd-single-point.visited::after {
display: none;
}

@media only screen and (min-width:480px) {
.cd-single-point.is-open .cd-more-info.cd-left {
right: 140%;
}
.cd-single-point.is-open .cd-more-info.cd-right {
left: 140%;
}
.cd-single-point.is-open .cd-more-info.cd-top {
bottom: 140%;
}
.cd-single-point.is-open .cd-more-info.cd-bottom {
top: 140%;
}
}

@-webkit-keyframes cd-pulse {
0% {
-webkit-transform: scale(1);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

50% {
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

100% {
-webkit-transform: scale(1.6);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0);
}
}
@-moz-keyframes cd-pulse {
0% {
-moz-transform: scale(1);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

50% {
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

100% {
-moz-transform: scale(1.6);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0);
}
}
@keyframes cd-pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

50% {
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0.8);
}

100% {
-webkit-transform: scale(1.6);
-moz-transform: scale(1.6);
-ms-transform: scale(1.6);
-o-transform: scale(1.6);
transform: scale(1.6);
box-shadow: inset 0 0 1px 1px rgba(252, 92, 16, 0);
}
}
.cd-single-point .cd-more-info {
position: fixed;
top: 0;
left: 0;
z-index: 3;
width: 100%;
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
text-align: left;
line-height: 1.5;
background-color: rgba(255, 255, 255, 0.95);
padding: 2em 1em 1em;
visibility: hidden;
opacity: 0;
-webkit-transform: scale(0.8);
-moz-transform: scale(0.8);
-ms-transform: scale(0.8);
-o-transform: scale(0.8);
transform: scale(0.8);
-webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
-moz-transition: opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
}
.cd-single-point .cd-more-info::before {
/* triangle next to the interest point description - hidden on mobile */
content: '';
position: absolute;
height: 0;
width: 0;
display: none;
border: 8px solid transparent;
}
.cd-single-point .cd-more-info h2 {
background:#ebebeb; font-size: 18px;
position:relative; margin:-40px -20px 0; padding:20px; 
}
.cd-single-point .cd-more-info p {
color: #666666;
}

@media only screen and (min-width:480px) {
.cd-single-point .cd-more-info {
background:#ffffff;
position: absolute;
width: 220px;
height: 160px;
padding: 20px;
overflow-y: visible;
line-height: 20px;
border-radius: 4px;
box-shadow: 0 0 12px rgba(0, 0, 0, 0.4);
}
.cd-single-point .cd-more-info::before {
display: block;
}
.cd-single-point .cd-more-info.cd-left, .cd-single-point .cd-more-info.cd-right {
top: 50%;
bottom: auto;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
.cd-single-point .cd-more-info.cd-left::before, .cd-single-point .cd-more-info.cd-right::before {
top: 50%;
bottom: auto;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
.cd-single-point .cd-more-info.cd-left {
right: 160%;
left: auto;
}
.cd-single-point .cd-more-info.cd-left::before {
border-left-color: rgba(235, 235, 235, 1);
left: 100%;
}
.cd-single-point .cd-more-info.cd-right {
left: 160%;
}
.cd-single-point .cd-more-info.cd-right::before {
border-right-color: rgba(235, 235, 235, 1);
right: 100%;
}
.cd-single-point .cd-more-info.cd-top, .cd-single-point .cd-more-info.cd-bottom {
left: 50%;
right: auto;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
.cd-single-point .cd-more-info.cd-top::before, .cd-single-point .cd-more-info.cd-bottom::before {
left: 50%;
right: auto;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
.cd-single-point .cd-more-info.cd-top {
bottom: 160%;
top: auto;
}
.cd-single-point .cd-more-info.cd-top::before {
border-top-color: rgba(235, 235, 235, 1);
top: 100%;
}
.cd-single-point .cd-more-info.cd-bottom {
top: 160%;
}
.cd-single-point .cd-more-info.cd-bottom::before {
border-bottom-color: rgba(235, 235, 235, 1);
bottom: 100%;
}
.cd-single-point .cd-more-info h2 {
color:#333333;
font-size: 13px;
line-height:20px;
margin-bottom: 10px;
margin-top: 0;
text-transform: uppercase;
background:#ebebeb; border-radius:4px 4px 0 0; position:relative; margin:-20px -20px 10px; padding:10px 20px;
}
.cd-single-point .cd-more-info p {
font-size: 13px;
}
}


.cd-close-info {
position: fixed;
top: 0;
right: 0;
height: 44px;
width: 44px;
}
.cd-close-info::after, .cd-close-info:before {
content: '';
position: absolute;
left: 50%;
top: 50%;
bottom: auto;
right: auto;
-webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-moz-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-o-transform: translateX(-50%) translateY(-50%) rotate(45deg);
transform: translateX(-50%) translateY(-50%) rotate(45deg);
background-color: #475f74;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
transition-property: transform;
-webkit-transition-duration: 0.2s;
-moz-transition-duration: 0.2s;
transition-duration: 0.2s;
}
.cd-close-info::after {
height: 2px;
width: 16px;
}
.cd-close-info::before {
height: 16px;
width: 2px;
}
@media only screen and (min-width:480px) {
.cd-close-info {
display: none;
}
}