/* CORE STYLES */
:root {
  --primary-color: rgba(128, 128, 128, 0.5);
  --overlay-color: rgba(24, 39, 51, 0.85);
  --menu-speed: 0.75s;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Roboto", sans-serif;
  line-height: 1.4;
}

.img {
  width: 275px;
  position: absolute;
  bottom: 0;
  right: 20%;
  transform: translateX(40px);
  opacity: 0;
  transition: 0.7s;
}

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

.container {
  max-width: 960px;
  margin: auto;
  overflow: hidden;
  padding: 0 3rem;
}
#showcase-jukebox:before {
  background: url("/img/jukebox.jpg") no-repeat center center/cover;
}
#showcase-jukebox2:before {
  background: url("/img/jukebox2.jpg") no-repeat center center/cover;
}
#showcase-reviews:before {
  background: url("/img/reviews.jpg") no-repeat center center/cover;
}
#showcase-patrons:before {
  background: url("/img/patrons.jpg") no-repeat center center/cover;
}
#showcase-recipes:before {
  background: url("/img/recipes.jpg") no-repeat center center/cover;
}
.showcase {
  /* background: var(--primary-color); */
  color: #fff;
  height: 100vh;
  position: relative;
}

.showcase:before {
  content: "";
  background: url("/img/7th-heaven-bar.jpg") no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.showcase .showcase-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
}

.showcase-inner a {
  transform: translate(-15px);
  opacity: 0;
  transition: 0.5s;
}

.showcase h1 {
  text-shadow: 0 0 3px #000000;
  font-size: 4rem;
  font-family: "Montserrat", sans-serif;
  transform: translate(-15px);
  opacity: 0;
  transition: 0.5s;
}

.showcase p {
  font-size: 1.3rem;
  text-shadow: 0 0 3px #000000;
}

.showcase-paragraph {
  transform: translate(-15px);
  opacity: 0;
  transition: 0.5s;
}

.btn {
  display: inline-block;
  border: none;
  background: darkred;
  color: #fff;
  padding: 0.75rem 1.5rem;
  margin-top: 1rem;
  transition: opacity 1s ease-in-out;
  text-decoration: none;
}

.btn:hover {
  opacity: 0.5;
  background: rgb(177, 6, 6);
}

/* MENU STYLES */
.menu-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}

.menu-wrap .toggler {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  width: 50px;
  height: 50px;
  opacity: 0;
}

.menu-wrap .hamburger {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 60px;
  height: 60px;
  padding: 1rem;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hamburger Line */
.menu-wrap .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
}

/* Hamburger Lines - Top & Bottom */
.menu-wrap .hamburger > div::before,
.menu-wrap .hamburger > div::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -10px;
  width: 100%;
  height: 2px;
  background: inherit;
}

/* Moves Line Down */
.menu-wrap .hamburger > div::after {
  top: 10px;
}

/* Toggler Animation */
.menu-wrap .toggler:checked + .hamburger > div {
  transform: rotate(135deg);
}

/* Turns Lines Into X */
.menu-wrap .toggler:checked + .hamburger > div:before,
.menu-wrap .toggler:checked + .hamburger > div:after {
  top: 0;
  transform: rotate(90deg);
}

/* Rotate On Hover When Checked */
.menu-wrap .toggler:checked:hover + .hamburger > div {
  transform: rotate(225deg);
}

/* Show Menu */
.menu-wrap .toggler:checked ~ .menu {
  visibility: visible;
}

.menu-wrap .toggler:checked ~ .menu > div {
  transform: scale(1);
  transition-duration: var(--menu-speed);
}

.menu-wrap .toggler:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s;
}

.menu-wrap .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-wrap .menu > div {
  background: var(--overlay-color);
  border-radius: 50%;
  width: 200vw;
  height: 200vw;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  transform: scale(0);
  transition: all 0.4s ease;
}

.menu-wrap .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.menu-wrap .menu > div > div > ul > li {
  list-style: none;
  color: #fff;
  font-size: 1.5rem;
  padding: 1rem;
  text-transform: uppercase;
}

.menu-wrap .menu > div > div > ul > li > a {
  color: inherit;
  text-decoration: none;
  transition: color 0.4s ease;
}

.social-media {
  width: 210px;
  height: 50px;
  position: absolute;
  left: 10%;
  bottom: 20px;
}

.social-media ul {
  list-style-type: none;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
}

.social-media ul li {
  width: 50px;
  height: 50px;
  background: #fff;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  transition: 0.4s;
  transform: translateY(-20px);
  opacity: 0;
  /* transition: 0.4s; */
}

.social-media ul li:nth-child(1) {
  transition-delay: 0;
}

.social-media ul li:nth-child(2) {
  transition-delay: 0.2s;
}

.social-media ul li:nth-child(3) {
  transition-delay: 0.4s;
}

.social-media ul li:nth-child(4) {
  transition-delay: 0.4s;
}
.social-media ul li:hover {
  background: darkred;
  color: #fff;
  cursor: pointer;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 10; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

/* Modal Content/Box */

.modal-content {
  background-color: black;
  margin: 10% auto;
  /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 50%;
  /* Could be more or less, depending on screen size */
}

/* .modal-fullscreen {
  width: 100%;
  height: 100%;
  margin: 0;
  top: 0;
  left: 0;
} */

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: rgb(207, 207, 207);
  text-decoration: none;
  cursor: pointer;
}

/* center youtube video */
.iframe {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Style inputs with type="text", select elements and textareas */
input[type="text"],
select,
textarea {
  width: 100%; /* Full width */
  padding: 12px; /* Some padding */
  border: 1px solid #ccc; /* Gray border */
  border-radius: 4px; /* Rounded borders */
  box-sizing: border-box; /* Make sure that padding and width stays in place */
  margin-top: 6px; /* Add a top margin */
  margin-bottom: 16px; /* Bottom margin */
  resize: vertical; /* Allow the user to vertically resize the textarea (not horizontally) */
}

/* Add a background color and some padding around the form */
.container-form {
  color: #fefefe;
  border-radius: 5px;
  background-color: rgba(20, 29, 40, 0.5);
  padding: 20px;
}

.container-form button {
  background-color: darkred;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
}
.container-form button:hover {
  background-color: rgb(185, 0, 0);
  color: black;
}

/* timeline about */
/* .section-heading {
  text-align: center;
} */
.container-timeline {
  width: 90%;
  max-width: 120rem;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.timeline ul {
  border-left: 4px solid #bae1ff;
  border-radius: 0.8rem;
  background-color: rgba(0, 0, 0, 0.2);
  margin: 0 auto;
  position: relative;
  padding: 5rem;
  list-style: none;
  text-align: left;
  width: 70%;
}

.timeline h1 {
  font-size: 2rem;
  text-transform: uppercase;
  font-weight: 300;
  margin-bottom: 1rem;
  opacity: 0.3;
}

.timeline .date {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  position: relative;
}

.timeline .date:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none;
}

.timeline .date::before,
.timeline .date::after {
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
}

.timeline .date::before {
  content: attr(data-date);
  left: -21rem;
  text-align: right;
  min-width: 12rem;
  font-size: 1.5rem;
}

.timeline .date::after {
  content: "";
  box-shadow: 0 0 0 4px #fd57bf;
  border-radius: 100%;
  left: -8rem;
  height: 1.5rem;
  width: 1.5rem;
  background-color: #313534;
}
/*End timeline*/

/* patron card css */

.wrapper {
  width: 90%;
  margin: 0 auto;
  max-width: 80rem;
  position: absolute;
  bottom: 100px;
  left: 200px;
}

.cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.col {
  width: calc(25% - 2rem);
  margin: 1rem;
  cursor: pointer;
}

.container-patron {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.front,
.back {
  background-size: cover;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  background-position: center;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -o-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1),
    -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-align: center;
  min-height: 280px;
  height: auto;
  border-radius: 10px;
  color: #fff;
  font-size: 1.5rem;
}

.back {
  background: #cedce7;
  background: -webkit-linear-gradient(45deg, #cedce7 0%, #596a72 100%);
  background: -o-linear-gradient(45deg, #cedce7 0%, #596a72 100%);
  background: linear-gradient(45deg, #cedce7 0%, #596a72 100%);
}

.front:after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  opacity: 0.6;
  background-color: #000;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 10px;
}
.container-patron:hover .front,
.container-patron:hover .back {
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -o-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1),
    -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.inner {
  -webkit-transform: translateY(-50%) translateZ(60px) scale(0.94);
  transform: translateY(-50%) translateZ(60px) scale(0.94);
  top: 50%;
  position: absolute;
  left: 0;
  width: 100%;
  padding: 2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: 1px solid transparent;
  -webkit-perspective: inherit;
  perspective: inherit;
  z-index: 2;
}

.inner p {
  opacity: 1;
}

.container-patron .back {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container-patron .front {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container-patron:hover .back {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container-patron:hover .front {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.front .inner p {
  font-size: 2rem;
  margin-bottom: 2rem;
  position: relative;
}

.front .inner p:after {
  content: "";
  width: 4rem;
  height: 2px;
  position: absolute;
  background: #c6d4df;
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -0.75rem;
}

.front .inner span {
  color: rgba(255, 255, 255, 0.7);
  font-family: "Montserrat";
  font-weight: 300;
}

#main-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#center-content {
  /* Lets middle column shrink/grow to available width */
  flex: 1 1 auto;
}

#left-content,
#right-content {
  /* Forces side columns to stay same width */
  flex: 0 0 100px;
}

img {
  /* Shrinks images to fit container */
  max-width: 100%;
  cursor: pointer;
}
#left-content img,
#right-content img {
  filter: grayscale(100%);
}
#left-content img:hover,
#right-content img:hover {
  filter: grayscale(0);
}
body {
  margin: 0;
}
@media screen and (max-width: 64rem) {
  .col {
    width: calc(33.333333% - 2rem);
  }
}

@media screen and (max-width: 48rem) {
  .col {
    width: calc(50% - 2rem);
  }
}

@media screen and (max-width: 32rem) {
  .col {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
/* patron card css */

/* media queries */

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
  .img {
    width: 200px;
  }
}
@media only screen and (max-width: 500px) {
  .img {
    width: 170px;
    position: absolute;
    bottom: 0;
    right: 10%;
  }

  .social-media {
    width: 105px;
    height: 25px;
    bottom: 20px;
  }
  .social-media ul li {
    width: 25px;
    height: 25px;
    line-height: 25px;
  }
  .modal-content {
    width: 40%; /* Could be more or less, depending on screen size */
  }
}
