/*

Rosemount Cafe Stylesheet
Author: Lee Frankis
Copyright: 2025 Idearium

*/

/****************************************************************************************************/
/* Custom root styles */

@font-face {
    font-family: "Inter";
    src: url('assets/fonts/Inter-VariableFont_opsz,wght.ttf');
    font-display: swap;
}

@font-face {
    font-family: "Playfair";
    src: url('assets/fonts/PlayfairDisplay-VariableFont_wght.ttf');
    font-display: swap;
}

:root {
    --white: #ffffff;
    --black: #000000;
    --green: #336151;
    --light-green: #CFE1B9;
    --rose: #FFE2D3;
    --trans-white: rgba(255,255,255,0.25);
    --padding-left: 48px;
    --padding-right: 48px;
    --padding-top: 96px;
    --padding-bottom: 96px;
    --header-padding-bottom: 48px;
    --gap: 8px;
    --gap-2x: calc(var(--gap) * 2);
    --gap-3x: calc(var(--gap) * 3);
    --gap-4x: calc(var(--gap) * 4);
    --gap-6x: calc(var(--gap) * 6);
    --gap-8x: calc(var(--gap) * 8);
    --gap-12x: calc(var(--gap) * 12);
    --block-radius: 32px 32px;
    --block-top-radius: 32px 32px 0 0;
    --img-border-radius: 16px;
}

/****************************************************************************************************/
/* Idearium default styles */

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    font-size: 16px; /* root em */
}

.scroll-smoother {
	scroll-behavior: smooth;
	scroll-padding-top: 66px;
}

body {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.3;
    color: var(--green);
    font-size: 16px;
}

button {
    background-color: transparent;
    border: none;
    margin: 0;
    padding: 0;
    text-align: inherit;
    font: inherit;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.unstyled-link {
    color: inherit;
    text-decoration: none;
}

.basic-link {
    color: inherit;
    font-weight: 500;
}

img {
    display: block;
}

ul {
    margin-left: 16px;
}


/* flex utilities */

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-row {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-ctr {
    justify-content: center;
    align-items: center;
}

.flex-start {
    align-items: flex-start;
}

.align-items-ctr {
    align-items: center;
}

.justify-ctr {
    justify-content: center;
}

.flex-right {
    margin-left: auto;
}

.space-between {
    justify-content: space-between;
}

.equal-width {
    flex: 1;
}

.fill-width {
    width: 100%;
}

.push-down {
  margin-top: auto;
}

.push-right {
  margin-left: auto;
}

.no-shrink {
  flex-shrink: 0;
}

.fit-content {
    width: fit-content;
}

.stretch {
    align-items: stretch;
}

.align-self-start {
    align-self: flex-start;
}


/* columns */
.col-30 {
    width: 30%;
}

.col-40 {
    width: 40%;
}

.col-50 {
    width: 50%;
}

.col-70 {
    width: 70%;
}

/* gap */
.gap {
    gap: var(--gap);
}

.gap-2x {
    gap: var(--gap-2x);
}

.gap-3x {
    gap: var(--gap-3x);
}

.gap-4x {
    gap: var(--gap-4x);
}

.gap-6x {
    gap: var(--gap-6x);
}

.gap-8x {
    gap: var(--gap-8x);
}

.gap-12x {
    gap: var(--gap-12x);
}


/* other utilities */
.remove, .hide {
    display: none;
}

.relative {
    position: relative;
}

.sticky {
    position: sticky;
    top: 66px;
    z-index: 40;
}

.sticky-menu {
    position: sticky;
    top: 50px;
    z-index: 40;
}

.absolute-top-left {
    position: absolute;
    top: 0;
    left: 0;
}

.visible-md, .visible-lmd {
    display: none;
}


/****************************************************************************************************/
/* Custom stylesheet start */

/* fonts */
h1, h2, h3, h4, h5 {
    font-weight: 400;
    margin: 0;
    line-height: 1;
    max-width: 75ch;
}

section h1 {
  font-size: 4rem;
}


p {
    margin: 0;
    line-height: 1.25;
    max-width: 75ch;
}

.h1 {
    font-size: 4rem;
    font-family: "Playfair", serif;
}

.h1-alt {
    font-size: 3rem;
}

.h2 {
    font-size: 3rem;
}

.h3 {
    font-size: 2rem;
}

.h4 {
    font-size: 1.5rem;
}

.h5 {
	font-size: 1.1rem;
	font-weight: 450;
}

.medium {
    font-size: 1.25rem;
    font-weight: 500;
}

.kicker {
    font-size: 1.25rem;
}

.fancy {
    font-family: "Playfair", serif;
}

.large {
    font-size: 1.25rem;
}

.white {
    color: var(--white);
}

.text-center {
    text-align: center;
}

.no-limit,
.no-limit p {
    max-width: 100%;
}

.uppercase {
    text-transform: uppercase;
}

.menu-heading {
	font-weight: 450;
}

/* images */
.img-holder {
    border-radius: var(--img-border-radius);
    overflow: hidden;
}

.img-holder-alt {
  width: 100%;
  height: 100%;
  border-radius: var(--img-border-radius);
  overflow: hidden;
}

.img-holder img, .img-holder-alt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aspect-ratio-16-9 {
    aspect-ratio: 16 / 9;
}

.aspect-ratio-2-1 {
    aspect-ratio: 2 / 1;
}

.aspect-ratio-4-5 {
    aspect-ratio: 4 / 5;
}

.aspect-ratio-4-3 {
    aspect-ratio: 4 / 3;
}

.aspect-ratio-1-1 {
    aspect-ratio: 1 / 1;
}

.img-caption {
    font-size: 14px;
}

.img-fill-width {
	max-width: 100%;
	height: auto;
}

/* buttons */
.btn-primary {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    background: #336151;
    color: var(--white);
    width: fit-content;
    text-decoration: none;
    transition: box-shadow .2s ease-out, transform .2s ease-out;
}

.btn-primary:hover {
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.btn-secondary {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    border: 1px solid var(--green);
    color: var(--green);
    width: fit-content;
    text-decoration: none;
    transition: box-shadow .2s ease-out, transform .2s ease-out;
    
}

.btn-secondary:hover {
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.btn-unstyled {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.btn-floating {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    background: var(--light-green);
    color: var(--green);
    width: fit-content;
    text-decoration: none;
    margin-left: auto;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
	font-weight: 500;
}

.label {
    display: none;
}

.no-wrap {
    white-space: nowrap;
}

/* anchor */
.anchor {
    position: fixed;
    display: none;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: var(--padding-left);
    z-index: 40;
}

/* cards */
.card-img-holder {
    position: relative;
}

.card-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 20;
}

.card-img-holder .img-holder {
    position: relative;
    z-index: 10;
}

.btn-card {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.btn-card .btn-primary {
    visibility: hidden;
    opacity: 0;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.btn-card:hover .btn-primary {
    visibility: visible;
    opacity: 1;
    transform: none;
    box-shadow: none;
}

.label-alt {
    display: flex;
    padding: 6px 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    border: 1px solid var(--green);
    font-size: 12px;
    align-self: flex-start;
}

/* swiper */
.swiper {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

.swiper-slide {
    width: 100%;
    height: auto!important;
    max-width: calc(25% - 15px);
    min-width: 300px;
}

.swiper-slide.big {
    width: 90%;
    min-width: 90%;
}

.swiper-slide.third {
    width: 100%;
    max-width: calc(33.3% - 15px);
    min-width: 300px;
}

.swiper-slide p {
    max-width: 100%;
}

.swiper-button-disabled {
    opacity: 0.25;
}

.swiper-button-disabled:hover {
    box-shadow: none;
    transform: translateY(0);
}

.carousel-buttons {
    padding-bottom: 8px;
}

.carousel-buttons-alt {
    padding-top: 8px;
}

.carousel-buttons-alt.has-border {
    border-top: 1px solid rgba(51, 97, 81, 0.25);
}


.carousel-buttons:has(.carousel-prev.swiper-button-disabled):has(.carousel-next.swiper-button-disabled) {
  display: none;
}



/* dividers / hr */
hr {
    border: none;
    height: 1px;
    border-top: 1px solid var(--green);
}

.vertical-divider {
    border-left: 1px solid var(--green);
}

/* menus */
.subtle {
    border-top: 1px solid rgba(51, 97, 81, 0.25);
}

/* block utils */
.page-width {
    width: 100%;
    max-width: 1920px;
    padding-left: var(--padding-left);
    padding-right: var(--padding-right);
    margin: 0 auto;
}

.page-max {
    max-width: 1920px;
}

.content-width {
    width: 100%;
    max-width: 1200px;
    padding-left: var(--padding-left);
    padding-right: var(--padding-right);
    margin: 0 auto;
}

.block-padding {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
}

.block-padding-top {
    padding-top: var(--padding-top);
}

.sticky-block-padding {
    padding-top: 16px;
    padding-bottom: 16px;
}

.form-padding {
    padding: 24px;
}

.block-margin {
    margin-top: var(--padding-top);
    margin-bottom: var(--padding-bottom);
}

.block-top-radius {
    border-radius: var(--block-top-radius);
}

.block-radius {
    border-radius: var(--block-radius);
}

.post-padding {
    padding-top: 48px;
    padding-bottom: var(--padding-bottom);
}

/* wordpress admin bar */
body:has(#wpadminbar) .nav-bar {
    top: 32px;
}

body:has(#wpadminbar) .sticky {
    top: 82px;
}

/* Nav bar */
.nav-bar {
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
    height: 50px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
}

.nav-bar.pages {
    background-color: var(--green);
}

.actions, 
.menu-icon-holder {
    width: 80px;
}

.actions {
    gap: 8px;
}

.action-btn {
    text-decoration: none;
}

.logo .icon {
    width: 24px;
	height: auto;
}




/* Nagivation menu */
.navigation-menu-bar {
    height: 50px;
    padding-top: 10px;
}

/* wordpress admin bar */
body:has(#wpadminbar) .navigation-menu-bar {
    padding-top: 42px;
}

.nav-width {
    width: 100%;
}

.navigation-menu {
    background-color: var(--green);
    color: var(--white);
    height: 0;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    display: none;
}

.navigation-menu.overflow {
    overflow: hidden auto;
}

.navigation-menu .top {
    z-index: 2;
}

.navigation-menu.open {
    display: flex;
}

.nav-mask {
    width: 50%;
    overflow: hidden;
}

.main-nav {
    width: 100%;
    margin: 48px 0;
}

.link-group {
    width: 100%;
    flex: 0 0 100%;
}

.link-group.menus, .link-group.events {
    display: none;
}

.link-group.show {
    display: block;
}

.main-nav ul {
    list-style-type: none;
    margin: 0;
}

.main-nav ul li {
    font-family: 'Playfair', serif;
    font-size: 2.5rem;
    padding: 0;
    border-bottom: 1px solid var(--trans-white);
}

.main-nav-link {
    color: var(--white);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 8px 0;
}

.main-nav-link:hover {
    background-color: rgba(255,255,255,0.05);
}

.main-nav-link .icon-no-padding {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 24px;
}

.menu-icon .icon-no-padding {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
}

.nav-info {
    padding-bottom: 48px;
    margin-top: 48px;
}

.nav-info > div {
    padding: 0 24px;
}

.nav-info > div:first-child {
    border-right: 1px solid var(--trans-white);
    padding: 0 24px 0 0;
}

.nav-info-heading, .footer-heading {
    font-size: 1.5rem;
}

.navigation-menu .badge-holder {
    position: absolute;
    bottom: 0;
    right: 0;
    overflow: hidden;
    width: 50%;
    height: 100svh;
}

.navigation-menu .badge {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 110%;
    transform: translate(15%, 15%);
    aspect-ratio: 1 / 1;
    z-index: 1;
}

.navigation-menu .badge img {
    opacity: 0.1;
    width: 100%;
}

/* spinner */
.spinner-holder {
    position: relative;
}

.spinner-holder .rose,
.spinner-holder .word-spin {
    position: absolute;
    top: 50%;
    left: 50%;
    /* transform: translate(-50%, -50%); */
}

.spinner-holder .word-spin {
    opacity: 0;
}

.spinner-holder .rose {
    transform: translate(-50%, -50%);
}

.spinner {
    width: 240px;
}

.spinner-holder .word-spin,
.spinner-holder .intro-word-spin {
    width: 100%;
}

.spinner-holder .rose {
    width: 35%;
}

/* Hero block */

.hero {
    width: 100%;
    height: calc(100svh + 32px);
    background-color: var(--rose);
    overflow: hidden;
    z-index: 60;
    position: relative;
    visibility: hidden;
}

.hero .spinner-holder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100cqh;
    align-items: center;
    justify-content: center;
    display: flex;
    z-index: 1;
}

.hero .spinner-intro {
    width: 260px;
    height: auto;
    position: relative;
}

.hero .cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}

.hero-content-holder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    background-color: rgba(0,0,0,0.3);
    z-index: 3;
}

.hero .logo {
    width: clamp(340px, 60vw, 600px);
    height: auto;
    padding: 0 16px;
}

.hero-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: auto;
    margin-bottom: 48px;
    align-items: center;
    overflow: hidden;
    padding-bottom: 32px;
}

.hero-h1 {
    color: var(--white);
    font-size: 1.25rem;
}

/* footer */
footer {
    background-color: var(--green);
    color: var(--white);
    text-align: center;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
}

footer a {
    color: var(--white);
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

footer .col-width {
    min-width: 300px;
}

.divider {
    max-width: 320px;
    width: 100%;
	height: auto;
}

/* featured event block */
.featured-event {
    background-color: var(--light-green);
    margin-top: -32px;
    z-index: 70;
    position: relative;
}

.featured-event-alt {
    background: linear-gradient(180deg, rgba(51, 97, 81, 1) 20%, rgba(255, 255, 255, 1) 20%);
    padding-bottom: var(--padding-bottom);
}

/* story block */
.story-block {
    border-radius: var(--block-top-radius);
}

.story-block-alt {
    border-radius: var(--block-radius);
    margin-left: var(--padding-left);
    margin-right: var(--padding-right);
}

.story-content {
    padding-top: 180px;
    padding-bottom: 200px;
    padding-left: var(--padding-left);
    padding-right: var(--padding-right);
    text-align: center;
    max-width: 1200px;
    position: relative;
}

.story-content-alt {
    padding-top: 180px;
    padding-bottom: 120px;
    padding-left: var(--padding-left);
    padding-right: var(--padding-right);
    text-align: center;
    max-width: 1200px;
    position: relative;
}

.story-h2 {
    font-family: 'Playfair', serif;
    font-size: 6rem;
}

.story-h3 {
    font-family: 'Playfair', serif;
    font-size: 4rem;
}

.story-p {
    font-size: 3rem;
}

.story-p-alt {
    font-size: 2rem;
}

.story-content .spinner-holder {
    position: absolute;
    bottom: 0;
}

.story-spacer {
    height: 120px;
}

/* home about block */
.about-link {
  display: inline-flex;      /* Hug content width */
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.about-link span {
  display: inline-block;     /* Allows wrapping, hugs text */
  white-space: normal;
}


.about-link img {
    transition: transform .3s ease-in-out;
}

.about-link:hover img {
    transform: translateX(15px);
}

.extra-top-padding {
    padding-top: 64px;
}

/* FAQs */
.faq-item {
    width: calc(50% - 32px);
}

.faq-item p {
    max-width: 120ch;
}

.faq-item a {
    color: inherit;
    font-weight: 500;
}

/* page header */
.page-header {
    padding-top: 64px;
}

.page-header.green {
    background-color: var(--green);
    color: var(--white);
}

.page-header .btn-secondary {
    border: 1px solid var(--white);
    color: var(--white);
}

.page-header a:hover {
    text-decoration: underline;
}

.page-header .btn-secondary:hover {
    text-decoration: none;
}

.header-padding {
    padding-top: var(--padding-top);
    padding-bottom: var(--header-padding-bottom);
}

/* scroll menu */
.scroll-menu {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  flex-wrap: nowrap;
  mask-image: linear-gradient(to right, white 92%, transparent);
  max-width: 100%;
  padding: 5px 0;
}

.scroll-menu::-webkit-scrollbar {
  display: none;
}

.scroll-menu a {
    margin-right: 8px;
}

.scroll-menu a:last-child {
    margin-right: 16px;
}

/* menus */
#menus {
  scroll-margin-top: 160px; 
}
.menu-item {
    width: calc(33.3% - 16px);
    border-bottom: 1px solid rgba(51, 97, 81, 0.25);
    padding-bottom: 16px;
}
.catering-menu-item {
    width: calc(50% - 16px);
    border-bottom: 1px solid rgba(51, 97, 81, 0.25);
    padding-bottom: 16px;
}

/* gallery */
.gallery-item {
    flex: 1 1 calc((100% - 40px) / 3);
    max-width: calc((100% - 2 * 20px) / 3);
}

/* private events */
.price-info:first-child {
    padding-right: 16px;
}

.price-info:last-child {
    padding-left: 16px;
}

/* map holder */
.map-holder {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  border-radius: var(--img-border-radius);
  overflow: hidden;
}

.map-holder iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* about */
.quote {
    background-color: var(--rose);
    border-radius: var(--img-border-radius);
    padding: 24px 16px;
}

/* posts grid */
.post-card {
    flex: 1 1 calc((100% - 40px) / 3);
    max-width: calc((100% - 40px) / 3);
}

/* blog posts */
.post-featured-image {
    background: linear-gradient(180deg, rgba(207, 225, 185, 1) 20%, rgba(255, 255, 255, 1) 20%);
}

.post-content h1, 
.post-content h2, 
.post-content h3, 
.post-content h4, 
.post-content h5,
.post-content p {
    max-width: 100%;
}

.post-content p {
    margin-bottom: 12px;
}

.post-content a {
	color: var(--green);
}

.post-cta a {
	color: var(--white);
}

.post-content h2 {
    margin-top: 48px;
    margin-bottom: 32px;
    font-weight: 600;
}

.post-content h3 {
    margin-top: 32px;
    margin-bottom: 16px;
    font-weight: 600;
}

.post-content .h3.fancy {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 400;
}

.post-content figure {
    border-radius: var(--img-border-radius);
    overflow: hidden;
    margin-top: 48px;
    margin-bottom: 48px;
}

.post-cta {
    background-color: var(--green);
    color: var(--white);
    padding: 32px 20px;
    border-radius: var(--img-border-radius);
    overflow: hidden;
    margin-top: 48px;
    margin-bottom: 48px;
}

.post-cta h2, .post-cta p {
    margin-top: 0;
    margin-bottom: 0;
}

.continue-reading {
    margin-top: 48px;
}

/* catering */
.catering-menu-item {
    width: 100%;
    border-bottom: 1px solid rgba(51, 97, 81, 0.25);
    padding-bottom: 24px;
}

.catering-menu-item:last-child {
    width: 100%;
    border-bottom: 0;
    padding-bottom: 24px;
}

.catering-menu-item .img-holder {
    aspect-ratio: 16 / 9;
    max-width: 40%;
    flex-shrink: 0;
}

.info-item {
    flex: 1 1 calc((100% - 48px) / 2);
    max-width: calc((100% - 48px) / 2);
}

.info-item p {
    max-width: 120ch;
}

/* forms */
.rmc-form {
    width: 100%!important;
    margin: 0!important;
}

.rmc-form form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2x);
	margin: 1px;
}

.rmc-form.text-left {
    text-align: left!important;
}

.rmc-form label {
    font-size: 1rem!important;
    font-weight: 400!important;
    margin-bottom: 0;
}

.rmc-form input, .rmc-form textarea {
    border-radius: 16px!important;
    padding: 12px;
    border: 1px solid var(--green);
    font-size: 1rem;
    color: var(--green);
    font-family: inherit;
    width: 100%;
}

.rmc-form input:focus, .rmc-form textarea:focus {
    outline: 1px solid var(--green);
}

.rmc-form textarea {
    border-radius: 16px!important;
    resize: vertical;
}

.rmc-form .rmc-field p {
    max-width: 100%;
}

.rmc-form .rmc-submit p {
    display: flex;
	align-items: center;
}

.rmc-form .rmc-field p label {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
}

.rmc-form .btn-primary {
    width: fit-content;
    color: var(--white);
}

.wpcf7-form-control-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
}

.wpcf7-response-output {
    border-radius: 16px!important;
    border-color: none!important;
    border: none!important;
    margin: 0!important;
    padding: 16px!important;
    color: var(--white);
    background-color: var(--green);
}

.form-row p {
    display: flex;
    gap: var(--gap);
}

.form-scroll {
    max-height: calc(100svh - 120px);
    overflow-y: auto;
    scrollbar-color: #678542 var(--light-green);
    scrollbar-width: thin;
}

.wpcf7-form-control.wpcf7-radio {
    display: flex;
    padding: 16px 0;
	gap: 16px;
}

.wpcf7-list-item {
    margin: 0!important;
    width: 100%;
}

.wpcf7-list-item.first {
    min-width: 178px;
}

.wpcf7-list-item label {
    display: flex;
    flex-direction: row!important;
    gap: var(--gap);
    align-items: center;
    margin: 0;
}

.rmc-form input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: var(--green);
}

/* apple devices date field */
input[type="date"] {
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  font-size: 1rem;
  color: var(--green);
  padding: 11px;
  border: 1px solid var(--green);
  border-radius: 16px;
  background-color: #fff;
  min-height: 46px;
}

.form-overflow {
  padding-right: 12px!important;
}



/****************************************************************************************************/
/* media queries */



@media (hover: none) and (pointer: coarse) {
.card-hover {
    display: none;
}
 .label {
    display: flex;
    padding: 6px 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    border: 1px solid var(--green);
    font-size: 12px;
    align-self: flex-start;
    flex-shrink: 0;
}
}




/* Large screens */
@media screen and (max-width: 1590px) {
    
}

/* Large - medium screens */
@media screen and (max-width: 1200px) {
    /* fonts */
    .h1 {
        font-size: 3rem;
    }
    .h2 {
        font-size: 2.5rem;
    }
    .h3 {
        font-size: 2rem;
    }
    /* embed form */
    .embed-form .col-70 {
        width: 100%;
    }
    .embed-form .col-30 {
        display: none;
    }
    /* utils */
	.flex-col-lmd {
        flex-direction: column;
    }
    .visible-lmd {
        display: flex;
    }
	.hidden-lmd {
        display: none;
    }
    /* catering */
    .info-item {
        flex: 1 1 100%;
        max-width: 100%;
    }
	.anchor {
        display: flex;
    }
	/* gap */
	.gap-4x-lmd {
        gap: var(--gap-4x);
    }
}

/* Medium screens */
@media screen and (max-width: 992px) {
    .nav-mask {
        width: auto;
    }
    :root {
        --padding-left: 24px;
        --padding-right: 24px;
        --padding-top: 48px;
        --padding-bottom: 48px;
        --header-padding-bottom: 40px;
        --block-top-radius: 24px 24px 0 0;
        --block-radius: 24px;
    }
    .actions {
        gap: 16px;
    }

    /* aspect ratios */
    .aspect-ratio-16-9-md {
        aspect-ratio: 16 / 9;
    }

    /* utils */
    .flex-col-md {
        flex-direction: column;
    }
    .hidden-md {
        display: none;
    }
    .visible-md {
        display: flex;
    }
    .space-between-md {
        justify-content: space-between;
    }
    .text-center-md {
        text-align: center;
    }

    /* gap */
    .gap-md {
        gap: var(--gap);
    }
    .gap-2x-md {
        gap: var(--gap-2x);
    }
    .gap-3x-md {
        gap: var(--gap-3x);
    }
    .gap-4x-md {
        gap: var(--gap-4x);
    }
    .gap-6x-md {
        gap: var(--gap-6x);
    }
    .gap-8x-md {
        gap: var(--gap-8x);
    }
    .gap-12x-md {
        gap: var(--gap-12x);
    }
    .row-gap-4x-md {
        row-gap: var(--gap-4x);
    }

    /* columns */
    .col-50, .col-70 {
        width: 100%;
    }

    /* story block */
    .story-content {
        padding-top: 120px;
        padding-bottom: 142px;
    }
    .story-content-alt {
        padding-top: 120px;
        padding-bottom: 80px;
    }
    .story-h2 {
        font-size: 4rem;
    }
    .story-h3 {
        font-size: 3rem;
    }
    .story-p {
        font-size: 2rem;
    }
    .story-p-alt {
        font-size: 1.5rem;
    }
    .story-block .spinner,
    .story-block-alt .spinner {
        width: 180px;
    }
    .story-spacer {
        height: 100px;
    }

    /* FAQs */
    .faq-item {
        width: 100%;
    }

    /* fonts */
    .h1, .h1-alt {
        font-size: 2.5rem;
    }

    .h2 {
        font-size: 2rem;
    }
    .h3 {
        font-size: 1.75rem;
    }
    .h4 {
        font-size: 1.35rem;
    }

    /* menus */
    .menu-item {
        width: calc(50% - 16px);
    }
    .catering-menu-item {
        width: 100%;
    }

    /* featured event */
    .featured-event-alt {
        background: linear-gradient(180deg, rgba(51, 97, 81, 1) 10%, rgba(255, 255, 255, 1) 10%);
    }
    
    /* gallery and post grid */
    .gallery-item, .post-card {
        flex: 1 1 calc((100% - 20px) / 2);
        max-width: calc((100% - 20px) / 2);
    }

    /* private events */
    .price-info {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
    }

    /* order */
    .order-1-md {
        order: 1;
    }
    .order-2-md {
        order: 2;
    }

    /* blog posts */
    .post-featured-image {
        background: linear-gradient(180deg, rgba(207, 225, 185, 1) 10%, rgba(255, 255, 255, 1) 10%);
    }
}

/* Medium - small screens */
@media screen and (max-width: 640px) {
    /* menus */
    .menu-item {
        width: 100%;
    }
    .post-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .flex-col-ms {
        flex-direction: column;
    }
    .post-cta .spinner-holder {
        display: none;
    }
    .continue-reading {
        margin-top: 24px;
    }
    .catering-menu-item .img-holder {
        aspect-ratio: 2 / 1;
        max-width: 100%;
    }

    .post-cta, .post-content figure {
        margin-top: 32px;
        margin-bottom: 32px;
    }
}

/* Small screens */
@media screen and (max-width: 479px) {
    :root {
        --padding-left: 16px;
        --padding-right: 16px;
        --padding-top: 40px;
        --padding-bottom: 40px;
        --header-padding-bottom: 32px;
        --block-top-radius: 20px 20px 0 0;
        --block-radius: 20px;
    }
    .hero .spinner {
        width: 250px;
    }
    .navigation-menu .badge-holder {
        display: none;
    }

    /* utils */
    .flex-col-sm {
        flex-direction: column;
    }
    .justify-ctr-sm {
        justify-content: center;
    }
    .hidden-sm {
        display: none;
    }
    .main-nav ul li {
        font-size: 2rem;
    }

    /* gap */
    .gap-none-sm {
        gap: 0;
    }
    .gap-sm {
        gap: var(--gap);
    }
    .gap-2x-sm {
        gap: var(--gap-2x);
    }
    .gap-3x-sm {
        gap: var(--gap-3x);
    }
    .gap-4x-sm {
        gap: var(--gap-4x);
    }
    .gap-6x-sm {
        gap: var(--gap-6x);
    }
    .gap-8x-sm {
        gap: var(--gap-8x);
    }
    .gap-12x-sm {
        gap: var(--gap-12x);
    }

    /* fonts */
    .h1, .h1-alt {
        font-size: 2rem;
    }

    .h2 {
        font-size: 1.75rem;
    }
    .h3 {
        font-size: 1.5rem;
    }
    .h4 {
        font-size: 1.2rem;
    }
    .large, .kicker {
        font-size: 1rem;
    }

    /* story block */
    .story-content {
        padding-top: 100px;
        padding-bottom: 120px;
    }
    .story-content-alt {
        padding-top: 100px;
        padding-bottom: 60px;
    }
    .story-h2 {
        font-size: 3rem;
    }
    .story-p {
        font-size: 1.5rem;
    }
    .story-h3 {
        font-size: 2.5rem;
    }
    .story-p-alt {
        font-size: 1.25rem;
    }
    .story-block .spinner,
    .story-block-alt .spinner {
        width: 160px;
    }

    /* gallery */
    .gallery-item {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .swiper-slide, .swiper-slide.big, .swiper-slide.third {
        width: 100%;
        max-width: 100%;
        min-width: 300px;
    }
}

/* Tiny screens */
@media screen and (max-width: 390px) {

}

/* laptops with less vertical space */
@media screen and (min-width: 1200px) and (max-height: 699px) {
    .aspect-ratio-5-2 {
        aspect-ratio: 5 / 2;
    }
}