@font-face {
  font-family:"Alpina Icons";
  src:url("../font/Alpina-Menu-Icons.woff2") format("woff2"), url("../font/Alpina-Menu-Icons.woff") format("woff");
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root {
	--dish-diet-popup-triangle-half-size:0.35em;  
}

.content-block.menu-section > .inner-block > .padding > .content-block > .inner-block > .padding {
	display:grid;
	grid-template-columns:auto 1fr;
}

.content-block.menu-section > .inner-block > .padding > .content-block > .inner-block > .padding > .content {
	padding-left:var(--main-padding);
	padding-right:var(--main-padding);
	max-width:var(--inner-container-width);
  width:100%;
	box-sizing:border-box;
	margin:0 auto;
}

.menu-section .dish-list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.menu-section .dish-list > .dish {
  display:grid;
  grid-template-columns:1fr minmax(2em, auto);
  gap:0 1em;
  align-self:start;
  position:relative;
}

.menu-section .dish-list > .dish.col-2 {
  grid-column:span 2;
}

.menu-section .dish-list > .dish.row-span-2 {
  grid-row:span 2;
}

.menu-section .dish-list > .dish > .dish-price {
  grid-column:2;
}

.menu-section .dish-list > .dish > .dish-price > .price {
  min-width:2em;
  text-align:right;
}

.menu-section .dish-list > .dish > .dish-price,
.menu-section .dish-list > .dish > .dish-name {
  color:var(--main-highlight-color);
}

.menu-section .dish-list > .dish > .dish-name {
  display:flex;
  margin: 0;
  font-family: var(--main-font-family);
}

.dietary-icons {
  font-family:"Alpina Icons";
}

.menu-section .dish-list > .dish > .dish-name > .dietary-icons {
  margin-left:0.5em;
  display:flex;
  gap:0.25em;
  letter-spacing:0.05em;
  font-size:0.75em;
  height:1em;
}

.menu-section .dish-list > .dish > .dish-name > .dietary-icons > .dietary-icon {
  position:relative;
  cursor:pointer;
  width:1.0em;
  text-align:center;
}

.menu-section .dish-list > .dish > .dish-name > .dietary-icons > .available {
  position:relative;
  top:-0.25em;
}

.menu-section .dish-list > .dish > .dish-name > .available {
  position:relative;
  top:-0.2em;
}

.menu-section .dish-list > .dish > .dish-name .dish-diet-popup {
  position:absolute;
  font-family:var(--main-font-family);
  font-size:0.75em;
  color:var(--invert-text-color);
  white-space:nowrap;
  top:2em;
  background-color:var(--main-color);
  padding:1em 1.5em;
  border-radius:2em;
  z-index:1;
  line-height:1.5;
  transition:opacity 0.5s;
  opacity:0;
  pointer-events:none;
  left:50%;
  transform:translateX(-50%);
}

.menu-section .dish-list > .dish > .dish-name .dish-diet-popup::before {
  content:'';
  border-left:calc(var(--dish-diet-popup-triangle-half-size) * 2) solid transparent;
  border-right:calc(var(--dish-diet-popup-triangle-half-size) * 2) solid transparent;
  border-bottom:calc(var(--dish-diet-popup-triangle-half-size) * 2) solid var(--main-color);
  position: absolute;
  bottom:100%;
  left:50%;
  transform:translateX(-50%);
}

.menu-section .dish-list > .dish > .dish-name .dish-diet-popup[data-show="show"] {
  display:block;
  opacity:1;
}

.menu-section .dish-list > .dish > .dish-description {
  margin-top:0.25em;
  text-transform:lowercase;
}

.menu-section .dish-list > .dish > .dish-description p {
  margin: 0;
}

.menu-section .dish-list > .dish:has(.dish-description > .has-price) {
  position:relative;
}

.menu-section .dish-list > .dish > .dish-description > .has-price {
  text-align:right;
}

.menu-section .dish-list > .dish > .dish-description > .has-price.first-price-item {
  margin-top:0.5em;
}

.menu-section .dish-list > .dish > .dish-description > .has-price > .label {
  color:var(--main-highlight-color);
  font-weight:500;
}

.menu-section .dish-list > .dish > .dish-description > .has-price > .alternate-price {
  position:absolute;
  right:0;
  color:var(--main-highlight-color);
}

.menu-section .dish-list > .dish > .dish-description .dietary-icons {
  vertical-align:text-bottom;
}

.menu-section .dish-list > .dish > .dish-extras {
  padding:0;
  margin:0.25em 0 0;
  font-style:italic;
  display:grid;
  width:fit-content;
  margin-left:auto;
}

.menu-section .dish-list > .dish > .dish-extras > .extra > .label {
  white-space:nowrap;
}

.menu-section .dish-list > .dish > .dish-extras > .extra > .alternate-price {
  position:absolute;
  right:0;
}

.menu-section .dish-list.course .dish-price {
  display:none;
}

.menu-section .dish-list > .dish .dish-price {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  grid-row:span 4;
}

.menu-section .dish-list > .dish .dish-price > .label {
  text-transform:uppercase;
  font-size:0.5em;
  color:var(--main-color);
}

.menu-section .dish-list > .dish .dish-price > .spacer {
  background-color:var(--main-color);
  height:1px;
  width:60%;
  margin:0.25em 0;
}

.menu-section .dish-list > .dish .dish-price > :last-child.spacer {
  display:none;
}

.menu-section .dish-list.course > .dish {
  grid-template-columns:1fr;
}

.menu-section .dish-list.course > .dish > .dish-description {
  grid-column:1;
}

.content-area.custom-acf-page .content-block.dietary-icon-legend {
  background-color:var(--main-color);
  color:var(--invert-text-color);
}

.content-block.text-section.menu-fine-print > .inner-block > .padding > .content {
  padding-top:4em;
  padding-bottom:3em;
}

.content-block.text-section.menu-fine-print > .inner-block > .padding > .content > .text-inner {
  font-size:0.75em;
  text-wrap:balance;
}

.content-area.custom-acf-page .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .sidebar {
  border:none;
}

.content-area.custom-acf-page#primary .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content {
  padding-top:1.25em;
  padding-bottom:1.25em;
  display:flex;
  flex-wrap:wrap;
  white-space:nowrap;
  gap:1.25em 4em;
  justify-content:center;
}

.dietary-icon {
  display:inline-block;
}

.dietary-icon::before {
  font-family:"Alpina Icons";
  color:inherit;
  display:inline-block;
  width:1.1em;
  vertical-align:bottom;
  font-size:1.4em;
}

.dietary-icon.vegetarian::before {
  content:"v";
}

.dietary-icon.vegan::before {
  content:"x";
}

.dietary-icon.nut-free::before {
  content:"n";
}

.dietary-icon.gluten-free::before {
  content:"g";
}

.dietary-icon.dairy-free::before {
  content:"d";
}

.dietary-icon.contains-fish::before {
  content:"f";
}

.item.available {
  flex:1 1 100%;
  text-align:center;
}

/* Tablet and Desktop */
@media (width >= 750px) {
  .menu-section .dish-list {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* Tablet and Mobile */
@media (width < 1200px) {
  .content-area.custom-acf-page#primary .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:1.25em 1.25em;
    padding-left:var(--main-padding);
    padding-right:var(--main-padding);
    margin:0 auto;
    max-width:600px;
  }

  .content-area.custom-acf-page .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content > .item.available {
    grid-column:span 3;
    line-height:1.4;
  }

  .content-area.custom-acf-page#primary .content-block.content-section.menu-section > .inner-block > .padding > .content-block:last-of-type > .inner-block > .padding > .content {
    padding-bottom:1em;
  }
}

/* Mobile */
@media (width < 750px) {
  .menu-section .dish-list > .dish {
    margin-bottom:1.5rem;
  }

  .menu-section .dish-list > .dish > .dish-name > .dietary-icons {
    font-size:1rem;
  }

  .content-area.custom-acf-page .content-block.content-section > .inner-block > .padding > .content-block.text-section.menu-fine-print > .inner-block > .padding > .content {
    padding-top:2em;
    padding-bottom:3em;
  }

  .content-area.custom-acf-page .content-block.content-section > .inner-block > .padding > .content-block.text-section.menu-fine-print > .inner-block > .padding > .content > .text-inner {
    font-size:0.6em;
  }

  .menu-section .dish-list > .dish > .dish-extras > .extra {
    display:block;
  }

  .content-area.custom-acf-page#primary .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content {
    gap: 1em;
  }

  .menu-section .dish-list > .dish > .dish-name .dish-diet-popup.available {
    transform:translateX(-65%);
  }

  .menu-section .dish-list > .dish > .dish-name .dish-diet-popup.available::before {
    left:65%;
  }
}

@media (width < 600px) {
  .content-area.custom-acf-page .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content > .item {
    font-size:1em;
  }

  .content-area.custom-acf-page .content-block.dietary-icon-legend > .inner-block > .padding > .content-block > .inner-block > .padding > .content > .item.available {
    font-size:0.85em;
  }
}

/* Tablet */
@media (750px <= width < 1200px) {
  .menu-section .dish-list {
    gap:1.5rem 3rem;
  }
}

/* Desktop */
@media (width >= 1200px) {
  .menu-section .dish-list {
    gap:2rem 4rem;
  }

  .content-block.menu-section > .inner-block > .padding > .content-block > .inner-block > .padding > .content {
		padding-left:var(--side-bar-width);
		padding-right:var(--side-bar-width);
	}
}

/* Large Desktop */
@media (width > 1920px) {
}
