/*
THEME NAME: Cumbrian Cottage Holidays
DESCRIPTION: Bespoke WordPress theme
VERSION: 1.0
AUTHOR: Lake District Web Services
Author URI: https://ldws.co.uk
*/

:root{
    --body : #333;
    --bodyLineHeight: 1.75rem;

    --gridGap : 40px;
    --bigGridGap : 150px;
    --mWidth : 1450px;
    

    --lime : #B5E24B;
    --lime2 : #87B224;
    --grey : #F9FAFA;
    --greyAlt : #B3B3B3;
    --purple : #44167F;
    --red : #C80000;
    --dark : #191919;
    --green : #39524D;




}


@font-face {
    font-family: 'gilroyregular';
    src: url('fonts/gilroy-bold_0-webfont.woff2') format('woff2'),
         url('fonts/gilroy-bold_0-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;

}




@font-face {
    font-family: 'gilroyregular';
    src: url('fonts/gilroy-regular_0-webfont.woff2') format('woff2'),
         url('fonts/gilroy-regular_0-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'gilroyregular';
    src: url('fonts/gilroy-semibold_0-webfont.woff2') format('woff2'),
         url('fonts/gilroy-semibold_0-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;

}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video,* {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
.smooth,input,textarea,a{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-o-transition:all 0.2s ease;-ms-transition:all 0.2s ease;transition:all 0.2s ease;}
*, *:after, *:before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
html{scroll-behavior: smooth !important;}

:target:before {
    content: "";
    display: block;
    height: 100px;
    margin: -100px 0 0;
}

body {
font-family: 'gilroyregular';
color:var(--body);
line-height:var(--bodyLineHeight);
font-size:1.1rem;
}

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

a{text-decoration:none;color:inherit;cursor:pointer;}
p{margin-bottom:20px;}
b,strong{font-weight: bold}
i,em{font-style:italic;}







h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:0.75em;line-height: 1.25em;}

h1 {
    font-size: clamp(2rem, 1.2rem + 3vw, 3.125rem); /* 32px → 50px */
}

h2 {
    font-size: clamp(1.75rem, 1.1rem + 2.5vw, 2.5rem); /* 28px → 40px */
}

h3 {
    font-size: clamp(1.25rem, 1rem + 1.5vw, 1.625rem); /* 20px → 26px */
    line-height: 1.5em;
}

h4 {
    font-size: clamp(1rem, 0.9rem + 1vw, 1.25rem); /* 16px → 20px */
    line-height: 1.5em;
}

h5 {
    font-size: clamp(1.1rem, 1rem + 3vw, 2rem); /* already had clamp */
}

h6 {
    font-size: clamp(1rem, 0.95rem + 0.5vw, 1.1rem); /* 16px → 17.6px */
    color: var(--lime);
    text-transform: uppercase;
    font-weight: normal;
}

input[type="text"],input[type="email"],input[type="number"],input[type="date"], textarea,select{padding:10px;border:1px solid #ccc;width:100%;border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;margin-bottom:5px;outline:none;height: 50px}

input[type="button"],button[type="submit"],input[type="submit"],.button {-webkit-appearance:none;cursor:pointer;display:inline-block;background:var(--lime);color:black;padding:0.65rem 1.875rem;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;text-transform: uppercase;  transition: all 0.15s ease-in-out;
}

input[type="button"]:hover, input[type="submit"]:hover, .button:hover{top: 2px;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;transform: scale(1.02)}


.outlined:is(input[type="button"],input[type="submit"],.button){background-color: transparent;color: var(--lime);border:1px solid var(--lime)}



input#nights{background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 16.375C6.3125 16.375 4.45312 15.6094 2.92188 14.0781C1.39062 12.5469 0.625 10.6875 0.625 8.5C0.625 6.3125 1.39062 4.45312 2.92188 2.92188C4.45312 1.39062 6.3125 0.625 8.5 0.625C8.70417 0.625 8.90469 0.632292 9.10156 0.646875C9.29844 0.661458 9.49167 0.683333 9.68125 0.7125C9.08333 1.13542 8.60573 1.68594 8.24844 2.36406C7.89115 3.04219 7.7125 3.775 7.7125 4.5625C7.7125 5.875 8.17188 6.99062 9.09062 7.90937C10.0094 8.82812 11.125 9.2875 12.4375 9.2875C13.2396 9.2875 13.976 9.10885 14.6469 8.75156C15.3177 8.39427 15.8646 7.91667 16.2875 7.31875C16.3167 7.50833 16.3385 7.70156 16.3531 7.89844C16.3677 8.09531 16.375 8.29583 16.375 8.5C16.375 10.6875 15.6094 12.5469 14.0781 14.0781C12.5469 15.6094 10.6875 16.375 8.5 16.375ZM8.5 14.625C9.78333 14.625 10.9354 14.2714 11.9563 13.5641C12.9771 12.8568 13.7208 11.9344 14.1875 10.7969C13.8958 10.8698 13.6042 10.9281 13.3125 10.9719C13.0208 11.0156 12.7292 11.0375 12.4375 11.0375C10.6438 11.0375 9.11615 10.4068 7.85469 9.14531C6.59323 7.88385 5.9625 6.35625 5.9625 4.5625C5.9625 4.27083 5.98438 3.97917 6.02812 3.6875C6.07188 3.39583 6.13021 3.10417 6.20312 2.8125C5.06562 3.27917 4.14323 4.02292 3.43594 5.04375C2.72865 6.06458 2.375 7.21667 2.375 8.5C2.375 10.1917 2.97292 11.6354 4.16875 12.8313C5.36458 14.0271 6.80833 14.625 8.5 14.625Z' fill='%23979797'/%3E%3C/svg%3E%0A");padding-left:35px;background-position: 12px center;background-repeat: no-repeat;min-width:150px}
input#guests{background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.9987 7.00004C6.08203 7.00004 5.29731 6.67365 4.64453 6.02087C3.99175 5.3681 3.66536 4.58337 3.66536 3.66671C3.66536 2.75004 3.99175 1.96532 4.64453 1.31254C5.29731 0.659763 6.08203 0.333374 6.9987 0.333374C7.91536 0.333374 8.70009 0.659763 9.35286 1.31254C10.0056 1.96532 10.332 2.75004 10.332 3.66671C10.332 4.58337 10.0056 5.3681 9.35286 6.02087C8.70009 6.67365 7.91536 7.00004 6.9987 7.00004ZM0.332031 13.6667V11.3334C0.332031 10.8612 0.453559 10.4271 0.696615 10.0313C0.93967 9.63546 1.26259 9.33337 1.66536 9.12504C2.52648 8.69448 3.40148 8.37157 4.29036 8.15629C5.17925 7.94101 6.08203 7.83337 6.9987 7.83337C7.91536 7.83337 8.81814 7.94101 9.70703 8.15629C10.5959 8.37157 11.4709 8.69448 12.332 9.12504C12.7348 9.33337 13.0577 9.63546 13.3008 10.0313C13.5438 10.4271 13.6654 10.8612 13.6654 11.3334V13.6667H0.332031ZM1.9987 12H11.9987V11.3334C11.9987 11.1806 11.9605 11.0417 11.8841 10.9167C11.8077 10.7917 11.707 10.6945 11.582 10.625C10.832 10.25 10.0751 9.96879 9.3112 9.78129C8.54731 9.59379 7.77648 9.50004 6.9987 9.50004C6.22092 9.50004 5.45009 9.59379 4.6862 9.78129C3.92231 9.96879 3.16536 10.25 2.41536 10.625C2.29036 10.6945 2.18967 10.7917 2.11328 10.9167C2.03689 11.0417 1.9987 11.1806 1.9987 11.3334V12ZM6.9987 5.33337C7.45703 5.33337 7.84939 5.17018 8.17578 4.84379C8.50217 4.5174 8.66536 4.12504 8.66536 3.66671C8.66536 3.20837 8.50217 2.81601 8.17578 2.48962C7.84939 2.16324 7.45703 2.00004 6.9987 2.00004C6.54036 2.00004 6.148 2.16324 5.82161 2.48962C5.49523 2.81601 5.33203 3.20837 5.33203 3.66671C5.33203 4.12504 5.49523 4.5174 5.82161 4.84379C6.148 5.17018 6.54036 5.33337 6.9987 5.33337Z' fill='%23979797'/%3E%3C/svg%3E%0A");padding-left:35px;background-position: 12px center;background-repeat: no-repeat;}
input#pets{background-image: url("data:image/svg+xml,%3Csvg width='14' height='18' viewBox='0 0 14 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.04036 17.3333V9.10413H2.70703V15.6666H8.54036V11.6458L10.7279 9.45829C11.1306 9.05551 11.4431 8.60413 11.6654 8.10413C11.8876 7.60413 11.9987 7.0694 11.9987 6.49996C11.9987 5.9444 11.8841 5.41663 11.6549 4.91663C11.4258 4.41663 11.1168 3.96524 10.7279 3.56246L10.207 3.02079L7.5612 5.66663H4.22786L3.33203 6.56246L2.14453 5.39579L3.54036 3.99996H6.8737L10.207 0.666626L11.9154 2.37496C12.4709 2.93051 12.9015 3.55899 13.207 4.26038C13.5126 4.96176 13.6654 5.70829 13.6654 6.49996C13.6654 7.29163 13.5126 8.03815 13.207 8.73954C12.9015 9.44093 12.4709 10.0694 11.9154 10.625L10.207 12.3333V17.3333H1.04036ZM5.14453 13.4375L0.811198 9.10413C0.65842 8.95135 0.540365 8.77079 0.457031 8.56246C0.373698 8.35413 0.332031 8.13885 0.332031 7.91663C0.332031 7.6944 0.373698 7.4826 0.457031 7.28121C0.540365 7.07982 0.65842 6.90274 0.811198 6.74996L2.5612 4.97913L5.14453 7.54163C5.53342 7.93051 5.8355 8.37843 6.05078 8.88538C6.26606 9.39232 6.3737 9.92357 6.3737 10.4791C6.3737 11.0347 6.26953 11.5659 6.0612 12.0729C5.85286 12.5798 5.54731 13.0347 5.14453 13.4375Z' fill='%23979797'/%3E%3C/svg%3E%0A");padding-left:35px;background-position: 12px center;background-repeat: no-repeat;}
select#location{background-image: url("data:image/svg+xml,%3Csvg width='16' height='19' viewBox='0 0 16 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.6 9.5C8.1225 9.5 8.56979 9.31396 8.94187 8.94187C9.31396 8.56979 9.5 8.1225 9.5 7.6C9.5 7.0775 9.31396 6.63021 8.94187 6.25812C8.56979 5.88604 8.1225 5.7 7.6 5.7C7.0775 5.7 6.63021 5.88604 6.25812 6.25812C5.88604 6.63021 5.7 7.0775 5.7 7.6C5.7 8.1225 5.88604 8.56979 6.25812 8.94187C6.63021 9.31396 7.0775 9.5 7.6 9.5ZM7.6 16.4825C9.53167 14.7092 10.9646 13.0981 11.8988 11.6494C12.8329 10.2006 13.3 8.91417 13.3 7.79C13.3 6.06417 12.7498 4.65104 11.6494 3.55062C10.549 2.45021 9.19917 1.9 7.6 1.9C6.00083 1.9 4.65104 2.45021 3.55062 3.55062C2.45021 4.65104 1.9 6.06417 1.9 7.79C1.9 8.91417 2.36708 10.2006 3.30125 11.6494C4.23542 13.0981 5.66833 14.7092 7.6 16.4825ZM7.6 19C5.05083 16.8308 3.14687 14.816 1.88812 12.9556C0.629375 11.0952 0 9.37333 0 7.79C0 5.415 0.763958 3.52292 2.29187 2.11375C3.81979 0.704583 5.58917 0 7.6 0C9.61083 0 11.3802 0.704583 12.9081 2.11375C14.436 3.52292 15.2 5.415 15.2 7.79C15.2 9.37333 14.5706 11.0952 13.3119 12.9556C12.0531 14.816 10.1492 16.8308 7.6 19Z' fill='%23979797'/%3E%3C/svg%3E%0A");padding-left:35px;background-position: 12px center;background-repeat: no-repeat;}


.date-wrap{min-width:175px;display:block;}


.searchForm input, .searchForm select{margin-bottom:0;}

.date-placeholder{display:none}
@supports (-webkit-touch-callout: none) {

.date-placeholder{display:block}
/* Base reset for iOS Safari */
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;                 /* drop the native “grey” control */
  background: #fff;                 /* or var(--field-bg) */
  

width: 100%;

  min-inline-size: 0;               /* stop iOS from forcing a min width */

  /* Avoid auto darkening that can make it look grey */
  color-scheme: light;              /* or `only light` if supported */
}

/* Make the date text inherit your color (iOS inner part) */
input[type="date"]::-webkit-datetime-edit { color: currentColor; }

/* Optional: style/position the calendar icon */
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0.7;
  cursor: pointer;
  margin-inline-start: .25rem;
}

.placeholder-wrap {
  position: relative;
  display: block;
}

/* Make iOS let you style it and control width */
.date-wrap input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  min-inline-size: 0;
  box-sizing: border-box;
 
}

/* Faux placeholder */
.date-placeholder {
  position: absolute;
  top: 50%;
  left: .75rem;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .6;
  z-index: 1;
  line-height: 1;
  font:inherit;
}

.date-wrap:has(input:focus) .date-placeholder,
.placeholder-wrap.has-value .date-placeholder {
  opacity: 0;
}

}

/* - - GRID - - */
.grid{display: grid;}
.halves{grid-template-columns: 1fr 1fr;}
.thirds{grid-template-columns: 1fr 1fr 1fr;}
.quarters{grid-template-columns: 1fr 1fr 1fr 1fr;}
.gridGap{grid-gap: 70px;}
.bigGridGap{grid-gap: var(--bigGridGap);}
.gridMid{align-items: center;}
.grid.swap .right{order:1}
.grid.swap .left{order:2}



.statsGrid{grid-template-columns: 1fr 2fr}
.contactGrid{grid-template-columns: 2fr 1fr;}

.contactGrid .left .left{border-right:1px solid #C3C3C3;}

.flex{display: flex;}
.vmid{align-items:center;}
.vbase{align-items: end;}
.sb{justify-content: space-between;}
.jc{justify-content: center;}
.gap{gap:70px;}
.gapTiny{gap:10px}
.gap5{gap:5px}
.gap28{gap:28px}
.gap40{gap:40px}
.gap15{gap:15px}
.gap10{gap:10px}
.gap20{gap:20px}
.flexWrap{flex-wrap:wrap;}
.fs{align-items: flex-start;}

.flex.swap{flex-direction: row-reverse;}
.alignEnd{align-items: end;}

.f1 > div{flex:1}

.nodesk{display:none;}
.padded{padding:70px 50px}
.pad30{padding:30px}
.pad20{padding:20px}

.in{max-width:var(--mWidth);margin:auto;}
.narrow{max-width: 750px}
.narrower{max-width: 1200px}
.presetSearches .narrower{max-width: 1100px}
.nopad{padding:0;}
.nomar{margin:0;}
.tac{text-align:center;}
.tar{text-align:right;}
.row{margin-bottom:25px;}
.bigRow{margin-bottom:4rem}
.prel{position:relative;}
.pa{position:absolute;}
.ov{overflow:visible;}
.oh{overflow:hidden;}
.mb10{margin-bottom:10px}

.noTopPad{padding-top:0}
.noBottomPad{padding-bottom:0}

.rad5{border-radius: 5px;}
.rad10{border-radius: 10px;}
.rad20{border-radius: 20px;}



.lightText{color:white}
.darkText{color:black;}

.theme-white{background-color: white;}
.theme-dark{background-color: var(--dark);color:white;}
.theme-green{background-color: var(--green);color:white;}
.theme-grey{background-color: var(--grey)}

#subFooter{background-color: black;color:white}
#subFooter .padded{padding-top:15px;padding-bottom:15px}

.shadow{box-shadow: 0px 24px 44px 0px rgba(144, 144, 144, 0.15);}

.searchForm{padding:15px 20px;max-width:760px; }



section, #wrapper{overflow: hidden;}



/*.entry-content :not(img) a:not(.button){text-decoration: underline;}*/

#header{position:sticky;top: 0;z-index:99;}

/*#header .logo{width: 9rem;width: clamp(100px, 15vw, 180px);height: auto}*/
/*.scrolled #header .logo{width: 6rem;width: clamp(70px, 10vw, 100px)}*/

#header .logo img{max-width:160px;width: auto}

#header li{display: inline;}

#header .padded{padding-top:15px;padding-bottom:15px}

#header .flex{gap:10px}

/* ——— Top level ——— */
ul.menu { display:flex; gap:20px; font-size:.92rem; }
.menu-item { position:relative; }
.menu-item > a { display:flex; text-decoration:none; }
.menu-item:hover > a, .current-page-ancestor > a, .current-menu-item > a {
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--lime);
  text-decoration-thickness:3px;
  text-underline-offset:3px;
}

/* ——— Chevron indicators ——— */
.menu > .menu-item-has-children > a::after{
  content:""; display:inline-block; width:.45em; height:.45em; margin-left:.4em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform-origin:50% 50%; transition:transform .25s ease;
}
.menu > li.menu-item-has-children > a::after{ transform:translateY(10px) rotate(45deg); }
.menu li.menu-item-has-children li.menu-item-has-children > a::after{ transform:translateY(8px) rotate(-45deg); }
.menu > li.menu-item-has-children:hover > a::after,
.menu > li.menu-item-has-children:focus-within > a::after{ transform:translateY(12px) rotate(-135deg); }
.menu li.menu-item-has-children li.menu-item-has-children:hover > a::after,
.menu li.menu-item-has-children li.menu-item-has-children:focus-within > a::after{ transform:translateY(8px) rotate(45deg); }

/* ——— Base submenu (all levels) ——— */
.sub-menu{
  display:none; position:absolute; left:0; top:100%; z-index:1000;
  background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2);padding:20px 0;
}
.sub-menu .sub-menu{ left:100%; top:0; } /* deeper flyout */
.sub-menu .menu-item > a{ padding:10px 50px; }

/* Open normal dropdowns (no grandchildren) as a tidy block with sensible width */
.menu > li:hover > .sub-menu:not(:has(> li.menu-item-has-children)),
.menu > li:focus-within > .sub-menu:not(:has(> li.menu-item-has-children)){
  display:block;
  min-width:220px;           /* narrower floor */
  max-width:320px;           /* cap prevents “too wide” */
  width:max-content;         /* fit content but respect cap */
  box-sizing:border-box;
  overflow-wrap:break-word;  /* long words won’t blow it out */
}

/* ——— “Mega/mixed” dropdown: only when there are grandchildren ——— */
.menu > li:hover > .sub-menu:has(> li.menu-item-has-children),
.menu > li:focus-within > .sub-menu:has(> li.menu-item-has-children){
  display:flex;             /* switch to columns */
  flex-wrap:nowrap;         /* show all 4 parent items on ONE row */
  align-items:flex-start;
  gap:1rem 2rem;
  padding:1rem;
  width:max-content;        /* size to columns */
  max-width:92vw;           /* cap to viewport */
  overflow-x:auto;          /* if 4 columns don’t fit, allow scroll (no wrap) */
  box-sizing:border-box;
}



/* Columns: first-level items that HAVE children */
/* Apply column width to ALL first-level children inside a flexed/mega submenu */
.menu > li > .sub-menu:has(> li.menu-item-has-children) > li {
  flex: 0 0 14rem;   /* every child = a column */
}

/* (Keep your mega container nowrap so columns don’t wrap) */
.menu > li:hover > .sub-menu:has(> li.menu-item-has-children),
.menu > li:focus-within > .sub-menu:has(> li.menu-item-has-children) {
  flex-wrap: nowrap;      /* no wrapping; will scroll horizontally if needed */
  overflow-x: auto;       /* already in your setup */
}

/* .menu > li > .sub-menu:has(> li.menu-item-has-children) > li.menu-item-has-children > a */
.menu > li > .sub-menu > li > a
{
  display:block; font-weight:600; font-size:1rem;
}
.menu > li > .sub-menu:has(> li.menu-item-has-children) > li.menu-item-has-children > a{padding:0 0px;font-size:1rem}

/* Stack grandchildren under their column header (no flyout at this level) */
.menu > li > .sub-menu:has(> li.menu-item-has-children)
  > li.menu-item-has-children > .sub-menu{
  position:static; display:block; padding:0; margin:0;
  background:transparent; box-shadow:none; min-width:0;
}
.menu > li > .sub-menu:has(> li.menu-item-has-children)
  > li.menu-item-has-children > .sub-menu > li > a{
  display:block; padding:6px 0; white-space:nowrap;
}

/* Leaf items (no children) in the mega: take a full row under the columns */
/* .menu > li > .sub-menu:has(> li.menu-item-has-children)
  > li:not(.menu-item-has-children){ flex:1 0 100%; } */
.menu > li > .sub-menu:has(> li.menu-item-has-children)
  > li:not(.menu-item-has-children) > a{
  display:block; 
	  padding:0;
}

/* Keep deeper (3rd+) within columns as flyouts if needed */
.menu > li > .sub-menu:has(> li.menu-item-has-children)
  > li.menu-item-has-children > .sub-menu .sub-menu{
  position:absolute; left:100%; top:0; min-width:300px;
  background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2);
}

/* ——— Show on hover/focus (shared) ——— */
.menu-item:hover > .sub-menu,
.menu-item:focus-within > .sub-menu{ display:block; } /* baseline; mega rules override to flex */

/* ——— Edge protection: flip on right for last items (both types) ——— */
.menu > li:nth-last-child(-n+2) > .sub-menu{ right:0; left:auto; }

/* ——— Optional: don’t bold every submenu link when open ——— */
/* .menu-item:hover > .sub-menu > li a{ font-weight:normal; } */

/* ——— Thumb variant (left as-is, tidied) ——— */
.menu-thumb-item{ width:250px; height:170px; text-align:center; position:relative; }
.menu-thumb-item a{ height:100%; }
.menu-thumb-item span{
  position:absolute; padding:5px 20px; height:auto; z-index:2; color:#fff;
  background:rgba(0,0,0,0.65);
  display:flex; align-items:flex-end; justify-content:center;width:100%;max-width:90%;border-radius:5px;bottom:10px;left:50%;transform:translateX(-50%);
}
.menu-thumb-item:hover a span{color:var(--lime);}
.menu-thumb-item img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- Keep mega/flex submenu on-screen: center + clamp + gutter --- */
:root { --mega-gutter: 4vw; } /* safe padding from edges */

.menu > li:hover > .sub-menu:has(> li.menu-item-has-children),
.menu > li:focus-within > .sub-menu:has(> li.menu-item-has-children) {
  /* already display:flex; flex-wrap:nowrap; etc. from your styles */
  left: 50%;
  right: auto;               /* ignore right-flip for mega */
  transform: translateX(-50%);
  max-width: calc(100vw - (var(--mega-gutter) * 2));
  width: max-content;        /* size to columns but respect cap */
  overflow-x: auto;          /* if 4 cols still wider than cap, allow scroll */
  box-sizing: border-box;
	padding:20px 50px;
  margin-inline: var(--mega-gutter); /* visual breathing room at edges */
}

/* Make sure columns fit neatly; tweak width per column if needed */
.menu > li > .sub-menu:has(> li.menu-item-has-children) > li.menu-item-has-children {
  flex: 0 0 14rem;           /* ~224px per column; adjust to 12–16rem as needed */
}

/* Remove old right-edge flip specific to mega; keep it for normal dropdowns only */
.menu > li:nth-last-child(-n+2) > .sub-menu:has(> li.menu-item-has-children) {
  right: auto; left: 50%;    /* neutralize previous flip for mega */
}


.entry-content ul{margin-left:2rem;margin-bottom:2rem}


/* Hide mega menu by default */
.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    background: #fff;
    padding: 2em;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Show mega menu when parent li is hovered */
li.showCollections {
    position: static; /* Or relative if needed */
}

li.showCollections:hover > .mega-menu {
    display: flex;
    gap:30px;
    flex-wrap: wrap;
	justify-content:center;
}
li.showCollections {
    padding-bottom: 1em; /* increases hover zone */
	margin-bottom:-1em;
}
.mega-menu {
    top: calc(100% - 1.5em); /* adjust if needed */
}

#header .menu li.hidden{display: none!important}
ul.sub-menu:has(> li.hidden:first-child) {
  display: none!important;
}




.blog-filters__form{display:flex;gap:30px;}
.blog-filters{max-width: 900px;position: absolute;bottom:0;left:50%;transform:translate(-50%, 50%);z-index: 2;width: 100%}




/* Visually hide the radios but keep them accessible */
#scf-form .radioWrap input[type="radio"] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#scf-form textarea{min-height: 150px}

/* Hover */
#scf-form .radioWrap label:hover {
  border-color: var(--lime);
	cursor:pointer;
}


#scf-form .radioWrap input[type="radio"]:checked + span {
  border-color: var(--lime);
  color: var(--lime);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--lime) 25%, transparent);
}
#scf-form .radioWrap label > span {
  display:inline-flex; align-items:center; justify-content:center;
  min-inline-size:90px; padding:15px 18px; border:2px solid #ccc; border-radius:10px;
  font-weight:700; line-height:1; background:#fff; transition:.15s;
}



#scf-form .radioWrap label { font-size: 1.125rem; }




/* Container that clamps after N lines (via --lines) */
.blogStyleExcerpt {
  --lines: 2;
  position: relative;
}

/* Clamp state */
.blogStyleExcerpt.is-clamped .blogStyleExcerpt__inner {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--lines);
  overflow: hidden;
}

/* Subtle fade to hint more content */
.blogStyleExcerpt.is-clamped::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2.5rem;
  pointer-events: none;
  /* gradient mask without setting colors explicitly */
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

/* When expanded, show everything and remove fade */
.blogStyleExcerpt.is-expanded .blogStyleExcerpt__inner {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.blogStyleExcerpt.is-expanded::after {
  display: none;
}

/* Toggle button */
.blogStyleExcerpt__toggle {
  margin-top: 10px;
	margin-bottom:20px;
  appearance: none;
  border: none;
  background: none;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}







.socials img{min-width: 32px;height: auto}


.searchHero .padded{padding-top:130px;padding-bottom:130px}
.searchHeroSlide{background-size:cover;background-position: center;}
.searchHeroContent{max-width: 575px;margin-bottom:2.5rem}
.searchHeroContent p{padding-left:25px;border-left:2px solid var(--lime)}
body:not(.home) .searchHero.search-full .searchHeroContent{width: 100%;margin:auto}

.heroCF{background-size:cover;background-position: center;}
.heroCF.darkOverlay:after, .darkOverlay .searchHeroSlide:after, .ctaBlock.darkOverlay:after{background: rgba(0,0,0,0.2);position: absolute;top:0;left:0;width:100%;height:100%;z-index: 1;content: "";}
.heroCF.darkOverlay .in, .darkOverlay .searchHeroSlide .in, .ctaBlock.darkOverlay .in{position: relative;z-index: 2} 



.partnerLogos .logoWrap{width:200px;height:150px;text-align:center;padding:1.5rem;flex:1}
.partnerLogos .logoWrap img{height:100%;width: 100%;object-fit: contain}


.ctaBlock{background-size:cover;background-position: center;}



/* Cover button */
.video-cover {
    position: relative;
    display: block;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    line-height: 0;
    border-radius: 12px;
    overflow: hidden;
}

.video-cover__media img {
    display: block;
    width: 100%;
    height: auto;
}

.video-cover__play {
    position: absolute;
    top:35%;
    left:50%;
    transform:translateX(-50%);
    transition: transform .2s ease, opacity .2s ease;
}

.video-cover__play svg circle { fill: rgba(255,0,0,.55); }
.video-cover__play svg polygon { fill: #fff; }

.video-cover:hover .video-cover__play { transform: translateX(-50%) scale(1.05); }

/* Modal */
.video-modal[hidden] { display: none; }
.video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}
.video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.6);
}


.video-modal__dialog {
    position: relative;
    max-width: 960px;
    width: calc(100% - 32px);
    background: #000;
    border-radius: 12px;
    overflow: visible;
    box-shadow: 0 10px 40px rgba(0,0,0,.4);
    margin: 0; /* remove the top margin */
}
.video-modal__close {
    position: absolute;
    top: -10px;
    transform:translateY(-100%);
    right: 10px;
    background: rgba(255,255,255,.15);
    color: #fff;
    border: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 28px;
    z-index: 99;
    line-height: 40px;
    outline:none;
    cursor: pointer;
}
.video-modal__body {
    position: relative;
    padding-top: 56.25%; /* 16:9 */
}
.video-modal__body iframe,
.video-modal__body video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}




.reviewsCarousel .review{padding:25px;display:flex;flex-direction: column;}
.reviewsCarousel .reviewName{margin-top:auto;font-weight: bold}
.reviewsCarousel .reviewContent{margin-bottom:50px}

/* keep the link inline at the end of the text */
.read-more {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  padding: 0;
  margin-left: 6px;
  text-decoration: underline;
  display: inline-flex;
  align-items: center;
}

.read-more .arrow { margin-left: 3px; transition: transform 0.2s ease; }

/* show/hide areas */
.reviewContent .rc-full { display: none; }
.reviewContent[data-expanded="1"] .rc-preview { display: none; }
.reviewContent[data-expanded="1"] .rc-full { display: inline; } /* or block; depends on your markup */

/* optional rotate effect if you reuse the same arrow glyph */
.read-more[aria-expanded="true"] .arrow { transform: rotate(90deg); }

/* IMPORTANT: make sure you don't have any leftover height limits */
.reviewContent, .reviewWrap, .review { max-height: none; overflow: visible; }


.cottageCarousel .slick-slide, .reviewsCarousel .slick-slide {margin: 0 14px;}
.cottageCarousel .slick-list, .reviewsCarousel .slick-list {margin: 0 -14px;}
.cottageCarousel{display: flex;gap:28px;flex-wrap: wrap}
.cottageCarousel > div{flex:1}

.cottageCarousel .slick-track, .reviewsCarousel .slick-track{display: flex !important;}
.cottageCarousel .slick-slide, .reviewsCarousel .slick-slide{height: inherit !important;}
.cottageCarousel .slick-list, .reviewsCarousel .slick-list{overflow: visible;}
.cottageCarousel .cottageWrapper{height: 100%}

.cottageCarousel .cottageImage.slider {
    opacity: 0;
    transition: opacity 0.3s ease; /* optional fade-in */

}
.cottageCarousel .cottageImage.slider.ready {
    opacity: 1;
}


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

.cottageDetails {
    display: flex;
    flex-direction: column;
    flex: 1;}

.cottagePricingWrap {margin-top: auto;}
.cottageDetails{padding:25px 20px}
.cottageDetails .amenity img{height:27px;width:27px;}
.cottageImage{overflow: hidden;max-height: 322px}
.cottageImage img{width: 100%;display: block}

.cottageImage.slider{aspect-ratio: 375 / 280;}

.cottageBook{flex:0 0 172px;width:172px}
.cottagePricing.gap{gap:20px;justify-content: space-between;}

.cottageImage .slick-prev{
    width:27px;height:27px;left:10px;top:50%;transform:translate(0, -50%);
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='27' viewBox='0 0 27 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='13.5' cy='13.5' r='13.5' transform='rotate(180 13.5 13.5)' fill='black' fill-opacity='0.5'/%3E%3Cpath d='M16.293 19.5518L10.2412 13.5L16.293 7.44831' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
}

.cottageImage .slick-next{
    width:27px;height:27px;right:10px;top:50%;transform:translate(0, -50%);
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='27' viewBox='0 0 27 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='13.5' cy='13.5' r='13.5' transform='matrix(1 0 0 -1 0 27)' fill='black' fill-opacity='0.5'/%3E%3Cpath d='M10.707 19.5518L16.7588 13.5L10.707 7.44831' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.cottageNumbers span{border-left:1px solid var(--greyAlt);display: block;margin-left:10px;padding-left:10px;font-size:0.875rem;display: flex;align-items: center;gap:5px;line-height: 1}
.cottageNumbers span:first-child{border-left:none;padding-left:0;margin-left:0}


.cottagePricing{border-top:1px solid #a6a6a6;padding-top:18px;margin-top:18px}
.cottagePrice{color:var(--green);font-weight: 600;font-size:26px;line-height: 30px}
.cottagePeriod{color:#555;font-size:14px;text-transform: uppercase;}
/*.cottagePricing .button{font-size:14px}*/
.cottageWrapper .offerFlag{position: absolute;top:0;left:50%;transform:translateX(-50%);background-color: var(--purple);color:white;text-transform: uppercase;padding:7px 14px;font-size: 14px;border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;z-index: 9;line-height: 1;text-align: center;}
.cottageWrapper .offerDetails{position: absolute;bottom:0;left:50%;transform:translateX(-50%);background-color: var(--red);color:white;text-transform: uppercase;padding:7px 14px;font-size: 14px;border-top-left-radius: 10px;border-top-right-radius: 10px;z-index: 9;line-height: 1;width: 100%;max-width: 90%;text-align: center;}

.amenityPills{display:flex;gap:10px;flex-wrap: wrap;}
.amenityPills .amenity{background:#f3f3f3;padding:4px 8px;border-radius:30px;font-size:14px;line-height:1 }
.stars svg{display: block}

body.no-touch .mob-amenity-text{display: none;}
body.touch .mob-amenity-text{display: block;}
body.touch .cottageAmenities{display: block;}
body.touch .cottageAmenities .amenity{display: flex;gap:10px;margin-bottom:10px}



.formWrapper{position: absolute;top:40px;right:40px;background: white;border:5px solid white;max-width: 400px}
.heroCF .heroContent{width:calc(100% - 400px); max-width: 550px}
.heroCF h6{color:var(--lime);text-transform: uppercase;font-weight: 300}
.heroCF .heroContent p, p i, p em{border-left:2px solid var(--lime);padding-left:20px}
.formIntro{border-top-left-radius: 10px;border-top-right-radius: 10px;padding:20px}


.stackedImagesText .left img{display: block;width: 100%;margin-bottom:2rem;border-radius:10px}
.stackedImagesText .halves{grid-template-columns: 3fr 4fr;}
.stackedImagesText .halves.swap{grid-template-columns: 4fr 3fr;}

.stackedImagesText.unstack .halves{grid-template-columns:1fr}
.stackedImagesText.unstack .left img{max-width:410px;height:auto;}
.stackedImagesText.unstack .left{display:flex;gap:50px;justify-content:center;flex-wrap:wrap}



.verified img{max-width: 60px;height: auto}
.reviewWrap{display: flex;flex-direction: column;height: 100%}
.reviewName{margin-top:auto;}





.contVid .grid.unstack{grid-template-columns: 1fr}
.contVid .grid.unstack .right > .flex{display:flex;gap:2rem;flex-wrap: wrap;}
.contVid .grid.unstack .right > .flex > div, .contVid .grid.unstack .right > .flex > button{flex:1}
.contVid .grid.unstack .whiteBoxWrap{text-align: center;}
.contVid .grid.unstack .whiteBox{display:inline-block;margin:auto;width:auto}
.contVid .grid.unstack .right .iframe-wrap:last-child{flex-basis:100%}

.contactGrid .left .left svg{margin-top:5px}
.contactGrid .left .left .flex{margin-bottom:10px}


section ul {
  list-style: none;
  padding-left: 0;
}

section li {
  position: relative;
  margin-bottom:10px;
  padding-left: 1.5em;
}

section ul li:before {
    content: "•";
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 2.2em;
  color: var(--lime);

}

section ol li{padding-left:0;margin-left:1.5rem}

.single-post .entry-content p a, section p a{text-decoration: underline;}


.reviewsCarousel li:before, .featuredCottages li:before, .searchResults li:before, .page-numbers li:before{display:none}
.reviewsCarousel li, .featuredCottages li, .searchResults li, .page-numbers li{padding-left:0}



.profileBox{background-color: rgba(0,0,0,0.2);color: white;padding:50px 30px;text-align: center;}
.profileImg{width:150px;height:150px;border-radius: 50%;overflow: hidden;margin: auto;margin-bottom:20px}
.profileImg img{width: 100%;height: 100%;object-fit: cover;object-position: center;}

.insetImg{flex-basis:25%;min-width: 450px}
.insetImg img{display: block;width:100%;height:100%;object-fit: cover;}


.insetImg.imgOverflow{margin-top: -100px}
.insetImg.imgOverflow img{height:calc(100% + 100px)}


.stat{margin-bottom:20px;font-size: 3rem;font-weight: 600;color:var(--green)}
.statTitle{font-weight: bold;margin-bottom:10px;font-size:1.1rem}
.statBox{border-right:1px solid #A1A1A1}
.statBox:last-child{border-right:none;}





.whiteListItem img{width: 85px;height: auto}

.whiteListItem .whiteListContent p:last-child{margin-bottom:0}
.whiteListItem .listNumber{font-size:4rem;opacity: 0.36;color:var(--lime);font-weight: 600}
.whiteListItem.bullets{box-shadow: none;border-bottom:1px solid #C0C0C0;border-radius: 0;margin-bottom: 0;padding-left: 0}
.whiteListItem.bullets .whiteListContent h4{padding-left:30px;position: relative;}
.whiteListItem.bullets .whiteListContent h4:before{    content: "•";
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 2.2em;
  color: var(--lime);}


.box{padding:30px;}
.boxIcon img{height:60px;width: auto;margin-bottom:20px}
.theme-grey .box{background-color: white;}


.boxesIcons .flex{flex-wrap: wrap}
.boxesIcons .box{max-width: 33%;flex-basis:calc(33% - 20px);}
.boxesIcons .count-4 .box, .boxesIcons .count-8 .box{max-width: 25%;flex-basis:calc(25% - 20px);}



.contentDarkBox .blackBox{max-width: 33%}




ul.list li{margin-bottom: 15px}
ul.list li{position: relative;list-style: none;display:flex;gap:15px}
ul.list .listNumber{width:25px;height:25px;background-color: var(--lime);color:var(--body);text-align: center;display:grid;align-items: center;border-radius: 50%;margin-top:2px}









#clearForm{cursor: pointer;}
.full_search_form{border:1px solid #adadad;padding:20px 20px;position: absolute;bottom:0;left:50%;transform:translate(-50%, 50%);z-index: 9;width:100%;max-width: calc(var(--mWidth) - 100px);}   
.search-full input, .search-full select{margin-bottom:0;margin-top:5px}
.full_search_form .button{font-size:15px;margin-top:5px}
.controls1{min-width: 240px}
.basicSearch{align-items: flex-end;}
.full_search_form #advanced{display:none}
.full_search_form #advanced.open{display:block}
.amenityFilters{flex-basis: 70%}
.amenityFilters label{flex-basis:calc(33% - 10px);}
.amenityFilters input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
    border: 2px solid #b0e85d; /* lime-green border for checked */
    width: 20px;
    height: 20px;
    border-radius: 4px;
    margin-right: 10px;
    position: relative;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
	flex-shrink:0;
}

.amenityFilters input[type="checkbox"]:not(:checked) {
    border-color: #ffffff; /* white border when not checked */
}

.amenityFilters input[type="checkbox"]::after {
    content: '';
    position: absolute;
    width: 6px;
    height: 12px;
    border: solid #b0e85d; /* lime-green tick */
    border-width: 0 2px 2px 0;
    top: 1px;
    left: 6px;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.2s;
}

.amenityFilters input[type="checkbox"]:checked::after {
    opacity: 1;
}

.amenityFilters label {
    display: flex;
    align-items: center;
    color: white;
    cursor: pointer;
}

.numberInput {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 400px;
  margin: 0.5em 0;
}

.numberInput label {
  color: white;
}

.numberControl {
  display: flex;
  align-items: center;
}

.numberControl button {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--lime);
  border: none;
  color: var(--green);
  cursor: pointer;
  transition: background-color 0.2s;
  line-height: 1;
}

.numberControl button:hover {
  background-color: #c3f278;
}

.numberControl .value {
  color: white;
  min-width: 20px;
  text-align: center;
}

/* Hide the native input */
.numberControl input[type="hidden"] {
  display: none;
}
#advanced .extras{flex-basis:33%}




.blogStyleImage img{width: 100%;height: auto}





.collections .flex > :nth-child(1),
.collections .flex > :nth-child(2) {
  flex: 0 0 calc(50% - 14px);;
  min-height:240px;
}

/* All other items: 25% */
.collections.hasIntro .flex > :nth-child(n+3) {
  flex: 0 0 calc(25% - 21px);
  min-height:340px;
}

.collections.noIntro .flex > :nth-child(n+3) {
  flex: 0 0 calc(33% - 18.66px);
}

.collection{overflow: hidden;background-size: cover;background-position: center;}
.collections.hasIntro .collection h3{margin-bottom:0;position: relative;color:white}
.collection h3:before{content:"";width:4px;height:calc(100% + 20px);background:var(--lime);position: absolute;left:-20px;top:0}
.collections.hasIntro .collection a{background: linear-gradient(0deg,rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);padding:20px 40px;display: grid;align-items:flex-end;position: relative;height: 100%}


.collections.noIntro .collection a{padding:0}
.collectionImg{height:300px;}
.collectionImg img{width: 100%;height: 100%;object-fit: cover;}
.collectionInfo{padding:30px}





.blogThumb img{width: 100%;height: auto;display: block}
.blogCont{padding-left:0;padding-right:0}
.blogCont .cat{max-width: 50%}
.blogCont > .flex{font-size:0.95rem;line-height: 1.5}

.stepBox{padding-top:0;}

.stepNumber{width:70px;height:70px;background-color: rgba(140, 217, 74, 0.3);border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center; transform:translateY(calc( -50% - 18px));}
.stepNumberInner{border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;background-color: var(--lime);font-size:1.5rem;width:45px;height:45px;}






.borderlessImageContent img{width: 100%;height: 100%;object-fit: cover;display: block}



.anchors{min-width: 400px}
.anchors ul{list-style: none}
.anchors ul li a:hover{color:var(--lime)}


.flex .blogCont.full{
    width: 100%;
	max-width:900px;
margin:auto;
}

.flex .blogCont {
    width: 70%;
}

.flex .anchors {
    width: 30%;
}




.blogHero{background-size:cover;background-position: center;position: relative;}
.blogHero:after{content:"";background-color: rgba(0,0,0,0.2);position: absolute;top:0;left:0;width: 100%;height: 100%;}
.blogHero .in{position: relative;z-index: 1;color: white;padding-top:150px;padding-bottom:150px}
.blog-image img{margin: auto}


/* FAQ Accordion */
.faqs .faqWrap {
  border-top: 1px solid #e5e7eb;
}

.faqs .itemWrap {
  border-bottom: 1px solid #e5e7eb;
}

.faqs .q {
  position: relative;
  cursor: pointer;
  padding: 1rem 2.5rem 1rem 0;
  font-weight: 600;
  line-height: 1.4;
  outline: none;
}

.faqs .q:focus-visible {
  outline: 2px solid #3b82f6;      /* focus ring */
  outline-offset: 2px;
  border-radius: 4px;
}

/* caret */
.faqs .q::after {
  content: "";
  position: absolute;
  right: 0.25rem;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(-45deg);
  transition: transform 200ms ease;
}

.faqs .q[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(45deg);
}

/* answer container: animated open/close */
.faqs .a {
  overflow: hidden;
  max-height: 0;
  transition: max-height 250ms ease;
  will-change: max-height;
  margin-bottom:40px;
}

/* spacing for visible answer content */
.faqs .a > *:first-child { margin-top: 0.5rem; }
.faqs .a > *:last-child  { margin-bottom: 1rem; }

/* hidden state for a11y (also set via JS) */
.faqs .a[hidden] { display: none; }

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .faqs .a { transition: none; }
  .faqs .q::after { transition: none; }
}


.thumbnail-nav {
    margin-top: 10px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.thumbnail-nav .thumbnail {
    width: calc(20% - 10px);
    height: auto;
    border: 1px solid #ccc;
    transition: opacity 0.2s ease;
}

.thumbnail-nav .thumbnail:hover {
    opacity: 0.7;
}

.open-gallery {
    margin-left: 10px;
    font-size: 0.9rem;
    text-decoration: underline;
    cursor: pointer;
    width: calc(20% - 10px);
}

#tabNav {
  margin-bottom: 20px;
  padding:16px 25px;
  display:flex;
  gap:20px;
}

.tab-link {
  padding: 10px 7px;
  cursor: pointer;
  border: none;
  outline: none;
  background:none;
  position: relative;
}
.tab-link:after{position: absolute;width:100%;content:"";background-color: var(--lime);height:5px;bottom:-15px;left:0;opacity:0;transition: opacity 0.5s}

.tab-link.active {
  color:var(--lime);
  font-weight: 500;
}
.tab-link.active:after, .tab-link:hover:after{opacity: 1}

.tab-content {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.tab-content.active {
  display: block;
  opacity: 1;
}


.tab-content#facilities img{width:50px;height: auto}
.tab-content#facilities .amenity{display:flex;gap:10px;align-items: center}



/* Pagination container */
#nav-below.navigation {
    margin: 2rem 0;
    text-align: center;
}

/* Pagination list */
#nav-below.navigation ul {
    display: inline-flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Individual page link */
#nav-below.navigation li a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    background-color: var(--grey);
    color: #333;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

/* Hover and focus state */
#nav-below.navigation li a:hover,
#nav-below.navigation li a:focus {
    background-color: #e0e0e0;
    color: #000;
}

/* Current page */
#nav-below.navigation li span.current {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    background-color: var(--dark);
    color: #fff;
    border-radius: 4px;
    font-weight: bold;
}

/* Disabled prev/next (if ever rendered as <span>) */
#nav-below.navigation li span {
    color: #999;
    padding: 0.5rem 0.75rem;
}




#footer{line-height: 2em;font-size: 1rem}
#footer ul li{list-style: none}
#footer ul.menu{display: block}
.cards img{display: block;margin-bottom:10px}
#subFooter ul li{list-style: none}
#subFooter ul{display: flex;gap:25px;font-size:0.895rem;}
#subFooter ul li:last-child{margin-left:auto}

.mailchimp-signup-form{display: flex;gap:10px;}
.mailchimp-signup-form input{border:1px solid #848484;border-radius: 5px;background-color: #303030;color:white;margin: 0}
.mailchimp-signup-form button{padding:0.5rem 1rem}



.signup-container.onpage{max-width: 400px}
.signup-container.onpage .mailchimp-signup-form input{background-color: white;color: var(--body)}




.presetSearch{margin-bottom:10px;padding:10px;padding-left: 30px}
.presetSearch .arrival{border-right:1px solid #DBDBDB;}
.searchTitle{padding-left:30px;font-weight: bold;margin-bottom:10px}

.nested-list {
    list-style-type: none;
    padding-left: 0;
}

.nested-list li {
    margin-bottom: 0.5em;
}

.term-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1em;
}

.term-name a {
    text-decoration: none;
}

.toggle-arrow {
    cursor: pointer;
    display: inline-block;
    transition: transform 0.3s ease;
}

.toggle-arrow svg {
    transform: rotate(-90deg); /* collapsed (right) */
    transition: transform 0.3s ease;
}

.toggle-arrow.expanded svg {
    transform: rotate(0deg); /* expanded (down) */
}

.nested {
    display: none;
    padding-left: 1em;
    color:#aaa;
    font-size:0.9rem;
    line-height: 1.6;
}

.nested.visible {
    display: block;
}





.iframe-wrap{    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;}

.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* Toast base */
.signup-toast {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translate(-50%, 150%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: 9999;
  max-width: min(600px, 90vw);
  padding: 12px 16px;
  border-radius: 8px;
  color: #111;
  background: #f0fff4; /* success default */
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  line-height: 1.3;
  font: 500 14px/1.3 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, sans-serif;
}

/* Visible state */
.signup-toast.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
}

/* Variants */
.signup-toast.--success { background: #ecfdf5; border: 1px solid #10b981; color: #065f46; }
.signup-toast.--error   { background: #fef2f2; border: 1px solid #ef4444; color: #7f1d1d; }

/* Close button */
.signup-toast__close {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  padding: 0 0 0 12px;
  cursor: pointer;
  color: inherit;
}

/* Layout: message + close button */
.signup-toast__inner {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce) {
  .signup-toast {
    transition: none;
    transform: translate(-50%, 0);
    opacity: 1;
  }
}



input.error,textarea.error{border:1px solid #ec0032;background:#ffdddd;}
#fail,#error{border:1px solid #ec0032;background:#ffdddd;display:none;padding:15px 20px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}

#success{border:1px solid #4BB543;background:#d7fbd4;display:none;padding:15px 20px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}


.entry-title,.entry-meta {
clear:both;
}

.alignright,img.alignright{
float:right;
margin:1em 0 0 1em;
}

.alignleft,img.alignleft{
float:left;
margin:1em 1em 0 0;
}

.aligncenter,img.aligncenter{
display:block;
margin:1em auto;
text-align:center;
}

div.sidebar h3 {
font-size:1.2em;
}

div.sidebar li {
list-style:none;
margin:0 0 2em;
}

div.sidebar li form {
margin:0.2em 0 0;
padding:0;
}

div.sidebar ul ul {
margin:0 0 0 1em;
}

div.sidebar ul ul li {
list-style:none;
margin:0;
}

div.sidebar ul ul ul {
margin:0em;
}

div.sidebar ul ul ul li {
list-style:none;
}



input#author,input#url,div.navigation div ,.wp-caption {}.wp-caption-text {}.sticky {}.gallery-caption {}.bypostauthor {}

   

.slick-initialized-hidden {
  visibility: hidden;
}




@media screen and (max-width:1350px){
#header .hamburger{display:inline-block;z-index:9;outline: none}
#menu{display:none;padding:50px 20px;position: fixed;top:0;left: 0;width:100%;height: 100vh;background:#fff;padding-top:120px;text-align: center;
}
#menu li{display: block}
#menu li a{padding: 15px 20px;display: block;font-weight:normal;}
#menu ul.menu{display: block}
.mega-menu{display:none}
li.showCollections{padding-bottom:0}


}
@media screen and (max-width:820px){
.cottageImage.slider{max-height:500px;aspect-ratio:auto;}
	.padded{padding:50px 20px}
	
    .video-cover__play {top:40%}

	.breadcrumbs{font-size:0.8rem;line-height:1.2}
	.cottageBreadcrums.row{margin-bottom:10px}
.searchHero .padded{padding-top:75px;padding-bottom:75px}
.noBottomPad{padding-bottom: 0}
.flexWrapMob{flex-wrap:wrap}
.flexWrapMob > div{width: 100%}


.partnerLogos .flexWrapMob > div{width: 100%;flex-basis:100%}

#subFooter ul, #footer ul.menu{display: block}
#subFooter{text-align: center;}

.collections.hasIntro .flex > :nth-child(n+3), .collections .flex > :nth-child(1), .collections .flex > :nth-child(2){width: 100%;flex-basis: 100%}
.contImgList .left img{margin-top:20px}

.signup-container.row{margin-bottom:0}
.insetCard .flex{flex-wrap:wrap}
.grid > * { 
  min-width: 0;              /* critical for CSS Grid to prevent overflow */
}

.numberedSteps .grid{gap:50px}

.gap{gap:20px}

.quarters{grid-template-columns: 1fr}
.open-gallery{width: 100%;text-align: center;}
.thumbnail-nav{justify-content: center;}


.contentDarkBox .blackBox{max-width: 100%}
.contentDarkBox .flex{flex-wrap: wrap}
.contentDarkBox .flex > div{width: 100%;flex-basis:100%}

#tabNav{flex-wrap: wrap;justify-content: center;}

.collections .flex .intro{min-height: 0}

.boxesIcons .box{max-width: 100%;flex-basis:100%}

.blog-filters__form{display: block}
.blog-filters{position: relative;transform: none;left: 10px;bottom:10px;width:calc(100% - 20px)}

.halves, .thirds, .stackedImagesText .halves, .contactGrid, .contVid .grid.unstack{grid-template-columns: 1fr}

.blackBox{margin-bottom:40px}
.statsGrid{display: block;}
.statBox{border:none}


.entry-content ul{margin-left:0}



.contVid .grid.unstack .right > .flex > div, .contVid .grid.unstack .right > .flex > button{flex-basis:100%;width: 100%}


.boxesIcons .count-4 .box, .boxesIcons .count-8 .box{max-width: 100%;flex-basis:100%;}
.full_search_form{position: relative;bottom:unset;left:0;transform:none;}
.contactGrid .left .left{border:none}

#advanced .flex{flex-wrap: wrap}
#advanced .extras, .amenityFilters{flex-basis:100%}
.amenityFilters label{flex-basis:calc(50% - 10px)}


.heroCF .heroContent{max-width: 100%;width: 100%}
.formWrapper{position: relative;max-width: 100%;right:0;top:0}

	
	
	
	
	
	
}


@media screen and (max-width: 1000px){
#footer .flex{flex-wrap:wrap}
}
@media screen and (max-width: 1350px){

    .cottagePricing{flex-wrap: wrap;}

	#menu{background-color:var(--dark)}
  /* --- Neutralize desktop flyout/mega styles on mobile --- */
  #menu .menu,
  #menu .sub-menu,
  #menu .mega-menu {
    position: static !important;
    float: none !important;
    display: block !important;     /* visible by default; JS collapses via max-height */
    visibility: visible !important;
    opacity: 1 !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    transform: none !important;
    box-shadow: none !important;
    z-index: auto !important;
  }

  /* Ensure top-level LIs don’t create containing blocks that interfere */
  #menu .menu > li {
    position: static !important;
    overflow: visible !important;
  }

  /* Prevent any desktop "show on hover" */
  #menu li.menu-item-has-children:hover > .sub-menu,
  #menu li.menu-item-has-children:hover > .mega-menu {
    display: block !important;
  }

  /* --- Accordion presentation --- */
  #menu .sub-menu,
  #menu .mega-menu {
    overflow: hidden;              /* accordion container */
    max-height: 0;                 /* collapsed; JS sets px height or 'none' */
    transition: max-height .26s ease;
    background: var(--dark);
/*     border-left: 2px solid #2a2a2a; */
    margin: 0; padding: 0;
  }
	#menu li{text-align:left;}
	#menu li > .sub-menu > li a:before, #menu .mega-menu a:before{content:"- "}
	#menu li > .sub-menu > li a, #menu .mega-menu a{margin-left:20px}
	#menu .mega-menu a{display:flex!important;align-items:center;}
  /* When JS adds .open to the LI, we allow growth. JS will set max-height inline. */
  #menu li.open > .sub-menu,
  #menu li.open > .mega-menu { /* max-height is managed by JS */}

  /* Spacing and borders between items */
/*   #menu .menu > li {
    border-bottom: 1px solid #2a2a2a;
  } */

  /* Links */
  #menu .menu a {
    display: block;
    padding: .95rem 1rem;
    text-decoration: none;
    color: #fff;
    border-radius: .6rem;
  }
  #menu .menu a:hover { background: rgba(255,255,255,.06); }
  #menu .menu a:focus-visible {
    outline: 2px solid #B5E24B;
    outline-offset: 2px;
  }

  /* Current states */
  #menu .current-menu-item > a,
  #menu .current-menu-ancestor > a { color: #B5E24B; }

  /* Row (parent link + caret button) */
  #menu .row {
    display: flex;
    align-items: center;
    gap: .25rem;
  }
  #menu .submenu-toggle {
    -webkit-tap-highlight-color: transparent;
    appearance: none;
    background: transparent;
    border: 0;
    color: #fff;
    padding: .95rem .9rem;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: .6rem;
  }
  #menu .submenu-toggle:focus-visible {
    outline: 2px solid #B5E24B;
    outline-offset: 2px;
  }
  #menu .submenu-toggle::before {
    content: "";
    width: .55rem; height: .55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform .2s ease;
  }
  #menu li.open > .row .submenu-toggle::before { transform: rotate(45deg); }

  /* Indentation by depth */
  #menu .sub-menu > li > a { padding-left: 1.25rem; color: #cfcfcf; }
  #menu .sub-menu .sub-menu > li > a { padding-left: 2rem; }
  #menu .sub-menu .sub-menu .sub-menu > li > a { padding-left: 2.75rem; }
  #menu .sub-menu a:hover { background: rgba(255,255,255,.05); color: #fff; }

  /* --- Mega menu as stacked cards/grid (no overlay) --- */
	
	#menu{overflow-y:scroll}
  #menu .mega-menu {
    background: var(--dark);
/*     border-left: 2px solid #2a2a2a; */
    padding: .25rem .5rem .5rem;
  }
	#menu .mega-menu img{display:none!important}
	#menu .menu-thumb-item span{position:relative;background:none}
  #menu .mega-menu > li {
    border: none;
    border-radius: .75rem;
    background: var(--dark);
    overflow: hidden;
    margin: .5rem 0;
  }
  #menu .mega-menu > li > a { padding: 0; display: block; }
  #menu .mega-menu img { width: 100%; height: auto; display: block; }
  #menu .mega-menu span {
    display: block;
    padding: .65rem .75rem;
    color: #fff;
  }
	
	#menu .menu-thumb-item{height:unset;width:100%}
  /* Small grid on wider phones (still ≤820px) */
  @media screen and (max-width: 820px) and (min-width: 480px) {
    #menu .mega-menu {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: .5rem;
      padding: .5rem;
    }
    #menu .mega-menu > li { margin: 0; }
  }
  @media screen and (max-width: 820px) and (min-width: 700px) {
    #menu .mega-menu { grid-template-columns: repeat(3, minmax(0,1fr)); }
  }

  /* Hide any utility items you’ve marked .hidden */
  #menu .hidden { display: none !important; }
	
	#menu .row{margin:0;}
	
	.menu > li:hover > .sub-menu:not(:has(> li.menu-item-has-children)), .menu > li:focus-within > .sub-menu:not(:has(> li.menu-item-has-children)){max-width:100%}

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce) {
    #menu .sub-menu,
    #menu .mega-menu { transition: none !important; }
  }
}


