/* Skip to main content (accessibility) — larger pill for visibility / touch; not tied to #topbar height */
.skip-to-main {
    position: absolute;
    top: 5px;
    left: 5px;
    transform: translateY(calc(-100% - 2px));
    z-index: 999999;
    padding: 0.75rem 1.5rem;
    background: var(--primary);
    color: #fff !important;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 400;
    text-decoration: none;
    /* Matches healthspring.com leaf-button (--leaf-border-radius-large ≈ 30px) */
    border-radius: 30px;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

    .skip-to-main:hover {
        color: #fff !important;
    }

    .skip-to-main:focus-visible {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
        outline: 1px solid rgba(255, 255, 255, 0.8);
        outline-offset: 1px;
    }

@media (prefers-reduced-motion: reduce) {
    .skip-to-main {
        transition: none;
    }
}

/*!Navbar styles*/ /*!Smart App CSS
Just edit the colors where needed*/ /*! END Smart App CSS*/ /*!Smart Search CSS*/ /*!END Smart Search CSS*/ /*!PRODUCTS*/

.btn, .nav-link {
    transition: .3s ease-in-out
}

body {
    padding-top: 145px;
    background-color: var(--light);
    font-family: open sans,Arial !important;
}

h1 {
    font-family: halyard-display,open sans;
    line-height: 1.25;
    font-size: 64px
}

@media(max-width:768px) {
    h1 {
        font-size: 56px;
    }

    h2 {
        font-size: 24px
    }
}

/*!Navbar styles*/ .navbar-light a {
    font-weight: 700;
    border-bottom: 3px solid var(--light);
    margin-left: 10px;
    margin-right: 10px
}

.navbar-light .nav-item a:hover {
    font-weight: 700 !important;
    color: var(--secondary) !important;
    border-bottom: 3px solid var(--secondary)
}

#topbar {
    font-size: 14px
}

.accordion .table td, .card.psl-result-title, .navbar-toggler {
    border: 0 !important
}

.bg-darker {
    background: #333 !important
}

header.home {
    background: url("img/hero-bg14.jpg") top right no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover
}

header.faqs {
    background: url("img/hero-bg9.jpg") top right no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
}

header.privacy {
    background: url("img/hero-bg4.jpg") top right no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover
}

header.terms {
    background: url("img/hero-bg16.jpg") top right no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover
}

header.search {
    background: url("img/hero-bg15.jpg") top right no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover
}

.section-title h2, .section-title-tab h3.tab-title {
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
    color: #333
}

    .section-title h2::before, .section-title-tab h3.tab-title::before {
        content: '';
        position: absolute;
        display: block;
        width: 120px;
        height: 1px;
        background: #ddd;
        bottom: 1px;
        left: calc(50% - 60px)
    }

    .section-title h2::after, .section-title-tab h3.tab-title::after {
        content: '';
        position: absolute;
        display: block;
        width: 40px;
        height: 3px;
        background: var(--secondary);
        bottom: 0;
        left: calc(50% - 20px)
    }

.hero-cont {
    border-radius: .75rem !important
}

.top-text {
    margin-top: -150px
}

.top-textB {
    margin-top: -100px
}

.border-radius {
    border-radius: .75rem !important
}

.nav-tabs a {
    background: #f4f4f4;
    font-weight: 700;
    color: #333 !important;
    margin-bottom: 1px
}

    .nav-tabs a.active, .nav-tabs a:hover.nav-link {
        background: var(--primary) !important;
        font-weight: 700;
        color: #fff !important
    }

.accordion .card-header {
    background: #fff;
    border: 0;
    padding-left: 0;
    padding-right: 0
}

    .accordion .card-header td {
        color: var(--text-primary) !important
    }

.accordion .card {
    border: 0
}

.accordion .card-body {
    padding: 0;
    margin-bottom: 20px
}

.accordion h3 {
    font-size: 16px
}

header {
    height: 740px
}

    header.sub {
        height: 540px
    }

@media(max-width:1400px) {
    header {
        height: 700px
    }
}

@media(max-width:1200px) {
    header {
        height: 640px
    }
}

@media(max-width:992px) {
    header.sub {
        height: 500px
    }

    header {
        height: 540px
    }
}

.w-95 {
    width: 95% !important
}

.accordion .card-title {
    cursor: pointer
}

.accordion .card-header:after {
    font-family: 'Font Awesome 5 Pro';
    content: "\f077";
    float: right;
    color: var(--primary);
    font-weight: 700;
    margin-top: 10px
}

.accordion .card-header.collapsed:after {
    content: "\f078"
}

#back-top {
    position: fixed;
    display: none;
    bottom: 5px;
    right: 10px;
    width: auto;
    background: var(--secondary);
    color: #fff;
    padding: 10px 15px;
    border-radius: 50%
}

footer {
    box-shadow: 0 2px 15px rgba(25,119,204,.1)
}
/*!Smart App CSS
Just edit the colors where needed*/ .panel .accordionCustomClass .panel-heading {
    background-color: var(--dark) !important;
    color: #fff !important;
    padding: 10px !important;
    height: 40px !important
}

.panel .accordionCustomClass .panel-default > .panel-heading {
    border-color: transparent !important;
    height: 40px !important;
    color: #fff !important
}

.custom-theme .bs-datepicker-head {
    background-color: var(--danger) !important
}

.red, .text-red {
    color: red !important
}

.custom-theme .bs-datepicker-body table td span.selected, .custom-theme .bs-datepicker-body table td span[class*=select-]:after, .custom-theme .bs-datepicker-body table td.selected span, .custom-theme .bs-datepicker-body table td[class*=select-] span:after {
    background-color: #e9edf0;
    color: #000
}

.smart-app.nav-pills a.active {
    color: #fff;
    background: var(--primary) !important;
    border: 0 !important
}

.smart-app.nav-pills a {
    border: 1px solid #333
}

.bbbsa {
    width: 80px !important;
    height: 50px !important;
    max-width: 100% !important
}

.chasa {
    width: 148px !important;
    height: 50px;
    max-width: 148px !important
}

.chassa, .entsa {
    height: 50px;
    max-width: 100% !important
}

.entsa {
    width: 39px !important
}

.chassa {
    width: 190px !important
}
/*! END Smart App CSS*/ /*!Smart Search CSS*/

.psl.custom-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.n-line {
    text-decoration: none !important
}

.psl-dropdown:after {
    content: none !important
}

.shadow-lg-up {
    box-shadow: 0 0 3rem 0 rgba(0,0,0,.5) !important
}

#mapDirCont {
    z-index: 9999 !important
}

.psl-directions {
    height: 500px
}

.inline-block {
    display: inline-block !important
}

.psl-count, .psl-shortcuts {
    text-align: right
}

.CMAL td, .CRNT td, .HMIP-COLUMNS th, .MTMD td, .prov-info {
    width: 33% !important
}

.network-logos {
    max-width: 80px !important;
    width: 100% !important
}

.hide {
    display: none !important
}

@media(max-width:1024px) {
    .psl-directions {
        height: 500px
    }
}

@media(max-width:768px) {
    #topbar {
        font-size: 12px
    }

    .skip-to-main {
        font-size: 0.9375rem;
        padding: 0.625rem 1.25rem
    }

    .hero-cont {
        border: 0
    }

    header.home {
        background: url("img/hero-bg14.jpg") top right -300px no-repeat !important;
        -webkit-background-size: contain;
        -moz-background-size: contain;
        -o-background-size: contain;
        width: 100%;
        height: auto;
    }

    header.faqs {
        background: url("img/hero-bg9.jpg") top right -525px no-repeat !important;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover
    }

    header.privacy {
        background: url("img/hero-bg4.jpg") top right -475px no-repeat !important;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover
    }

    header.terms {
        background: url("img/hero-bg16.jpg") top right -450px no-repeat !important;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover
    }

    header.search {
        background: url("img/hero-bg15.jpg") top -75px right -350px no-repeat !important;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover
    }

    .top-text {
        margin-top: -50px
    }

    .psl-directions {
        height: 500px
    }

    .psl-count, .psl-title {
        text-align: center
    }

    .psl-shortcuts {
        text-align: left
    }

    .prov-info {
        width: 40% !important
    }
}
/*!END Smart Search CSS*/ .disclosure p {
    font-size: 12px !important
}

.disclosure a {
    color: #fff !important
}

@media(max-width:480px) {
    header.home .btn {
        display: block !important
    }

    header.home .btn-primary {
        margin-top: 10px
    }

    .PRODUCT img {
        display: none !important
    }
}

.plan-details-table a {
    display: inline-block
}

.plan-details-table td:first-child {
    width: 30%
}

.CMAL td, .CRNT td, .LAPN-PRICING td, .MTMD td {
    text-align: left !important
}
/*!PRODUCTS*/ .btn-group > .btn-group, .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .dropdown-menu {
    float: left
}

.PRODUCT td {
    vertical-align: middle !important
}

.PRODUCT th {
    vertical-align: bottom !important;
    background: var(--dark) !important;
    color: #fff !important
}

.avg-savings, .avg-savings-num {
    background: var(--dark);
    color: #fff;
    font-weight: 700
}

.CMAL table {
    max-width: 500px !important;
    width: 100% !important
}

.avg-savings {
    border-right: 0 !important
}

.CMAL td, .CRNT td {
    font-weight: 400 !important;
    vertical-align: top !important;
    border-left: 0 !important
}

.LAPN-PRICING {
    max-width: 400px !important
}

.TDOC .video-table td:first-child, .TVIP .video-table td:first-child {
    border-right: 1px solid #fff !important
}

.TDOC td, .TDOC th, .TVIP td, .TVIP th {
    padding: 0 !important;
    border: 0 !important
}

.TDOC .video-table, .THREECOLUMN td:nth-child(2), .THREECOLUMN td:nth-child(3), .THREECOLUMN th:nth-child(2), .THREECOLUMN th:nth-child(3), .TVIP .video-table {
    text-align: center
}

.LCA td, .LCA th {
    text-align: center !important
}

.VSPS td:first-child, .VSPS th:first-child {
    width: 35% !important;
    text-align: right !important
}

.VSPS td:nth-child(2), .VSPS th:nth-child(2) {
    width: 65% !important
}

.FIVECOLUMN td:nth-child(4), .FIVECOLUMN td:nth-child(5), .FIVECOLUMN th:nth-child(4), .FIVECOLUMN th:nth-child(5) {
    font-weight: 700 !important
}

.TWOCOLUMN td:nth-child(2), .TWOCOLUMN td:nth-child(3), .TWOCOLUMN th:nth-child(2), .TWOCOLUMN th:nth-child(3) {
    width: 50%
}

.FOURCOLUMN td:nth-child(2), .FOURCOLUMN td:nth-child(3), .FOURCOLUMN td:nth-child(4), .FOURCOLUMN th:nth-child(2), .FOURCOLUMN th:nth-child(3), .FOURCOLUMN th:nth-child(4) {
    text-align: center;
    width: 22%
}

.FIVECOLUMN td:nth-child(2), .FIVECOLUMN td:nth-child(3), .FIVECOLUMN td:nth-child(4), .FIVECOLUMN td:nth-child(5), .FIVECOLUMN th:nth-child(2), .FIVECOLUMN th:nth-child(3), .FIVECOLUMN th:nth-child(4), .FIVECOLUMN th:nth-child(5) {
    text-align: center;
    width: 17%
}

.SIXCOLUMN th:nth-child(2), .SIXCOLUMN ttd:nth-child(2), .text-left {
    text-align: left
}

.SIXCOLUMN td:nth-child(2), .SIXCOLUMN td:nth-child(3), .SIXCOLUMN td:nth-child(4), .SIXCOLUMN td:nth-child(5), .SIXCOLUMN td:nth-child(6), .SIXCOLUMN th:nth-child(2), .SIXCOLUMN th:nth-child(3), .SIXCOLUMN th:nth-child(4), .SIXCOLUMN th:nth-child(5), .SIXCOLUMN th:nth-child(6) {
    text-align: center;
    width: 16%
}

.SEVENCOLUMN td:nth-child(2), .SEVENCOLUMN td:nth-child(3), .SEVENCOLUMN td:nth-child(4), .SEVENCOLUMN td:nth-child(5), .SEVENCOLUMN td:nth-child(6), .SEVENCOLUMN td:nth-child(7), .SEVENCOLUMN th:nth-child(2), .SEVENCOLUMN th:nth-child(3), .SEVENCOLUMN th:nth-child(4), .SEVENCOLUMN th:nth-child(5), .SEVENCOLUMN th:nth-child(6), .SEVENCOLUMN th:nth-child(7) {
    text-align: center;
    width: 12%
}

@media (min-width:768px) {
    .TVIP .video-table td {
        display: table-cell
    }
}
