#gallery_loading{
    position: absolute;
    top: 10vh;
    left: 0;
    height: 30rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--oe-granite);
    z-index: 999;
    background-color: #FFF;
}

#gallery{
    background-image: url('../img/waves\ at\ dusk.jpg');
    background-position: bottom center;
}
.w-12{
    width: 5rem;
}

.gallery_card__wrapper{
    margin: 15vh 0;
    position: relative;
}

.gallery_card__row {
    position: relative;
    flex-wrap: wrap;
    justify-content: center;
    display: flex;
    max-width: 1400px;
    margin: auto;
}

.gallery_card__container {
    padding: 1.2rem;
    flex-basis: 25%;
    position: relative;
    display: flex;
    min-width: 25%;
}

.gallery_card {
    min-height: 30rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--oe-granite);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    width: 100%;
    position: relative;
}

.gallery_card h2{
    font-size: 2.4rem !important;
    text-shadow: 1px 1px 5px #000;
}

.gallery_card p{
    text-shadow: 1px 1px 5px #000;
}

.gallery_card .booknow {
    position: absolute;
    bottom: 2rem;
    background-color: rgba(0, 32, 75, .6);
}

.gallery_card__overlay{
    height: 100%;
    width: 100%;
    background-color: #ededed;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gallery_card__overlay h2{
    font-size: 2.4rem !important;
    color: var(--oe-granite) !important;
}

.gallery_card__container h2{
    overflow-wrap: anywhere;
}

.gallery_card__overlay .booknow{
    margin: 0 auto;
}

#backToMainGallery {
    position: absolute;
    top: -10px;
    left: 1.2rem;
    z-index: 2;
    cursor: pointer;
    display: flex;
    align-items: center;
}

#close{
    position: absolute;
    top: 0;
    right: 8.33333%;
    z-index: 2;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 2rem;
}

video {
    position: absolute;
    top: -55vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    width: 800px;
    max-width: 90%;
}

.stamp {
    padding: 10px;
    background: white;
    -webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));
    /*The stamp cutout will be created using crisp radial gradients*/
    background: radial-gradient(
        transparent 0px, 
        transparent 4px, 
        white 4px,
        white
    );

    /*reducing the gradient size*/
    background-size: 20px 20px;
    /*Offset to move the holes to the edge*/
    background-position: -10px -10px;
}
.stamp:after {
    content: '';
    position: absolute;
    /*We can shrink the pseudo element here to hide the shadow edges*/
    left: 5px; top: 5px; right: 5px; bottom: 5px;
    /*Shadow - doesn't look good because of the stamp cutout. We can still move this into another pseudo element behind the .stamp main element*/

  /*box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.5);*/
    /*pushing it back*/
    z-index: -1;
}
/*Some text*/
.stamp:before {
    content: 'CSS3';
    position: absolute;
    bottom: 0; left: 0;
    font: bold 24px arial;
    color: white;
    opacity: 0.75;
    line-height: 100%;
    padding: 20px;
}

@media (max-width:1280px){
    .gallery_card__container{
        flex-basis: 33%;
    }
}

@media (max-width:991px){
    .gallery_card__container{
        flex-basis: 50%;
    }

    .stamp {
        background: none;
        border: 10px solid white;
        padding: 0;
    }
}

@media (max-width:480px){
    .gallery_card__container{
        flex-basis: 100%;
        min-height: 465px;
    }
}