
@media print,
screen and (max-width:56.18625em) {
    body.no-scroll {
        overflow: hidden !important
    }

    body.no-scroll #location-nav-mobile {
        margin-bottom: 4.375rem
    }
}

.map {
    padding-top: 2rem;
    padding-bottom: 7rem
}

@media print,
screen and (max-width:47.93625em) {
    .map {
        padding-bottom: 1.5rem
    }
}

.map h2 {
    text-align: center
}

@media print,
screen and (max-width:47.93625em) {
    .map .has-top-padding {
        padding-top: 0
    }
}

.map .globe-wrapper {
    display: block;
    position: relative;
    width: 100%;
    height: 37.5rem;
    overflow: hidden;
    text-align: center
}

.map .globe-wrapper .globe-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.map .globe-wrapper .map-reset {
    font-size: 16px;
    text-decoration: underline;
    transition: color .2s;
    display: none
}

.map .globe-wrapper .map-reset:hover {
    color: #012953
}

.map .globe-wrapper .map-legend {
    position: absolute;
    top: 10%;
    font-size: 18px;
    font-weight: 300;
    display: block;
    padding-left: 1.5625rem;
    text-align: left
}

@media print,
screen and (max-width:47.93625em) {
    .map .globe-wrapper .map-legend {
        top: 0
    }
}

.map .globe-wrapper .map-legend:before {
    top: .5rem;
    left: .3125rem;
    width: .75rem;
    height: .75rem;
    background-color: #012953
}

.map .globe-wrapper .map-legend:after,
.map .globe-wrapper .map-legend:before {
    content: " ";
    position: absolute;
    display: inline-block;
    border-radius: 100%;
    box-sizing: content-box
}

.map .globe-wrapper .map-legend:after {
    top: .3125rem;
    left: .125rem;
    width: 1.125rem;
    height: 1.125rem;
    background-color: rgba(76, 32, 158, .4);
    opacity: 1;
    animation: Bb 2s infinite
}

.map .globe-wrapper.active .map-legend {
    display: none
}

.map .globe-wrapper.active .globe-overlay {
    display: block
}

@media screen and (max-width:767px) {
    .map .globe-wrapper {
        height: auto
    }
}

.globe-wrapper svg {
    cursor: move;
    cursor: grab;
    cursor: -webkit-grab
}

.globe-wrapper svg:active {
    cursor: grabbing;
    cursor: -webkit-grabbing
}

.globe-wrapper .land {
    fill: #fff;
    opacity: 1
}

.globe-wrapper .countries path {
    fill: #f5f5f5;
    opacity: .1;
    pointer-events: none
}

.globe-wrapper .lines path {
    fill: none;
    stroke: #4f2291;
    stroke-opacity: .3;
    stroke-dasharray: 5, 5
}

.globe-wrapper .water {
    fill: #e4e4e4;
    opacity: 1
}

.globe-wrapper circle {
    fill: #fff
}

.globe-wrapper .labels {
    font: 8px sans-serif;
    fill: #000;
    opacity: 1;
    cursor: pointer
}

.globe-wrapper .noclicks {
    pointer-events: none
}

.globe-wrapper .points.inactive .point {
    opacity: .3
}

.globe-wrapper .points.inactive .point.active {
    opacity: 1
}

.globe-wrapper .point {
    fill: #012953;
    cursor: pointer;
    transition: opacity 1s, stroke-width .5s;
    stroke-width: 0;
    stroke-opacity: .3;
    stroke: #012953
}

.globe-wrapper .point:not(.active) {
    animation: Cb 2s infinite;
    animation-delay: 1s
}

.globe-wrapper .point.active,
.globe-wrapper .point:hover {
    stroke: #012953;
    stroke-width: 15;
    stroke-opacity: .3;
    opacity: 1
}

.globe-wrapper .point:hover {
    animation: none
}

@keyframes Bb {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes Cb {
    0% {
        stroke-width: 0
    }

    35% {
        stroke-width: 10
    }

    65% {
        stroke-width: 0
    }

    to {
        stroke-width: 0
    }
}

@keyframes Db {
    0% {
        opacity: 1
    }

    50% {
        opacity: 1;
        transform: scale(1.1)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes Eb {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.location-info {
    display: block;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 100%;
    text-align: left;
    transition: opacity .3s, z-index .3s;
    z-index: -1
}

@media screen and (max-width:767px) {
    .location-info {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column;
        flex-flow: column
    }

    .location-info.active {
        height: 100vh;
        z-index: 99999999 !important;
        background-color: #fbfbfb;
        overflow-y: scroll !important;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        padding: 1.25rem .625rem
    }
}

.location-info.active {
    opacity: 1;
    z-index: 10
}

.location-info.active .info-left .honeycomb-facts-wrapper .tile h2 {
    animation-name: Eb;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out
}

.location-info.active .info-left .honeycomb-facts-wrapper .tile p {
    animation-name: Db;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out
}

.location-info .close-info-mobile {
    display: none;
    max-width: 2.9375rem;
    -ms-flex-item-align: end;
    align-self: flex-end;
    padding: .375rem .5rem .125rem;
    margin-bottom: 0
}

@media screen and (max-width:767px) {
    .location-info .close-info-mobile {
        display: block
    }
}

.location-info .info-left {
    display: block;
    float: left;
    width: 50%;
    height: 38.4375rem
}

@media screen and (max-width:768px) {
    .location-info .info-left {
        height: auto
    }
}

.location-info .info-left .location-title {
    margin: .9375rem 0;
    font-size: 2.375rem;
    font-weight: 500
}

.location-info .info-left .location-short-text {
    display: block;
    max-width: 30rem;
    margin-bottom: 1.875rem;
    height: auto
}

@media screen and (max-width:768px) {
    .location-info .info-left .location-short-text {
        margin-bottom: 1.875rem;
        height: auto;
        width: auto;
        max-width: 9999px
    }
}

.location-info .info-left .hex-icon {
    display: block;
    margin: -.9375rem 0 0;
    padding-left: 1.5625rem;
    position: relative
}

.location-info .info-left .hex-icon:before {
    width: 1.125rem;
    height: 1.125rem
}

.location-info .info-left .honeycomb-facts-wrapper .tile h2 {
    opacity: 0
}

.location-info .info-left .honeycomb-facts-wrapper .tile p {
    opacity: 0;
    transform: scale(.8)
}

.location-info .info-left .honeycomb-facts-wrapper .keyPoint1 h2,
.location-info .info-left .honeycomb-facts-wrapper .keyPoint1 p {
    animation-delay: .5s
}

.location-info .info-left .honeycomb-facts-wrapper .keyPoint2 h2,
.location-info .info-left .honeycomb-facts-wrapper .keyPoint2 p {
    animation-delay: .9s
}

.location-info .info-left .honeycomb-facts-wrapper .keyPoint3 h2,
.location-info .info-left .honeycomb-facts-wrapper .keyPoint3 p {
    animation-delay: 1.3s
}

.location-info .info-left .honeycomb-facts-wrapper .keyPoint4 h2,
.location-info .info-left .honeycomb-facts-wrapper .keyPoint4 p {
    animation-delay: 1.7s
}

@media screen and (max-width:767px) {
    .location-info .info-left {
        width: 100%;
        height: auto;
        -ms-flex-order: 1;
        order: 1
    }

    .location-info .info-left .location-short-text {
        height: auto;
        margin-bottom: 1.875rem;
        text-align: center;
        padding: 0 1.5625rem
    }
}

.location-info .info-right {
    display: block;
    float: right;
    width: 21rem;
    position: relative;
    padding-top: 2.0625rem
}

.location-info .info-right .location-title {
    font-size: 3rem;
    font-weight: 500;
    color: #012953;
    margin: 0;
    position: absolute;
    top: 0;
    left: -5.625rem;
    z-index: 2
}

@media screen and (max-width:768px) {
    .location-info .info-right .location-title {
        left: 1.25rem
    }
}

.location-info .info-right nav {
    margin-top: 6.875rem
}

.location-info .info-right .more-info {
    float: right
}

.location-info .info-right .close-info {
    float: left;
    max-width: 2.9375rem;
    padding: .4375rem .5rem .1875rem;
    margin-right: 2.5rem
}

@media screen and (max-width:767px) {
    .location-info .info-right {
        width: 100%;
        height: auto;
        -ms-flex-order: 0;
        order: 0;
        padding-top: 0
    }

    .location-info .info-right .location-title {
        font-size: 2rem;
        position: relative;
        left: auto;
        margin-bottom: .9375rem
    }
}

.location-info .honeycomb-facts-wrapper .tile {
    background: none;
    min-height: 11.5rem
}

.location-info .honeycomb-facts-wrapper .tile p {
    background: url(../images/honeycomb.svg) no-repeat 50%;
    background-size: 76%;
    padding: 0;
    height: 124px;
    display: block;
    overflow: hidden;
    max-width: 11.5625rem
}

.location-info .honeycomb-facts-wrapper .tile p strong {
    font-weight: 500;
    display: block;
    line-height: 124px
}

.location-info .honeycomb-facts-wrapper .tile h2 {
    margin: 5rem 0 0;
    display: block;
    width: 100%;
    margin: 0;
    top: 6.875rem
}

@media screen and (max-width:768px) {
    .location-info .honeycomb-facts-wrapper h2 {
        margin: 0 !important;
        top: 0 !important
    }

    .location-info .honeycomb-facts-wrapper .tile {
        margin-bottom: 1.25rem
    }

    .location-info .honeycomb-facts-wrapper .tile p {
        background-size: 61%
    }
}

.location-info .category-icons-wrapper .icon-wrapper {
    text-align: center;
    padding-right: 1.875rem
}

.location-info .category-icons-wrapper .icon-wrapper .icon {
    color: #8a41d9;
    font-size: 3.25rem
}

.location-info .category-icons-wrapper .icon-wrapper span {
    display: block;
    font-size: 1rem
}

@media print,
screen and (max-width:47.93625em) {
    .location-info .category-icons-wrapper .icon-wrapper {
        padding-right: .9375rem;
        padding-left: .9375rem;
        text-align: center
    }
}

@media print,
screen and (max-width:47.93625em) {
    .location-info .category-icons-wrapper {
        -ms-flex-pack: center;
        justify-content: center
    }

    .location-info .category-icons-wrapper .icon-wrapper {
        padding-right: .9375rem;
        padding-left: .9375rem;
        text-align: center
    }
}

.location-info #location-nav-mobile {
    display: none;
    background-color: #f5f3f7;
    width: 100%;
    -ms-flex-order: 3;
    order: 3;
    padding: 2.625rem 0;
    position: relative
}

@media screen and (max-width:767px) {
    .location-info #location-nav-mobile {
        display: block
    }
}

.location-info #location-nav-mobile .next-arrow,
.location-info #location-nav-mobile .prev-arrow {
    font-size: 3.75rem;
    color: #012953;
    text-decoration: none;
    position: absolute;
    top: 1.4375rem
}

.location-info #location-nav-mobile .next-arrow {
    right: -.6875rem
}

.location-info #location-nav-mobile .prev-arrow {
    left: -.6875rem
}

.location-info #location-nav-mobile .readmore {
    display: block;
    margin: 0 auto;
    max-width: 12.5rem
}

.location-info-bubble {
    background-color: #012953;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    position: absolute;
    min-width: 7.5rem;
    text-align: left;
    transition: opacity .3s, z-index .3s;
    z-index: -1;
    border-radius: .625rem;
    padding: 15px;
    top: 60%;
    left: 46.5%;
}

@media print,
screen and (min-width:47.9375em) and (max-width:56.18625em) {
    .location-info-bubble {
        top: 58%
    }
}

@media screen and (max-width:48em) {
    .location-info-bubble {
        top: 33%
    }
}

@media print,
screen and (max-width:47.93625em) {
    .location-info-bubble {
        top: 33%
    }
}

.location-info-bubble.active {
    opacity: 1;
    z-index: 10
}

.location-info-bubble .icons,
.location-info-bubble .name-and-info {
    display: inline-block;
    width: auto;
    float: left;
    position: relative;
    z-index: 999;
    max-width: 12.5rem
}

.location-info-bubble .icons {
    text-align: center;
    display: none!important;
}

.location-info-bubble .icons .icon {
    color: #c48eff;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
    display: inline-block;
    margin: .5rem .75rem 0 0
}

.location-info-bubble .name-and-info {
    color: #fff;
    padding-top: 2px
}

.location-info-bubble .name-and-info h3 {
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0;
    padding: 0;
    line-height: .875rem;
    display: block;
    float: left;
    width: 100%
}

.location-info-bubble .name-and-info h3 a {
    text-decoration: none;
    color: #fff;
    display: block
}
.location-info-bubble .name-and-info h3 a:hover{
    text-decoration: none!important;
}

.location-info-bubble .name-and-info h3 a .icon,
.location-info-bubble .name-and-info h3 a span {
    display: inline-block;
    float: left
}

.location-info-bubble .name-and-info h3 a .icon {
    margin: -.0625rem 0 0 .375rem
}

.location-info-bubble .name-and-info h3 a:hover span {
    text-decoration: none
}

.location-info-bubble .name-and-info span.info {
    font-size: .75rem
}

.location-info-bubble .name-and-info span.info:first-letter {
    text-transform: uppercase !important
}

.location-info #location-nav-mobile.portfolio-page-nav-mobile {
    padding: 1.25rem 0;
    margin: .625rem 0 1.875rem
}

.location-info #location-nav-mobile.portfolio-page-nav-mobile .button {
    float: none !important
}

@media screen and (max-width:767px) {

    .location-info .info-right nav,
    .portfolio-content .location-info .info-right:after,
    .single-location-content .location-info .info-right:after {
        display: none
    }
}

.location-info.single-project {
    opacity: 1;
    max-width: 75rem;
    margin: 0 auto;
    position: relative;
    padding: 0 .75rem
}

.location-info.single-project .honeycomb-facts-wrapper .tile p {
    opacity: 1;
    transform: none;
    max-width: 11.5625rem
}

@media screen and (max-width:768px) {
    .location-info.single-project .honeycomb-facts-wrapper .tile p {
        margin: 0
    }
}

.location-info.single-project .honeycomb-facts-wrapper .tile h2 {
    opacity: 1
}

#globe-wrapper-single-location {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0
}

svg#defs {
    display: none
}

.dc_locations-template-default .globe-wrapper .water,
.page-template-portfolio .globe-wrapper .water {
    fill: #f4f4f4
}

.dc_locations-template-default .globe-wrapper .point,
.page-template-portfolio .globe-wrapper .point {
    fill: #012953;
    cursor: pointer;
    transition: opacity 1s, stroke-width .5s;
    stroke-width: 0;
    stroke-opacity: .3;
    stroke: #012953
}

.dc_locations-template-default .globe-wrapper .point:not(.active),
.page-template-portfolio .globe-wrapper .point:not(.active) {
    animation: Cb 2s infinite;
    animation-delay: 1s
}

.dc_locations-template-default .globe-wrapper .point.active,
.page-template-portfolio .globe-wrapper .point.active {
    stroke: #8a41d9;
    stroke-width: 15;
    stroke-opacity: .9;
    opacity: 1;
    fill: #8a41d9
}

.dc_locations-template-default .globe-wrapper .point:hover,
.page-template-portfolio .globe-wrapper .point:hover {
    animation: none;
    stroke: #012953;
    stroke-width: 15;
    stroke-opacity: .3;
    opacity: 1
}