/**
 * Assert given value is in pixel. That function is tolerant
 * to unit-less values which are converted.
 * @param $value The value to assert
 */
/**
 * @param $breakpoint Window width, should be expressed in pixel
 */
/*
 * Quick sort
 * @author Sam Richards
 * @param {List} $list - list to sort
 * @return {List}
 */
/**
 * $ref can be 100vw or 100cqi (container inline-size), etc.
 */
/**
 * Allow fluid size variation (interpolation) linked to window width.
 * Given breakpoints and corresponding values are expressed in pixels.
 * @param $map - A Sass map of viewport widths and length value pairs
 */
/**
 * set fluid font size according to font sizes map env.$fs-sizes.
 * font size must be expressed at $wmax values.
 */
/**
 * Above the threshold, font-size will increase in proportion of the viewport
 */
/*
 * @deprecated Element should be disabled with `disabled` attribute
 */
@font-face {
  font-family: "aktiv-grotesk";
  src: url("https://use.typekit.net/af/2b93b6/00000000000000007753ca37/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"), url("https://use.typekit.net/af/2b93b6/00000000000000007753ca37/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"), url("https://use.typekit.net/af/2b93b6/00000000000000007753ca37/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
}
@font-face {
  font-family: "aktiv-grotesk";
  src: url("https://use.typekit.net/af/46adfc/00000000000000007753ca29/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"), url("https://use.typekit.net/af/46adfc/00000000000000007753ca29/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"), url("https://use.typekit.net/af/46adfc/00000000000000007753ca29/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
}
@media screen {
  html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
  }
  /*
   * Opacity set to 0 by inline CSS. Transition occurs when this
   * stylesheet is loaded and allows to detect loading in JS.
   */
  /*
   * Trigger transition when passing $header-breakpoint, allows
   * to detect desktop mode changes.
   */
  /*
   * Trigger transition for nav opening and nav closing.
   * This is listened by JS to detect opening an closing ends.
   */
}
@media screen and (min-width: 100em) {
  html {
    font-size: 1vw;
  }
}
@media screen {
  body {
    --color-back: white;
    --color-front: #333;
    --color-cta-front: white;
    --color-cta-back: #26594b;
    --color-cta-border: #26594b;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: auto;
    /* 320px: 12.6666666667px, 1140px: 14px */
    font-size: clamp(0.79167rem, calc(0.75915rem + 0.162601626vw), 0.875rem);
    font-family: sans-serif;
    color: #333;
    font-weight: 500;
    line-height: 1.4285714286;
    text-rendering: optimizeLegibility;
    margin: 0;
    min-width: 20rem;
    overflow-x: hidden;
    padding: 0;
  }
  .fonts-on body {
    font-family: "aktiv-grotesk", sans-serif;
  }
  p, h1, h2, h3, h4, h5, h6, a, button, li, blockquote, input, select, textarea {
    background-color: transparent;
  }
  body {
    --scrollbar-width: 0px;
    box-sizing: border-box;
  }
}
@media screen and (prefers-reduced-motion: reduce), screen and (update: slow) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0.001ms !important;
  }
}
@media screen {
  #main-css-ctrl {
    opacity: 1;
    transition: opacity 0ms linear 1ms;
  }
  #desktop-mode-ctrl {
    opacity: 0;
    transition: opacity 0ms linear 1ms;
  }
}
@media screen and (min-width: 65.625em) {
  #desktop-mode-ctrl {
    opacity: 1;
  }
}
@media screen {
  :root {
    --breakpoint-desktop: 65.625em;
  }
  #nav-trans-ctrl {
    opacity: 0;
  }
  .nav-opening #nav-trans-ctrl {
    transition: opacity 350ms;
  }
  .nav-closing #nav-trans-ctrl {
    transition: opacity 350ms;
  }
  .nav-on #nav-trans-ctrl {
    opacity: 1;
  }
  #wpadminbar {
    position: fixed !important;
    width: 100%;
  }
}
@media screen and (max-width: 31.25em) {
  #wpadminbar {
    overflow: hidden;
  }
}
@media screen {
  :root {
    --height-adminbar: 0px;
    --gap-container: clamp(1.125rem, calc(0.83232rem + 1.4634146341vw), 1.875rem);
    --gap-grid: clamp(1.125rem, calc(0.83232rem + 1.4634146341vw), 1.875rem);
  }
  :root:has(body.admin-bar) {
    --height-adminbar: 46px;
  }
}
@media screen and (min-width: 48.9375em) {
  :root:has(body.admin-bar) {
    --height-adminbar: 32px;
  }
}
@media screen {
  :root.js-off .js-on, :root.js-on .js-off {
    display: none;
  }
  body {
    padding-top: calc(var(--height-header) + var(--height-skips));
    /* 320px: 18px, 1140px: 30px */
    --container-gap: clamp(1.125rem, calc(0.83232rem + 1.4634146341vw), 1.875rem);
    /* 320px: 9px, 1140px: 15px */
    --grid-gap: clamp(0.5625rem, calc(0.41616rem + 0.7317073171vw), 0.9375rem);
  }
  body {
    --edge-gap: var(--cgap, 18px);
  }
}
@media screen and (min-width: 75em) {
  body {
    --edge-gap: calc((100vw - 71.25rem) / 2);
    --edge-gap: calc((100vw - 71.25rem - var(--scrollbar-width, 0px)) / 2);
  }
}
@media screen {
  [id] {
    scroll-margin-top: calc(var(--height-skips) + var(--height-header) + var(--height-adminbar));
  }
  #signup-content {
    margin: 3.75rem auto;
    text-align: center;
  }
}
body.login {
  --color-front: white;
  --color-back: #26594b;
  --color-accent: white;
  color: var(--color-front);
  background-color: var(--color-back);
  height: auto;
  min-height: 100%;
  padding-bottom: 1.25rem;
  min-width: 0;
}
body.login .visually-hidden {
  border: 0;
  clip: rect(0.0625rem 0.0625rem 0.0625rem 0.0625rem); /* IE6, IE7 */
  clip: rect(0.0625rem, 0.0625rem, 0.0625rem, 0.0625rem);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 0.0625rem;
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 0.0625rem;
  word-wrap: normal !important;
}
body.login.login-action-login #login {
  width: 22.5rem;
  max-width: 100%;
}
body.login.login-action-confirm_admin_email #login {
  width: 40.625rem;
  max-width: 100%;
}
body.login a, body.login #backtoblog a, body.login #nav a {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
}
body.login #backtoblog a, body.login #nav a {
  color: inherit !important;
}
body.login label {
  font-size: 1em;
  font-weight: 500;
}
body.login #openid-connect-authenticate label {
  font-weight: 400;
}
body.login #openid-connect-authenticate label em {
  font-style: normal;
  font-weight: 700;
}
body.login form .input {
  border: 0.0625rem solid #90b40a;
  border-radius: 0.1875rem;
}
body.login .button {
  background: transparent;
  border-color: #26594b;
  color: #26594b;
}
body.login .button:where(:hover, :focus, :active) {
  background: #F0F0F1;
  border-color: #26594b;
  color: #26594b;
}
body.login .button-primary {
  background-color: #26594b;
  color: white;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
body.login .button-primary:hover, body.login .button-primary:focus, body.login .button-primary:active {
  background-color: rgb(30.3700787402, 71.1299212598, 59.9409448819);
  border-color: rgb(30.3700787402, 71.1299212598, 59.9409448819);
}
body.login #backtoblog a {
  display: inline-block;
}
body.login #backtoblog a::first-letter {
  color: #90b40a;
  display: inline-block;
  font-size: 1.6em;
  margin-right: 0.5em;
  vertical-align: -0.15em;
}
body.login .wp-login-logo a {
  background: none;
  color: inherit;
  height: 8.3125rem;
  width: 16.4375rem;
}
body.login .wp-login-logo a img,
body.login .wp-login-logo a svg {
  display: block;
  height: 100%;
  width: 100%;
}
body.login form,
body.login .login-footer {
  --color-front: #333;
  --color-back: white;
  --color-accent: #333;
  color: var(--color-front);
  background-color: var(--color-back);
  border: none;
  border-radius: 0.625rem;
}
body.login input[type=checkbox]:focus {
  border-color: #90b40a;
  box-shadow: 0 0 0 0.0625rem #90b40a;
}
body.login input[type=checkbox]:checked::before {
  content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%2326594b%27%2F%3E%3C%2Fsvg%3E");
}
body.login .notice {
  --color-front: #333;
  --color-back: #90b40a;
  --color-accent: #333;
  color: var(--color-front);
  background-color: var(--color-back);
  border: none;
  border-radius: 0.625rem;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 1.875rem;
}
body.login .login-footer {
  box-sizing: border-box;
  display: flex;
  flex-flow: column;
  row-gap: 1lh;
  overflow: hidden;
  padding: 1.625rem;
}
body.login .login-footer .content__title {
  color: #26594b;
  line-height: 1.2;
}
body.login .login-footer ul {
  padding-left: 1.2em;
}
body.login .login-footer .button {
  float: none;
}

.login-wrapper {
  /* 320px: 18px, 1140px: 30px */
  padding-left: clamp(1.125rem, calc(0.83232rem + 1.4634146341vw), 1.875rem);
  padding-right: clamp(1.125rem, calc(0.83232rem + 1.4634146341vw), 1.875rem);
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  width: 100%;
  display: grid;
  padding-top: 2.1428571429em;
}
.login-wrapper #login {
  display: contents;
}
.login-wrapper #nav,
.login-wrapper #backtoblog {
  text-align: center;
}
@media (max-width: 56.1875em) {
  .login-wrapper {
    max-width: 40.625rem;
  }
  .login-wrapper #loginform {
    align-self: center;
  }
  .login-wrapper .login-footer {
    grid-row-start: 5;
    margin: 1em auto 2em;
  }
}
@media (min-width: 56.25em) {
  .login-wrapper {
    grid-template-columns: minmax(-webkit-min-content, 4fr) minmax(-webkit-min-content, 6fr);
    grid-template-columns: minmax(min-content, 4fr) minmax(min-content, 6fr);
    -moz-column-gap: var(--gap-grid);
         column-gap: var(--gap-grid);
  }
  .login-wrapper .wp-login-logo {
    font-size: inherit;
    grid-area: 1/1/2/3;
    margin-bottom: 2.8571428571em;
  }
  .login-wrapper .wp-login-logo a {
    margin: 0 auto;
  }
  .login-wrapper #loginform {
    grid-area: 2/1/3/2;
    margin-top: 0;
  }
  .login-wrapper #nav {
    grid-area: 3/1/4/2;
  }
  .login-wrapper #backtoblog {
    grid-area: 4/1/5/2;
    padding: 0;
  }
  .login-wrapper .login-footer {
    align-self: start;
    grid-area: 2/2/5/3;
  }
  .login-wrapper .privacy-policy-page-link {
    grid-area: 5/1/6/3;
    margin-top: 5.7142857143em;
  }
}
