/*
Theme Name: Adigiverse
Theme URI: https://www.adigi.co.uk/
Author: Adigi
Author URI: https://www.adigi.co.uk/
Description: A custom block theme for Adigi digital agency.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adigiverse
*/


/* Webfonts */

@import url("https://use.typekit.net/gxk6aba.css");

@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesRoman.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesSemibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesSemiboldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesBold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Adigi Times';
  src: url('./assets/webfonts/TimesBoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}


/* Global */

body,
input,
button,
select,
textarea {
  font-variant-numeric: oldstyle-nums;
}

#wpadminbar {
	display: none;
}

.mb-25rem {
	margin-bottom: 2.5rem;
}

.media-spacer-552-623 {
  aspect-ratio: 552/623;
}

.media-spacer-445-521 {
	aspect-ratio: 445/521;
}

.img-object-fit {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	object-fit: cover;
	position: absolute;
	height: 100%;
	width: 100%;
}

.page-fade {
  animation: fade-out 1s forwards;
  background-color: var(--colour-body-background);
  inset: 0;
  position: fixed;
  pointer-events: none;
  z-index: 9999;
}

@keyframes fade-out {
  0% {opacity: 1;}
  20% {opacity: 1;} 
  100% {opacity: 0;}
}

.mt-5 {
  margin-top: 3.125rem !important;
}


/* Fade in on scroll */

@media (min-width: 480px) {

	.fios {
	    opacity: 0;
	    transition: opacity 1s ease 0.1s;
	}

	.fios.visible {
	    opacity: 1;
	}

}


/* Layout */

section.section-lg {
	padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}

.container-adigify {
	margin: 0 auto;
	max-width: 1920px;
	padding: 0 1.875rem;
}

.row-adigify {
	margin-bottom: -2.5rem;
	/*margin-left: -0.3125rem;
	margin-right: -0.3125rem;*/	
}

.col-adigify {
	margin-bottom: 2.5rem;
	/*padding-left: 0.3125rem;
	padding-right: 0.3125rem;*/
}


/* Typography */

.text-xxl {
	font-family: 'Adigi Times';
	font-weight: 600;
	line-height: 1.35714;
}

.lc-t {text-transform: lowercase;}


/* Buttons */

.btn-primary::before {
  background-color: #1f1e1e;
  filter: none;
}


/* Navbar */

.navbar {
	border-bottom: 1px solid #000;
}

.navbar > .container-fluid {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.navbar-links {
	margin-top: 0.3rem;
}

.navbar-buttons .btn {
	margin-left:1.5rem!important;
}

.hamburger {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.014em;
	text-transform: uppercase;
}

.navbar .hamburger {
	height: auto;
	width: auto;
}

.navbar .hamburger span {
	text-decoration: underline;
	transition: 0.2s ease-out;
}

.navbar .hamburger span:last-child {
	opacity: 0;
	position: absolute;
	top: 50%; right: 0;
	transform: translateY(-50%);
}

body.menu-open .navbar .hamburger span:first-child {
	opacity: 0;
}

body.menu-open .navbar .hamburger span:last-child {
	opacity: 1;
}

.navbar-menu {
	padding: 0.5rem 1.25rem 1.25rem!important;
	top: var(--height-navbar);
	width: 24.375rem;
}

.navbar-menu .hamburger {
	transform: translateY(0);
	top: 1rem; right: 0.5rem;
}



/* Footer */

.footer-top {
	border-top: 1px solid var(--colour-primary);
}

.footer, .footer-top, .footer-lower {
	border-bottom: 1px solid var(--colour-primary);
}

section.footer-top {
	padding-top: calc(var(--section-padding) / 1.5); 
	padding-bottom: calc(var(--section-padding) / 1.5);
}

.footer-logo {
  width: var(--footer-logo-width);
}

.footer-bottom {
	font-style: italic;
}

.footer-legal > * {
	margin-left: 1.25rem;
}

.footer-menu-item a {
	text-decoration: none!important;
}

.footer-menu-item a:hover {
	text-decoration: underline!important;
}

.footer-menu-item:not(:last-child) {
	margin-bottom: 1.5rem;
}

.subscribe-form .h3 {
	font-family: 'Adigi Times', "georgiapro", Georgia, serif;
	text-transform: none;
	font-weight: 600;
}

.col-footer-social:before, .col-footer-contact:before {
	border-top: 1px solid var(--colour-primary);
	content: '';
	display: none;
	position: absolute;
	top: 0; right: -3rem; left: -3rem;
}

.col-footer-contact .footer-menu-item:first-child i {
	font-style: normal;
	color: var(--colour-title);
	display: block;
	font-family: var(--font-family-subtitle);
	font-size: var(--font-size-subtitle);
	font-weight: var(--font-weight-subtitle);
	letter-spacing: var(--letter-spacing-subtitle);
	line-height: var(--line-height-subtitle);
	margin-bottom: var(--paragraph-bottom-margin);
	text-transform: var(--text-transform-subtitle);
}



/* Homepage Banner */

.homepage-banner .bg-cover {
	background-position: 20% 0%;
}


/* St. JOHN Block | Two Panels */

.block-st-john-two-panels .col-md-6:first-child .content {
	max-width: 85%;
}

.block-st-john-two-panels .col-md-6:last-child > div {
	margin-top: 14.3125rem;
	padding-left: 8.5rem;
}


/* St. JOHN Block | Two Columns */

.restaurant-two-col .fullwidth {
	margin: 0 auto;
	max-width: 1920px;
}

.st-john-two-col .block-two-columns-content {
	margin-left: unset!important;
}

.restaurant-two-col .block-two-columns-content > div > *:not(h4, :last-child, .col-auto, p + p) {
	margin-bottom: 1.5rem;
}

.restaurant-two-col .block-two-columns-content > div > h4 {
	margin-bottom: 1.5rem;
}

.block-two-columns.fullwidth .block-two-columns-content {
	max-width: 33.75rem;
}


/* Two Col Full Height */

.block-two-columns {
	height: 100%;
}




/* St. JOHN Block | Columns Slider */

/* Flickity runs whenever this ::after content is 'flickity' */
.columns-slider::after {
  content: 'flickity';
  display: none;
}

@media (min-width: 960px) {
  /* 4 or fewer columns: slider off, static columns instead */
  .columns-slider.columns-static-lg::after {
    content: '';
  }

  .columns-slider.columns-static-lg {
    display: flex;
  }

  .columns-slider.columns-static-lg .carousel-cell {
    flex: 1 1 0;
    min-width: 0;
  }
}

.columns-slider .flickity-viewport {
	overflow: visible;
}

.columns-slider .carousel-cell {
	margin-left: 1.25rem;
	width: calc(25% - 0.75rem);
}

.slider .flickity-button {
	margin-top: 3rem;
	margin-right: 1.125rem;
	display: inline-block;
	height: 0.9375rem;
	width: 1.1875rem;
	position: relative;
	transform: none;
	top: auto; right: 0; left: auto;
}

.columns-slider .flickity-button {
	display: none;
}

.columns-slider .flickity-button svg {
	display: none;
}

.slider .flickity-button:before {
	background-image: url(./assets/images/prev.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	inset: 0;
}

.slider .flickity-button.next:before {
	background-image: url(./assets/images/next.svg);
}


/* St. JOHN Block | Gallery Slider */

.gallery-slider .flickity-viewport {
	overflow: visible;
}

.gallery-slider .flickity-slider {
	align-items: center;
	display: flex;
}

.gallery-slider .carousel-cell {
	margin-right: 4.75rem;
}

.gallery-slider .carousel-cell.portrait {
	width: 21rem;
}

.gallery-slider .carousel-cell.landscape {
	width: 26rem;
}


/* St. JOHN Block | Showcase Slider */

.block-st-john-showcase-slider .showcase-intro-container {
	padding-bottom: 8rem;
}

.showcase-slider .flickity-viewport {
	overflow: visible;
}

.showcase-slider .carousel-cell  {
	margin-right: 9.5rem;
	transition: 0.2s ease-out;
	width: 35rem;
}

.showcase-slider .carousel-cell .img-fluid {
	transition: 0.2s ease-out;
	transform-origin: bottom left;
}

.showcase-slider .carousel-cell.is-selected .img-fluid {
	transform: scale(1.175);
}

/*.block-st-john-showcase-slider .slide-content {
	max-width: 28.125rem;
}*/

.showcase-slider-intro {
	max-width: 66.66666%;
	text-wrap: balance;
}

.slider.showcase-slider .flickity-button {
	margin-top: 0;
	margin-right: 0;
	position: absolute;
	top: -9.5rem; right: 0;
}

.slider.showcase-slider .flickity-button.previous {
	right: 2.25rem;
}


/* St. JOHN Block | Restaurant Info */

.block-st-john-restaurant-info .col-lg:not(:last-child) {
	border-right: 1px solid #000;
}

.block-st-john-restaurant-info:first-child .container > hr {display: none;}

.block-st-john-restaurant-info .container > hr {
	margin-bottom: 6.25rem;
}

.block-st-john-restaurant-info .col-lg:last-child hr {
	display: none;
}


/* Page Intros */

section.bakery-intro {
	padding-top: 12.5rem;
	padding-bottom: 12.5rem;
}

section.bakery-intro h1 {
	margin-bottom: 2rem;
}

section.restaurant-intro h1 {
	font-size: 6.25rem;
	margin-bottom: 0.75rem;
}

section.restaurant-intro .mt-p {
	margin-top: 3.125rem;
}

section.restaurant-intro {
	padding-bottom: 6.25rem;
}


/* Contact */

.block-st-john-contact .inner {
	padding: 4.375rem 8.5rem;
}

.block-st-john-contact .intro,
.block-st-john-contact form .text-sm {
	width: 75%;
}

.block-st-john-contact h1 {
	font-size: var(--font-size-h2);
}

.block-st-john-contact a[href^="tel:"] {
    text-decoration: none;
}

.block-st-john-contact input, .block-st-john-contact select, .block-st-john-contact textarea {
	font-style: italic;
} 

.block-st-john-contact .item h4 {
	margin-bottom: 1.5rem;
}

.block-st-john-contact .item:not(:last-child) {
	margin-bottom: 3rem;
	padding-bottom: 3rem;
}

.block-st-john-contact.careers .item:not(:last-child) {
	margin-bottom: 1.5rem;
	padding-bottom: 0;
}

.block-st-john-contact .position-fixed {
	top: var(--height-navbar);
	right: 0; bottom: 0;
	width: 50%;
}

.charity-wrapper, .careers-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
}


/* Food Menus */

@media (min-width: 720px) {
	.section-menus-wrapper {
		padding-top: calc(var(--section-padding) / 2);
		padding-bottom: 7.85rem;
	}
}

.food-menu-nav .nav {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 1rem 3em 0.5rem;
}

.food-menu-nav .active {
	text-decoration: underline;
}

.food-menu-nav .nav > div:hover {
	text-decoration: underline;
}

.food-menu-outer {
	border-bottom: 1px solid var(--colour-primary);
	padding-bottom: 4.5rem;
}

h2.food-menu-title {
	font-size: 4.375rem;
}

.food-menu-panel {
    display: none;
}
.food-menu-panel.active {
    display: block;
}

.food-menu-wrapper {
	max-width: 41.125rem;
}

.food-menu-wrapper .row {
	margin-bottom: -0.3125rem;
}

.food-menu-wrapper div[class^="col"] {
	margin-bottom: 0.4rem;
	min-height: 0.5rem;
	line-height: 1.3;
}

.food-menu-pdf-embed {
    position: relative;
    width: 100%;
    padding-bottom: 129%; /* A4 ratio — 1:1.414 */
}

.food-menu-pdf-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.food-menu-dropdown {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 1.25rem 0 0.875rem;
	text-transform: uppercase;
}

.food-menu-dropdown .dropdown-menu {
	border: 1px solid #000;
	border-top: none; 
	padding-top: 1.25rem;
	inset: 0px auto auto 0px!important;
	top: calc(4.2rem - 2px)!important;
	transition: none!important;
	transform: none!important;
	z-index: 1;
}

.food-menu-dropdown .dropdown-item.active {
	background-color: transparent;
	color: var(--colour-body-text);
}

.food-menu-dropdown :is(.plus,.minus) {
	top: 50%; right: 0;
	transform: translateY(-55%);
}

.food-menu-dropdown .show .plus  {
	display: none;
}

.food-menu-dropdown .show .minus  {
	display: block!important;
}

.menu-item-price {
  font-variant-numeric: oldstyle-nums;
}


/* Shopify Block */

.product-card-img {
  aspect-ratio: 6/7;
  margin-bottom: 1.25rem;
}


/* Private Hire */

.venue-private-hire .subtitle {
  max-width: 10rem;
}

.private-event-enquiry-wrapper {
	border-top: 1px solid #000;
}


/* Blog */

.single-post .footer-top {
	display: none!important;
}

.single-post-feat-img-wrapper {
	aspect-ratio: 16/9;
	position: relative;
}

.post-snippet-img-wrapper {
	aspect-ratio: 4/5;
	position: relative;
}

.post-content > * {
	margin-bottom: 0!important;
	margin-top: 3rem;
}

.post-content p + p {
	margin-top: 1rem;
}

.post-content figure, .post-content img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

.post-content p > img {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.post-content figcaption {
	font-size: 0.875rem;
	font-style: italic;
	margin-top: 0.25rem;
}

.post-snippet h4 {
	font-size: 1.125rem;
}

.block-journal-first, .block-st-john-journal-snippets {
	padding-top: 6rem;
	padding-bottom: 6rem;
}

.row-journal {
	margin-bottom: -2.5rem;
}

.col-journal {
	margin-bottom: 2.5rem;
}



/* Navbar Dropdown */

.dropdown-toggle {
	transition: 0.2s ease-out;
}

.show .dropdown-toggle {
	text-decoration: underline;
}

.navbar-link .dropdown-menu {
	margin-top: 0;
	padding: 5rem 0;
	position: fixed;
	top: var(--height-navbar); right: 0; left: 0;
}

.navbar-link .container-fluid {
	max-width: 1920px;
}


.navbar-link .dropdown-menu .h4 a {
	text-decoration: none;
}

.navbar-link .dropdown-menu .h4 a:hover {
	text-decoration: underline;
}

.row-nav-shop-dropdown .navbar-dropdown-link:not(:last-child) {
	margin-bottom: 1.25rem;
}


/* Custom File input (for CV upload on careers page) */

/* Real file input: hidden but still keyboard-focusable */
.file-upload-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* The label, styled as the input box */
.file-upload-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  margin-bottom: 0;
}

/* Placeholder look: match your .form-control::placeholder styles */
.file-upload-text {
  font-style: italic;
  color: var(--bs-secondary-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Once a file is chosen, show the name as normal text */
.file-upload-label.has-file .file-upload-text {
  font-style: normal;
  color: inherit;
}

.file-upload-icon {
  flex-shrink: 0;
}

/* Keyboard focus shows on the visible box */
.file-upload-input:focus-visible + .file-upload-label {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}


/* Modals */

.modal-dialog {
	max-width: 640px;
}

.modal-content {
	border: none;
	border-radius: 0;
}

.modal-title {
	border-bottom: 1px solid #000;
}

.reservations-modal .modal-dialog {
	max-width: 20rem;
}


/* Tripleseat */

#tripleseat_embed_form table {
	width: 100%;
}

#tripleseat_embed_form .button {
	background-color: var(--colour-primary)!important;
	color: var(--colour-button-primary)!important;
	font-style: normal;
}

#tripleseat_embed_form h2 {
	font-size: 1rem;
}

#tripleseat_embed_form td {
	width: 50%;
}

#tripleseat_embed_form td[colspan="2"] {
	width: 100%;
}

#tripleseat_embed_form :is(input,select) {
	padding: 0.35rem 0.5rem 0.15rem;
	width: 100%!important;
}

#tripleseat_embed_form input[type="checkbox"] {
	margin-right: 0.5rem;
	transform: translateY(0.2rem);
	width: auto!important;
}

#tripleseat_embed_form table td {
	padding-bottom: 0.75rem!important;
}

#tripleseat_embed_form #lead_form_submit a {
	display: none;
}

#tripleseat_embed_form .row_gdpr_consent label {
	font-size: 0.75rem;
}

#tripleseat_embed_form .row_gdpr_consent > td {
    position: relative;
    padding-left: 1.5rem;
}

#tripleseat_embed_form .row_gdpr_consent input.checkbox {
    position: absolute;
    left: 0.2rem;
    top: 0.25em;
    margin: 0;
}

#tripleseat_embed_form .row_gdpr_consent label {
    display: block;
}

#tripleseat_embed_form .row_gdpr_consent label a {
	text-decoration: underline;
}

#tripleseat_embed_form .timeselect_input {
	padding-left: 1.25rem;
}








/* Media Queries */

/* 1440px */
@media (max-width: 1439.98px) {
	.block-st-john-contact .inner {padding: 3rem 4.25rem;}
	.navbar-link > :is(a, .dropdown-toggle), .navbar-dropdown-link {margin: 0 1.25rem;}
	.restaurant-hero-img {min-height: 600px!important;}
}

/* 1200px */
@media (max-width: 1199.98px) {
	.block-st-john-two-panels .col-md-6:first-child .content {max-width: 100%;}
	.block-st-john-two-panels .col-md-6:last-child > div {margin-top: 10rem; padding-left: 4.25rem;}
	section.restaurant-intro h1 {font-size: 4rem;}
	.block-st-john-showcase-slider .showcase-intro-container {padding-bottom: 12rem;}
	.showcase-slider .carousel-cell  {margin-right: 12rem; width: 26.25rem;}
	.slider.showcase-slider .flickity-button {top: -14rem; right: 0;}
}

/* 960px */
@media (max-width: 959.98px) {
	.block-text-content-wrapper {width:100%!important;}
	.col-footer-social {margin-top: calc(var(--section-padding) / 3); padding-top: calc(var(--section-padding) / 3);}
	.col-footer-social .footer-menu-item,.col-footer-social p.subtitle {margin-bottom: 0;}
	.col-footer-social p.subtitle {transform: translateY(2px);}
	.col-footer-social:before {display: block;}
	.footer-legal > * {margin-left: 0.5rem;}
	.st-john-two-col.block-two-columns.container {margin-top: calc(var(--section-padding) * -1); padding-left: 0; padding-right: 0;}
	.st-john-two-col.block-two-columns.container > .row {margin-left: 0; margin-right: 0;}
	.st-john-two-col.block-two-columns.container > .row > * {padding-left: 0; padding-right: 0;}
	.st-john-two-col .block-two-columns-content {margin-top: 2.5rem; padding-left: calc(var(--column-gap) * 2); padding-right: calc(var(--column-gap) * 2);}
	/*.restaurant-two-col .block-two-columns-content > div > * {margin-bottom: 2rem;}*/
	.row-instagram-feed-placeholder > *:last-child {display: none;}
	.columns-slider .carousel-cell {margin-left: 1.25rem; width: 13rem;}
	.columns-slider .flickity-button {display: inline-block;}
	.gallery-slider .carousel-cell {margin-right: 4rem;}
	.gallery-slider .carousel-cell.portrait {width: 19rem;}
	.gallery-slider .carousel-cell.landscape {width: 23rem;}
	.block-st-john-contact .position-fixed {aspect-ratio: 16/9; position: relative!important; top: auto; width: 100%;}
	.block-st-john-contact .item:first-child {border-top: 1px solid #000;padding-top: 3rem;}
	.block-st-john-restaurant-info {border-bottom: 1px solid #000; padding-bottom: 1.5rem;}
	.block-st-john-restaurant-info .col-lg:not(:last-child) {border-right: none;}
	.food-menu-pdf-link {border-top: 1px solid #000; border-bottom: 1px solid #000; padding-top: 1.25rem; padding-bottom: 1.25rem;}
	.food-menu-outer {border-bottom: none; padding-bottom: 0;}
	.block-st-john-restaurant-info.end {border-bottom: none; margin-top: 3rem; padding-bottom: 0; margin-bottom: -1rem;}
	.block-st-john-restaurant-info.founders {border-top: none; border-bottom: none; padding-top: 0; padding-bottom: 0}
	.block-journal-first, .block-st-john-journal-snippets {padding-top: 4rem; padding-bottom: 4rem;}
	.block-journal-first {margin-top: 0!important; padding-top: 0;}
	.block-st-john-restaurant-info .container > hr {margin-bottom: 3.125rem;}
}

/* 720px */
@media (max-width: 719.98px) {
	body {padding-top: 5rem;}
	.text-xxl {font-size: 1.25rem;}
	.navbar, body.scrolled .navbar {height: 5rem;}
	.navbar > .container-fluid {padding-left: 1.25rem;padding-right: 1.25rem;}
	.navbar-logo {height: 59%;}
	.hamburger {font-size: 0.875rem;}
	.homepage-banner {min-height: 24rem!important;}
	section.footer-top {padding-top: calc(var(--section-padding) / 3); padding-bottom: calc(var(--section-padding) / 3);}
	.col-footer-social, .col-footer-contact {margin-top: calc(var(--section-padding) / 3.75); padding-top: calc(var(--section-padding) / 3.75);}
	.col-footer-contact:before {display: block;}
	.footer-legal > * {margin-left: 0;}
	.block-st-john-two-panels .col-md-6:last-child > div {margin-top: 5rem; padding-left: 0;}
	.hide-br-md .block-text-content br, .hide-br-md .block-two-columns-content br {display:none;}
	.section-block-st-john-two-panels {padding-top: var(--column-gap); padding-bottom: 5rem;}
	.block-st-john-two-panels h4 {font-size: 1.75rem;}
	.st-john-two-col.block-two-columns.container {margin-top: calc((var(--section-padding) / 1.75) * -1); padding-left: 0; padding-right: 0;}
 	.st-john-two-col .block-two-columns-content {margin-top: 0; padding-left: calc(var(--column-gap) * 0.75); padding-right: calc(var(--column-gap) * 0.75);}
 	.st-john-two-col p.subtitle {font-size: 1.125rem;}
 	.st-john-two-col .text-xxl {display:block; margin-bottom: 2.75rem;}
 	.block-instagram-feed h2 {font-size: 1.125rem;}
 	.block-instagram-feed .handle strong {font-size: 1rem; font-weight: 400!important;}
 	.gallery-slider .carousel-cell {margin-right: 2.5rem;}
	.gallery-slider .carousel-cell.portrait {width: 75%;}
	.gallery-slider .carousel-cell.landscape {width: 100%;}
	section.bakery-intro {padding-top: 6.25rem;padding-bottom: 6.25rem;}
	.block-st-john-contact h1 {font-size: var(--font-size-h2-mobile);}
	section.restaurant-intro h1 {font-size: 2.5rem;}
	.acf-innerblocks-container > block + block.block-st-john-menus {margin-top: 1.5rem;}
	h2.food-menu-title {font-size: 2.5rem;}
	.product-card h4 {font-size: 0.875rem;}
	.product-card-img {aspect-ratio: 175/228;}
	.container-adigify {padding: 0 0.9375rem;}
	.row-adigify {margin-bottom: -1.875rem; margin-left: -0.3125rem; margin-right: -0.3125rem;}
	.col-adigify {margin-bottom: 1.875rem; padding-left: 0.3125rem; padding-right: 0.3125rem;}
	.acf-innerblocks-container > block + block {margin-top: calc(var(--inner-block-gap) / 2);}
	.restaurant-two-col {padding-bottom: 5rem;}
	.restaurant-two-col .text-xxl {display:block; margin-bottom: 3rem;}
	.restaurant-two-col .block-two-columns-content > div > *:not(h4, :last-child, .col-auto, p + p) {margin-bottom: 1.25rem;}
	.navbar-menu {top: 5rem;}
	.block-st-john-two-panels .mb-25rem {margin-bottom: 2.75rem;}
	.block-st-john-two-panels h4 {margin-bottom: 2.25rem;}
	.block-st-john-two-panels .row.mt-p {margin-top: 2.5rem;}
	.st-john-two-col .row.mt-p {margin-top: 2.5rem;}
	section.section-instagram-feed {padding-bottom: 3rem;}
	.block-two-columns p + h4 {padding-top: 1.25rem;}
	.restaurant-hero-img {min-height: 384px!important;}
	section.restaurant-intro {padding-bottom: 3.125rem;}
}

/* 480px */
@media (max-width: 479.98px) {
	.row-instagram-feed-placeholder {
		margin-left: calc((var(--column-gap) / 4) * -1);
  		margin-right: calc((var(--column-gap) / 4) * -1);
  		margin-bottom: calc(var(--column-gap) * -0.5);
	}
	.row-instagram-feed-placeholder > * {
		margin-bottom: calc(var(--column-gap) / 2);
	  	padding-left: calc(var(--column-gap) / 4);
	  	padding-right: calc(var(--column-gap) / 4);
	}
	.block-st-john-contact .position-fixed {aspect-ratio: 39/42;}
	.block-st-john-contact .inner {padding: 3rem 0.9375rem;}
	.block-st-john-contact .intro {width: 100%;}
	.navbar-menu {width: 100%;}
	.reservations-modal .modal-dialog {max-width: 100%;}
}


/* Wine List Menu */

.menu-layout-st-john-wine-list .price-bottle {
	display: inline-block;
	min-width: 3rem;
}



/* Full height column and panel sections */

@media (min-width: 960px) {

	:is(.st-john-two-col,.restaurant-two-col) .two-col-img-wrapper, .featured-thumbnail {
		margin: 0 auto;
		width: 75%!important;
	}

	.two-col-img-wrapper.is-fullwidth {
		margin: 0 auto;
		width: 100%!important;
	}

	/*
	section.restaurant-two-col {
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}

	section.restaurant-two-col .inner-blocks-outer,
	section.restaurant-two-col .acf-innerblocks-container {
		display: flex;
		flex-grow: 1;
		min-height: 0;
	}

	section.restaurant-two-col .fullwidth {
		width: 100%;
	}

	.two-col-img-wrapper.position-relative {
		position: absolute!important;
	}
	*/
}