.breadcrumbs ol a:hover,
html:not(.no-focus-outline) .breadcrumbs ol a:focus {
    color: #251e1e;
}

.panel--light .breadcrumbs ol a:hover,
.panel--light html:not(.no-focus-outline) .breadcrumbs ol a:focus,
[data-text=light] .breadcrumbs ol a:hover,
[data-text=light] html:not(.no-focus-outline) .breadcrumbs ol a:focus {
    color: #fff;
}

.banner--contact .banner__subtitle {
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

.marker-content {
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1rem;
    font-weight: 400;
}

.marker-content h2 {
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1.125em;
    font-weight: 500;
    margin: 0;
}

.section--map .section__directions .btn {
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

.section--video-inline .section__inner {
    display: grid;
    grid-template-areas: "video video""controls caption""unmute link";
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr auto;
    position: relative;
}

.section--video-inline .section__video-unmute {
    background: var(--pause-bg, #272727);
    grid-area: unmute;
}

.section--video-inline .section__video-unmute-inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 0 .3125rem .75rem;
}

.section--video-inline .section__video-controls {
    background: var(--pause-bg, #272727);
    grid-area: controls;
    padding-left: clamp(.9375rem, 2.2222222222vw, 2rem);
}

.section--video-inline .section__video-controls .section__video-pause {
    height: 100%;
}

.section--video-inline .section__video-controls .section__video-pause .btn {
    --background: var(--pause-bg, #272727);
    --icon-background: #2f54e6;
    --icon-colour: var(--pause-bg, #272727);
    --icon-height: clamp(1.9375rem, 4.8611111111vw, 4.375rem);
    margin-top: calc(clamp(2.375rem, 5.8333333333vw, 5.25rem)*-1);
    padding-bottom: .9375rem;
    position: relative;
    z-index: 1;
}

.section--video-inline .section__image img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

.section--video-inline .section__caption {
    grid-area: caption;
}

.section--video-inline .section__caption-inner {
    background: #fff;
    color: #251e1e;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    height: 100%;
    justify-content: center;
    padding: 1.25rem 1.125rem;
}

.section--video-inline .section__link {
    align-items: center;
    background: #fff;
    display: flex;
    grid-area: link;
    padding: 0 0 .6875rem;
}

.section--video-inline .section__link .btn {
    height: 100%;
    padding-left: 1.125rem;
    padding-right: clamp(1.125rem, 3.75vw, 3.375rem);
}

.section--video-inline .section__link .btn .btn__inner {
    height: 100%;
}

.section--video-inline .section__video {
    background: rgba(37, 30, 30, .1);
    grid-area: video;
    overflow: hidden;
    position: relative;
}

.section--video-inline .section__video:before {
    content: "";
    display: block;
    padding-top: 56.40625%;
    width: 100%;
}

.section--video-inline .section__video-inner {
    display: block;
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.section--video-inline .section__video iframe {
    display: block;
    height: auto;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
}

.section--video-inline-no-caption .section__video-controls {
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: 1;
}

.section--video-inline-full .section__video {
    max-height: calc(var(--vh, 1vh)*100 - var(--caption-height, 0));
}

.section--contact-form {
    margin-bottom: clamp(2.75rem, 10.625vw, 9.5625rem);
    padding-top: clamp(3.875rem, 10.2777777778vw, 9.25rem);
    position: relative;
}

.section--contact-form .section__inner {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    display: grid;
    grid-template-areas: "header""form""social";
    justify-content: space-between;
}

.section--contact-form .section__title {
    font-size: 1.875rem;
    font-weight: 400;
    line-height: calc(1em + .625rem);
    margin: 0;
    max-width: 21.25rem;
}

.section--contact-form .section__header {
    grid-area: header;
}

.section--contact-form .section__form {
    grid-area: form;
    margin-top: 2.75rem;
}

.section--contact-form .section__social {
    grid-area: social;
}

.section--contact-form .section__shape {
    bottom: 0;
    height: auto;
    position: absolute;
    right: 0;
    width: 60.6280193237%;
}

.section--display-village {
    color: hsla(0, 0%, 100%, .7);
    font-size: .875rem;
    line-height: 1.8571428571;
    margin-bottom: clamp(2rem, 2.5vw, 2.25rem);
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

[data-text=dark] .section--display-village {
    color: rgba(37, 30, 30, .7);
}

.section--display-village p {
    margin-bottom: 2.2857142857em;
}

.section--display-village a {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
}

.section--display-village a:hover,
html:not(.no-focus-outline) .section--display-village a:focus {
    color: #fff;
    -webkit-text-decoration-color: currentColor;
    text-decoration-color: currentColor;
}

[data-text=dark] .section--display-village a:hover,
[data-text=dark] html:not(.no-focus-outline) .section--display-village a:focus {
    color: #251e1e;
}

.section--display-village .section__content {
    grid-area: content;
}

.section--display-village .section__contact {
    grid-area: contact;
    letter-spacing: .0111111111em;
}

.section--display-village .section__title {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 300;
    letter-spacing: .005em;
    margin-bottom: .4em;
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

[data-text=dark] .section--display-village .section__title {
    color: #251e1e;
}

.section--display-village .section__subtitle {
    color: #fff;
    font-size: 1em;
    margin: 0 0 .2142857143em;
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

[data-text=dark] .section--display-village .section__subtitle {
    color: #251e1e;
}

.section--display-village .section__open-hours {
    grid-area: openhours;
    letter-spacing: .0111111111em;
}

.section--display-village .section__open-hours .list {
    list-style: none;
    padding: 0;
}

.section--display-village .section__open-hours .list li {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}

.section--display-village .section__open-hours .list .list__value {
    color: #fff;
    display: block;
    padding-left: 1.6875rem;
    transition-duration: .3s;
    transition-property: color;
    transition-timing-function: ease-in-out;
    white-space: nowrap;
}

[data-text=dark] .section--display-village .section__open-hours .list .list__value {
    color: #251e1e;
}

.contact-header {
    overflow: hidden;
}

.section--video-inline {
    --pause-bg: #000;
}

@media (min-width:768px) {
    .section--video-inline .section__inner {
        grid-template-areas: "video video video video""controls caption link""unmute caption link";
        grid-template-columns: auto 1fr auto;
        grid-template-rows: auto 1fr auto;
    }

    .section--contact-form .section__inner {
        grid-template-areas: "header header""form social";
        grid-template-columns: 1fr 24.765625%;
    }

    .section--contact-form .section__title {
        margin-bottom: .4em;
    }

    .section--contact-form .section__form {
        margin-top: 1rem;
        max-width: 38.5rem;
    }

    .section--contact-form .section__shape {
        width: 30.7142857143%;
    }

    .section--display-village .section__inner {
        -moz-column-gap: .625rem;
        column-gap: .625rem;
        display: grid;
        grid-template-areas: "content content""contact openhours";
        grid-template-columns: repeat(2, auto);
        justify-content: space-between;
    }
}

@media (min-width:992px) {
    .section--video-inline .section__inner {
        grid-template-areas: "video video video video""controls unmute caption link";
        grid-template-columns: auto auto 1fr auto;
        grid-template-rows: auto 1fr;
    }

    .section--video-inline .section__video-unmute-inner {
        background: #fff;
        padding: 0 0 0 clamp(1.125rem, 2.5694444444vw, 2.3125rem);
    }

    .section--video-inline .section__caption-inner {
        min-height: 8.125rem;
        padding: 1.25rem clamp(1.125rem, 5.2777777778vw, 4.75rem) 1.25rem clamp(1.125rem, 4.6527777778vw, 4.1875rem);
    }

    .section--video-inline .section__caption-centre {
        text-align: center;
    }

    .section--video-inline .section__link {
        border-left: 1px solid rgba(37, 30, 30, .05);
        padding: 0;
    }

    .section--video-inline .section__link .btn {
        padding-left: clamp(1.125rem, 2.7777777778vw, 2.5rem);
    }

    .section--display-village {
        line-height: 1.5555555556;
    }

    .section--display-village .section__inner {
        grid-template-areas: "content contact openhours";
        grid-template-columns: 36.015625% 1fr 24.6875%;
    }

    .section--display-village .section__contact,
    .section--display-village .section__open-hours {
        margin-top: .8125rem;
    }

    .section--display-village .section__title {
        margin-bottom: .5em;
    }

    .section--display-village .section__subtitle {
        margin-bottom: 0;
    }

    .section--display-village .section__open-hours .list {
        max-width: 17.9375rem;
    }
}

@media (min-width:1200px) {
    .section--contact-form .section__title {
        font-size: 2.0833333333rem;
    }

    .section--contact-form .section__title {
        max-width: 23.8020833333rem;
    }

    .section--display-village {
        font-size: .9375rem;
    }
}

@media (min-width:1440px) {
    .section--contact-form .section__title {
        font-size: 2.5rem;
    }

    .section--contact-form .section__title {
        max-width: 28.5625rem;
    }

    .section--display-village {
        font-size: 1.125rem;
    }
}

@media (max-width:991px) {
    .section--video-inline .section__inner {
        margin-left: -2.1875rem;
        margin-right: -2.1875rem;
    }

    .section--video-inline .section__video-unmute .btn--unmute-video {
        background: hsla(0, 0%, 100%, .05);
        color: #fff;
    }

    .section--video-inline-full .section__inner {
        margin-left: 0;
        margin-right: 0;
    }

    .section--contact-form .section__social {
        margin-top: 4.6875rem;
    }
}

@media (max-width:767px) {
    .section--contact-form {
        margin-bottom: 2.75rem;
        padding-bottom: 50.9661835749%;
    }
}