.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;
}

 
/* AI LIGHTNING THEME */
body{
background: radial-gradient(circle at top,#041b1a,#000000 70%) !important;
color:#dff !important;
}

.ai-card{
background:rgba(0,0,0,.65);
border-radius:18px;
padding:20px;
position:relative;
backdrop-filter:blur(12px);
border:1px solid rgba(0,255,200,.15);
box-shadow:0 0 15px rgba(0,255,200,.08);
transition:.4s;
}

.ai-card:hover{
transform:translateY(-6px);
box-shadow:0 0 25px rgba(0,255,200,.4);
}

.bottom-ai-nav{
position:fixed;
bottom:0;
left:0;
right:0;
background:rgba(0,0,0,.92);
border-top:1px solid rgba(0,255,200,.25);
display:flex;
justify-content:space-around;
padding:10px 0;
z-index:9999;
}

.bottom-ai-nav a{
color:#7aa;
font-size:12px;
text-align:center;
text-decoration:none;
}

.bottom-ai-nav a.active{
color:#00ffd5;
text-shadow:0 0 10px #00ffd5;
}

/* ===== ULTRA AI CYBER THEME ===== */

body{
background:
radial-gradient(circle at 20% 0%, #052e2a, #000 60%),
#000 !important;
color:#dff !important;
}

/* glass cards */
.ai-ultra-card{
background:rgba(0,0,0,.72);
border-radius:22px;
padding:22px;
border:1px solid rgba(0,255,213,.18);
box-shadow:0 0 18px rgba(0,255,213,.12);
backdrop-filter: blur(16px);
transition:.45s;
position:relative;
overflow:hidden;
}

.ai-ultra-card:hover{
transform:translateY(-8px) scale(1.01);
box-shadow:0 0 35px rgba(0,255,213,.55);
}

.ai-ultra-card::after{
content:'';
position:absolute;
inset:-2px;
background:linear-gradient(120deg,transparent,#00ffd5,transparent);
opacity:.25;
animation:ultraMove 4s linear infinite;
}

@keyframes ultraMove{
0%{background-position:0 0}
100%{background-position:400% 0}
}

/* neon buttons */
.ai-ultra-btn{
background:linear-gradient(90deg,#00ffd5,#0099ff);
border:none;
border-radius:16px;
padding:14px 20px;
font-weight:600;
color:#000;
box-shadow:0 0 22px rgba(0,255,213,.7);
transition:.3s;
}

.ai-ultra-btn:hover{
transform:scale(1.07);
box-shadow:0 0 40px rgba(0,255,213,1);
}

/* bottom nav */
.ai-ultra-nav{
position:fixed;
bottom:0;
left:0;
right:0;
background:rgba(0,0,0,.94);
border-top:1px solid rgba(0,255,213,.3);
display:flex;
justify-content:space-around;
padding:12px 0;
z-index:99999;
backdrop-filter: blur(10px);
}

.ai-ultra-nav a{
text-decoration:none;
color:#7aa;
font-size:12px;
text-align:center;
transition:.3s;
}

.ai-ultra-nav a.active{
color:#00ffd5;
text-shadow:0 0 14px #00ffd5;
}

.ai-ultra-nav a:hover{
transform:translateY(-5px);
}

.content-wrapper{
background:#000 !important;
}
.small-box{
border-radius:18px!important;
box-shadow:0 0 18px rgba(0,255,213,.25)!important;
}
