/* CLANMACDUFF */
/* variables */
:root {
  --font-title: "Roboto Slab", Georgia, "Times New Roman", serif;
  --font-body: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-body-secondary: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-cursive: "Satisfy", cursive;
  --brand-primary: #00598d;
  --brand-primary-dark: #003a5c;
  --brand-secondary: #439539;
  --brand-secondary-dark: #326f2a;
  --brand-third: #808080;
  --brand-fourth: #865820;
  --brand-fifth: #F4EDE6;
  --brand-sixth: #002E5F;
  --brand-white: #FFF;
  --brand-neutral-5: #f2f2f2;
  --brand-neutral-10: #e5e5e5;
  --brand-neutral-25: #ccc;
  --brand-neutral-60: #808080;
  --brand-neutral-90: #333;
  --brand-neutral-95: #0d0d0d;
  --brand-black: #000;
  --primary-action: #439539;
  --primary-action-hover: #326f2a;
  --secondary-action: #00598d;
  --secondary-action-hover: #003a5c;
  --padding-min: 4px;
  --padding-xxsmall: 12px;
  --padding-xsmall: 20px;
  --padding-default: 24px;
  --padding-small: 40px;
  --padding-med: 80px;
  --padding-large: 120px;
}

@media all and (max-width: 768px) {
  :root {
    --padding-small: 20px;
    --padding-med: 40px;
    --padding-large: 60px;
  }
}
.slider-nav-btns {
  flex-grow: 1;
  justify-content: flex-end;
  margin-bottom: 0;
}
.slider-nav-btns .stnd-btn {
  height: 36px !important;
  width: 36px !important;
  background-color: var(--brand-secondary) !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.slider-nav-btns .stnd-btn img {
  height: 10px !important;
  object-fit: contain;
  filter: brightness(0) invert(1);
  aspect-ratio: 1;
  object-position: center;
}
.slider-nav-btns .stnd-btn:hover {
  background-color: var(--brand-secondary-dark) !important;
}

a.stnd-btn,
div.stnd-btn,
.feature-button,
.stnd-btn > p,
.stnd-btn a,
#nf-field-4.stnd-btn,
.home-products .feature .desc .feature-button p,
.woocommerce-Button,
.wc-block-components-checkout-place-order-button__text,
[type=submit],
.woocommerce .single_add_to_cart_button.button.alt,
.woocommerce .quantity select,
.woocommerce .variations select,
#menu_main-nav #menu-item-31261 a {
  opacity: 1 !important;
  cursor: pointer;
  margin-right: 13px;
  font-family: var(--font-body);
  background-color: var(--primary-action) !important;
  text-align: center;
  display: inline-block;
  color: var(--brand-white) !important;
  font-size: 16px !important;
  padding: 5px 16px !important;
  text-transform: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: all 0.25s ease-in-out;
  border-radius: 999px !important;
  background-size: 16px;
  line-height: 165%;
}
a.stnd-btn.large,
div.stnd-btn.large,
.feature-button.large,
.stnd-btn > p.large,
.stnd-btn a.large,
#nf-field-4.stnd-btn.large,
.home-products .feature .desc .feature-button p.large,
.woocommerce-Button.large,
.wc-block-components-checkout-place-order-button__text.large,
[type=submit].large,
.woocommerce .single_add_to_cart_button.button.alt.large,
.woocommerce .quantity select.large,
.woocommerce .variations select.large,
#menu_main-nav #menu-item-31261 a.large {
  padding: 11px 20px !important;
}
a.stnd-btn.secondary,
div.stnd-btn.secondary,
.feature-button.secondary,
.stnd-btn > p.secondary,
.stnd-btn a.secondary,
#nf-field-4.stnd-btn.secondary,
.home-products .feature .desc .feature-button p.secondary,
.woocommerce-Button.secondary,
.wc-block-components-checkout-place-order-button__text.secondary,
[type=submit].secondary,
.woocommerce .single_add_to_cart_button.button.alt.secondary,
.woocommerce .quantity select.secondary,
.woocommerce .variations select.secondary,
#menu_main-nav #menu-item-31261 a.secondary {
  background-color: var(--secondary-action) !important;
}
a.stnd-btn.secondary:hover,
div.stnd-btn.secondary:hover,
.feature-button.secondary:hover,
.stnd-btn > p.secondary:hover,
.stnd-btn a.secondary:hover,
#nf-field-4.stnd-btn.secondary:hover,
.home-products .feature .desc .feature-button p.secondary:hover,
.woocommerce-Button.secondary:hover,
.wc-block-components-checkout-place-order-button__text.secondary:hover,
[type=submit].secondary:hover,
.woocommerce .single_add_to_cart_button.button.alt.secondary:hover,
.woocommerce .quantity select.secondary:hover,
.woocommerce .variations select.secondary:hover,
#menu_main-nav #menu-item-31261 a.secondary:hover {
  background-color: var(--secondary-action-hover) !important;
}
a.stnd-btn:hover,
div.stnd-btn:hover,
.feature-button:hover,
.stnd-btn > p:hover,
.stnd-btn a:hover,
#nf-field-4.stnd-btn:hover,
.home-products .feature .desc .feature-button p:hover,
.woocommerce-Button:hover,
.wc-block-components-checkout-place-order-button__text:hover,
[type=submit]:hover,
.woocommerce .single_add_to_cart_button.button.alt:hover,
.woocommerce .quantity select:hover,
.woocommerce .variations select:hover,
#menu_main-nav #menu-item-31261 a:hover {
  background-color: var(--primary-action-hover) !important;
}
@media all and (max-width: 768px) {
  a.stnd-btn,
  div.stnd-btn,
  .feature-button,
  .stnd-btn > p,
  .stnd-btn a,
  #nf-field-4.stnd-btn,
  .home-products .feature .desc .feature-button p,
  .woocommerce-Button,
  .wc-block-components-checkout-place-order-button__text,
  [type=submit],
  .woocommerce .single_add_to_cart_button.button.alt,
  .woocommerce .quantity select,
  .woocommerce .variations select,
  #menu_main-nav #menu-item-31261 a {
    font-size: 14px !important;
  }
}

.booking-form {
  display: flex;
  align-items: stretch;
  background-color: var(--brand-white);
  border-radius: 6px;
  border: 1px solid var(--brand-neutral-10);
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  margin-left: auto !important;
  margin-right: auto !important;
}
.booking-form .input-wrapper {
  min-height: 77px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--brand-neutral-10);
  background-color: var(--brand-white);
}
.booking-form .input-wrapper.input-arrival, .booking-form .input-wrapper.input-departure {
  flex: 1 1 230px;
  min-width: 180px;
}
.booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children {
  flex: 0 0 220px;
  justify-content: center;
  padding: 0 16px;
  gap: 10px;
}
.booking-form .input-wrapper.submit {
  flex: 0 0 180px;
  border-right: 0;
  justify-content: center;
  padding: 0 12px;
}
.booking-form .datepicker,
.booking-form .datepicker-departure {
  width: 100% !important;
  height: 100%;
  border: 0 !important;
  text-align: center;
  border-radius: 0;
  background-color: var(--brand-white);
  font-family: var(--font-body-secondary);
  font-size: 16px;
  font-weight: 500;
  color: var(--brand-black);
  letter-spacing: 0.02em;
  cursor: pointer;
  padding-right: 10px !important;
}
.booking-form .Zebra_DatePicker_Icon {
  opacity: 0;
  pointer-events: none;
}
.booking-form .button-minus,
.booking-form .button-plus {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border: 0;
  border-radius: 50%;
  background-color: transparent;
  color: var(--brand-black);
  font-size: 24px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}
.booking-form .button-minus:hover,
.booking-form .button-plus:hover {
  background-color: var(--brand-neutral-5);
}
.booking-form .input-adults input[type=number],
.booking-form .input-children input[type=number] {
  width: 60px;
  min-width: 60px;
  height: 30px;
  border: 0 !important;
  text-align: center;
  background-color: transparent;
  font-family: var(--font-body-secondary);
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  color: var(--brand-black);
  padding: 0 !important;
  margin: 0;
  display: block;
  appearance: textfield;
  -moz-appearance: textfield;
}
.booking-form .guest-count-label {
  display: inline-flex;
  align-items: center;
  height: 30px;
  font-family: var(--font-body-secondary);
  font-size: 15px;
  font-weight: 500;
  line-height: 30px;
  color: var(--brand-black);
  white-space: nowrap;
  margin-left: -2px;
}
.booking-form .input-adults input[type=number]::-webkit-outer-spin-button,
.booking-form .input-adults input[type=number]::-webkit-inner-spin-button,
.booking-form .input-children input[type=number]::-webkit-outer-spin-button,
.booking-form .input-children input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.booking-form .stnd-btn {
  margin-right: 0 !important;
  font-weight: 700 !important;
  width: fit-content !important;
}
@media all and (max-width: 1024px) {
  .booking-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin-top: 30px;
  }
  .booking-form .input-wrapper {
    min-height: 56px;
    border-bottom: 1px solid var(--brand-neutral-10);
  }
  .booking-form .input-wrapper.input-arrival, .booking-form .input-wrapper.input-departure, .booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children {
    flex: 1 1 auto;
    min-width: 0;
  }
  .booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children {
    padding: 0 10px;
    gap: 6px;
  }
  .booking-form .input-wrapper.submit {
    grid-column: 1/-1;
    min-height: 62px;
    padding: 6px 10px;
    border-right: 0;
    border-bottom: 0;
  }
  .booking-form .button-minus,
  .booking-form .button-plus {
    width: 26px;
    height: 26px;
    min-width: 26px;
    font-size: 20px;
  }
  .booking-form .input-adults input[type=number],
  .booking-form .input-children input[type=number] {
    width: 44px;
    min-width: 44px;
    height: 26px;
    line-height: 26px;
  }
  .booking-form .guest-count-label {
    height: 26px;
    line-height: 26px;
  }
  .booking-form .stnd-btn {
    font-size: 13px !important;
    padding: 6px 14px !important;
  }
}
@media all and (max-width: 640px) {
  .booking-form {
    grid-template-columns: 1fr;
    box-shadow: none;
  }
  .booking-form .input-wrapper {
    min-height: 50px;
  }
  .booking-form .input-wrapper.input-arrival, .booking-form .input-wrapper.input-departure, .booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children, .booking-form .input-wrapper.submit {
    flex: 1 1 100%;
    border-right: 0;
  }
  .booking-form .input-wrapper.input-arrival, .booking-form .input-wrapper.input-departure, .booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children {
    border-bottom: 1px solid var(--brand-neutral-10);
  }
  .booking-form .input-wrapper.input-adults, .booking-form .input-wrapper.input-children {
    justify-content: center;
    padding: 0 8px;
    gap: 4px;
  }
  .booking-form .input-wrapper.submit {
    min-height: 56px;
  }
  .booking-form .stnd-btn {
    width: 100% !important;
    max-width: 180px;
  }
}

h1 {
  font-size: 60px;
  margin-bottom: var(--padding-default);
}

h2 {
  font-size: 40px;
  margin-bottom: var(--padding-default);
}

h3 {
  font-size: 32px;
  margin-bottom: var(--padding-default);
}

h4 {
  font-size: 24px;
  margin-bottom: var(--padding-default);
  font-weight: 700;
}

h5 {
  font-size: 22px;
  margin-bottom: var(--padding-default);
}

h6 {
  font-size: 20px;
  margin-bottom: var(--padding-default);
}

@media all and (max-width: 768px) {
  h1 {
    font-size: 40px;
  }
  h2 {
    font-size: 32px;
  }
  h3 {
    font-size: 24px;
  }
  h4 {
    font-size: 22px;
  }
  h5 {
    font-size: 20px;
  }
  h6 {
    font-size: 18px;
  }
}
.custom_content_wrapper {
  background-color: white;
}
.custom_content_wrapper .row {
  max-width: 1176px;
}
.custom_content_wrapper.narrow .row {
  max-width: 760px;
}

.header-slider {
  position: static;
  top: 0;
  z-index: 0 !important;
}
.header-slider .caption,
.header-slider .caption-title {
  box-sizing: border-box;
}
.header-slider .row,
.header-slider .caption-wrapper {
  height: 100%;
  max-height: none !important;
  padding: 0 !important;
  align-items: flex-end !important;
  align-content: flex-end !important;
}
.header-slider .caption {
  padding: 80px 10px !important;
  justify-content: center !important;
  height: fit-content !important;
}
.header-slider .caption .caption-title {
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  gap: 32px 24px !important;
  flex-wrap: wrap;
  max-width: 1128px !important;
  width: 100% !important;
}
.header-slider .caption .caption-title * {
  margin-bottom: 0 !important;
}
.header-slider .caption .caption-title h2 {
  font-family: var(--font-cursive);
  color: var(--brand-white);
  font-weight: 400;
  line-height: 120%;
  margin-bottom: 0 !important;
  font-size: 50px;
  flex-basis: 100%;
}
.header-slider .caption .caption-title h1 {
  font-size: 52px;
  font-weight: 400;
}
.header-slider .caption .caption-title h3 {
  flex-basis: calc(50% - 24px);
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  color: white;
}
.header-slider .caption .caption-title p {
  flex-basis: calc(25% - 12px);
  font-size: 16px;
  line-height: 165%;
}
.header-slider .slider-size-med {
  min-height: 400px;
  height: 680px;
  max-height: 90vh;
}
@media all and (min-width: 1280px) {
  .header-slider .caption {
    /* Keep slider height unchanged, only reduce internal vertical spacing */
    padding-top: 44px !important;
  }
  .header-slider .caption-title {
    width: 100%;
    max-width: 1128px !important;
    gap: 20px 24px !important;
  }
  .header-slider .caption-title h1 {
    line-height: 115%;
  }
  .header-slider .caption-title h3,
  .header-slider .caption-title p {
    line-height: 140%;
  }
}
@media all and (min-width: 1600px) {
  .header-slider .caption {
    padding-top: 36px !important;
  }
  .header-slider .caption-title {
    gap: 16px 20px !important;
  }
}
@media all and (max-width: 768px) {
  .header-slider .caption .caption-title {
    gap: 16px 0 !important;
  }
  .header-slider .caption .caption-title h1 {
    font-size: 38px !important;
    flex-basis: 100%;
  }
  .header-slider .caption .caption-title h3,
  .header-slider .caption .caption-title p {
    flex-basis: 100%;
    font-size: 16px !important;
  }
  .header-slider {
    padding-top: 50px !important;
    min-height: fit-content !important;
  }
}

header #header-top #menu_main-nav li:not(#menu-item-31261) a {
  font-family: var(--font-body-secondary) !important;
  opacity: 1;
  border-bottom: 1px solid transparent;
}
header #header-top #menu_main-nav li:not(#menu-item-31261) a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
header #header-top #menu_main-nav li#menu-item-31261 a {
  font-weight: 700 !important;
}
header #header-top #menu_main-nav .menu-item.menu-item-has-children::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 8px;
  background-image: url(../../images/elements/down-arrow-colour.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 5px;
  translate: 0 2px;
}
header #header-top #menu_main-nav .menu-item.menu-item-has-children .sub-menu {
  left: 0 !important;
  padding-top: 40px !important;
}
header #header-top #menu_main-nav .menu-item.menu-item-has-children .sub-menu ul.children-inner {
  background-color: var(--brand-secondary);
  padding: 20px 24px !important;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  min-width: 200px;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
header #header-top #menu_main-nav .menu-item.menu-item-has-children .sub-menu ul.children-inner li {
  width: 100%;
  padding: 0 !important;
}
header #header-top #menu_main-nav .menu-item.menu-item-has-children .sub-menu ul.children-inner li a {
  font-size: 20px !important;
  font-family: var(--font-title) !important;
  line-height: 140% !important;
  font-weight: 700 !important;
}

footer {
  background-color: var(--brand-primary-dark);
}
footer .footer-fixed {
  background-color: transparent !important;
}
footer .footer-fixed * {
  color: var(--brand-white) !important;
}
footer .footer-fixed #footer {
  padding: var(--padding-med) 0 !important;
}
footer .footer-fixed #footer .row {
  max-width: 1200px;
  padding: 0 24px !important;
}
footer .footer-fixed #footer h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 140%;
}
footer .footer-fixed #footer a:not(.stnd-btn) {
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  transition: all 0.3s ease-in-out;
  margin-bottom: 0.4em;
}
footer .footer-fixed #footer a:not(.stnd-btn):hover {
  color: var(--brand-secondary) !important;
  text-decoration: underline;
}
footer .footer-fixed #footer p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  margin-bottom: 0.64em;
}
footer .footer-fixed #footer .widget_logo {
  justify-content: center;
  margin-bottom: 80px;
}
footer .footer-fixed #footer .widget_logo img {
  max-width: none !important;
  height: 115px;
  width: 302px;
  object-fit: contain;
}
footer .footer-fixed #footer .layout_footer_links {
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}
footer .footer-fixed #footer .layout_footer_links .flex {
  justify-content: space-between;
  gap: 32px;
}
footer .footer-fixed #footer .layout_footer_links .flex .col.title-col {
  max-width: 442px;
}
footer .footer-fixed #footer .layout_footer_links .flex .col.title-col p {
  font-family: var(--font-title);
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
}
footer .footer-fixed #footer .layout_footer_links .flex .col:not(.title-col) {
  max-width: 190px;
  padding: 0 !important;
}
footer .footer-fixed #footer .layout_footer_info {
  padding-top: 32px;
}
footer .footer-fixed #footer .layout_footer_info .flex {
  justify-content: space-evenly;
  gap: 32px;
}
footer .footer-fixed #footer .layout_footer_info .flex .col {
  max-width: 400px;
}
footer .footer-fixed #footer .layout_footer_info p {
  font-family: var(--font-title);
  font-size: 20px;
}
footer .footer-fixed #footer-bottom {
  background-color: transparent !important;
  border-top: 1px solid var(--brand-neutral-10) !important;
}
footer .footer-fixed #footer-bottom .row {
  max-width: 1176px;
  padding: 0 24px !important;
}
footer .footer-fixed #footer-bottom * {
  font-size: 12px;
}
footer .footer-fixed #footer-bottom a:hover {
  color: var(--brand-white) !important;
  text-decoration: underline;
}
@media all and (max-width: 768px) {
  footer .footer-fixed #footer img.non-scrolled-logo {
    max-width: 50vw !important;
  }
}

.layout_banner .row {
  width: 100% !important;
  max-width: none !important;
  height: 600px !important;
  padding: 0 !important;
}
.layout_banner .row .top-title {
  padding: 40px 48px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}
.layout_banner .row .top-title h3 {
  font-size: 29px;
  line-height: 120%;
  color: white;
  text-align: center;
  font-family: var(--font-cursive);
  font-weight: 400;
  margin-bottom: 24px;
}
.layout_banner .row .top-title h2 {
  font-weight: 400;
  color: white;
  text-align: center;
  line-height: 120%;
}
.layout_banner .row .col:not(.top-title) {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.layout_banner .row .col:not(.top-title) img {
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.layout_banner .row .col:not(.top-title)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
@media all and (max-width: 768px) {
  .layout_banner .row {
    height: 400px !important;
  }
  .layout_banner .row .top-title h3 {
    font-size: 20px;
  }
  .layout_banner .row .top-title h2 {
    font-size: 32px;
  }
}

.layout_intro {
  padding: var(--padding-med) 0 !important;
  background-color: var(--brand-primary-dark) !important;
  text-align: center;
}
.layout_intro * {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.layout_intro h1,
.layout_intro h2 {
  font-size: 60px !important;
  color: white !important;
  font-weight: 400 !important;
  line-height: 120%;
}
.layout_intro p {
  font-size: 18px !important;
  line-height: 140% !important;
  color: white !important;
  font-family: var(--font-title) !important;
}
@media all and (max-width: 768px) {
  .layout_intro h1,
  .layout_intro h2 {
    font-size: 40px !important;
  }
  .layout_intro p {
    font-size: 16px !important;
  }
}
.layout_intro.white {
  background-color: white !important;
  text-align: left;
}
.layout_intro.white h1,
.layout_intro.white h2 {
  text-align: left !important;
  color: black !important;
}
.layout_intro.white p {
  color: black !important;
}

.layout_intro_text {
  padding: var(--padding-med) 0 !important;
  text-align: center;
}
.layout_intro_text p {
  font-weight: 400;
  font-size: 20px;
  line-height: 140%;
  text-align: center;
  font-family: var(--font-title);
}
@media all and (max-width: 768px) {
  .layout_intro_text p {
    font-size: 18px;
  }
}

.layout_2_columns {
  padding: var(--padding-small) 0;
}
.layout_2_columns h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  color: black;
}
@media all and (max-width: 768px) {
  .layout_2_columns h2 {
    font-size: 20px;
  }
}

.layout_2_features {
  padding: var(--padding-med) 0;
  background-color: #f7f7f7;
}
.layout_2_features .inner-row > .col {
  min-height: 100% !important;
}
.layout_2_features .feature {
  background-color: white;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
  height: 100% !important;
}
.layout_2_features .feature .thumb {
  position: relative;
  overflow: hidden;
}
.layout_2_features .feature .thumb .slider-images {
  position: relative;
  width: 100%;
}
.layout_2_features .feature .thumb .slider-images img {
  transition: opacity 0.3s ease-in-out;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.layout_2_features .feature .thumb .slider-buttons {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  background: white;
  color: black;
  z-index: 20;
}
.layout_2_features .feature .thumb .slider-buttons .nav-btn {
  color: black;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  user-select: none;
  padding: 12px;
}
.layout_2_features .feature .thumb .slider-buttons .nav-btn img {
  aspect-ratio: 1;
  width: 18px;
  object-fit: contain;
  object-position: center;
  display: block;
  filter: brightness(0);
}
.layout_2_features .feature .thumb .slider-buttons .count {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
}
.layout_2_features .feature img {
  aspect-ratio: 1.7;
  width: 100%;
}
.layout_2_features .feature .desc {
  padding: var(--padding-small);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.layout_2_features .feature .desc h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  margin-bottom: 12px;
  color: black;
}
.layout_2_features .feature .desc .feature__description {
  margin-top: auto;
}
.layout_2_features .feature .desc .feature__description p {
  margin-bottom: 12px;
}
.layout_2_features .feature .desc .feature__description .event-excerpt {
  display: none;
}
.layout_2_features .feature .desc .content {
  color: black !important;
}
.layout_2_features .feature .desc .content ul {
  padding: 0;
  list-style: none;
  width: 100%;
  margin-bottom: 70px;
}
.layout_2_features .feature .desc .content ul li {
  margin-bottom: 12px;
  border-bottom: 1px solid var(--primary-action);
}
.layout_2_features .feature .desc p {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
  color: black;
}
.layout_2_features .feature .desc .feature-button {
  padding: 11px 16px !important;
  width: fit-content !important;
}
.layout_2_features .feature .desc .feature-button p {
  color: white !important;
  font-weight: 700 !important;
  margin-bottom: 0 !important;
}
@media all and (max-width: 768px) {
  .layout_2_features .feature .thumb .slider-buttons .count {
    font-size: 14px;
  }
  .layout_2_features .feature .desc h3 {
    font-size: 20px;
  }
  .layout_2_features .feature .desc p {
    font-size: 15px;
  }
}

.layout_chess > .row {
  max-width: 100% !important;
}
.layout_chess > .row .img-col p {
  display: block;
  height: 100%;
}
.layout_chess > .row .img-col p img {
  min-height: 100%;
  width: 100%;
  object-fit: cover;
  height: 568px;
}
.layout_chess > .row .txt-col {
  padding: var(--padding-large) var(--padding-med) !important;
  max-width: 752px !important;
}
.layout_chess > .row .txt-col h2 {
  font-weight: 400;
  color: black;
}
.layout_chess > .row .txt-col h3 {
  color: var(--brand-secondary-dark);
  font-family: var(--font-cursive);
  font-weight: 400;
  line-height: 120%;
  margin-bottom: var(--padding-default);
}
.layout_chess > .row .txt-col p {
  font-size: 18px;
}
.layout_chess > .row .txt-col p a {
  padding: 11px 20px !important;
}
.layout_chess > .row .txt-col p br {
  display: none;
}
@media all and (max-width: 768px) {
  .layout_chess > .row {
    flex-direction: column;
  }
  .layout_chess > .row .img-col p {
    height: auto;
  }
  .layout_chess > .row .img-col p img {
    height: auto;
    max-height: 360px;
  }
}
.layout_chess .flex-row-container:nth-child(even) {
  flex-direction: row-reverse;
}
@media all and (max-width: 768px) {
  .layout_chess > .row .txt-col h2 {
    font-size: 32px;
  }
  .layout_chess > .row .txt-col h3 {
    font-size: 20px;
  }
  .layout_chess > .row .txt-col p {
    font-size: 16px;
  }
}
.layout_chess .stnd-btn {
  margin-bottom: 10px !important;
}

.layout_3_columns {
  background-color: #f7f7f7;
  padding: var(--padding-med) 0 !important;
}
.layout_3_columns .row {
  max-width: 1416px;
  row-gap: 40px;
  justify-content: space-between;
}
.layout_3_columns .row h2 {
  font-size: 40px;
  font-weight: 400;
  color: black;
  text-align: center;
  margin-bottom: 0;
}
.layout_3_columns .row h3 {
  margin-bottom: 24px;
  font-size: 29px;
  font-weight: 400;
  font-family: var(--font-cursive);
  color: black;
  text-align: center;
}
.layout_3_columns .row .col.span-1-3 {
  background-color: white;
  padding: 24px;
  flex-basis: calc(33.33% - 16px);
}
.layout_3_columns .row .col.span-1-3 h2 {
  font-size: 24px;
  margin-bottom: 1rem;
  text-align: left;
}
.layout_3_columns .row .btn-row .col {
  text-align: center;
}
@media all and (max-width: 768px) {
  .layout_3_columns .row {
    flex-direction: column;
  }
  .layout_3_columns .row h2 {
    font-size: 32px;
  }
  .layout_3_columns .row h3 {
    font-size: 24px;
  }
  .layout_3_columns .row .col.span-1-3 h2 {
    font-size: 20px;
  }
}

.layout_cta .cta_content_row {
  padding: var(--padding-med) 20px !important;
}
.layout_cta .cta_content_row .cta-content {
  background-color: white !important;
  max-width: 740px;
  padding: 70px var(--padding-med) !important;
}
.layout_cta .cta_content_row .cta-content .col-inner {
  row-gap: 20px !important;
}
.layout_cta .cta_content_row .cta-content .col-inner h3 {
  font-size: 24px !important;
  color: var(--brand-secondary-dark);
  font-family: var(--font-cursive);
  font-weight: 400;
  line-height: 120%;
}
.layout_cta .cta_content_row .cta-content .col-inner h2 {
  font-size: 40px;
  color: var(--brand-primary);
  font-weight: 700;
}
.layout_cta .cta_content_row .cta-content .col-inner p {
  font-size: 20px;
  color: black !important;
}
.layout_cta .cta_content_row .cta-content .col-inner div {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.layout_cta .cta_content_row .cta-content .col-inner div a {
  margin: 0;
}
.layout_cta .cta_content_row .cta-content .col-inner div br {
  display: none;
}
@media all and (max-width: 768px) {
  .layout_cta .cta_content_row .cta-content {
    padding: 40px 20px !important;
  }
  .layout_cta .cta_content_row .cta-content .col-inner h2 {
    font-size: 36px;
  }
  .layout_cta .cta_content_row .cta-content .col-inner h3 {
    font-size: 20px !important;
  }
  .layout_cta .cta_content_row .cta-content .col-inner p {
    font-size: 18px;
  }
}

.layout_faqs {
  background-color: white;
  padding: var(--padding-med) 0 !important;
}
.layout_faqs .row {
  justify-content: space-between;
  padding: 0 24px;
}
.layout_faqs .row .col {
  margin: 0 !important;
  padding: 0 !important;
}
.layout_faqs .row .col.top-title {
  padding: 40px 0 !important;
  flex-basis: calc(50% - 20px);
}
.layout_faqs .row .col.top-title h2 {
  font-size: 24px;
  color: black;
  font-weight: 400;
}
.layout_faqs .row .col.top-title p {
  font-size: 16px;
}
.layout_faqs .row .col:not(.top-title) {
  flex-basis: calc(50% - 20px);
  background-color: transparent !important;
  padding: 20px 0 !important;
}
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header,
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-content-inner {
  padding: 24px 20px;
  transition: all 0.3s ease;
}
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header h4,
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-content-inner h4 {
  padding: 0;
  font-weight: 400;
  font-size: 20px;
}
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header h3,
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-content-inner h3 {
  color: black;
  font-size: 18px;
}
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header {
  border-radius: 4px;
}
.layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header::before {
  background-image: url(../../images/elements/accordion-open.svg);
  background-color: unset;
  transform: translateY(-50%) rotate(0deg);
  background-position: center !important;
}
.layout_faqs .row .col:not(.top-title) .concertina-item.open .concertina-header,
.layout_faqs .row .col:not(.top-title) .concertina-item.open .concertina-content-inner {
  background-color: transparent !important;
  margin-bottom: 4px;
}
.layout_faqs .row .col:not(.top-title) .concertina-item.open .concertina-header::before {
  transform: translateY(-50%) rotate(0deg);
  background-image: url(../../images/elements/accordion-close.svg);
}
@media all and (max-width: 768px) {
  .layout_faqs .row .col.top-title {
    padding: 0 !important;
    flex-basis: 100%;
    margin-bottom: var(--padding-default) !important;
  }
  .layout_faqs .row .col:not(.top-title) {
    flex-basis: 100%;
  }
}
@media all and (max-width: 480px) {
  .layout_faqs .row .col:not(.top-title) {
    padding: 20px !important;
  }
  .layout_faqs .row .col .concertina-item .concertina-header,
  .layout_faqs .row .col .concertina-item .concertina-content-inner {
    padding: 20px !important;
  }
}
@media all and (max-width: 768px) {
  .layout_faqs .row .col.top-title h2 {
    font-size: 22px;
  }
  .layout_faqs .row .col.top-title p {
    font-size: 15px;
  }
  .layout_faqs .row .col:not(.top-title) .concertina-item .concertina-header h4 {
    font-size: 18px;
  }
  .layout_faqs .row .col:not(.top-title) .concertina-item .concertina-content-inner h3 {
    font-size: 16px;
  }
}

.layout_gallery {
  padding: 64px 0 !important;
  background-color: #f7f7f7;
}
.layout_gallery .bottom-title {
  padding: 0;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--primary-action);
  margin-right: 24px !important;
}
.layout_gallery .bottom-title .slider-nav-btns {
  margin-top: 24px !important;
  justify-content: flex-start !important;
}
.layout_gallery .bottom-title .slider-nav-btns .slider-pagination {
  margin-left: auto;
}
.layout_gallery .bottom-title .slider-nav-btns .slider-pagination .h-slider-tabs {
  display: block;
  padding: 10px 16px;
  background-color: #dedede;
  border-radius: 999px;
}
.layout_gallery .bottom-title .slider-nav-btns .slider-pagination .h-slider-tabs li a {
  border-radius: 4px !important;
  width: 8px !important;
  height: 8px !important;
  background-color: #999 !important;
}
.layout_gallery .bottom-title .slider-nav-btns .slider-pagination .h-slider-tabs li.slider_here a {
  width: 20px !important;
  background-color: var(--brand-secondary) !important;
}
@media all and (max-width: 768px) {
  .layout_gallery {
    padding: 40px 0 !important;
  }
}
.layout_gallery > .row {
  justify-content: center;
  padding: 0 24px !important;
}
.layout_gallery > .row .col.top-title {
  margin-bottom: 20px !important;
  column-gap: 20px !important;
  padding: 0 !important;
}
.layout_gallery > .row .col.top-title h2 {
  font-weight: 400;
  font-size: 32px;
  line-height: 120%;
  color: black;
}
.layout_gallery > .row .col.top-title p {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
}
.layout_gallery > .row .col.top-title p:last-of-type {
  margin-bottom: 0 !important;
}
.layout_gallery > .row > .push-features {
  padding: 0 !important;
  flex-basis: calc(100% + 24px);
}
@media all and (max-width: 768px) {
  .layout_gallery > .row > .push-features {
    flex-basis: 100%;
  }
  .layout_gallery > .row > .push-features .h-slider-wrapper .h-slider-inner > li {
    padding: 0 10px !important;
  }
  .layout_gallery > .row > .push-features .feature .desc {
    padding: 8px !important;
  }
  .layout_gallery > .row > .push-features .feature .desc h3 {
    font-size: 16px !important;
  }
}
.layout_gallery > .row > .push-features .h-slider-wrapper .h-slider-nav {
  display: none !important;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .h-slider-inner {
  padding: 0 !important;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .h-slider-inner > li {
  padding: 0 !important;
  padding-right: 24px !important;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .thumb img {
  max-height: 684px;
  aspect-ratio: 1.65;
  object-fit: cover;
  width: 100%;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .feature {
  position: relative;
  pointer-events: none;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .feature .feature__description {
  display: none;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .feature .desc {
  position: absolute;
  left: 40px;
  bottom: 40px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 10;
  padding: 24px;
}
.layout_gallery > .row > .push-features .h-slider-wrapper .feature .desc h3 {
  color: white;
  font-size: 20px;
  margin-bottom: 4px;
  font-weight: 400;
  height: 140%;
}

.layout_text {
  padding: var(--padding-med) 0 !important;
}
.layout_text h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 120%;
  color: black;
}
.layout_text h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  color: black;
}
.layout_text p,
.layout_text ol,
.layout_text ul {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
}
.layout_text p li,
.layout_text ol li,
.layout_text ul li {
  margin-bottom: 10px;
}
.layout_text p:last-child,
.layout_text ol:last-child,
.layout_text ul:last-child {
  margin-bottom: 12px;
}
.layout_text .top-title h2 {
  text-align: center;
  margin-bottom: 12px;
}
.layout_text .menu-col h3 {
  font-size: 24px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
.layout_text .cta-col * {
  text-align: center;
}
.layout_text .cta-col h2 {
  margin-bottom: 32px;
}
@media all and (max-width: 768px) {
  .layout_text h2 {
    font-size: 32px;
  }
  .layout_text h3 {
    font-size: 20px;
  }
  .layout_text p,
  .layout_text ol,
  .layout_text ul {
    font-size: 15px;
  }
}

.layout_end {
  background-color: var(--brand-fifth);
}

.layout_contact {
  padding: var(--padding-med) 0 !important;
  background-color: #f7f7f7;
}
.layout_contact .row {
  gap: 32px;
  padding: 10px;
}
.layout_contact h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  color: black;
  margin-bottom: 40px;
}
.layout_contact .txt-col {
  flex-basis: calc(33.33% - 16px);
  padding: 0;
}
.layout_contact .txt-col h3 {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
  margin-bottom: 12px;
  color: black;
}
.layout_contact .txt-col a {
  color: black !important;
  font-weight: 700;
  font-size: 18px;
  line-height: 140%;
  font-family: var(--font-title);
}
.layout_contact .txt-col a:hover {
  text-decoration: underline;
}
.layout_contact .form-col {
  flex-basis: calc(66.66% - 16px);
  padding: 0;
}
.layout_contact .form-col .nf-form-wrap .nf-form-fields-required {
  display: none;
}
.layout_contact .form-col .nf-form-wrap input[type=text],
.layout_contact .form-col .nf-form-wrap input[type=tel],
.layout_contact .form-col .nf-form-wrap input[type=email],
.layout_contact .form-col .nf-form-wrap textarea {
  border: 1px solid var(--brand-neutral-25) !important;
  background-color: var(--brand-neutral-10) !important;
  border-radius: 8px !important;
}
.layout_contact .form-col .nf-form-wrap .nf-field-container.listradio-container.radio-group input[type=radio]:checked + label {
  background-color: var(--brand-primary) !important;
  color: white !important;
}
.layout_contact .form-col .nf-form-wrap .nf-field-container.listradio-container.radio-group label {
  border: 1px solid #0d0d0d !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
  transition: all 0.3s ease;
  background-color: white !important;
}
.layout_contact .form-col .nf-form-wrap .nf-field-container.listradio-container.radio-group label:hover {
  background-color: var(--brand-neutral-10) !important;
}
.layout_contact .form-col .nf-form-wrap a {
  color: black !important;
  text-decoration: underline !important;
}
.layout_contact .form-col .nf-form-wrap input[type=submit] {
  border: 2px solid black !important;
  background-color: transparent !important;
  color: black !important;
  font-weight: 400 !important;
}
.layout_contact .form-col .nf-form-wrap input[type=submit]:hover {
  opacity: 0.5 !important;
}
@media all and (max-width: 1024px) {
  .layout_contact .txt-col,
  .layout_contact .form-col {
    flex-basis: calc(50% - 16px);
  }
}
@media all and (max-width: 768px) {
  .layout_contact {
    flex-direction: column;
  }
  .layout_contact h2 {
    font-size: 22px;
  }
  .layout_contact .txt-col,
  .layout_contact .form-col {
    flex-basis: 100%;
  }
  .layout_contact .txt-col h3,
  .layout_contact .form-col h3 {
    font-size: 15px;
  }
  .layout_contact .txt-col a,
  .layout_contact .form-col a {
    font-size: 16px;
  }
  .layout_contact .txt-col input[type=text],
  .layout_contact .txt-col input[type=tel],
  .layout_contact .txt-col input[type=email],
  .layout_contact .form-col input[type=text],
  .layout_contact .form-col input[type=tel],
  .layout_contact .form-col input[type=email] {
    height: 40px !important;
    padding: 6px !important;
  }
}

.layout_map {
  padding: 0 !important;
  margin: 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  min-height: 300px !important;
  height: 100vh !important;
  max-height: 490px;
}
@media all and (max-width: 768px) {
  .layout_map {
    height: 600px !important;
  }
}
@media all and (max-width: 480px) {
  .layout_map {
    height: 400px !important;
  }
}

.layout_comments {
  background-color: #f7f7f7;
}
.layout_comments .top-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px !important;
  row-gap: 24px !important;
}
.layout_comments .top-title h2 {
  width: fit-content;
  font-weight: 400;
  font-size: 24px;
  line-height: 120%;
  color: black;
  margin-bottom: 0;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-nav {
  display: none !important;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner {
  padding: 0 !important;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner > li {
  padding: 0 12px;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a {
  padding: 40px;
  background-color: white !important;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a .feature__description {
  display: none;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  border-bottom: 1px solid black;
  margin-bottom: 28px;
  padding-bottom: 4px;
}
.layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a p {
  font-weight: 400;
  font-size: 16px;
  line-height: 165%;
}
@media all and (max-width: 768px) {
  .layout_comments .top-title h2 {
    font-size: 20px;
  }
  .layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a h3 {
    font-size: 20px;
  }
  .layout_comments .push-features .h-slider-wrapper .h-slider-inner > li > a p {
    font-size: 15px;
  }
}

/*# sourceMappingURL=clanmacduff.css.map */
