*, *::before, *::after { box-sizing: border-box; }

html { height: 100%; }

body { margin: 0; min-height: 100%; background-color: #fff; }

img { max-width: 100%; vertical-align: middle; display: inline-block; }

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

button, [type='button'], [type='reset'] { border: 0; cursor: pointer; -webkit-appearance: button; }

/* Nav mobile */
.navigation-wrap { display: none; }
.navbar.is-nav-open .navigation-wrap { display: flex; }

/* Dropdown */
.nav-drop-list { display: none; position: absolute; }
.nav-drop-list.is-open { display: block; }

/* Tabs */
.booking-tab-pane { display: none; }
.booking-tab-pane.is-active { display: block; }

/* FAQ accordion */
.faq-answer-wrap { height: 0; overflow: hidden; transition: height 0.3s ease; }
.faq-item.is-open .faq-answer-wrap { height: auto; }

/* Forms feedback */
.success-message { display: none; padding: 20px; text-align: center; background-color: #dddddd; }
.error-message { display: none; }
.success-message.is-visible,
.error-message.is-visible { display: block; }

/* At >=992px show nav always */
@media screen and (min-width: 992px) {
  .navigation-wrap { display: flex !important; }
  .nav-mobile-button { display: none; }
}
