.gallery .gallery-expand .gallery-curve-wrapper {
    box-shadow: 0 1px 12px rgb(0 0 0);
}

#placeholder-overlay {
    background-color: rgb(33, 33, 33);
}

h3.detail-title {
    margin-top: 13vw;
    font-size: xx-large;
}

h3.detail-title-margin {
    margin-top: 27vw;
    font-size: xx-large;
}

div.show-on-medium > div.row > h3.detail-title {
    margin-top: 2vh;
}

.subtitle {
    color: grey;
}

.desc-section {
    margin-bottom: 1vh;
}

.desc-section-title {
    margin-right: 1vw;
    margin-left: 1vw;
}

.desc-section > span {
    font-size: larger;
    font-weight: 300;
}

.gallery-curve-wrapper > .gallery-body > .container {
    width: 100%;
}

.fab-call {
    position:fixed;
    right: 3vw;
    bottom: 8vh;
}

.fab-mail {
    position:fixed;
    right: 3vw;
    bottom: 14vh;
}

.fab-scroll {
    position:fixed;
    right: 3vw;
    bottom: 2vh;
}

img.fig {
    max-width: 100%;
    display: block;
    margin-bottom: 30px;
}
  
figure {
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    margin-bottom: 10px;
    break-inside: avoid;
}

figure > img {
    grid-row: 1 / -1;
    grid-column: 1;
}

figure a {
    color: black;
    text-decoration: none;
}

figcaption {
    grid-row: 2;
    grid-column: 1;
    background-color: rgba(255,255,255,.5);
    padding: .2em .5em;
    justify-self: start;
}

.image-container {
    column-count: 3;
    column-gap: 30px;
    row-gap: 30px;
}

@media screen and (max-width: 600px) {
    .image-container {
        column-count: 1;
        }
  }

.scrolltop-btn {
    position: absolute;
    bottom: 20px;
    right: 30px;
    z-index: 99;
}