/* ------------------------------------
Colors
------------------------------------ */
:root {
  /* Transparent */
  --color_transparent: transparent;


  /* White */
  --color_white: #fff;


  /* Black */
  --color_black: #000;


  /* Grays */
  --color_gray_900: #212121;
  --color_gray_700: #616161;
  --color_gray_600: #7d7d7d;
  --color_gray_300: #bfbfbf;
  --color_gray_100: #e6e6e6;
  --color_gray_50: #f5f5f5;


  /* Reds */
  --color_red_600: #b7312c;
  --color_red_100: #faf0f0;


  /* Yellows | Oranges */
  --color_gold_600: #edb120;
  --color_orange_600: #c04c0b;
  --color_orange_100: #fef9ed;
  --color_yellow_600: #8b6606;


  /* Greens */
  --color_green_600: #008013;
  --color_green_100: #f5fff2;


  /* Blues */
  --color_brand_01: #0076a8;
  --color_brand_02: #004b87;
  --color_blue_550: #1171BE;
  --color_blue_500: #268cdd;
  --color_blue_200: #b4deff;
  --color_blue_100: #e2f0ff;


  /* Purples */
  --color_cobalt_600: #0e00ff;
  --color_purple_800: #7730ba;
  --color_purple_600: #a709f5;
}



/* ------------------------------------
Fonts
------------------------------------ */
/* ---- Roboto Font ---- */

/* Roboto 400 */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-italic-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto 500 */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-normal-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-italic-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto 700 */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-normal-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/embedded-login/css/getml-fonts/roboto-latin-italic-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* ------------------------------------
Globals
------------------------------------ */
html body { padding:0; font:15px/1.46 'Roboto'; overflow-y:auto; }


/* ---- Focus Outlines ---- */
a:focus,
button:focus,
.btn:focus,
.btn:active:focus { outline:2px solid var(--color_blue_500) !important; outline-offset:2px; }

input,
input.form-control,
select.form-control,
textarea.form-control,
input[type="checkbox"].form-check-input { border-color:var(--color_gray_600); color:var(--color_gray_900); font-size:15px; }

input:focus,
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus { border-color:var(--color_blue_500); box-shadow:none; outline:2px solid var(--color_blue_500); outline-offset:0; }

input[type="radio"]:focus,
input[type="checkbox"]:focus { outline:2px solid var(--color_blue_500) !important; box-shadow:none; outline-offset:2px; }

.mwa_footer a:focus,
.mwa_footer button:focus,
.mwa_footer .btn:focus { outline-color:var(--color_gray_900) !important; }


/* ---- Text Hierarchy ---- */
h1 { padding:0; margin:0 0 20px 0; color:var(--color_gray_900); font:normal 700 24px/1.25 'Roboto'; }

a { color:var(--color_blue_550); text-decoration:none; }
a:hover,
a:active { color:var(--color_blue_500); text-decoration:underline; }
a:visited { color:var(--color_brand_02); text-decoration:none; }




/* ------------------------------------
Components
------------------------------------ */
/* ---- Paragraphs ---- */
p { margin-bottom:20px; }


/* ---- Lists ---- */
ul { padding-left:0; }
ul > li { list-style-position:inside; }


/* ---- Buttons ---- */
.btn { padding:10px 14px 9px; font-size:15px; line-height:1.00; opacity:1.0; transition:opacity 0.5s ease, background-color 0.5s ease, border-color 0.5s ease; }

.btn_color_blue,
.btn_color_blue.dropdown-toggle.show { border-color:var(--color_brand_01); background-color:var(--color_brand_01); color:var(--color_white); }
.btn_color_blue:hover,
.btn_color_blue:active,
.btn_color_blue:focus { border-color:var(--color_brand_02); background-color:var(--color_brand_02); color:var(--color_white); }

.btn_color_blue:disabled,
.btn_color_blue[disabled=disabled] { border-color:var(--color_brand_01); cursor:not-allowed; background-color:var(--color_brand_01); color:var(--color_white); opacity:0.35; pointer-events:all; }

.btn.btn-link { color:var(--color_blue_550); text-decoration:none; }
.btn.btn-link:hover,
.btn.btn-link:active,
.btn.btn-link:visited { color:var(--color_blue_500); text-decoration:underline; }


/* ---- Google reCAPTCHA ---- */
.grecaptcha-badge { visibility:hidden;  }


/* ------------------------------------
Structure
------------------------------------ */
/* ---- Template ---- */
.content_container { background:var(--color_white); }
.mwa_content { width:100%; min-height:100vh; padding:30px 15px calc(98px + 30px); display:flex; flex-direction:row; flex-wrap:nowrap; align-items:flex-start; justify-content:center; }
main { width:100%; }


/* ---- Forms ---- */
.form_container { width:100%; max-width:440px; padding:32px; margin:0 auto; background:var(--color_white); font-size:15px; line-height:1.45; }

.form_container.form-horizontal { max-width:540px; }
.form_container.form-horizontal .form-group [class*="col-"] { position:relative; }

.form_container.form-horizontal .col-sm-3.col-form-label { padding-top:0; padding-bottom:0; }

.form_header { margin-bottom:40px; }
.form_header *:last-child { margin-bottom:0; }
.form_body { margin-bottom:40px; }
.form_body *:last-child { margin-bottom:0; }

.form_container [class*="form_"]:last-child { margin-bottom:0; }

.mb-1 { margin-bottom:20px !important; }
.mb-2 { margin-bottom:40px !important; }

.form-group { margin-bottom:20px; position:relative; }

.form-check-input { margin-top:0.15em; }

input.form-control,
select.form-select { height:34px; }

input.form-control,
select.form-select,
textarea.form-control { border-radius:3px; }

.password_container { position:relative; }
.password_container input[type="password"] { padding-right:55px; }
.password_container a.password_toggle { height:32px; border-radius:3px; padding:0 14px; color:var(--color_gray_900); display:block; position:absolute; top:1px; right:1px; }
.password_container a.password_toggle [class*="icon-"] { position:relative; top:50%; transform:translateY(-50%); }
.password_container a.password_toggle:focus { outline-offset:-3px; }

.password_validation_container { padding:10px 12px; border:1px solid var(--color_gray_600); border-radius:4px; color:var(--color_gray_900); font-size:15px; }
.password_validation_container .icon-mw-circle { color:var(--color_gray_100); }
.password_validation_container [class*="icon-"] { padding-right:5px; margin-left:-22px; }
.password_validation_container #requirements_block > li { padding-left:22px; }
.password_validation_container #requirements_block > li + li { margin-top:3px; }

/* Suppress Browser-Based Password Masker */
.form-group input[type="password"]::-ms-reveal { display:none; }

/* Validation States */
.alert { min-height:46px; padding:13px 10px 10px 44px; margin-bottom:20px; border-radius:0; color:var(--color_gray_900); }
.alert [class*="icon-alert"] { font-size:24px; line-height:1.00; position:absolute; top:10px; left:10px; }
.alert p,
.alert ul,
.alert .alert_heading { margin-bottom:10px; }
.alert ul > li { margin-bottom:5px; }
.alert *:last-child { margin-bottom:0; }

.alert.alert-info { border-color:var(--color_brand_01); background-color:var(--color_blue_100); }
.alert.alert-success { border-color:var(--color_green_600); background-color:var(--color_green_100); }
.alert.alert-warning { border-color:var(--color_orange_600); background-color:var(--color_orange_100); }
.alert.alert-danger { border-color:var(--color_red_600); background-color:var(--color_red_100); }

.alert.alert-info [class*="icon-alert"] { color:var(--color_brand_01); }
.alert.alert-success [class*="icon-alert"] { color:var(--color_green_600); }
.alert.alert-warning [class*="icon-alert"] { color:var(--color_orange_600); }
.alert.alert-danger [class*="icon-alert"] { color:var(--color_red_600); }

.has-feedback[class*="has-"] input,
.has-feedback[class*="has-"] input.form-control,
.has-feedback[class*="has-"] select.form-select,
.has-feedback[class*="has-"] textarea.form-control { padding-right:28px; }

.has-feedback.has-info input,
.has-feedback.has-info input.form-control,
.has-feedback.has-info select.form-select,
.has-feedback.has-info textarea.form-control { border-color:var(--color_brand_01); outline-color:var(--color_brand_01); }
.has-feedback.has-info .password_container a.password_toggle { color:var(--color_brand_01); }

.has-feedback.has-error input,
.has-feedback.has-error input.form-control,
.has-feedback.has-error select.form-select,
.has-feedback.has-error textarea.form-control { border-color:var(--color_red_600); outline-color:var(--color_red_600); }
.has-feedback.has-error .password_container a.password_toggle { color:var(--color_red_600); }

.has-feedback.has-success input,
.has-feedback.has-success input.form-control,
.has-feedback.has-success select.form-select,
.has-feedback.has-success textarea.form-control { border-color:var(--color_green_600); outline-color:var(--color_green_600); }
.has-feedback.has-success .password_container a.password_toggle { color:var(--color_green_600); }

.icon-cross.icon_alert_color,
.has-feedback .icon-alert-error { color:var(--color_red_600); }
.icon-check.icon_alert_color,
.has-feedback .icon-alert-success { color:var(--color_green_600); }

.form-group [class*="icon-alert-"] { display:none !important; }
.form-group.has-feedback.has-error .icon-alert-error { display:block !important; }
.form-group.has-feedback.has-success .icon-alert-success { display:block !important; }
.form-group.has-feedback[class*="has-"] [class*="icon-alert-"] { position:absolute; right:18px; top:50%; transform:translateY(-50%); }
.form-group.has-feedback[class*="has-"] textarea.form-control { top:6px; }

.form-horizontal .form-group.has-feedback[class*="has-"] [class*="icon-alert-"] { right:18px; }


/* Loading Buttons */
.btn_loading { height:34px; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; overflow:hidden; }

.btn_loading_active:before { content:""; width:20px; height:20px; margin-top:-1px; border:0.25em solid var(--color_white); border-right-color:transparent; border-radius:50%; display:inline-block; -webkit-animation:.75s linear infinite spinner-border; animation:.75s linear infinite spinner-border; }
.btn_loading_active .button_label { padding-left:8px; }

.btn_loading_active.companion_btn:before { border-color:var(--color_brand_01); border-right-color:transparent; }

.flex_right { display:flex; flex-direction:row; justify-content:flex-end; }

@keyframes spinner-border {
  to { transform: rotate(360deg); }
}



/* ---- Footer ---- */
footer { height:98px; padding:28px 0; margin-top:-98px; background:var(--color_gray_100); font-size:13px; line-height:1.4; position:relative; }

footer a { color:var(--color_gray_900) !important; text-decoration:none; }
footer a:hover { text-decoration:underline; }
footer ul.list-unstyled > li { margin-bottom:7px; }

/* Primary Footer */
#footernav { margin-bottom:0; margin-left:-8px; display:flex; flex-direction:row; flex-wrap:wrap; }
#footernav > li { padding:0 4px; margin-right:0; margin-bottom:10px; border-right:1px solid var(--color_gray_900); }
#footernav > li > a { padding:0 4px; }
#footernav > li:last-child { border-right:none; }


/* ---- Flow Specific ---- */
.login_back a { padding-left:28px; display:inline-block; }
.login_back a .login_back_icon { margin-left:-28px; margin-right:3px; display:block; float:left; font-size:16px; position:relative; text-align:center; }
.login_back a .login_back_icon:before { padding:2px; border-radius:50%; border:1px solid transparent; background-color:transparent; transition:border-color 0.3s ease, background-color 0.3s ease; }

.login_back a:hover .login_back_icon:before { border-color:var(--color_gray_300); background-color:var(--color_gray_100); }

.login_back .user_email { padding-top:1px; display:inline-block; word-break:break-word; }


/* ---- Additive ---- */
.add_indent_25 { margin-left:25px; }

.band { padding:0 !important; }

/* ------------------------------------
Responsive
------------------------------------ */
/* ---- Non-Mobile ---- */
@media (min-width:768px) {

  #footernav { margin-bottom:5px; }
  #footernav > li { margin-bottom:0; }

}


@media (min-width:577px) {

  .content_container { background:var(--color_gray_50); }

  .mwa_content { align-items:center; }

  .form_container { border:1px solid var(--color_gray_300); box-shadow:0 0 7px rgb(0,0,0,0.25); }

  .form_container.form-horizontal .col-form-label { padding-right:0; padding-left:0; text-align:right; }

}

/* ---- Mobile (xs) ---- */
@media (max-width:576px) {

  .mwa_content { padding:30px 0 calc(130px + 30px); }

  .form_container { max-width:416px; padding-right:20px; padding-left:20px; }

  .form_container.form-horizontal .col-form-label { padding-top:0; padding-bottom:5px; }

  footer { height:130px; margin-top:-130px; }

}