html {
  min-height: 100%;
  height: 100%;
}

body {
  display: grid;
  grid-template-columns: 3fr 1fr;
  padding: 0;
  min-height: 100%;
  margin: 0;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  background-size: cover;
  background-repeat: no-repeat;
  color: #000;
}

a {
  color: #0B7AB1 !important;
  text-decoration: none;
  cursor: pointer;
}

h1 {
  font-size: 56px;
  margin: 0;
}

h2 {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

input {
  width: 100%;
  border: #B3BFC7 1px solid;
  padding: 8px;
  margin-top: 4px;
  font-size: 14px;
  border-radius: 4px;
  height: 20px;
  transition: background-color .2s, color .2s,border-color .2s, box-shadow .2s;
}

input[type="text"][disabled] {
  background-color: #F1F3F4;
  border: 1px solid #B3BFC7;
}

label {
  width: 100%;
}

/* Tertiary Button */
button {
  background-color: #E1EDFF;
  border: 0;
  padding: 8px 16px !important;
  border-radius: 4px;
  height: 36px;
  cursor: pointer;
  font-size: 14px;
}

button:hover {
  background-color: #BDD8FF;
}

/* Outline Buttons */
.outlined-button, .sendButton, .editButton, .firstButton {
  background-color: #fff;
  border: 1px solid #0B7AB1;
  color: #0B7AB1;
}

.outlined-button:hover {
  background-color: #E1EDFF;
  border: 1px solid #085C85;
  color: #085C85;
}

button:focus-visible {
  outline: 0 none;
}

button:focus {
  box-shadow: 0 0 0 0.2rem #85BCD8;
}

.login-box {
  width: 380px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 7px #999;
  font-size: 14px;
  margin: 64px;
}

footer {
  text-align: center;
  font-size: 14px;
}

.flex {
  display: flex;
}

.column-nowrap {
  flex-flow: column nowrap;
}

.row-nowrap {
  flex-flow: row nowrap;
}

.row-wrap {
  flex-flow: row wrap;
}

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

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

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

.p-16 {
  padding: 16px;
}

.gap-16 {
  gap: 16px;
}

.gap-8 {
  gap: 8px;
}

.h-full {
  height: 100%;
}

.w-full {
  width: 100%;
}

#welcome {
  flex: 1;
  max-width: 900px;
}

#welcome img {
  height: 40vh;
  max-height: 500px;
  max-width: 100%;
  margin-bottom: 16px;
}

#login {
  background-image: url("https://saregstg2.blob.core.windows.net/b2c-custom-userflows/circles.svg");
}

.helpLink {
  font-size: 12px;
}

.social .intro, #api .intro p {
  text-align: center;
  width: 100%;
  margin-bottom: 16px;
}

.social .intro:after {
  content: "Log in using your Carelon account";
}

.options, .entry .buttons {
  text-align: center;
}

.rememberMe input {
  width: auto;
}

.entry {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

footer img {
  height: 16px;
  width: 16px;
}

.create a {
  margin-left: 5px;
}

#signup {
  margin-top: 16px;
}

.sm-only {
  display: none;
}

@media (max-width: 1200px) {
  body {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1024px) {
  body {
    grid-template-columns: 1fr;
  }

  h1 {
    font-size: 48px;
  }

  footer p {
    font-weight: 600;
  }

  #main {
    display: none;
  }

  .login-box {
    margin: 16px;
  }

  .sm-only {
    display: flex;
  }

  .title {
    text-align: center;
    color: #fff;
  }
}

/* Custom CSS to modify inserted API HTML */

/* Hide extra things Microsoft inserts */
#api .heading,
#forgotPassword,
#verifying_blurb,
.localAccount .divider,
.social .intro h2,
.create {
  display: none;
}

.intro h2 {
  margin-bottom: 16px;
}

.divider h2 {
  text-align: center;
  font-weight: 400 !important;
  margin: 16px 0;
  color: #000;
}

#api {
  padding: 0 16px;
}

#api h2, #api .intro, #api .intro p {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}

#api .entry-item {
  display: flex;
  flex-flow: column nowrap;
  margin-bottom: 16px;
  position: relative;
}

#api input {
  width: auto;
}

#api input:focus, input:focus,
#api #next:focus, #continue:focus,
.sendButton:focus, .editButton:focus,
.verifyButton:focus, .primary-button:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2rem #aad3d5;
  border-color: #0B7AB1;
}

/* Primary Button */
#api #next, #continue, .verifyButton, .primary-button {
  background-color: #0B7AB1;
  color: #fff;
}

#api #next:hover, #continue:hover, .verifyButton:hover .primary-button:hover {
  background-color: #085C85;
}

/* Full width buttons */
#next, .firstButton {
  width: 100%;
}

#api .error > p, .show,
.verificationErrorText,
#claimVerificationServerError {
  color: #CF372E;
	font-weight: 600;
  font-size: 12px;
}

/* Reset Password Page */

#attributeList ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.buttons,
#api #email_label,
#reenterPassword_label,
#email_ver_input_label {
  margin-top: 16px;
}

.attrEntry {
  display: flex;
  flex-flow: column nowrap;
}

#attributeList + .buttons {
  display: flex;
  flex-flow: row-reverse nowrap;
}

.verifyButton {
  flex: 0 1 130px;
  order: 2;
  margin-top: 16px;
}

.sendButton {
  flex: 0 1 auto;
  margin-top: 16px;
}

.verify {
  display: flex;
  flex-flow: row wrap;
  justify-content: end;
  gap: 0 8px;
  margin-top: 0;
}

.verifyInput {
  width: 100% !important;
}

#cancel {
  margin-right: 8px;
}

/* MFA options Display  */

.extension_mfaByEmailOrAuthApp_li .attrEntry {
  display: grid;
  grid-template-columns: 0fr 1fr;
}

#extension_mfaByEmailOrAuthApp_label,
.extension_mfaByEmailOrAuthApp_li .attrEntry .helpLink,
.attrEntry .error {
  display: grid;
  grid-column-end: span 2;
}

#email_option, #authenticatorApp_option {
  margin: 4px 8px 0 8px;
  padding-bottom: 8px;
}

#extension_mfaByEmailOrAuthApp_email,
#extension_mfaByEmailOrAuthApp_authenticatorApp {
  width: 20px !important;
  height: 20px;
}

#totpQrCodeControl-img {
  margin: auto;
}

#totpQrCodeControl-text + a,
#totpQrCodeControl + a {
  display: none;
}

#totpQrCodeControl-title,
#authenticatorInfoControl-title {
  font-weight: 600;
}

#otpCode_label {
  margin-top: 8px;
}

#extension_mfaByEmailOrAuthApp_email:focus,
#extension_mfaByEmailOrAuthApp_authenticatorApp:focus {
	box-shadow: 0 0 0 0 !important;
}

/* Error Page Display */
#disabledWrapper #disabledUser {
  margin-bottom: 8px;
  text-align: center;
}

#disabledWrapper #api {
  display: none;
}

/* MFA options Display  */

/* Reset Password Page */

/* Custom CSS to modify inserted API HTML */
