:root {
  font-size: 16px; }

* {
  font-family: var(--main-font), sans-serif !important; }

*,
*::before,
*::after {
  box-sizing: border-box; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

caption,
th,
td {
  text-align: left;
  font-weight: normal; }

blockquote,
q {
  quotes: none; }

html,
body {
  min-height: 100vh; }

body {
  background-color: #ededed;
  background-image: repeating-linear-gradient(-45deg, #e8e8e8 0, #e8e8e8 16px, rgba(255, 255, 255, 0) 16px, rgba(255, 255, 255, 0) 32px);
  background-attachment: fixed;
  color: #111;
  font-size: 0.875em;
  font-family: "Helvetica Neue", helvetica, arial, sans-serif; }

.clear-left {
  clear: left; }

.clear-right {
  clear: left; }

a {
  color: #09d;
  text-decoration: none; }
  a:hover {
    color: #0087c4;
    text-decoration: underline; }

.alert {
  color: #f86060; }

.success {
  color: #347c17; }

.flash {
  margin-bottom: 1em;
  padding: 0.5em;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  color: #fff; }

.flash.error {
  background: #e05f4f; }

.flash.notice {
  background: #6ab915; }

#header {
  background: #525252;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  padding: 16px; }
  #header #logo {
    color: #fff;
    display: inline-block; }
  #header #logo img,
  #header .logo-caremerge {
    height: 45px;
    vertical-align: middle; }

#header.header-bg-light {
  background: #E3E3E3; }

#content {
  padding: 24px; }

.box {
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: 40px 16px 0; }
  @media (max-width: 640px) {
    .box {
      padding: 20px 8px 0; } }
  .box #container {
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 13px 27px -5px rgba(50, 50, 93, 0.25), 0 8px 16px -8px rgba(0, 0, 0, 0.3), 0 -6px 16px -6px rgba(0, 0, 0, 0.025);
    margin: auto;
    max-width: 480px;
    transform: translateY(-20px);
    width: 100%; }

.box form {
  width: 100%; }
  .box form .field {
    font-size: 1rem;
    margin-bottom: 1em; }
    .box form .field > label {
      display: inline-block;
      font-size: 0.875em;
      margin-bottom: 4px; }
    .box form .field span {
      color: #ccc; }

.box form .text-field input,
.box form .text-area textarea {
  border: 1px solid #e3e3e3;
  border-radius: 3px;
  font-size: 0.875em;
  padding: 0.5em;
  width: 100%; }

.box form .text-field input {
  height: 36px; }

.box form .text-area textarea {
  height: 6em;
  font-size: 0.75em; }

.box form .button {
  color: #fff;
  background: #525252;
  padding: 0.5em 0.7em;
  border: 0;
  cursor: pointer;
  border-radius: 5px; }

.box .addon-content {
  padding: 0.825em;
  text-align: center; }

.box .addon-content-left {
  border: 1px dashed #0099dd;
  padding: 0.825em;
  text-align: left;
  margin-top: 0.825em;
  margin-bottom: 0.825em; }

.box .addon-content img {
  padding-right: 0.825em; }

.box .addon-content .what-will-happen {
  text-align: left; }

.box .addon-content span.agree-to-policies {
  font-size: 0.8em;
  text-align: left; }

.box .addon-content-left span.remember-me-message {
  font-size: 0.75em;
  text-align: left; }

.box .addon-content.alert {
  font-size: 0.75em;
  background: #fc0; }

.box .addon-content.omni-auth {
  text-align: left; }

.box .addon-content.omni-auth h3 {
  font-weight: normal;
  font-size: 1em;
  margin-bottom: 0.3em; }

.box .addon-content.omni-auth p {
  font-size: 0.75em;
  margin-bottom: 0.825em; }

.box .addon-content.omni-auth p.omni-buttons {
  text-align: center; }

.box .addon-content.omni-auth p.omni-connected {
  color: #ccc; }

.box .separate-with-commas {
  float: left;
  margin-top: 0.4em; }

.box .ui-autocomplete {
  list-style: none;
  background: #fff;
  border: 1px solid #e3e3e3;
  border-top: none;
  width: 1px; }

.box .ui-autocomplete a {
  text-decoration: none;
  cursor: pointer;
  color: #111;
  padding: 0.25em 0.5em;
  display: block; }

.box #ui-active-menuitem {
  background: #e5ecf3; }

.box .account-cancellation h3 {
  font-weight: normal; }

.box .account-cancellation p {
  margin-top: 1em; }

.box .closed {
  text-align: center; }

.box.error #header #logo {
  height: 1.8em; }

.box.error h1 {
  font-size: 1.5em;
  font-weight: normal;
  margin-bottom: 0.825em; }

.signupheader h2 {
  color: #fff;
  font-size: 16px;
  padding-top: 28px;
  float: right;
  margin-right: 26px; }

.content_signup {
  float: left !important;
  padding: 33px;
  margin-top: 0px !important;
  padding-top: 0px; }

.content_signup hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

.account_left {
  float: left;
  width: 50%; }

.signup_login {
  float: left;
  width: 100%;
  padding-bottom: 2%; }

.hidden {
  display: none; }

.intro_info {
  float: left;
  width: 100%; }

.intro_info_left {
  float: left;
  width: 45%;
  padding-top: 1%; }

.intro_info_right_desc {
  color: #f73e3e;
  float: left;
  font-size: 13px;
  margin-left: 47px;
  margin-right: 14px;
  width: 40%; }

.account_left .ui-btn-text {
  font-size: 11px !important; }

.intro_info_right_img {
  float: left;
  height: 100px;
  width: 80px;
  overflow: hidden; }

.intro_info_right {
  float: right;
  width: 45%;
  padding-left: 10%; }

.account_right {
  float: left;
  width: 50%; }

.account_left .text-field input {
  width: 58% !important;
  border: 1px solid #00ccff !important; }

.mobile_signup_form .account_left {
  float: left;
  width: 50%; }

.mobile_signup_form .signup_login {
  float: left;
  width: 100%;
  margin-left: 2%;
  padding-bottom: 2%; }

.mobile_signup_form .intro_info {
  float: left;
  width: 100%;
  padding-left: 2%; }

.mobile_signup_form.intro_info_left {
  float: left;
  width: 45%;
  padding-top: 1%; }

.signup-slider {
  margin: 10px 0px 10px 0px;
  background: whitesmoke; }

.signup-slider .slider-text {
  font-size: 10pt;
  margin-bottom: 10px;
  padding: 10px;
  text-shadow: 1px 2px 1px white;
  color: black;
  font-family: verdana; }

.signup-slider-with-nav {
  background: whitesmoke; }

#nav a.activeSlide {
  color: gray; }

#nav a {
  font-size: 18pt; }

#nav a:hover {
  font-size: 18pt;
  text-decoration: none; }

.intro_info_left_name {
  font-size: 22px; }

.intro_info_left_email {
  font-size: 14px; }

.mobile_signup_form .intro_info_right_desc {
  color: #b2f866;
  float: left;
  font-size: 13px;
  margin-left: 68px;
  margin-right: 14px;
  width: 40%; }

.account_left .ui-btn-text {
  font-size: 11px !important; }

.mobile_signup_form .intro_info_right_img {
  float: right;
  height: 100px;
  width: 80px;
  overflow: hidden;
  /*    margin-left: 20%;*/ }

.mobile_signup_form .intro_info_right {
  float: right;
  width: 45%;
  padding-left: 10%; }

/*#account_section{float: left;}*/
.mobile_signup_form .account_right {
  float: left;
  width: 50%; }

.mobile_signup_form .account_left .text-field input {
  width: 58% !important;
  border: 1px solid #00ccff !important; }

/* Family Member Signup */
#error-heading {
  margin: 0;
  padding: 10px;
  display: block;
  font-size: 10pt;
  background-color: #f0eaea;
  border-bottom: 1px solid gray;
  color: #e05f4f; }

.signup-left {
  float: left;
  width: 50%;
  margin-top: 35px; }

.signup-left .field input {
  width: 270px;
  border: 1px solid #00ccff;
  font-size: 11pt;
  padding: 5px; }

.signup-left .field .error-box {
  border: 1px solid red; }

.signup-left .field-error {
  font-size: 8pt;
  color: red; }

/* Family Member Signup Ends */
.account_right input {
  border: 1px solid #e3e3e3;
  padding: 0.5em; }

.account_right .user_address {
  width: 297px !important; }

.account_right .user_city {
  width: 115px !important; }

.account_right .user_state {
  margin-left: 3px;
  margin-right: 3px;
  width: 32px !important; }

.account_right .user_zip {
  width: 113px !important; }

.account_right .user_phone {
  margin-right: 3px;
  width: 142px !important; }

.account_right .user_mobile {
  width: 137px !important; }

.agree {
  font-size: 13px;
  margin-left: -3px; }

.content_signup .user_state_lbl {
  margin-left: 2px; }

.content_signup .actions {
  float: left;
  padding-left: 0px;
  margin-left: -3px; }

.content_signup {
  margin: 0px !important; }

.content_signup .successbox,
.warningbox,
.errormsgbox {
  float: left;
  margin-top: 75px;
  width: auto; }

.content_signup a {
  color: #16c1f5; }

.content_signup label {
  font-size: 12px !important;
  font-weight: bold !important;
  color: #111 !important; }

#main {
  float: none;
  width: 100%; }

#main .pagination {
  padding: 1em;
  margin: 0;
  line-height: 3em; }

.busybox {
  position: fixed;
  display: none;
  height: 100%;
  width: 100%;
  z-index: 99;
  background: #d8d8d8 url(../images/ajax-loader.gif) no-repeat 50% 50%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  top: -40px; }

.login-msg-box {
  text-align: center;
  align-self: stretch;
  color: #fff;
  background-color: #d9534f;
  margin-bottom: 16px;
  padding: 8px; }

.login-message {
  margin-bottom: 8px; }

.reset-password-cancel-btn {
  color: blue; }

.blue {
  color: blue; }

.font-sz-14 {
  font-size: 14px; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.bold {
  font-weight: bold; }

.padding-12 {
  padding: 12px; }

.text-align-center {
  text-align: center; }

.padding-15 {
  padding: 15px; }

.padding-left-45 {
  padding-left: 45px; }

.margin-right-40 {
  margin-right: 40px; }

.letter-spacing-1 {
  letter-spacing: 1px; }

.rest-pass-cancel-btn {
  vertical-align: middle;
  text-align: center;
  padding-top: 10px;
  width: 100%; }

.custom-error-message {
  text-align: justify;
  padding: 10px;
  color: #d63301;
  background-color: #ffccba; }

.supporting-links {
  padding-bottom: 16px;
  text-align: center; }

.margin-top-10 {
  margin-top: 10px; }

.redirect-to-mobile-login {
  display: block;
  background-color: #636363;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  margin-top: 50px;
  color: #fff;
  border-radius: 4px; }

.separator {
  border-bottom: 0;
  margin: 24px auto;
  max-width: 52%; }

.btn-reveal-password {
  background-color: #fff;
  border: 0;
  margin: 0;
  padding: 0; }
  .btn-reveal-password:active {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) inset; }
  .btn-reveal-password:hover, .btn-reveal-password:focus {
    background-color: #eee; }

.field-text-reveal {
  border: 1px solid #e3e3e3;
  border-radius: 3px;
  height: 36px;
  position: relative;
  padding-right: 32px; }
  .field-text-reveal input {
    border: 0 !important;
    height: 100% !important;
    padding: 8px 24px 8px 8px !important;
    width: calc(100% - 4px) !important; }
  .field-text-reveal .btn-reveal-password {
    position: absolute;
    right: 1px;
    bottom: 1px; }

.icon-svg.icon-eye {
  height: 32px;
  width: 32px; }

#password_instructions_container .password-instruction-header {
  display: none; }

.btn {
  border-radius: 3px; }

.sso-link {
  color: white;
  text-decoration: none; }

.sso-link:hover {
  color: white;
  text-decoration: none;
  box-shadow: 0 4px 8px rgba(0, 0, 1, 0.05);
  background: #dbdbdb; }

.sso-link img {
  width: 100%; }

.login-disclaimer {
  background-color: #E5F5FA;
  padding: 10px;
  margin: 0 0 20px;
  border-radius: 5px; }

.msg-warning {
  display: flex;
  flex-direction: column;
  background-color: #fefcbf;
  border-radius: 4px;
  color: #b7791f;
  font-size: 14px;
  line-height: 1.35;
  padding: 8px 16px; }

.msg-warning .icon-warning {
  flex: none;
  margin-right: 8px;
  vertical-align: middle; }

.staff-warning {
  padding-top: 2em; }

.icon-svg {
  fill: currentColor;
  height: 22px;
  vertical-align: middle;
  width: 22px; }

.checkbox-custom {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.help-block {
  color: #718096; }

.checkbox-custom > label {
  font-weight: inherit;
  padding-left: 20px; }
  .checkbox-custom > label * {
    vertical-align: top; }

.checkbox-custom input[type="checkbox"],
.checkbox-custom input[type="radio"] {
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  opacity: 0;
  right: 100%;
  top: 0;
  visibility: hidden;
  z-index: 1; }
  .checkbox-custom input[type="checkbox"] + .checkbox-element,
  .checkbox-custom input[type="radio"] + .checkbox-element {
    transition: box-shadow .1s linear; }
  .checkbox-custom input[type="checkbox"]:checked + .checkbox-element,
  .checkbox-custom input[type="radio"]:checked + .checkbox-element {
    box-shadow: 0 0 0 11px #4cf inset;
    transition: box-shadow .25s ease; }
    .checkbox-custom input[type="checkbox"]:checked + .checkbox-element::after,
    .checkbox-custom input[type="radio"]:checked + .checkbox-element::after {
      opacity: 1;
      transform: scale(1);
      transition: transform .3s ease; }

.checkbox-custom.checkbox-checked-partial .checkbox-element::after {
  background-color: #fff;
  content: '';
  height: 2px;
  position: absolute;
  left: 3px;
  top: 50%;
  margin-top: -1px;
  width: 12px; }

.checkbox-element {
  background-color: #f1f2f2;
  border-radius: 2px;
  box-shadow: 0 0 0 1px #ccc inset;
  display: inline-block;
  height: 18px;
  min-height: 0 !important;
  margin-left: -20px;
  margin-right: 5px;
  padding: 0 !important;
  position: relative;
  width: 18px; }
  .checkbox-element::after {
    content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTTIxLDdMOSwxOUwzLjUsMTMuNUw0LjkxLDEyLjA5TDksMTYuMTdMMTkuNTksNS41OUwyMSw3WiIgLz48L3N2Zz4=);
    display: block;
    height: 100%;
    opacity: 0;
    transform: scale(0.2);
    transition: transform .15s ease;
    width: 100%; }

/* === Utility Classes === */
.u-block {
  display: block !important; }

.u-inline-block {
  display: inline-block !important; }

.u-p8 {
  padding: 8px !important; }

.u-px8 {
  padding-left: 8px !important;
  padding-right: 8px !important; }

.u-py8 {
  padding-bottom: 8px !important;
  padding-top: 8px !important; }

.u-mb8 {
  margin-bottom: 8px !important; }

.u-p16 {
  padding: 16px !important; }

.u-px16 {
  padding-left: 16px !important;
  padding-right: 16px !important; }

.u-py16 {
  padding-bottom: 16px !important;
  padding-top: 16px !important; }

.u-mb16 {
  margin-bottom: 16px !important; }

.u-p24 {
  padding: 24px !important; }

.u-px24 {
  padding-left: 24px !important;
  padding-right: 24px !important; }

.u-py24 {
  padding-bottom: 24px !important;
  padding-top: 24px !important; }

.u-mb24 {
  margin-bottom: 24px !important; }

.u-p32 {
  padding: 32px !important; }

.u-px32 {
  padding-left: 32px !important;
  padding-right: 32px !important; }

.u-py32 {
  padding-bottom: 32px !important;
  padding-top: 32px !important; }

.u-mb32 {
  margin-bottom: 32px !important; }

.u-p36 {
  padding: 36px !important; }

.u-px36 {
  padding-left: 36px !important;
  padding-right: 36px !important; }

.u-py36 {
  padding-bottom: 36px !important;
  padding-top: 36px !important; }

.u-mb36 {
  margin-bottom: 36px !important; }

.u-mb4 {
  margin-bottom: 4px !important; }

.u-mb56 {
  margin-bottom: 56px !important; }

.u-flex-horizontal {
  display: flex !important;
  align-items: center; }
  .u-flex-horizontal label {
    margin-bottom: -1px; }
  .u-flex-horizontal > * + * {
    margin-left: 4px; }

.u-vam {
  vertical-align: middle !important; }

.u-upcase {
  text-transform: uppercase; }

.u-capitalize {
  text-transform: capitalize; }

.text-center {
  text-align: center; }

.u-bdb {
  border-bottom: 1px solid #ddd; }

.u-bdt {
  border-top: 1px solid #ddd; }

.cursor {
  cursor: pointer; }

.visually-hidden {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  visibility: hidden; }

.hidden {
  display: none; }

.flex {
  display: flex !important; }

.flex-col {
  flex-direction: column; }

.flex-auto {
  flex: auto; }

.flex-none {
  flex: none; }

.flex-100 {
  flex: 100%; }

.flex-50 {
  flex: 50%; }

.flex-grow {
  flex-grow: 1; }

.flex-ycenter {
  align-items: center; }

.flex-xcenter {
  justify-content: center; }

.flex-evenly {
  justify-content: space-evenly; }

.flex-between {
  justify-content: space-between; }
