/* Google Fonts – Poppins */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

:root {
  /*------------------------------------------------------------
  Typography
  ------------------------------------------------------------*/

  --font-primary: "Poppins", sans-serif;

  /* Text Scale & Sizes
  ----------------------------------------*/
  --text-base: 1em;
  --scale: 1.25;

  --text-body: calc(1em + 0.1em);
  --text-xxs: calc(1em / (var(--scale) * var(--scale) * var(--scale)));
  --text-xs: calc(1em / (var(--scale) * var(--scale)));
  --text-sm: calc(1em / var(--scale));
  --text-md: calc(1em * var(--scale));
  --text-lg: calc(1em * var(--scale) * var(--scale));
  --text-xl: calc(1em * var(--scale) * var(--scale) * var(--scale));
  --text-xxl: calc(1em * var(--scale) * var(--scale) * var(--scale) * var(--scale));
  --text-xxxl: calc(1em * var(--scale) * var(--scale) * var(--scale) * var(--scale) * var(--scale));
  --text-xxxxl: calc(1em * var(--scale) * var(--scale) * var(--scale) * var(--scale) * var(--scale) * var(--scale));

  /* Line Heights
  ----------------------------------------*/
  --body-line-height: 1.7;

  /* Letter Spacing 
  ----------------------------------------*/
  --letter-spacing-tight: -0.015em;
  --letter-spacing-normal: 0;
  --letter-spacing-loose: 0.03em;

  /*------------------------------------------------------------
  Vertical Rhythm
  ------------------------------------------------------------*/
  --space-xxxxs: 0.125em;
  --space-xxxs: 0.25em;
  --space-xxs: 0.375em;
  --space-xs: 0.5em;
  --space-sm: 0.75em;
  --space-md: 1.25em;
  --space-lg: 2em;
  --space-xl: 3.25em;
  --space-xxl: 5.25em;
  --space-xxxl: 8.5em;
  --space-xxxxl: 10.5em;

  --grid-space: var(--space-lg);

  /*------------------------------------------------------------
  Colors
  ------------------------------------------------------------*/

  /* Accent
  ----------------------------------------*/
  --color-accent: #c03090;
  --color-accent-dark: #b23488;
  --color-accent-darker: #79297f;
  --color-accent-light: #db57af;
  --color-accent-lighter: #edabd7;
  --color-accent-lightest: #fbeef7;
  --color-accent-shadow: hsla(296, 51%, 33%, 0.125);

  /* Primary
  ----------------------------------------*/
  --color-primary: hsl(192, 82%, 32%);
  --color-primary-dark: hsl(195, 80%, 28%);
  --color-primary-darker: hsl(192, 78%, 24%);
  --color-primary-darkest: hsl(200, 74%, 20%);
  --color-primary-light: #62b4c4;
  --color-primary-lighter: #c0e4eb;
  --color-primary-lightest: hsl(200, 100%, 98.5%);

  /* Secondary
  ----------------------------------------*/
  --color-secondary: hsl(35, 100%, 85%);
  --color-secondary-dark: hsl(35, 90%, 70%);
  --color-secondary-darker: hsl(35, 90%, 50%);
  --color-secondary-light: #ffedd1;
  --color-secondary-lighter: #fff2e0;
  --color-secondary-lightest: #fff9f0;

  /* Grays
  ----------------------------------------*/
  --gray-9: #202020;
  --gray-8: #4d4d4d;
  --gray-7: #747474;
  --gray-6: #949494;
  --gray-5: #b8b8b8;
  --gray-4: #dbdbdb;
  --gray-3: #ededed;
  --gray-2: #f6f6f6;
  --gray-1: #fbfbfb;

  /* Actions
  ----------------------------------------*/
  --color-success: #1fc784;
  --color-success-light: hsl(156, 60%, 95%);
  --color-success-dark: #19b378;
  --color-warning: #fdbb49;
  --color-warning-light: #fff6e6;
  --color-warning-dark: #e1a647;
  --color-error: hsl(350, 80%, 68%);
  --color-error-light: hsl(359, 95%, 98%);
  --color-error-dark: #ca3638;

  /*------------------------------------------------------------
    Global
    ------------------------------------------------------------*/
  --transparent: rgba(255, 255, 255, 0.001);
  --text-shadow: 2px 2px 4px rgba(0 0 0 / 0.15);
  --color-headings: var(--color-primary-darkest);

  /*----------------------------------------
    Transitions & Effects
    ----------------------------------------*/
  --transition: all var(--duration-base) var(--ease-in-out) 0s;
  --transition-slow: all var(--duration-slow) var(--ease-in-out) 0s;
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;

  /*----------------------------------------
    Boxes
    ----------------------------------------*/
  --box-shadow: 0 8px 24px hsla(210, 8%, 62%, 0.2);
  --box-shadow-hover: 0 8px 24px hsla(210, 8%, 62%, 0.3);
  --box-shadow-sm: 0 3px 9px hsla(210, 8%, 62%, 0.2);
  --box-shadow-sm-hover: 0 5px 15px hsla(210, 8%, 62%, 0.35);
  --box-shadow-dark: 0 8px 24px hsla(220, 80%, 6%, 0.25);
  --box-shadow-dark-hover: 0 12px 28px hsla(220, 80%, 6%, 0.65);
  --box-border-rad: var(--space-md);
  --box-translate: 3px;
  --box-scale: 1.025;

  /*----------------------------------------
    Images
    ----------------------------------------*/
  --img-border-rad: var(--space-md);
  --img-box-shadow: 0 25px 50px hsla(0, 0%, 0%, 0.25);

  /*----------------------------------------
    Layers
    ----------------------------------------*/
  --z-base: 1;
  --z-dropdown: 10;
  --z-modal: 100;
  --z-toast: 1000;

  --mask-bg: hsla(240, 80%, 8%, 0.65);
}

body,
button,
input,
select,
optgroup,
textarea {
  color: var(--gray-9);
  font-family: var(--font-primary);
  font-size: 1rem;
  line-height: 1.5;
}

body {
  font-family: var(--font-primary);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--gray-9);
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0 0 var(--space-sm);
  color: var(--color-headings);
  font-weight: 600;
}

p {
  font-size: var(--text-body);
  line-height: var(--body-line-height);
  margin: 0 0 1.7em;
}

/*--------------------------------------------------
SSO – Login
--------------------------------------------------*/
.sso_login_wp {
  width: 100%;
  margin: 0;
  /* overflow: hidden; */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.sso_login_wp > section {
  width: min(90%, 1280px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  position: relative;
}

.sso_form {
  width: min(90%, 55em);
  padding: 0;
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.075);
  border-radius: var(--box-border-rad);
  overflow: hidden;
}

/* Hide Extra elements */
:is(.wp-login-logo, .wp-login-register, #backtoblog, .language-switcher) {
  display: none;
  visibility: hidden;
  pointer-events: none;
}

/*  SSO – Login – SSO Return
----------------------------------------*/
.sso_return_link {
  font-size: 0.9em;
}

/*  SSO – Login – Aside
----------------------------------------*/
.sso_form .aside {
  background-image: linear-gradient(to bottom, #023e8a, #0096c7);
  padding: var(--space-lg);
  flex: 1;
}

.sso_form .aside header {
  margin-bottom: var(--space-xs);
}

.sso_form .aside :is(h3, p) {
  color: #fff;
}

.sso_form .aside .logomark {
  width: var(--space-xxxl);
  aspect-ratio: 2/1;
  margin: 0 0 1em;
  opacity: 0.85;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(/wp-content/themes/phidias_woo/assets/images/brands/logos/tsl-logo-white.svg);
  display: block;
}

.sso_form .aside .eyebrow {
  color: var(--color-secondary);
  font-weight: 500;
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.sso_form .aside h3 {
  margin-bottom: var(--space-xxxs);
  font-weight: 600;
  font-size: var(--text-body);
}

.sso_form .aside p {
  font-size: 0.85em;
  margin-bottom: var(--space-md);
}

.sso_form .aside a {
  color: var(--color-secondary);
}

/*  SSO – Login – Form Area
----------------------------------------*/
.sso_form .form_area {
  flex: 2;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-xs);
  /* glass effect */
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  border: 1px solid rgba(255, 255, 255, 0.85);
  padding: 4em var(--space-lg) var(--space-lg);
}

.sso_form .form_area p {
  font-size: 0.9125em;
  color: var(--gray-8);
}

.sso_form .form_area :is(header, .form) {
  width: min(100%, 25em);
  margin: 0 auto;
}

.sso_form .form_area header h1 {
  text-align: left;
  font-weight: 700;
  font-size: var(--text-xl);
}

/*  SSO – Login – Form
----------------------------------------*/
.sso_form #login {
  width: 100%;
  position: relative;
}

.sso_form #login form {
  border: none;
  padding: 0;
  margin: 0;
  background-color: var(--transparent);
  box-shadow: none;
}

.sso_form #login form label {
  font-weight: 500;
}

.sso_form #login form :is(input[type="text"], input[type="password"]) {
  border: none;
  outline: none;
  height: 3.5em;
  background-color: #fff;
  color: var(--gray-9);
  padding-inline: 1em;
  font-size: 1em;
  margin-bottom: var(--space-xs);
  box-shadow: inset 0 0 0 1px var(--gray-4);
}

.sso_form #login form :is(input[type="text"], input[type="password"]):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 3px var(--color-primary-lighter);
}

.sso_form input[type="submit"] {
  background-color: var(--color-secondary);
  width: 100%;
  height: 3.25em;
  border-radius: var(--space-sm);
  font-weight: 600;
  font-size: 1em;
  border: 2px solid var(--color-secondary);
  box-shadow: 4px 8px 16px hsla(40, 65%, 20%, 0.09);
  cursor: pointer;
  outline: 0;
  margin-block: var(--space-md) 0;
  transition: background-color 0.25s ease 0s;
  color: var(--gray-9);
}

.sso_form input[type="submit"]:hover {
  background-color: var(--color-secondary-light);
  border-color: var(--color-secondary);
  color: var(--gray-9);
}

.sso_form input[type="submit"]:is(:focus, :active) {
  outline: none;
  box-shadow: none;
  border: none;
  background-color: var(--color-secondary);
  color: var(--gray-9);
}

/*  SSO – Login – Lost Password
----------------------------------------*/
.sso_form #nav {
  visibility: hidden;
  margin: 0;
  padding: 0;
}

.sso_form :is(.wp-login-lost-password, .wp-login-log-in) {
  visibility: visible;
  display: block;
  padding: 0;
  margin: 0;
  width: 100%;
  text-align: center;
  color: var(--gray-8);
  transition: background-color 0.5s ease 0s;
  border-radius: var(--space-sm);
  border: 1px solid var(--gray-4);
  font-size: 1em;
  background-color: #fff;

  height: 3.5em;
  line-height: 3.5;
}

.sso_form :is(.wp-login-lost-password, .wp-login-log-in):hover {
  background-color: var(--gray-3);
}

.sso_form .wp-login-lost-password {
  position: relative;
  bottom: 10px;
}

.sso_form .wp-login-log-in {
  margin-top: 1em;
}

/*  SSO – Login – Remember
----------------------------------------*/
.sso_form .forgetmenot input {
  margin-right: var(--space-xxxs);
  accent-color: var(--color-primary);
  outline: none;
}

.sso_form .forgetmenot input:focus {
  box-shadow: inset 0 0 0 1px var(--color-primary-light);
}

/*  SSO – Login – Notice
----------------------------------------*/
.sso_form .notice {
  font-size: 0.9em;
  color: var(--gray-9);
  box-shadow: var(--box-shadow-sm);
  border-radius: var(--space-xxxs);
}

.sso_form .notice-error {
  border-left-color: var(--color-error);
  background-color: var(--color-error-light);
}

/*--------------------------------------------------
Responsive Styles
--------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  body {
    font-size: 90%;
  }

  /*----------------------------------------
  Account – Login – Form
  ----------------------------------------*/
  .sso_form {
    flex-direction: column;
    width: min(100%, 30em);
  }

  .sso_form :is(.aside, .form_area) {
    flex: auto;
  }

  .sso_form .aside {
    padding-block: var(--space-md);
  }

  .sso_form .aside header {
    margin-bottom: var(--space-xs);
  }

  .sso_form .aside .eyebrow {
    text-align: left;
    margin: 0;
  }

  .sso_form .form_area {
    padding-block: 1em;
  }

  /* #1024px */
}

@media only screen and (max-width: 420px) {
  .sso_login_wp {
    background-color: #fff;
    background-image: none !important;
  }
  .sso_login_wp > section {
    width: 100%;
    align-items: flex-start;
  }

  .sso_form {
    border-radius: 0;
    box-shadow: none;
  }

  .sso_form .aside .logomark {
    margin: 0 0 var(--space-lg);
    width: var(--space-xxxl);
  }

  .sso_form .form_area {
    padding-block: var(--space-lg);
  }

  .sso_form .form_area header h1 {
    font-size: var(--text-lg);
  }

  .sso_return_btn {
    top: auto;
    bottom: var(--space-lg);
    background-color: var(--gray-2);
    color: var(--gray-7);
    left: 50%;
    transform: translateX(-50%);
  }

  .sso_return_btn:visited {
    color: var(--gray-7);
  }

  /* #420px */
}
