.sbsb {background:white; font-family: Arial, "Times New Roman";}
.sbsb .row {margin-right: 0px; margin-left: 0px;}
.clear {clear: both;}
.marginedModule .noPaddingEver, .marginedModule .noPaddingAlt {padding-left: 0px; padding-right: 0px;}
.marginedModule .noPaddingAltLeft {padding-right: 0px;}
.marginedModule .noPaddingAltRight {padding-left: 0px;}

.sbsb p.alert-error {color: white; font-weight: bold; font-size: 20px; background-color: red;}
a.redBrowser, a.redBrowser:visited, a.redBrowser:hover {color: white; font-weight: bold; font-size: 20px; text-decoration: underline;}
.browserMessage {z-index: 9999; position: absolute; top:0px; left:0px;}

.modal-body {
            max-height: 300px;
            overflow-y:scroll;
}
.dataTables_info {color: white;}

/* -- Header -- */
header {width: 81%; margin: auto; margin-top: 8px;}
.sbsbLogo img {height: 60px;}
header .sbsbLogo, header .helpText, header .loginBox {padding-left:0px; padding-right: 0px;}
header .col-xs-6, header .col-xs-5, header .col-xs-7, header .col-xs-4 { margin: 5px 0px; padding: 0px;}
.helpText h1 {text-align:right; margin-top:4px; font-size: 30px; color: black;}
#SBSBHome .helpText h1 {text-align: center; font-size: 25px; margin: 0px; color: black;}
#SBSBHome .helpText {margin-top: 5px;}
#SbsbHome .sbsbLogo img {margin-bottom: 8px;}
.phoneNumber, .phoneNumber:hover, .phoneNumber:visited, .phoneNumber:focus {color: black; text-decoration: none; cursor: text;}
		
/* --Main Body -- */

	/* --Content Styles -- */
	main {background: rgb(65, 100, 175); padding: 20px 0; clear: both; }
	.mainContent {margin: 0 auto; }
	#SBSBHome .marginedModule {width: 52%; margin: 20px 10%; }
    .marginedModule {width: 81%; margin: 0 auto; }
	

	/* --Text Styles -- */
	main h1 {font-size: 35px; margin-top: 5px; color: white;}
	main h2 {font-size: 20px; color: white;}
	main h3, main legend {font-size: 17px; color: white;}
	main p, main a, main a:visited, main a:hover, main a:focus, main dd, main label, main ol li, main ul li {font-size: 14px; color: white;}
	main dt {text-decoration: underline; margin-top: 10px;}
	main dd a {text-decoration: underline; font-weight: bold;}


	/* --Login Page Styles -- */
	.login-div {width: 265px; z-index: 99;}
	.login-div .login-row {text-align: center; margin-bottom: 10px;}
	.loginText {color: white; font-size: 20px;}
	.login-forgotpw {color: white;}
	.login-forgotpw:hover, .login-forgotpw:visited {color: white;}
	.login-text {width: 220px;}
	.login-div .btnLogin, .login-div .btnLogin:hover {font-size: 16px; background: rgb(85,130,200); height: 35px; width: 220px; border: none; text-align: center; color: white; border-radius: 18px;}

	/* --Login Box Styles -- */
	.sbsb .loginBox {position: absolute; top: 10px; right: 0px;}
	.sbsb .login-div {background: rgb(25,70,125);}
    .sbsb .loginRight {text-align: right; padding-right: 10px;}
    .sbsb .loginLeft {text-align: left; padding-left: 10px;}


    /* -- Nav Menu -- */
    .menu {float: right;}
    .level-1 li a:hover {text-decoration: underline;}
    .menu li a {color: black; display: block; padding: 0px; position: relative; font-size: 22px;}
    a.menu-link {display: none;}
    .js .menu, .js .menu > ul ul {overflow: hidden; max-height: 0;}
    .level-1 li.linkBorder {margin-top: -3px;}

        /* -- For desktops only -- */
        @media only screen and (min-width: 1280px) {
        .js .menu, .js .menu > ul ul {max-height: none; overflow: visible; background: none;}
        .js .menu > ul ul {background: white; display: none; z-index: 1;}
        .js .menu > ul li:hover > ul {display: block;}
        ul.level-1 {position: relative; list-style-type: none;}
        ul.level-1 > li {float: left; margin-left: 8px;}

        /*Login failed message when in desktop*/
        .sbsb .dnnFormValidationSummary {background: red; color: white;}
      
        }


	/* --Home Page -- */
	.basicModule {text-align: center;}
	.sbsb .pickOne {width: 80%; margin: 20px auto; }
	#SBSBHome main {padding: 20px 0 45px 0; clear: both; }
	#SBSBHome .basicModule img {height: 200px;}
	#SBSBHome h2 {margin:0px;}



/* --Footer -- */
footer {width: 81%; margin: auto; padding: 15px 0;}
footer ul {text-align: center; margin-left: 0px;}
footer li { display: inline-block; margin: 0 5px;}
.footerLinks li a {color: black; font-size: 18px; }
.footberLinks li a:hover {text-decoration: underline;}
.copyrightLinks {margin-bottom: 0px;}
footer img {height: 30px;}
.linkBorder {font-size: 23px;}


/* --Renewal -- */
.darkBlue {background: rgb(25,70,125); padding:30px;}
.darkBlue dt {color: white; float: left; text-decoration: none; margin-top: 0px; padding-right: 10px;}
.darkBlue h3 {margin-top: 0px;}
.darkBlue a {text-decoration: underline;}
.darkBlue .col-xs-2, .darkBlue .col-xs-5 {padding-right: 0px; padding-left: 0px;}
.darkBlue .dtnoMargin {margin-top: 0px;}
.row-fluid .btnDone, .row-fluid .btnDone:hover {border: none; width: 125px; position: relative; border-radius: 15px; text-align: left; padding-left: 20px; font-size: 20px; background-color: white; color: rgb(65, 100, 175); margin-right: 0px; background-image: url(images/blueNext.png); background-repeat: no-repeat; background-position: 85px 3px;}
.row-fluid .btnChangePlan, .row-fluid .btnChangePlan:hover {border: none; width: 190px; position: relative; border-radius: 15px; text-align: left; padding-left: 20px; font-size: 20px; background-color: white; color: rgb(65, 100, 175); margin-right: 0px; background-image: url(images/blueNext.png); background-repeat: no-repeat; background-position: 150px 3px;}
.row-fluid .btnChangeCensus, .row-fluid .btnChangeCensus:hover {border: none; width: 218px; position: relative; border-radius: 15px; text-align: left; padding-left: 20px; font-size: 20px; background-color: white; color: rgb(65, 100, 175); margin-right: 0px; background-image: url(images/blueNext.png); background-repeat: no-repeat; background-position: 178px 3px;}
.row-fluid .col-xs-5.btnCol {text-align: right;}

/* --Forgot Password -- */
.dnnForm .dnnFormItem > span {color: white;}
.dnnForm .dnnFormMessage > span {color: white;}

/* --Buttons -- */
.control-group .btnSubmit:after {right: 5px; top: 3px; position: absolute; display: block; height: 34px; width: 34px; content: ""; background: url(images/blueNext.png) no-repeat center; }
.control-group .btnSubmit {border: none; width: 140px; position: relative; border-radius: 15px; text-align: left; padding-left: 20px; font-size: 20px; background-color: white; color: rgb(65, 100, 175); margin-top: 25px;}
.control-group .btnSubmit:hover {background-color: white; color: rgb(65, 100, 175);}

.controls .btn-download {background: none repeat scroll 0 0 white;border-radius: 15px;color: #357ebd;font-size: 20px;float:right;}
.controls .btn-download:hover, .controls .btn-submit:hover {background-color: white; color: #357ebd;}

.controls .btnLeft {float: left;}

/*Plans Table*/
#mymosaic-plans-accordion .panel-heading {padding: 10px 0px;}

/*My enrollments table*/
.row-fluid .myEnrollmentsTable {padding-left: 15px; padding-right: 15px;}

/*Registration page*/
.row .radio {margin-left: 10px;}
.pass_info, .answer_info, .password_info {color: white;}


@media only screen and (max-width: 1279px) {
    .sbsb .dnnFormValidationSummary {width: 100%; max-width: 100%; margin-top: 10px; margin-bottom: 0px; background: red; color: white; font-size: 18px;}

    .ModJPMemberChatC {display: none;}

    header {width: 100%; margin: 0 auto; padding: 1px;}
    .sbsbLogo {text-align: center;}
    #SbsbHome .sbsbLogo img {margin-bottom: 0px;}
    #SBSBHome .helpText h1 {font-size: 20px;}
    .phoneNumber, .phoneNumber:hover, .phoneNumber:visited, .phoneNumber:focus {color: rgb(25,70,125); text-decoration: underline;}

    .sbsb .loginBox {position: relative; top:0px; right: 0px;}
    .sbsb .login-div {margin: 10px auto 5px auto; width: 270px; height: 285px; border-radius: 12px; position: relative;}

    .sbsb .login-row input {height:35px;}

    .sbsb .sbsbLogo, .sbsb .helpText, .sbsb .loginBox {padding-right: 0px; padding-left: 0px;}
    .login-div a.login-forgotpw {background-color: rgb(85,130,200); border-radius: 15px; padding:8px 44px;} 
    .login-div .forgotPW {margin-top: 25px; margin-bottom: 23px;}

    .marginedModule, #SBSBHome .marginedModule {width: 88%; margin: 0 auto; padding: 10px 0; }
    #SBSBHome .basicModule img {height: 125px;}
    .indPick, .sbPick {margin-bottom: 25px;}

    main h1 {font-size: 30px;}
    main h2 {font-size: 25px;}
    .helpText h1 {text-align:center; font-size: 20px;}

    footer {width: 100%; margin: 5px auto; padding: 5px;}
    .footerText p {font-size: 10px;}

    footer ul.footerLinks li:not(.linkBorder) {background-color: rgb(85,130,200); border-radius: 12px; padding:8px; margin-bottom:10px;} 
    footer ul.footerLinks li:not(.linkBorder) a {color: white;} 
    footer .linkBorder {display: none;}

    header .sbsbLogo {width: 100%;}
    header .helpText {width:100%;}
    header .loginBox {width:100%;}

    /* -- Nav Menu -- */
    .menu .level-1 li a {border-bottom: 1px solid white; text-align: left; background: rgb(65,100,175); color: white; cursor: pointer; text-align: center;}
    a.menu-link {text-align: center; background: rgb(65,100,175); display: block; padding: 5px; border-bottom: 1px solid white; font-weight: bolder; font-size: 30px;}
    a.menu-link, a.menu-link:visited, a.menu-link:hover, a.menu-link:active{color: white!important; text-decoration: none!important;}
    .menu, .menu > ul ul {clear: both;}
    .menu.active, .js .menu > ul ul.active {max-height: 880px;}
    .menu {margin-top: 0px; margin-bottom: 10px; width: 100%;}
    .menu ul {list-style-type: none;}
    .menu ul {margin-left: 0px;}
    ul.level-1 li a {padding: 10px;}
    .level-1 li a:hover {text-decoration: none;}
    .level-1 li a:hover {color: rgb(65,100,175); background: white;}

    header .linkBorder {display: none;}

    /* Forgot password dnn module styles*/
    .sbsb .dnnSendPasswordContent {width: 100%;}
    .sbsb .dnnSendPasswordContent input[type=text] {width: 240px;}
    .sbsb .dnnLabel {width: 100px;}
    .sbsb .dnnSendPasswordContent ul.dnnActions {padding: 0px;}


    .fieldsetgroup .fieldset-wrapper {padding: 20px;}
    .marginedModule .fieldset-wrapper  {padding: 20px 5px;}

    a.lnkClick, a.lnkClick:visited, a.lnkClick:hover {padding: 10px; background: white; color: rgb(55,100,195); font-size: 15px; border-radius: 25px; text-decoration: none!important;}

    /*Single Plan View*/
    .darkBlue {padding: 15px;}
    .darkBlue .dl-horizontal dd {margin-left: 160px;}
    .row ul.list-unstyled {margin-left: 0px;}


    /*Table for my enrollments*/
    .myEnrollmentsTable thead th {display: none;}
    .marginedModule .myEnrollmentsTable tbody td {display: block; border: none; border-top: none;}
    .myEnrollmentsTable td:before {content: attr(data-th); font-size: 14px; font-weight: bolder;}
    .myEnrollmentsTable tbody tr {border: 1px solid white; width: 50%; float: left;}


} /*End main media styles*/

.widthImage img {width: 95px;}

@media only screen and (max-width: 991px) {
    /*Fixing issue with padding when md vs sm with bootstrap*/
    .marginedModule .noPaddingAltLeft, .marginedModule .noPaddingAltRight  {padding-right: 0px; padding-left: 0px;}
    .marginedModule .darkBlue .widthImage, .marginedModule .darkBlue .summary-info {padding-right: 0px; padding-left: 0px;}
    .marginedModule .darkBlue .dl-horizontal dt {text-align: left;}

}


@media only screen and (max-width: 950px) {
/*Table for census view*/
.censusTable thead th {display: none;}
.marginedModule .censusTable tbody td {display: block; border: none; border-top: none;}
.censusTable td:before {content: attr(data-th); font-size: 14px; font-weight: bolder;}
.censusTable tbody tr {border: 1px solid white; width: 50%; float: left;}
.marginedModule .sbsb-table-wrap {padding: 10px 15px;}

/*Table for plans*/
.plansTable thead th {display: none;}
.marginedModule .plansTable tbody td {display: block; border: none; border-top: none;}
.plansTable td:before {content: attr(data-th); font-size: 14px; font-weight: bolder;}

/*Table for quotes view*/
.quotesTable thead th {display: block;}
.marginedModule .quotesTable tbody td {display: block; border: none; border-top: none; text-align: center;}
.quotesTable td:before {content: attr(data-th); font-size: 14px; font-weight: bolder;}
.quotesTable tbody tr {border: 1px solid white;}

}


@media only screen and (max-width: 600px) {
/*Fixing small screen census view*/
.censusTable tbody tr {width: 100%;}


}

@media only screen and (max-width: 875px) {
/*Fixing small screen myenrollment view*/
.myEnrollmentsTable tbody tr {width: 100%;}

}

@media only screen and (max-width: 400px) {
.sbsbLogo img {height: 50px;}
}


/*Joe's CSS */


.fieldsetgroup {
    display: flex;
    flex-wrap: wrap;
}

.fieldsetgroup > div {
    display: flex;
    margin: 15px 0;
}

.fieldset-group-header {
    border-bottom: 1px solid;
    margin-bottom: 5px;
    margin-top: 50px;
    padding-bottom: 5px;
    width: 100%;
}

.fieldset-wrapper {
    background: none repeat scroll 0 0 #19467d;
    padding: 30px;
}


.fieldsetgroup .cg {
    margin-bottom: 15px;
}

.fieldsetgroup .control-label {
    position: relative;
}

.fieldsetgroup .requi {
    left: -9px;
    position: absolute;
    top: -5px;
}

.control-group .controls .btn-submit {
    background: none repeat scroll 0 0 white;
    border-radius: 15px;
    color: #357ebd;
    font-size: 20px;
    float:left;
}

.my-enrollments-header {
    border-bottom: 1px solid #fff;
}

#broker-myenrollments .checkbox {
    background: none repeat scroll 0 0 #19467d;
    float:none;
    left:auto;
    top: auto;
    display:inline-block;
    padding:10px;
}

.sbsb-table-wrap {
    background: none repeat scroll 0 0 #19467d;
    margin: 30px 0 15px;
    padding: 15px 30px;
}

.sbsb-table-wrap .sbsb-table {
    margin:0;
}

.sbsb-table tbody tr:hover{
    background-color:rgba(255, 255, 255, 0.2);
}

.my-enrollments-footer{
    color: white;
    display: block;
    position: relative;
    text-align: right;
    top: 0px;
    width: 100%;
}

.row-fluid .my-enrollments-footer{
    top: 0px;
    }


.my-enrollments-header h2 {
    display: inline-block;
}

.sbsb-table td, 
.table.sbsb-table thead tr th,
.my-enrollments-header > span,
.payment span,
.sbsb-accordion-wrapper .panel-default .panel-heading a,
#mymosaic-enroll-info span, 
#mymosaic-bill-info span,
.fieldset-wrapper legend {
    color: #fff;
}

.sbsb-footer-control {
    background: none repeat scroll 0 0 #19467d;
    display: inline-block;
    padding: 15px;
}

.sbsb-footer-control > label {
    margin: 0;
}

.sbsb-footer-control label select {
    color: #000000;
    font-weight: normal;
    margin-left: 9px;
}

.panel-group .panel.panel-default,
.panel-group .panel-heading,
.panel-group .panel-collapse{
    border-radius:0;
}

.sbsb-accordion-wrapper .panel-default .panel-heading{
    background: none repeat scroll 0 0 #19467d;
}

.alert.alert-error{
    background: none repeat scroll 0 0 rgba(255, 235, 235, 1);
    color: red;
}

.sbsb-accordion-wrapper .control-label {
    color: #000;
}

.form-control.sbsb-select{
    width:auto;
    display:inline-block;
    margin-left:4px;
    margin-top: 10px;
}

.sbsb-table-wrap.no-margin{
    margin:0;
}

.w100{
    width:100%;
}

.hide.in{
    display:block !important;
}

.modal.hide{
    top:35px;
    bottom:auto;
    max-width:1024px;
    background:#fff;
    margin:0 auto;
}

.modal-header > h3 {
    color:#000;
}

.mt10{
    margin-top:10px;
}

.text-error {
    color: red;
    margin-top: 7px;
    text-shadow: 0 0 1px white;
}

.required-fail{
    box-shadow: 0 0 7px 2px rgb(255, 100, 100) !important;
}

.control-group.topMargin {
    margin-top: 15px;
}