.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: smaller;
    color: #000000cf;
    font-style: italic;
}

.truncate-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    color: #000000cf;
}

.modal-dialog.large {
    width: 80% !important;
    max-width: unset;
}

.modal-dialog.mid-large {
    width: 50% !important;
    max-width: unset;
}

@media (max-width:720px) {
    .modal-dialog.large {
        width: 100% !important;
        max-width: unset;
    }
    .modal-dialog.mid-large {
        width: 100% !important;
        max-width: unset;
    }
}

#viewer_modal .btn-close {
    position: absolute;
    z-index: 999999;
    /*right: -4.5em;*/
    background: unset;
    color: white;
    border: unset;
    font-size: 27px;
    top: 0;
}

#viewer_modal .modal-dialog {
    width: 80%;
    max-width: unset;
    height: calc(90%);
    max-height: unset;
}

#viewer_modal .modal-content {
    background: black;
    border: unset;
    height: calc(100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

#viewer_modal img,
#viewer_modal video {
    max-height: calc(100%);
    max-width: calc(100%);
}

.service-img-view {
    object-fit: scale-down;
    object-position: top center;
    width: 100%;
    max-height: 30vh !important;
}

.client-logo-modal {
    object-fit: scale-down;
    object-position: top center;
    width: 100%;
    max-height: 28vh !important;
    background: #000000d1;
}

#testimonials {
    position: relative !important;
}

#testimonials .filter-div {
    position: absolute !important;
    height: calc(100%);
    width: calc(100%);
    background-color: #00000029 !important;
}

#testimonials blockquote p {
    font-size: inherit;
    color: white !important;
    line-height: inherit;
}

#testimonials blockquote {
    margin: 0 0px 30px 4px !important;
}

.testimonials-avatar {
    object-fit: scale-down;
    object-position: center center;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.753);
    height: 11rem;
    width: 11rem;
    margin-right: 15px
}

#testimonials blockquote cite {
    font-size: 23px !important;
}

.portfolio-item .item-wrap img {
    object-fit: scale-down;
    object-position: center;
    width: 100% !important;
    height: 23vh !important;
    background: #eaeaea;
}

header .banner-text {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: -36%;
}

header .banner-text h3 {
    color: #fdfafa;
    text-shadow: 4px 3px 4px rgb(0 0 0 / 50%);
    background: #00000033;
}

nav#nav-wrap {
    background: #00000070;
}

nav#nav-wrap.opaque {
    background: #333;
}