body {
    font-family: "Playfair Display", sans-serif;
    background-color: #f0f0f0;
    margin: 0;
    color: black;
}

p {
    text-align: center;
}

div {
    text-align: center;
}

h1 {
    font-size: 2rem;
    text-align: left;
}

h2 {
    font-size: 1.5rem;
    text-align: left;
}

h3 {
    font-size: 1.25rem;
    text-align: left;
}

a {
    color: #0047d6;
}

.playfair-display-400 {
    font-family: "Playfair Display", serif;
    font-weight: 400;
    font-style: normal;
}

.playfair-display-600 {
    font-family: "Playfair Display", serif;
    font-weight: 600;
    font-style: normal;
}

.playfair-display-900 {
    font-family: "Playfair Display", serif;
    font-weight: 900;
    font-style: normal;
}

.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
}
.image-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 75%;
}

.content {
    padding: 40px 0;
}

.headshot img {
    max-width: 100%;
    margin: 20px 0;
}

.image-column {
    padding-top: 80px;
    padding-bottom: 40px;
    padding-left: 40px;
    padding-right: 40px;
}

.image-column img {
    max-width: 100%;
    margin: 20px 0;
}

.image-column video {
    max-width: 100%;
    margin: 20px 0;
}

.text-column {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 8%;
    padding-right: 8%;
}

.caption {
    font-size: small;
    padding: 10px;
    color: black;
}

.container {
    position: relative;
    text-align: center;
}

.centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.list {
    padding-top: 5px;
}

.carousel {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

.carousel img {
    border-radius: 10px;
}

.carousel-caption {
    color: white;
    text-align: left;
    font-size: small;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 10px 10px;
    border-radius: 10px;
}

.masonry {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-auto-rows: 10px;
    gap: 20px;
    padding: 20px;
}

.item {
    background-color: #ffffff;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    transition: transform 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2em;
    cursor: pointer;
    text-shadow: 1px 1px 5px black;
}

.item
a {
    color: white;
}

.item a:link {
    text-decoration: none;
}

.item:hover {
    transform: translateY(-10px);
}

/*animation*/
.gentle-hover-shake:hover {
    animation: tilt-shaking .8s infinite;
}

@keyframes tilt-shaking {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(1deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-1deg); }
  100% { transform: rotate(0deg); }
}

/*end animation*/

.item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
}

/* Specific dimensions and colors for each item */
.item1 {
    grid-row: span 20;
    background-color: #996666;
}

.item2 {
    grid-row: span 10;
    background-color: #AB8F82;
}
.item3 {
    grid-row: span 20;
    background-color: #A87D6F;
}

.item4 {
    grid-row: span 20;
    background-color: #8B717B;
}

.item5 {
    grid-row: span 10;
    background-color: #b98580;
}

.item6 {
    grid-row: span 25;
    background-color: #9e8d84;
}

.item7 {
    grid-row: span 20;
    background-color: #AD8989;
}

.item8 {
    grid-row: span 10;
    background-color: #8E5744;
}

.item9 {
    grid-row: span 5;
    background-color: #78574E;
}

.item10 {
    grid-row: span 5;
    background-color: #a3889c;
}
.item11 {
    grid-row: span 15;
    background-color: #a68995;
}
.item12 {
    grid-row: span 10;
    background-color: #B07667;
}
.item13 {
    grid-row: span 10;
    background-color: #B07667;
}

.gallery-container {
    width: 100%;
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 10%;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 30px;
}

.gallery img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1/1;
}

.gallery-heading h2 {
    font-size: 1.5rem;
    text-align: center;
}

#footer {
    background-color: black;
    font-size: 14px;
    padding: 10px 0;
    color: white;
}

#footer p {
    color: white;
}

#footer a {
    color: white;
}

.footerImage {
    width: 100%;
    padding: 15px;
}
