@font-face {
  font-family: "UniversNextforHSBC";
  src: url("../fonts/UniversNextforHSBC-Regular.eot");
  src: url("../fonts/UniversNextforHSBC-Regular.eot#iefix") format("embedded-opentype"), url("../fonts/UniversNextforHSBC-Regular.ttf") format("truetype"), url("../fonts/UniversNextforHSBC-Regular.woff") format("woff"), url("../fonts/UniversNextforHSBC-Regular.svg") format("svg");
  font-weight: normal; }
@font-face {
  font-family: "UniversNextforHSBC";
  src: url("../fonts/UniversNextforHSBC-Bold.eot");
  src: url("../fonts/UniversNextforHSBC-Bold.eot#iefix") format("embedded-opentype"), url("../fonts/UniversNextforHSBC-Bold.ttf") format("truetype"), url("../fonts/UniversNextforHSBC-Bold.woff") format("woff"), url("../fonts/UniversNextforHSBC-Bold.svg") format("svg");
  font-weight: 600; }
@font-face {
  font-family: "UniversNextforHSBC";
  src: url("../fonts/UniversNextforHSBC-Light.eot");
  src: url("../fonts/UniversNextforHSBC-Light.eot#iefix") format("embedded-opentype"), url("../fonts/UniversNextforHSBC-Light.ttf") format("truetype"), url("../fonts/UniversNextforHSBC-Light.woff") format("woff"), url("../fonts/UniversNextforHSBC-Light.svg") format("svg");
  font-weight: 200; }
@font-face {
  font-family: "UniversNextforHSBC";
  src: url("../fonts/UniversNextforHSBC-Medium.eot");
  src: url("../fonts/UniversNextforHSBC-Medium.eot#iefix") format("embedded-opentype"), url("../fonts/UniversNextforHSBC-Medium.ttf") format("truetype"), url("../fonts/UniversNextforHSBC-Medium.woff") format("woff"), url("../fonts/UniversNextforHSBC-Medium.svg") format("svg");
  font-weight: 500; }
@font-face {
  font-family: "UniversNextforHSBC";
  src: url("../fonts/UniversNextforHSBC-Thin.eot");
  src: url("../fonts/UniversNextforHSBC-Thin.eot#iefix") format("embedded-opentype"), url("../fonts/UniversNextforHSBC-Thin.ttf") format("truetype"), url("../fonts/UniversNextforHSBC-Thin.woff") format("woff"), url("../fonts/UniversNextforHSBC-Thin.svg") format("svg");
  font-weight: 100; }
@media screen and (max-width: 479px) {
  .hide--xs {
    display: none; } }

@media screen and (max-width: 991px) {
  .hide--md {
    display: none; } }

@media screen and (max-width: 767px) {
  .hide--sm {
    display: none; } }

.show--sm {
  display: none; }
  @media screen and (max-width: 767px) {
    .show--sm {
      display: block; } }

* {
  border: 0;
  padding: 0;
  margin: 0;
  font-family: "UniversNextforHSBC", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 200;
  line-height: normal;
  scroll-behavior: smooth; }

body {
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased; }

.main {
  padding-top: 76px;
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: space-between; }

h1 {
  margin: 0; }

strong {
  font-weight: 700; }

img {
  max-width: 100%; }

.container-fluid {
  max-width: 1280px;
  width: 100%; }

.container-no-padding {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto; }

.page-width {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto; }

.p-x-0 {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.btn {
  border-radius: 0;
  text-decoration: none !important;
  padding: 15px 20px;
  font-size: inherit;
  line-height: 1;
  border: 0;
  width: 100%;
  min-width: 190px;
  white-space: normal; }
  @media screen and (min-width: 480px) {
    .btn {
      width: auto; } }
  .btn:focus {
    outline: 1px dotted #000; }
  .btn.btn-primary {
    background-color: #db0011;
    color: #fff; }
    .btn.btn-primary:hover, .btn.btn-primary:focus {
      background-color: #af000d; }
  .btn.btn-secondary {
    background-color: #fff;
    border: 1px solid #333;
    color: #333; }
    .btn.btn-secondary:hover, .btn.btn-secondary:focus {
      background-color: #d9d9d9; }
  .btn.btn-float {
    border: 2px solid #db0011;
    border-radius: 30px;
    min-width: auto;
    max-width: 110px; }

ul, ol {
  margin-left: 15px;
  margin-bottom: 0; }

p {
  margin-bottom: 0; }

a.link {
  color: #333;
  text-decoration: underline; }

.section-heading {
  font-size: 2.5rem; }
  @media screen and (min-width: 992px) {
    .section-heading {
      font-size: 2.8rem; } }

.section-subheading {
  font-size: 2rem; }
  @media screen and (min-width: 992px) {
    .section-subheading {
      font-size: 2.3rem; } }

.section-heading, .section-subheading {
  font-weight: 500;
  position: relative;
  padding-left: 20px; }
  @media screen and (min-width: 768px) {
    .section-heading, .section-subheading {
      padding-left: 25px; } }
  .section-heading::before, .section-subheading::before {
    background: #db0011;
    content: "";
    display: block;
    width: 4px;
    height: 70%;
    position: absolute;
    left: 0;
    top: 45%;
    transform: translateY(-50%); }
  .section-heading + p, .section-subheading + p {
    margin-top: 20px; }

/* HEADER */
.header {
  background-color: #fff;
  font-size: 16px;
  width: 100%;
  position: fixed;
  top: 0;
  transition: top 0.3s ease-in-out;
  z-index: 9999; }
  .header__outer {
    position: relative;
    z-index: 999;
    box-shadow: 0px 10px 10px -10px #000;
    top: 0; }
  .header__wrapper {
    margin: 0 auto;
    padding: 22px 0;
    height: 75px; }
  .header__logo {
    float: left; }
  .header__logo img {
    height: 30px; }

/* FOOTER */
.footer-container {
  background: #000; }

.footer-primary {
  font-size: 1.4rem;
  color: #FFFFFF;
  max-width: 1280px;
  margin: 0 auto;
  padding: 15px 15px; }
  @media (min-width: 768px) {
    .footer-primary {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      gap: 15px; } }
  .footer-primary a {
    color: #FFFFFF; }
    .footer-primary a:hover {
      text-decoration: underline; }
  .footer-primary p {
    margin-bottom: 10px; }
  .footer-primary ul.footer-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    list-style-type: none;
    margin-left: 0; }
    @media (min-width: 768px) {
      .footer-primary ul.footer-links {
        justify-content: flex-start; } }
  .footer-primary ul.footer-links li {
    margin-right: 15px;
    margin-bottom: 10px; }
  .footer-primary .footer-copyright {
    margin-top: 10px;
    text-align: center; }
    @media (min-width: 768px) {
      .footer-primary .footer-copyright {
        margin-top: 0;
        text-align: right; } }

/* ====================================
  PAGE HEADER
=======================================*/
.page__header {
  padding-top: 40px; }
  @media screen and (max-width: 767px) {
    .page__header {
      padding-top: 30px; } }
  .page__header .page__header-wrapper {
    padding-bottom: 5px;
    border-bottom: 3px solid #ededed;
    position: relative; }
    .page__header .page__header-wrapper:after {
      content: '';
      border-bottom: #db0012 3px solid;
      position: absolute;
      bottom: -3px;
      width: 50%;
      height: 3px; }
  .page__header p {
    font-size: 16px;
    line-height: 1;
    font-weight: 200; }

/* ====================================
  PAGE TITLE
=======================================*/
.page__title {
  padding-top: 30px; }
  .page__title h1 {
    font-size: 44px;
    line-height: 1.3;
    font-weight: 200; }
    @media screen and (max-width: 767px) {
      .page__title h1 {
        font-size: 26px; } }
  .page__title p {
    margin-top: 5px;
    font-size: 16px;
    line-height: 1.3; }

/* ====================================
  EVENT DETAILS
=======================================*/
.event__details {
  padding-top: 15px; }

/* ====================================
  TITLE WITH BORDER
=======================================*/
.title {
  padding-left: 15px;
  border-left: 3px solid #db0012; }
  .title h2 {
    font-size: 35px;
    line-height: 1;
    font-weight: 200; }
    @media screen and (max-width: 767px) {
      .title h2 {
        font-size: 22px; } }

/* FORM */
.register {
  margin-bottom: 40px; }
  .register-rm {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 20px; }
    .register-rm p {
      margin-bottom: 10px; }
  .register #btn-contact {
    margin-top: 40px; }

.form {
  margin-top: 20px;
  margin-bottom: 40px; }
  .form--control {
    margin-bottom: 30px; }

.form--control .input--text,
.form--control .input--select {
  max-width: 400px;
  width: 100%;
  padding: 15px;
  position: relative; }
.form--control .input--select {
  background: url("../images/icons/arrow-down.svg") no-repeat calc(100% - 15px) center;
  color: #333; }
  .form--control .input--select option {
    color: #333;
    text-shadow: none;
    font-weight: 200;
    opacity: 1; }

input[type="text"] {
  min-height: 46px;
  padding: 10px; }
  input[type="text"]::placeholder {
    font-size: 16px;
    font-weight: 200;
    color: #BABABA; }
  input[type="text"]:-ms-input-placeholder {
    font-size: 16px;
    font-weight: 200;
    color: #BABABA; }

select {
  cursor: pointer;
  text-decoration: none;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-appearance: none;
  transition: all 0.3s ease; }
  select option {
    color: #333;
    background-color: #fff; }
  select:invalid, select option[value=""] {
    color: #BABABA;
    font-weight: 700; }
  select[disabled] {
    font-weight: 700;
    opacity: 0.5; }

input[type="text"],
select {
  border: 1px solid #ccc;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  color: #333;
  font-size: 16px;
  font-weight: 200;
  text-align: left;
  outline: 0;
  width: 100%; }

button[disabled],
input[disabled] {
  cursor: default; }

.input--text {
  padding: 15px !important; }
  .input--text:disabled {
    color: #999;
    background-color: #fff; }
    .input--text:disabled::-webkit-input-placeholder, .input--text:disabled::-moz-placeholder, .input--text:disabled:-ms-input-placeholder {
      color: #BABABA; }
.input--select {
  padding: 15px; }
  .input--select::-ms-expand {
    display: none; }
  .input--select:focus::-ms-value {
    color: #333;
    background: transparent; }
.input--text:focus, .input--text:hover, .input--select:focus, .input--select:hover {
  border: .1rem solid #333;
  outline: 0; }
.input--text[disabled]:focus, .input--text[disabled]:hover, .input--select[disabled]:focus, .input--select[disabled]:hover {
  border: 1px solid #ccc;
  outline: 0; }
.input--checkbox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  position: absolute;
  left: -9999px;
  opacity: 0; }
  .input--checkbox + label::before {
    background-color: #fff;
    border: .1rem solid #ccc; }
  .input--checkbox + label::after {
    border: .1rem solid #333;
    background: #fff url("../images/icons/icon--tickcheckbox.svg") no-repeat center center; }
  .input--checkbox + label::before, .input--checkbox + label::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    left: 0;
    top: 0; }
  .input--checkbox + label::after {
    content: none; }
  .input--checkbox:checked + label::after {
    content: ""; }
  .input--checkbox:focus + label.checkbox-label::before, .input--checkbox:focus + label.checkbox-label::after {
    display: block;
    position: absolute;
    border: .1rem solid #333; }
  .input--checkbox[disabled] + label, .input--checkbox[disabled] + label:focus, .input--checkbox[disabled] + label:hover {
    cursor: default; }
  .input--checkbox[disabled] + label::after, .input--checkbox[disabled]:focus + label::before, .input--checkbox[disabled]:focus + label::after, .input--checkbox[disabled]:hover + label::before, .input--checkbox[disabled]:hover + label::after {
    border: 1px solid #ccc !important;
    outline: 0 !important;
    opacity: 0.6; }

label, legend {
  font-size: 16px;
  font-weight: 200;
  line-height: 1.3;
  margin-bottom: .5rem;
  border: 0; }
  @media screen and (max-width: 767px) {
    label, legend {
      font-size: 16px; } }

.checkbox-label {
  margin-top: 15px;
  font-size: 16px;
  padding-left: 3rem;
  color: #333;
  cursor: pointer;
  position: relative;
  outline: 0; }
  @media screen and (min-width: 600px) {
    .checkbox-label {
      padding-left: 3.2rem; } }
  @media screen and (min-width: 992px) {
    .checkbox-label {
      padding-left: 3rem; } }
  @media screen and (max-width: 767px) {
    .checkbox-label {
      font-size: 16px; } }
  .checkbox-label:hover::before, .checkbox-label:hover::after {
    border: .1rem solid #333333; }
  .checkbox-label ul {
    list-style-type: disc;
    margin-left: 1em; }
  .checkbox-label ul li {
    margin: 0.3em 0; }

.submit {
  text-align: left;
  margin-top: 20px; }

.submit .error-text {
  margin-top: 10px;
  font-size: 14px; }

.with--error,
.with--error .checkbox-label,
.with--error .radio-label {
  color: #83000a; }

.with--error .label-wrapper {
  color: initial; }

.with--error .text-message {
  color: #83000a; }

.with--error > .input--text,
.with--error > .input--select {
  border: .1rem solid #83000a;
  background-color: rgba(131, 0, 10, 0.05); }

.with--error .input--checkbox + .checkbox-label::before {
  background-color: #f9f2f3;
  border: 1px solid #83000a; }

.input-error-icon {
  position: absolute;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  font-size: 1.4rem;
  margin-right: 1rem;
  left: 0;
  background: url("../images/icons/icon--x_error.svg") no-repeat 50%;
  background-size: auto;
  -webkit-background-size: 14px 14px;
  -moz-background-size: 14px 14px;
  -o-background-size: 14px 14px;
  background-size: 14px 14px; }

.text-message {
  position: relative;
  margin: .7rem 0 0;
  font-size: 1.2rem; }
  @media screen and (min-width: 992px) {
    .text-message {
      margin: .9rem 0 0; } }
  .text-message span.the-message {
    padding-left: 2.4rem;
    display: inline-block;
    width: 100%;
    max-width: 50rem; }
    @media screen and (min-width: 992px) {
      .text-message span.the-message {
        max-width: 100%; } }

/* TO TOP */
.to-top {
  margin: 40px 0; }
  .to-top button {
    background-color: transparent; }
  .to-top .span-icon {
    margin-left: 5px;
    top: 3px;
    pointer-events: none; }
  .to-top .icon--top::before {
    content: url("../images/icon--top.png"); }
  .to-top a {
    color: #333; }

/* THANK YOU */
.flex-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100vh; }

.mt-auto {
  margin-top: auto; }

.thank-you {
  margin-bottom: 5rem; }
  .thank-you__wrapper {
    border: 1px solid #CCC;
    padding: 3rem 1.5rem 1rem;
    position: relative; }
  .thank-you__title {
    background: #fff;
    color: #db0011;
    font-size: 3rem;
    white-space: nowrap;
    padding: 0 3rem;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 0;
    left: 50%; }
  .thank-you__content {
    color: #000;
    font-size: 1.6rem; }

.thank-you .referee__wrapper:nth-child(n+2) {
  margin-top: 25px; }
.thank-you .referee__head {
  font-weight: 700;
  text-decoration: underline;
  color: #db0011; }
.thank-you .referee__body {
  margin-top: 10px;
  line-height: 1.3; }
  .thank-you .referee__body span {
    font-weight: 700; }

.footer-note {
  font-size: 1.2rem;
  margin: 20px 0; }

#plus-ones-section {
  margin-top: 10px; }

.plus-one-block {
  position: relative;
  border: 1px solid #dcdcdc;
  border-left: 4px solid #db0011;
  padding: 15px 15px 5px;
  margin-bottom: 15px;
  background: #fafafa; }
  .plus-one-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px; }
  .plus-one-block__title {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    color: #333; }
  .plus-one-block .po-remove {
    color: #db0011;
    background-color: transparent;
    padding: 0;
    font-size: 1.3rem;
    font-weight: 700; }

#btn-add-plus-one {
  margin-bottom: 10px; }

.plus-one-limit-note {
  font-size: 1.2rem;
  color: #767676;
  margin: 5px 0 10px; }
