/* Custom CSS - The CSS properties in this stylesheet will over-write any original template styles if the same class names are used in addition to custom styles which can also be added. */
/* TODO
	[]	create responsive mobile styles for
		 	[x] dl.datalists: veritcal data/value layout
			[] tables: if NOT use theme's mobile scroll style.
		
*/


/*
PROVIDER
*/

/* BOOTSTRAP pager styles */
.pager {
    padding-left: 0;
    margin: 20px 0;
    list-style: none;
    text-align: center;
}

    .pager li {
        display: inline;
    }

        .pager li > a,
        .pager li > span {
            display: inline-block;
            padding: 5px 14px;
            background-color: #ffffff;
            border: 1px solid #dddddd;
            border-radius: 15px;
        }

            .pager li > a:hover,
            .pager li > a:focus {
                text-decoration: none;
                background-color: #eeeeee;
            }

    .pager .next > a,
    .pager .next > span {
        float: right;
    }

    .pager .previous > a,
    .pager .previous > span {
        float: left;
    }

    .pager .disabled > a,
    .pager .disabled > a:hover,
    .pager .disabled > a:focus,
    .pager .disabled > span {
        color: #767676;
        background-color: #ffffff;
        cursor: not-allowed;
    }

    .pager:before, .pager:after {
        content: " ";
        display: table;
    }

    .pager:after {
        clear: both;
    }

/*  DD styles*/
#sessionControl {
    text-align: right;
    padding-top: .35em
}

.user {
    color: #fff;
    display: none;
    margin: .75rem 1em 0 0;
}

#logout {
    float: right;
    margin: 0 1rem 0 0
}

.requiredLabelCust {
    color: #d34a37;
    font-size: 1.5em;
}

.table caption {
    color: #666;
    font-size: 1.8em; /*same as h2*/
    text-align: left;
}

.table thead {
    font-size: .825em;
}
/* claim number */
abbr.doctype {
    font-weight: bold;
    display: inline-block;
    color: #666;
}

    abbr.doctype:after {
        content: ":";
        padding: 0 .15em;
    }

/*for main context header attributes*/
.datalist {
    display: block;
    margin-bottom: 2em;
    margin-top: -.5em
}

    .datalist dt, .datalist dd {
        display: block;
        line-height: 1.3
    }

    .datalist dt {
        width: 14em;
        font-weight: normal;
        color: #666;
        margin-top: .5em;
        font-size: 1em;
    }

    .datalist dd {
        font-weight: bold;
    }

    .datalist dt:after {
        content: ": "
    }


    .datalist dt, .datalist dd {
        float: left;
        line-height: 1.7
    }

    .datalist dt {
        clear: left;
        margin-top: 0
    }

    .datalist dd {
        clear: right;
    }

    .datalist:after {
        content: "";
        display: table;
        clear: both;
    }
/*for claim procedures table */
.services th:nth-child(0) {
    width: 3em;
}

/*contact info*/
.vcard .org {
    display: block;
    margin-top: 2em;
}

.vcard .organization-unit {
    display: block;
    font-weight: bold
}

.vcard .post-office-box {
    display: block
}

.vcard .postal-code {
    padding-left: .5em
}

/* practice location navigation control */
.locationContext {
    margin: 1em 0 -1em 0;
}

    .locationContext p {
        margin: 0;
        padding: 0;
        color: #069;
    }

    .locationContext span {
        font-size: 1.25em;
        display: inline-block;
        margin-right: .25em;
    }

    .locationContext .street_address:after {
        content: ", "
    }

    .locationContext .detailControl {
        display: none
    }

        .locationContext .detailControl:checked ~ #setLocation {
            display: block;
        }

#currentLocation label {
    font-weight: normal;
    text-decoration: underline;
    margin-left: .5em;
}

#setLocation {
    display: none;
    margin-bottom: 2em;
    background: none;
    width: 100%;
    position: relative;
}

    #setLocation label {
        color: #666;
        font-weight: normal;
        font-size: .875em;
    }

    #setLocation select {
        width: 100%;
        border: 1px dotted #046;
    }

    #setLocation > div {
        border: solid #046;
        border-width: 1px 1px 0 1px;
        padding: 1em;
        background: #eef3f7;
        margin: 0;
    }

    #setLocation .formAction {
        border: 1px solid #046;
        margin: 0;
        background: #a6c6df;
        border-radius: 0 0 8px 8px
    }

    #setLocation[role="form"] {
        max-width: none;
    }

/* claims search form*/
.search[role="form"] {
    max-width: none;
    width: 100%;
    border-bottom: 1px solid #efefef;
    display: block;
    margin-bottom: 1em;
}

.search .form-control {
    display: inline-block;
    width: 14em;
}

.search [type="search"] {
    background: content:"-";
}

.search label {
    display: none
}

.search select.form-control {
    width: auto
}

.search legend {
    font-size: 1.25em;
    border-bottom: none;
    margin-bottom: .25em;
}

.search .byPatient, .byClaimTar, .byDateOfService, .byClaimAmount, .byDuration, #infoText {
    display: none;
}

.search .searchCriteria, .clearSearch {
    display: inline;
}

.search #infoText p {
    text-align: left;
    color: #046b99;
    font-size: 1em;
}

/* extra form styles */
fieldset {
    margin-bottom: 1em;
}

.inlineCheckbox legend {
    font-size: 1em;
    border-bottom: none;
    margin: 0 0 .5em 0;
    font-weight: bold;
    display: inline;
}

.inlineCheckbox label {
    padding: 0 1em .5em 0;
}

#no-history:checked ~ div {
    display: none;
}


/*
BENEFICIARY
*/

.main-primary > footer {
    margin-top: 1em;
}

#logout {
    float: right;
    margin: .5rem 1rem 0 0
}

.table caption {
    color: #666;
    font-size: 1.8em; /*same as h2*/
    text-align: left;
}

.table thead {
    font-size: .825em;
}

/*for main context header attributes*/
.datalist {
    display: block;
    margin-bottom: 2em;
    margin-top: -.5em
}

    .datalist dt, .datalist dd {
        display: block;
        line-height: 1.3
    }

    .datalist dt {
        width: 14em;
        font-weight: normal;
        color: #666;
        margin-top: .5em;
        font-size: 1em;
    }

    .datalist dd {
        font-weight: bold;
    }

    .datalist dt:after {
        content: ": "
    }


    .datalist dt, .datalist dd {
        float: left;
        line-height: 1.7
    }

    .datalist dt {
        clear: left;
        margin-top: 0
    }

    .datalist dd {
        clear: right;
    }

    .datalist:after {
        content: "";
        display: table;
        clear: both;
    }
/*for claim procedures table */
.services th:nth-child(0) {
    width: 3em;
}

/*contact info*/
.vcard .org {
    display: block;
    margin-top: 2em;
}

.vcard .organization-unit {
    display: block;
    font-weight: bold
}

.vcard .post-office-box {
    display: block
}

.vcard .postal-code {
    padding-left: .5em
}

.vcard abbr.region {
    text-decoration: none;
    border-bottom: none;
}

/*
	provider directory listing:
	presentation based on CA guidelines/themes: .profile-list, .accordian-list, .list-overstated
 */
.query-summary {
    margin-top: 2em;
}

    .query-summary span {
        font-weight: normal;
        text-decoration: none;
    }

.vcard.pd {
    margin: 1.5em 0;
    padding: 1em;
    background: #F5F5F5;
}

    .vcard.pd .org, .vcard.pd .n, .vcard.pd .plan {
        text-transform: uppercase;
    }

.vcard .org, .vcard .n {
    margin: 0;
    font-size: 1.15em
}

.vcard .org {
    font-weight: bold;
}

.vcard .p {
    margin: 0;
    padding: 0;
}

.vcard .street-address {
    display: block;
}

.vcard .distance {
    margin-top: .5em
}

    .vcard .distance a {
        margin-right: .75em;
        white-space: nowrap
    }

.vcard .accepting.true {
    color: #014F01
}

.vcard .accepting.false {
    color: #cc0000
}

/*details elements*/
.vcard details {
    margin-top: .5em;
    display: block
}

    .vcard details ul {
        padding: 0 1em;
        list-style: none
    }

.vcard summary {
    font-weight: bold;
    display: block;
    color: #3074AB;
}

    .vcard summary::-webkit-details-marker {
        display: none;
    }

.vcard details summary:before {
    content: "";
    padding: 0 .5em;
    background: transparent url("../images/template2014/bullet-blue-disc.png") no-repeat scroll 0 3px;
}

@supports ((display: -webkit-flex) or (display: -moz-flex)) {
    /*ie hack. use css prefixes to give IE details a static look.*/
    .vcard summary:hover {
        text-decoration: underline;
        color: #2a6496;
        cursor: pointer
    }

    .vcard details[open] summary:before {
        background: transparent url("../images/template2014/bullet-blue-disc-open.png") no-repeat scroll 0 3px;
    }
}


/* PROVIDER*/
/* practice location navigation control */
.locationContext {
    margin: 1em 0 -1em 0;
}

    .locationContext p {
        margin: 0;
        padding: 0;
        color: #069;
    }

    .locationContext span {
        font-size: 1.25em;
        display: inline-block;
        margin-right: .25em;
    }

    .locationContext .street_address:after {
        content: ", "
    }
    /* conditional settings display */
    .locationContext .detailControl {
        display: none;
    }

    .locationContext #addLocation:checked ~ #setLocation {
        display: block
    }

        .locationContext #addLocation:checked ~ #currentLocation, .locationContext #addLocation:checked ~ #setLocation .formAction label {
            display: none
        }

    .locationContext #editLocation:checked ~ #setLocation {
        display: block
    }

    .locationContext #editLocation:checked ~ #currentLocation label {
        display: none
    }

    .locationContext #hideLocation:checked ~ #setLocation {
        display: none
    }

#currentLocation label {
    font-weight: normal;
    text-decoration: underline;
    margin-left: .5em;
}

#setLocation {
    display: none;
    margin-bottom: 2em;
    background: none;
    width: 100%;
    position: relative;
}

    #setLocation label {
        color: #666;
        font-weight: normal;
        font-size: .875em;
    }

    #setLocation select {
        width: 100%;
        border: 1px dotted #046;
    }

    #setLocation > div {
        border: solid #046;
        border-width: 1px 1px 0 1px;
        padding: 1em;
        background: #eef3f7;
        margin: 0;
    }

    #setLocation .formAction {
        border: 1px solid #046;
        margin: 0;
        background: #a6c6df;
        border-radius: 0 0 8px 8px
    }

    #setLocation[role="form"] {
        max-width: none;
    }

/* claims search form*/
.search[role="form"] {
    max-width: none;
    width: 100%;
    border-bottom: 1px solid #efefef;
    display: block;
    margin-bottom: 1em;
}

.search .form-control {
    display: inline-block;
    width: 14em;
}

.search [type="search"] {
    background: content:"-";
}

.search label {
    display: none
}

.search select.form-control {
    width: auto
}

.search legend {
    font-size: 1.25em;
    border-bottom: none;
    margin-bottom: .25em;
}

/* extra form styles */
fieldset {
    margin-bottom: 1em;
}

.inlineCheckbox legend {
    font-size: 1em;
    border-bottom: none;
    margin: 0 0 .5em 0;
    font-weight: bold;
    display: inline;
}

.inlineCheckbox label {
    padding: 0 1em .5em 0;
}

#no-history:checked ~ div {
    display: none;
}

#providerQuery {
    font-size: 1em;
}

    #providerQuery input[type="radio"] {
        height: auto;
        width: auto;
        display: block;
        float: left;
        clear: both;
        margin: .8em 0;
        vertical-align: middle;
    }

    #providerQuery #state label {
        display: inline-block;
        float: left;
        padding: .5em .25em;
    }

#state {
    margin: 1em 0;
}

#providerQuery legend {
    display: block;
    border-bottom: none;
    font-size: 1em;
    margin: 0;
    padding: 0;
}

#providerQuery #diszip {
    clear: both;
    display: none;
}

#providerQuery p#diszip label {
    float: none !important;
    font-weight: normal;
    margin-right: 0
}

#providerQuery #ca:checked ~ #diszip {
    display: block
}


/*fake-server behaviors
0.  pre-query (no or other target #),  show query form and hide results
1.  post-query (target #header) hide query form and show results
2.	search again (target #queryForm), show query form adn show results
*/
/* v.0  - demo


.vcard, 
.query-summary, 
#header:target ~ #main-content #providerQuery,
#map:target ~ #query #providerQuery,
a[href="#header"], 
#query:target > .query-toggle, 
#query:target > .query-toggle, 
.query-toggle {display:none}

#header:target ~ #main-content .vcard,
#header:target ~ #main-content .query-summary,
#map:target ~ .vcard,
#query:target > .query-summary,
#query:target ~ .vcard {display:block}

#query:target a[href="#header"] {display:inline-block}

#map:target ~ #query #providerQuery,
{display:none}
*/

/* v.1 - production */
a[href="#header"] {
    display: inline-block
}

#providerQuery,
#query.new .query-toggle,
#query.new .query-summary,
#query.new a[href="#results"],
#query:target > .query-toggle {
    display: none;
}

#query.new #providerQuery,
#query:target #providerQuery {
    display: block
}

/* #map dependent on JS.  default none.  Us js to add .map class*/
#map, #googleMap {
    display: none
}

    #googleMap details {
        display: none
    }

    #googleMap .vcard.pd {
        padding: 0;
        margin: .5em 0;
        background: #ffffff
    }

#query.map ~ #map, #query.map ~ #googleMap {
    display: block;
    background: #efefef;
    padding: 2em;
    margin: 1em 0;
}

#searchProvidersTitle {
    color: #333333;
    background-color: #fff;
}


/*end fake-server behaviors*/

/*Section Sub Menu*/
main.has-nav > nav.sectionMenu {
    font-size: .875rem;
    border-bottom: 1px dotted #cecece;
    padding-bottom: .625em;
}

    main.has-nav > nav.sectionMenu > p {
        color: #666;
    }

    main.has-nav > nav.sectionMenu a {
        display: inline-block;
        padding: .5em 0;
        margin-bottom: .5em;
        padding-left: 1.3em;
    }

/* v5 hacks */
.global-footer {
    padding-top: 5px;
}

    .global-footer ul {
        margin: 0 1em 5px 1em;
    }

    .global-footer .copyright {
        background: #EFEFEF;
        padding: 5px 0 22px;
    }

.branding .header-organization-banner img {
    width: 100%;
    max-width: 300px
}

.mobile-controls {
    padding-right: 0
}

    .mobile-controls .toggle-menu {
        position: relative;
    }

.header-cagov-logo img + span {
    padding-left: 19px;
}
/* in BETA .btn-primary does not display, transparent properties make it invisible */
.btn-primary {
    background-color: #046b99;
}

    .btn-primary:hover, .btn-primary:focus {
        background-color: #0a246a;
    }

    .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
        background-color: #046B99;
        border-color: #035a80;
    }

form {
    margin-bottom: 1em;
}

#sessionControl {
    float: left;
    /*over-ride sub-nav styles added by v5.1 JS*/
    display: inline-block;
    position: relative;
    top: 0;
    min-width: inherit;
    max-width: inherit;
    border: none;
    background: #fff;
    width: 100%;
}

    #sessionControl button {
        float: left;
        margin-left: 1em;
    }

#applicationTitle {
    text-align: center;
    color: #046b99;
    font-size: 1.5em;
    margin-top: 0.7em;
    margin-bottom: 0em
}

/*breakpoints from cagov.core.css theme*/

@media (min-width:480px) {
    /* match input width to input type on screens > x*/
    .number, input[type="tel"] {
        width: 14em;
    }

    input[type="date"] {
        width: 10em;
    }

    select.form-control {
        width: auto;
        min-width: 14em;
    }

    /* Care Coordination Referral Form DOB */
    .custom-width {
        width: 64.34em !important;
    }
}

@media (min-width:768px) {
    /*t/d forms*/
    .formActions {
        margin: 2em 0 0 0
    }

    [role="form"] {
        max-width: 40em;
    }

    .query-summary span {
        font-weight: normal;
    }

    #providerQuery[role="form"] {
        max-width: none;
    }

    #providerQuery:target {
        display: block
    }

    #providerQuery #params {
        border: solid #777;
        border-width: 1px 1px 0 1px;
        padding: 1em;
        background: #f5f9fb;
        margin: 0;
    }

    #providerQuery p.actions {
        border: 1px solid #777;
        margin: 0;
        background: #9fc7da;
        border-radius: 0 0 8px 8px;
        padding: 1em
    }

    #providerQuery legend {
        display: block;
        border-bottom: none;
        font-size: 1em;
        margin: 0 0 0 -.75em;
        padding: 0;
    }

    #providerQuery #params > legend {
        font-size: 1.3em;
        position: absolute;
        top: 4.25em;
        display: inline-block;
    }

    #providerQuery input[type="radio"] {
        display: inline-block;
    }

    #state label {
        width: auto;
        padding: 0;
        text-align: left;
        border: none;
        font-weight: bold;
        color: inherit;
    }

    #state input[type="radio"]:checked + label {
        background: inherit;
        color: inherit
    }


    #providerQuery label {
        font-weight: normal
    }

    fieldset#state {
        margin-top: 0.1em;
        margin-bottom: .5em;
    }

        fieldset#state label {
            font-weight: bold;
            margin-right: 1em;
        }

    #providerQuery .form-inline legend {
        display: inline-block;
        float: left;
        width: auto;
        margin: .5em .5em 0 0
    }

    /*Section Sub Menu*/
    main.has-nav {
        display: flex;
    }

        main.has-nav > article {
            order: 2;
            width: 80%;
        }

        main.has-nav > nav.sectionMenu {
            order: 1;
            font-size: 1rem;
        }

            main.has-nav > nav.sectionMenu > p {
                display: none;
            }

        main.has-nav > nav.sectionMenu {
            margin: 1.5em 1.5em 0 0;
            padding: 0;
            width: 10.5em;
            border-bottom: none;
        }

            main.has-nav > nav.sectionMenu a {
                display: block;
                padding: .5em .75em;
                border-radius: .25em;
                margin: 0 0 .5em 0;
                border: none;
                margin: 3px 0;
                text-decoration: none;
                white-space: nowrap;
            }

                main.has-nav > nav.sectionMenu a:hover:not(.active) {
                    outline: dotted 1px #000;
                    border-color: #d6d6d6 #d6d6d6 #ddd;
                    text-decoration: none;
                    background-color: #d6d6d6;
                }

            main.has-nav > nav.sectionMenu .active {
                color: #fff;
                background: none;
                color: #555;
                text-decoration: none !important;
            }

    /* v5 hacks */
    .main-navigation {
        padding-left: 350px;
    }

    .two-thirds, .third {
        min-width: 100%;
    }
}

@media (min-width:992px) {
    #sessionControl {
        float: right;
        padding-top: 38px;
    }

        #sessionControl:after {
            border: none;
        }

        #sessionControl button {
            float: right;
        }

    .two-thirds {
    }

    .third {
        min-width: 33.33333333%
    }

    .two-thirds {
        min-width: 66.66666667%
    }
}

@media (min-width:1280px) {
    .user {
        color: #046b99;
        display: inline-block;
        margin: 1.25rem .5rem 0 0;
        font-size: .875rem;
    }
}

.infoLabelCust {
    color: #046B99;
    font-size: 1em;
    font-weight: bold;
    text-align: left;
}


.m-b-cal {
    margin-bottom: -1rem !important;
}

.section {
    padding-top: 0;
}
