/* REVWRITE BOOTSTRAP CORE START*/
.accordion-button:not(.collapsed) {
    background-color: var(--bs-teal-25) !important;
    color: var(--bs-primary) !important;
}
.accordion-button:not(.collapsed):after {
    background-image: var(--bs-accordion-btn-icon) !important;
}
.btn-teal:hover{
    background-color: var(--bs-teal-25) !important;
    color:var(--bs-primary) !important;
    border-color:var(--bs-teal-25) !important;
}
/* p{
    font-size: 1.125rem;
} */
.linkable-div{
    cursor: pointer;
}
a{
    color: #083973;
}
a:hover{
    color: var(--bs-primary);
}

.btn{
    font-size: 1.125rem !important;
}
.link-no-hover-underline:hover{
    text-decoration: none !important;
}

.responsive-text {
    font-size: calc(1rem + 1vw);
}

.search-home{
    position: absolute; width: 45px; height: 44px; border: none; top: 0px; right: 0px;
}

.top-nav-top{
    height: 45px; border-bottom:1px solid #242e5c;
    background-color: var(--bs-secondary);
}

.top-nav-bottom{
    height: 65px;
}

@media (max-width: 768px) {
    .responsive-text {
        font-size: 1.5rem; /* Maximum font size for smaller screens */
    }
}

@media (min-width: 768px) {
    .responsive-text {
        font-size: 2.5rem; /* Maximum font size for larger screens */
    }

.no-underline{
    --bs-link-underline-opacity: 0;
    -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
}
/* REVWRITE BOOTSTRAP CORE END*/


.banner_l_title{
    font-size: 3.8rem;
    font-weight: 400;
    line-height: 110%;
}
.banner_l_sub_title{
    font-weight:normal;
    font-size: 1.8rem;
    line-height: 115%;
}

.banner_m_title{
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 110%;
}
.banner_m_sub_title{
    font-weight:600;
    font-size: 1.5rem;
    line-height: 115%;
}


.banner_r_box{
    font-size: 1.4rem;
    line-height: 93%;
}

.banner_l_title_res{
    font-size: 3rem !important;
    font-weight: 400;
    line-height: 110%;
}
.banner_l_sub_title_res{
    font-weight:normal;
    font-size: 1.5rem !important;
    line-height: 115%;
}

.banner_r_box_res{
    font-size: 1rem;
    line-height: 90%;
}

.banner_m_box{
    width: 300px;
    height: 300px;
}
.banner_m_box_overflow_responsive{
    overflow: hidden !important;
}

.h2{
    color: var(--bs-primary) !important;
}
h2{
    color: var(--bs-primary) !important;
}
.btn{
    font-weight: bold;
    text-decoration: none !important;
    padding: 0.7rem !important;
}

.btn:hover{
    text-decoration: none !important;
}
.btn-outline-primary:hover{
    background-color: var(--bs-info-25) !important;
    color:var(--bs-primary) !important;
}
.icon::before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
  }

::-webkit-scrollbar {
    width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
    background: var(--bs-gray-100);
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--bs-primary-75);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--bs-primary);
}
/* .btn{ 
    border-radius: 0px !important;
} */
.mt-018{
    margin-top: 0.18rem !important;
}
.fs-7 {
    font-size: 0.95rem !important;
}

.fs-8 {
    font-size: 0.85rem !important;
}
.display-none{
    display: none;
}
.iconsP {

    /* width: 103px; */
    width: 25%;
    height: 103px;
    background-color: var(--bs-info);
    color: var(--bs-primary);
    text-decoration:none !important;
    margin-right: 3px;
    margin-bottom: 2px;

}
.iconsP8 {

    /* width: 103px; */
    width: 25%;
    height: 103px;
    background-color: var(--bs-info);
    color: var(--bs-primary);
    text-decoration:none !important;
    margin-right: 3px;
    margin-bottom: 2px;

}

.iconsPHidden {

    background-color: var(--bs-gray-100);;
    color: var(--bs-gray-100);
    width: 25%;
    height: 103px;
    text-decoration:none !important;
    margin-right: 3px;
    margin-bottom: 2px;

}

.iconsP:hover {

    background-color: var(--bs-info-25) !important;
    color: var(--bs-primary) !important;
    text-decoration:none !important;

}

.iconsP8:hover {

    background-color: var(--bs-teal-25) !important;
    color: var(--bs-primary) !important;
    text-decoration:none !important;

}


.text-gray-100{
    color: var(--bs-gray-100);
}
.bg-gray-100{
    background-color: var(--bs-gray-100);
}

.timetable-nav-link{
    color:var(--bs-primary);
    text-decoration: none !important;
}
.timetable-nav-link:hover{
    text-decoration: none !important;
    color:var(--bs-primary);
}
.timetable-nav-link.active{
    color:var(--bs-primary) !important;
    font-weight: 700;
}
.timetable-nav-link-main.active{
    color:var(--bs-white) !important;
    font-weight: 700;
}

.timetable-nav-link.timetable-tab.active:before{
    font: var(--fa-font-solid);
    content: "\f0d7";
    color: var(--bs-primary);
    position: absolute;
    bottom: -24px;
    left: 40%;
    font-size: 28px;
}

.timetable-nav-link.timetable-tab.active{
    border-bottom: 1px solid white;
    border-top: 1px solid white;
}
.timetable-nav-link.subtimetable.active{
    border-bottom-color: var(--bs-teal);
}
.table-teal {
    --bs-table-color: #000;
    --bs-table-bg: var(--bs-teal-25);
    --bs-table-border-color: var(--bs-teal-25);
    --bs-table-striped-bg: var(--bs-teal-50);
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #d4d9be;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #dadfc3;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}
.filter-round {
    display: inline-block;
    width: 10px;
    height: 10px;
}
.notices-nav{
    color:var(--bs-info);
    text-decoration: none !important;
}
.notices-nav:hover{
    text-decoration: none !important;
    color:var(--bs-primary);
}
.notices-nav.active{
    color:var(--bs-primary) !important;
    font-weight: 700;
}


.nav-underline {
    --bs-nav-underline-border-width: .18rem;
}

.timetable-content{
    max-height: 285px;
    overflow-y: auto;
}

.ann-counter {
    width: 60px !important;
    display: none;
    box-shadow: 0 1px 6px 1px var(--bs-gray-100);
}

.ann-counter-fixed {

    position: fixed;
    bottom: 30px;
    right: 25px;
}

.scrollspy {
    height: 238px;
    margin-top: 0.5rem;
    overflow-y: auto;
    overflow-x:hidden;
}

.scrollspy-exams {
    height: 360px;
    overflow-y: auto;
    overflow-x:hidden;
}
.hide_photo_box{
    width: 0px;
}

.show_photo_box{
    width: 145px;
}

.hide_photo_box_toggle{
    display: none !important;
}


#timetableRow-sub h3,
#timetableRow-sub p {
    display: inline;
    vertical-align: top;
}


.arrow-down::before {
    font: var(--fa-font-solid);
    content: "\f0d7";
    color: var(--bs-teal);
    position: absolute;
    bottom: -22px;
}

.search-control-default{
    position: absolute;
    margin-left: calc( (100% - 20px)*(-1/2) );
    top: 90px;
    width: calc(100% - 20px);
    left: 50%;
    max-width: 300px;
    z-index: 999;
}
.studentPhoto {
    border-radius: 145px;
    max-height: 145px !important;
}
.studentPhoto_full_w {
    width: 100%;
    height: 100%;
}

.studentPhoto_resize {
    width: 90%;
    max-width: 90%;
    max-height: 100vh;
    height: auto;
}
.userVoiceBtn {
    background-color: rgb(204, 109, 0);
    position: fixed;
    left: 0px;
    top: 50%;
    z-index: 1000;
}
#short-filter {
    display: none;
}
.navbar-nav-font-top .nav-link {
    font-size: 0.875rem !important; 
}

.navbar-nav-font-bottom .nav-link {
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    position: relative;
}

.navbar-nav-font-bottom .nav-link:hover,.navbar-nav-font-bottom .nav-link.show {
    background-color: var(--bs-info-50) !important;
    color: var(--bs-primary) !important;
    text-decoration: none !important;

}

.navbar-nav-font-bottom .nav-link.active, .navbar-nav-font-bottom .nav-link:focus {
    color: var(--bs-info);
    text-decoration: none !important;
}


.navbar-nav-font-bottom .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--bs-info);
}
.top-menu-font-size{
    position: relative;
}
.navbar-nav-font-top .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--bs-teal);
}
.dropdown-menu-uni{
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: var(--bs-secondary);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: var(--bs-info);
    --bs-dropdown-divider-bg: #242e5c;
    --bs-dropdown-link-hover-bg: #ffffff26;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #000f46;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd;
    border-radius: 0;
}


.dropdown-menu-uni::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--bs-info);
}

.title-desktop{
    position: absolute;
    top:66px;
    left: 120px;
}

.title-mobile{
    position: absolute;
    color: #fff;
    top:45px;
    left: 120px;
    display: none;
}
.mobile-nav-box{
    display: flex;
    flex-direction: column;
}
.dropdown-toggle::after {
  content: "\f078";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  border: none;
  margin-left: 0.5em;
  font-size: 0.7rem;
  transition: transform 0.3s ease;
}
.dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

@media all and (max-width: 1200px) {
    .userVoiceBtn{
        right: 0px;
        left: auto;
    }  
}
@media all and (max-width: 992px) {
    #long-filter,#long-filter-header {
        display: none;
    }
    #short-filter {
        display: block;
    }
.dropdown-menu-uni::before, .navbar-nav-font-bottom .nav-link.active::after,.title-desktop {
    display: none !important;
}
.navbar-nav-font-top .nav-link.active::after {
  display: none !important;
}
.title-mobile {
    display: block;
} 
.mobile-nav-box{
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

.top-nav-top{
    height:auto; 
    border-bottom:none;
    background-color: var(--bs-primary);
    padding-left: 1rem !important;
}

.top-nav-bottom{
    height:auto; border-bottom:none;
}
.offcanvas-body .navbar-nav-font-bottom .nav-item{
    width: 100% !important;
    border-bottom:1px solid #242e5c;
}

}
@media all and (max-width: 768px) {

}



/* Custom CSS to hide border */



@media (max-width: 576px) {
    .hide-border-sm {
        border: none !important;
    }
    .fs-sm-6{
        font-size: 1rem !important;
    }

    /* .timetable-nav-link.timetable-tab.active:before{
        font: var(--fa-font-solid);
        content: "\f0d7";
        color: var(--bs-primary);
        position: absolute;
        bottom: -27px;
        left: 40%;
        font-size: 2rem;
    } */

}
@media (min-width: 576px) and (max-width: 768px) {
    .hide-border-md {
        border: none !important;
    }

}
@media (min-width: 768px) and (max-width: 992px) {
    .hide-border-lg {
        border: none !important;
    }
    .banner_l_title{
        font-size: 2.7rem;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_l_sub_title{
        font-weight:normal;
        font-size: 1.2rem;
        line-height: 115%;
    }
    .banner_m_title{
        font-size: 2rem;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_sub_title{
        font-weight:600;
        font-size: 1rem;
        line-height: 115%;
    }
    .banner_m_box{
        width: auto;
        height: 300px;
    }
    .banner_m_box_overflow{
        overflow: hidden !important;
    }

}
@media (min-width: 992px) and (max-width: 1200px) {
    .hide-border-xl {
        border: none !important;
    }

    .banner_l_title{
        font-size: 3rem;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_l_sub_title{
        font-weight:normal;
        font-size: 1.5rem;
        line-height: 115%;
    }
    .banner_m_title{
        font-size: 2.2rem;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_sub_title{
        font-weight:600;
        font-size: 1.2rem;
        line-height: 115%;
    }
    .banner_m_box_with_text{
        width: 400px;
        height: 300px;
    }

}
@media (min-width: 1200px) {
    .hide-border-xxl {
        border: none !important;
    }
}
@media (min-width: 1400px) {

}

@media (min-width: 450px) and (max-width: 576px) {
    .banner_m_title,.banner_l_title_res{
        font-size: 1.8rem !important;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_sub_title{
        font-weight:600;
        font-size: 0.8rem;
        line-height: 115%;
    }
}
@media (min-width: 350px) and (max-width: 450px) {
    .banner_l_title_res{
        font-size: 1.8rem !important;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_title{
        font-size: 1.2rem !important;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_sub_title{
        font-weight:600;
        font-size: 1rem;
        line-height: 115%;
    }
}

@media (min-width: 200px) and (max-width: 350px) {
    .banner_l_title_res{
        font-size: 1.8rem !important;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_title{
        font-size: 1.2rem !important;
        font-weight: 400;
        line-height: 110%;
    }
    .banner_m_sub_title{
        font-weight:600;
        font-size: 1rem;
        line-height: 115%;
    }
}