@charset "UTF-8";

/* EntityCore design classes */


.mw-800 {
    max-width: 800px;
}

.mw-650 {
    max-width: 650px;
}

.hover-rise {
    transition: 300ms ease-out;
}

.hover-rise:hover {
    transform: translateY(-4px);
    box-shadow: 0 11px 27px rgba(0, 0, 0, .27), 0 0 1px rgba(1, 0, 0, .17);
}

.hover-rotate {
    transition: .2s ease-out;
    overflow: hidden;
    transform-origin: 50% 0;
    transform: perspective(999px) rotateX(0deg) translateZ(0);
    backface-visibility: hidden;
    will-change: transform,box-shadow
}

    .hover-rotate:hover {
        transform: perspective(999px) rotateX(7deg) translate3d(0,-4px,5px)
    }

.hover-shadow {
    transition: 300ms ease-out;
}

    .hover-shadow:hover {
        box-shadow: 0 11px 27px rgba(0, 0, 0, .27), 0 0 1px rgba(1, 0, 0, .17);
    }

.hover-darker {
    transition: 300ms ease-out;
    }
    .hover-darker:hover {
        filter: brightness(0.9);
    }


/* Search panel */

.search-container {
    position: relative;
}

.search-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #888;
}

.search-icon-input {
    padding-left: 35px;
}


/* LARGER PADDINGS AND MARGINS */

.pt-6 {
    padding-top: 4.5rem !important;
}

.pb-6 {
    padding-bottom: 4.5rem !important;
}

.ps-6 {
    padding-left: 4.5rem !important;
}

.pe-6 {
    padding-right: 4.5rem !important;
}

.px-6 {
    padding-left: 4.5rem !important;
    padding-right: 4.5rem !important;
}

.py-6 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
}



.mt-6 {
    margin-top: 4.5rem !important;
}

.mb-6 {
    margin-bottom: 4.5rem !important;
}

.mx-6 {
    margin-left: 4.5rem !important;
    margin-right: 4.5rem !important;
}

.my-6 {
    margin-top: 4.5rem !important;
    margin-bottom: 4.5rem !important;
}

.ms-6 {
    margin-left: 4.5rem !important;
}

.me-6 {
    margin-right: 4.5rem !important;
}


.pt-7 {
    padding-top: 6rem !important;
}

.pb-7 {
    padding-bottom: 6rem !important;
}

.ps-7 {
    padding-left: 6rem !important;
}

.pe-7 {
    padding-right: 6rem !important;
}

.px-7 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
}

.py-7 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}



.mt-7 {
    margin-top: 6rem !important;
}

.mb-7 {
    margin-bottom: 6rem !important;
}

.mx-7 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
}

.my-7 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
}

.ms-7 {
    margin-left: 6rem !important;
}

.me-7 {
    margin-right: 6rem !important;
}

/* Safe Area Utilities */
.m-safe {
    margin-top: env(safe-area-inset-top);
    margin-right: env(safe-area-inset-right);
    margin-bottom: env(safe-area-inset-bottom);
    margin-left: env(safe-area-inset-left);
}

.mx-safe {
    margin-right: env(safe-area-inset-right);
    margin-left: env(safe-area-inset-left);
}

.my-safe {
    margin-top: env(safe-area-inset-top);
    margin-bottom: env(safe-area-inset-bottom);
}

.ms-safe {
    margin-inline-start: env(safe-area-inset-left);
}

.me-safe {
    margin-inline-end: env(safe-area-inset-right);
}

.mt-safe {
    margin-top: env(safe-area-inset-top);
}

.mr-safe {
    margin-right: env(safe-area-inset-right);
}

.mb-safe {
    margin-bottom: env(safe-area-inset-bottom);
}

.ml-safe {
    margin-left: env(safe-area-inset-left);
}

.p-safe {
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
}

.px-safe {
    padding-right: env(safe-area-inset-right);
    padding-left: env(safe-area-inset-left);
}

.py-safe {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
}

.ps-safe {
    padding-inline-start: env(safe-area-inset-left);
}

.pe-safe {
    padding-inline-end: env(safe-area-inset-right);
}

.pt-safe {
    padding-top: env(safe-area-inset-top);
}

.pr-safe {
    padding-right: env(safe-area-inset-right);
}

.pb-safe {
    padding-bottom: env(safe-area-inset-bottom);
}

.pl-safe {
    padding-left: env(safe-area-inset-left);
}

.text-white a {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity));
}


/* Simple image gallery */

.image-columns {
    column-count: 4; /* Adjust number of columns */
    column-gap: 1rem;
}

    .image-columns figure {
        width: 100%; /* Ensures image fits column width */
        margin-bottom: 1rem;
        display: block;
    }

    .image-columns .card {
        overflow: hidden;
    }

    /*Hover effect for img */
    .image-columns img {
        width: 100%;
        height: auto;
        transition: transform 0.3s ease;
    }


    .image-columns img:hover {
        transform: scale(1.05); /* Slight zoom on hover */
    }


@media (max-width: 768px) {
    .image-columns {
        column-count: 2;
    }
}

@media (max-width: 480px) {
    .image-columns {
        column-count: 1;
    }
}

a {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb),var(--bs-text-opacity));
}

/* A few classes cloned from the Soft UI Design System 3 - v1.1.0 */

.btn-close:focus {
    box-shadow: none
}

.alert-dismissible .btn-close {
    background-image: none
}

.oblique {
    transform: skewX(-10deg);
    overflow: hidden;
    width: 60%;
    right: -10rem;
    border-bottom-left-radius: .75rem
}

    .oblique .oblique-image {
        transform: skewX(10deg)
    }

.footer .nav-link {
    font-weight: 400;
    font-size: .875rem;
    padding-top: 0;
    padding-bottom: .25rem
}

.footer .nav-link:hover {
    opacity: 1 !important;
    transition: opacity .3 ease
}

.text-shadow-none {
    text-shadow: none;
}

.text-shadow-sm {
    text-shadow: 0 1px 2px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1)
}

.text-shadow-lg {
    text-shadow: 0 2px 4px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.15)
}


.glass {
    position: relative;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(2px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.8);
    /*border-radius: 2rem;*/
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2), inset 0 4px 20px rgba(255, 255, 255, 0.3);
}

    .glass::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.1);
        border-radius: inherit;
        backdrop-filter: blur(1px);
        box-shadow: inset -10px -8px 0px -11px rgba(255, 255, 255, 1), inset 0px -9px 0px -8px rgba(255, 255, 255, 1);
        opacity: 0.6;
        z-index: -1;
        filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
    }

.blur {
    /*box-shadow: inset 0 0 2px hsla(0,0%,100%,.8196078431);*/
    -webkit-backdrop-filter: saturate(200%) blur(30px);
    backdrop-filter: saturate(200%) blur(30px);
/*    background-color: hsla(0,0%,100%,.8) !important*/
}

    .blur.blur-desaturate {
        -webkit-backdrop-filter: saturate(20%) blur(30px);
        backdrop-filter: saturate(20%) blur(30px)
    }

    .blur.blur-rounded {
        border-radius: 40px
    }

    .blur.blur-light {
        background-color: hsla(0,0%,100%,.8)
    }

    .blur.blur-dark {
        background-color: rgba(0,0,0,.3)
    }

.shadow-blur {
    box-shadow: inset 0 0 1px 1px hsla(0,0%,100%,.9),0 20px 27px 0 rgba(0,0,0,.05) !important
}

.shadow-card {
    box-shadow: 0 20px 27px 0 rgba(0,0,0,.05) !important
}

.navbar-blur {
    background-color: hsla(0,0%,100%,.58) !important
}

.blur-section, .navbar-blur {
    -webkit-backdrop-filter: saturate(200%) blur(30px);
    backdrop-filter: saturate(200%) blur(30px)
}

    .blur-section.blur-gradient-primary {
        background-image: linear-gradient(310deg,rgba(234,88,12,.95),rgba(250,204,21,.95))
    }



.gradient-animation {
    background: linear-gradient(-45deg,#0ea5e9,#ef4444,#eab308,#ea580c,#27272a);
    background-size: 400% 400% !important;
    animation: gradient 10s ease infinite
}

hr {
    border-top: none !important;
    height: 1px
}

    hr.vertical {
        position: absolute;
        background-color: transparent;
        height: 100%;
        right: 0;
        top: 0;
        width: 1px
    }

        hr.vertical.light {
            background-image: linear-gradient(180deg,hsla(0,0%,100%,0),#fff,hsla(0,0%,100%,0))
        }

        hr.vertical.dark {
            background-image: linear-gradient(180deg,transparent,rgba(0,0,0,.4),transparent)
        }

        hr.vertical.gray-light {
            background-image: linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)
        }

    hr.horizontal {
        background-color: transparent
    }

        hr.horizontal.light {
            background-image: linear-gradient(90deg,hsla(0,0%,100%,0),#fff,hsla(0,0%,100%,0))
        }

        hr.horizontal.dark {
            background-image: linear-gradient(90deg,transparent,rgba(0,0,0,.4),transparent)
        }

        hr.horizontal.gray-light {
            background-image: linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)
        }

.lock-size {
    width: 1.7rem;
    height: 1.7rem
}

.border-radius-xs {
    border-radius: .125rem
}

.border-radius-sm {
    border-radius: .25rem
}

.border-radius-md {
    border-radius: .5rem
}

.border-radius-lg {
    border-radius: .75rem
}

.border-radius-xl {
    border-radius: 1rem
}

.border-radius-2xl {
    border-radius: 1.5rem
}

.border-radius-section {
    border-radius: 10rem
}

.border-bottom-end-radius-0 {
    border-bottom-right-radius: 0
}

.border-top-end-radius-0 {
    border-top-right-radius: 0
}

.border-bottom-start-radius-0 {
    border-bottom-left-radius: 0
}

.border-top-start-radius-0 {
    border-top-left-radius: 0
}

.border-dashed {
    border-style: dashed
}

.z-index-sticky {
    z-index: 1020
}

.waves {
    position: relative;
    width: 100%;
    height: 16vh;
    margin-bottom: -7px;
    min-height: 100px;
    max-height: 150px
}

    .waves.waves-sm {
        height: 50px;
        min-height: 50px
    }

    .waves.no-animation .moving-waves > use {
        animation: none
    }

.wave-rotate {
    transform: rotate(180deg)
}

.moving-waves > use {
    animation: f 40s cubic-bezier(.55,.5,.45,.5) infinite
}

    .moving-waves > use:first-child {
        animation-delay: -2s;
        animation-duration: 11s
    }

    .moving-waves > use:nth-child(2) {
        animation-delay: -4s;
        animation-duration: 13s
    }

    .moving-waves > use:nth-child(3) {
        animation-delay: -3s;
        animation-duration: 15s
    }

    .moving-waves > use:nth-child(4) {
        animation-delay: -4s;
        animation-duration: 20s
    }

    .moving-waves > use:nth-child(5) {
        animation-delay: -4s;
        animation-duration: 25s
    }

    .moving-waves > use:nth-child(6) {
        animation-delay: -3s;
        animation-duration: 30s
    }

@keyframes f {
    0% {
        transform: translate3d(-90px,0,0)
    }

    to {
        transform: translate3d(85px,0,0)
    }
}

@media (max-width:767.98px) {
    .waves {
        height: 40px;
        min-height: 40px
    }
}

.overflow-visible {
    overflow: visible !important
}

.bg-cover {
    background-size: cover
}

.overflow-x-hidden {
    overflow-x: hidden
}

.overflow-y-hidden {
    overflow-y: hidden
}

.overflow-x-scroll {
    overflow-x: scroll
}

.overflow-y-scroll {
    overflow-y: scroll
}

.mask {
    position: absolute;
    background-size: cover;
    background-position: 50%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .8
}

.cursor-pointer {
    cursor: pointer
}

.transform-translate-50 {
    transform: translateY(-50%)
}


.tilt {
    transform-style: preserve-3d
}

    .tilt .up {
        transform: translateZ(50px) scale(.7) !important;
        transition: all .5s
    }

.text-sm {
    line-height: 1.5
}

.text-xs {
    line-height: 1.25
}

.lead {
    font-size: 1.25rem
}

.text-lg {
    font-size: 1.125rem !important
}

.text-sm {
    font-size: .875rem !important
}

.text-xs {
    font-size: .75rem !important
}

.text-xxs {
    font-size: .65rem !important
}

.text-sans-serif {
    font-family: Inter !important
}

.text-monospace {
    font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace !important
}

.text-justify {
    text-align: justify !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.font-weight-light {
    font-weight: 300 !important
}

.font-weight-lighter {
    font-weight: lighter !important
}

.font-weight-normal {
    font-weight: 400 !important
}

.font-weight-bold {
    font-weight: 600 !important
}

.font-weight-bolder {
    font-weight: 700 !important
}

.font-italic {
    font-style: italic !important
}

.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    z-index: 1
}

.blockquote {
    border-left: 3px solid #52525b
}

    .blockquote > span {
        font-style: italic
    }


.text-black-50 {
    color: rgba(0,0,0,.5) !important
}

.text-white-50 {
    color: hsla(0,0%,100%,.5) !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-break {
    word-wrap: break-word !important
}

.text-reset {
    color: inherit !important
}

.letter-wider {
    letter-spacing: .05rem
}

.letter-normal {
    letter-spacing: 0
}

.letter-tighter {
    letter-spacing: -.05rem
}

.text-lighter {
    font-weight: lighter
}

.text-light {
    font-weight: 300
}

.text-normal {
    font-weight: 400
}

.text-bold {
    font-weight: 600
}

.text-bolder {
    font-weight: 700
}

.text-2xl {
    font-size: 1.5rem
}

.text-3xl {
    font-size: 1.875rem
}

.text-4xl {
    font-size: 2rem
}

.text-5xl {
    font-size: 2.25rem
}

.text-6xl {
    font-size: 3rem
}

.text-7xl {
    font-size: 3.75rem
}

.text-8xl {
    font-size: 4rem
}

.text-9xl {
    font-size: 5rem
}
