﻿/* CSS variables are not supported in IE */
:root {
    --theme-select-hover-color: #0e6471 !important;
    --theme-button-search-color: #148c9f !important;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    padding-top: 45px; /* to accomodate header */
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    body {
        padding-top: 60px; /* to accomodate header */
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    body {
        padding-top: 150px; /* to accomodate header */
    }
}

.bg-flag {
    box-shadow: 0 3px 5px 1px rgba(0, 51, 102, 0.56);
    background: #091943;
    font-size: 15px;
    line-height: 22px;
    border: none;
    background-image: url('https://webservices.ncleg.gov/Content/Images/NC Flag.png');
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    max-width: 100%;
    height: auto;
}

.nav-title {
    color: #ffffff;
    font-family: 'Playfair Display SC', serif;
    display: inline-block;
}

    .nav-title:after {
        content: "NC General Assembly";
        font-size: large;
    }

@media (min-width: 576px) {
    .nav-title:after {
        content: "North Carolina General Assembly";
        font-size: x-large;
    }
}

@media (min-width: 768px) {
    .nav-title:after {
        content: "North Carolina General Assembly";
        font-size: 25px;
    }
}

/* Navigation link bootstrap style override */
.navbar-ncga .nav-item {
    text-transform: uppercase;
}

/* Necessary for limiting image size within Internet Explorer */
.navbar-ncga .navbar-brand > img {
    width: 43px;
}

@media (min-width: 576px) {
    .navbar-ncga .navbar-brand > img {
        width: 45px;
    }
}

@media (min-width: 992px) {
    .navbar-ncga .navbar-brand > img {
        width: 120px;
    }
}

.ncga-collapsed-nav-section-title {
    margin-bottom: 0;
    font-size: x-large;
    color: #ffffff;
    font-family: 'Carrois Gothic', sans-serif;
    text-transform: uppercase;
}

#navbarCollapse .nav a {
    color: #ffffff;
    font-size: 14px;
    padding-bottom: 5px;
}

@media (min-width: 768px) {
    #navbarCollapse .nav a {
        font-size: unset; /* reset font to default font-size */
    }
}

.navbar-ncga .navbar-nav > li > a,
.navbar-ncga a.nav-link {
    color: #f5f5f5 !important;
}

.navbar-ncga .navbar-nav .nav-link,
.navbar-ncga .navbar-nav > a {
    padding-left: 0;
    padding-right: 0;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .navbar-ncga .navbar-brand {
        background: none;
    }
}

/* Extra Small to Medium devices (xs devices to tablets, up to 991px) */
@media (max-width: 991px) {
    /* Fix background of dropdown when collapsed menu is shown */
    .navbar-ncga .nav-item .dropdown-menu.show,
    .navbar-ncga .nav-item .dropdown-menu.show > a {
        background-color: transparent;
        color: #f5f5f5;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .navbar-ncga .navbar-nav .dropdown-menu {
        margin-top: -1px !important;
    }

    .nav-title:after {
        font-size: 30px;
        content: "NC General Assembly";
    }

    .navbar-ncga .navbar-nav .nav-item {
        padding-right: 9px;
        font-size: 13px
    }

    /* Override bootstrap dropdown functionality - expand on hover or click at larger resolutions */
    .navbar-ncga .nav-item.dropdown:hover > .dropdown-menu {
        display: block;
    }

    #navbarMenu {
        background: rgba(0, 0, 0, 0.4);
    }

    .navbar-ncga .navbar-nav {
        padding-left: 10px;
    }

    /* Bootstrap override - dropdown hover highlight */
    .navbar-ncga .nav-item .dropdown-item:hover,
    .navbar-ncga .nav-item .dropdown-item:active,
    .navbar-ncga .nav-item .dropdown-menu.show > a:hover,
    .navbar-ncga .nav-item .dropdown-menu.show > a:active {
        color: #ffffff;
        background-color: #0e6471;
    }
}

@media (min-width: 1200px) {
    .nav-title:after {
        font-size: 2vw;
        content: "North Carolina General Assembly";
    }
}

@media (min-width: 1260px) {
    .nav-title:after {
        font-size: 2vw;
        content: "North Carolina General Assembly";
    }
}

@media (min-width: 1436px) {
    .nav-title:after {
        font-size: 29px;
        content: "North Carolina General Assembly";
    }
}

@media (min-width: 1515px) {
    .nav-title:after {
        font-size: 33px;
        content: "North Carolina General Assembly";
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .navbar-ncga .navbar-brand {
        overflow: hidden;
    }

    .navbar-ncga .navbar-nav .nav-item {
        padding-right: 16px;
        font-size: initial;
    }

    .navbar-ncga .navbar-nav {
        padding-left: 10px;
    }
}

/* Minimized navbar - Only apply style rules on large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .navbar-ncga .navbar-brand {
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

    .minimized-navbar.navbar-ncga .navbar-brand {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        width: 65px;
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

        .minimized-navbar.navbar-ncga .navbar-brand > img {
            width: 45px;
        }

    .minimized-navbar.navbar-ncga #xl-search {
        display: none !important;
    }

    .minimized-navbar.navbar-ncga .ncga-navbar-col-1 {
        min-width: 60px !important;
    }

    .navbar-ncga .title-row {
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

    .minimized-navbar.navbar-ncga .title-row {
        padding-top: 0 !important;
        height: 0 !important;
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

    .minimized-navbar.navbar-ncga #navbarMenu {
        margin-top: 0px !important;
        background: none;
    }

    .minimized-navbar.navbar-ncga .container-fluid {
        background: rgba(0, 0, 0, 0.4);
    }

    .minimized-navbar.navbar-ncga .nav-title:after {
        content: "";
    }

    .minimized-navbar .search-icon {
        display: flex !important;
        padding-right: 3px;
        position: fixed;
        right: 0;
    }

    .minimized-navbar #utilityNav {
        display: none !important;
    }
}
/* Minimized navbar END*/

.chosen-container .chosen-results li {
    font-size: 1rem !important;
}

.chosen-container .chosen-results li.highlighted {
    background-image: none !important;
    background-color: #0e6471 !important;
    color: #ffffff;
}

/* Footer */
.ncga-footer-section-title {
    margin-bottom: 0;
    font-size: x-large;
    color: #ffffff;
    font-family: 'Carrois Gothic', sans-serif;
    text-transform: uppercase;
    border-bottom: 3px solid #ffffff;
}

footer a {
    color: #ffffff;
}

footer img.img-fluid {
    max-height: 285px;
}

footer #technicalInfo a:hover,
footer #socialMedia a:hover,
footer a[href^="tel:"]:hover,
footer .nav a:hover {
    color: #ffffff;
}

footer #technicalInfo a:before,
footer .nav a:before {
    font: var(--fa-font-solid);
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    padding-right: 5px;
    margin-left: -15px;
    color: transparent;
    display: inline-block;
    content: "\f101";
}

footer a[href^="tel:"]:before {
    font: var(--fa-font-solid);
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    left: -4px;
    color: transparent;
    display: inline-block;
    content: "\f095";
}

#technicalInfo {
    padding-left: 15px !important;
}

footer #technicalInfo a:hover:before,
footer a[href^="tel:"]:hover:before,
footer .nav a:hover:before {
    color: #ffffff;
}
/* Footer End */

/* NCGA custom call to action button - based off bootstrap btn-info */
.ncga-search-button {
    color: #fff;
    background-color: #148c9f;
    border-color: #148c9f;
}

    .ncga-search-button:hover {
        color: #fff;
        background-color: #117888;
        border-color: #117a8b;
    }

    .ncga-search-button:focus, .ncga-search-button.focus {
        box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
    }

    .ncga-search-button.disabled, .ncga-search-button:disabled {
        color: #fff;
        background-color: #148c9f;
        border-color: #148c9f;
    }

    .ncga-search-button:not(:disabled):not(.disabled):active, .ncga-search-button:not(:disabled):not(.disabled).active,
    .show > .ncga-search-button.dropdown-toggle {
        color: #fff;
        background-color: #117a8b;
        border-color: #10707f;
    }

        .ncga-search-button:not(:disabled):not(.disabled):active:focus, .ncga-search-button:not(:disabled):not(.disabled).active:focus,
        .show > .ncga-search-button.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
        }

.searchButton {
    color: #fff;
    background-color: #148c9f;
}

    .searchButton:hover {
        background-color: #117888;
        border-color: #117a8b;
    }
/* End NCGA custom call to action button */
@media (max-width: 991px) {
    .navbar-ncga {
        overflow: auto;
        max-height: 85vh;
        align-items: flex-start;
    }
}

.ncga-navbar-col-1 {
    float: left;
    width: 50px;
}

/* Everything below large devices (desktops, 992px and up) */ 
@media (max-width: 991px) {
    .navbar-ncga .title-row {
        padding-top: 0 !important;
    }
}

/* Large devices (desktops, 992px and up) */ 
@media (min-width: 992px) {
    .ncga-navbar-col-1 {
        min-width: 120px;
        background: linear-gradient(180deg, transparent 94px, rgba(0, 0, 0, 0.4) 39px);
    }
}

/* smaller dropdown for mobile search*/
.memberSelect,
.sessionSelect {
    height: 31px !important;
    font-size: .875rem;
    line-height: 1.5;
    border: none;
}

.searchOptionDropdown .dropdown-item {
    font-size: 14px;
    padding-left: 15px;
}

    .searchOptionDropdown .dropdown-item:focus,
    .searchOptionDropdown .dropdown-item:hover {
        background-color: #0e6471 !important;
        color: #ffffff;
    }

.sessionSelect + .chosen-container .chosen-results li,
.memberSelect + .chosen-container .chosen-results li {
    font-size: 14px !important;
}

.sessionSelect,
.sessionSelect + .chosen-container .chosen-single {
    background-color: #dee6ed !important;
    color: #000000 !important;
    border-radius: 0 !important;
}

#sessionColumn .sessionSelect,
#sessionColumn .sessionSelect + .chosen-container .chosen-single {
    background-color: #dee6ed !important;
    color: #000000 !important;
    border-radius: 3.2px !important;
}

.searchTypeButton {
    height: 34px;
    background-color: #dee6ed;
}

    .searchTypeButton:focus {
        box-shadow: none;
    }

.ncga-search-container {
    position: relative;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    background-color: #ffffff;
    height: 34px;
}

.ncga-search-container .form-control {
    border: none;
    border-radius: 0;
    padding-top: 5px;
    padding-bottom: 5px;
}

    .ncga-search-container .form-control:focus,
    .formSearchOptions .chosen-container-active .chosen-single {
        box-shadow: inset 3px 0 0 rgba(0,123,255,.25), inset 0 1px 0 rgba(0,123,255,.25), inset 0 -2px 1px 0 rgba(0,123,255,.25), inset -1px 1px 1px 1px rgba(0,123,255,.25) !important;
    }

.navbar-ncga button.navbar-toggler:focus {
    outline: none;
    border-color: transparent;
}

.navbar-ncga button.navbar-toggler {
    color: #ffffff;
    font-size: 10px;
    border: none;
    text-transform: uppercase;
}

    .navbar-ncga button.navbar-toggler::after {
        font: var(--fa-font-solid);
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        content: "\f106"; /* fas fa-angle-up */
        display: inline-block;
        padding-left: 2px;
        font-size: 13px;
    }

    .navbar-ncga button.navbar-toggler.collapsed:after {
        transform: rotate(180deg);
        padding-right: 2px;
        padding-left: 0;
    }

/* smaller dropdown for mobile search*/
.memberSelect,
.sessionSelect {
    height: 34px !important;
    font-size: 16px;
    border: none;
}

/* Style Chosen elements and pre-initialized select */
.ncga-search-container a.chosen-single {
    background: #ffffff !important;
    padding: 5px 12px 5px 12px;
    line-height: 1.5;
    font-size: 16px;
    color: #495057 !important;
    border-radius: 0;
    border: none !important;
}

/* Bill list autocomplete */
.navbar-ncga .ui-menu {
    margin-left: 4px;
    margin-right: 4px;
    border-bottom-left-radius: 3.2px;
    border-bottom-right-radius: 3.2px;
}

.navbar-ncga .ui-widget-content .ui-state-active,
.navbar-ncga .ui-widget-content .ui-menu-item:first-child { /* highlight-first item without focusing it */
    background-color: #0e6471 !important;
    color: #ffffff;
    border: none;
    margin: 0;
}

.navbar-ncga .ui-widget-content .ui-menu-item:not(:first-child) .ui-state-active {
    background-color: #dee6ed !important;
    color: #333333;
    border: none;
    margin: 0;
}

.ncga-autocomplete-not-found.ui-widget-content .ui-menu-item:first-child,
.ncga-autocomplete-not-found.ui-widget-content .ui-state-active {
    background-color: #ffffff !important;
    color: #333333;
}
/* Bill list autocomplete - END */