/* GraniStyle navigation overrides. Loaded after The7 generated styles. */
.sub-nav > li > a:hover .menu-text,
.sub-nav > li.dt-hovered > a .menu-text,
.sub-nav > li.act > a .menu-text,
.sub-nav > li.current-menu-item > a .menu-text,
.sub-nav > li.current-menu-ancestor > a .menu-text,
.mobile-main-nav li > a:hover .menu-text,
.mobile-main-nav li.act > a .menu-text,
.mobile-main-nav li.current-menu-item > a .menu-text,
.mobile-main-nav li.current-menu-ancestor > a .menu-text {
    background: none !important;
    background-image: none !important;
    color: #be8806 !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #be8806 !important;
}


/* Keep header phone link visually stable on hover/focus */
a.mini-contacts.phone:hover,
a.mini-contacts.phone:focus,
a.mini-contacts.phone:focus-visible,
a.mini-contacts.phone:active {
    color: #ffc15c !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

a.mini-contacts.phone:hover::before,
a.mini-contacts.phone:focus::before,
a.mini-contacts.phone:focus-visible::before,
a.mini-contacts.phone:active::before,
a.mini-contacts.phone:hover .menu-text,
a.mini-contacts.phone:focus .menu-text,
a.mini-contacts.phone:focus-visible .menu-text,
a.mini-contacts.phone:active .menu-text {
    color: #ffc15c !important;
    opacity: 1 !important;
}


/* Normalize content list spacing without editing The7 generated CSS */
.content ol,
.content ul {
    margin: 35px 2px 10px 1px;
}


/* GraniStyle scroll-to-top button override */
.scroll-top {
    position: fixed;
    display: -ms-flexbox;
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    -ms-justify-content: center;
    justify-content: center;
    right: 10px;
    bottom: 10px;
    width: 40px;
    height: 40px;
    opacity: 0;
    z-index: -1;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: opacity .4s ease;
    text-decoration: none;
    background-color: rgb(200 159 85);
    border-radius: 1px;
}


/* Desktop header spacing and top border */
@media screen and (min-width: 993px) {
    .masthead:not(.side-header):not(.side-header-v-stroke):not(.side-header-menu-icon) .header-bar,
    .ph-wrap {
        padding-right: 50px;
        padding-left: 50px;
        border-top: 1px solid rgb(255 176 20 / 33%);
    }
}


/* Keep sticky header background transitions consistent */
.phantom-sticky:not(.overlap):not(.transparent) .masthead {
    transition: background-color 330ms ease, background-image 330ms ease;
}
