:root {
  --white: #fafafa;
  --black: black;
  --light-grey: #d7d7d7;
  --aquamarine: #0fefc3;
  --aquamarine-2: #01c19c;
  --gold: #ffce00;
  --white-smoke: #eee;
}

body {
  background-color: var(--white);
  color: var(--black);
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3.7em;
  font-weight: 700;
  line-height: 1.1em;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.25em;
  font-weight: 700;
  line-height: 1.2em;
}

p {
  margin-bottom: 0;
}

a {
  color: var(--black);
  text-decoration: none;
}

.all {
  overflow: hidden;
}

.section-content {
  height: 100vh;
  min-height: 700px;
  border-bottom: 1px solid var(--light-grey);
  padding: 80px 0 0;
  display: flex;
  overflow: hidden;
}

.header {
  z-index: 2000;
  width: 100vw;
  background-color: var(--white);
  font-size: 14px;
  line-height: 20px;
  position: fixed;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.container {
  max-width: none;
  padding-left: 30px;
  padding-right: 30px;
}

.container.more-space {
  padding-left: 7vw;
  padding-right: 7vw;
}

.img-full {
  width: 100%;
  display: block;
}

.brand {
  width: 334px;
  padding-left: 0;
  padding-right: 0;
  transition: opacity .5s;
}

.brand:hover {
  opacity: .6;
}

.header-wrap {
  height: 80px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-menu-wrap {
  margin-left: -15px;
  margin-right: -15px;
  display: flex;
}

.nav-item {
  justify-content: center;
  align-items: center;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
}

.header-line {
  width: 100%;
  height: 1px;
  background-color: var(--light-grey);
  padding: 0;
}

.header-line-progress {
  width: 20%;
  height: 1px;
  background-color: var(--aquamarine);
  padding: 0;
}

.btn-lang {
  width: 30px;
  height: 30px;
  border: 1px solid var(--light-grey);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: color .5s, border-color .5s;
  display: flex;
}

.btn-lang:hover {
  border-color: var(--aquamarine);
  color: var(--aquamarine);
}

.btn-lang-ch-txt {
  font-family: Noto Sans TC, sans-serif;
  font-weight: 400;
}

.section-banner {
  height: 100vh;
  min-height: 700px;
  border-bottom: 1px solid var(--light-grey);
  padding-top: 80px;
  overflow: hidden;
}

.sp-banner-wrap {
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.sp-banner-bottom {
  height: 100px;
  display: flex;
  position: relative;
}

.sp-banner-bottom.sp-main {
  width: 100%;
  background-color: var(--white);
}

.sp-banner-content-b {
  flex: 1;
  display: flex;
  position: relative;
  overflow: hidden;
}

.sp-banner-content-b.sp-main {
  z-index: 1;
  min-height: 100%;
  overflow: visible;
}

.sp-detail-banner-l {
  width: 50%;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 10vh;
  padding-left: 60px;
  padding-right: 30px;
  display: flex;
  position: relative;
}

.sp-detail-banner-l.bottom {
  padding-top: 0;
}

.sp-detail-banner-r {
  width: 50%;
  border-left: 1px solid var(--light-grey);
  padding-top: 15vh;
  position: relative;
}

.sp-detail-banner-r.bottom {
  padding-top: 30px;
}

.sp-detail-banner-r.banner-img {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.line-hori {
  width: 100%;
  height: 1px;
  background-color: var(--light-grey);
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
  overflow: hidden;
}

.line-hori.desktop-hide {
  display: none;
}

.line-move {
  width: 100px;
  height: 1px;
  background-color: var(--aquamarine);
  position: relative;
}

.line-move.longer {
  width: 200px;
}

.btn-scroll {
  justify-content: flex-end;
  align-items: center;
  font-size: 2.25em;
  font-weight: 700;
  line-height: 1em;
  transition: color .5s;
  display: inline-block;
}

.btn-scroll:hover {
  color: var(--aquamarine);
}

.btn-scroll-circle {
  width: 20px;
  height: 20px;
  background-color: var(--black);
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
}

.btn-scroll-wrap {
  justify-content: center;
  align-items: center;
  display: flex;
}

.btn-scroll-arrow {
  width: 100%;
  height: 100%;
  background-image: url('../images/arrow-scroll.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.btn-scroll-hover {
  width: 100%;
  height: 100%;
  background-color: var(--white);
  opacity: 0;
  border-radius: 50%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
  transform: scale(0);
}

.txt-align-r {
  text-align: right;
}

.sp-detail-banner-img-b {
  width: 70vh;
  border-top-right-radius: 200px;
  position: relative;
  overflow: hidden;
}

.sp-detail-banner-img {
  width: 100%;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 85%;
  position: relative;
}

.sp-detail-banner-img.banner-5 {
  background-image: url('../images/sp-detail-banner-5.svg');
}

.sp-detail-banner-title-b {
  width: 100%;
  height: 100%;
  border-top-right-radius: 200px;
  justify-content: flex-start;
  align-items: center;
  padding-top: 30px;
  display: flex;
}

.sp-detail-banner-margin-line {
  width: 1px;
  height: 100%;
  background-color: var(--light-grey);
  margin-left: 30px;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.btn-back {
  background-image: url('../images/arrow-back.svg');
  background-position: 0%;
  background-repeat: no-repeat;
  background-size: 9px;
  padding-left: 24px;
  transition: color .5s;
}

.btn-back:hover {
  color: var(--aquamarine);
}

.sp-detail-back-b {
  margin-top: 30px;
  margin-left: 60px;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.detail-banner-section-txt {
  margin-bottom: 20px;
}

.content-b {
  flex: 1;
  display: flex;
}

.content-b.sp-programme {
  overflow: auto;
}

.section-bar-b {
  z-index: 1000;
  background-color: var(--white);
  position: relative;
}

.section-bar {
  width: 40px;
  height: 100%;
  border-left: 1px solid var(--light-grey);
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 30px;
  font-size: 20px;
  transition: color .5s;
  display: flex;
  position: relative;
}

.section-bar:hover {
  color: var(--aquamarine);
}

.bar-mum-b {
  width: 30px;
  height: 30px;
  color: var(--black);
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  display: flex;
  position: relative;
}

.relative {
  position: relative;
}

.bar-num-circle {
  width: 100%;
  height: 100%;
  background-color: var(--aquamarine);
  border-radius: 50%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.bar-icon-b {
  width: 26px;
  height: 26px;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
}

.bar-icon-b.icon-blurb {
  background-image: url('../images/bar-icon-blurb.svg');
}

.bar-icon-b.icon-programme-detail {
  background-image: url('../images/bar-icon-programme-details.svg');
}

.bar-icon-b.icon-contact {
  background-image: url('../images/bar-icon-contact.svg');
}

.bar-icon-b.icon-programme {
  background-image: url('../images/bar-icon-programme.svg');
}

.bar-txt-b {
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%)rotate(90deg);
}

.sp-detail-blurb-l {
  width: 30%;
  height: 100%;
  border-right: 1px solid var(--light-grey);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.sp-blurb-r {
  width: 70%;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.sp-blurb-img-b {
  width: 100%;
  min-height: 200px;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.sp-blurb-img-b.main-page {
  order: 1;
}

.sp-blurb-img {
  width: 100%;
  height: 100%;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-blurb-img.detail-page {
  background-image: url('../images/sp-detail-5-blurb2x.jpg');
}

.sp-blurb-img.main-page {
  background-image: url('../images/sp-blurb-factory2x.jpg');
}

.sp-detail-blurb-content-b {
  min-height: 50vh;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  position: relative;
  overflow: auto;
}

.max-800 {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.common-section-heading-b {
  width: 100%;
  white-space: normal;
  padding-top: 100px;
  padding-bottom: 100px;
}

._100-b {
  width: 100%;
  flex: none;
}

.sp-detail-pd-l {
  width: 30%;
  height: 100%;
  min-width: 400px;
  border-right: 1px solid var(--light-grey);
  flex-direction: column;
  flex: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.sp-detail-pd-r {
  width: 70%;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  display: block;
}

.sp-detail-pd-title-b {
  width: 100%;
  min-height: 30vh;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.sp-detail-pd-img-b {
  width: 100%;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.sp-detail-pd-img {
  width: 100%;
  height: 100%;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.sp-detail-pd-img.img-1 {
  background-image: url('../images/sp-detail-programme-detail-img2x.jpg');
}

.sp-detail-pd-img.img-5 {
  background-image: url('../images/sp-detail-5-pd2x.jpg');
}

.sp-detail-pd-content-b {
  width: 100%;
  height: 100%;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  position: relative;
  overflow: auto;
}

.sp-pd-row-b {
  width: 100%;
  border-bottom: 1px solid var(--light-grey);
  background-image: url('../images/dot-list.svg');
  background-position: 0 9px;
  background-repeat: no-repeat;
  background-size: 5px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
  display: flex;
}

.sp-pd-fieldname {
  width: 40%;
  padding-right: 30px;
  font-weight: 700;
}

.sp-pd-data {
  flex: 1;
}

.common-txt-link {
  color: var(--aquamarine);
  transition: color .5s;
}

.common-txt-link:hover {
  color: var(--aquamarine-2);
}

.common-content-padding {
  padding-top: 7%;
  padding-bottom: 7%;
}

.common-content-padding.contact {
  width: 100%;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding-bottom: 0;
  display: flex;
}

.common-contact-l {
  width: 40%;
  min-width: 400px;
  border-right: 1px solid var(--light-grey);
  flex-direction: column;
  justify-content: space-between;
  display: block;
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.common-contact-content-b {
  height: 100%;
  flex-flow: column wrap;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.contact-b {
  width: 100%;
  height: 100%;
  flex-direction: column;
  display: flex;
}

.contact-bottom-b {
  height: 100px;
  display: flex;
  position: relative;
}

.footer-b {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: .875em;
  line-height: 1.5em;
  position: relative;
}

.contact-row-b {
  align-items: flex-start;
  margin-bottom: 15px;
  display: flex;
}

.contact-row-fieldname {
  width: 90px;
  padding-right: 30px;
  font-weight: 700;
}

.contact-row-data {
  flex: 1;
}

.contact-link {
  transition: color .5s;
}

.contact-link:hover {
  color: var(--aquamarine);
}

.common-contact-r {
  flex: 1;
}

.common-contact-img-b {
  width: 100%;
  height: 100%;
  border-top-left-radius: 300px;
  position: relative;
  overflow: hidden;
}

.common-contact-img-b.desktop-hide {
  display: none;
}

.contact-img {
  width: 100%;
  height: 100%;
  background-image: url('../images/contact-img22x.jpg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.contact-img-mask {
  width: 100%;
  height: 100%;
  background-image: linear-gradient(42deg, rgba(255, 255, 255, .81), rgba(255, 255, 255, 0));
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-detail-blurb-main-l {
  width: 30%;
  height: 100%;
  min-width: 400px;
  border-right: 1px solid var(--light-grey);
  flex-direction: column;
  flex: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.sp-main-blurb-pattern {
  width: 100%;
  background-image: url('../images/sp-blurb-pattern2x.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100%;
}

.sp-main-blurb-pattern-b {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.sp-main-blurb-title-b {
  width: 100%;
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  display: flex;
}

.sp-detail-programme-l {
  width: 30%;
  height: 100%;
  min-width: 400px;
  border-right: 1px solid var(--light-grey);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.sp-programme-r {
  width: 70%;
  height: 100%;
  flex-direction: row;
  flex: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.txt-big-num {
  color: var(--aquamarine);
  font-size: 3.75em;
  font-weight: 700;
  line-height: 1.1em;
}

.sp-programme-wrap {
  height: 100vh;
  min-height: 730px;
  flex: none;
  margin-top: -80px;
  display: flex;
  overflow: hidden;
}

.sp-programme-col-b {
  width: 50vh;
  height: 100%;
  min-width: 350px;
  flex-direction: column;
  flex: none;
  align-items: flex-start;
  margin-right: -35px;
  padding-top: 80px;
  padding-right: 35px;
  display: flex;
}

.sp-programme-col-pattern {
  width: 100%;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100%;
}

.sp-programme-col-pattern.sp-1 {
  background-image: url('../images/sp-programme-pattern-12x.jpg');
}

.sp-programme-col-pattern.sp-2 {
  background-image: url('../images/sp-programme-pattern-22x.jpg');
}

.sp-programme-col-pattern.sp-3 {
  background-image: url('../images/sp-programme-pattern-32x.jpg');
}

.sp-programme-col-pattern.sp-4 {
  background-image: url('../images/sp-programme-pattern-42x.jpg');
}

.sp-programme-col-pattern.sp-5 {
  background-image: url('../images/sp-programme-pattern-52x.jpg');
}

.sp-programme-col-pattern.sp-6 {
  background-image: url('../images/sp-programme-pattern-62x.jpg');
}

.sp-programme-link-b {
  width: 100%;
  color: var(--white);
  text-align: center;
  text-shadow: 1px 1px 20px rgba(0, 0, 0, .5);
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.1em;
  transition: text-shadow .5s;
  display: block;
  position: relative;
  overflow: hidden;
}

.sp-programme-link-b:hover {
  text-shadow: 1px 1px 20px rgba(0, 0, 0, 0);
  border-width: 0;
}

.sp-programme-link-img {
  width: 100%;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100%;
  position: relative;
}

.sp-programme-link-img.sp-1 {
  background-image: url('../images/sp-programme-1-sip.svg');
}

.sp-programme-link-img.sp-2 {
  background-image: url('../images/sp-programme-1-mhat.svg');
}

.sp-programme-link-img.sp-3 {
  background-image: url('../images/sp-programme-3-fsm.svg');
}

.sp-programme-link-img.sp-4 {
  background-image: url('../images/sp-programme-4-tos.svg');
}

.sp-programme-link-img.sp-5 {
  background-image: url('../images/sp-programme-5-wtgols.svg');
}

.sp-programme-link-img.sp-6 {
  background-image: url('../images/sp-programme-6-cmsp.svg');
}

.sp-programme-link-img.sp-7 {
  background-image: url('../images/sp-programme-7-hsp.svg');
}

.sp-programme-link-mask {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .25);
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-programme-link-hover {
  width: 100%;
  height: 100%;
  background-color: var(--gold);
  opacity: 0;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-programme-link-content {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  padding: 30px;
  display: flex;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-programme-link-title {
  margin-bottom: 20px;
}

.sp-programme-link-arrow {
  width: 60px;
  height: 60px;
  border: 1px solid var(--light-grey);
  background-color: var(--white);
  background-image: url('../images/arrow-btn-circle-more.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 13px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
}

.sp-programme-link-wrap {
  width: 100%;
  background-color: var(--white-smoke);
  background-image: url('../images/sp-programme-pattern-42x.jpg');
  background-position: 0 0;
  background-size: contain;
  flex: 1;
}

.sp-programme-link-border {
  width: 100%;
  height: 100%;
  border: 1vw solid var(--aquamarine);
  border-radius: 100px;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-main-banner-l {
  z-index: 1;
  width: 35%;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 50px;
  display: block;
  position: relative;
}

.sp-main-banner-l.bottom {
  padding-top: 0;
}

.sp-main-banner-r {
  min-width: 600px;
  border-left: 1px solid var(--light-grey);
  flex: 1;
  align-items: flex-end;
  display: flex;
  position: relative;
}

.sp-main-banner-r.bottom {
  padding-top: 30px;
  display: block;
}

.sp-main-banner-r.banner-img {
  border-left-style: none;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.sp-main-banner-img {
  width: 100%;
  height: 100%;
  background-image: url('../images/sp-banner-bigger2x.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-main-banner-img-b {
  width: 100%;
  height: 100%;
  border-top-left-radius: 13vw;
  position: relative;
  overflow: hidden;
}

.sp-banner-txt-b {
  width: 100vw;
  margin-bottom: -50px;
  position: absolute;
  top: auto;
  bottom: 0%;
  left: 0%;
  right: auto;
}

.sp-page-title {
  color: var(--aquamarine);
}

.medify-logo-b {
  font-size: 6.25em;
  font-weight: 700;
  line-height: 1.1em;
}

.sp-banner-graphic {
  width: auto;
}

.sp-banner-graphic.graphic-1 {
  z-index: -1;
  width: 25vw;
  min-width: 400px;
  margin-top: 17%;
  margin-left: 19%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-banner-graphic.graphic-2 {
  z-index: 2;
  width: 14vw;
  min-width: 200px;
  margin-top: 30px;
  margin-left: -2%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-banner-graphic.graphic-3 {
  z-index: 1;
  width: 7vw;
  min-width: 100px;
  margin-left: 10%;
  position: absolute;
  top: auto;
  bottom: 50%;
  left: 0%;
  right: auto;
}

.btn-top {
  z-index: 2500;
  width: 60px;
  height: 60px;
  border: 1px solid var(--light-grey);
  background-color: var(--white);
  background-image: url('../images/btn-backtostart.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
  margin-bottom: 30px;
  margin-right: 30px;
  transition: background-color .5s, border-color .5s;
  display: none;
  position: fixed;
  top: auto;
  bottom: 0%;
  left: auto;
  right: 0%;
}

.btn-top:hover {
  border-color: var(--aquamarine);
  background-color: var(--white-smoke);
}

.medify-logo-wrap {
  width: 100%;
  max-width: 420px;
}

.sp-programme-link-img-hover {
  width: 100%;
  opacity: 0;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.sp-programme-link-img-hover.sp-1 {
  background-image: url('../images/sp-programme-1-sip-hover.svg');
}

.sp-programme-link-img-hover.sp-2 {
  background-image: url('../images/sp-programme-1-mhat-hover.svg');
}

.sp-programme-link-img-hover.sp-3 {
  background-image: url('../images/sp-programme-3-fsm-hover.svg');
}

.sp-programme-link-img-hover.sp-4 {
  background-image: url('../images/sp-programme-4-tos-hover.svg');
}

.sp-programme-link-img-hover.sp-5 {
  background-image: url('../images/sp-programme-5-wtgols-hover.svg');
}

.sp-programme-link-img-hover.sp-6 {
  background-image: url('../images/sp-programme-6-cmsp-hover.svg');
}

.sp-programme-link-img-hover.sp-7 {
  background-image: url('../images/sp-programme-7-hsp-hover.svg');
}

.detail-programme-name-txt {
  border-left: 2px solid var(--aquamarine);
  margin-bottom: 30px;
  padding-left: 15px;
  font-weight: 700;
}

.content-scroll-mask {
  width: 100%;
  height: 150px;
  background-image: linear-gradient(to bottom, rgba(250, 250, 250, 0), var(--white) 50%);
  position: absolute;
  top: auto;
  bottom: 0%;
  left: 0%;
  right: auto;
}

.home-banner-logo {
  max-width: 500px;
  margin: 5%;
  position: relative;
}

.banner-graphic-wrap {
  width: 100%;
  height: 100%;
  padding-top: 60px;
  padding-left: 5%;
  padding-right: 5%;
  position: relative;
}

.banner-grey-box {
  background-color: var(--white-smoke);
  position: absolute;
  top: 0%;
  bottom: 0%;
  left: 0%;
  right: 0%;
}

.banner-grey-box.v-mobile {
  display: none;
}

.banner-graphic-circles {
  width: 60%;
  max-width: 300px;
  position: relative;
}

.banner-graphic-circles.v-mobile {
  display: none;
}

.banner-graphic-cross-color {
  width: 70%;
  max-width: 400px;
  margin-top: 10%;
  margin-left: auto;
  position: relative;
}

.banner-graphic-cross-color.v-mobile {
  display: none;
}

.banner-graphic-cross-white {
  display: none;
  position: relative;
}

.banner-graphic-cross-white.v-mobile {
  display: none;
}

html.w-mod-js [data-ix="common-fade-from-bottom"] {
  opacity: 0;
  transform: translate(0, 50px);
}

html.w-mod-js [data-ix="banner-txt-fade-from-left"] {
  opacity: 0;
  transform: translate(-100px);
}

html.w-mod-js [data-ix="common-scale-fade-in"] {
  opacity: 0;
  transform: scale(1.1);
}

html.w-mod-js [data-ix="sp-banner-img-in"] {
  transform: scale(1.1);
}

html.w-mod-js [data-ix="sp-programme-hover"] {
  opacity: 0;
  transform: translate(0, 30px);
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 45px;
    line-height: 49px;
  }

  h2 {
    font-size: 28px;
    line-height: 36px;
  }

  .section-content {
    height: auto;
    min-height: 0;
    padding-top: 0;
    display: block;
  }

  .container.more-space {
    padding-left: 30px;
    padding-right: 30px;
  }

  .header-wrap {
    height: 80px;
  }

  .section-banner {
    z-index: 1001;
    width: 100%;
    height: auto;
    min-height: 100vh;
    display: flex;
    position: relative;
  }

  .sp-banner-wrap, .sp-banner-wrap.sp-main {
    width: 100%;
    height: auto;
  }

  .sp-banner-bottom {
    height: 60px;
  }

  .sp-banner-bottom.sp-main {
    width: 100%;
    clear: both;
    display: none;
  }

  .sp-banner-content-b {
    width: 100%;
    flex-wrap: wrap;
    flex: 1;
    justify-content: flex-start;
    align-items: center;
  }

  .sp-banner-content-b.sp-main {
    min-height: 800px;
    flex-flow: column;
    align-content: space-between;
    justify-content: flex-end;
    align-items: flex-end;
  }

  .sp-detail-banner-l {
    z-index: 1;
    width: 80%;
    padding-top: 30px;
  }

  .sp-detail-banner-r {
    width: 60%;
    float: right;
    padding-top: 0;
    padding-left: 60px;
  }

  .sp-detail-banner-r.bottom {
    flex: none;
  }

  .sp-detail-banner-r.banner-img {
    width: 100%;
    float: none;
    border-left-style: none;
  }

  .line-hori.desktop-only {
    display: none;
  }

  .line-hori.desktop-hide {
    display: block;
  }

  .btn-scroll {
    display: none;
  }

  .sp-detail-banner-img-b {
    width: 90%;
    border-top-left-radius: 200px;
    border-top-right-radius: 0;
  }

  .sp-detail-banner-img {
    float: right;
    padding-top: 85%;
    position: static;
  }

  .sp-detail-back-b {
    margin-top: 0;
    margin-left: 0;
    position: static;
  }

  .content-b {
    display: block;
    overflow: visible;
  }

  .section-bar-b {
    margin-top: -1px;
  }

  .section-bar {
    width: 100%;
    height: 50px;
    border-top: 1px solid var(--light-grey);
    border-left-style: none;
    flex-direction: row;
    padding: 0 30px;
  }

  .bar-txt-b {
    white-space: normal;
    transform: translate(-50%, -50%);
  }

  .sp-detail-blurb-l {
    width: 100%;
    border-right-style: none;
    display: block;
  }

  .sp-blurb-r {
    width: 100%;
    display: block;
  }

  .sp-blurb-img-b {
    width: auto;
    height: 300px;
    min-height: 0;
    margin-left: 30px;
    margin-right: 30px;
  }

  .sp-detail-blurb-content-b {
    min-height: 0;
    overflow: visible;
  }

  .common-section-heading-b {
    max-width: none;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .sp-detail-pd-l {
    width: 100%;
    height: auto;
    min-width: 0;
    border-right-style: none;
    display: block;
  }

  .sp-detail-pd-r {
    width: 100%;
    display: block;
  }

  .sp-detail-pd-title-b {
    min-height: 0;
    display: block;
  }

  .sp-detail-pd-img-b {
    width: auto;
    height: 300px;
    margin-left: 30px;
    margin-right: 30px;
  }

  .sp-detail-pd-content-b {
    min-height: 0;
    overflow: visible;
  }

  .common-content-padding {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .common-content-padding.contact {
    padding-bottom: 0;
  }

  .common-contact-l {
    width: 100%;
    min-width: 0;
    display: block;
  }

  .common-contact-content-b {
    min-height: 0;
    display: block;
    overflow: visible;
  }

  .contact-b {
    height: auto;
    display: block;
  }

  .contact-bottom-b {
    display: none;
  }

  .contact-row-fieldname {
    width: 50%;
  }

  .common-contact-r.desktop-only {
    display: none;
  }

  .common-contact-img-b {
    height: 400px;
  }

  .common-contact-img-b.desktop-hide {
    height: auto;
    margin-top: 10vh;
    display: block;
  }

  .contact-img {
    height: auto;
    padding-top: 80%;
    position: relative;
  }

  .sp-detail-blurb-main-l {
    width: 100%;
    height: auto;
    min-width: 0;
    border-right-style: none;
    display: block;
  }

  .sp-main-blurb-pattern {
    background-image: url('../images/sp-blurb-pattern-m2x.jpg');
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 50%;
    padding-top: 25%;
  }

  .sp-main-blurb-pattern-b {
    width: auto;
    margin-bottom: 30px;
    margin-left: 30px;
    margin-right: 30px;
  }

  .sp-main-blurb-title-b {
    min-height: 0;
    display: block;
  }

  .sp-detail-programme-l {
    width: 100%;
    min-width: 0;
    border-right-style: none;
    display: block;
  }

  .sp-programme-r {
    width: 100%;
    display: block;
  }

  .txt-big-num {
    font-size: 45px;
    line-height: 45px;
  }

  .sp-programme-wrap {
    height: auto;
    min-height: 0;
    background-image: url('../images/sp-blurb-pattern2x.jpg');
    background-position: 50% 0;
    background-size: 70%;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    margin-top: 0;
    display: flex;
  }

  .sp-programme-col-b {
    width: 70%;
    height: auto;
    min-width: 0;
    flex-direction: row;
    flex: 0 auto;
    margin-right: 0;
    padding-top: 0;
    padding-right: 0;
    display: flex;
  }

  .sp-programme-col-pattern {
    width: 50%;
    padding-top: 50%;
  }

  .sp-programme-link-b {
    width: 50%;
    font-size: 18px;
    line-height: 20px;
  }

  .sp-programme-link-arrow {
    width: 40px;
    height: 40px;
    background-size: 9px;
  }

  .sp-programme-link-wrap {
    display: flex;
  }

  .sp-programme-link-border {
    border-width: 8px;
    border-radius: 60px;
  }

  .sp-main-banner-l {
    z-index: 1;
    width: 100%;
    padding-top: 3%;
  }

  .sp-main-banner-r {
    width: 80%;
    min-width: 0;
    float: right;
    padding-top: 0;
  }

  .sp-main-banner-r.bottom {
    border-left-style: none;
    flex: none;
  }

  .sp-main-banner-r.banner-img {
    z-index: 1;
    border-left-style: none;
    flex: 1;
  }

  .sp-main-banner-img {
    position: static;
  }

  .sp-main-banner-img-b {
    border-top-left-radius: 200px;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .sp-banner-txt-b {
    width: 100%;
    margin-bottom: 30px;
    position: relative;
  }

  .medify-logo-b {
    font-size: 80px;
    line-height: 80px;
  }

  .sp-banner-graphic.graphic-1 {
    width: 40%;
    min-width: 0;
    margin-top: -80px;
    margin-left: 0%;
    margin-right: -8%;
    top: 0%;
    bottom: auto;
    left: auto;
    right: 0%;
  }

  .sp-banner-graphic.graphic-2 {
    width: 25%;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 30px;
    margin-left: 9%;
    top: auto;
    bottom: 0%;
    left: 0%;
    right: auto;
  }

  .sp-banner-graphic.graphic-3 {
    width: 10%;
    min-width: 0;
    margin-top: -6%;
    margin-left: 3%;
  }

  .btn-top {
    background-image: url('../images/btn-backtostart-m.svg');
  }

  .medify-logo-wrap {
    width: 80%;
  }

  .home-banner-logo {
    width: 40%;
    margin: 0% 3% 4%;
  }

  .banner-graphic-wrap, .banner-grey-box {
    display: none;
  }

  .banner-grey-box.v-mobile {
    margin-top: 27vw;
    display: block;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
  }

  .banner-graphic-circles.v-mobile {
    z-index: 2;
    width: 25%;
    margin-top: 38%;
    margin-left: 3%;
    display: block;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: 0%;
    right: auto;
  }

  .banner-graphic-cross-color {
    margin-top: -23%;
    margin-right: 10%;
  }

  .banner-graphic-cross-color.v-mobile {
    width: 35%;
    margin-top: 2%;
    margin-right: 8%;
    display: block;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: auto;
    right: 0%;
  }

  .banner-graphic-cross-white {
    width: 30%;
    margin-bottom: 5%;
    margin-left: -13%;
    display: block;
    position: absolute;
    top: auto;
    bottom: 0%;
    left: 0%;
    right: auto;
  }

  .banner-graphic-cross-white.v-mobile {
    width: 35%;
    margin-top: 4%;
    margin-right: 8%;
    display: block;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: auto;
    right: 0%;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 20px;
  }

  h1 {
    font-size: 36px;
    line-height: 42px;
  }

  h2 {
    font-size: 24px;
    line-height: 30px;
  }

  p {
    line-height: 26px;
  }

  .container, .container.more-space {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .brand {
    width: 220px;
  }

  .header-wrap {
    height: 60px;
  }

  .section-banner {
    padding-top: 60px;
  }

  .sp-banner-content-b {
    padding-left: 5vw;
  }

  .sp-banner-content-b.sp-main {
    min-height: 600px;
    align-content: space-between;
    padding-left: 0;
  }

  .sp-detail-banner-l {
    width: 100%;
    padding-top: 20px;
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .sp-detail-banner-l.bottom {
    display: none;
  }

  .sp-detail-banner-r {
    width: 100%;
    padding-left: 5vw;
  }

  .sp-detail-banner-r.bottom {
    display: none;
  }

  .sp-detail-banner-img-b {
    width: 80%;
    border-top-left-radius: 100px;
  }

  .sp-detail-banner-title-b {
    margin-bottom: -50px;
  }

  .sp-detail-banner-margin-line {
    margin-left: 5vw;
  }

  .detail-banner-section-txt {
    margin-bottom: 10px;
  }

  .section-bar {
    padding-left: 5vw;
    padding-right: 5vw;
    font-size: 16px;
    line-height: 20px;
  }

  .bar-mum-b {
    width: 25px;
    height: 25px;
    font-size: 16px;
    line-height: 16px;
  }

  .sp-blurb-img-b, .sp-detail-pd-img-b {
    margin-left: 5vw;
    margin-right: 5vw;
  }

  .sp-pd-row-b {
    margin-bottom: 8px;
    padding-bottom: 8px;
  }

  .common-content-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .common-contact-img-b.desktop-hide {
    border-top-left-radius: 200px;
  }

  .sp-main-blurb-pattern-b {
    margin-left: 5vw;
    margin-right: 5vw;
  }

  .txt-big-num {
    font-size: 36px;
    line-height: 36px;
  }

  .sp-programme-col-b {
    width: 100%;
  }

  .sp-programme-link-b {
    line-height: 20px;
  }

  .sp-programme-link-arrow {
    width: 40px;
    height: 40px;
  }

  .sp-main-banner-l {
    width: 100%;
    padding-top: 6%;
  }

  .sp-main-banner-img-b {
    border-top-left-radius: 100px;
  }

  .medify-logo-b {
    font-size: 60px;
    line-height: 60px;
  }

  .sp-banner-graphic.graphic-1 {
    margin-top: 27px;
  }

  .sp-banner-graphic.graphic-2 {
    margin-bottom: 60px;
  }

  .btn-top {
    width: 40px;
    height: 40px;
    margin-bottom: 5vw;
    margin-right: 5vw;
  }

  .home-banner-logo {
    width: 50%;
    margin-bottom: 8%;
  }

  .banner-grey-box.v-mobile {
    margin-top: 38vw;
  }

  .banner-graphic-circles.v-mobile {
    width: 30%;
    margin-top: 50%;
  }

  .banner-graphic-cross-color.v-mobile {
    margin-top: 13%;
    margin-right: 5%;
  }

  .banner-graphic-cross-white {
    width: 50%;
    margin-bottom: 0%;
    margin-left: -25%;
  }

  .banner-graphic-cross-white.v-mobile {
    margin-top: 22%;
    margin-right: 5%;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 28px;
    line-height: 34px;
  }

  .sp-banner-bottom {
    height: 40px;
  }

  .sp-banner-content-b.sp-main {
    min-height: 400px;
  }

  .sp-blurb-img-b, .sp-detail-pd-img-b {
    height: 200px;
  }

  .sp-pd-row-b {
    display: block;
  }

  .sp-pd-fieldname {
    width: auto;
    margin-bottom: 5px;
    padding-right: 0;
  }

  .common-content-padding {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .common-contact-img-b.desktop-hide {
    border-top-left-radius: 100px;
    margin-top: 100px;
  }

  .sp-main-blurb-pattern-b {
    margin-bottom: 20px;
  }

  .sp-programme-wrap {
    background-image: none;
  }

  .sp-programme-col-b {
    width: 100%;
    justify-content: flex-start;
    display: flex;
    position: relative;
  }

  .sp-programme-col-pattern {
    z-index: -1;
    width: 100%;
    height: 100%;
    background-image: url('../images/sp-programme-pattern-12x.jpg');
    background-position: 50% 0;
    background-repeat: repeat;
    background-size: 33%;
    padding-top: 0%;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: 0%;
    right: auto;
  }

  .sp-programme-link-b {
    flex: none;
  }

  .sp-programme-link-wrap {
    width: 66%;
    background-color: rgba(0, 0, 0, 0);
    flex-wrap: wrap;
    padding: 0;
  }

  .sp-programme-link-border {
    border-radius: 40px;
  }

  .sp-banner-txt-b {
    margin-bottom: 20px;
  }

  .medify-logo-b {
    font-size: 40px;
    line-height: 40px;
  }

  .sp-banner-graphic.graphic-1 {
    width: 50%;
    margin-top: -16px;
  }

  .sp-banner-graphic.graphic-2 {
    width: 30%;
    margin-bottom: 20px;
  }

  .sp-banner-graphic.graphic-3 {
    width: 15%;
    margin-top: -10%;
    margin-left: -3%;
  }
}


@font-face {
  font-family: 'Helvetica';
  src: url('../fonts/Helvetica-Light-05.woff') format('woff'), url('../fonts/Helvetica-Light-05.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Helvetica';
  src: url('../fonts/Helvetica-Bold-02.woff') format('woff'), url('../fonts/Helvetica-Bold-02.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Helvetica';
  src: url('../fonts/Helvetica-01.woff') format('woff'), url('../fonts/Helvetica-01.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}