main {
    /* padding-top: 4.167vw; */
}


/* header section css start */
.no-scroll {
    overflow: hidden;
}
.container-fluid {
    padding: 0 !important;
}

.header_main {
    width: 100%;
    background: var(--theme-white-color);
    flex-wrap: wrap;
    /* padding: 1.083vw 0px; */
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    position: sticky;
    top: 0;
    z-index: 9;
}
.header_row{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    position: relative;
    position: sticky;
    z-index: 99999;
    column-gap: 4.233vw;
    justify-content: space-between;
}

.home_fixed {
    position: fixed;
    top: 0;
    height: fit-content;
    z-index: 9999;
}

.header_logo {
    display: flex;
    gap: 0px 20px;
    width: 13%;
    flex: 0 0 auto;
    align-items: center;
}

.header_logo .logo_medgenome {
    width: 70%;
}

.header_logo .logo_cap {
    width: 30%;
}

.header_logo img {
    width: 100%;
}

.menu_part ul li.contact_menu a span {
    display: block;
}

.menu_toggle {
    display: none;
}

.logo {
    width: 8.75vw;
}

.logo img {
    width: 100%;
}

.menu_part {
    height: 100%;
    width: 100%;
}

.menu_part > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 1.98333vw;
    align-items: center;
    padding: 0;
    height: auto;
    flex-direction: row;
    height: 100%;
    margin: 0;
    justify-content: center;
}

.header_logo a {
    display: inline-block;
}

.menu_part > ul > li.menu_dropdown {
    display: flex;
    flex-direction: inherit;
    column-gap: 8px;
    align-items: center;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    -o-transition: 0.5s;
}

.menu_part > ul > li {
    position: static;
    height: auto;
    display: flex;
    gap: 0.125rem;
    flex-direction: column;
    padding: 1.143vw 0;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    -o-transition: 0.5s;
    position: relative;
}

.menu_part > ul > li:hover a{
    color: var(--theme-heading-color);
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    -o-transition: 0.5s;
}

.menu_part > ul > li a{
    position: relative;
}

.menu_part > ul > li a::before{
    content: "";
    width: 100%;
    height: 3px;
    border-radius: 10px;
    background: var(--theme-medium-purple-color);
    position: absolute;
    left: 0;
    bottom: -1.094vw;
    display: none;
}

.menu_part > ul > li:hover a::before{
    display: block;
}

.drop_down_inner ul {
    padding-left: 0;
    height: 100%;
}

.drop_down_inner li a::before{
    display: none !important;
}

.menu_part > ul > li > a {
    text-decoration: none;
    height: auto;
    display: flex;
    align-items: center;
     position: relative;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    -o-transition: 0.5s;
    color: var(--theme-heading-color);
    text-align: center;
    font-family: var(--theme-cal-sans-font);
    font-size: 1.046vw;
    font-style: normal;
    position: relative;
    

}

.menu_part > ul > li > a::after {
    content: "";
    width: 70%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 2.604vw;
    display: none;
}
.menu_part > ul > li {
    /*   border-bottom: 0.20833vw solid transparent;  Initially transparent */
    position: relative;
   }
   
   .menu_part > ul > li:hover::before {
      /*  border-bottom: 0.20833vw solid var(--theme-sub-heading-color); On hover, change color */
       content: "";
       position: absolute;
       bottom: 10px;
       left: 0px;
       right: 0px;
       width: 86%;
       height: 4px;
       background: var(--theme-sub-heading-color);
   }
.drop_down ul li {
    padding: 0;
}

.menu_part > ul > li.search_header > a::after {
    display: none !important;
}

.search_header-mobile {
    display: none;
}

.menu_part ul li .drop_down li a::after {
    display: none !important;
}

.menu_part ul li a:focus {
    outline: none;
}

.menu_arrow {
    position: relative;
    background: none;
    border: none;
    outline: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    line-height: 0;
}

.menu_arrow::before {
    content: "";
    border: solid var(--theme-medium-blue);
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 0.233vw;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.menu_part ul li.contact_menu a {
    padding: 0.521vw 1.563vw;
    background: var(--theme-dark-blue);
    border-radius: 10px;
    color: var(--theme-white-color);
    text-align: center;
    display: inline !important;
}

.menu_part ul li.contact_menu a {
    font-size: 0.938vw;
}

.global-dropdown-box:hover .global-dropdown ul li {
    height: auto;
}
.global-dropdown-box:hover .global-dropdown ul li a:hover {
    color: var(--theme-sub-heading-color);
}
.right_menu_search {
    display: flex;
    align-items: center;
    column-gap: 1.563vw;
    width: 22%;
    justify-content: flex-end;
}

.right_menu_search .bg_button{
    font-size: 0.938vw;
}

.right_menu_search .search_box ul {
    padding: 0;
    margin: 0;
}

.right_menu_search .search_box ul li{
    padding: 0;
    height: 4.16667vw;
    display: flex;
    align-items: center;
}


.right_menu_search .search_box ul li button {
    display: inline-block;
    width: 2.344vw;
    background: transparent;
    position: relative;
}

.right_menu_search .search_box ul li button svg{
    width: 100%;
}

.right_menu_search .menu_btn{
    display: inline-block;
}

.right_menu_search .search_box ul li button img {
    width: 100%;
}

.drop_down {
    display: block;
    position: absolute;
    top: 100%;
    left: -90%;
    right: 0;
    width: fit-content;
    padding-bottom: 0px;
    min-width: auto;
    height: auto;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
    pointer-events: none;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--theme-grey-bg);
    transition: all 0.3s ease-out 0s;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transform: translateY(-2px);
    background: var(--theme-white-color);
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
}

.drop_down {
    border-radius: 20px;
    background: linear-gradient(180deg, #FFF 0%, #F4F7FB 39%, #DEDAF8 100%);
    box-shadow: 4px 4px 25px 0px rgba(0, 0, 0, 0.15);
   
}

.menu_part ul li.menu_dropdown:hover .drop_down {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
}

.drop_down span {
    display: block;
    width: 100%;
    height: 2.5rem;
    background: transparent;
}

.drop_down_inner {
    /* width: 15.104vw;
    background: #554099; */
    position: relative; /* containing block for .role_submenu (3rd-level
        flyout) below, so it aligns to the TOP of the whole panel instead
        of the top of whichever row triggers it ("By Role" specifically,
        which sits near the bottom of the Solutions list). */
    border-radius: 22px;
border: 1px solid #DFDFDF;
background: var(--theme-white-color);
font-weight : 500;
    overflow: hidden; /* clips the hover/active highlight on the first/last
        row so it doesn't poke a square corner past the panel's own rounded
        corners. */
}

/* .menu_role_group's flyout is position:fixed on desktop and needs to
   escape this panel's bounds -- overflow:hidden above would clip it, so
   it's freed here, scoped to only the Solutions-style panel that has one. */
.drop_down_inner:has(.menu_role_group) {
    overflow: visible;
}

@media (min-width: 992px) {
    /* The flyout sits flush against this panel's right edge, top-aligned
       (JS in custom-script.js). Rounded corners at that seam curve away
       from each other and leave a notch of page background between the two
       boxes, so the mating corners are squared -- panel + flyout then read
       as one continuous shape. The exposed corners (panel's left side,
       flyout's top-right/bottom) stay rounded. */
    .drop_down_inner:has(.menu_role_group) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    /* Without overflow:hidden, this panel can't clip the square-cornered
       blue hover highlight on its first/last row the way the other
       dropdowns do -- it poked past the panel's 22px curve. Round the
       highlight's exposed LEFT corners to hug that curve (21px = the 22px
       outer radius minus the 1px border). The right side stays square:
       it runs straight into the seam with the flyout. */
    .drop_down_inner:has(.menu_role_group) > ul > li:first-child {
        border-top-left-radius: 21px;
    }
    .drop_down_inner:has(.menu_role_group) > ul > li:last-child {
        border-bottom-left-radius: 21px;
    }
}

.drop_down.firstblock {
    display: block;
}

.drop_down ul {
    flex-wrap: wrap;
    gap: 0;
    width: 18.5vw;
    max-width: 100%;
}

.drop_down ul li {
    width: 100%;
}

.drop_down ul li {
    /* border: solid 1px #A2DEFA; */
   /*  border-bottom: 1px solid rgb(18,18,18,0.15); */
    /* border-right: 1px solid #ffffff2b; */
}

.drop_down ul li:last-child {
    border: none;
}

.drop_down ul li a {
    /* padding: 0;
    font-size: 1.146vw;
    color: #ffffff;
    padding: 0.083vw 0.604vw;
    text-decoration: none;
    flex: 0 0 auto;
    width: 76%;
    height: 100%;
    align-items: center;
    display: flex; */
    font-weight: 100 !important;
    color: var(--theme-common-content-color);

 
font-size: 1.04167vw;
font-style: normal;
font-weight: inherit !important;
line-height: normal;
}

 


 


.drop_down ul li ul li a{
   color: var(--theme-dark-blue-color);
   /* width: 100%; */
}

.drop_down_inner ul li ul li:hover .menu_data_main{
    opacity: 1;
    visibility: visible;
}

.menu_data_main {
    width: 100%;
    padding-left: 2.604vw;
    position: absolute;
    left: 100%;
    flex-wrap: inherit;
    flex-direction: column;
    z-index: 99;
    background: transparent;
    padding-top: 1.563vw;
    top: 0;
    opacity: 0;
    visibility: hidden;
    height: 100%;
}

.menu_image {
    width: 100%;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 4px 4px 25px 0px rgba(0, 0, 0, 0.15);
    padding: 7px;
}

.menu_image img {
    width: 100%;
    min-width: 100%;
    border-radius: 20px;
}

.menu_data_cnt p{
 color: var(--theme-gray-dark-color);
}


/* .menu_part > ul > li.menu_dropdown {
    max-height: 270px;
}    */


.drop_down_inner ul li:hover ul{
    visibility: visible;
    opacity: 1;
}

.drop_down_inner ul li:hover ul ul{
    visibility: hidden;
    opacity: 0;
}

/* (hover: hover) ALONE didn't actually exclude the mobile view being
   tested -- on a tap, :hover has no corresponding "leave" event, so the
   highlight sticks (the stuck blue across "By Role" and its whole expanded
   block). Some browsers/emulation modes still report hover:hover as true
   even in a touch/mobile context, so this is now ALSO gated on the same
   min-width:992px breakpoint the "By Role" flyout itself uses -- below
   that width this NEVER applies, regardless of what the browser claims
   about hover support. */
@media (hover: hover) and (min-width: 992px) {
    .drop_down_inner ul li:hover {
        background: #e7f2ff;
    }
}

.drop_down_inner ul li .menu_arrow {
    left: 0;
    width: 4.344vw;
    height: 100%;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}

.drop_down_inner ul li .menu_arrow::before {
    transform: rotate(315deg);
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    -ms-transform: rotate(315deg);
    -o-transform: rotate(315deg);
    /* Scoped to submenu rows only ("By Products" / "By Function") --
       .menu_arrow::before's own border-color relies on the undefined
       --theme-medium-blue var, which resolves via currentColor and drifts
       across environments/pages. Setting it explicitly here, scoped to
       .drop_down_inner (never matches the top-level nav's own arrows,
       which sit directly under li.menu_dropdown, not inside
       .drop_down_inner), keeps this row's arrow consistently navy without
       touching the main menu chevrons. */
    border-color: #1c305d;
}

.menu_part ul li.search_header button {
    padding: 0;
    cursor: pointer;
    width: 1.719vw;
}




.menu_data_cnt {
    width: 100%;
    padding: 20px;
    display: block;
}




.drop_down_inner ul li {
    position: static;
     display: flex;
    flex-direction: row;
    align-items: center;
   
    justify-content: space-between;
}

.drop_down_inner ul li ul {
    position: absolute;
    left: 100%;
    flex-wrap: inherit;
    flex-direction: column;
    z-index: 99;
    background: transparent;
    top: 0;
    opacity: 0;
    visibility: hidden;
}

.drop_down_inner ul li ul.firstblock {
    opacity: 1;
    visibility: visible;
}


.drop_down ul li button::before {
    border: solid var(--theme-heading-color);
    border-width: 0 3px 3px 0;
}


.drop_down ul li ul li button::before {
    border: solid var(--theme-heading-color);
    border-width: 0 3px 3px 0;
}

.drop_down_inner ul li ul li {
    border-bottom: 1px solid #1c305d29;
}

.right_menu {
    display: flex;
    align-items: center;
    column-gap: 25px;
    width: 55%;
}


.search_box ul {
    display: flex;
    gap: 0px 10px;
    list-style: none;
    align-items: center;
}


.search_box ul .country ul {
    display: flex;
    flex-direction: column;
    gap: 5px 0px;
}

.search_box ul .country ul li img {
    width: 100%;
}

.search_header button {
    background: transparent;
    border: none;
    width: 1.302vw;
    height: 2.604vw;
}

.search_header button img {
    width: 100%;
}

.search_box ul li {
    padding-top: 0px;
    padding-bottom: 0;
}

/* .drop_down ul li.active ul li a */

.mobile_menu_toggle{
    display: none;
}

/* header */


.slick-dots li button:before{
    display: none;
}

.slick-dots li button {
    background: var(--theme-sky-blue-color);
    border-radius: 50%;
    opacity: 0.25;
    padding: 0px;
    width: 0.78125vw;
    height: 0.78125vw;
}

.slick-dots li.slick-active button{
    opacity: 1;
}

.search-form-main {
    position: absolute;
    left: 0;
    right: 0px;
    border: 1px solid #DFDFDF;
    background: var(--theme-white-color);
    box-shadow: 0px 3.33333vw 10.10417vw 0px rgba(0, 0, 0, 0.10);
    top: 82%;
    width: 78%;
    margin: 0 auto;
    padding: 2.08333vw 2.70833vw;
    display: none;
    border-radius: 1.14583vw;
    -webkit-border-radius: 1.14583vw;
    -moz-border-radius: 1.14583vw;
    -ms-border-radius: 1.14583vw;
    -o-border-radius: 1.14583vw;
}
.search-form-main input {
    width: 100%;
    outline: none;
    border: none;
    border-radius: 10px;
    border: 1px solid rgba(18, 18, 18, 0.30);
    background: var(--theme-white-color);
    font-size: 1.042vw;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.6px;
    padding-left: 2.24vw;
    height: 3.64583vw;
}
.search-form-main h3 {
    text-align: left;
    color: #121212;
    font-size: 1.25vw;
    font-style: normal;
    letter-spacing: -0.48px;
    margin-bottom: 0.625vw;
}
.search-form-main .search-form-bootom span {
    background: #BCBDC0;
    color: #1C305D;
    font-size: 0.938vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 0.833vw 1.458vw;
    border-radius: 1.5625vw;
    -webkit-border-radius: 1.5625vw;
    -moz-border-radius: 1.5625vw;
    -ms-border-radius: 1.5625vw;
    -o-border-radius: 1.5625vw;
}
.search-form-bootom {
    display: inline-block;
    margin-top: 0.78125vw;
}
.search-form-main.active-search {
    display: block;
    z-index: 999999;
}
.search-form-main::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: transparent;
    width: 100%;
    height: 30%;
}
.search-form-main .search-cross {
    position: absolute;
    top: 1.04167vw;
    right: 0px;
    cursor: pointer;
    width: 3.604vw;
    height: 3.604vw;
}
.search-form-main .search-cross button {
    background: transparent;
}
.search-form-main .search-cross svg {
    width: 100%;
    height: auto;
}

.global-dropdown {
    position: absolute;
    top: 3.28125vw;
    transform: translate(-2.60417vw, 0.52083vw);
    left: 0;
    padding: 0.52083vw 1.35417vw;
    max-width: 9.63542vw;
    width: 9.63542vw;
    border: 1px solid #DFDFDF;
    background: #FFF;
    box-shadow: 0px 3.33333vw 10.10417vw 0px rgba(0, 0, 0, 0.10);
    z-index: 999;
    display: none;
    border-radius: 1.14583vw;
    -webkit-border-radius: 1.14583vw;
    -moz-border-radius: 1.14583vw;
    -ms-border-radius: 1.14583vw;
    -o-border-radius: 1.14583vw;
    -webkit-transform: translate(-2.60417vw, 10px);
    -moz-transform: translate(-2.60417vw, 10px);
    -ms-transform: translate(-2.60417vw, 10px);
    -o-transform: translate(-2.60417vw, 10px);
}

@media screen and (min-width: 1200px) {

.global-dropdown-box:hover .global-dropdown {
    display: block;
}

}


.global-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.global-dropdown li, .global-dropdown li a {
    cursor: pointer;
    color: var(--theme-heading-color);
    font-family: var(--theme-cal-sans-font);
    font-size: 1.04167vw;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
.global-dropdown li {
    padding: 0.41667vw 0;
    cursor: pointer;
    position: relative;
    padding-bottom: 0.9375vw !important;
    padding-top: 0.9375vw !important;
}
/* .global-dropdown li::before{
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background: #e4e4e4;
    left: 0px;
    right: 0px;
    bottom: 0px;
} */
/* .global-dropdown li::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background: #e4e4e4;
    left: 0px;
    right: 0px;
    bottom: 0px;
    border-bottom: solid 1px var(--theme-common-content-color);
} */
.global-dropdown li {
    padding: 0.41667vw 0.625vw;
    cursor: pointer;
    position: relative;
    padding-bottom: 0.9375vw !important;
    padding-top: 0.9375vw !important;
    position: relative;
    border-bottom: solid 1.5px #e4e4e4;
    width: 100%;
}
.global-dropdown li:last-child{
    border-bottom: none;
}
.global-dropdown li:last-child:before{
    display: none;
}
.global-dropdown li:last-child{
    padding-bottom: 0px;
}

.header_main .menu_dropdown.active > a {
    color: var(--theme-sub-heading-color);
    position: relative;
}
.header_main .menu_dropdown.active::before {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0px;
    right: 0px;
    width: 86%;
    height: 4px;
    background: var(--theme-sub-heading-color);
}

/* Header section css end */

/* Footer section css start */
.footer {
    /* padding-bottom: 2.083vw; */
    width: 100%;
    position: relative;
}
footer .footer_bg {
    padding: 3.4375vw 0 0;
    background-size: cover !important;
    font-size: 0.78125vw;
    color: #fff;
    text-align: center;
    border-radius: 0.78125vw;
    -webkit-border-radius: 0.78125vw;
    -moz-border-radius: 0.78125vw;
    -ms-border-radius: 0.78125vw;
    -o-border-radius: 0.78125vw;
}
 
.footer_middle .col-sm-5 {
    flex: 0 0 auto;
    width: 18.229vw;
}
.footer_middle .col-12.col-sm-7{
    width: 52.083vw;
}
.footer_nav_wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    column-gap: 9.115vw;
}
.footer_middle {
    padding-left: 5.052vw;
    padding-right: 5.052vw;
    padding-bottom: 2.083vw;
    gap: 11.042vw;
    align-items: end;
}
.footer_bottom{
    padding-left: 5.208vw;
    padding-right: 5.208vw;
    padding-bottom: 43px;
    padding-top: 1.71875vw;
}
.footer_heading {
    font-size: 0.938vw;
    margin-bottom: 1.458vw;
    text-align: left;
}
.footer_links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer_links ul li {
    margin-bottom: 1.14583vw;
    width: max-content;
}
.footer_links ul li:last-child{
    margin-bottom: inherit;
}
.footer_middle .footer_info .fs-20 {
    font-weight: 700;
    margin-bottom: 0.52083vw;
    font-family: var(--theme-roboto-font);
}
.footer_middle .footer_info .fs-20 a {
	color: #fff;
}
.footer_links a {
    display: inline-block;
    color: #FAF9F6;
 
font-size: 0.885vw;
font-style: normal;
font-weight: 400;
font-family: var(--theme-roboto-font);
}
.footer_social ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    width: 100%;
    column-gap: 0.78125vw;
}
.footer_social ul li {
    display: inline-block;
    width: 1.30208vw;
}
.footer_social ul li a {
    display: block;
}
.img-fluid {
    max-width: 100%;
    height: auto;
}
.footer_contact{
    text-align: left;
}
.footer_logo {
    text-align: left;
}
.footer_tagline {
    margin-top: 1.35417vw;
}
.footer_social {
    margin-top: 1.5625vw;
}
.footer_info{
    margin-top: 2.39583vw;
}
.footer_tagline p {
    color: #FAF9F6;
     font-size: 1.042vw;
    font-style: normal;
    font-weight: 400;
    
}
footer hr {
    margin-left: 5.208vw;
    margin-right: 5.208vw;
    background: #fff;
    border: none;
    height: 1px;
    opacity: 0.25;
  }
.footer_bottom .copyright p {
    text-align: left;
    color: #fff;
}
.footer_terms a:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -0.9375vw;
    width: 1px;
    height: 90%;
    background-color: #fff;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}
.footer_terms a + a {
    margin-left: 1.5625vw;
    margin-left: 1.82292vw;
}
.footer_terms a {
    color: #fff;
    position: relative;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
}
.footer_terms {
    text-align: right;
}
.global-dropdown-box {
    position: relative;
}
.global-dropdown ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.footer_logo a img {
    width: 100%;
    max-width: 80%;
}

.menu_part > ul > li.mobile_search {
    display: none;
}
.footer_btn .bg_button {
    display: inline-flex;
    width: fit-content;
    background: #fff;
    color: var(--theme-heading-color);
}
.footer_btn {
    display: flex;
    justify-content: start;
    align-items: start;
    margin-top: 2.08333vw;
}
.footer_btn .bg_button svg path {
    fill: var(--theme-heading-color);
}
.footer_heading {
    font-size: 18px;
}
/* Footer section css end */

.search-form-main.active-search form label span {
    display: none;
}
.search-form-main.active-search form .is-search-submit {
	display: none
}
.search-form-main.active-search form label {
    width: 100%;
    margin-top: 10px;
}

.search-form-main .is-form-style.is-form-style-3 input.is-search-input{
    border-right: 1px solid #ccc !important;
}

/* Responsive css start header footer  */

/* header section css start */
@media (max-width: 1199px) {

    .global-dropdown.active-global{
    display: block !important;
}

/* .global-dropdown-box:hover .global-dropdown {
    display: initial;
} */

.global-dropdown.active-global ul li a{
    padding: 10px 0 !important;
}
    
    .header_main {
        padding: 15px 0px;
    }
    .right_menu_search .search_box ul li button {
        width: 3.044vw;
    }
    .right_menu_search .search_box ul li button.global_btn img {
    width: 24px;
}
    .right_menu_search {
        width: 28%;
        justify-content: space-between;
    }
    .header_row {
        column-gap: 15px;
      }
      .footer_tagline p {
        font-size: 14px;
    }
    .menu_part > ul > li > a {
        font-size: 1.15vw;
    }

    .right_menu_search .bg_button {
        font-size: 1.338vw;
    }

    .menu_part > ul {
            gap: 8px;
        }
   

    main {
        /* padding-top: 6.167vw; */
    }

    .drop_down_inner ul li {
        height: 4.263vw;
}
    .drop_down ul li a {
        font-size: 1.346vw;
    }

    .menu_data_cnt {
        padding: 15px 13px;
    }
    .search-form-main .search-cross {
         top: 2px;
        right: 4px;
        width: 4.604vw;
        height: 4.604vw;
    }
    .search-form-main h3 {
        font-size: 2.15vw;
         
    }
    .search-form-main .search-form-bootom span {
        font-size: 1.438vw;
     }
     .search-form-main{
        width: 90%;
     }
     
    .footer_nav_wrap {
        column-gap: 6.115vw;
    }

    .footer_links a {
        font-size: 14px;
    }
    .footer_btn .bg_button {
        padding: 15px 10px;
    }
    .footer_heading {
        font-size: 16px;
    }
.footer_social ul li
 {
    width: 1.60208vw;
}
	.header_main .menu_dropdown.active::before {
    height: 2px;
}
}



@media (max-width: 991px) {
    .right_menu_search{
        width: auto;
    }

    .header_row {
        column-gap: 8.233vw;
        justify-content: space-between;
    }

    .header_logo {
        width: 20%;
    }

    .right_menu_search {
        column-gap: 3.563vw;
    }

    .right_menu_search .bg_button {
        font-size: 1.838vw;
    }

    .right_menu_search .search_box ul li button {
        width: 5.044vw;
    }

    .mobile_menu_toggle {
        display: flex;
        flex-wrap: wrap;
        row-gap: 5px;
        width: 35px;
        height: 28px;
        cursor: pointer;
    }

    .mobile_menu_toggle span {
        width: 100%;
        height: 3px;
        background: var(--theme-common-content-color);
        display: block;
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
        -ms-border-radius: 50px;
        -o-border-radius: 50px;
}

.global-dropdown {
    top: 5.68125vw;
    max-width: 18.63542vw;
    width: 18.63542vw;
}

.right_menu {
        display: none;
        position: absolute;
        width: 60%;
        top: 65px;
        background: #fff;
        right: 0;
    }

.menu_part > ul {
    flex-wrap: wrap;
    gap: 0;
}

.menu_part > ul > li {
    padding: 0px;
    width: 100%;
}

.drop_down {
    position: static;
    width: 100%;
}

.menu_part > ul > li.menu_dropdown {
    flex-wrap: wrap;
    row-gap: 10px;
    display: block;
    position: relative;
}

.drop_down_inner {
    width: 100%;
}

.drop_down_inner ul li {
    height: inherit;
    width: 100%;
}

.drop_down ul li a {
    font-size: 16px;
    color: var(--theme-common-content-color);
}

.drop_down {
    margin: 0;
}

.drop_down_inner ul li ul {
    position: static;
}

.drop_down {
    position: static;
}

.drop_down_inner ul li {
    height: fit-content;
    width: 100%;
    display: block;
    position: relative;
    padding: 12px 6px;
}

.menu_part ul li.menu_dropdown .drop_down{
    display: block;
}

.menu_data_main {
    position: static;
    opacity: 1 !important;
    visibility: visible !important;
}


.drop_down_inner ul li ul {
    position: static;
    opacity: 1 !important;
    visibility: visible !important;
    display: none;
}

.menu_data_main{
    display: none !important;
}


.menu_part ul li.menu_dropdown .drop_down {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.menu_part ul li.menu_dropdown .drop_down {
    display: inline;
    transform: inherit;
    -webkit-transform: inherit;
    -moz-transform: inherit;
    -ms-transform: inherit;
    -o-transform: inherit;
}

.menu_part > ul > li a::before{
    display: none !important;
}

.menu_part > ul > li:hover a {
    font-weight: 400;
}

.drop_down {
    border-radius: 0;
    margin: 0;
    background: none;
    box-shadow: none;
    width: 100%;
}

.menu_part > ul > li > a {
    font-size: 16px;
    width: 100%;
    padding: 15px 15px;
    padding-right: 50px;
}

.menu_part > ul > li {
    width: 100%;
    border-bottom: 1px solid var(--theme-dark-blue-color);
}

.menu_part > ul > li a::before{
    display: none;
}

.menu_part > ul > li{
    border-bottom: none;
}

    .header_main {
        padding: 2.283vw 0px;
        position: sticky;
        top: 0;
        z-index: 99;
    }

.drop_down_inner {
    background: #ffffff;
}

.drop_down ul li a {
    padding-left: 20px;
    width: 100%;
}

.menu_arrow{
    width: 50px !important;
    position: absolute;
    right: 0;
    background: var(--theme-white-color);
    top: 0;
    left: inherit !important;
    height: 50px !important;
}

.drop_down ul li a {
    padding: 13px 0px;
    padding-left: 30px;
    padding-right: 50px;
    width: 100%;
}

.menu_part > ul > li > a{
    /* border-bottom: 1px solid #1c305d29; */
    background-color: var(--theme-white-color);
}

.drop_down_inner ul li ul li{
    border-bottom: none;
}

.drop_down_inner ul li .menu_arrow::before {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}
.menu_part > ul > li.menu_dropdown {
        border-bottom: 1px solid rgb(0, 0, 0, 0.1);
    }

.menu_arrow::before{
    border: solid #fff;
    border-width: 0 3px 3px 0;
}

.drop_down_inner ul li ul li .menu_arrow{
    display: none;
}

.drop_down_inner ul li ul li a {
    /* 3rd-level items ("By Products/Function/Role" children). 50px left +
       the nested ul/li paddings pushed long titles ("University Management
       System") onto a second line on small phones; 12px keeps them one
       step deeper than their group heading while fitting one line. */
    padding-right: 15px;
    padding-left: 12px;
    /* block, not inline: an inline link's padding-left only indents its
       FIRST line, so any wrapped line out-dented to the panel's far left. */
    display: block;
    width: 100%;
}

.drop_down_inner ul li ul li .menu_data_main{
    display: none;
}

.menu_arrow::before {
    border: solid #1c305d;
    border-width: 0 2px 2px 0;
    padding: 4px;
}

.drop_down ul li button::before{
    border-width: 0 2px 2px 0;
    border-color: #1c305d;
}

.menu_part ul li.menu_dropdown .drop_down{
    display: none;
}

.menu_part > ul > li.menu_dropdown.active .drop_down{
    display: inline;
}

.drop_down_inner ul li.active ul{
    display: block;
}

main {
    /* padding-top: 9.167vw; */
}

.menu_part > ul > li.menu_dropdown ul {
    border-bottom: none;
    padding: 0px;
}



.menu_part > ul > li:hover .drop_down ul li a{
    color: var;
}

.menu_part > ul > li:hover a {
    color: var(--theme-sub-heading-color);
    background: var(--theme-white-color);
    border-bottom: none;
}
.menu_part > ul > li > a:hover {
}
.drop_down ul li ul li a{
    color: var(--theme-common-content-color);
}

.drop_down ul li a {
    color: var(--theme-common-content-color) !important;
    padding: 0px;
}
.search-form-main{
    width: 90%;
}
.search-form-main .search-form-bootom span {
    font-size: 1.438vw;
    
}
.search-form-main input {
    font-size: 2.042vw;
    padding-left: 2.24vw;
    height: 6.271vw;
}
.search-form-main h3 {
    font-size: 2.25vw;
    
}
.search-form-main {
  width: 90%;
    margin: 0 auto;
    padding: 4.5vw 3.385vw;
    top: 92%;
    
}
.search-form-main .search-cross {
     width: 3.604vw;
    height: 3.604vw;
    top: 12px;
    right: 12px;
}
.drop_down ul {
    width: 100%;
    padding: 12px 2.875vw;
    /* height: 322px;
    overflow: auto; */
}
.right_menu_search .search_box ul li {
    align-items: start;
}
.footer_middle .col-sm-5 {
    width: 100%;
}
.footer_tagline p {
    font-size: 18px;
}
.footer_logo a img {
    max-width: 50%;
}
.footer_tagline {
    margin-top: 4.35417vw;
}
.footer_middle .footer_info .fs-20 {
    font-weight: 400;
    margin-bottom: 10px;
}
.footer_social ul {
    column-gap: 20px;
}
.footer_social ul li {
    width: 30px;
}
.footer_social {
    margin-top: 12px;
}
.footer_middle {
    gap: 6.042vw;
    padding-bottom: 5.083vw;
}
.footer_middle .col-12.col-sm-7 {
    width: 100%;
}
.footer_nav_wrap {
    flex-wrap: wrap;
    justify-content: start;
}
.footer_col {
    width: 45%;
}
.footer_links a {
    font-size: 16px;
}
.footer_heading.fs-18 {
    font-size: 20px;
}
.footer_col {
    width: 45%;
    margin-bottom: 25px;
}
.right_menu_search .search_box ul li.search_header {
    display: block;
}
.menu_part > ul > li.mobile_search {
    padding: 12px 15px 18px 15px;
    display: none;
}
.menu_part > ul > li.mobile_search p {
    font-weight: 600;
    color: var(--theme-common-content-color);
    font-size: 16px;
}
.menu_part > ul > li.mobile_search input {
    width: 100%;
}
.menu_part > ul > li.mobile_search input::placeholder {
    font-size: 14px;
    padding-left: 5px;
}
.global-dropdown li, .global-dropdown li a {
    font-size: 17px;
    padding: 10px 0px;
}
.global-dropdown {
    top: 4.68125vw;
    max-width: 30.63542vw;
    width: 30.63542vw;
    left: 0;
}
.menu_part > ul > li:hover::before {
    display: none;
 }
 .menu_part {
    max-height: fit-content;
}
.header_main .menu_dropdown.active::before {
	display: none;
}
    .menu_part>ul>li:hover .drop_down ul li a {
        background: none;
    }


.search-form-main .is-form-style.is-form-style-3 input.is-search-input {
    height: 46px !important;
    border-radius: 50px;
}

.search-form-main .is-form-style.is-form-style-3 label {
    width: 100% !important;
}

}


@media (max-width: 767px) {
 .menu_part {
    max-height: 550px;
    overflow-y: auto;
}
.drop_down_inner {
        width: 98%;
        overflow: hidden;
        border-radius: 0px;
    }
    .right_menu_search .search_box ul li button {
        width: 8.044vw;
    }

    .header_row {
         column-gap: 2.233vw;
    }

    main {
        /* padding-top: 14.167vw; */
    }

    .right_menu {
        top: 18.067vw;
        width: 100%;
        max-width: 100%;
    }

    .header_logo {
        width: 40%;
    }

    .right_menu_search .search_box ul li button {
        height: 5.044vw;
        width: 5.044vw;
        display: inline-flex;
        padding: 0;
    }

    .right_menu_search .search_box ul li button svg{
        width: 100%;
        height: 100%;
    }

    .right_menu_search .bg_button {
        font-size: 10px;
        letter-spacing: 0.1px;
        padding: 6px 12px;
    }

    .mobile_menu_toggle {
        width: 27px;
        height: 20px;
    }

    .mobile_menu_toggle span{
        height: 2px;
    }

    .right_menu_search {
        column-gap: 5.563vw;
    }


    .search-form-main h3 {
        font-size: 16px;
    }
    .search-form-main input {
        font-size: 3.042vw;
        padding-left: 2.24vw;
        height: 8.271vw;
    }
    .search-form-bootom {
        display: inline-block;
        margin-top: 4px;
    }
    .search-form-main .search-form-bootom span {
        font-size: 3.438vw;
        display: inline-block;
        margin-top: 10px;
    }
    .search-form-main .search-cross {
        top: 2px;
        right: 4px;
        width: 10.604vw;
        height: 10.604vw;
    }
    footer .footer_bg {
        padding: 8.4375vw 0 0;
    }
    .footer_middle .col-sm-5 {
        width: 100%;
    }
    .footer_tagline {
        margin-top: 5.35417vw;
    }
    .footer_info {
        margin-top: 5.39583vw;
    }
    .footer_social ul li {
        width: 5.30208vw;
    }
    .footer_social ul {
        column-gap: 15px;
    }
    .footer_middle .footer_info .fs-20 {
        margin-bottom: 2.52083vw;
    }
    .footer_social {
        margin-top: 2.5625vw;
    }
    .footer_tagline p {
        font-size: 16px;
    }
    .footer_middle .col-12.col-sm-7 {
        width: 100%;
    }
    .footer_nav_wrap {
        justify-content: start;
        flex-wrap: wrap;
        row-gap: 20px;
    }   
    .footer_links ul li {
        margin-bottom: 8px;
    }
    .footer_col {
        margin-bottom: 22px;
        width: 45%;
    }
    .footer_links a {
        font-size: 16   px;
    }
    .footer_heading {
        margin-bottom: 12px;
    }
    .footer_bottom {
        padding-bottom: 8vw;
        padding-top: 5.71875vw;
        gap: 15px;
    }
    .footer_terms a:not(:first-child)::before {
        left: -8px;
    }
    .footer_terms a + a {
        margin-left: 16px;
    }
    .footer_terms {
        text-align: center;
    }
    .footer .container {
        padding-left: 0px;
        padding-right: 0px;
    }
    .footer_middle {
        gap: 10.042vw;
    }
    .global-dropdown {
        top: 4.68125vw;
        max-width: 30.63542vw;
        width: 30.63542vw;
        left: -45px;
    }
    .right_menu_search .search_box ul li {
    	justify-content: center;
    }
    .footer_logo {
    text-align: center;
}
    .footer_info {
        text-align: center;
    }
        .footer_middle .footer_info .fs-20 {
        text-align: center;
    }
        .footer_middle .footer_info .fs-20 {
        text-align: center;
			color: #fff;
    }
    .footer_btn {
    justify-content: center;
}
.footer_social ul {
        justify-content: center;
    }
    .footer_bottom .copyright p {
    text-align: center;
}
}
/* header section css start */

/* Responsive css end header footer  */


.search-form-main .is-form-style.is-form-style-3 input {
    border-right: 1px solid #ccc;
    height: 3.2vw !important;
    border-radius: 10px;
}







/* start search header css */



/* div.is-ajax-search-details,
div.is-ajax-search-result {
    width: 100% !important;
} */

.is-form-style {
    width: 100%;
}

.header_search.active .is-form-style{
    display: block;
}

/* .is-form-style input.is-search-input {
    height: 60px;
    font-size: 18px !important;
} */

.is-form-style button.is-search-submit {
    /* width: 60px;
    height: 60px; */
    background: none;
    border: none;
    outline: none;
} 

.is-form-style input.is-search-submit,
.is-search-icon {
    width: 100%;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #2d3980;
    border: none;
    color: #fff;
    display: none;
}

.is-form-style input.is-search-submit,
.is-search-icon svg {
    color: #fff !important;
    fill: #fff !important;
    width: 32px;
}

.is-form-style input.is-search-submit,
.is-search-icon svg path {
    color: #fff !important;
    fill: #fff !important;
}

.is-search-icon:hover,
form.is-form-style input.is-search-submit:hover {
    background: #3bbee7;
}

/* .is-form-style.is-form-style-3 label {
    width: calc(100% - 60px) !important;
} */

.is-form-style.is-form-style-3 input.is-search-input{

}

.is-ajax-search-posts {
    border-radius: 0 0 2px 2px;
    position: relative;
    background-color: #fff;
    color: #000;
    z-index: 9;
    top: 1px;
    box-shadow: 2px 3px 5px -1px rgb(195 195 195 / 50%);
    overflow: hidden;
    overflow-y: hidden;
    white-space: nowrap;
    width: 100%;
    max-height: 400px;
    overflow-y: scroll;
}

.is-ajax-search-result .is-show-more-results-text {
    color: #fff;
    cursor: pointer !important;
    text-align: center !important;
    width: fit-content;
    margin: 0 auto !important;
    font-size: 16px !important;
    background: #34407f;
    padding: 15px 20px !important;
    /* border-radius: 10px !important; */
    border-top-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
    border-top-right-radius: 22px !important;
    border-bottom-left-radius: 22px !important;
}

.is-search-sections {
    display: flex !important;
    column-gap: 15px;
}

.is-search-sections .left-section {
    float: left;
    width: 50px;
}

.is-search-sections .left-section img{
    width: 100%;
}

.is-search-sections .left-section {
    float: left;
    background: #333f7e1c;
    padding: 3px;
}

.is-ajax-result-description {
    margin-top: 0 !important;
    color: #717171;
    font-weight: 300;
}



.is-search-sections .right-section {
    width: 80%;
    flex: 1;
}

.is-ajax-search-result .is-show-more-results {
    position: relative;
    width: 100%;
    padding: 10px 0px !important;
    border-top: 1px solid #bbbbbb !important;
    margin: 0 !important;
}

.is-ajax-search-posts::-webkit-scrollbar {
    width: 5px;
}

.is-ajax-search-posts::-webkit-scrollbar-track {
    background-color: #fff;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.is-ajax-search-posts::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: #2d3980;
}

.is-search-sections {
    display: flex !important;
    align-items: center !important;
}

.is-ajax-search-categories-details > div:hover,
.is-ajax-search-result .is-ajax-search-post:hover,
.is-ajax-search-result .is-show-more-results:hover,
.is-ajax-search-tags-details > div:hover {
    background: #ffffff !important;
    cursor: pointer !important;
}

.is-search-sections .thumbnail {
    margin-right: 20px !important;
    width: 50px !important;
}

.is-ajax-search-details .is-title a,
.is-ajax-search-post .is-title a {
    font-size: 16px !important;
    text-decoration: none !important;
    color: #1c1c1c;
}


@media screen and (max-width: 767px) {
   div.is-ajax-search-result {
        max-width: 78% !important;
    }

        .is-ajax-search-result {
        left: 10% !important;
    }
}


@media screen and (max-width: 510px) {
   div.is-ajax-search-result {
        max-width: 78% !important;
    }

    body .is-ajax-search-result {
        left: 10% !important;
    }

     .search-form-main .search-cross {
        top: 9px;
        right: 9px;
        width: 7.004vw;
        height: 7.004vw;
    }

        .right_menu_search .search_box ul li button {
        height: 7.044vw;
        width: 7.044vw;
        }

       

        .right_menu_search .search_box ul li button {
        height: 28px;
        width: 28px;
        display: block;
        }

    .right_menu_search .search_box ul li button svg {
        width: 100%;
        height: 100%;
    }

    .right_menu_search .search_box ul {
        gap: 0px !important;
    }

    .right_menu_search .search_box ul li.search_header { padding-right: 16px; }

    .right_menu_search .search_box ul li {
      height: fit-content;
    }

    .right_menu_search .search_box ul li {
        align-items: center;
    }
}


/* rnd search header css */

.drop_down ul li a {
width: 100%;
padding: 0.938vw 1.875vw;
height: 100%;
}

.search-form-main::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: transparent;
    width: 100%;
    height: 30%;
}

@media (max-width: 500px) {
    .right_menu {
        top: 18.067vw !important;
    }
}

/* ===================================================================
 * 3rd-level nav ("Solutions > By Role > ...").
 * This file has multiple overlapping/duplicate rules for
 * ".drop_down_inner ul li ul" (a desktop absolute-position side-flyout at
 * ~line 557, clipped invisible by .drop_down's overflow-x:hidden, AND a
 * separate mobile block under max-width:991px forcing opacity/visibility
 * with !important). Rather than trace every interaction across those,
 * every property that controls visibility/position is set with !important
 * here, scoped to .menu_role_group/.role_submenu, so this item's shown/
 * hidden state and layout depend ONLY on the rules below.
 *
 * BASE (mobile-first default): expands INLINE, downward, in normal flow —
 * appropriate for touch/narrow screens where a sideways flyout has nowhere
 * to go. Confirmed working via .active (tap) on mobile.
 *
 * DESKTOP override (≥992px): becomes a proper side flyout instead — its
 * own floating panel to the right, matching the visual language the
 * original (broken) rule intended.
 * =================================================================== */
.drop_down_inner ul li.menu_role_group {
    flex-wrap: wrap !important;
    /* NOT position:relative -- .role_submenu's containing block is
       .drop_down_inner (set above), so the flyout aligns to the top of the
       WHOLE panel. If this row were also position:relative, it would be
       the nearer ancestor and win, undoing that. */
}
.drop_down_inner ul li.menu_role_group > a {
    flex: 1;
}
.drop_down_inner ul li.menu_role_group .role_submenu {
    display: none !important;
    position: static !important;
    /* No left/top here (even as !important) -- left/top are meaningless
       on a position:static element anyway, but leaving them declared with
       !important was the actual bug: any !important in a stylesheet always
       beats a plain (non-important) inline style, so it silently overrode
       the exact pixel position the JS below sets on the desktop (fixed)
       version of this element, no matter how correct that JS's numbers
       were. */
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    flex-direction: column;
    padding-left: 1.2vw;
    margin-top: 0.5vw;
}
/* .active alone, UNGUARDED -- this is the only trigger that's fully
   deterministic on touch (a tap toggles .active via the .menu_arrow click
   handler in custom-script.js, on/off, every time). Split out from :hover
   below on purpose: combining them in one rule (as before) meant a second
   tap turned .active OFF but :hover -- stuck true since touch never fires
   a "leave" event -- was STILL enough on its own to keep display:flex,
   so "tap again to close" silently did nothing on mobile. */
.drop_down_inner ul li.menu_role_group.active .role_submenu {
    display: flex !important;
}
/* :hover, gated to real mouse input at desktop width -- see the matching
   guard already used for the stuck-blue hover background above. */
@media (hover: hover) and (min-width: 992px) {
    .drop_down_inner ul li.menu_role_group:hover .role_submenu {
        display: flex !important;
    }
}
/* Mobile expands DOWNWARD (inline accordion), so the arrow should point
   down (⌄) when open, not left (‹). For this border-corner trick, 45deg =
   down, 135deg = left -- 135 was the wrong angle for this direction. */
.drop_down_inner ul li.menu_role_group.active > .menu_arrow::before {
    transform: rotate(45deg);
}

/* Let .drop_down grow to fit the mobile inline-expanded submenu instead of
   clipping it (its overflow-x:hidden is needed elsewhere, so left as-is —
   only height/max-height are freed here). */
.menu_dropdown:has(.menu_role_group.active) .drop_down,
.menu_dropdown:has(.menu_role_group:hover) .drop_down {
    height: auto !important;
    max-height: none !important;
}

@media (min-width: 992px) {
    .drop_down_inner ul li.menu_role_group {
        flex-wrap: nowrap !important;
    }
    .drop_down_inner ul li.menu_role_group .role_submenu {
        /* position:fixed, NOT absolute -- absolute depends on whichever
           ancestor establishes the containing block, and across several
           attempts that kept resolving to something other than what static
           analysis of this file predicted (a real offset showed up on
           screen each time that no rule here accounts for). Fixed is
           relative to the viewport only, immune to that ancestor chain.
           top/left are set directly by JS (menu-role-flyout.js, right
           below this stylesheet in header.php) via getBoundingClientRect()
           on the real elements, so this can't drift regardless of what
           position/transform any ancestor has. */
        position: fixed !important;
        width: 18.5vw !important; /* matches .drop_down ul's own width (the
            main Solutions panel), so both boxes are the same size. Height
            is matched too, but via JS below -- the main panel's height
            depends on its content (item count/wrapping), so it can't be
            hardcoded here the way width can. */
        min-width: 200px;
        /* Explicit sizing resets: something in this file's legacy rules was
           collapsing this box to a single row (only the first item showed,
           inside a correctly-styled white/rounded/shadowed box — the other
           3 items rendered UNSTYLED outside its bounds, because overflowing
           content of a box with overflow:visible paints outside that box's
           own background). Forcing height/max-height/overflow explicitly
           here rather than continuing to trace which rule caused it. */
        height: auto; /* NOT !important -- JS sets an explicit inline height
            to match the main panel (see custom-script.js), and an
            !important here would silently discard that inline value, the
            exact same bug already hit once with top/left on this element. */
        max-height: none !important;
        min-height: auto !important;
        overflow: visible !important;
        margin: 0 !important;
        margin-top: 0 !important;
        padding: 10px !important;
        list-style: none !important;
        background: var(--theme-white-color) !important;
        border: 1px solid #DFDFDF !important;
        border-radius: 22px !important;
        /* Squared to meet the main panel's (also squared) top-right corner
           flush -- see the seam comment on .drop_down_inner:has(). The
           bottom-left corner stays rounded: the flyout is taller than the
           panel, so that corner hangs below it, exposed. */
        border-top-left-radius: 0 !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
        z-index: 100 !important;
    }
    /* Decouple each leaf item from .drop_down_inner's generic "ul li"
       flex-row/space-between rule (meant for top-level dropdown rows) —
       inside this flyout they should just stack as plain block rows. */
    .drop_down_inner ul li.menu_role_group .role_submenu li {
        display: block !important;
        height: auto !important;
        width: 100% !important;
        padding: 0 !important; /* Verified via DevTools Styles panel on the
            real "Education ERP" <li>: .drop_down ul li{padding:0} is the
            actual winning rule -- the main list has NO padding on the li
            at all, spacing comes purely from font-size/line-height. The
            earlier 12px 6px here was guessed from an unrelated mobile-only
            rule and was wrong. */
    }
    .drop_down_inner ul li.menu_role_group .role_submenu li a {
        padding-left: 20px;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        font-size: 1.04167vw; /* matches .drop_down ul li a's own font-size */
        font-weight: inherit !important;
        /*color: var(--theme-common-content-color);*/
         color: var(--theme-heading-color);
        line-height: normal;
    }
    /* The arrow stays pointing right on desktop (it opens sideways) rather
       than rotating like the mobile accordion indicator does. */
    .drop_down_inner ul li.menu_role_group.active > .menu_arrow::before {
        transform: rotate(315deg);
    }
    /* .drop_down's overflow-x:hidden exists for its own layout elsewhere —
       only lifted here, and only while this specific item is open, so the
       flyout isn't clipped. */
    .menu_dropdown:has(.menu_role_group.active) .drop_down,
    .menu_dropdown:has(.menu_role_group:hover) .drop_down {
        overflow: visible !important;
    }
}

/* This file resets text-decoration/color for dropdown links in their
   default state, but never for :visited -- so once a link is clicked,
   the browser's own default :visited style (underline, different color)
   shows through instead of the theme's. Reported on "By Role" > Admission
   & Academic after it had been tapped once in testing; the same gap
   exists for any dropdown link across the site, not just this one. */
.drop_down ul li a:visited,
.drop_down_inner ul li a:visited {
    color: inherit;
    text-decoration: none;
}