@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;300;400;500;600;700;800;900&display=swap");
/********* Variables CSS *********/
:root {
  --navbar-height: 3.5rem;
  --navbar-height-wide: 8rem;
  --reservation-strip-height: 3rem;
  --topbar-height: 2rem;
  --topbar-navbar-width: 65rem;
  --content-max-width: 65rem;

  --light-background: #ffffff;
  --gray-background: #e2e2e2;
  --first-color: #e0cd97;
  --second-color: #5c5c5b;
  --first-dark-color: #b4a373;
  --dark-color: #161615;

  --litepicker-container-months-color-bg: #fff;
  --litepicker-container-months-box-shadow-color: #ddd;
  --litepicker-footer-color-bg: #fafafa;
  --litepicker-footer-box-shadow-color: #ddd;
  --litepicker-tooltip-color-bg: #fff;
  --litepicker-month-header-color: #333;
  --litepicker-button-prev-month-color: #9e9e9e;
  --litepicker-button-next-month-color: #9e9e9e;
  --litepicker-button-prev-month-color-hover: #e0cd97;
  --litepicker-button-next-month-color-hover: #e0cd97;
  --litepicker-month-width: calc(var(--litepicker-day-width) * 7);
  --litepicker-month-weekday-color: #9e9e9e;
  --litepicker-month-week-number-color: #9e9e9e;
  --litepicker-day-width: 38px;
  --litepicker-day-color: #333;
  --litepicker-day-color-hover: #e0cd97;
  --litepicker-is-today-color: #b27c26;
  --litepicker-is-in-range-color: #f7eac3;
  --litepicker-is-locked-color: #9e9e9e;
  --litepicker-is-start-color: #fff;
  --litepicker-is-start-color-bg: #e0cd97;
  --litepicker-is-end-color: #fff;
  --litepicker-is-end-color-bg: #e0cd97;
  --litepicker-button-cancel-color: #fff;
  --litepicker-button-cancel-color-bg: #9e9e9e;
  --litepicker-button-apply-color: #fff;
  --litepicker-button-apply-color-bg: #e0cd97;
  --litepicker-button-reset-color: #909090;
  --litepicker-button-reset-color-hover: #e0cd97;
  --litepicker-highlighted-day-color: #333;
  --litepicker-highlighted-day-color-bg: #ffeb3b;
}

/********* General CSS *********/
body {
  display: block;
  width: 100%;
  color: var(--second-color);
  background: #ffffff;
  font-family: "Raleway", sans-serif;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

h2 {
  color: var(--dark-color);
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
  margin-top: 0rem;
}
h3 {
  color: var(--dark-color);
  font-size: 2.6rem;
  font-weight: 700;
  text-align: right;
  margin-bottom: 1rem;
  margin-top: 0rem;
}

h4 {
  color: var(--second-color);
  font-size: 1.1rem;
  font-weight: 300;
  margin-bottom: 0rem;
  margin-left: 0.3rem;
}
h5 {
  color: #161615;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
h6 {
  color: var(--first-color);
}
small {
  font-size: 0.8rem;
}

.line-right {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background-color: var(--first-color);
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: 0.5rem;
}
.line-left {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background-color: var(--first-color);
  margin-bottom: 1rem;
  margin-left: 0.5rem;
  margin-right: auto;
}
.line-center {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background-color: var(--first-color);
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
}

a {
  color: var(--second-color);
  text-decoration: none;
  transition: 0.2s;
}

a:hover,
a:active,
a:focus {
  color: var(--first-color);
  /* font-weight: bold; */
  outline: none;
  text-decoration: none;
}

.btn:focus,
.form-control:focus {
  box-shadow: none;
}

/********** Topbar CSS ***********/
.topbar {
  position: relative;
  background: #ffffff;
  color: var(--second-color);
  display: none;
  width: 100%;
  max-width: 100%;
}

.topbar .row {
  height: var(--topbar-height);
  max-width: var(--topbar-navbar-width);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .topbar {
    display: block;
  }

  .topbar .row {
    height: var(--topbar-height);
    max-width: var(--topbar-navbar-width);
  }
}

/*********** Navbar CSS **********/
.navbar {
  position: fixed;
  display: block;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1020;
  width: 100%;
  background-color: #ffffff;
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
}

.logo-small img {
  max-width: 15rem;
  height: 3.5rem;
}
.navbar-logo {
  width: 10rem;
}
.nav-item {
  margin-left: 1rem;
}
.nav-item a {
  color: var(--second-color);
}
.nav-item a:hover {
  color: var(--second-color);
}

@media (min-width: 768px) {
  .navbar {
    position: -webkit-sticky;
    position: sticky;
  }
  .nav-item a {
    position: relative;
  }
  .nav-item a:after {
    background: none repeat scroll 0 0 transparent;
    bottom: 0.4rem;
    content: "";
    display: block;
    height: 0.1rem;
    left: 50%;
    position: absolute;
    background: var(--first-color);
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
  }
  .nav-item a:hover:after {
    width: 100%;
    left: 0;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}

.navbar-toggler {
  color: rgba(0, 0, 0, 0.55);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-toggler:hover {
  color: rgba(0, 0, 0, 0.55);
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 0 0.1rem;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (min-width: 768px) {
  .navbar {
    height: var(--navbar-height-wide);
  }
  .navbar .container-fluid {
    max-width: var(--topbar-navbar-width);
  }
  .navbar-brand {
    width: 10rem;
  }
}

/********** Hero CSS ***********/

.hero-content {
  height: 100vh;
  width: 100%;
  background-image: url("../img/wineyard.webp");
  background-position: center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}
.hero {
  text-align: center;
  height: 100vh;
  width: 100vw;
  max-width: 100%;
}
.hero-title h1 {
  color: #ddd;
  font-size: 1.5rem;
  font-weight: 700;
  text-shadow: 0px 0px 6px rgb(0, 0, 0);
  text-transform: uppercase;
}
.hero-small-title {
  color: #ddd;
  font-size: 1.2rem;
  font-weight: 500;
  text-shadow: 0px 0px 6px rgb(0, 0, 0);
  text-transform: uppercase;
}
@media (min-width: 490px) {
  .hero-title h1 {
    font-size: 3rem;
  }
  .hero-small-title {
    font-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  .hero {
    height: calc(
      100vh - var(--navbar-height-wide) - var(--topbar-height) -
        var(--reservation-strip-height)
    );
  }
  .hero-title h1 {
    font-size: 4.6rem;
  }
  .hero-small-title {
    font-size: 3.5rem;
  }
}

.reservation-btn {
  font-weight: 400;
  color: 414141;
  background-color: #e0e0e0;
  border-color: #707070;
  border-radius: 0;
  border-width: 1px;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
}
.reservation-btn:hover {
  color: 414141;
  background-color: #e0cd97;
  border-color: #707070;
  border-radius: 0;
}
.reservation-input {
  border-radius: 0;
  border-color: #707070;
}
.reservation-input:focus {
  border-color: #b27c26;
}
@media (min-width: 768px) {
  .hero {
    height: calc(100vh - (var(--topbar-height) + var(--navbar-height-wide)));
  }
  .hero-content {
    height: calc(100vh - (var(--topbar-height) + var(--navbar-height-wide)));
  }
  .reservation-strip {
    position: absolute;
    background-color: #f8f8f8e5;
    height: var(--reservation-strip-height);
    width: 100vw;
    bottom: 0;
  }
  .reservation-strip-row {
    margin: auto;
    height: 100%;
    width: fit-content;
    display: flex;
  }
}

/********** About CSS ***********/
#about {
  background-color: var(--gray-background);
  scroll-margin-top: 4rem;
  width: 100%;
  max-width: 100%;
}
.about-content {
  max-width: var(--content-max-width);
  padding-top: 1rem;
  padding-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
}

.about-text {
  text-align: center;
}
.about-title {
  text-align: center;
}
.about-photo {
  height: 15rem;
  width: 100%;
  background-image: url("../img/vinice.webp");
  background-position: center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

@media (min-width: 768px) {
  #about {
    scroll-margin: var(--navbar-height-wide);
  }
  .about-photo {
    height: 20rem;
  }
  .about-text {
    text-align: justify;
  }
}

/********** Accomodation CSS ***********/
#accomodation {
  background-color: var(--light-background);
  scroll-margin-top: 4rem;
  width: 100%;
  max-width: 100%;
}
.accomodation-content {
  max-width: var(--content-max-width);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.accomodation-text {
  text-align: center;
  text-justify: inter-word;
}
.accomodation-text p {
  font-weight: 600;
}
.accomodation-img {
  height: 10rem;
}
.accomodation-photos {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.accomodation-photos img {
  padding-top: 1rem;
}

@media (min-width: 768px) {
  #accomodation {
    scroll-margin: var(--navbar-height-wide);
  }
  .accomodation-content {
    text-align: left;
  }
  .accomodation-text {
    text-align: justify;
  }
  .accomodation-photos {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .accomodation-photos img {
    width: 18rem;
    padding-left: auto;
    padding-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/********** Gustation CSS ***********/
#gustation {
  background-color: var(--light-background);
  scroll-margin-top: 4rem;
  width: 100%;
  max-width: 100%;
}
.gustation-content {
  max-width: var(--content-max-width);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.gustation-text {
  text-align: center;
  text-justify: inter-word;
}
.gustation-photos {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.gustation-photos img {
  padding-top: 1rem;
}

@media (min-width: 768px) {
  #gustation {
    scroll-margin: var(--navbar-height-wide);
  }
  .gustation-content {
    text-align: left;
  }
  .gustation-text {
    text-align: justify;
  }
  .gustation-photos {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .gustation-photos img {
    width: 18rem;
    padding-left: auto;
    padding-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/********** Actions CSS ***********/
#actions {
  background-color: var(--gray-background);
  scroll-margin-top: 4rem;
  width: 100%;
  max-width: 100%;
}
.actions-content {
  max-width: var(--content-max-width);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.actions-text {
  text-align: center;
  text-justify: inter-word;
}
.actions-photos {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.actions-photos img {
  padding-top: 1rem;
}

@media (min-width: 768px) {
  #actions {
    scroll-margin: var(--navbar-height-wide);
  }
  .actions-content {
    text-align: left;
  }
  .actions-text {
    text-align: justify;
  }
  .actions-photos {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .actions-photos img {
    width: 18rem;
    padding-left: auto;
    padding-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/********** Reservation CSS ***********/
#reservation {
  scroll-margin: var(--navbar-height);
  min-height: 40rem;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 768px) {
  #reservation {
    scroll-margin: var(--navbar-height-wide);
  }
}

/********** Wine CSS ***********/
#wines {
  background-color: var(--gray-background);
  scroll-margin-top: 4rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  width: 100%;
  max-width: 100%;
}
.wines-content {
  max-width: var(--content-max-width);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.wine-card {
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
}
.wines-text {
  text-align: center;
}
.wines-text p {
  font-size: 1rem;
  margin-bottom: 0.5rem;
  font-weight: 300;
}
.wine-description {
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  font-size: 0.9rem;
  font-weight: 400;
  text-align: center;
  hyphens: auto;
}

.wine-data {
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  margin-bottom: 1rem;
  font-size: 0.8rem;
  font-weight: 400;
  text-align: center;
}

.wines-content .row {
  max-width: 70rem;
  margin: auto;
}
.img-card {
  position: relative;
}
.wine-img {
  margin-bottom: 1rem;
  width: 5rem;
}
@media (min-width: 768px) {
  #wines {
    scroll-margin-top: var(--navbar-height-wide);
  }
  .wine-description {
    font-size: 0.9rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    text-align: justify;
  }
}
/********** Contact CSS ***********/
#contact {
  background-color: var(--light-background);
  scroll-margin: 4rem;
  width: 100%;
  max-width: 100%;
}
.contact-content {
  max-width: 35rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.contact-content p {
  font-size: 1rem;
  line-height: 0.3rem;
}
.map {
  height: 22rem;
  width: 100%;
}
@media (min-width: 768px) {
  #contact {
    scroll-margin: var(--navbar-height-wide);
  }
}

/********** Contact CSS ***********/
.footer {
  background-color: var(--gray-background);
  width: 100%;
  max-width: 100%;
}
.footer p {
  text-align: center;
  font-weight: 400;
  padding: 0.6rem;
  height: 100%;
  margin: 0;
}

.litepicker {
  font-size: 1rem;
}

/********** Check age overlay ***********/
#check-age {
  position: fixed; /* Sit on top of the page content */
  display: none; /* Hidden by default */
  width: 100%; /* Full width (cover the whole page) */
  height: 100%; /* Full height (cover the whole page) */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.85); /* Black background with opacity */
  z-index: 1030; /* Specify a stack order in case you're using a different order for other elements */
  cursor: pointer; /* Add a pointer on hover */
  align-items: center;
}

.age-content {
  width: 20rem;
  background-color: rgb(255, 255, 255);
  color: #000;
  padding: 1rem;
  margin: auto;
}
.age-text {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-weight: 500;
}
.age-logo {
  width: 8rem;
  margin: 1rem auto;
}
.btns {
  display: flex;
  justify-content: center;
}
.btn-disagree {
  text-align: center;
  font-weight: 500;
  width: 10rem;
  border: #000 1px solid;
  padding: 0.5rem;
  margin: 0rem 1rem;
  background-color: rgb(187, 187, 187);
}
.btn-disagree:hover {
  background-color: rgb(107, 107, 107);
}
.btn-agree {
  text-align: center;
  font-weight: 500;
  width: 10rem;
  border: #000 1px solid;
  padding: 0.5rem;
  background-color: var(--first-color);
}
.btn-agree:hover {
  background-color: var(--first-dark-color);
}

.scrollDisabled {
  position: fixed;
  margin-top: 0;
  width: 100%;
}
