﻿@font-face {
    font-family: 'Montserrat';
    src: url('/fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 100vh;
    color: var(--font-color) !important;
    font-family: 'Montserrat', sans-serif;
    background: radial-gradient(var(--inner-radial-color), var(--outer-radial-color));
    background-position: center center;
    background-repeat: no-repeat;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--font-color) !important;
}
.page-header {
  margin-top: 20px;
}
.navbar {
  display: none;
}
.navbar-header {
  position: relative;
  top: -4px;
}
.navbar-brand > .icon-banner {
  position: relative;
  top: -2px;
  display: inline;
}
.icon {
  position: relative;
  top: -10px;
}
.logged-out iframe {
  display: none;
  width: 0;
  height: 0;
}
h1 {
  text-align: center;
}
.body-content {
    width: 100%;
}
.header-content {
    text-align: left;
    width: 100%;
    padding: 1rem 0 0 1rem;
    font-size: 14px;
}
.footer-content {
    text-align: left;
    width: 100%;
    padding: 0 0 1rem 1rem;
    font-size: 14px;
}
.client-logo img {
    max-height: var(--max-logo-height);
    width: auto;
    object-fit: contain;
}
.img-inline {
    display: inline !important;
    max-height: 85px;
    border-width: 0px;
}
.page-consent .client-logo {
  float: left;
}
.page-consent .client-logo img {
  width: 80px;
  height: 80px;
}
.page-consent .consent-buttons {
  margin-top: 25px;
}
.page-consent .consent-form .consent-scopecheck {
  display: inline-block;
  margin-right: 5px;
}
.page-consent .consent-form .consent-description {
  margin-left: 25px;
}
.page-consent .consent-form .consent-description label {
  font-weight: normal;
}
.page-consent .consent-form .consent-remember {
  padding-left: 16px;
}
.grants .page-header {
  margin-bottom: 10px;
}
.grants .grant {
  margin-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid lightgray;
}
.grants .grant img {
  width: 100px;
  height: 100px;
}
.grants .grant .clientname {
  font-size: 140%;
  font-weight: bold;
}
.grants .grant .granttype {
  font-size: 120%;
  font-weight: bold;
}
.grants .grant .created {
  font-size: 120%;
  font-weight: bold;
}
.grants .grant .expires {
  font-size: 120%;
  font-weight: bold;
}
.grants .grant li {
  list-style-type: none;
  display: inline;
}
.grants .grant li:after {
  content: ', ';
}
.grants .grant li:last-child:after {
  content: '';
}
.passwordTitle {
  color: #ffffff;
}

.auth-lock-submit {
  background-color: #337ab7;
  height: 30px;
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  outline: none;
  cursor: pointer;
  color: #fff;
  border: 0;
  border-radius: 3px;
  transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}
.auth-lock-submit:hover {
  box-shadow: inset 0px 0px 100px 100px rgba(47, 70, 100, 0.16);
}
.auth-lock-submit svg {
  display: none;
}
.auth-lock-register {
  background-color: #CFD8DC;
  height: 30px;
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  outline: none;
  cursor: pointer;
  color: #000;
  border: 0;
  border-radius: 3px;
  transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}
.auth-lock-register:hover {
  box-shadow: inset 0px 0px 100px 100px rgba(47, 70, 100, 0.16);
}
.auth-lock-register svg {
  display: none;
}
.page-layout {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}
.credential-container {
    width: 100%;
    max-width: 480px;
    padding: 40px;
    border-radius: 25px;
    background-color: var(--card-background-color);
    box-shadow: 0px 20px 32px rgba(64, 110, 184, 0.24), 0px 2px 8px rgba(64, 110, 184, 0.08);
}
.welcome-header {
    font-size: 32px;
    color: var(--font-color);
    text-align: center;
    margin-bottom: 1rem;
}
label {
    font-size: 14px;
    color: var(--font-color);
}
input,
select {
    height: 55px;
    width: 100%;
    padding: 0px 14px;
    border: 1px solid #cbd5e0;
    border-radius: 10px;
    background-color: #ffffff;
    background-size: cover;
    font-size: 14px;
    color: #000000;
    line-height: 18px;
    appearance: none;
}
.uxpin-btn-primary,
.uxpin-btn-default {
    width: 100%;
    height: 50px;
    border-radius: 90px;
    border: none;
    font-size: 18px;
    letter-spacing: 1px;
    text-align: center;
}
.uxpin-btn-primary {
    background-color: #0660d4;
    color: #ffffff;
}
.uxpin-btn-default {
    background-color: #e2e8f0;
    color: #263238;
}
.btn-container {
    display: flex;
    gap: 1em;
}
.forgot-text {
    font-size: 16px;
    color: #0660d4;
    text-align: center;
    margin: 35px 0;
}

input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #94a3b8;
    border-radius: 4px;
    background-color: white;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
    margin-right: 4px;
    vertical-align: middle;
    padding: 0 !important;
}
input[type="checkbox"]:checked {
    background-color: #2563eb;
    border-color: #2563eb;
}
input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
input[type="checkbox"] + label,
label:has(input[type="checkbox"]) {
    cursor: default;
    user-select: none;
    color: var(--font-color);
    font-size: 14px;
}
.password-chip-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.password-chip {
    display: flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    background-color: #eef5f7;
    color: #555;
    border: 1px solid #d0dde2;
    transition: all 0.2s ease;
}

.password-chip i {
    margin-right: 6px;
    font-size: 0.9rem;
}

.password-chip.validated {
    background-color: #e8f9ee;
    color: #1e7c1e;
    border-color: #b6e1b6;
}

.password-chip.validated i {
    color: #1e7c1e;
    content: "\f00c";
}

.password-chip.unvalidated {
    background-color: #f4f6f8;
    color: #999;
    border-color: #ddd;
}

.password-chip.unvalidated i {
    color: #bbb;
}

.password-chip {
    transition: all 0.2s ease-in-out;
}

.password-chip i {
    transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.password-chip.validated i {
    transform: scale(1.1);
}
