.demo-1 .sl-slider-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.demo-2 .sl-slider-wrapper {
    width: 100%;
    height: 500px;
    overflow: hidden;
    position: relative;
}

.demo-2 .sl-slider h2,
.demo-2 .sl-slider blockquote {
    padding: 10px 30px 10px 30px;
    width: 95%;
    max-width: 960px;
    color: #815C0B;
    /*margin: 0 auto;*/
    position: relative;
    z-index: 100;
}

.demo-2 .sl-slider h2 {
    font-size: 2.1em;
    /*text-shadow: 0 -1px 0 rgba(0,0,0,0.2);*/
}

.demo-2 .sl-slider blockquote {
    font-size: 1.5em;
    padding-top: 10px;
    font-weight: 300;
    /*text-shadow: 0 -1px 0 rgba(0,0,0,0.2);*/
}

.demo-2 .sl-slider blockquote cite {
    font-size: 16px;
    /*font-weight: 700;*/
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding-top: 30px;
    display: inline-block;
}
.demo-2 .bg-img1 {
    padding: 200px;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    position: absolute;
    top: -70px;
    left: -200px;
/*    width: 50%;*/
    height: 60%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    background-position: center center;
}

    .demo-2 .bg-img {
        padding: 200px;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        position: absolute;
        top: -200px;
        left: -200px;
        width: 100%;
        height: 100%;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
        background-position: center center;
    }

    /* Custom navigation arrows */

    .nav-arrows span {
        position: absolute;
        z-index: 2000;
        top: 50%;
        width: 40px;
        height: 40px;
        border: 8px solid #ddd;
        border: 8px solid rgba(150,150,150,0.4);
        text-indent: -90000px;
        margin-top: -40px;
        cursor: pointer;

        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .nav-arrows span:hover {
        border-color: rgba(150,150,150,0.9);
    }

    .nav-arrows span.nav-arrow-prev {
        left: 5%;
        border-right: none;
        border-top: none;
    }

    .nav-arrows span.nav-arrow-next {
        right: 5%;
        border-left: none;
        border-bottom: none;
    }

    /* Custom navigation dots */

    .nav-dots {
        text-align: center;
        position: absolute;
        bottom: 2%;
        height: 30px;
        width: 100%;
        left: 0;
        z-index: 1000;
    }

    .nav-dots span {
        display: inline-block;
        position: relative;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        margin: 3px;
        background: #ddd;
        background: rgba(150,150,150,0.4);
        cursor: pointer;
        box-shadow: 
            0 1px 1px rgba(255,255,255,0.4), 
            inset 0 1px 1px rgba(0,0,0,0.1);
    }

    .demo-2 .nav-dots span {
        background: rgba(150,150,150,0.1);
        margin: 6px;
        -webkit-transition: all 0.2s;
        -moz-transition: all 0.2s;
        -ms-transition: all 0.2s;
        -o-transition: all 0.2s;
        transition: all 0.2s;
        box-shadow: 
            0 1px 1px rgba(255,255,255,0.4), 
            inset 0 1px 1px rgba(0,0,0,0.1),
            0 0 0 2px rgba(255,255,255,0.5);
    }

    .demo-2 .nav-dots span.nav-dot-current,
    .demo-2 .nav-dots span:hover {
        box-shadow: 
            0 1px 1px rgba(255,255,255,0.4), 
            inset 0 1px 1px rgba(0,0,0,0.1),
            0 0 0 5px rgba(255,255,255,0.5);
    }

    .nav-dots span.nav-dot-current:after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 3px;
        left: 3px;
        border-radius: 50%;
        background: rgba(255,255,255,0.8);
    }

    /* Content elements */

    .demo-1 .deco {
        width: 260px;
        height: 260px;
        border: 2px dashed #ddd;
        border: 2px dashed rgba(150,150,150,0.4);
        border-radius: 50%;
        position: absolute;
        bottom: 50%;
        left: 50%;
        margin: 0 0 0 -130px;
    }

    .demo-1 [data-icon]:after {
        content: attr(data-icon);
        font-family: 'AnimalsNormal';
        color: #999;
        text-shadow: 0 0 1px #999;
        position: absolute;
        width: 220px;
        height: 220px;
        line-height: 220px;
        text-align: center;
        font-size: 100px;
        top: 50%;
        left: 50%;
        margin: -110px 0 0 -110px;
        box-shadow: inset 0 0 0 10px #f7f7f7;
        border-radius: 50%;
    }

    .demo-1 .sl-slide h2 {
        color: #000;
        text-shadow: 0 0 1px #000;
        padding: 20px;
        position: absolute;
        font-size: 34px;
        font-weight: 700;
        letter-spacing: 13px;
        text-transform: uppercase;
        width: 80%;
        left: 10%;
        text-align: center;
        line-height: 50px;
        bottom: 50%;
        margin: 0 0 -120px 0;
    }

    .demo-1 .sl-slide blockquote {
        position: absolute;
        width: 100%;
        text-align: center;
        left: 0;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        height: 70px;
        color: #8b8b8b;
        z-index: 2;
        bottom: 50%;
        margin: 0 0 -200px 0;
        padding: 0;
    }

    .demo-1 .sl-slide blockquote p{
        margin: 0 auto;
        width: 60%;
        max-width: 400px;
        position: relative;
    }

    .demo-1 .sl-slide blockquote p:before {
        color: #f0f0f0;
        color: rgba(244,244,244,0.65);
        font-family: "Bookman Old Style", Bookman, Garamond, serif;
        position: absolute;
        line-height: 60px;
        width: 75px;
        height: 75px;
        font-size: 200px;
        z-index: -1;
        left: -80px;
        top: 35px;
        content: '\201C';
    }

    .demo-1 .sl-slide blockquote cite {
        font-size: 10px;
        padding-top: 10px;
        display: inline-block;
        font-style: normal;
        text-transform: uppercase;
        letter-spacing: 4px;
    }

    /* Custom background colors for slides in first demo */

    /* First Slide */
    .demo-1 .bg-1 .sl-slide-inner,
    .demo-1 .bg-1 .sl-content-slice {
        background: #fff;
    }

    /* Second Slide */
    .demo-1 .bg-2 .sl-slide-inner,
    .demo-1 .bg-2 .sl-content-slice {
        background: #000;
    }

    .demo-1 .bg-2 [data-icon]:after,
        .demo-1 .bg-2 h2 {
        color: #fff;
    }

    .demo-1 .bg-2 blockquote:before {
        color: #222;
    }

    /* Third Slide */
    .demo-1 .bg-3 .sl-slide-inner,
    .demo-1 .bg-3 .sl-content-slice {
        background: #db84ad;
    }

    .demo-1 .bg-3 .deco {
        border-color: #fff;
        border-color: rgba(255,255,255,0.5);
    }

    .demo-1 .bg-3 [data-icon]:after {
        color: #fff;
        text-shadow: 0 0 1px #fff;
        box-shadow: inset 0 0 0 10px #b55381;
    }

    .demo-1 .bg-3 h2,
    .demo-1 .bg-3 blockquote{
        color: #fff;
        text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
    }

    .demo-1 .bg-3 blockquote:before {
        color: #c46c96;
    }

    /* Forth Slide */
    .demo-1 .bg-4 .sl-slide-inner,
    .demo-1 .bg-4 .sl-content-slice {
        background: #5bc2ce;
    }

    .demo-1 .bg-4 .deco {
        border-color: #379eaa;
    }

    .demo-1 .bg-4 [data-icon]:after {
        text-shadow: 0 0 1px #277d87;
        color: #277d87;
    }

    .demo-1 .bg-4 h2,
    .demo-1 .bg-4 blockquote{
        color: #fff;
        text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    }

    .demo-1 .bg-4 blockquote:before {
        color: #379eaa;
    }

    /* Fifth Slide */
    .demo-1 .bg-5 .sl-slide-inner,
    .demo-1 .bg-5 .sl-content-slice {
        background: #ffeb41;
    }

    .demo-1 .bg-5 .deco {
        border-color: #ECD82C;
    }

    .demo-1 .bg-5 .deco:after {
        color: #000;
        text-shadow: 0 0 1px #000;
    }

    .demo-1 .bg-5 h2,
    .demo-1 .bg-5 blockquote{
        color: #000;
        text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
    }

    .demo-1 .bg-5 blockquote:before {
        color: #ecd82c;
    }
    /*.slideImgC{
        background-color: #fff;
    }*/

    /*.demo-2 .bg-img-1 {
        background-image: url(../Resources/images/slider/images/it5.jpg);
        margin-left: 600px;
    }
    .demo-2 .bg-img-2 {
        background-image: url(../Resources/images/slider/img/it31.jpg);
        background-image: url(../Resources/images/slider/images/it5.jpg);
        margin-left: 600px;
    }
    .demo-2 .bg-img-3 {
        background-image: url(../Resources/images/slider/images/5.jpg);
        margin-left: 740px;
    }
    .demo-2 .bg-img-4 {
        background-image: url(../Resources/public/images/slider/images/4.jpg);
    }
    .demo-2 .bg-img-5 {
        background-image: url(../Resources/images/slider/images/5.jpg);
    }*/

    /* Animations for content elements */

    .sl-trans-elems .deco{
        -webkit-animation: roll 1s ease-out both, fadeIn 1s ease-out both;
        -moz-animation: roll 1s ease-out both, fadeIn 1s ease-out both;
        -o-animation: roll 1s ease-out both, fadeIn 1s ease-out both;
        -ms-animation: roll 1s ease-out both, fadeIn 1s ease-out both;
        animation: roll 1s ease-out both, fadeIn 1s ease-out both;
    }
    .sl-trans-elems h2{
        -webkit-animation: moveUp 1s ease-in-out both;
        -moz-animation: moveUp 1s ease-in-out both;
        -o-animation: moveUp 1s ease-in-out both;
        -ms-animation: moveUp 1s ease-in-out both;
        animation: moveUp 1s ease-in-out both;
    }
    .sl-trans-elems blockquote{
        -webkit-animation: fadeIn 0.5s linear 0.5s both;
        -moz-animation: fadeIn 0.5s linear 0.5s both;
        -o-animation: fadeIn 0.5s linear 0.5s both;
        -ms-animation: fadeIn 0.5s linear 0.5s both;
        animation: fadeIn 0.5s linear 0.5s both;
    }
    .sl-trans-back-elems .deco{
        -webkit-animation: scaleDown 1s ease-in-out both;
        -moz-animation: scaleDown 1s ease-in-out both;
        -o-animation: scaleDown 1s ease-in-out both;
        -ms-animation: scaleDown 1s ease-in-out both;
        animation: scaleDown 1s ease-in-out both;
    }
    .sl-trans-back-elems h2{
        -webkit-animation: fadeOut 1s ease-in-out both;
        -moz-animation: fadeOut 1s ease-in-out both;
        -o-animation: fadeOut 1s ease-in-out both;
        -ms-animation: fadeOut 1s ease-in-out both;
        animation: fadeOut 1s ease-in-out both;
    }
    .sl-trans-back-elems blockquote{
        -webkit-animation: fadeOut 1s linear both;
        -moz-animation: fadeOut 1s linear both;
        -o-animation: fadeOut 1s linear both;
        -ms-animation: fadeOut 1s linear both;
        animation: fadeOut 1s linear both;
    }
    @-webkit-keyframes roll{
        0% {-webkit-transform: translateX(500px) rotate(360deg);}
        100% {-webkit-transform: translateX(0px) rotate(0deg);}
    }
    @-moz-keyframes roll{
        0% {-moz-transform: translateX(500px) rotate(360deg); opacity: 0;}
        100% {-moz-transform: translateX(0px) rotate(0deg); opacity: 1;}
    }
    @-o-keyframes roll{
        0% {-o-transform: translateX(500px) rotate(360deg); opacity: 0;}
        100% {-o-transform: translateX(0px) rotate(0deg); opacity: 1;}
    }
    @-ms-keyframes roll{
        0% {-ms-transform: translateX(500px) rotate(360deg); opacity: 0;}
        100% {-ms-transform: translateX(0px) rotate(0deg); opacity: 1;}
    }
    @keyframes roll{
        0% {transform: translateX(500px) rotate(360deg); opacity: 0;}
        100% {transform: translateX(0px) rotate(0deg); opacity: 1;}
    }
    @-webkit-keyframes moveUp{
        0% {-webkit-transform: translateY(40px);}
        100% {-webkit-transform: translateY(0px);}
    }
    @-moz-keyframes moveUp{
        0% {-moz-transform: translateY(40px);}
        100% {-moz-transform: translateY(0px);}
    }
    @-o-keyframes moveUp{
        0% {-o-transform: translateY(40px);}
        100% {-o-transform: translateY(0px);}
    }
    @-ms-keyframes moveUp{
        0% {-ms-transform: translateY(40px);}
        100% {-ms-transform: translateY(0px);}
    }
    @keyframes moveUp{
        0% {transform: translateY(40px);}
        100% {transform: translateY(0px);}
    }
    @-webkit-keyframes fadeIn{
        0% {opacity: 0;}
        100% {opacity: 1;}
    }
    @-moz-keyframes fadeIn{
        0% {opacity: 0;}
        100% {opacity: 1;}
    }
    @-o-keyframes fadeIn{
        0% {opacity: 0;}
        100% {opacity: 1;}
    }
    @-ms-keyframes fadeIn{
        0% {opacity: 0;}
        100% {opacity: 1;}
    }
    @keyframes fadeIn{
        0% {opacity: 0;}
        100% {opacity: 1;}
    }
    @-webkit-keyframes scaleDown{
        0% {-webkit-transform: scale(1);}
        100% {-webkit-transform: scale(0.5);}
    }
    @-moz-keyframes scaleDown{
        0% {-moz-transform: scale(1);}
        100% {-moz-transform: scale(0.5);}
    }
    @-o-keyframes scaleDown{
        0% {-o-transform: scale(1);}
        100% {-o-transform: scale(0.5);}
    }
    @-ms-keyframes scaleDown{
        0% {-ms-transform: scale(1);}
        100% {-ms-transform: scale(0.5);}
    }
    @keyframes scaleDown{
        0% {transform: scale(1);}
        100% {transform: scale(0.5);}
    }
    @-webkit-keyframes fadeOut{
        0% {opacity: 1;}
        100% {opacity: 0;}
    }
    @-moz-keyframes fadeOut{
        0% {opacity: 1;}
        100% {opacity: 0;}
    }
    @-o-keyframes fadeOut{
        0% {opacity: 1;}
        100% {opacity: 0;}
    }
    @-ms-keyframes fadeOut{
        0% {opacity: 1;}
        100% {opacity: 0;}
    }
    @keyframes fadeOut{
        0% {opacity: 1;}
        100% {opacity: 0;}
    }


    /* Media Queries for custom slider */

    @media screen and (max-width: 660px) {
        .demo-1 .deco {
            width: 130px;
            height: 130px;
            margin-left: -65px;
            margin-bottom: 50px;
        }

        .demo-1 [data-icon]:after {
            width: 110px;
            height: 110px;
            line-height: 110px;
            font-size: 40px;
            margin: -55px 0 0 -55px;
        }

        .demo-1 .sl-slide blockquote {
            margin-bottom: -120px;
        }

        .demo-1 .sl-slide h2 {
            line-height: 22px;
            font-size: 18px;
            margin-bottom: -40px;
            letter-spacing: 8px;
        }

        .demo-1 .sl-slide blockquote p:before {
            line-height: 10px;
            width: 40px;
            height: 40px;
            font-size: 120px;
            left: -45px;
        }

        .demo-2 .sl-slider-wrapper {
            height: 300px;
        }

        .demo-2 .sl-slider h2 {
            font-size: 1.7em;
        }

        .demo-2 .sl-slider blockquote {
            font-size: 16px;
        }

    }
.sl-slider-wrapper {
    width: 800px;
    height: 400px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.sl-slider {
    position: absolute;
    top: 0;
    left: 0;
}

/* Slide wrapper and slides */

.sl-slide,
.sl-slides-wrapper,
.sl-slide-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
} 

.sl-slide {
    z-index: 1;
}

/* The duplicate parts/slices */

.sl-content-slice {
    overflow: hidden;
    position: absolute;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    background: #fff;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity : 1;
}

/* Horizontal slice */

.sl-slide-horizontal .sl-content-slice {
    width: 100%;
    height: 50%;
    left: -200px;
    -webkit-transform: translateY(0%) scale(1);
    -moz-transform: translateY(0%) scale(1);
    -o-transform: translateY(0%) scale(1);
    -ms-transform: translateY(0%) scale(1);
    transform: translateY(0%) scale(1);
}

.sl-slide-horizontal .sl-content-slice:first-child {
    top: -200px;
    padding: 200px 200px 0px 200px;
}

.sl-slide-horizontal .sl-content-slice:nth-child(2) {
    top: 50%;
    padding: 0px 200px 200px 200px;
}

/* Vertical slice */

.sl-slide-vertical .sl-content-slice {
    width: 50%;
    height: 100%;
    top: -200px;
    -webkit-transform: translateX(0%) scale(1);
    -moz-transform: translateX(0%) scale(1);
    -o-transform: translateX(0%) scale(1);
    -ms-transform: translateX(0%) scale(1);
    transform: translateX(0%) scale(1);
}

.sl-slide-vertical .sl-content-slice:first-child {
    left: -200px;
    padding: 200px 0px 200px 200px;
}

.sl-slide-vertical .sl-content-slice:nth-child(2) {
    left: 50%;
    padding: 200px 200px 200px 0px;
}

/* Content wrapper */
/* Width and height is set dynamically */
.sl-content-wrapper {
    position: absolute;
}

.sl-content {
    width: 100%;
    height: 100%;
    background: #fff;
}

/* Default styles for background colors */
.sl-slide-horizontal .bg-img {
    /*background: #ddd;*/


/*    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #ffffff 0%, #e6e6e6 58%, #d1d1d1 100%);
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, , color-stop(0%, #ffffff), color-stop(0%, #ffffff), color-stop(58%, #e6e6e6), color-stop(100%, #d1d1d1));
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 0%, #ffffff 0%, #e6e6e6 58%, #d1d1d1 100%);
    background: -o-radial-gradient(center, ellipse cover, #ffffff 0%, #ffffff 0%, #e6e6e6 58%, #d1d1d1 100%);
    background: -ms-radial-gradient(center, ellipse cover, #ffffff 0%, #ffffff 0%, #e6e6e6 58%, #d1d1d1 100%);
    background: radial-gradient(ellipse at center, #ffffff 0%, #ffffff 0%, #e6e6e6 58%, #d1d1d1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#d1d1d1', GradientType=1 );*/

}

.sl-slide-vertical .bg-img {

    /*    background: #e2e2e2;
        background: -moz-linear-gradient(-45deg, #e2e2e2 0%, #fafafa 50%, #dbdbdb 100%);
        background: -webkit-gradient(left top, right bottom, color-stop(0%, #e2e2e2), color-stop(50%, #fafafa), color-stop(100%, #dbdbdb));
        background: -webkit-linear-gradient(-45deg, #e2e2e2 0%, #fafafa 50%, #dbdbdb 100%);
        background: -o-linear-gradient(-45deg, #e2e2e2 0%, #fafafa 50%, #dbdbdb 100%);
        background: -ms-linear-gradient(-45deg, #e2e2e2 0%, #fafafa 50%, #dbdbdb 100%);
        background: linear-gradient(135deg, #e2e2e2 0%, #fafafa 50%, #dbdbdb 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#dbdbdb', GradientType=1 );*/


    /*    background: rgba(194,194,194,0.98);
        background: -moz-radial-gradient(center, ellipse cover, rgba(194,194,194,0.98) 0%, rgba(214,214,214,0.98) 0%, rgba(237,237,237,0.98) 100%);
        background: -webkit-gradient(radial, center center, 0px, center center, 100%, , color-stop(0%, rgba(194,194,194,0.98)), color-stop(0%, rgba(214,214,214,0.98)), color-stop(100%, rgba(237,237,237,0.98)));
        background: -webkit-radial-gradient(center, ellipse cover, rgba(194,194,194,0.98) 0%, rgba(214,214,214,0.98) 0%, rgba(237,237,237,0.98) 100%);
        background: -o-radial-gradient(center, ellipse cover, rgba(194,194,194,0.98) 0%, rgba(214,214,214,0.98) 0%, rgba(237,237,237,0.98) 100%);
        background: -ms-radial-gradient(center, ellipse cover, rgba(194,194,194,0.98) 0%, rgba(214,214,214,0.98) 0%, rgba(237,237,237,0.98) 100%);
        background: radial-gradient(ellipse at center, rgba(194,194,194,0.98) 0%, rgba(214,214,214,0.98) 0%, rgba(237,237,237,0.98) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c2c2c2', endColorstr='#ededed', GradientType=1 );*/

}

.sl-content-wrapper img.firstp {float: right; position: relative; top: 0px;}

/* =============================================================================
   NSU Admissions portal chrome — scoped under body.nsu-admission-portal
   (header band, footer, skip link; complements public/css/web-home.css)
   ============================================================================= */

body.nsu-admission-portal {
    --portal-navy-deep: #070b1a;
    --portal-navy-mid: #12183a;
    --portal-navy-band: #0f1738;
    --portal-gold: #e8c547;
    --portal-gold-soft: rgba(232, 197, 71, 0.16);
    --portal-ink-on-dark: rgba(226, 232, 240, 0.92);
    --portal-muted-on-dark: rgba(148, 163, 184, 0.95);
    -webkit-font-smoothing: antialiased;
}

@media (prefers-reduced-motion: reduce) {
    body.nsu-admission-portal .nsu-portal-top .dropdown-menu {
        transition: none !important;
    }
}

/* Skip link */
body.nsu-admission-portal .nsu-skip-link {
    position: absolute;
    left: 0.75rem;
    top: 0.5rem;
    z-index: 2000;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
    background: var(--portal-gold);
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    transform: translateY(-120%);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.nsu-admission-portal .nsu-skip-link:focus {
    transform: translateY(0);
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* --- Top navigation (aligned with homepage hero palette) --- */
body.nsu-admission-portal .nsu-portal-top {
    position: relative;
    z-index: 1020;
}

body.nsu-admission-portal .nsu-portal-top__section {
    margin: 0;
}

body.nsu-admission-portal #navbar.nsu-portal-navbar-inner {
    /* Sticky keeps the bar in document flow — avoids hero/carousel jumping when scroll used to toggle position:fixed */
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
    background: linear-gradient(165deg, var(--portal-navy-deep) 0%, var(--portal-navy-band) 52%, var(--portal-navy-mid) 100%) !important;
    color: var(--portal-ink-on-dark) !important;
    font-size: 0.875rem;
    box-shadow: 0 12px 40px rgba(7, 11, 26, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Legacy: homepage script used to toggle .sticky with position:fixed (layout jump). Class may still be added elsewhere — keep same as sticky. */
body.nsu-admission-portal #navbar.nsu-portal-navbar-inner.sticky {
    position: sticky;
    top: 0;
}

body.nsu-admission-portal .nsu-portal-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.35);
}

body.nsu-admission-portal .nsu-portal-navbar .navbar-toggler-icon {
    filter: invert(1) brightness(1.15);
}

body.nsu-admission-portal .nsu-portal-navbar-brand {
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
    color: #fff !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
}

body.nsu-admission-portal .nsu-portal-navbar-brand:hover,
body.nsu-admission-portal .nsu-portal-navbar-brand:focus {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
}

body.nsu-admission-portal .nsu-portal-navbar .navbar-nav .nav-link {
    color: rgba(248, 250, 252, 0.92) !important;
    font-weight: 600;
    padding: 0.55rem 0.85rem;
    border-radius: 10px;
}

body.nsu-admission-portal .nsu-portal-navbar .navbar-nav .nav-link:hover,
body.nsu-admission-portal .nsu-portal-navbar .navbar-nav .nav-link:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08);
}

body.nsu-admission-portal .nsu-portal-navbar .navbar-nav .nav-link.dropdown-toggle::after {
    margin-left: 0.35em;
    vertical-align: 0.12em;
}

/* Mega / dropdown panels */
body.nsu-admission-portal .nsu-portal-top .show > .dropdown-menu {
    max-height: 900px;
    visibility: visible;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-menu {
    display: block;
    max-height: 0;
    visibility: hidden;
    transition: max-height 0.35s ease-in-out, visibility 0.35s ease-in-out;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

body.nsu-admission-portal .nsu-portal-top .submenu {
    font-size: 0.85em;
    line-height: 1.85;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-item .nav-link {
    width: 100%;
    text-align: left !important;
    padding: 0.2rem 0.35rem;
    border-radius: 8px;
    color: #0f172a !important;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-item .nav-link:hover {
    background: rgba(232, 197, 71, 0.12);
    color: #0b1220 !important;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-menu .card {
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 14px;
    box-shadow: none;
    background: #fafbff;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-menu .card-body {
    padding: 1rem 1.1rem;
}

body.nsu-admission-portal .nsu-portal-top #navbar a {
    float: none !important;
    text-decoration: none;
}

body.nsu-admission-portal .nsu-portal-top #navbar a:hover {
    background-color: transparent;
    color: inherit;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-item {
    white-space: normal;
}

body.nsu-admission-portal .nsu-portal-top .dropdown-item.d-flex:hover {
    background-color: rgba(232, 197, 71, 0.1);
}

/* --- Footer stack --- */
body.nsu-admission-portal .nsu-portal-footer {
    margin-top: 0;
}

body.nsu-admission-portal .nsu-portal-footer-contact {
    background: linear-gradient(165deg, #1a1540 0%, #211a4e 55%, #2a2258 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

body.nsu-admission-portal .nsu-portal-footer-contact__inner {
    padding: clamp(1.5rem, 4vw, 2.25rem) 0;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.875rem;
    line-height: 1.6;
    text-align: center;
}

@media (min-width: 768px) {
    body.nsu-admission-portal .nsu-portal-footer-contact__inner {
        text-align: left;
    }
}

body.nsu-admission-portal .nsu-portal-footer-logo {
    max-width: min(250px, 100%);
    height: auto;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    body.nsu-admission-portal .nsu-portal-footer-logo {
        margin-bottom: 0;
    }
}

body.nsu-admission-portal .nsu-portal-footer-contact .call_details {
    padding: 0.35rem 0;
}

body.nsu-admission-portal .nsu-portal-footer-main {
    padding: clamp(1.75rem, 4vw, 2.5rem) 0 2rem;
    background: linear-gradient(180deg, #0a0628 0%, #07051d 100%) !important;
    color: #fff;
    line-height: 1.65;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

body.nsu-admission-portal .nsu-portal-footer-main .list-group-item {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(248, 250, 252, 0.95);
}

body.nsu-admission-portal .nsu-portal-footer-main .list-group-item a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.15s ease, color 0.15s ease;
}

body.nsu-admission-portal .nsu-portal-footer-main .list-group-item a:hover {
    color: var(--portal-gold);
    border-bottom-color: rgba(232, 197, 71, 0.45);
}

body.nsu-admission-portal .nsu-portal-footer-main .list-group-item:first-child {
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.72rem;
    color: var(--portal-gold);
    border: none;
    padding-bottom: 0.35rem;
}

body.nsu-admission-portal .nsu-portal-footer-social {
    color: #fff !important;
}

body.nsu-admission-portal .nsu-portal-footer-social .list-group-item {
    border: none;
    padding: 0.35rem 0.5rem;
    margin: 0.25rem;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.06);
    transition: background 0.15s ease, transform 0.15s ease;
}

body.nsu-admission-portal .nsu-portal-footer-social .list-group-item:hover,
body.nsu-admission-portal .nsu-portal-footer-social a:hover .fa-stack {
    background: var(--portal-gold-soft);
    transform: translateY(-1px);
}

body.nsu-admission-portal .nsu-portal-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.5rem;
    margin: 0.25rem;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.06);
    transition: background 0.15s ease, transform 0.15s ease;
}

body.nsu-admission-portal .nsu-portal-footer-social a:hover {
    background: var(--portal-gold-soft);
    color: #fff;
}

body.nsu-admission-portal .nsu-portal-footer-main p {
    color: rgba(226, 232, 240, 0.9);
    margin-bottom: 0;
}

body.nsu-admission-portal .nsu-portal-footer-copyright {
    background: #050314;
    color: var(--portal-muted-on-dark);
    padding: 0.85rem 1rem 1rem;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

body.nsu-admission-portal .nsu-portal-footer-copyright__text {
    margin: 0;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
}

body.nsu-admission-portal .nsu-portal-footer-main a:focus-visible,
body.nsu-admission-portal .nsu-portal-footer-social a:focus-visible {
    outline: 2px solid var(--portal-gold);
    outline-offset: 3px;
}

body.nsu-admission-portal .nsu-portal-dropdown-about {
    min-width: 14rem;
}

body.nsu-admission-portal .nsu-portal-navbar .nav-link:focus-visible {
    outline: 2px solid var(--portal-gold);
    outline-offset: 2px;
}