/**
 * Mixin for fluid type.
 * Example usage: @include fluid-type(font-size, 320px, 1600px, 32px, 80px);
 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/*
* Common styles for text plus mobile & tablet & small desktop
* in Content Pages and Field of science pages.
*/
.hy-paragraph-text.content_page.external,
.hy-paragraph-text.field_of_science.external {
  margin-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.content_page.external,
  .hy-paragraph-text.field_of_science.external {
    margin-top: 16px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.content_page.external,
  .hy-paragraph-text.field_of_science.external {
    margin-top: 32px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-paragraph-text.content_page.external.default,
  .hy-paragraph-text.field_of_science.external.default {
    margin-top: 32px;
  }
}
@media (min-width: 1601px) {
  .hy-paragraph-text.content_page.external.default,
  .hy-paragraph-text.field_of_science.external.default {
    margin-top: 40px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-paragraph-text.content_page.external.large,
  .hy-paragraph-text.field_of_science.external.large {
    margin-top: 40px;
  }
}
@media (min-width: 1601px) {
  .hy-paragraph-text.content_page.external.large,
  .hy-paragraph-text.field_of_science.external.large {
    margin-top: 40px;
  }
}
.hy-paragraph-text.content_page h3,
.hy-paragraph-text.field_of_science h3 {
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.content_page h3,
  .hy-paragraph-text.field_of_science h3 {
    padding-bottom: 12px;
    padding-top: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.content_page h3,
  .hy-paragraph-text.field_of_science h3 {
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
.hy-paragraph-text.content_page h4,
.hy-paragraph-text.field_of_science h4 {
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.content_page h4,
  .hy-paragraph-text.field_of_science h4 {
    padding-bottom: 12px;
    padding-top: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.content_page h4,
  .hy-paragraph-text.field_of_science h4 {
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
.hy-paragraph-text.content_page h5,
.hy-paragraph-text.field_of_science h5 {
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.content_page h5,
  .hy-paragraph-text.field_of_science h5 {
    padding-bottom: 12px;
    padding-top: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.content_page h5,
  .hy-paragraph-text.field_of_science h5 {
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
.hy-paragraph-text.content_page h6,
.hy-paragraph-text.field_of_science h6 {
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.content_page h6,
  .hy-paragraph-text.field_of_science h6 {
    padding-bottom: 12px;
    padding-top: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.content_page h6,
  .hy-paragraph-text.field_of_science h6 {
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
.hy-paragraph-text.landing_page h3,
.hy-paragraph-text.main_front_page h3 {
  font-size: 1.375rem;
  line-height: 28px;
  letter-spacing: -0.7px;
  padding-bottom: 12px;
  padding-top: 32px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.landing_page h3,
  .hy-paragraph-text.main_front_page h3 {
    font-size: 1.625rem;
    line-height: 32px;
    letter-spacing: -0.8px;
    padding-bottom: 16px;
    padding-top: 40px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.landing_page h3,
  .hy-paragraph-text.main_front_page h3 {
    padding-bottom: 16px;
    padding-top: 48px;
  }
}
.hy-paragraph-text.landing_page h4,
.hy-paragraph-text.main_front_page h4 {
  font-size: 1.125rem;
  line-height: 24px;
  letter-spacing: -0.56px;
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.landing_page h4,
  .hy-paragraph-text.main_front_page h4 {
    font-size: 1.375rem;
    line-height: 28px;
    letter-spacing: -0.69px;
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.landing_page h4,
  .hy-paragraph-text.main_front_page h4 {
    padding-bottom: 16px;
    padding-top: 40px;
  }
}
.hy-paragraph-text.landing_page h5,
.hy-paragraph-text.main_front_page h5 {
  font-size: 1rem;
  line-height: 20px;
  letter-spacing: -0.5px;
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.landing_page h5,
  .hy-paragraph-text.main_front_page h5 {
    font-size: 1.125rem;
    line-height: 24px;
    letter-spacing: -0.56px;
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.landing_page h5,
  .hy-paragraph-text.main_front_page h5 {
    padding-bottom: 16px;
    padding-top: 40px;
  }
}
.hy-paragraph-text.landing_page h6,
.hy-paragraph-text.main_front_page h6 {
  font-size: 0.875rem;
  line-height: 16px;
  letter-spacing: -0.44px;
  padding-bottom: 12px;
  padding-top: 24px;
}
@media (min-width: 30rem) {
  .hy-paragraph-text.landing_page h6,
  .hy-paragraph-text.main_front_page h6 {
    font-size: 1rem;
    line-height: 20px;
    letter-spacing: -0.5px;
    padding-bottom: 16px;
    padding-top: 32px;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.landing_page h6,
  .hy-paragraph-text.main_front_page h6 {
    padding-bottom: 16px;
    padding-top: 40px;
  }
}
:host {
  display: block;
}
.hy-paragraph-text {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-body);
  font-size: var(--ds-fontSize-16);
  font-weight: var(--ds-fontWeight-regular);
  letter-spacing: var(--ds-letterSpacing-wide);
  line-height: var(--ds-lineHeight-large);
  -ms-hyphens: auto;
  hyphens: auto;
  text-wrap: pretty;
  text-wrap: pretty;
  width: 100%;
}
@media (min-width: 60rem) {
  .hy-paragraph-text {
    font-size: var(--ds-fontSize-18);
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text {
    width: 91.46%;
  }
}
@media (min-width: 1601px) {
  .hy-paragraph-text {
    width: 82.89%;
  }
}
@media (min-width: 75.0625rem) {
  .hy-paragraph-text__large {
    color: var(--ds-palette-black-95);
    font-family: var(--ds-fontFamily-body);
    font-size: var(--ds-fontSize-18);
    font-weight: var(--ds-fontWeight-regular);
    letter-spacing: var(--ds-letterSpacing-wide);
    line-height: var(--ds-lineHeight-large);
    -ms-hyphens: auto;
    hyphens: auto;
    text-wrap: pretty;
    width: 82.89%;
  }
}
@media (min-width: 75.0625rem) and (min-width: 60rem) {
  .hy-paragraph-text__large {
    font-size: var(--ds-fontSize-20);
  }
}
@media (min-width: 1601px) {
  .hy-paragraph-text__large {
    width: 74.17%;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.degree_programme_group {
    width: 91.46%;
  }
}
@media (min-width: 60rem) {
  .hy-paragraph-text.main_front_page, .hy-paragraph-text.landing_page, .hy-paragraph-text.faculty, .hy-paragraph-text.generic_site_group, .hy-paragraph-text.degree_programme_group, .hy-paragraph-text.research_group {
    width: 100%;
  }
}
.hy-paragraph-text h1,
.hy-paragraph-text h2,
.hy-paragraph-text h3,
.hy-paragraph-text h4,
.hy-paragraph-text h5,
.hy-paragraph-text h6 {
  color: var(--grayscale-black);
  font-family: var(--main-font-family);
  width: 100%;
}
.hy-paragraph-text h1.negative,
.hy-paragraph-text h2.negative,
.hy-paragraph-text h3.negative,
.hy-paragraph-text h4.negative,
.hy-paragraph-text h5.negative,
.hy-paragraph-text h6.negative {
  color: var(--grayscale-white);
}
.hy-paragraph-text a {
  font-size: 0.875rem;
  line-height: 20px;
  color: var(--link-blue);
  font-family: var(--main-font-family);
  font-weight: 600;
}
@media (min-width: 30rem) {
  .hy-paragraph-text a {
    font-size: 1rem;
    line-height: 24px;
    letter-spacing: -0.1px;
  }
}
@media (min-width: 1601px) {
  .hy-paragraph-text a {
    font-size: 1.0625rem;
    line-height: 26px;
  }
}
.hy-paragraph-text a:hover {
  color: var(--brand-main);
}
.hy-paragraph-text a[target=_blank]:after {
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  margin-left: 3px;
  background-size: contain;
  content: "";
  background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='rgb(4,121,165)'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>");
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
}
.hy-paragraph-text a[target=_blank]:after:hover {
  background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='pink'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>");
}
.hy-paragraph-text a[target=_blank]:hover:after {
  background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='rgb(14,104,139)'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>");
}
.hy-paragraph-text p {
  margin-top: 0;
  padding-top: 0;
}
.hy-paragraph-text p:last-of-type {
  margin-bottom: 0;
}
.hy-paragraph-text:first-child {
  margin-top: 0 !important;
}
hy-paragraph-text + hy-link-list {
  display: block;
  margin-top: 32px;
}