

.hero-background-container{
  background: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0.7)), url('../backgrounds/background-2.jpg');
  height: 100%;
  width: 100%;
  background-position: center;
  background-size: cover;
  

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;

  padding: .8rem calc((70vw - 1200px) / 2);
}


.grp-programs-title-wrapper{
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: 2rem;
  padding-bottom: 4rem;
  
}

.grp-programs-title-wrapper h3{
  color: var(--secondary-color);
  font-size: clamp(1rem, 4vw, 1.2rem);
}

.grp-programs-title-wrapper h1{
  font-size: clamp(1rem, 8vw, 4.2rem);
  text-transform: uppercase;
  font-style: italic;
  color: #fff;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--primary-color);
  -moz-text-stroke-width: 1px;
  -moz-text-stroke-color: var(--primary-color);
  white-space: nowrap;

  text-decoration: underline 4px solid var(--secondary-color);
  text-underline-offset: .8rem;

  margin-bottom: 1rem;
  
  
}

.grid-container{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  justify-items: center;
  align-content: center;
  margin-bottom: 4rem;
}


.grp-programs-card-container{
  color: #fff;
  width: 70%;
  border: 2px solid red;
  margin-top: 2.5rem;
  padding: .8rem;
  border-radius: 2rem;
  background-color: #000;
  
}



.grp-programs-card{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}


.overlay{
  opacity: 0;
  width: 70px;
  height: 70px;
  background-color: #fff;
  color: #fff;
  border-radius: 100%;
  transition: all .15s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;

  position: absolute;
  top: 30%;
  left: 40%;
}

.overlay i{
  color: #000;
  font-size: 2rem;
}

.grp-programs-card:hover{
  opacity: .8;
}

.grp-programs-card:hover .overlay{
  opacity: 1;
}

.grp-programs-img{
  object-fit: cover;
  object-position: center;
  border-radius: 1.2rem;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.grp-programs-title{
  text-transform: uppercase;
  margin: 1rem 0;
  font-size: clamp(1rem, 8vw, 1.5rem);
  transition: all .2s;
  color: var(--secondary-color);
}

.grp-programs-title:hover{
  color: #fff;
}

.grp-programs-desc{
  text-align: center;
  max-width: 350px;
  margin-bottom: 1rem;
}


.reservation-container-flex{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;

  color: #fff;
}


.reservation-container-flex h1{
  font-size: clamp(1rem, 6vw, 3rem);
  text-transform: uppercase;
  font-style: italic;
  color: #fff;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--primary-color);
  -moz-text-stroke-width: 1px;
  -moz-text-stroke-color: var(--primary-color);
  white-space: nowrap;

  text-decoration: underline 4px solid var(--secondary-color);
  text-underline-offset: .8rem;

  margin-bottom: 1rem;
}


.reservation-grid{
  display: grid;
  border: 2px solid var(--secondary-color);
  padding: 2.5rem;
  border-radius: 20px;
  grid-template-columns: repeat(3,1fr);
  grid-template-rows: repeat(2,1fr);
  gap: .5rem;
  max-height: 250px;
  width: 50%;

  color: #fff;
  background-color: #000;

  margin-bottom: 8rem;
}

.reservation-grid p{
  width: 80%;
  text-align: center;
  justify-self: center;
  align-self: center;
  font-size: 1.5rem;
  text-transform: uppercase;

  background-color: #000;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--secondary-color);

  
}
.reservation-grid button{
  text-align: center;
  justify-self: center;
  align-self: center;
  font-size: 1.2rem;
  padding: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  background-color: var(--secondary-color);
  border: none;
  border-radius: 25px;


  transition: all .3s ease-in-out;
}

.reservation-grid button:hover{
  background-color: #fff;
  color: var(--secondary-color);
  font-weight: 800;
  transform: scale(1.2);
}
.reservation-grid button:active{
  opacity: .4;
}

.reservation-grid .reservation-desc{
  grid-column: 1 / 3;
}

.reservation-grid button{
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}

.reservation-grid .reservation-desc-2{
  grid-column: 2 / 4;
  grid-row: 3 / 4;
}



@media screen and ( 768px <= width <= 1280px ) {
  .grid-container{
    grid-template-columns: 1fr 1fr;
  }

  .reservation-grid{
    width: 80%;
    max-height: 200px;
  }

  .reservation-grid p{
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .grid-container{
    grid-template-columns: 1fr;
  }

  .reservation-grid {
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
  }

  .reservation-grid p{
    display: none;
  }
}










