html, body {
    height: 100%;
    margin: 0;
}

.full-height-row {
    height: 100vh;
}

.widget-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.widget-card img {
    display: block;
    width: 100%;
    height: auto;
    z-index: 1;
    position: relative;
}

.widget-overlay-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 3;
    pointer-events: auto;
}

.widget-card:hover .widget-overlay-btn {
    opacity: 1;
}

.widget-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    pointer-events: none;
}

.widget-card:hover::before {
    opacity: 1;
}
.empty-wrap {
    margin: 50px;
    text-align: center;
    font-size: 3rem;
    padding: 50px;
    border: 5px dotted;
}
.wrapped-widget{    
    margin: 5px;
    border: 1px dashed;
    border-radius: 10px;
    min-height: 90px;
}
.position-absolute.widget-options {
    z-index: 1080;
    right: 0;
    margin-top: 10px;
    margin-right: 10px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    display: none;
}
.wrapped-widget:hover .position-absolute.widget-options {
    display: block;
    opacity: 1;
}
#toast-container {
    z-index: 9999 !important;
    top: 10 !important;
    right: 30px !important;
    position: absolute !important;
}
.toast.toast-success {
    background-color: var(--bs-success) !important;
}
.toast.toast-error {
    background-color: var(--bs-danger) !important;
}
@media (max-width: 768px) {
    .collapse:not(.show) {
        display: none !important;
    }
}
.header-2 {
    position: relative;
    height: 100vh; /* or desired height */
    width: 100%;
    overflow: hidden;
}

.video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.waves-container {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
}

.waves {
    display: block;
    width: 100%;
    height: 80px; /* adjust based on design */
}
p {
    word-break: auto-phrase;
}
.navbar.blur {
    box-shadow: inset 0px 0px 2px #fefefed1;
    -webkit-backdrop-filter: saturate(200%) blur(30px);
    backdrop-filter: saturate(200%) blur(30px);
    background-color: rgba(39, 39, 42, 0.8) !important;
    color: #fff !important;
}
.client-logo {
    height: 80px;
    object-fit: contain;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.client-logo:hover {
    filter: grayscale(0%);
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
#blogs_01 .card {
    box-shadow: 0 1px 3px 0 rgb(0 0 0), 0 1px 2px -1px rgb(0 0 0 / 98%);
}
#content_02 p.text-light,
#content_06 .mb-3.text-white{
    word-break: auto-phrase;
} 
.width-48-px{
    width: 48px;
}
.carousel-indicators {
    list-style-type:none;
}

a.nav-link.text-white.ps-2.d-flex.justify-content-between.cursor-pointer.align-items-center:hover {
    color: #fd7e14 !important;
}

.client-logo-custom {
    height: 80px;
    object-fit: contain;
    transition: filter 0.3s ease;
}

.w-80.h-100.bg-gradient-info.border-radius-xl.position-absolute,
.icon.icon-shape.bg-gradient-info.rounded-circle.shadow.text-center.mb-4,
.bg-gradient-warning.position-relative.mx-xxl-8.mx-xl-4.mx-lg-3.mx-3.py-1.z-index-2.border-radius-xl.mt-n12.overflow-hidden {
    background-image: linear-gradient(310deg, #3d3678 0%, #0d0a21 100%)
}
#footer_04 .shadow-blur {
    box-shadow: inset 0 0px 1px 1px #3d3678, 0 15px 27px 0 #0d0a21 !important;
}
#footer_04 .card.bg-warning.z-index-3{
    background-image: linear-gradient(310deg, #3d3678 0%, #0d0a21 100%)
}

.whatsapp-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #25d366;
  color: white;
  border-radius: 50%;
  padding: 5px 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-size: 24px;
  text-align: center;
  z-index: 1000;
}

.delius-swash-caps-regular {
    font-family: "Abel", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
}

.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(3 3 3);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.loading-spinner {
    border: 4px solid rgba(255, 255, 255, 0.886);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.card.card-background .full-background {
    background-position: 0% !important;
}