@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
.ns-container{
    display:flex;
    background-color:#EEF9FA;
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Shadow effect */
}

.ns-container-tabs{
    background-color:#EEF9FA;
    font-size: 16px;
    text-align:justify;
    padding:10px;
}

/*
.ns-container-tabs li{
    padding-left: 28px;
    text-indent: -28px
}
*/

.ns-margin-bottom{
    margin-bottom: 8px;
}

/* Apply the style globally */
body, p, h1, h2, h3, h4, h5, h6, div, span, a, li, ul, ol, table, th, td {
  font-family: 'Roboto', sans-serif !important;
}


.ns-para{
    text-align:justify;
    font-family: 'Roboto','Gotham', sans-serif!important;
    line-height: 1.3 !important;
    margin:0;
    font-size:16px;
}

.ns-para-standout{
    margin:0 0 5px;
    font-size: 24px;
    line-height: 1.3 !important;
    color: #0864AF;
}

.ns-para-center{
    text-align:center;
    font-family: 'Roboto','Gotham', sans-serif!important;
    line-height: 1.3 !important;
    margin:0;
    font-size:18px;
}

.ns-heading-center{
    text-align:center;
    font-family: 'Roboto','Gotham', sans-serif!important;
    line-height: 1.3 !important;
    margin-bottom:0.7em;
    font-size:24px;
    color:#ff0000;
    text-transform: none;
    animation: blink 1s infinite;
}

.ns-h2 {
    margin:0 0 30px 0;
    position: relative;
    font-size: 28px;
    cursor: pointer;
    transition: color 0.3s ease; /* Smooth color transition */
}

.ns-h2::before {
    content: '';
    position: absolute;
    bottom: -2px; /* Adjust this value as needed */
    left: 0;
    width: 100%; /* Line width */
    height: 2px; /* Line height */
    background-color: #000; /* Line color */
    transform: scaleX(0.3); /* Initially scale the line to 0 */
    transform-origin: left; /* Scale from the left */
    transition: transform 0.3s ease; /* Smooth transform transition */
}

.ns-h2:hover::before {
    transform: scaleX(1); /* Scale the line to full width on hover */
}


.ns-h3 {
    margin:5px;
    position: relative;
    font-size: 24px;
    cursor: pointer;
    transition: color 0.3s ease; /* Smooth color transition */
    text-transform: none;
}

.ns-h3::before {
    content: '';
    position: absolute;
    bottom: -2px; /* Adjust this value as needed */
    left: 0;
    width: 100%; /* Line width */
    height: 2px; /* Line height */
    background-color: #000; /* Line color */
    transform: scaleX(0.3); /* Initially scale the line to 0 */
    transform-origin: left; /* Scale from the left */
    transition: transform 0.3s ease; /* Smooth transform transition */
    margin:5px 0;
}

.ns-h3:hover::before {
    transform: scaleX(1); /* Scale the line to full width on hover */
}

.ns-h4{
    text-transform:none;
    font-size:16px;
    color:#0864af;
}

.ns-margin{
    box-sizing:border-box;
    margin: 6px;
    text-align:justify;
    font-family: 'Roboto','Gotham', sans-serif!important;
    line-height: 1.3 !important;
}


.ns-counter{
    margin: 10px;
    padding: 10px;
    border: 5px solid #ffffff;
}

.ns-extend-width{
    color:red;
}

.ns-news {
    background-color: #f2f2f2;
}

.ns-events {
    padding-top:1px;
    background-color: #f2f2f2;
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

.ns-grid-column .post-title a{
      display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  
  /*animation: blink 5s infinite;*/
}

.ns-grid-column .post-title a:hover{
    color: #0864af;
    font-size: 18px;
}

.ns-grid-column .post-block{
    background-color: #ffffff;
    border-radius: 10px;
    padding: 10px;
    max-height: 320;
    overflow: hidden;
    margin: 10px 5px;
    
          display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  /*text-overflow: ellipsis; shows three dots*/
  text-overflow:clip;
}

.ns-grid-column .post-block img{
    max-width: 100%;
    max-height: 100%;
    object-fit: scale-down; /* Ensures the image retains its aspect ratio and fits within the parent */
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-botton: 5px;
}

.ns-news .item-list{
    width: 40%; /* Adjust as needed to fit within the parent div with desired spacing */
    margin-bottom: 10px; /* Optional: Adds space between rows */
    max-height: 50px;
}

.ns-events .item-columns{
    background-color: #ffffff;
    margin: 10px;
    padding:10px;
    border-radius: 10px;
}

.ns-events .field-content{

    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;

}

/** SPECIFIC TAGS FOR THE HORIZONTAL NEWS TILES **/
.ns-news-v3 .owl-carousel .item div{
    box-sizing: border-box;
    background-color:#f2f2f2;
    font-size:16px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

.ns-news-v3 .owl-carousel .item div .views-field.views-field-field-image{

}

.ns-news-v3 .owl-carousel .item div .views-field.views-field-title{
    border-radius: none; /* Rounded corners */
    min-height:150px;
    text-align: justify;
    padding:4px;
}

.ns-news-v3 .owl-carousel .item div span{
    padding:4px;
}

.ns-box-info{
    padding:0 20px;
}

.ns-box-info .image img{
    object-fit:contain;
    max-height:300px;
}


/*SPECIFIC TAGS FOR STAFF PROFILE*/
.ns-staff-profile-img{
    width:200px;
    height: auto; /* Set desired height */
    object-fit:contain;

}

.ns-container-resizer{
    margin:5px 0;
    padding:-30;
    box-sizing:border-box;
    border-radius: 12px;
}



.ns-container-resizer-maxheight{
    margin-bottom:5px;
    padding:-30;
    min-height:300px;
    max-height:300px;
    box-sizing:border-box;
}

.ns-content-img{
    margin-bottom:5px;
    padding:-30;
    min-height:300px;
    overflow:hidden;
    box-sizing:border-box; 
}

.ns-content-img > img{
    object-fit: contain; 
}

.ns-heading{
    font-size:32px;
    color:#0864af;
}

.ns-heading-resizer{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.ns-heading-resizer-maxheight{
    margin:0;
    padding:0;
    max-height:240px;
    box-sizing:border-box;
}

.ns-slider-button{
    background-color:yellow;
}

.ns-block-bg{
    margin-top: 20px;
    padding: 20px;
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Shadow effect */
    font-size: 14px;
}

.ns-block-bg a:hover{
    color: #f00;
    border: 0.5px solid #333333;
    padding: 4px;
}

.ns-block-bg2{
    padding-top:15px;
    margin-right:1%;
    border-radius: 5px; /* Rounded corners */
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), -5px -5px 10px rgba(255, 255, 255, 0.5);
    max-width:32%;
    font-size: 14px;
    box-sizing: border-box;
    color: #ffffff;
}


.ns-block-bg3{
    margin-top: 20px;
    padding: 5px 20px;
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Shadow effect */
    font-size: 14px;
}

.ns-taxonomy-filter .btn-filter{
    /*primarily written to hide alumni events taxonomy filter*/
    display:none;
    margin:0;
    padding:0;
}

.ns-contacts h2 {
  font-size: 18px;
  margin-bottom: 10px;
  color: #333;
  text-align: center;
}

.ns-contacts ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ns-contacts li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 14px;
  color: #555;
}

.ns-contacts li i {
  color: #007bff; /* Icon color */
  margin-right: 10px; /* Space between icon and text */
}

.ns-contacts li:last-child {
  margin-bottom: 0;
}

.ns-contacts .panel-title{
    margin:0px;
    padding:0;
}

.ns-contacts .panel-body{
    line-height:1.3;
    font-size:14px;
    text-align:justify;
    padding:10px;
    margin:0;
    background-color:#f2f2f2;
}

.ns-contacts .ns-margin{
margin-bottom:20px;
clear:both;
}

.ns-orderedlist li{
    font-size:14px;
}

/*SPECIFIC CSS for making two divs within a container to always have equal height*/
.ns-container-flex {
    display: flex;
}

.ns-left, .ns-right {
    flex: 1;  /*Make both divs take up equal width */
    padding: 20px; /* For demonstration */
    box-sizing: border-box; /* Include padding in the element's total width and height */
}

.ns-left {
    background-color: lightblue;
}

.ns-right {
    background-color: lightcoral;
}


/** Paralax box styling starts here**/

.ns-paralax-box{
    background-color:#f6b418;
}

.ns-paralax-box div{
    background-color:#f6b418;
}

.ns-paralax-box > .col-second .skrollable .skrollable-between{
    background-color:#f6b418;
}

.ns-paralax-box .col-second{
    background-color:#0864AF;
}

.ns-paralax-box .desc, .ns-paralax-box .ns-h2{
    background-color:#0864AF;
    color:#ffffff;
}

.ns-paralax-box .ns-h2::before{
    background-color:#ffffff;
}

/** Paralax box styling ends here**/

/** data table overriding css starts here **/
.ns-datatable .dataTables_filter {
    width:50%;

}

.ns-datatable .dataTables_filter label  input[type="text"]{
    border: 2px solid #ddd;
    background-color:#f2f2f2;
}

.ns-datatable .dataTables_filter label  input[type="text"]:hover{
    border: 4px solid #0860af;
}

/** HIDDEN PAGE LINKS ON EVERYPAGE **/
.field--label-visually_hidden{
    display:none;
}


/** CSS FOR BUTTONS**/
.ns-button-container {
    margin-top:10px;
    display: flex;
    justify-content: center; /* centers the buttons horizontally */
    gap: 10px; /* adds space between the buttons */
    padding: 10px; /* optional: adds padding around the buttons */
}

.ns-btn {
     flex: 1; 
    padding: 10px 10px;
    font-size: 16px;
    cursor: pointer;
    border: none;
    background-color: #0864af;/*#007bff*;*/
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s;
    min-height:50px;
}

.ns-btn:hover {
    background-color: #38574D; /*#0056b3;*/
}

.ns-btn-right{
    flex: 1; 
    padding: 10px 10px;
    font-size: 16px;
    cursor: pointer;
    border: none;
    background-color: #38574D;
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s;
    min-height:50px;
}

.ns-btn-right:hover {
    background-color: #0056b3;
}

.blockquote {
    padding: 5px;
    margin: 20px 0;
    border-left: 5px solid #ccc;
    background-color: #f9f9f9;
    font-style: italic;
    color: #555;
}

.blockquote p {
    margin: 0;
}

.blockquote::before {
    content: open-quote;
    font-size: 2em;
    line-height: 0.1em;
    margin-right: 10px;
    vertical-align: -0.4em;
    color: #ccc;
}

.blockquote::after {
    content: close-quote;
    font-size: 2em;
    line-height: 0.1em;
    margin-left: 10px;
    vertical-align: -0.4em;
    color: #ccc;
}


/*** ACCORDION FORMATING ***/
.ns-accordion .title span{
    text-transform:none;
}

.ns-accordion .button-action span{
    text-transform:none;
}

/*** TOPPANEL FORMATING ***/
.ns-topbarmenu{
    margin:0;
    float:right !important;
}
.ns-topbarmenu li a{
    font-size:1.5em;
    padding:4px;
    /**background-color:#E8E8E8;**/
    color: #f2f2f2;
}

ul.inline .pull-right.ns-topbarmenu{
    margin:0;
}

/****** BANNER STYLINGS ******/
.ns-udsmlogo{
    float:left;
}

.ns-udsm-logo {
    width: 8.33333333%; /* Equivalent to col-lg-1 */
    background-color:f2f2f2;
}

/* Custom class for div two */
.ns-header-left {
    width: 91.66666667%; /* Equivalent to col-lg-11 */
    background-color:f5f5f5;
}

/* Custom class for div three (effectively hidden) */
.ns-header-right {
    display: none;
}



/*** BANNER MENU STYLING ***/
/* Container styling */
.ns-banner-menu {
    list-style: none; /* Remove bullet points */
    padding: 0;
    margin-left: 70px;
    display: flex; /* Display items inline */
    justify-content: center; /* Center the menu horizontally */
    /**background-color: #333; /* Set background color for banner ***/
    padding: 10px 0; /* Add some padding to the banner */
}

/* Individual list item styling */
.ns-banner-menu li {
    margin: 0 15px; /* Spacing between the menu items */
}

/* Anchor link styling */
.ns-banner-menu li a {
    color: white; /* Text color */
    background-color: #000032;
    text-decoration: none; /* Remove underline */
    font-size: 16px; /* Font size */
    font-family: Arial, sans-serif; /* Set font family */
    padding: 10px; /* Padding inside the links */
    display: flex; /* Align icon and text horizontally */
    align-items: center; /* Vertically align icon with text */
    transition: background-color 0.3s ease; /* Smooth hover effect */
}

/* Icon styling */
.ns-banner-menu li a i {
    margin-right: 8px; /* Add space between icon and text */
    font-size: 18px; /* Icon size */
}

/* Hover effect */
.ns-banner-menu li a:hover {
    background-color: #555; /* Change background color on hover */
    border-radius: 5px; /* Round the corners on hover */
}


/*** MOVING TEXT MARQUEE FROM LEFT TO RIGHT***/
 .ns-marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.ns-marquee span {
    display: inline-block;
    padding-left: 100%; /* start the text off-screen */
    animation: marquee 90s linear infinite;
}

@keyframes marquee {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}


/*** splashing link effect ***/
/* Styling the container */
.ns-splash-link-container {
    text-align: center;
    /*margin: 50px 0;*/
    margin:0 0 10px 0;
}

/* Styling the link */
.ns-splash-link {
    font-size: 24px;
    font-weight: bold;
    padding: 15px 25px;
    color: #fff;
    background-color: #007bff;
    border-radius: 10px;
    text-decoration: none;
    display: inline-block;
    position: relative;
    animation: pulse 6s infinite;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

/* Hover effect */
.ns-splash-link:hover {
    background-color: #0056b3;
    box-shadow: 0 0 25px rgba(0, 123, 255, 0.8);
}

/* Pulse animation */
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 15px rgba(0, 123, 255, 0.3);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 0 25px rgba(0, 123, 255, 0.6);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 15px rgba(0, 123, 255, 0.3);
    }
}

/* Optional glowing effect */
.ns-splash-link:after {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background: rgba(0, 123, 255, 0.2);
    border-radius: 10px;
    opacity: 0;
    transition: opacity 0.3s;
}

.ns-splash-link:hover:after {
    opacity: 1;
}


.ns-gradu{
    padding:4px;
    min-height:200px;
}

.ns-gradu .title{
    margin:4px;
}

.ns-gradu .button-action{
    text-align: center;
    margin-left: 4px;
    margin-bottom:4px;
}