body {
    width: 100%;
    color: #57483F;
    background: #fff url(../images/bg.png) top center repeat-x;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Times, "Times New Roman", serif;
    overflow-y: scroll;
}

* {
    -webkit-text-size-adjust: none;
}

p {
    padding: 0;
    margin: 0 0 .6em 0;
    font-size: 1.3em;
    line-height: 1.2em;
}

a,
a:visited {
    text-decoration: none;
}

ul,
ol {
    margin: 0 0 1.2em 0;
    padding: 0 0 0 20px;
}

ol {
    padding: 0 0 0 30px;
}

ul li,
ol li {
    font-size: 1.2em;
    line-height: 1.4em;
}

li li {
    font-size: 1em;
}

p.message.good + fieldset,
p.message.good + fieldset + div.Actions {
    display: none;
}

fieldset {
    margin: 0;
    padding: 0;
    border: none;
}

article,
footer {
    width: auto;
    float: none;
}

.wrapper {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.center {
    text-align: center;
}

.floatLeft {
    float: left;
}

.floatRight {
    float: right;
}

.leftAlign {
    text-align: left;
}

.rightAlign {
    text-align: right;
}

.clear {
    clear: both;
}

.imagelink {
    font-size: .05mm;
    line-height: .05mm;
    text-indent: -8000px;
    display: inline-block;
}

.hidden {
    display: none;
}

.clearfix::after {
    content: '';
    display: table;
    clear: both;
}

a#menulink {
    display: none;
}

div.template,
div.page {
    width: auto;
}

div.page {
    float: none;
}

header {
    padding: 20px 0;
    display: block;
    color: #fff;
    overflow: hidden;
}

header p {
    margin: .2em 0;
    white-space: nowrap;
    color: #fff;
}

header p.logo {
    float: left;
}

header p.logo a {
    background: url(../images/logo.png) top left no-repeat;
    width: 336px;
    height: 66px;
}

header .header {
    width: 100%;
    float: none;
}

header .info {
    float: right;
    padding-bottom: 8px;
    width: 437px;
}

header .info .left {
    width: 270px;
}

header .info .left p.phone {
    font-size: 2em;
    font-weight: bold;
    font-family: "Georgia";
    color: #fff;
}

header .info ul {
    list-style: none;
    margin: 0;
    padding: 18px 0 0;
    float: none;
}

header .info ul li {
    float: left;
    padding: 0 10px;
    line-height: 1em;
}

header .info ul li a {
    font-size: 1.2em;
    color: #fff;
    text-decoration: underline;
    font-weight: bold;
}

header .info ul li a:hover,
header .info ul li a.active {
    color: #c0c0c0;
    text-decoration: underline;
}

header .info ul li:first-child {
    border-right: 1px solid #fff;
    padding-left: 0;
}

header .info .right {
    width: 143px;
    text-align: center;
}

header .info .right p.spacer {
    margin: 0 0 1em;
}

header .info a.book {
    background: url(../images/btnbook.png) top left no-repeat;
    color: #546049;
    display: inline-block;
    padding: 9px 0;
    text-align: center;
    width: 142px;
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: bold;
}

header .info a.book:hover {
    color: #c0c0c0;
}

header .info a.reviews {
    background: url(../images/btn-tripadvisor.png) top left no-repeat;
    width: 117px;
    height: 20px;
    margin: 0 auto;
}

header .info a.reviews:hover,
header .info a.active {
    background-position: bottom left;
}

div.header ul {
    float: none;
}

div.header ul.header-buttons {
    margin-bottom: 15px;
    float: right;
}

div.header .header-link {
    text-decoration: underline;
}

div.header .header-link:hover {
    text-decoration: none;
}

.header-extras {
    float: right;
}

.header-buttons {
    padding: 0;
    list-style: none;
}

.header-buttons li {
    float: left;
}

.header-buttons li:first-child {
    margin-right: 4px;
}

.header-button {
    display: block;
    height: 42px;
    border-radius: 3px;
    overflow: hidden;
    font-family: 'Georgia';
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 40px;
    color: #546049;
}

.header-button-text {
    display: inline-block;
    padding: 0 17px;
    background: #e5dbd3;
    /* Old browsers */
    background: -moz-linear-gradient(top, #fff 0%, #e5dbd3 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #fff 0%, #e5dbd3 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #fff 0%, #e5dbd3 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border: 1px solid #fff;
    vertical-align: top;
}

.header-button:hover .header-button-text {
    background: #fff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #e5dbd3 0%, #fff 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e5dbd3 0%, #fff 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #e5dbd3 0%, #fff 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.header-button--phone {
    background: #748266;
    /* Old browsers */
    background: -moz-linear-gradient(top, #748266 0%, #546049 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #748266 0%, #546049 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #748266 0%, #546049 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.header-button--phone::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 100%;
    background: url(../images/icon-phone.png) no-repeat center;
}

.header-button--phone .header-button-text {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.header-button--book {
    background: #ef7d49;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ef7d49 0%, #ef7d49 99%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ef7d49 0%, #ef7d49 99%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ef7d49 0%, #ef7d49 99%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    color: #f07c17;
}

.header-button--book::after {
    content: '»';
    display: inline-block;
    width: 40px;
    height: 100%;
    font-size: 36px;
    text-align: center;
    line-height: 36px;
    color: #fff;
}

.header-button--book .header-button-text,
.header-button--book:hover .header-button-text {
    background: transparent;
    border-color: transparent;
    color: #fff;
}

.header-links {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
}

.header-links li {
    display: inline-block;
    padding: 0 13px;
    vertical-align: bottom;
}

.header-links li:first-child {
    padding-left: 0;
}

.header-links li:last-child {
    padding-right: 0;
}

.header-link {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
}

.header-link--booking {
    display: block;
    width: 150px;
    height: 25px;
    position: relative;
    bottom: -3px;
    font-size: 0;
    color: transparent;
    background: url(../images/booking.com-logo.png) no-repeat;
}

#slideshow {
    height: 0;
    padding-bottom: 32.9375%;
    position: relative;
    overflow: hidden;
}

#slideshow img {
    display: block;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

nav {
    background: url(../images/bgnav.png);
}

nav ul.nav {
    width: auto;
    padding: 15px 8px;
    float: none;
    text-align: center;
}

nav ul.nav a,
nav ul.nav a:visited {
    color: #E9DED7;
    display: block;
    padding: 0 15px;
    border-right: 1px solid #E9DED7;
    font-size: 1.1em;
}

nav ul.nav li:last-child a,
nav ul.nav a.last,
nav ul.nav li {
    border: 0;
    padding-right: 0;
}

nav ul.nav li {
    display: inline-block;
    position: relative;
    float: none;
}

nav ul.nav li:hover .sub {
    display: block;
}

nav ul.nav li:last-child a {
    border: 0;
    padding-right: 0;
}

nav ul.nav a:hover,
nav ul.nav a.active {
    color: #fff;
    text-decoration: none;
}

nav .sub {
    display: none;
    min-width: 100%;
    padding-top: 5px;
    position: absolute;
    top: 100%;
    left: 5px;
}

nav ul.subnav {
    margin: 0;
    padding: 10px;
    list-style: none;
    background: #58644c;
    text-align: left;
}

nav ul.subnav li {
    display: block;
    float: none;
}

nav ul.subnav a {
    padding: 0;
    border: none;
    font-size: 14px;
}

div.home {
    padding: 0;
    position: relative;
    width: 900px;
}

div.home h1 {
    font-size: .05mm;
    line-height: .05mm;
    text-indent: -8000px;
    background: url(../images/welcome.png) top left no-repeat;
    width: 187px;
    height: 34px;
    padding: 10px 0;
    overflow: hidden;
    margin-left: -3px;
}

div.home .intro {
    font-weight: normal !important;
    line-height: 1.3em !important;
}

div.home .homenews {
    background: url(../images/bgnewshome.png) top left repeat-x;
    width: 290px;
    margin-top: 15px;
    position: absolute;
    bottom: 0;
    right: 0;
}

div.home .homenews p,
div.home .homenews h2 {
    margin: 0;
    color: #fff;
}

div.home .homenews h2 {
    font-size: 1.6em;
}

div.home .homenews p.left {
    width: 71px;
}

div.home .homenews .newsText.left {
    width: 189px;
    padding: 11px 15px;
}

div.home .homenews .newsText p {
    line-height: 1.1em;
    margin-top: .3em;
}

div.home .homenews a,
div.home .homenews a:visited {
    color: #A59489;
}

div.home .homenews a:hover {
    color: #fff;
    text-decoration: none;
}

div.home div.introduction .text {
    position: absolute;
    top: 28px;
    right: 18px;
    z-index: 99;
    width: 476px;
    height: 323px;
}

div.introduction {
    position: relative;
}

div.introduction .Intro,
div.home .intro {
    font-size: 1.4em;
    line-height: 1.5em;
    font-weight: bold;
}

div.introduction p {
    font-size: 1.2em;
    line-height: 1.6em;
}

div.introduction a,
div.introduction a:visited {
    font-weight: bold;
    color: #0088CB;
}

iframe.reservations {
    border: 0;
    width: 879px;
    height: 900px;
    margin-left: -7px;
}

div.reviews {}

div.reviews .reviewsTitle p {
    font-size: 1.4em;
    padding-bottom: 1em;
}

div.reviews .review {
    border-bottom: 1px solid #A59489;
    padding: 5px 0;
    margin: 10px 0;
    overflow: hidden;
}

div.reviews .review img {
    float: left;
    border: 1px solid #c0c0c0;
    padding: 2px;
    margin: 0 5px 5px 0;
}

div.reviews .review p,
div.reviews .review a {
    clear: both;
}

div.dynamic {
    padding: 0 !important;
}

div.dynamic hr {
    border-bottom: 1px dotted #d2d2d2 !important;
    padding: 0 !important;
}

div.dynamic .dynamicinner p {
    margin: 0 !important;
}

div.dynamic .dynamicinner img {
    padding: 0 20px 20px 0;
}

div.dynamic .dynamicinner h2 {
    margin: 0 0 .5em !important;
}

div.dynamic p.author {
    margin: 1em 0 !important;
    font-style: italic;
    color: #a0a0a0;
}

div.dynamicCategory {}

div.dynamicCategory .pageContent {
    overflow: hidden;
    padding-bottom: 20px;
}

div.dynamicCategory .dynamicContent {
    width: 630px !important;
}

div.dynamicCategory .categories {
    width: 180px !important;
}

div.links {}

div.links h2 {
    font-size: 1.4em !important;
    text-transform: uppercase;
    height: 14px;
}

div.links .linkGroup {
    float: left;
    width: 240px;
    padding-right: 30px;
}

div.links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

div.links ul li {
    overflow: hidden;
    padding: .3em 0;
}

div.links ul li a,
div.links ul li a:visited {
    color: #B27E21;
    text-decoration: none;
}

div.links h3 {
    font-size: 1.3em;
    margin: 0 0 .1em;
}

div.panels {
    width: auto;
    padding: 15px 0;
    float: none;
}

div.panels .panel {
    width: 32%;
    padding: 0;
}

div.panels .panel2,
div.panels .panel3 {
    margin-left: 2%;
}

div.panels .panel img {
    width: 100%;
    height: auto;
}

div.panels p {
    font-size: 1.2em;
    line-height: 1.7em;
}

div.panels a,
div.panels a:visited {
    color: #546049;
    font-weight: bold;
}

div.panels h2 {
    font-size: 2.1em;
    color: #546049;
    margin: 0 0 .4em;
}

div.panels .title {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.5em;
    margin: 0;
    line-height: 1.3em;
}

div.panels .dateTime {
    font-weight: bold;
    font-size: 1.1em;
    margin: 0;
}

div.panels .panel img {
    max-width: 100%;
    margin-bottom: 8px;
}

.security {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background: #E9DED7;
}

div.content {
    width: auto;
    min-height: 320px;
    padding: 25px 0;
    float: none;
}

div.content hr {
    border-bottom: 1px solid #D2D2D2;
    color: #D2D2D2;
}

div.content h1 {
    color: #5B5320;
    font-size: 2.3em;
    text-transform: uppercase;
    font-weight: normal;
    font-family: "Georgia";
}

div.content h2 {
    color: #5B5320;
    font-family: "Georgia";
    font-size: 1.6em;
}

div.content h3 {
    color: #5B5320;
    font-family: "Georgia";
    font-size: 1.1em;
}

div.content h2 a,
div.content h2 a:visited {
    color: #B27E21;
    text-decoration: none;
    font-size: 1em;
}

div.content h2 a:hover {
    text-decoration: none;
}

div.content .Intro,
div.content .intro {
    font-size: 1.4em;
    line-height: 1.3em;
    font-weight: bold;
}

div.content p {
    font-size: 1.2em;
    line-height: 1.5em;
    color: #000;
}

div.content a,
div.content a:visited {
    text-decoration: underline;
    color: #000;
}

div.content a:hover {
    color: #949494;
}

div.content ul.meta,
div.content p.meta {
    border-top: 1px dotted #D2D2D2;
}

div.content img.right {
    padding: 0 0 20px 20px;
}

div.content img.left {
    padding: 0 20px 20px 0;
}

div.content table {
    padding: 0;
    margin: 0;
}

div.content td {
    padding: 0;
    margin: 0;
}

div.contentright ol li {
    font-size: 1.1em !important;
}

div.contentleft {
    padding: 0 30px 0 0 !important;
}

div.nav_sub ul {
    margin: 0;
    padding: 0 0 0 14px;
    list-style: disc !important;
}

div.nav_sub ul li a,
div.nav_sub ul li a:visited {
    color: #4C4C4C;
    font-size: 1.2em;
    font-weight: normal;
    text-decoration: none !important;
}

div.nav_sub ul li a:hover,
div.nav_sub ul li a.current {
    text-decoration: underline !important;
}

div.content h2,
div.content h3 {
    margin-top: 0.3em;
}

div.column-left {
    width: 575px;
    float: left;
}

div.column-right {
    width: 245px;
    float: right;
}

div.video {
    width: 245px;
    height: 200px;
    margin-bottom: 10px;
    background: #000;
}

div.contact {}

div.contact .contactleft img {
    margin: 40px 0;
}

div.contact .contactright {
    width: 595px !important;
}

div.contact iframe {
    width: 590px;
    height: 400px;
    border: 1px solid #c0c0c0;
    margin-bottom: 20px;
}

div.contact a,
div.contact a:visited {
    color: #5B5320;
    font-weight: bold;
    text-decoration: none;
}

div.gallery {
    display: flex;
    flex-wrap: wrap;
}

div.gallery p.thumb {
    box-sizing: border-box;
    width: 20%;
    padding: 5px 8px;
}

.contentright div.gallery p.thumb {
    width: 33.3333%;
}

div.gallery p.thumb img {
    box-sizing: border-box;
    max-width: 100%;
    border: 1px solid #c0c0c0;
    padding: 2px;
}

div.gallery p.thumb img:hover {
    border: 1px solid #5b5320;
}

div.wide a.hawkesbaynz {
    display: block;
    width: 80px;
    height: 43px;
    background: url(../images/hbnz.gif) top left no-repeat;
    margin: -40px 0 10px;
}

footer {
    border-top: 1px solid #546049;
    padding: 12px 0 20px;
    clear: both;
    display: block;
    min-height: 100px;
}

footer p,
footer a {
    font-size: 1.2em;
    margin: 0 0 .3em;
    color: #546049;
}

footer a,
footer a:visited {
    color: #57483F;
    font-size: 1.1em;
    text-decoration: none;
    font-weight: bold;
}

footer ul {
    margin: 0 0 .3em;
    padding: 0;
    list-style: none;
    overflow: hidden;
    float: right;
    display: block;
}

footer ul a:hover {
    color: #949494;
}

footer ul li {
    float: left;
    white-space: nowrap;
    background: url(../images/sep.gif) center right no-repeat;
    display: block;
    padding: 0 1em 0 .8em;
}

footer ul li.last {
    background: none;
    padding-right: 0;
}

footer ul.copy {
    clear: left;
}

footer ul.copy li,
footer ul.copy a {
    font-size: 1em;
}

footer .info {
    width: 285px;
}

footer .info a,
footer .info a:visited {
    font-size: 1em;
}

footer .logos {
    /*width: 156px;*/
    padding-left: 15px;
}

footer .logos a.bb {
    display: block;
    width: 202px;
    height: 49px;
    margin-right: 10px;
    background: url(../images/b&bassoc.png) center no-repeat;
}

footer .logos a.hbnz {
    display: block;
    width: 80px;
    height: 43px;
    background: url(../images/hbnz.gif) top left no-repeat;
}

form.loading {
    background: url(../images/loading.gif) no-repeat bottom left;
}

div.loading {
    background: url(../images/loading.gif) no-repeat;
}

.form {
    font-size: 1.2em;
    line-height: 1.5em;
}

.Actions {
    text-align: right;
}

.required label::after {
    content: ' *';
    color: #ad0202;
}

input.text,
textarea,
select,
input,
div.content div.wide div.location {
    background: #DCD0C7;
    color: #52391F;
    border: 1px solid #A29287;
}

input.text,
select,
textarea,
div.content div.form .field input.text,
div.content div.form .field textarea,
div.content div.form .field select {
    box-sizing: border-box;
    width: 100%;
}

input[type="checkbox"] {
    vertical-align: middle;
}

input.action {
    background: #686868;
    color: #fff;
}

input.alert,
select.alert,
textarea.alert {
    border: 1px solid #ad0202;
}

span.star {
    color: #ad0202;
}

div.status {
    background: #ad0202;
    border: 1px solid #ad0202;
    width: 292px;
}

div.status ul {
    background: #fff;
    color: #ad0202;
    width: 262px;
}

div.status p {
    width: auto;
}

div.fbfull img {
    float: left;
    padding: 5px 5px 10px 0;
}

div.fbfull br {
    clear: both;
}
