/* Christ's College Hospitality: component styles.
   Ported from the christscollegeconference WordPress theme (static/css/*.scss and blocks/*).
   Colours, spacing, radii, shadows and sizes come from tokens.css (var(--…)). Text sizes come from the
   type classes in tokens.css (.fontHeader1, .fontBodyRegular, …), which the components put on their elements.
   Components render the 1440px design. Layouts collapse at the theme's breakpoints: 1012px (tablet), 767px (mobile). */

/* ---------- Base (zero specificity, like the theme's base layer) ---------- */
:where(html) { font-size: 100%; }
:where(body) { margin: 0; padding: 0; font-family: var(--font-sans); font-weight: 400; color: var(--color-font); background: var(--color-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(*, *::before, *::after) { box-sizing: border-box; }
::selection { color: var(--color-white); background: var(--color-selection); }
:where(img) { display: block; max-width: 100%; }
:where(input, textarea, select, button) { font-family: var(--font-sans); font-weight: 400; }
:where(a) { -webkit-tap-highlight-color: transparent; color: var(--color-accent); text-decoration: none; }
:where(a:hover) { text-decoration: none; color: var(--color-font); }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--font-sans); color: var(--color-font); }
:where(p, h1, h2, h3, h4, h5, h6) { margin-top: 0; margin-bottom: var(--space-text); }
:where(p, h1, h2, h3, h4, h5, h6):last-child { margin-bottom: 0; }
/* Element defaults for prose. They mirror fontBodyRegular and fontHeader1–6. Components put the classes on instead. */
:where(p, figcaption, small, td, th, label, blockquote, cite, input, textarea, li, pre) { font-size: 1.25rem; line-height: 1.5; color: var(--color-font); }
:where(h1) { font-size: 2.1875rem; line-height: 1.15; font-weight: 600; }
:where(h2) { font-size: 1.875rem; line-height: 1.25; font-weight: 600; }
:where(h3) { font-size: 1.625rem; line-height: 1.25; font-weight: 600; }
:where(h4) { font-size: 1.5rem; line-height: 1.5; font-weight: 600; }
:where(h5) { font-size: 1.375rem; line-height: 1.5; font-weight: 600; }
:where(h6) { font-size: 1.25rem; line-height: 1.5; font-weight: 600; }
:where(p, li) :where(a:not(.button)) { border-bottom: solid 1px var(--color-accent); }
:where(p, li) :where(a:not(.button)):hover { border-bottom: solid 1px var(--color-font); }
/* Intentional addition: the live theme sets no focus style. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
:where(.footer, .feature) :where(a, button):focus-visible { outline-color: var(--focus-ring-inverse); }

/* ---------- Skip link ---------- */
.skip { position: absolute; z-index: var(--z-skip); top: -100px; left: 10px; background-color: var(--color-font); padding: 10px; color: var(--color-white); font-weight: 600; }
.skip:hover { color: var(--color-white); }
.skip:focus { top: 10px; }

/* ---------- Containers (container / containerThin / containerWide mixins) ---------- */
.hero .hero-inner, .cards .cards-inner, .posts .posts-inner, .textimage .textimage-inner, .testimonials .testimonials-inner,
.cta .cta-inner, .accordion .accordion-inner, .highlights .highlights-inner, .gallery .gallery-inner, .embed.embed--fullwidth .embed-inner,
.article .article-inner, .image .image-inner, .singlepage .singlepage-inner, .searchresults .searchresults-inner {
  position: relative; margin: 0 auto; width: 100%; max-width: var(--container); padding-left: var(--space-gutter); padding-right: var(--space-gutter);
}
.embed.embed--thin .embed-inner, .singlepage .singlepage-inner.singlepage-inner--thin, .feature .feature-inner {
  position: relative; margin: 0 auto; width: 100%; max-width: var(--container-thin); padding-left: var(--space-gutter); padding-right: var(--space-gutter);
}

/* ---------- Block options (blocks mixin: padding_top, padding_bottom, bg_grey) ---------- */
:is(.cards, .posts, .textimage, .testimonials, .cta, .accordion, .highlights, .gallery, .embed, .article, .image, .singlepage, .searchresults).padding_top { padding-top: var(--space-section); }
:is(.cards, .posts, .textimage, .testimonials, .cta, .accordion, .highlights, .gallery, .embed, .article, .image, .singlepage, .searchresults).padding_bottom { padding-bottom: var(--space-section); }
:is(.cards, .posts, .textimage, .testimonials, .cta, .accordion, .highlights, .gallery, .embed, .article, .image, .singlepage, .searchresults).bg_grey { background-color: var(--color-bg-grey); }

/* ---------- Button (button mixin) ---------- */
.button {
  color: var(--color-white); background-color: var(--color-primary); display: inline-block; transition: 0.2s all; cursor: pointer; border: none; font-weight: 600; border-radius: var(--radius-md);
  padding: var(--space-button-y) var(--space-button-right) var(--space-button-y) var(--space-button-left);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2213%22 height=%2223%22 viewBox=%220 0 13 23%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.5651 12.5651L2.5651 22.5651C2.28331 22.8469 1.90112 23.0052 1.5026 23.0052C1.10409 23.0052 0.721894 22.8469 0.440102 22.5651C0.158309 22.2833 2.96917e-09 21.9011 0 21.5026C-2.96917e-09 21.1041 0.158309 20.7219 0.440102 20.4401L9.37885 11.5039L0.442602 2.5651C0.303073 2.42557 0.192391 2.25993 0.116879 2.07762C0.0413657 1.89532 0.00249958 1.69993 0.00249958 1.5026C0.00249958 1.30528 0.0413657 1.10988 0.116879 0.927581C0.192391 0.745277 0.303073 0.579632 0.442602 0.440102C0.582132 0.300573 0.747777 0.189892 0.930081 0.114379C1.11239 0.0388661 1.30778 -1.47018e-09 1.5051 0C1.70243 1.47018e-09 1.89782 0.0388661 2.08012 0.114379C2.26243 0.189892 2.42807 0.300573 2.5676 0.440102L12.5676 10.4401C12.7073 10.5796 12.818 10.7453 12.8935 10.9278C12.969 11.1102 13.0078 11.3057 13.0075 11.5031C13.0073 11.7005 12.9681 11.896 12.8922 12.0782C12.8163 12.2605 12.7051 12.4259 12.5651 12.5651Z%22 fill=%22%23ffffff%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: calc(100% - 20px) 50%; background-size: 7px;
  text-decoration: none; font-family: var(--font-sans);
}
@media (max-width: 1012px) { .button { background-position: calc(100% - 18px) 50%; } }
@media (max-width: 767px) { .button { background-position: calc(100% - 17px) 50%; } }
.button:hover { border: none; color: var(--color-white); background-color: var(--color-primary-hover); }
.button.button--alt { background-color: var(--color-accent); }
.button.button--alt:hover { border: none; color: var(--color-white); background-color: var(--color-accent-hover); }
ul.buttons { list-style-type: none; margin: 0 0 24px; padding: 0; display: flex; align-items: center; flex-wrap: wrap; }
ul.buttons li { margin-right: var(--space-15); }
ul.buttons li:last-child { margin-right: 0; }
ul.buttons li::before { display: none !important; }

/* ---------- Header ---------- */
.header { background-color: var(--color-white); }
.header.header--fixed { position: fixed; z-index: var(--z-header); top: 0; left: 0; right: 0; }
.header .header-container { position: relative; margin: 0 auto; width: 100%; max-width: var(--container-wide); padding: var(--space-header) var(--space-gutter); }
.header .header-inner { display: flex; align-items: center; }
.header .header-logo a { display: block; border: 0; }
.header .header-logo a img { height: var(--logo-height); width: auto; }
.header .header-navigation { list-style-type: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; z-index: var(--z-carousel-arrow); }
.header .header-navigation > li { margin-left: var(--space-nav); position: relative; }
.header .header-navigation > li:first-child { margin-left: 35px; }
@media (min-height: 770px) and (min-width: 1210px) { .header .header-navigation > li:first-child { margin-left: 55px; } }
.header .header-navigation > li:hover > a, .header .header-navigation > li.current-menu-item > a, .header .header-navigation > li.current-menu-ancestor > a { border-bottom: solid 1px var(--color-accent); }
.header .header-navigation > li.menu-item-has-children { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2216%22 height=%229%22 viewBox=%220 0 16 9%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath stroke=%22%23bcbcbc%22 d=%22M0.5 0.5L7.59615 8.30764C7.64795 8.36836 7.71051 8.41676 7.77997 8.44985C7.84943 8.48293 7.92431 8.5 8 8.5C8.07569 8.5 8.15057 8.48293 8.22003 8.44985C8.28949 8.41676 8.35205 8.36836 8.40385 8.30764L15.5 0.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 10px; background-position: 100% 50%; padding-right: 17px; }
.header .header-navigation > li > a { color: var(--color-font); display: inline-block; padding: 2px 0; position: relative; border-bottom: solid 1px transparent; }
.header .header-navigation ul { list-style-type: none; margin: 0; transition: 0.2s all ease-in-out; background-color: var(--color-white); opacity: 0; visibility: hidden; position: absolute; z-index: var(--z-dropdown); width: var(--dropdown-width); left: -30px; top: 70px; padding: var(--space-30); border-radius: var(--radius-md); box-shadow: var(--shadow-dropdown); }
.header .header-navigation ul::before { content: ""; display: block; width: 100%; height: 18px; background-color: transparent; position: absolute; top: -18px; left: 0; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2211%22 height=%226%22 viewBox=%220 0 11 6%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M0 6L5.5 0L11 6H0Z%22 fill=%22white%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 30px 100%; }
.header .header-navigation ul.isActive { opacity: 1; visibility: visible; top: 50px; }
/* Intentional addition: keyboard users open a dropdown by tabbing into it. */
.header .header-navigation > li:focus-within > ul { opacity: 1; visibility: visible; top: 50px; }
.header .header-navigation ul li { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2213%22 height=%2223%22 viewBox=%220 0 13 23%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.5651 12.5651L2.5651 22.5651C2.28331 22.8469 1.90112 23.0052 1.5026 23.0052C1.10409 23.0052 0.721894 22.8469 0.440102 22.5651C0.158309 22.2833 2.96917e-09 21.9011 0 21.5026C-2.96917e-09 21.1041 0.158309 20.7219 0.440102 20.4401L9.37885 11.5039L0.442602 2.5651C0.303073 2.42557 0.192391 2.25993 0.116879 2.07762C0.0413657 1.89532 0.00249958 1.69993 0.00249958 1.5026C0.00249958 1.30528 0.0413657 1.10988 0.116879 0.927581C0.192391 0.745277 0.303073 0.579632 0.442602 0.440102C0.582132 0.300573 0.747777 0.189892 0.930081 0.114379C1.11239 0.0388661 1.30778 -1.47018e-09 1.5051 0C1.70243 1.47018e-09 1.89782 0.0388661 2.08012 0.114379C2.26243 0.189892 2.42807 0.300573 2.5676 0.440102L12.5676 10.4401C12.7073 10.5796 12.818 10.7453 12.8935 10.9278C12.969 11.1102 13.0078 11.3057 13.0075 11.5031C13.0073 11.7005 12.9681 11.896 12.8922 12.0782C12.8163 12.2605 12.7051 12.4259 12.5651 12.5651Z%22 fill=%22%23bcbcbc%22/%3E%3C/svg%3E"); background-position: 100% 50%; background-repeat: no-repeat; background-size: 5px; margin-bottom: var(--space-3); }
.header .header-navigation ul li:last-child { margin-bottom: 0; }
.header .header-navigation ul li.current-menu-item > a { font-weight: 600; color: var(--color-font); border-bottom: solid 1px var(--color-accent); }
.header .header-navigation ul li a { color: var(--color-font); transition: 0.2s all; border-bottom: solid 1px transparent; }
.header .header-navigation ul li a:hover { color: var(--color-font); border-bottom: solid 1px var(--color-accent); }
.header .header-contacts { margin-left: auto; display: flex; align-items: center; }
.header .header-contacts p { margin: 0; }
.header .header-contacts p.header-contactdetails { text-align: right; margin-right: var(--space-20); line-height: 1.4; display: none; }
@media (min-width: 1500px) { .header .header-contacts p.header-contactdetails { display: block; } }
.header .header-contacts p.header-contactdetails a { color: var(--color-font); border-bottom: solid 1px transparent; }
.header .header-contacts p.header-contactdetails a:hover { border-bottom: solid 1px var(--color-accent); }
.header .header-burger { position: relative; display: none; width: var(--burger); height: var(--burger); cursor: pointer; border: none; border-radius: var(--radius-md); background-color: var(--color-primary); padding: 0; }
.header .header-burger span { transition: 0.2s; background: var(--color-white); display: block; height: 2px; width: 19px; position: absolute; top: 18px; left: 10px; }
.header .header-burger span:nth-child(1) { margin-top: -6px; }
.header .header-burger span:nth-child(2) { margin: 0; }
.header .header-burger span:nth-child(3) { margin-top: 6px; }
.header .header-burger.isActive span:nth-child(1) { margin-top: 0 !important; transform: rotate(45deg); }
.header .header-burger.isActive span:nth-child(2) { opacity: 0; }
.header .header-burger.isActive span:nth-child(3) { margin-top: 0 !important; transform: rotate(-45deg); }
@media (max-width: 1012px) {
  .header .header-navigation { display: none; }
  .header .header-contacts { margin-right: 15px; }
  .header .header-contacts p.header-contactbutton a.button { height: 40px; padding-top: 0; padding-bottom: 0; line-height: 40px; }
  .header .header-burger { display: block; }
}
@media (max-width: 767px) {
  .header.header--fixed { position: relative; }
  .header .header-contacts { margin-right: 10px; display: none; }
  .header .header-burger { margin-left: auto; }
}
/* header--compact: the 1012px-and-below state at any width (this system's addition, for previews and narrow slots) */
.header.header--compact .header-navigation { display: none; }
.header.header--compact .header-contacts { margin-right: 15px; }
.header.header--compact .header-contacts p.header-contactdetails { display: none; }
.header.header--compact .header-contacts p.header-contactbutton a.button { height: 40px; padding-top: 0; padding-bottom: 0; line-height: 40px; }
.header.header--compact .header-burger { display: block; }

/* ---------- Mobile navigation ---------- */
.mobilenavigation-underlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: var(--z-underlay); background-color: var(--color-black); opacity: var(--opacity-underlay); display: none; }
.mobilenavigation-underlay.isActive { display: block; }
.mobilenavigation { width: var(--drawer-width); max-width: 100%; background-color: var(--color-white); overflow-y: auto; box-shadow: var(--shadow-drawer); }
.mobilenavigation.mobilenavigation--fixed { position: fixed; z-index: var(--z-drawer); right: -110%; top: 0; bottom: 0; transition: 0.3s right ease-in-out; }
.mobilenavigation.mobilenavigation--fixed.isActive { right: 0; }
@media (max-width: 767px) { .mobilenavigation { width: 100%; } }
.mobilenavigation .mobilenavigation-header { display: flex; align-items: center; justify-content: space-between; padding-top: clamp(1.25rem, 0.5377043091rem + 1.485884101vw, 1.875rem); padding-bottom: clamp(1.25rem, 0.5377043091rem + 1.485884101vw, 1.875rem); padding-left: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); padding-right: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); }
.mobilenavigation .mobilenavigation-header h6 { margin: 0; }
.mobilenavigation .mobilenavigation-menu { border-top: solid 1px var(--color-grey); list-style-type: none; margin: 0; padding: 0; }
.mobilenavigation .mobilenavigation-menu > li.menu-item-has-children { position: relative; }
.mobilenavigation .mobilenavigation-menu > li.menu-item-has-children .toggle-menu { position: absolute; top: 0; right: 0; width: 50px; height: 50px; border-left: 1px solid var(--color-grey); cursor: pointer; background: none; border-top: 0; border-right: 0; border-bottom: 0; padding: 0; }
@media (max-width: 767px) { .mobilenavigation .mobilenavigation-menu > li.menu-item-has-children .toggle-menu { width: 46px; height: 46px; } }
.mobilenavigation .mobilenavigation-menu > li.menu-item-has-children .toggle-menu .toggle-arrow { position: absolute; top: calc(50% - 7px); left: calc(50% - 7px); height: 10px; width: 10px; border: solid var(--color-font); border-width: 0 1px 1px 0; display: inline-block; box-sizing: border-box; transform: rotate(45deg); }
.mobilenavigation .mobilenavigation-menu > li.menu-item-has-children .toggle-menu.isActive .toggle-arrow { transform: rotate(-135deg); top: calc(50% - 3px); }
.mobilenavigation .mobilenavigation-menu > li > a { border-bottom: 1px solid var(--color-grey); display: block; padding: 12px 20px; color: var(--color-font); padding-left: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); padding-right: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu { list-style-type: none; margin: 0; border-bottom: 1px solid var(--color-grey); padding: 20px; display: none; padding-left: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); padding-right: clamp(1.25rem, -4.4483655275rem + 11.8870728083vw, 6.25rem); }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu.isActive { display: block; }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu > li { margin-bottom: 7px; }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu > li:last-child { margin-bottom: 0; }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu li.current-menu-item a { border-bottom: solid 1px var(--color-font); }
.mobilenavigation .mobilenavigation-menu > li > .sub-menu a { color: var(--color-font); border-bottom: none; }
.mobilenavigation .mobilenavigation-details { border-top: solid 1px var(--color-grey); padding: 20px; }
.mobilenavigation .mobilenavigation-details ul.social li { margin: 0 10px 0 0; }
.mobilenavigation .mobilenavigation-details ul.social li a svg { height: var(--social-icon); fill: var(--color-primary); }
.mobilenavigation .mobilenavigation-details ul.mobilenavigation-legal { list-style-type: none; margin: 0 0 24px; padding: 0; }
.mobilenavigation .mobilenavigation-details ul.mobilenavigation-legal li, .mobilenavigation .mobilenavigation-details ul.mobilenavigation-legal li a { color: var(--color-font); }
.mobilenavigation .mobilenavigation-details p, .mobilenavigation .mobilenavigation-details p a:not(.button) { color: var(--color-font); }

/* ---------- Footer ---------- */
.footer { background-color: var(--color-primary); }
.footer .footer-inner { position: relative; margin: 0 auto; width: 100%; max-width: var(--container-wide); padding: var(--space-footer) var(--space-gutter); }
.footer .footer-header { margin-bottom: var(--space-30); display: flex; align-items: center; flex-wrap: wrap; }
.footer .footer-header .footer-logos { display: flex; align-items: center; }
.footer .footer-header .footer-logo { margin-right: var(--space-30); }
@media (min-height: 770px) and (min-width: 1210px) { .footer .footer-header .footer-logo { margin-right: 45px; } }
.footer .footer-header .footer-logo:last-child { margin-right: 0; }
.footer .footer-header .footer-logo a { display: block; border: 0; }
.footer .footer-header .footer-logo a img { height: var(--footer-logo-height); width: auto; }
.footer .footer-header .footer-contacts { margin-left: auto; display: flex; align-items: center; }
.footer .footer-header .footer-contacts ul { list-style-type: none; margin: 0; padding: 0; display: flex; }
.footer .footer-header .footer-contacts ul li { margin-right: var(--space-20); }
.footer .footer-header .footer-contacts ul.contacts li a { color: var(--color-white); border-bottom: solid 1px transparent; }
.footer .footer-header .footer-contacts ul.contacts li a:hover { border-bottom: solid 1px var(--color-white); }
.footer .footer-header .footer-contacts ul.social li { margin: 0 0 0 var(--space-15); }
.footer .footer-header .footer-contacts ul.social li:first-child { margin-left: 0; }
.footer .footer-header .footer-contacts ul.social li a { border-bottom: none; }
.footer .footer-header .footer-contacts ul.social li a svg { height: var(--social-icon-footer); fill: var(--color-white); }
.footer .footer-content { margin-bottom: var(--space-30); display: flex; }
.footer .footer-content .footer-contact { flex: 0 0 16.67%; }
.footer .footer-content h6 { color: var(--color-yellow); text-transform: uppercase; margin-bottom: var(--space-12); }
.footer .footer-content ul.footer-navigation { display: flex; flex: 0 0 83.33%; }
.footer .footer-content ul.footer-navigation > li { flex: 1; }
.footer .footer-content ul.footer-navigation > li > a { color: var(--color-yellow); text-transform: uppercase; cursor: default; border-bottom: none; }
.footer .footer-content ul.footer-navigation > li > a:hover { border-bottom: none; }
.footer .footer-content ul.footer-navigation > li ul.sub-menu { padding-top: var(--space-12); }
.footer .footer-content ul.footer-navigation > li ul.sub-menu li { margin-bottom: 1px; }
.footer .footer-content ul.footer-navigation > li ul.sub-menu li:last-child { margin-bottom: 0; }
.footer .footer-legal p { margin: 0 0 var(--space-3); }
.footer .footer-legal p span { margin-left: 20px; }
.footer .footer-legal ul { margin: 0 0 var(--space-15); display: flex; align-items: center; flex-wrap: wrap; }
.footer .footer-legal ul li { margin-right: var(--space-15); }
.footer .footer-legal ul li:last-child { margin-bottom: 0; margin-right: 0; }
.footer p { color: var(--color-white); }
.footer p a { color: var(--color-white); border-bottom: solid 1px transparent; }
.footer p a:hover { color: var(--color-white); border-bottom: solid 1px var(--color-white); }
.footer ul { list-style-type: none; margin: 0; padding: 0; }
.footer ul li { color: var(--color-white); }
.footer ul li a { color: var(--color-white); border-bottom: solid 1px transparent; }
.footer ul li a:hover { color: var(--color-white); border-bottom: solid 1px var(--color-white); }
@media (max-width: 1012px) {
  .footer .footer-header { flex-direction: column; align-items: flex-start; }
  .footer .footer-header .footer-contacts { padding-top: 30px; margin-left: 0; flex-direction: column; align-items: flex-start; }
  .footer .footer-header .footer-contacts ul.social { padding-top: 15px; }
  .footer .footer-content .footer-contact { flex: 0 0 100%; }
  .footer .footer-content ul.footer-navigation { display: none; }
}
@media (max-width: 767px) {
  .footer .footer-header .footer-contacts ul.contacts { flex-direction: column; margin-bottom: 15px; }
  .footer .footer-legal ul { flex-direction: column; align-items: flex-start; padding-top: 15px; }
  .footer .footer-legal ul li { margin-right: 0; margin-bottom: 2px; }
}

/* ---------- Social links ---------- */
ul.social { list-style-type: none; margin: 0; padding: 0; display: flex; flex-flow: row wrap; align-items: center; }
ul.social li { margin: 0 7px; }
ul.social li::before { display: none !important; }
ul.social li a { display: block; border-bottom: none !important; }
ul.social li a:hover { border-bottom: none !important; }
ul.social li a svg { height: var(--social-icon); width: auto; display: block; transition: 0.2s all; fill: var(--color-white); }
ul.social li a:hover svg { transform: scale(1.05); }
ul.social.social--primary li a svg { fill: var(--color-primary); }

/* ---------- Pagination ---------- */
ul.page-numbers { list-style-type: none; margin: 0; padding: 0; display: flex; flex-direction: row; align-items: center; padding-top: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem); }
ul.page-numbers li { margin: 0 10px 0 0; }
ul.page-numbers li::before { display: none !important; }
ul.page-numbers li a, ul.page-numbers li span { display: inline-block; background-color: var(--color-primary); color: var(--color-white); border-radius: var(--radius-xs); text-align: center; width: var(--page-number); height: var(--page-number); line-height: var(--page-number); border: none; }
ul.page-numbers li a:hover { background-color: var(--color-accent); color: var(--color-white); }
ul.page-numbers li span { background-color: var(--color-accent); }

/* ---------- Section header ---------- */
.sectionheader { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: var(--space-section-header); }
.sectionheader .sectionheader-content { flex: 1; }
.sectionheader .sectionheader-content h2 { margin: 0; }
.sectionheader .sectionheader-content p { padding-top: var(--space-15); margin: 0; }
.sectionheader .sectionheader-cta { padding-left: var(--space-50); display: flex; align-items: center; }
.sectionheader .sectionheader-cta a { border: 0; }
.sectionheader .sectionheader-cta img { max-height: 50px; }
.sectionheader .sectionheader-cta ul { list-style-type: none; margin: 0; padding: 0 0 0 var(--space-30); display: flex; align-items: center; }
.sectionheader .sectionheader-cta ul li { margin-right: var(--space-10); }
.sectionheader .sectionheader-cta ul li:last-child { margin-right: 0; }
@media (max-width: 1012px) { .sectionheader { flex-direction: column; } .sectionheader .sectionheader-cta { padding-left: 0; padding-top: 20px; } }
@media (max-width: 767px) { .sectionheader .sectionheader-cta { flex-direction: column; align-items: flex-start; } .sectionheader .sectionheader-cta ul { padding-left: 0; padding-top: 20px; } }

/* ---------- Title bar (Hero h1, post h1) ---------- */
.hero h1, .singlepage header h1 { margin: 0 0 var(--space-30); position: relative; }
.hero h1::after, .singlepage header h1::after { content: ""; position: absolute; bottom: -30px; left: 0; width: var(--title-bar-width); height: var(--title-bar-height); background-color: var(--color-accent); }

/* ---------- Hero ---------- */
.hero .hero-inner { padding-top: var(--space-hero); padding-bottom: var(--space-hero); }
.hero .hero-wrapper { display: grid; grid-template-columns: 5fr 2fr; gap: var(--space-grid-wide); }
.hero .hero-image img { border-radius: var(--radius-md); }
.hero .hero-footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-35); }
.hero .hero-contentarea { padding-top: var(--space-25); }
.hero ul.hero-buttons { list-style-type: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; }
.hero ul.hero-buttons li { margin-right: var(--space-15); }
.hero ul.hero-logos { list-style-type: none; margin: 0; padding: 0; display: flex; align-items: center; }
.hero ul.hero-logos li { margin-left: var(--space-25); }
.hero ul.hero-logos li a { border: 0; display: block; }
.hero ul.hero-logos li img { max-height: var(--hero-logo); }
@media (min-height: 770px) and (min-width: 1210px) { .hero ul.hero-logos li img { max-height: 70px; } }
@media (max-width: 1012px) {
  .hero .hero-inner { padding: 0; }
  .hero .hero-wrapper { grid-template-columns: 1fr; gap: 0; }
  .hero .hero-image { order: 1; }
  .hero .hero-image img { object-fit: cover; aspect-ratio: 2/1; width: 100%; }
  .hero .hero-content { order: 2; padding: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem) clamp(1.25rem, -0.8868870728rem + 4.4576523031vw, 3.125rem); }
  .hero .hero-footer { padding: 0 clamp(1.25rem, -0.8868870728rem + 4.4576523031vw, 3.125rem) clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem); flex-direction: column; align-items: flex-start; }
  .hero ul.hero-logos { padding-top: 35px; }
  .hero ul.hero-logos li { margin-left: 0; margin-right: 25px; }
  .hero ul.hero-logos li img { max-height: 60px; }
}
@media (max-width: 767px) {
  .hero ul.hero-buttons { flex-direction: column; align-items: flex-start; }
  .hero ul.hero-buttons li { margin-right: 0; margin-bottom: 10px; }
  .hero ul.hero-logos li img { max-height: 55px; }
}

/* ---------- Cards ---------- */
.cards .cards-items { display: grid; gap: var(--space-grid); }
.cards.cards--one .cards-items { grid-template-columns: 1fr; }
.cards.cards--two .cards-items { grid-template-columns: 1fr 1fr; }
.cards.cards--three .cards-items { grid-template-columns: 1fr 1fr 1fr; }
.cards.cards--four .cards-items { grid-template-columns: 1fr 1fr 1fr 1fr; gap: var(--space-grid-tight); }
@media (max-width: 1012px) { .cards.cards--three .cards-items, .cards.cards--four .cards-items { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .cards.cards--two .cards-items, .cards.cards--three .cards-items { grid-template-columns: 1fr; } }
.cards .cards-item { position: relative; }
.cards .cards-item.cards-item--link:hover .cards-image img { transform: scale(1.05); }
.cards .cards-item .cards-image { overflow: hidden; border-radius: var(--radius-lg); }
.cards .cards-item .cards-image img { transition: 0.3s all ease-in-out; }
.cards .cards-item .cards-content { padding-top: var(--space-10); }
.cards .cards-item .cards-content h3 { margin: 0; }
.cards .cards-item .cards-content h3 a { border-bottom: solid 1px transparent; color: var(--color-primary); }
.cards .cards-item .cards-content h3 a:hover { border-bottom: solid 1px var(--color-font); }
.cards .cards-item .cards-content h3 a::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
.cards .cards-item .cards-content p { padding-top: var(--space-10); margin: 0; }
@media (max-width: 767px) { .cards .cards-item .cards-content h3 { font-size: clamp(1.125rem, 0.6976225854rem + 0.8915304606vw, 1.5rem); line-height: 1.5; font-weight: 600; } }

/* ---------- Posts (also Rooms and Rooms Related) ---------- */
.posts .posts-items { display: grid; gap: var(--space-grid); }
.posts .posts-items.posts-items--two { grid-template-columns: 1fr 1fr; }
.posts .posts-items.posts-items--three { grid-template-columns: 1fr 1fr 1fr; }
.posts .posts-items.posts-items--four { grid-template-columns: 1fr 1fr 1fr 1fr; gap: var(--space-grid-tight); }
@media (max-width: 1012px) { .posts .posts-items.posts-items--three, .posts .posts-items.posts-items--four { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .posts .posts-items.posts-items--two, .posts .posts-items.posts-items--three, .posts .posts-items.posts-items--four { grid-template-columns: 1fr; } }
.posts .posts-item { position: relative; border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.posts .posts-item:hover .posts-image img { transform: scale(1.05); }
.posts .posts-item .posts-image { overflow: hidden; }
.posts .posts-item .posts-image img { transition: 0.2s all ease-in-out; }
.posts .posts-item .posts-content { border: solid 1px var(--color-keyline); border-top: none; padding: var(--space-card); border-bottom-left-radius: var(--radius-lg); border-bottom-right-radius: var(--radius-lg); flex: 1; }
.posts .posts-item .posts-content h3 { margin: 0; }
.posts .posts-item .posts-content h3 a { border-bottom: solid 1px transparent; color: var(--color-font); }
.posts .posts-item .posts-content h3 a:hover { border-bottom: solid 1px var(--color-font); }
.posts .posts-item .posts-content h3 a::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
.posts .posts-item .posts-content p { padding-top: var(--space-10); margin: 0; }
.posts .posts-item .posts-content p.posts-date { padding: 0; }

/* ---------- Carousel controls (carousel-arrows / carousel-dots mixins, on slick markup) ---------- */
.cch-carousel { position: relative; }
.cch-carousel .slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.cch-carousel .slick-track { display: flex; transition: transform 0.5s ease; }
.cch-carousel .slick-slide { flex: 0 0 auto; min-height: 1px; }
.cch-carousel .slick-slide img { display: block; }
.slick-arrow { position: absolute; z-index: var(--z-carousel-arrow); top: 50%; margin-top: -21px; background-color: var(--color-primary); cursor: pointer; border: none; width: var(--carousel-arrow); height: var(--carousel-arrow); border-radius: var(--radius-full); background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2213%22 height=%2223%22 viewBox=%220 0 13 23%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.5651 12.5651L2.5651 22.5651C2.28331 22.8469 1.90112 23.0052 1.5026 23.0052C1.10409 23.0052 0.721894 22.8469 0.440102 22.5651C0.158309 22.2833 2.96917e-09 21.9011 0 21.5026C-2.96917e-09 21.1041 0.158309 20.7219 0.440102 20.4401L9.37885 11.5039L0.442602 2.5651C0.303073 2.42557 0.192391 2.25993 0.116879 2.07762C0.0413657 1.89532 0.00249958 1.69993 0.00249958 1.5026C0.00249958 1.30528 0.0413657 1.10988 0.116879 0.927581C0.192391 0.745277 0.303073 0.579632 0.442602 0.440102C0.582132 0.300573 0.747777 0.189892 0.930081 0.114379C1.11239 0.0388661 1.30778 -1.47018e-09 1.5051 0C1.70243 1.47018e-09 1.89782 0.0388661 2.08012 0.114379C2.26243 0.189892 2.42807 0.300573 2.5676 0.440102L12.5676 10.4401C12.7073 10.5796 12.818 10.7453 12.8935 10.9278C12.969 11.1102 13.0078 11.3057 13.0075 11.5031C13.0073 11.7005 12.9681 11.896 12.8922 12.0782C12.8163 12.2605 12.7051 12.4259 12.5651 12.5651Z%22 fill=%22%23ffffff%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center center; background-size: 8px; padding: 0; font-size: 0; color: transparent; }
.slick-arrow.slick-prev { left: -21px; transform: rotate(180deg); }
.slick-arrow.slick-next { right: -21px; }
.slick-arrow.slick-disabled { opacity: var(--opacity-disabled); cursor: default; }
@media (max-width: 767px) { .slick-arrow.slick-prev { left: 10px; } .slick-arrow.slick-next { right: 10px; } }
.slick-dots { list-style-type: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; position: absolute; bottom: 0; left: 0; right: 0; }
.slick-dots li { margin-left: var(--space-10); }
.slick-dots li::before { display: none !important; }
.slick-dots li:first-child { margin-left: 0; }
.slick-dots li.slick-active button { background: var(--color-font); }
.slick-dots li button { display: block; background: transparent; border: solid 1px var(--color-font); border-radius: var(--radius-full); width: var(--carousel-dot); height: var(--carousel-dot); cursor: pointer; color: transparent; font-size: 0; line-height: 0; padding: 0; margin: 0; }

/* ---------- Text + Image ---------- */
.textimage .textimage-wrapper { display: grid; gap: var(--space-grid); }
.textimage.textimage--6col6col .textimage-wrapper { grid-template-columns: 1fr 1fr; }
.textimage.textimage--5col7col .textimage-wrapper { grid-template-columns: 2fr 3fr; }
.textimage.textimage--7col5col .textimage-wrapper { grid-template-columns: 3fr 2fr; }
.textimage.textimage--reverse .textimage-content { order: 2; }
.textimage.textimage--reverse .textimage-image { order: 1; }
.textimage.textimage--middle .textimage-wrapper { align-items: center; }
.textimage .textimage-content { order: 1; }
.textimage .textimage-image { order: 2; min-width: 0; min-height: 0; }
.textimage .textimage-image img { border-radius: var(--radius-lg); }
.textimage .textimage-carousel .slick-list { margin: 0 -15px; }
.textimage .textimage-carousel .slick-slide { padding: 0 15px; }
@media (min-height: 770px) and (min-width: 1210px) { .textimage .textimage-carousel .slick-list { margin: 0 -20px; } .textimage .textimage-carousel .slick-slide { padding: 0 20px; } }
.textimage .textimage-carousel .slick-arrow.slick-prev { left: -21px; }
.textimage .textimage-carousel .slick-arrow.slick-next { right: -21px; }
@media (max-width: 767px) {
  .textimage.textimage--6col6col .textimage-wrapper, .textimage.textimage--5col7col .textimage-wrapper, .textimage.textimage--7col5col .textimage-wrapper { grid-template-columns: 1fr; }
  .textimage .textimage-content { order: 2; }
  .textimage .textimage-image { order: 1; }
}

/* ---------- Feature ---------- */
.feature { position: relative; }
.feature .feature-carousel .slick-arrow.slick-prev { left: 40px; }
.feature .feature-carousel .slick-arrow.slick-next { right: 40px; }
@media (max-width: 767px) { .feature .feature-carousel .slick-arrow.slick-prev { left: 10px; } .feature .feature-carousel .slick-arrow.slick-next { right: 10px; } }
.feature .feature-carousel .slick-slide { width: 100%; }
.feature .feature-slide { position: relative; height: var(--feature-height); }
@media (min-height: 770px) and (min-width: 1210px) { .feature .feature-slide { height: 550px; } }
@media (max-width: 1012px) { .feature .feature-slide { height: 400px; } }
@media (max-width: 767px) { .feature .feature-slide { height: 300px; } }
.feature .feature-background { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.feature .feature-background::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; right: 0; background: linear-gradient(to bottom, var(--overlay-top), var(--overlay-bottom)); }
@media (max-width: 767px) { .feature .feature-background::after { background: linear-gradient(to bottom, var(--overlay-top-mobile), var(--overlay-bottom-mobile)); } }
.feature .feature-inner { z-index: 3; display: flex; align-items: center; justify-content: center; height: 100%; }
.feature .feature-content { text-align: center; }
.feature .feature-content h3 { color: var(--color-white); }
.feature .feature-content p { color: var(--color-white); }
.feature .feature-content ul.feature-buttons { list-style-type: none; margin: 0; padding: 10px 0 0; display: flex; align-items: center; justify-content: center; }
.feature .feature-content ul.feature-buttons li { margin: 0 10px; }

/* ---------- Testimonials ---------- */
.testimonials.bg_grey .testimonials-item blockquote { border: none; }
.testimonials .testimonials-carousel .slick-list { margin: 0 -15px; }
.testimonials .testimonials-carousel .slick-slide { padding: 0 15px; }
@media (min-height: 770px) and (min-width: 1210px) { .testimonials .testimonials-carousel .slick-list { margin: 0 -20px; } .testimonials .testimonials-carousel .slick-slide { padding: 0 20px; } }
.testimonials .testimonials-carousel .slick-track { align-items: stretch; }
.testimonials .testimonials-items { display: grid; gap: var(--space-grid); }
.testimonials .testimonials-items.testimonials-items--one { grid-template-columns: 1fr; }
.testimonials .testimonials-items.testimonials-items--two { grid-template-columns: 1fr 1fr; }
.testimonials .testimonials-items.testimonials-items--three { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 1012px) { .testimonials .testimonials-items.testimonials-items--three { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .testimonials .testimonials-items.testimonials-items--two, .testimonials .testimonials-items.testimonials-items--three { grid-template-columns: 1fr; } }
.testimonials .testimonials-item { height: 100%; }
.testimonials .testimonials-item blockquote { margin: 0; text-align: center; background-color: var(--color-white); border-radius: var(--radius-lg); height: 100%; border: solid 1px var(--color-keyline); display: flex; flex-direction: column; padding: var(--space-panel); }
.testimonials .testimonials-item blockquote p { margin-bottom: var(--space-text); }
.testimonials .testimonials-item blockquote p.testimonials-heading { font-weight: 700; }
.testimonials .testimonials-item blockquote cite { font-style: normal; margin-top: auto; display: block; }
.testimonials .testimonials-item blockquote cite p { margin: 0; text-transform: uppercase; }
.testimonials .testimonials-item blockquote cite label { line-height: 1; margin: 0; }
.testimonials .testimonials-item blockquote cite img { padding-top: 15px; height: 35px; width: auto; margin: 0 auto; }

/* ---------- Call to Action ---------- */
.cta { padding-top: var(--space-cta); padding-bottom: var(--space-cta); }
.cta .cta-wrapper { padding: var(--space-panel); background-color: var(--color-bg-grey); border-radius: var(--radius-lg); display: flex; flex-wrap: wrap; justify-content: space-between; }
.cta .cta-content { flex: 1; }
.cta .cta-button { flex: 0 0 40%; }
.cta .cta-button p { margin: 0; text-align: right; }
.cta h3 { margin-bottom: var(--space-15); }
@media (max-width: 1012px) { .cta .cta-wrapper { flex-direction: column; } .cta .cta-button p { text-align: left; padding-top: 25px; } }

/* ---------- Accordion ---------- */
.accordion .accordion-items { border-top: solid 1px var(--color-font); }
.accordion .accordion-items .accordion-item { border-bottom: solid 1px var(--color-font); }
.accordion .accordion-item { padding-top: var(--space-accordion); padding-bottom: var(--space-accordion); }
.accordion .accordion-header a, .accordion .accordion-header button { position: relative; display: block; padding: 0 50px 0 0; color: var(--color-accent); background: none; border: 0; width: 100%; text-align: left; cursor: pointer; font-family: var(--font-sans); }
.accordion .accordion-header a:hover, .accordion .accordion-header button:hover { color: var(--color-font); }
.accordion .accordion-header a::after, .accordion .accordion-header button::after { content: ""; position: absolute; top: calc(50% - 11px); right: 5px; width: 22px; height: 22px; transform: rotate(45deg); transition: 0.1s all linear; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%220 0 32 32%22 fill=%22none%22%3E%3Cpath d=%22M31 1L1 31%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M1 1L31 31%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E"); background-size: 30px; background-repeat: no-repeat; background-position: center; }
.accordion .accordion-item.isActive .accordion-header a::after, .accordion .accordion-item.isActive .accordion-header button::after { transform: rotate(0deg); }
.accordion .accordion-content { display: none; padding: 50px 30px 50px 30px; }
.accordion .accordion-item.isActive .accordion-content { display: block; }
@media (max-width: 767px) { .accordion .accordion-content { padding: 30px 0px 30px 0px; } }

/* ---------- Highlights ---------- */
.highlights .highlights-items { display: grid; gap: var(--space-grid); justify-content: center; }
.highlights .highlights-items.highlights-items--three { grid-template-columns: 1fr 1fr 1fr; }
.highlights .highlights-items.highlights-items--four { grid-template-columns: 1fr 1fr 1fr 1fr; }
.highlights .highlights-items.highlights-items--five { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
.highlights .highlights-items.highlights-items--six { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
@media (max-width: 1012px) { .highlights .highlights-items.highlights-items--four, .highlights .highlights-items.highlights-items--five, .highlights .highlights-items.highlights-items--six { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 767px) { .highlights .highlights-items.highlights-items--three { grid-template-columns: 1fr; } .highlights .highlights-items.highlights-items--four, .highlights .highlights-items.highlights-items--five, .highlights .highlights-items.highlights-items--six { grid-template-columns: 1fr 1fr; } }
.highlights .highlights-item .highlights-image img { border-radius: var(--radius-full); max-height: var(--highlight-image); margin: 0 auto; }
.highlights .highlights-item .highlights-content { padding-top: var(--space-10); }
.highlights .highlights-item .highlights-content h3 { margin: 0; text-align: center; color: var(--color-primary); }
.highlights h2 { margin-bottom: var(--space-25); text-align: center; }

/* ---------- Gallery ---------- */
.gallery .gallery-items { display: grid; gap: var(--space-grid-gallery); }
.gallery .gallery-items.gallery-items--two { grid-template-columns: 1fr 1fr; }
.gallery .gallery-items.gallery-items--three { grid-template-columns: 1fr 1fr 1fr; }
.gallery .gallery-items.gallery-items--four { grid-template-columns: 1fr 1fr 1fr 1fr; }
.gallery .gallery-items.gallery-items--five { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
.gallery .gallery-items.gallery-items--six { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
.gallery .gallery-items .gallery-item a { display: block; border: 0; }
.gallery .gallery-items .gallery-item img { display: block; width: 100%; }
.gallery .gallery-carousel { position: relative; padding-bottom: 25px; }
.gallery .gallery-carousel .slick-slide { width: 100%; }
.gallery .gallery-carousel .gallery-item { position: relative; }
.gallery .gallery-carousel .gallery-item img { display: block; width: 100%; }
.gallery .gallery-carousel .slick-dots { justify-content: flex-end; left: auto; }

/* ---------- Embed ---------- */
.embed .embed-code iframe { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16/9; display: block; border: 0; }
.embed .embed-content { padding-top: var(--space-25); }
.embeddedcontent:not(.embeddedcontent--enabled) { background-color: var(--color-bg-grey); border: solid 1px var(--color-primary); padding: 20px; }
.embeddedcontent iframe { display: none; }
.embeddedcontent--enabled iframe { display: block; }
.embeddedcontent--enabled .embeddedcontent-message { display: none; }
.embeddedcontent-message img { display: block; width: 100%; height: auto; }
.embeddedcontent-message p.embeddedcontent-thumbnail { position: relative; }
.embeddedcontent-message p.embeddedcontent-thumbnail a { display: block; border: 0; }

/* ---------- Image ---------- */
.image figure { padding: 0; margin: 0; }
.image figure > a { position: relative; display: block; border: 0; }
.image figure > a::after { content: ""; position: absolute; top: 20px; right: 20px; width: 25px; height: 25px; background-color: var(--color-primary); background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%220 0 39 39%22 version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22%3E%3Cpath fill=%22%23FFFFFF%22 d=%22M4.875,14.6181208 C4.875,9.24587083 9.24570833,4.8751625 14.6185,4.8751625 C19.99075,4.8751625 24.3609167,9.24587083 24.3609167,14.6181208 C24.3609167,19.9903708 19.99075,24.3610792 14.6185,24.3610792 C9.24570833,24.3610792 4.875,19.9903708 4.875,14.6181208 M38.1457917,34.6104958 L26.5682083,23.0323708 C28.2468333,20.6528292 29.2359167,17.7516625 29.2359167,14.6181208 C29.2359167,6.54457917 22.6915,0.0001625 14.6185,0.0001625 C6.5455,0.0001625 0,6.54457917 0,14.6181208 C0,22.6905792 6.5455,29.2360792 14.6185,29.2360792 C17.76775,29.2360792 20.6819167,28.2372458 23.0679583,26.5434542 L34.6395833,38.1161625 C35.70125,39.1772875 37.35875,39.2579958 38.3229167,38.2932875 C39.2870833,37.3291208 39.2074583,35.6716208 38.1457917,34.6104958%22 %3E%3C/path%3E%3C/svg%3E"); background-position: center center; background-size: 15px; background-repeat: no-repeat; }
.image figure img { width: 100%; }
.image figcaption { padding-top: var(--space-10); }

/* ---------- Article (content + sidebar) ---------- */
.article.article--sidebar .article-wrapper { display: grid; grid-template-columns: 5fr 2fr; gap: var(--space-grid-wide); }
@media (max-width: 1012px) { .article.article--sidebar .article-wrapper { grid-template-columns: 1fr; gap: 0; } }
.article .article-item { padding-bottom: var(--space-25); margin-bottom: var(--space-25); border-bottom: solid 1px var(--color-grey); }
.article .article-item:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
.article .article-item.article-item--image figure, .article .article-item.article-item--video figure { padding: 0; margin: 0; }
.article .article-item.article-item--image figure img { border-radius: var(--radius-md); }
.article .article-item.article-item--image figure > a, .article .article-item.article-item--video figure > a { display: block; position: relative; border: 0; }
.article .article-item.article-item--image figure > a::after, .article .article-item.article-item--video figure > a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 40px; height: 40px; background-color: var(--color-primary); background-repeat: no-repeat; background-position: center center; background-size: 20px; }
.article .article-item.article-item--image figure > a::after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%220 0 256 256%22%3E%3Cpath fill=%22%23ffffff%22 d=%22M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z%22%3E%3C/path%3E%3C/svg%3E"); }
.article .article-item.article-item--video figure > a::after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%220 0 256 256%22%3E%3Cpath fill=%22%23ffffff%22 d=%22M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z%22%3E%3C/path%3E%3C/svg%3E"); }
.article .article-item.article-item--image figure figcaption { margin-top: var(--space-15); }
.article .article-item.article-item--video figure figcaption { margin-top: var(--space-15); padding-left: 15px; border-left: solid 2px var(--color-grey); }
.article .article-item.article-item--buttons ul { list-style-type: none; margin: 0; padding: 0; display: flex; align-items: center; }
.article .article-item.article-item--buttons ul li { margin-right: var(--space-15); }
.article .article-item.article-item--buttons ul li:last-child { margin-right: 0; }
.article .article-item.article-item--buttons ul li::before { display: none !important; }
.article .article-item.article-item--social ul.social li { margin: 0 10px 0 0; }
.article .article-item.article-item--social ul.social li a svg { height: var(--social-icon); fill: var(--color-primary); }
.article .article-item.article-item--quicklinks h6 { margin-bottom: var(--space-12); }
.article .article-item.article-item--quicklinks ul { padding-left: 17px; margin: 0; }
.article .article-item.article-item--quicklinks ul li { margin-bottom: var(--space-5); }
.article .article-item.article-item--quicklinks ul li:last-child { margin-bottom: 0; }

/* ---------- Content area (rich text: _contentarea.scss) ---------- */
.contentArea iframe[src*="google.com/map"], .contentArea iframe[src*="vimeo.com"], .contentArea iframe[src*="youtu.be"], .contentArea iframe[src*="youtube.com"] { aspect-ratio: 16/9; object-fit: cover; object-position: center; width: 100% !important; max-width: 100% !important; height: auto !important; }
.contentArea table { margin-bottom: 24px; }
.contentArea hr { border: none; border-top: solid 1px var(--color-font); margin-top: var(--space-35); margin-bottom: var(--space-35); padding: 0; background: 0 0; }
.contentArea ul { list-style: none; margin-top: 0; margin-bottom: 24px; padding-left: 17px; }
.contentArea ul:last-child { margin-bottom: 0; }
.contentArea ul li { position: relative; margin-bottom: var(--space-3); }
.contentArea ul li:last-child { margin-bottom: 0; }
.contentArea ul li::before { content: ""; position: absolute; left: -15px; display: inline-block; width: var(--bullet); height: var(--bullet); border-radius: var(--radius-full); background: var(--color-accent); top: 0.75rem; }
@media (max-width: 767px) { .contentArea ul li::before { width: 5px; height: 5px; top: 0.625rem; } }
.contentArea ul.buttons { margin-bottom: 24px; padding: 0; }
.contentArea ul.buttons li { margin-right: var(--space-15); }
.contentArea ol { margin-top: 0; margin-bottom: 24px; padding-left: 17px; }
.contentArea ol:last-child { margin-bottom: 0; }
.contentArea ol li { margin-bottom: var(--space-3); }
.contentArea ol li:last-child { margin-bottom: 0; }
.contentArea blockquote { margin: 0 0 24px; border-left: solid 3px var(--color-primary); padding: 10px 0 10px 20px; }
@media (min-height: 770px) and (min-width: 1210px) { .contentArea blockquote { padding-left: 30px; } }
@media (max-width: 1012px) { .contentArea blockquote { padding-left: 15px; } }
@media (max-width: 767px) { .contentArea blockquote { padding-left: 10px; } }
.contentArea blockquote p { font-size: 1.625rem; line-height: 1.25; font-weight: 600; font-style: italic; }
.contentArea blockquote cite { font-style: normal; color: var(--color-font); padding-top: 15px; display: block; }

/* ---------- Single page (post template) ---------- */
.singlepage .singlepage-hero { display: none; }
@media (max-width: 1012px) { .singlepage .singlepage-hero { display: block; } }
.singlepage .singlepage-hero img { position: relative; top: -30px; object-fit: cover; aspect-ratio: 2/1; width: 100%; }
.singlepage .singlepage-wrapper { display: grid; grid-template-columns: 5fr 2fr; gap: var(--space-grid-wide); }
@media (max-width: 1012px) { .singlepage .singlepage-wrapper { grid-template-columns: 1fr; gap: 0; } }
.singlepage header { margin-bottom: var(--space-60); }
.singlepage header img { display: none; }
@media (max-width: 767px) { .singlepage header img { display: block; margin-bottom: 30px; } }
@media (max-width: 1012px) { .singlepage aside { padding-top: 30px; } }
.singlepage aside .singlepage-item { padding-bottom: var(--space-25); margin-bottom: var(--space-25); border-bottom: solid 1px var(--color-grey); }
.singlepage aside .singlepage-item:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
@media (max-width: 1012px) { .singlepage aside .singlepage-item.singlepage-item--featuredimage { display: none; } }
.singlepage aside ul.social li { margin: 0 10px 0 0; }
.singlepage aside ul.social li a svg { height: var(--social-icon); fill: var(--color-primary); }
.singlepage aside img { border-radius: var(--radius-md); }

/* ---------- Search results ---------- */
.searchresults .searchresults-item { margin-bottom: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem); }
.searchresults .searchresults-item:last-child { margin-bottom: 0; }
.searchresults .searchresults-item h3 { margin: 0; }
.searchresults .searchresults-item h3 a { border-bottom: solid 1px transparent; }
.searchresults .searchresults-item h3 a:hover { border-bottom: solid 1px var(--color-font); }
.searchresults .searchresults-item p { padding-top: var(--space-10); margin: 0; }

/* ---------- Filters (room listing) ---------- */
.filters { padding-bottom: clamp(1.25rem, -2.4539375929rem + 7.7265973254vw, 4.5rem); }
.filters .filters-items { display: flex; align-items: center; }
@media (max-width: 1012px) { .filters .filters-items { flex-direction: column; align-items: flex-start; } }
.filters .filters-item { position: relative; margin-left: var(--space-20); width: 250px; }
.filters .filters-item:first-child { margin-left: 0; }
.filters .filters-item.filters-item--push { margin-left: auto; }
@media (max-width: 1012px) { .filters .filters-item { margin-left: 0; margin-bottom: 10px; width: 50%; } .filters .filters-item.filters-item--push { margin-left: 0; } .filters .filters-item:last-child { margin-bottom: 0; } }
@media (max-width: 767px) { .filters .filters-item { width: 100%; } }
.filters .filters-item input[type=text] { background-color: var(--color-bg-grey); padding: 12px 10px; border: none; border-radius: 0; width: 100%; color: var(--color-font); }
.filters .filters-item button { position: absolute; background-color: transparent; top: 0; bottom: 0; right: 0; border: none; aspect-ratio: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%220 0 256 256%22%3E%3Cpath fill=%22%231e3743%22 d=%22M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z%22%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 18px; font-size: 0; color: transparent; }
.filters .filters-item select { appearance: none; -webkit-appearance: none; background-color: var(--color-primary); padding: 12px 17px 12px 15px; border: none; border-radius: var(--radius-md); cursor: pointer; color: var(--color-white); width: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2216%22 height=%229%22 viewBox=%220 0 16 9%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath stroke=%22%23bcbcbc%22 d=%22M0.5 0.5L7.59615 8.30764C7.64795 8.36836 7.71051 8.41676 7.77997 8.44985C7.84943 8.48293 7.92431 8.5 8 8.5C8.07569 8.5 8.15057 8.48293 8.22003 8.44985C8.28949 8.41676 8.35205 8.36836 8.40385 8.30764L15.5 0.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 10px; background-position: calc(100% - 15px) 50%; }
.filters .filters-item.filters-item--social { display: flex; align-items: center; width: auto; }
.filters .filters-item p { margin: 0; font-weight: 600; margin-right: var(--space-10); }
.filters .filters-item p a { font-weight: 400; }
.filters .filters-item ul.social li { margin: 0 0 0 10px; }
.filters .filters-item ul.social li a svg { fill: var(--color-primary); }

/* ---------- Enquiry form (Ninja Forms, as the theme restyles it) ---------- */
.nf-form-cont { margin-bottom: 40px; background-color: var(--color-bg-grey); padding: var(--space-card); border-radius: var(--radius-lg); }
.nf-form-cont .nf-form-title h3 { margin-bottom: 25px; }
.nf-form-cont .nf-form-fields-required { margin-bottom: 24px; color: var(--color-font); }
.nf-form-cont .nf-field-container { clear: both; margin-bottom: 25px; position: relative; }
.nf-form-cont .nf-field-label { margin-bottom: 5px; display: block; }
.nf-form-cont .nf-field-label label, .nf-form-cont .nf-field-label .nf-label-span { color: var(--color-font); margin: 0; padding: 0; }
.nf-form-cont .ninja-forms-req-symbol, .nf-form-cont .nf-error-msg { color: var(--color-error); }
.nf-form-cont .nf-form-content input[type=text], .nf-form-cont .nf-form-content input[type=password], .nf-form-cont .nf-form-content input[type=email], .nf-form-cont .nf-form-content input[type=tel], .nf-form-cont .nf-form-content textarea {
  padding: 10px 18px; outline: none; border: solid 1px var(--color-keyline); color: var(--color-font) !important; width: 100%; background: var(--color-white); margin: 0;
}
.nf-form-cont .nf-form-content textarea { height: 100px !important; }
.nf-form-cont .nf-form-content input:focus-visible, .nf-form-cont .nf-form-content textarea:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.nf-form-cont .nf-error .ninja-forms-field { border: 1px solid var(--color-error); }
.nf-form-cont .nf-form-content ul { list-style: none; margin: 0; padding: 0; }
.nf-form-cont .nf-form-content ul li { margin: 0 0 5px; padding-left: 0; display: flex; align-items: flex-start; }
.nf-form-cont .nf-form-content ul li::before { display: none; }
.nf-form-cont .nf-form-content ul li input { margin: 0.5625rem 10px 0 0; }
.nf-form-cont .nf-form-content ul li label { margin: 0; cursor: pointer; }
.nf-form-cont .nf-form-content .submit-container { margin-bottom: 5px; }
.nf-form-cont .nf-form-content input[type=submit] { height: auto; -webkit-appearance: none; appearance: none; }
.nf-form-cont .nf-response-msg p { margin: 0; }
