

/* ==|== primary styles =====================================================
   Author: Silverink
   ========================================================================== */



/* ROOT VARIABLES ================================================= */


:root {
--brand-primary: #000000;
--white: #F7F5F4;
--black: #141311;
--base-primary: rgb(144, 138, 132);
--base-secondary: #B1AAA3;
--base-tertiary: #DDD9D6;
--base-light: #EBE8E5;

--box-shadow: 0px 15px 25px rgba(144,138,132,0.2);

--font-head: effra, sans-serif;
--font-body: effra, sans-serif;
--font-bold: 700;
}



/* ==|== Easibuild Structural Elements =====================================================
   Structural elements such as mainContent/Wide, submenu etc. Ideally these elements will change
   to HTML5 tags...  aside, article etc.
   ========================================================================== */

a  {text-decoration: none; color: var(--black); transition: all 0.3s ease;}
a:hover {color: var(--base-primary); text-decoration: none;}
.active {font-weight: bold;}

body, html {min-height: 100vh; font-family: var(--font-body);padding-right: 0 !important;}

body {
	display: flex;
  	flex-direction: column;
	position: relative;
	  padding-right: 0 !important;
	  height: 100%;
  overflow: hidden; /* ScrollSmoother handles scrolling */

}


.smooth-wrapper {
  height: 100%;
  overflow: hidden;
}

.smooth-content {
  will-change: transform;
}

h1,h2,h3,h4,h5 {font-weight: 100;}
h3 {line-height: 180%;}


.homepageImagePanel {
    background-attachment: fixed;
    background-image: url(/download/images/homeBGPanel.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	height: 30vh;
	width: 100vw;
}





@supports (-webkit-overflow-scrolling: touch) {
  .homepageImagePanel {
    background-attachment: scroll;
  }
}

hr {background-color: var(--black); height: 1px; border: none; opacity: 1;}

/* TOP BANNER */
.topBannerContainer {transition: all 0.3s ease; padding-right: 0px !important;}
.custom-toggler { border: none; background: transparent; width: 30px; height: 20px; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; margin-left: 15px; }
	.toggler-line { width: 30px; height: 1px; background-color: #fff; transition: all 0.3s ease; }


	
.is-shrunk, .stayShrunk {background-color: rgba(255,255,255,0.9); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px) ; padding-top: 10px !important; padding-bottom: 10px !important;}
.is-shrunk .toggler-line, .stayShrunk .toggler-line { background-color: var(--black); }
.is-shrunk img, .stayShrunk img {filter: invert(1)}


/* Main content takes up remaining space */
main {
	flex: 1;
	max-width: 100%; overflow: hidden;
  }

.navbar-brand {margin: 0px;}


  /* OWL CAROUSEL */
/* Base container for nav buttons */
.owl-nav {
  width: 100%;
  display: flex;
  justify-content: space-between; /* left & right alignment */
  align-items: center;
  pointer-events: none; /* let clicks pass through except buttons */
  margin-top: 10px;
}

/* Buttons themselves */
.owl-nav button.owl-prev,
.owl-nav button.owl-next {
  background: none !important;   /* remove default bg */
  border: none !important;       /* remove borders */
  outline: none !important;
  box-shadow: none !important;
  pointer-events: all;           /* re-enable click on buttons */
  padding: 0;
  cursor: pointer;
  transition: transform 0.2s ease;
}

/* Optional hover effect: subtle movement or tint */
.owl-nav button.owl-prev:hover svg path,
.owl-nav button.owl-next:hover svg path {
  fill: #000; /* darker arrow on hover */
}

.owl-nav button.owl-prev:hover,
.owl-nav button.owl-next:hover {
  transform: scale(1.10);
}

/* Ensure SVG scales cleanly */
.owl-nav svg {
  width: 60px;
  height: auto;
  display: block;
}

/* Position tweaks (optional if you want them overlayed on the carousel) */
.owl-nav {
  position: relative;
 margin-top: 20px;
}

.owl-nav button.owl-prev {
  position: absolute;
  top: 15px;
  left: 30px; /* adjust as needed */
}

.owl-nav button.owl-next {
  position: absolute;
  top: 15px;
  right: 30px; /* adjust as needed */
}

#imageModal .modal-body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh; /* centers vertically */
  background: none !important; /* optional: black backdrop */
}
#imageModal .modal-content {
  background: none !important; /* optional: black backdrop */
  border: none;
  box-shadow: none;
}

#imageModal img {
  max-width: 100%;
  max-height: 90vh; /* ensures it never exceeds viewport height */
  height: auto;
  width: auto;
  object-fit: contain;
  box-shadow: var(--box-shadow);
}

.modal-backdrop.show  {
  background-color: rgba(0, 0, 0, 0.6) !important;
  opacity: 1 !important;
  	backdrop-filter: blur(40px);
	-webkit-backdrop-filter: blur(40px); /* for Safari */

}





/* FOOTER */
.footer > .container {
  	background-color: none;
	border-top: 1px solid var(--black);
	padding-top: 50px; 
	padding-bottom: 50px;
	margin-top: 50px;
}
.footer img {max-height: 55px !important}

.footer address, .footer a {font-size: 0.875rem;}

.socialShareLinks svg {width: 24px;}
.socialShareLinks svg path {fill: var(--brand-primary)}

.sbPanel, .sgPanel {transition: all 0.3s ease-in-out;}
.sbPanel img, .sgPanel img {width: 100% !important; height: auto !important;}

.sbPanel, .sgPanel {backdrop-filter: blur(0px);}

.sbPanel:hover, .sgPanel:hover {backdrop-filter: blur(40px);}


.sgPanel, .sbPanel {
  position: relative;
  z-index: 3;
  will-change: transform;
}

/* SILVERINK LINK */
#silverinkWebDesign {
	font-size: 10px !important;
	font-family: helvetica, arial;
	margin-left: 0px;
	margin-top: 5px;
}
#silverinkWebDesign a {	
font-size: 10px !important;

}	


#silverinkWebDesign 	a {
	color: #888;
}


/* END FOOTER */

/* colPanel */


/* gDk20251113 // MAKE OUR STORY HEADER SMALLER */
.ourStorySection {margin-top: 0px !important; padding-top: 0px !important;}

.colPanel h2, .ourStorySection h2 {font-weight: 700; font-size: 3rem; margin-bottom: 30px;}
.colPanel p, .ourStorySection p {font-size: 1.2rem; line-height: 180%; margin-bottom: 20px; font-weight: 100;}
.colPanel img {aspect-ratio: 4/3; object-fit: cover;}
.greyTextSmall {color: var(--black); font-size: 0.9rem; letter-spacing: 0.7px; margin-bottom: 10px;}

img {max-width: 100%; height: auto !important;}

#logo img {width: auto; height: auto; max-height:100%; cursor: pointer;}

#topBanner {}

#topBannerImage {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

#topBannerImage::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%; /* adjust coverage */
  background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
  z-index: 2;
  pointer-events: none;
}

#topBannerImage .bgImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120% !important;
  object-fit: cover;
  transform: translateY(0);
  will-change: transform;
}

.panelContainer {
  position: relative;
  z-index: 2;
}

.sgPanel, .sbPanel {
  position: relative;
  z-index: 3;
  transition: transform 0.2s ease-out;
    opacity: 0; /* start hidden */
  will-change: transform, opacity;

}


#topBannerImage .panelContainer {
	position: absolute;
	bottom: 100px;
	width: 100%;
}

#topBannerImage.adjustedHeight {
	min-height: 50vh;
	height: auto;
}


#topBannerImage.adjustedHeightSmall {
	min-height: 70px;
	height: auto;
}

.adjustedHeightSmall .bgImage {filter: brightness(0.7);}
	.adjustedHeightSmall .panelContainer {display: none;}

.displayName {
	font-size: 3rem;
	color: #fff;
	background-color: rgba(0,0,0,0.5);
	padding: 10px 20px;
	text-transform: uppercase;
	font-family: var(--font-head);
	font-weight: bold;
	letter-spacing: 2px;
}




/* TEMPLATES */
/* OVERRIDE TEMPLATE SPECIFIC MARKUP STYLES HERE */
/* ALL BREAKPOINTS, MOBILE FIRST */
/* ========================================================================== */

/* CUSTOM FOOD MENU MARKUP STYLING */

/* Disable focus styles globally */
*:focus,
*:focus-visible,
*:focus-within,
button:focus,
button:active,
.accordion-button:focus,
.accordion-button:active,
a:focus,
a:active,
input:focus,
textarea:focus {
  outline: none !important;
  box-shadow: none !important;
}



/* Keep pointer events intact but remove all visual cues */
:focus {
  -webkit-tap-highlight-color: transparent !important;
}



/* MOBILE ACCORDION STYLE (under 992px) */
@media (max-width: 991px) {
  .accordion {
    border: none;
  }

  .accordion-item {
    transition: all 0.3s ease;
	border: none;
  }

  .accordion-header {
    margin: 0;
  }

  .accordion-button {
    background: var(--black);
    color: var(--white);
    font-family: var(--font-head);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 1px;
    padding: 1rem;
    border: none;
    box-shadow: none;
    transition: all 0.3s ease;
  }
  
/* .accordion-button::after { filter: invert(1) !important	} */

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M1.5 5l6 6 6-6'/%3E%3C/svg%3E") !important;
}


.accordion-button:not(.collapsed)::after { filter: brightness(20) !important}
  .accordion-button.collapsed {
    color: var(--white) !important;
    background: var(--black) !important;
  }

  .accordion-button:not(.collapsed) {
    color: var(--white) !important;
    background: var(--black) !important;
  }




  .accordion-body {
    border: none;
  }
}



@media (min-width: 992px) {
  /* Always show accordion bodies on desktop */
  .accordion-collapse {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
  }

  /* Hide accordion toggle icons & disable pointer interaction */
  .accordion-button::after {
    display: none;
  }

  .accordion-button {
    pointer-events: none;
  }
  .accordion {
    border: none;
    background: none;
  }

  .accordion-item {
    border: none;
    background: none;
  }

  .accordion-header {
    margin: 0;
	font-weight: 700; 
	
  }

  .accordion-button {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;font-size: 1.6rem;
    font-weight: inherit;
    color: inherit;
  }

  .accordion-button:not(.collapsed) {
    color: inherit;
    background: none;
    box-shadow: none;
  }

  .accordion-button::after {
    display: none; /* hides the arrow icon */
  }

  .accordion-body {
    padding: 0;
    border: none;
    background: none;
  }

}


/* NAV MENU OFFCANVAS */

.offcanvas-header {text-align: left; display: block;}
.offcanvas {
  transition: transform 0.1s ease-out !important;
}
.btnclose {
  opacity: 1; /* make it fully visible */
  width: 1.5rem;
  height: 1.5rem;
  background: none;
  position: relative;
  cursor: pointer;
  margin-top: 20px;
  display: inline-block;
}

.btnclose::before,
.btnclose::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.6rem;
  height: 2px;
  background-color: #fff;
  transform-origin: center;
}

.btnclose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.btnclose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}


.offcanvas {
  transform: none !important;              /* disable slide transform */
  opacity: 0;
  transition: opacity 0.2s ease-in-out !important;   /* fade animation */
  visibility: hidden;
}

.offcanvas.show {
  opacity: 1;
  visibility: visible;
}

body {
  overflow: auto !important;
}

.offcanvas.bg-dark {background: rgba(41,41,41,0.8) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); /* for Safari */
}

.offcanvas-body {overflow-y: hidden;}

.menu-link.btn {text-transform: capitalize;}

#topMenu .nav-link {color: #fff; font-size: 2.2rem; margin-bottom: 0px; font-family: var(--font-head); text-transform: uppercase; padding: 0px;}

#topMenu .opening-hours {color: #fff; margin-top: 100px; font-size: 0.75rem;}
#topMenu .opening-hours a {color: #fff;}
#topMenu .openingHoursSpecification {margin-top: 30px;}
.opening-hours img {max-width: 100px;}
/* END MENU OFFCANVAS */


/* CALENDAR */
	/* body[data-template="calendar"] { } */
	body[data-template="calendar"] .card {border: 1px solid transparent; cursor: pointer;}
/* END OPEN */


/* CONTACT */
	/* body[data-template="contact"] { } */
	.ContactDetails h1, .ContactForm h1 {font-size: 1.75em;}
	.ContactForm label, #questionForm label {display: block;}
	.ContactForm div, #questionForm div {margin-bottom: 10px;}
	.ContactForm input[type='text'], .ContactForm input[type='tel'], .ContactForm input[type='email'], .ContactForm textarea {border: 1px solid #888;}
	.notEmail {display: none;}

	#map_canvas {width: 100%; min-height: 150px;}
/* END CONTACT */


/* DIRECTORY */
	/* body[data-template="directory"] { } */
/* END DIRECTORY */

/* FILESTORE */
	/* body[data-template="filestore"] { } */
/* END OPEN */

/* GALLERY */
	/* body[data-template="gallery"] { } */
	.galleryCardItem .cardHeader {aspect-ratio: 16 /9; background-repeat: no-repeat; background-size: cover; background-position: center center;} 
	body[data-template="gallery"] .cardContent {padding: 0px; margin: 0px;}
/* END GALLERY */

/* OPEN */
	/* body[data-template="open"] { } */
	#fpImageDiv .carousel-item img{
		aspect-ratio: 16/9;
		background-size: cover;
		object-fit: cover;
	}

/* END OPEN */


/* NEWS */
	/* body[data-template="news"] { } */
	.newsFrontPage figure {min-height: 300px; background-size: cover;}
	.newsImage {padding-top: 56%; background-size: cover; background-repeat: none;}
	.offcanvas.show {
		visibility: visible !important;
	}
	.owl-carousel img {aspect-ratio: 1/1; object-fit: cover;}
/* END NEWS */


/* PRODUCTS */
	/* body[data-template="products"] { } */
	.AttributeValuesList {font-size: 1.4rem; }
	.AttributeValuesList .active, .AttributeValuesList .active:hover {background-color: #888; border-color: #888}
	.AttributeValuesList .list-group-item {padding: 10px; cursor: pointer;display: none;}
	.AttributeValuesList .list-group-item.active, .AttributeValuesList .list-group-item.visible {display: block;}
	.AttributeValuesList img {max-width: 30px; height: auto;}
	.catCard {cursor: pointer;}
	.productCard {cursor: pointer;}
	.showhideOptions {cursor: pointer; font-size: 1.2rem; margin-top: 10px;}
/* END PRODUCTS */




/* RESTAURANTS */

body[data-template="restaurants"] .panelContainer {display: none;}
.menuTitle {font-size: 2rem; margin-bottom: 20px; font-family: var(--font-head); font-weight: 700; text-transform: uppercase; text-align: center; display: block; width: 100%;}
h1.menuTitle  {font-size: 1.7rem;}
.menuNav {text-transform: capitalize;}
.restaurantName {text-align: left; font-size: 2.4rem; margin-bottom: 10px; font-family: var(--font-head); font-weight: 700; text-transform: uppercase;}
.restaurantIntro {text-align: left; font-size: 1.6rem; margin-bottom: 30px; font-weight: 100; line-height: 180%;}
.restaurantDescription {margin-bottom: 30px; font-size: 1.2rem; line-height: 180%; text-align: left;}

.restaurantFirstMenu h3 {font-size: 2rem; margin-bottom: 20px; font-family: var(--font-head); font-weight: 200;text-align: center;}

.restaurantMenu section > h2 {display: none;}
.restaurantImage {
  position: relative;
  overflow: hidden;
  opacity: 0;
  margin-top: 30px
}

.restaurantResEmbed h2 {font-weight: 200;}

.menuContent h2 {text-align: center;}
/* ==|== media queries ======================================================
   Media Queries for Responsive Design.
   These override the primary ('mobile/desktop first') styles
   Modify as content requires.
   ========================================================================== */

/*===============================*/
/* 480 - LANDSCAPE MOBILE LAYOUT */
/*===============================*/

@media only screen and (min-width: 480px) {
  /* Style adjustments for viewports 480px and over go here */

	/* TEMPLATES */
	/* OVERRIDE TEMPLATE SPECIFIC MARKUP STYLES HERE */
	/* ========================================================================== */

	/* CALENDAR */
		/* body[data-template="calendar"] { } */
	/* END OPEN */


	/* CONTACT */
		/* body[data-template="contact"] { } */
	/* END CONTACT */


	/* DIRECTORY */
		/* body[data-template="directory"] { } */
	/* END DIRECTORY */

	/* FILESTORE */
		/* body[data-template="filestore"] .mainArticleWrap { } */
	/* END OPEN */

	/* GALLERY */
		/* body[data-template="gallery"] { } */
	/* END GALLERY */

	/* OPEN */
		/* body[data-template="open"] { } */
	/* END OPEN */


	/* NEWS */
		/* body[data-template="news"] { } */
	/* END NEWS */


	/* PRODUCTS */
		/* body[data-template="products"] { } */
	/* END PRODUCTS */

}



/*=====================*/
/* 768 - TABLET LAYOUT */
/*=====================*/
@media only screen and (min-width: 768px) {
  /* Style adjustments for viewports 768px and over go here */
	#topMenu .nav-link {font-size: 2.8rem;}

	/* TEMPLATES */
	/* OVERRIDE TEMPLATE SPECIFIC MARKUP STYLES HERE */
	/* ========================================================================== */

	/* CALENDAR */
		/* body[data-template="calendar"] { } */
	/* END OPEN */


	/* CONTACT */
		/* body[data-template="contact"] { } */
	/* END CONTACT */


	/* DIRECTORY */
		/* body[data-template="directory"] { } */
	/* END DIRECTORY */

	/* FILESTORE */
		/* body[data-template="filestore"] .mainArticleWrap { } */
	/* END OPEN */

	/* GALLERY */
		/* body[data-template="gallery"] { } */
	/* END GALLERY */

	/* OPEN */
		/* body[data-template="open"] { } */
	/* END OPEN */


	/* NEWS */
		/* body[data-template="news"] { } */
	/* END NEWS */


	/* PRODUCTS */
		/* body[data-template="products"] { } */
	/* END PRODUCTS */
}



/*=======================*/
/* 1024 - DESKTOP LAYOUT */
/*=======================*/
@media only screen and (min-width: 992px) {
  /* Style adjustments for viewports 1024px and over go here */


	/* TEMPLATES */
	/* OVERRIDE TEMPLATE SPECIFIC MARKUP STYLES HERE */
	/* ========================================================================== */

	/* CALENDAR */
		/* body[data-template="calendar"] { } */
	/* END OPEN */


	/* CONTACT */
		/* body[data-template="contact"] { } */
	/* END CONTACT */


	/* DIRECTORY */
		/* body[data-template="directory"] { } */
	/* END DIRECTORY */

	/* FILESTORE */
		/* body[data-template="filestore"] .mainArticleWrap { } */
	/* END OPEN */

	/* GALLERY */
		/* body[data-template="gallery"] { } */
	/* END GALLERY */

	/* OPEN */
		/* body[data-template="open"] { } */
	/* END OPEN */


	/* NEWS */
		/* body[data-template="news"] { } */
	/* END NEWS */


	/* PRODUCTS */
		/* body[data-template="products"] { } */
	/* END PRODUCTS */

}


/*===========================*/
/* WIDE DESKTOP LAYOUT */
/*===========================*/
@media only screen and (min-width: 1200px) {
	/* TEMPLATES */
	/* OVERRIDE TEMPLATE SPECIFIC MARKUP STYLES HERE */
	/* ========================================================================== */

	/* CALENDAR */
		/* body[data-template="calendar"] { } */
	/* END OPEN */


	/* CONTACT */
		/* body[data-template="contact"] { } */
	/* END CONTACT */


	/* DIRECTORY */
		/* body[data-template="directory"] { } */
	/* END DIRECTORY */

	/* FILESTORE */
		/* body[data-template="filestore"] .mainArticleWrap { } */
	/* END OPEN */

	/* GALLERY */
		/* body[data-template="gallery"] { } */
	/* END GALLERY */

	/* OPEN */
		/* body[data-template="open"] { } */
	/* END OPEN */


	/* NEWS */
		/* body[data-template="news"] { } */
	/* END NEWS */


	/* PRODUCTS */
		/* body[data-template="products"] { } */
	/* END PRODUCTS */
}








/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
