@charset "UTF-8";
/*! 
Theme Name: Damon's main branch
*/

@font-face {
  font-family: 'Poppins';
  src: url(./webfonts/Poppins-Light.ttf);
  font-weight: 300;
}

@font-face {
  font-family: "Sandwich";
  src: url('./webfonts/Sandwich/font.woff2') format('woff2'), url('./webfonts/Sandwich/font.woff') format('woff');
}

@font-face {
  font-family: "TikiSolid";
  src: url('./webfonts/TikiSolid/font.woff2') format('woff2'), url('./webfonts/TikiSolid/font.woff') format('woff');
}

@font-face {
  font-family: "LasVegas Castaways";
  src: url("./webfonts/LasVegas-Castaways.AH.woff2") format("woff2"),
    url("./webfonts/LasVegas-Castaways.AH.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
}

@font-face {
  font-family: "AktivGrotesk";
  src: url("./webfonts/AktivGroteskCd_W_Core_Lt.woff2") format("woff2"),
    url("./webfonts/AktivGroteskCd_W_Core_Lt.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
}

.tiki {
  font-family: 'TikiSolid' !important;
}

.sandwich {
  font-family: 'Sandwich' !important;
}

.lasvegas-castaways {
  font-family: 'LasVegas Castaways' !important;
}

.aktive-grotesk {
  font-family: 'AktiveGrotesk' !important;
}

.visually-hidden {
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  z-index: -9;
}

:root {
  --wp--preset--font-size--medium: 28px;
  --wp--preset--font-size--large: 40px;
  --wp--preset--color--black: initial;

  --color-green: #9DD397;
  --color-orange: #F05323;
  --color-vanilla: #FFFCE3;
}

.has-white-color {
  color: white !important;
}

.has-white-background-color {
  background-color: white !important;
}

.has-black-color {
  color: black !important;
}

.has-black-background-color {
  background-color: black !important;
}

.has-green-color {
  color: var(--color-green) !important;
}

.has-green-background-color {
  background-color: var(--color-green) !important;
}

.has-orange-color {
  color: var(--color-orange) !important;
}

.has-orange-background-color {
  background-color: var(--color-orange) !important;
}

.has-vanilla-color {
  color: var(--color-vanilla) !important;
}

.has-vanilla-background-color {
  background-color: var(--color-vanilla) !important;
}

@media (min-width: 782px) {
  .mobile-only {
    display: none !important;
  }
}

body {
  background-color: var(--color-vanilla);
  font-family: 'AktivGrotesk';
  font-size: 1.1em;
  line-height: 1.5;
  font-weight: 300;
  color: var(--color-dark-red);
}

main {
  min-height: calc(100vh - 300px);
}

a {
  text-decoration: none;
  color: inherit;
}

h1 {
  font-size: 45px;
  font-weight: 300;
  margin: 0 0 3vh;
  line-height: 1.2;
}

h2 {
  font-size: 32px;
  font-weight: 300;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1.69vh;
}

h3 {
  font-size: 30px;
  font-weight: 300;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1.69vh;
}

h4 {
  font-size: 28px;
  font-weight: 300;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1.69vh;
}

.has-large-font-size {
  font-size: 32px;
  line-height: 1.2;
}

@media (max-width: 781px) {
  h2 {
    font-size: 24px;
    line-height: 1;
  }

  h2.pirco-banner-title {
    font-size: 32px !important;
  }

  h3 {
    font-size: 24px;
  }
}

p {
  margin-top: 0;
}

.has-medium-font-size {
  font-size: 20px;
  --wp--preset--font-size--medium: 20px;
  line-height: 1.5;
}

.has-large-font-size {
  font-size: 30px;
  --wp--preset--font-size--large: 30px;
}

.has-x-large-font-size {
  --wp--preset--font-size--x-large: 45px;
  line-height: 1.5;
}

@media (max-width: 781px) {
  .has-medium-font-size {
    font-size: 18px;
    --wp--preset--font-size--medium: 18px;
    line-height: 1.39;
  }
}

hr.wp-block-separator {
  border-top: 1px solid rgba(var(--color-dark-red-rgb), .15);
}

main>hr.wp-block-separator:not(.alignfull) {
  margin-left: max(24px, calc(50% - 500px));
  margin-right: max(24px, calc(50% - 500px));
}

.line-height-26 {
  line-height: 26px;
}

.line-height-29 {
  line-height: 29px;
}

.line-height-45 {
  line-height: 45px;
}

.line-height-48 {
  line-height: 48px;
}

.line-height-56 {
  line-height: 56px;
}

.line-height-60 {
  line-height: 60px;
}

.btn,
.wp-block-button__link,
input[type="submit"] {
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.013em;
  border: none;
  border-radius: 10px;
  outline: none;
  padding: 17px 53px;
  background-color: var(--color-orange);
  color: white;
  text-align: center;
  font-size: 16px;
  line-height: 23px;
  letter-spacing: 0px;
  cursor: pointer;
  transition: color 0.2s ease;
}

.btn-light {
  background-color: var(--color-light-brown);
  color: var(--color-light-red);
  transition: color 0.2s ease;
}

.btn-outline {
  background-color: transparent;
  padding: 17px;
  border: 1px solid var(--color-light-brown);
  color: var(--color-light-brown);
  transition: color 0.2s ease;
}

.btn:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  color: #FFF;
  transition: color 0.2s ease;
}

.container,
.wp-block-columns,
main>* {
  padding-left: max(24px, calc(50% - 500px));
  padding-right: max(24px, calc(50% - 500px));
}

.container-narrow {
  padding-left: max(24px, calc(50% - 440px));
  padding-right: max(24px, calc(50% - 440px));
}

.wp-block-cover:not(.alignfull) {
  margin-left: max(24px, calc(50% - 500px));
  margin-right: max(24px, calc(50% - 500px));
}

.wp-block-column>div:only-child {
  height: 100%;
}

:where(.wp-block-columns) {
  margin-bottom: 0;
  gap: 0;

  .wp-block-column {
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;

    &:first-child {
      padding-left: 0;
    }

    &:last-child {
      padding-right: 0;
    }
  }
}

@media (max-width: 781px) {

  .container,
  .wp-block-columns,
  main>* {
    padding-left: max(24px, calc(50% - 500px));
    padding-right: max(24px, calc(50% - 500px));
  }

  .wp-block-column {
    padding-left: 0;
    padding-right: 0;
  }
}

.right-edge {
  padding-right: 0;
}

.aligncenter {
  display: block;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.alignleft {
  padding-left: 0;
}

.alignright {
  padding-right: 0;
  text-align: right;
}

.alignwide {
  padding-left: max(24px, calc(50% - 700px));
  padding-right: max(24px, calc(50% - 700px));
}

.alignfull {
  padding-left: 0;
  padding-right: 0;
}

.flex-grid {
  display: flex;
  flex-wrap: wrap;

  [class^='col-']:first-child {
    padding-left: 0;
  }

  [class^='col-']:last-child {
    padding-right: 0;
  }
}

.col {
  flex: 1;
}

.col-1 {
  width: 8.33%;
}

.col-2 {
  width: 16.66%;
}

.col-3 {
  width: 25%;
}

.col-4 {
  width: 33.33%;
}

.col-5 {
  width: 41.66%;
}

.col-6 {
  width: 50%;
}

.col-7 {
  width: 58.33%;
}

.col-8 {
  width: 66.66%;
}

.col-9 {
  width: 75%;
}

.col-10 {
  width: 83.33%;
}

.col-11 {
  width: 91.66%;
}

.col-12 {
  width: 100%;
}

[class^='col-'] {
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}

@media (max-width: 781px) {
  .flex-grid {
    flex-direction: column;
  }

  [class^='col-'] {
    width: auto !important;
    padding-left: 0;
    padding-right: 0;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

.wpcf7-form {

  input[type="text"]:not(.numInput),
  input[type="email"],
  input[type="datetime-local"],
  textarea,
  select {
    width: 100%;
    box-sizing: border-box;
    background-color: var(--color-light-brown);
    border-radius: 48px;
    padding: 26px 58px;
    border: none;
    outline: none;
    margin-top: 3vh;
    height: 80px;
  }

  textarea {
    height: 160px;
  }

  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M0 10l10 10 10-10z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 50px center;
  }

  label {
    font-size: 20px;
    line-height: 24px;
  }

  p {
    margin-bottom: 70px;
  }
}

.wpcf7-not-valid-tip {
  margin-top: 1em;
}

.wpcf7 form .wpcf7-response-output {
  border: none;
  padding-left: 0;
}

@media (max-width: 781px) {
  .wpcf7-form {

    input[type="text"]:not(.numInput),
    input[type="email"],
    input[type="datetime-local"],
    textarea,
    select {
      padding: 26px 28px;
    }

    select {
      background-position: right 28px center;
    }
  }
}

/* header */
header {}

/* footer */
footer {}

/* block hero */
.pirco-hero {

  .pirco-hero-graphic {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 1000px;
    max-height: 90vh;
    background-image: url(img/hero.jpg);
    background-position: center;
    background-size: cover;
    overflow: hidden;

    img:not(#logo) {
      width: 40%;
      height: auto !important;
      max-width: 300px;
    }

    #logo {
      position: relative;
      z-index: 1;
      max-width: 90vw;
    }

    #leaves-left {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
    }

    #leaves-top {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
    }

    #leaves-right {
      position: absolute;
      right: 0;
      top: 0;
    }

    #monkey1 {
      position: absolute;
      top: 20px;
      right: 12%;
      transform: rotate(10deg);
      max-width: 40vw;
    }
  }

  .pirco-hero-info {
    background: var(--color-orange);
    text-align: center;
    color: white;
    padding: 17px;
    font-family: 'LasVegas Castaways';
    font-size: 20px;

    p {
      margin: 0;
    }
  }
}

@media (max-width: 781px) {
  .pirco-hero {

    .pirco-hero-info {
      font-size: 16px;
    }
  }
}

.pirco-banner {
  background-color: var(--color-green);
  padding: 15px 0;

  .pirco-banner-line1 {
    width: 100%;
    height: 18px;
    object-fit: cover;
  }

  .pirco-banner-pattern1 {
    background-image: url(img/pattern1.svg);
    background-repeat: repeat-x;
    background-position: center;
    width: 100%;
    height: 61px;
  }

  .pirco-banner-inner {
    padding: 70px 0;

    .pirco-banner-title {
      text-align: center;
      color: var(--color-orange);
      font-family: 'TikiSolid';
      font-size: 48px;
      padding-right: 1.3vw;
      padding-left: 1.3vw;
    }
  }

  .pirco-banner-pattern2 {
    background-image: url(img/pattern2.svg);
    background-repeat: repeat-x;
    background-position: center;
    width: 100%;
    height: 79px;
    margin-bottom: 3px;
  }

  .pirco-banner-line2 {
    width: 100%;
    height: 18px;
    object-fit: cover;
  }
}

@media (max-width: 900px) {
  .pirco-banner {
    .pirco-banner-line1 {
      height: 12px;
    }

    .pirco-banner-pattern1 {
      background-size: 258px 42px;
      height: 42px;
    }

    .pirco-banner-inner {
      padding: 40px 0;
    }

    .pirco-banner-pattern2 {
      background-size: 267px 52px;
      height: 52px;
    }

    .pirco-banner-line2 {
      height: 12px;
    }
  }
}

.pirco-picture-text {
  .pirco-picture-text-img {
    max-height: 900px;
    overflow: hidden;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .pirco-picture-text-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    .pirco-picture-text-text {
      >* {
        max-width: 600px;
        margin-top: 15px;
      }

      h2 {
        color: var(--color-orange);
        font-family: 'TikiSolid';
        font-size: 50px;
        margin-top: 0.5em;
        line-height: 1;
        letter-spacing: -3px;
      }
    }
  }

  &.align-left {
    .pirco-picture-text-content {
      padding-left: 2vw;
      padding-right: 0;
    }
  }

  &.align-right {
    .pirco-picture-text-content {
      padding-left: 0;
      padding-right: 2vw;
    }
  }

  @media (max-width: 780px) {
    .pirco-picture-text-content {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }

  @media (max-width: 900px) {
    h2 {
      font-size: 1.9em;
    }

    .pirco-picture-text.flex-grid:not(.align-left) {
      flex-direction: column-reverse;
    }
  }
}

.pirco-animated-picture-title {
  .pirco-picture-title-content {
    .pirco-picture-title-title {
      text-align: center;
      color: black;
      font-family: 'Sandwich';
      font-size: 50px;
      margin-top: 0.5em;
      line-height: 1;
    }

    .pirco-picture-title-subtitle {
      text-align: center;
      font-family: 'LasVegas Castaways';
      font-size: 30px;
    }
  }
}

.pirco-leaves {
  position: relative;
  width: 100%;
  padding-bottom: 57.6%;
  overflow: hidden;

  .leaf {
    position: absolute;
  }

  .leaf-thick {
    width: 18.68%;
  }

  .leaf-thin {
    width: 18.54%;
  }

  .leaf-filled {
    width: 17.01%;
  }

  .leaf1 {
    transform: rotate(-23deg);
    opacity: .5;
    left: -4%;
    top: 0;
  }

  .leaf2 {
    transform: rotate(-52deg);
    opacity: 1;
    left: 10%;
    top: 13%;
  }

  .leaf3 {
    transform: rotate(7deg);
    opacity: .75;
    left: 18%;
    top: 18%;
  }

  .leaf4 {
    transform: rotate(67deg);
    opacity: 1;
    left: 2%;
    top: 26%;
  }

  .leaf5 {
    transform: rotate(127deg) scaleY(-1);
    opacity: .75;
    left: 0%;
    top: 38%;
  }

  .leaf6 {
    transform: rotate(-36deg) scaleY(-1);
    opacity: .75;
    left: 32%;
    top: 34%;
  }

  .leaf7 {
    transform: rotate(170deg);
    opacity: .5;
    left: 14%;
    top: 47%;
  }

  .leaf8 {
    transform: rotate(-155deg) scaleY(-1);
    opacity: 1;
    left: 25%;
    top: 52%;
  }

  .leaf9 {
    transform: rotate(-49.6deg);
    opacity: .75;
    left: 54%;
    top: 38%;
  }

  .leaf10 {
    transform: rotate(-153deg);
    opacity: 1;
    left: 74%;
    top: 41%;
  }

  .leaf11 {
    transform: rotate(-26deg) scaleY(-1);
    opacity: .5;
    left: 44%;
    top: 49%;
  }

  .leaf12 {
    transform: rotate(116deg);
    opacity: .75;
    left: 87%;
    top: 54%;
  }

  .leaf13 {
    transform: rotate(88deg);
    opacity: .5;
    left: 71%;
    top: 59%;
  }

  .leaf14 {
    transform: rotate(147deg);
    opacity: 1;
    left: 62%;
    top: 64%;
  }

  .leaf15 {
    transform: rotate(104deg) scaleY(-1);
    opacity: .75;
    left: 46%;
    top: 67%;
  }
}

.pirco-menus {
  display: flex;

  .pirco-menus-categories {
    width: 33%;

    h2 {
      font-family: 'TikiSolid';
      font-size: 50px;
      color: var(--color-orange);
    }

    >ul {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      list-style: none;
      padding-left: 0;

      >li {
        display: inline-block;
        color: var(--color-orange);
        padding-bottom: 1px;
        margin-bottom: 12px;
        cursor: pointer;
        border-bottom: 1px solid transparent;
        font-size: 24px;

        &.active {
          border-bottom-color: var(--color-orange);
        }
      }
    }

    select {
      display: none;
    }
  }

  .pirco-menus-items {
    width: 67%;

    >ul {
      list-style: none;
      padding-left: 0;

      >li {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: minmax(100px, auto);
        gap: 40px;

        >ul {
          list-style: none;
          padding-left: 0;

          >li {
            margin-bottom: 20px;

            h3 {
              font-family: 'LasVegas Castaways';
              font-size: 20px;
              font-weight: bold;
              margin-bottom: 2px;
            }

            .desc {
              font-size: 15px;

              .price {
                font-weight: bold;
                font-size: 18px;

                sup {}
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .pirco-menus {
    flex-direction: column;

    .pirco-menus-categories {
      width: 100%;

      ul {
        display: none;
      }

      select {
        display: block;
        background: transparent;
        padding: 4px 8px;
      }
    }

    .pirco-menus-items {
      width: 100%;
    }
  }
}

.pirco-reservations {
  .pirco-banner-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 15px;
    padding-right: 15px;

    .pirco-banner-title {
      margin-bottom: 50px;
    }

    .btn {
      margin-bottom: 33px;
    }

    h3 {
      color: var(--color-orange);
      font-family: 'LasVegas Castaways';
      font-size: 30px;
      margin-bottom: 13px;
    }

    .delivery-partners {
      display: flex;
      justify-content: space-between;
      width: 100%;
      max-width: 400px;

      a {
        max-width: 40%;

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

.pirco-gallery {
  .pirco-gallery-line {
    width: 100%;
    height: 21px;
    background-image: url(img/bamboo.png);
    background-repeat: repeat-x;
  }

  .pirco-gallery-inner {
    h2 {
      font-family: 'TikiSolid';
      font-size: 50px;
      text-align: center;
      color: var(--color-orange);
      margin-top: 56px;
      margin-bottom: 35px;
    }

    .carousel {
      .carousel-cell {
        width: 350px;
        height: 350px;
        object-fit: cover;
        margin-right: 15px;
      }
    }

    .pirco-gallery-footer {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      margin-top: -40px;
      margin-bottom: 40px;

      .pirco-gallery-callout {
        max-width: 260px;
        font-family: 'LasVegas Castaways';
        font-size: 30px;
        line-height: 34px;
      }

      lottie-player {
        max-width: 350px;
      }

      img {
        height: 180px;
      }
    }
  }
}

@media (max-width: 781px) {
  .pirco-gallery {
    .pirco-gallery-inner {
      .carousel {
        .carousel-cell {
          width: 150px;
          height: 150px;
        }
      }

      .pirco-gallery-footer {
        margin-top: -10px;

        .pirco-gallery-callout {}

        img {
          height: 100px;
        }
      }
    }
  }
}

footer {
  background-image: url(img/footer.jpg);
  background-repeat: repeat;
  padding: 50px 0;

  .container {
    .footer-inner {
      display: flex;
      justify-content: center;

      .footer-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 44px;
        text-align: center;

        img {
          margin-bottom: 6.66vh;
          max-width: 366px;
        }

        .footer-columns {
          color: white;
          width: 100%;

          >div {
            margin-bottom: 30px;
            font-size: 15px;

            h3 {
              font-family: 'LasVegas Castaways';
              font-size: 18px;
              margin-bottom: 0.3em;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 781px) {
  footer {
    .container {
      .footer-inner {
        flex-direction: column;
        align-items: center;

        >img {
          order: 1;
          width: 150px;
        }

        .footer-content {
          order: 0;
          margin-bottom: 50px;

          img {
            width: 300px;
          }
        }
      }
    }
  }
}