/*------------------------------------------------------------
CSS Global Variables
------------------------------------------------------------*/

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

  /* 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(201, 100%, 36%);
  --color-primary-dark: hsl(214, 97%, 27%);
  --color-primary-darker: hsl(239, 80%, 24%);
  --color-primary-darkest: hsl(239, 80%, 17%);
  --color-primary-light: hsl(195, 100%, 39%);
  --color-primary-lighter: hsl(190, 77%, 88%);
  --color-primary-lightest: hsl(210, 100%, 98%);

  /* Secondary
  ----------------------------------------*/
  --color-secondary: #ffdfb3;
  --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: #ebfaf4;
  --color-success-dark: #19b378;
  --color-warning: #fdbb49;
  --color-warning-light: #fff6e6;
  --color-warning-dark: #e1a647;
  --color-error: #fb4246;
  --color-error-light: #fc8d8e;
  --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);
}

/*------------------------------------------------------------
Login Custom Styles
------------------------------------------------------------*/
body.login {
  position: relative;
}

#login {
  z-index: 1;
}

/*--------------------------------------------------
WP Login Form 
--------------------------------------------------*/
#loginform {
  position: absolute;
  width: min(90%, 30em);
  background-color: #fff;
  box-shadow: 2px 4px 20px hsla(0 0 0 /0.12);
  padding: var(--space-xl) var(--space-lg) var(--space-lg);
  border-radius: 2em;
  opacity: 0;
  visibility: hidden;
}

/* Add form heading */
#loginform::before {
  content: "Admin Login";
  text-align: center;
  font-size: var(--text-md);
  font-weight: 600;
  margin: 0 auto 1em;
  display: block;
  width: 100%;
}

#loginform.is_open {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/*--------------------------------------------------
Login Modal
--------------------------------------------------*/

/* Create a mask  */
body.login_modal_open::before {
  content: "";
  width: 100vw;
  height: 100vh;
  background-color: hsla(240 70 8 /0.6);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

/*--------------------------------------------------
Login Modal – Buttons
--------------------------------------------------*/
.btn_modal_open {
  position: absolute;
  z-index: 10;
  top: 2em;
  right: 2em;
  height: 2.5em;
  width: min(100%, 8em);
  background-color: #fff !important;
  color: var(--gray-8) !important;
  border: 1px solid var(--gray-5);
  font-size: 1em;
  border-radius: var(--space-xxs);
}

.btn_modal_open:is(:active, :hover, :focus) {
  background-color: var(--gray-5);
  color: var(--gray-9);
  border-color: var(--gray-5);
}

.btn_modal_close {
  position: absolute;
  top: 1em;
  right: 1em;
  background-color: var(--gray-3);
  color: var(--gray-8);
  width: var(--space-lg);
  aspect-ratio: 1;
  font-size: 1em;
  padding: 0;
  margin: 0;
  border-radius: 100%;
  border-color: var(--gray-5);
}

/*--------------------------------------------------
SSO Button
--------------------------------------------------*/
#mo_oauth_widget_parent .mo_oauth_login_button {
  margin: var(--space-md) auto;
  background-image: linear-gradient(45deg, hsl(225 73% 57%) 40%, hsl(247 62% 53%) 80%);
  height: 55px;
  line-height: 55px;
  display: block;
  border-radius: 100px;
  border: 2px solid hsl(247 62% 90%);
  box-shadow: 4px 8px 16px hsla(225 80% 20%/0.25);
  text-align: center;
  position: relative;
  transition: background 0.2s ease 0s;
  width: min(100%, 24em);
}

#mo_oauth_widget_parent .mo_oauth_login_button_icon {
  position: absolute;
  left: 1.25em;
  opacity: 0.75;
  font-size: 1em;
  display: block;
  margin: 0;
  padding: 0;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  height: auto;
}

#mo_oauth_widget_parent > a span {
  font-size: var(--text-body);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1;
}

#mo_oauth_widget_parent .mo_oauth_login_button:hover {
  background-image: linear-gradient(0deg, hsl(225 73% 57%) 40%, hsl(247 62% 53%) 80%);
}

#mo_sso_button_title {
  display: none;
}
