.reviews
{
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
}
.reviews-wrapper
{
  width: 100%;
  max-width: 940px;
}
.reviews-title
{
  text-align: center;
  font-size: 28px;
  margin-bottom: 10px;
  line-height: normal;
}
.reviews-subtitle
{
  text-align: center;
  font-size: 16px;
  margin-bottom: 10px;
  line-height: normal;

  margin-bottom: 40px;
}
.reviews-grid
{
  width: 100%;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
.reviews-grid-item
{
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;

  box-sizing: border-box;
  padding: 20px;
  border: 1px solid #f2f2f2;
}
.reviews-grid-item-stars
{
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
}
.reviews-grid-item-stars-item svg
{
  width: 16px;
  height: auto;
  color: #f4c414;
}
.reviews-grid-item-text
{
  font-size: 16px;
  color: #333;
  line-height: 150%;
  margin: 0 0 10px 0;
}
.reviews-grid-item-author
{
  font-size: 14px;
  font-style: italic;
  color: #555;
  line-height: 150%;
  margin: 0 0 0 0;
}
.reviews-grid-item-photo
{
  width: 100%;
  height: 250px;
  margin-bottom: 10px;
  cursor: pointer;
}


.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.9);
overflow: auto;
}

.modal-content {
display: block;
margin: auto;
max-width: 90%;
max-height: 90%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
cursor: pointer;
}

.caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: #ccc;
padding: 10px 0;
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
