/**
 * Mixin for fluid type.
 * Example usage: @include fluid-type(font-size, 320px, 1600px, 32px, 80px);
 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
:host {
  --site-logo-color: var(--brand-main-nearly-black);
}
:host(.hy-site-logo--mobile) {
  --site-logo-color: var(--brand-main-nearly-black);
}
.hy-site-logo a,
.hy-site-logo div.luomus-group {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
.hy-site-logo a:focus-visible,
.hy-site-logo div.luomus-group:focus-visible {
  -webkit-box-shadow: 0 0 0 var(--ds-borderWidth-thin) var(--ds-borderColor-white);
  box-shadow: 0 0 0 var(--ds-borderWidth-thin) var(--ds-borderColor-white);
  outline: var(--ds-borderWidth-thin) solid var(--ds-borderColor-black);
  outline-offset: calc(var(--ds-borderWidth-thin) * 1);
}
.hy-site-logo__label {
  font-size: 0.875rem;
  line-height: 14px;
  font-weight: 700;
  color: var(--site-logo-color);
  font-family: var(--main-font-family);
  letter-spacing: -0.7px;
  margin-left: 8px;
  max-width: 90px;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-site-header__branding .hy-site-logo__label {
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    white-space: nowrap;
  }
}
@media (min-width: 75.0625rem) {
  .hy-site-header__branding .hy-site-logo__label {
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    max-width: 90px;
    white-space: initial;
  }
}
@media (min-width: 1601px) {
  .hy-site-header__branding .hy-site-logo__label {
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    white-space: nowrap;
  }
}
@media (min-width: 30rem) {
  .hy-site-logo__label {
    font-size: 0.9375rem;
    line-height: 16px;
    letter-spacing: -0.75px;
    margin-left: 6px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-site-logo__label {
    font-size: 0.875rem;
    line-height: 14px;
    letter-spacing: -0.6px;
    margin-left: 4px;
  }
}
@media (min-width: 1601px) {
  .hy-site-logo__label {
    font-size: 1rem;
    line-height: 16px;
    letter-spacing: -0.7px;
    margin-left: 4px;
  }
}
.hy-site-logo__label.group {
  font-size: 0.75rem;
  line-height: 14px;
  color: var(--grayscale-white);
  letter-spacing: -0.6px;
  margin-left: 3px;
}
@media (min-width: 60rem) {
  .hy-site-logo__label.group {
    font-size: 0.875rem;
    line-height: 14px;
    letter-spacing: -0.7px;
  }
}
@media (min-width: 1601px) {
  .hy-site-logo__label.group {
    margin-left: 8px;
  }
}
.hy-site-logo__icon.group svg {
  height: 32px !important;
  width: 33.41px;
}
.hy-site-logo__icon:not(.group) svg {
  height: 32px;
  width: 33.41px;
}
@media (min-width: 30rem) {
  .hy-site-logo__icon:not(.group) svg {
    height: 48px;
    width: 51px;
  }
}
@media (min-width: 1601px) {
  .hy-site-logo__icon:not(.group) svg {
    height: 60px;
    width: 64px;
  }
}
.hy-site-logo__header__page:hover {
  color: var(--brand-main);
}
.hy-site-logo__header__page:hover a,
.hy-site-logo__header__page:hover span {
  color: var(--brand-main) !important;
}
.hy-site-logo__header__page:hover svg {
  fill: var(--brand-main);
}
.hy-site-logo__header__group:not(.luomus):hover {
  color: var(--grayscale-medium);
}
.hy-site-logo__header__group:not(.luomus):hover a,
.hy-site-logo__header__group:not(.luomus):hover span {
  color: var(--grayscale-medium) !important;
}
.hy-site-logo__header__group:not(.luomus):hover svg {
  fill: var(--grayscale-medium);
}
.hy-site-logo__footer:hover span {
  color: var(--grayscale-medium) !important;
}
.hy-site-logo__footer:hover svg {
  fill: var(--grayscale-medium) !important;
}
.hy-site-header__logo-container a.group {
  font-size: 0.875rem;
  line-height: 16px;
  font-weight: 700;
  color: var(--grayscale-black);
  font-family: var(--main-font-family);
  letter-spacing: -0.5px;
  text-decoration: none;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-site-header__logo-container a.group {
    font-size: 1.5rem;
    line-height: 28px;
    letter-spacing: -0.8px;
  }
}
@media (min-width: 1601px) {
  .hy-site-header__logo-container a.group {
    font-size: 1.625rem;
    line-height: 30px;
  }
}