:root {
  --navy-rgb: 13, 19, 48;
  --color-overlay-primary: rgba(var(--navy-rgb), 0.4);
}

*,
:after,
:before {
  box-sizing: border-box;
}

body,
html {
  margin: 0;
  height: 100%;
  font-family: var(--font-family);
  color: var(--text-color-body);
  font-size: inherit;
  overflow: auto;
}

@media screen and (max-width: 480px) {
  body,
  html {
    font-size: 0.875rem;
  }
}

body.rego-form {
  background-color: var(--body-bg-color);
  background-image: var(--body-bg-image);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
}

input,
select {
  font-family: var(--font-family);
}

button:disabled, 
input[type="submit"]:disabled,
input[type="button"]:disabled,
button:disabled:hover, 
input[type="submit"]:disabled:hover,
input[type="button"]:disabled:hover {
  opacity: 0.7;
  /* background-color: var(--grey);
  border-color: var(--grey); */
}

body {
  display: flex;
  flex-direction: column;
}

a {
  color: var(--text-color-link);
  font-weight: 500;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1,
h2,
h3,
b {
  color: var(--header-font-color);
}

h1 {
  font-size: var(--h1-size);
}

h2 {
  font-size: var(--h2-size);
}

h3 {
  font-size: var(--h3-size);
}

.rego-so {
  background-color: var(--white);
  padding: 6px 10px;
  height: 50px;
  border-bottom: 1px solid var(--grey-light);
}

.rego-so-wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rego-so-logo img {
  display: block;
  max-height: 22px;
}

.rego-so-link {
  background-color: transparent;
  transition: background-color 250ms ease;
  border: 0;
  color: var(--navy);
  height: 20px;
  font-weight: 500;
  font-family: var(--font-family);
  border-radius: var(--border-radius);
  outline-color: var(--white);
  outline-width: 1px;
}

.rego-so-link:hover {
  background-color: rgba(255,255,255,0.2);
  cursor: pointer;
}

.wrapper {
  flex: 1 0 auto;
}

.wrapper > div:last-child {
  margin: 20px 0;
  text-align: center;
  color: var(--footer-text);
}

.footer {
  flex-shrink: 0;
  font-size: var(--small-text-size);
  text-align: center;
  background-color: var(--white);
}

.footer__info {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  align-items: start;
  justify-items: center;
  max-width: 900px;
  margin: 0 auto;
  padding: 50px 20px;
  border-top: 1px solid #fefefe;
  text-align: left;
}

.footer__info h4 {
  margin-top: 0;
  font-size: 1rem;
}

.footer__info ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.footer__info > * {
  min-width: 0;
}

.footer__info__org__logo .logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__info__org__logo img {
  max-width: 80%;
  max-height: 140px;
}

.footer__info__providers__logos li + li {
  margin-top: 10px;
}

.footer__info__providers__logos img {
  max-width: 100px;
}

.footer__info__org__links li {
  display: grid;
  grid-template-columns: 20px 1fr;
  grid-gap: 10px;
  align-items: center;
  font-size: 12px;
}

.footer__info__org__links li + li {
  margin-top: 5px;
}

.footer__info__org__links li svg,
.footer__info__org__social li svg {
  width: 24px;
  aspect-ratio: 1 / 1;
}

ul.footer__info__org__social {
  display: flex;
  align-items: center;
  margin-top: 20px;
}

.footer__info__org__social li + li {
  margin-left: 10px;
}

.footer__copyright {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  padding: 15px;
  border-top: 1px solid #efefef;
  box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.05);
  font-size: 12px;
  color: #3E547D;
}

.footer__copyright__logo {
  justify-self: start;
}

.footer__copyright__logo img {
  width: 40px;
  aspect-ratio: 1 / 1;
}

.footer__copyright__privacy {
  justify-self: end;
}

.footer__copyright__privacy a {
  color: hsl(var(--gameday-color-hs) 45%);
  text-decoration: underline;
}

.header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  background-color: var(--header-bg-color);
}

.header__logo {
  display: flex;
  width: 120px;
  flex-grow: 0;
  align-items: center;
}

.header__logo img {
  max-width: 100px;
  max-height: 70px;
}

.header__form-logo {
  margin: 10px 0 10px 10px;
}

.header__assoc-logo {
  margin: 10px 10px 10px 0;
  justify-content: flex-end;
}

.header__heading {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: var(--header-font-color);
}

.header__subheading {
  font-weight: normal;
}

.content {
  background-color: var(--content-bg-color);
  border-radius: var(--border-radius);
}

.content__form {
  padding: 20px;
}

.content__form .HTbuttons {
  text-align: center;
}

.HTF_table {
  width: 100%;
  margin: 16px auto;
}

.multi-rego {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rego-multi-wrap {
  margin-bottom: 36px;
}

.rego-multi-name {
  display: flex;
  align-items: center;
  color: var(--navy);
  background-color: var(--grey-light);
  border: 1px solid var(--info-banner-border-color);
  border-radius: var(--border-radius);
  max-width: 90%;
  margin: 30px auto 0;
  padding: 16px;
  font-size: var(--small-text-size);
  font-weight: 500;
}

.rego-multi-name.hide {
  display: none;
}

.rego-multi__number {
  display: flex;
  width: 22px;
  height: 22px;
  border-radius: 22px;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background-color: var(--dark-navy);
  margin-right: 10px;
}

.new-rego-wrap .select__wrap {
  margin-bottom: 16px;
}

.form-nav {
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
  min-height: 50px;
}

.form-nav img {
  display: none;
}

/* Convert HTMLForm table to list display */
#secregoform tr {
  display: flex;
  flex-direction: column;
}

#secregoform tr td:last-child {
  padding-bottom: 16px;
}

#secfirstpage tr td:last-child {
  padding-bottom: 16px;
}
#secfirstpage tr {
  display: flex;
  flex-direction: column;
}

.step {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-grow: 0;
  width: 100%;
  background-color: var(--step-bg-color);
  color: var(--step-font-color);
  font-size: var(--small-text-size);
  font-weight: 500;
}

.step:not(.nav-currentstep) {
  border-width: 1px;
  border-style: solid;
  border-color: #deebf7;
}
.step:not(.nav-currentstep):not(:last-child) {
  border-right: 0px;
}

.step-num {
  margin-right: 2px;
}

.nav-currentstep {
  background-color: var(--step-active-bg-color);
  color: var(--step-active-font-color);
}

.step.nav-completedstep::after {
  content: "";
  display: block;
  background-image: url(../images/step_complete.svg);
  width: 30px;
  height: 30px;
}

.step:first-child {
  border-radius: var(--border-radius) 0 0 0;
}

.step:last-child {
  border-radius: 0 var(--border-radius) 0 0;
}

.passport__flow {
  width: 100%;
}

.passport__flow__email {
  color: var(--accent-two);
  font-size: var(--small-text-size);
}

.passport__flow__email__address {
  font-weight: 500;
}

.passport__flow__question {
  font-size: 1rem;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 26px;
}

.passport__flow__buttons {
  display: flex;
}

.passport__flow__buttons .button__new {
  width: auto !important;
  font-size: var(--default-text-size);
  font-weight: 500;
}

.passport__flow__buttons .button__new:first-child {
  margin: 0 10px 0 0;
}

.form__wrap {
  margin: 24px 0;
}

.form__wrap .field__wrap {
  margin-bottom: 16px;
}

.passport__flow__welcome__button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}

.passport__flow__welcome__button .button__new.block {
  max-width: 220px;
}

.field-desc,
.field__label {
  display: flex;
  align-items: center;
  min-height: 20px;
  margin-bottom: 6px;
  font-size: var(--small-text-size);
  font-weight: 500;
  color: var(--label-text-color) !important;
}

.field__label__ro {
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 6px;
}

.email-helper {
  margin-bottom: 1rem;
}

tr.required .field__label::after {
  content: " *";
  color: var(--red);
}

/* Reset some fields */
.doc-upload input {
  padding: initial;
  font-size: initial;
  margin: initial;
}

.field,
.new-club-select,
.field__text,
.field__input,
.select__wrap select,
.expiry__fields select,
.datepicker {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: var(--border);
  border-radius: var(--border-radius);
  color: var(--field-text-color);
  font-size: var(--default-text-size);
}

.field::placeholder,
.field__input::placeholder {
  color: var(--field-placeholder-color);
}

.field:focus,
.field:active,
.field:hover:enabled,
.field__input:focus,
.field__input:active,
.field__input:hover:enabled,
select:focus,
select:active,
select:hover:enabled {
  border: var(--border-active);
  outline: 0 none;
}

.field__small {
  height: 26px !important;
  line-height: 1;
  font-size: 13px;
  padding: 0 8px !important;
}

.field__text {
  display: flex;
  align-items: center;
  background-color: var(--field-disabled-bg);
  border-color: var(--field-disabled-border-color);
}


.field__inline {
  display: inline-flex;
  width: unset;
  }

.radio__row {
  display: grid;
  grid-template-columns: 24px 1fr;
  grid-gap: 10px;
  height: 24px;
  align-items: center;
}

.radio__row input {
  margin: 0;
}

.radio__row + .radio__row {
  margin-top: 10px;

}

textarea {
  border: var(--border);
  border-radius: var(--border-radius);
  padding: 8px;
}

.select__wrap select {
  padding-right: 30px !important;
}

.welcome__form,
.login__form,
.teamcode__form {
  display: flex;
  flex-direction: column;
}

.teamcode__form {
  margin-bottom: 16px;
}

.welcome__form__email,
.login__form__password {
  width: 100%;
  margin-right: 14px;
}

.login__form__password .forgot-link {
  font-size: var(--small-text-size);
  margin-top: 2px;
}

.new-club-select {
  margin-bottom: 16px;
}

.select__wrap {
  position: relative;
  display: block;
}

.select__wrap select {
  padding: 0 30px 0 16px;
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}

.select__arrow {
  position: absolute;
  background-color: transparent;
  top: 1px;
  right: 1px;
  display: block;
  width: 30px;
  height: 42px;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}

.select__arrow::before {
  --size: 0.3em;
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-top: var(--size) solid var(--label-text-color);
}

.selectable__list,
.list-group {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.selectable__list {
  margin: 10px 0;
}

.selectable__item {
  display: flex;
  align-items: center;
  min-height: 32px;
}

input + .selectable__label {
  display: inline-block;
  margin-left: 10px;
}

.list-group-item {
  flex-direction: row;
  margin: 20px 0 10px;
  align-items: stretch;
}

.list-group-item a {
  border: var(--border);
  border-radius: var(--border-radius);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  line-height: 1;
  height: 100%;
}

.list-group-item a svg {
  position: relative;
  transition: transform 250ms ease-out;
}

.list-group-item a:hover svg {
  transform: translateX(4px);
}

.list-group-item a .user-details {
  color: var(--navy);
  font-weight: 500;
}

.list-group-item a .fa-2x {
  font-size: 1.1rem;
}

.list-group-item a:hover {
  text-decoration: none;
  border-color: var(--gameday);
}

.product-row {
  display: grid;
  grid-template-columns: 30px 100px 1fr 80px;
  grid-template-areas: 
    "checkbox   image   title     price"
    "checkbox   image   options   price";
  grid-column-gap: 10px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid #D5DEE7;
}

.product-row input[type="checkbox"] {
  margin-top: -8px;
}

.product-row .prod-image {
  grid-area: image;
  align-self: start;
}

.product-row .prod-title {
  grid-area: title;
  border-bottom: 0;
}

.product-row .prod-qty label,
.product-row .prod-options label {
  display: block;
  margin-bottom: 6px;
}

.quantity__picker {
  display: inline-grid;
  grid-template-columns: 30px 1fr 30px;
}

.quantity__picker:not(.disabled):hover .prod__input,
.quantity__picker:not(.disabled):hover button {
  border: var(--border-active);
  outline: 0 none;
}

.quantity__picker:not(.disabled):hover .prod__input {
  border-width: 1px 0 1px 0;
}

.quantity__picker button {
  appearance: none;
  display: block;
  padding: 0;
  background-color: var(--white);
  border: var(--border);
  color: var(--field-text-color);
  font-size: 1.25rem;
  font-weight: 500;
}

.quantity__picker button:first-child {
  border-right: 0px;
  border-radius: 4px 0 0 4px;
}

.quantity__picker button:last-child {
  border-left: 0px;
  border-radius: 0 4px 4px 0;
}

.quantity__picker button:hover {
  cursor: pointer;
}

.quantity__picker button:disabled:hover {
  cursor: initial;
}

.quantity__picker .qty-input {
  -moz-appearance: textfield;
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border-left: 0px;
  border-right: 0px;
  border-radius: 0;
  text-align: center;
  color: var(--field-text-color);
  font-family:  ui-monospace, 
                Menlo, Monaco, 
                "Cascadia Mono", "Segoe UI Mono", 
                "Roboto Mono", 
                "Oxygen Mono", 
                "Ubuntu Monospace", 
                "Source Code Pro",
                "Fira Mono", 
                "Droid Sans Mono", 
                "Courier New", monospace;
}

.product-row .prod-options {
  grid-area: options;
  align-self: start;
}

.product-row .prod-cost {
  grid-area: price;
  align-self: start;
  font-size: var(--default-text-size);
  font-weight: 500;
  color: var(--navy);
}

.product-row td {
  padding: 0;
}

.product-row .selectable__item [type="checkbox"]:not(:checked) + label:before,
.product-row .selectable__item [type="checkbox"]:not(:checked) + label:after,
.product-row .selectable__item [type="checkbox"]:checked + label:before,
.product-row .selectable__item [type="checkbox"]:checked + label:after {
  top: 2px;
  right: auto;
  left: 0px;
}

.selectable__item.checkbox__left [type="checkbox"]:not(:checked) + label:before,
.selectable__item.checkbox__left [type="checkbox"]:not(:checked) + label:after,
.selectable__item.checkbox__left [type="checkbox"]:checked + label:before,
.selectable__item.checkbox__left [type="checkbox"]:checked + label:after {
  right: auto;
  left: 0px;
  top: 2px;
}

.checkbox__outer:has(.selectable__item + .form_field_invalid:not(:empty)) {
  color: var(--red);
  background-color: var(--red-light);
  outline: 6px solid var(--red-light);
}

/* Radio styles */
.selectable__item [type="radio"] + label {
  font-size: var(--default-text-size);
  font-family: var(--font-family);
  padding: 10px;
}

.selectable__item [type="radio"] + label:before {
  content: "●";
  font-size: 24px;
  line-height: 10px;
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  margin-right: 10px;
  flex: 0 0 16px;
  color: var(--white);
  border: var(--border);
  box-shadow: inset 0 1px 3px rgb(0 0 0 / 10%);
}

.selectable__item [type="radio"]:checked + label,
.selectable__item [type="radio"] + label:hover {
  border-color: var(--primary);
  cursor: pointer;
}

.selectable__item [type="radio"]:checked + label:before {
  margin-right: 10px;
  flex: 0 0 16px;
  color: var(--primary);
  border-color: var(--primary);
  box-shadow: none;
}

.standalone__checkbox {
  opacity: 0;
  width: 1px;
  margin: 0;
}

.standalone__checkbox__label {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: var(--border);
  border-radius: var(--border-radius);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.standalone__checkbox__label:hover {
  cursor: pointer;
  border-color: var(--checkbox-background);
}

input[type="checkbox"]:checked + .standalone__checkbox__label {
  background-color: var(--checkbox-background);
  border-color: var(--checkbox-background);
}

input[type="checkbox"]:checked + .standalone__checkbox__label:before {
  content: "\2713\0020";
  position: absolute;
  top: 2px;
  right: 0;
  left: 0;
  font-family: "Lucida Sans Unicode", "Arial Unicode MS", Arial;
  color: var(--white);
  font-size: 14px;
  line-height: 1;
}

.product-row .col_i img,
.col_i img {
  max-width: 100px;
}

.product-row label {
  font-size: var(--small-text-size);
}

@media screen and (max-width: 480px) {
  .product-row {
    grid-template-columns: 30px 100px 1fr 80px;
    grid-template-areas:
      "checkbox   title   title     price"
      "checkbox   image   image     price"
      "checkbox   options   options   price";
    grid-gap: 5px;
  }
}

.col_i p {
  margin:0;
}

.products-table tbody td.col_i {
  text-align: center;
}

.selectable__help,
.help-block {
  margin-top: 10px;
  color: var(--label-text-color);
  font-size: var(--small-text-size);
}

.prod__input,
.prod__select {
  display: block;
  width: 100%;
  height: 28px;
  padding: 0 8px;
  border: var(--border);
  border-radius: var(--border-radius);
  color: var(--field-text-color);
  font-size: 0.8125rem;
}

.prod__input:disabled,
.prod__select:disabled,
.quantity__change:disabled,
.quantity__change:disabled:hover {
  background-color: var(--grey-light);
}

.help-block {
  margin: 0;
}

.new-club-select {
  display: block;
}

.sys-message {
  margin-bottom: 10px;
}

.dob__wrap {
  display: flex;
}

.dob__field {
  width: 100%;
}

.dob__field + .dob__field {
  margin-left: 14px;
}

input,
select {
  accent-color: var(--button-primary-bg-color);
}

input[type="checkbox"],
input[type="radio"] {
  transform: scale(1.3);
}

#existingteammatesresult table :is(input) {
  -webkit-appearance: auto;
  appearance: auto;
}

#existingteammatesresult input[type="button"] {
  margin-top: 20px;
  margin-bottom: 20px;
}

#existingteammatesresult table th:not(:last-child) {
  text-align: left;
}

#existingteammatesresult table td {
  padding: 5px;
}

#existingteammatesresult table tr td:last-child {
  text-align: center;
}

.button,
.button__new,
.ui-dialog-buttonset button,
input.proceed-button {
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  height: 44px;
  line-height: 1;
  background-color: var(--button-primary-bg-color);
  color: var(--button-primary-text-color);
  font-size: var(--small-text-size);
  font-weight: 500;
  padding: 0 32px;
  border: 1px solid var(--button-primary-border-color);
  border-radius: var(--border-radius);
  font-family: var(--font-family);
  -webkit-appearance: none;
  appearance: none;
}

.button-small,
input.button-small,
a.button-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 23px;
  line-height: 1;
  background-color: var(--button-primary-bg-color);
  color: var(--button-primary-text-color);
  font-size: var(--small-text-size);
  font-weight: 500;
  min-width: 70px;
  border: 1px solid var(--button-primary-border-color);
  border-radius: var(--border-radius);
}

.button__small {
  height: 26px;
  font-size: var(--small-text-size);
}

.button__inline {
  display: inline-flex;
}

.field__inline + .button__inline {
  margin: 0 0 0 4px;
}

.ui-dialog-buttonset button,
.ui-dialog-buttonset button:hover,
.ui-dialog-buttonset button:active,
.ui-dialog-buttonset button:focus,
input.proceed-button {
  background-image: none;
  font-family: var(--font-family);
  font-weight: 500;
}

.ui-dialog-buttonset button:hover,
input.proceed-button:hover,
.button-proceed:hover {
  opacity: 0.9;
  background-image: none;
  background-color: var(--button-primary-bg-color);
  border-color: var(--button-primary-border-color);
  cursor: pointer;
}

.button__new--primary,
.ui-dialog-buttonset button:first-child,
input.proceed-button,
input.button-proceed,
.button-proceed {
  background-color: var(--button-primary-bg-color);
  color: var(--button-primary-text-color);
  border-color: var(--button-primary-border-color);
}

.button__new--primary a,
.button-proceed a {
  color: var(--button-primary-text-color);
  text-decoration: none;
  font-weight: 500;
  font-size: var(--small-text-size);
}

.button__new--secondary,
.ui-dialog-buttonset button:last-child {
  background-color: var(--button-secondary-bg-color);
  color: var(--button-secondary-text-color);
  border-color: var(--button-secondary-text-color);
}

.show-product-details {
  margin: 4px 0;
  padding: 0;
  background-color: var(--content-bg-color);
  border: none;
  color: hsl(var(--gameday-color-hs) 45%);
  font-weight: 500;
  text-decoration: underline;
}

.show-product-details:hover {
  cursor: pointer;
}

.button__back {
  appearance: none;
  padding: 10px;
  border: none;
  background: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: var(--small-text-size);
  color: var(--text-color-body);
}

.button__back:hover {
  cursor: pointer;
}

.member__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.button__label {
  white-space: nowrap;
}

.button__loading .button__label,
.member__loading .member__icon svg {
  opacity: 0;
}

.button__loading .spinner__mini,
.member__loading .spinner__mini {
  display: block;
}

.products-table,
.rego-confirmation .permsTable {
  width: 100%;
  border-collapse: collapse;
}

.products-table td {
  vertical-align: top;
  font-size: var(--small-text-size);
}

.product-name {
  font-size: var(--default-text-size);
  font-weight: 500;
  color: var(--navy);
}

.extra-items button,
.extra-items input,
.extra-items select {
  width: auto;
}

.extra-items input,
.extra-items select {
  font-size: 0.875rem;
}

.extra-items > div + div {
  margin-top: 10px;
}

.button.block {
  width: 100%;
  margin-top: 10px;
}

.button:hover,
.button:focus,
.button__new:hover,
.button__new:focus {
  cursor: pointer;
  opacity: 0.9;
  text-decoration: none;
}

.initial__form .proceed-button {
  align-self: stretch;
}

.compulsory {
  color: var(--red);
}

.form_field_invalid {
  color: var(--red);
  border-color: var(--red);
}

.select__wrap select.form_field_invalid,
input.form_field_invalid {
  border: 1px solid var(--red);
  background-color: var(--red-light);
}

label.form_field_invalid {
  margin-top: 2px;
  font-size: var(--small-text-size);
  font-weight: 500;
}

.form_field_invalid:focus,
.form_field_invalid:active {
  border-color: var(--red);
}

.products-table thead {
  display: none;
}

.products-table thead th,
.rego-confirmation .permsTable thead th {
  padding: 5px;
  background-color: var(--grey-light);
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: left;
}

.rego-confirmation .permsTable td {
  padding: 5px;
  font-size: var(--small-text-size);
}

.products-table .col-1 .selectable__item {
  height: 24px;
}

.products-table .col-1 .in-cart {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 4px;
}

.products-table .col-4 {
  text-align: right;
}

.products-table td .compulsory::after {
  content: "*";
  color: var(--red);
}

.products-table .select__wrap {
  display: inline-block;
  width: 80%;
}

.products-table .select__wrap select {
  height: 30px;
  padding: 0 30px 0 10px;
}

.products-table .select__wrap .select__arrow {
  height: 30px;
}

.terms__wrapper,
.enclosed__checkbox {
  display: flex;
  flex-direction: column;
  color: var(--terms-text-color);
  margin: 16px 0;
  position: relative;
  border: var(--border);
  border-radius: var(--border-radius);
  padding: 16px 16px 16px 8px;
}

.terms__wrapper label:not(.form_field_invalid),
.enclosed__checkbox label:not(.form_field_invalid) {
  padding-left: 10px;
  font-family: var(--font-family);
}

.terms__wrapper label.form_field_invalid,
.enclosed__checkbox label.form_field_invalid  {
  padding-left: 24px;
  margin-top: 10px;
}

.terms__text,
.terms__wrapper .selectable__item {
  margin-bottom: 0;
  height: auto;
}

.enclosed__checkbox .selectable__item {
  flex-direction: row;
  height: 24px;
}

.terms__text {
  width: 100%;
}

#goToProducts {
  display: flex;
  margin: 30px auto 0;
}

.terms__wrapper:has(.form_field_invalid) {
  border-color: var(--red);
  background-color: var(--red-light);
}

.main__tc.terms__wrapper {
  margin: 10px 0;
}

.main__tc.terms__wrapper
  .selectable__item
  [type="checkbox"]:not(:checked)
  + label:before,
.main__tc.terms__wrapper
  .selectable__item
  [type="checkbox"]:not(:checked)
  + label:after,
.main__tc.terms__wrapper
  .selectable__item
  [type="checkbox"]:checked
  + label:before,
.main__tc.terms__wrapper
  .selectable__item
  [type="checkbox"]:checked
  + label:after {
  top: 2px;
}

.accordianheader {
  width: 100%;
  border: var(--border);
  border-radius: var(--border-radius);
  padding: 10px 20px;
  margin: 10px 0;
}


.accordianheader:hover {
  border: var(--border-active);
  background-color: var(--off-white);
  cursor: pointer;
}

.accordianheader.activebar {
  border: var(--border-active);
  outline: 1px solid var(--primary);  
}

.accordianheader h4 {
  margin: 0;
}

.accodianblock {
  width: 100%;
  padding: 20px;
}

.accodianblock p {
  margin-top: 0;
}

.terms__wrapper [type="checkbox"]:not(:checked) + label:before,
.terms__wrapper [type="checkbox"]:checked + label:before,
.enclosed__checkbox [type="checkbox"]:not(:checked) + label:before,
.enclosed__checkbox [type="checkbox"]:checked + label:before {
  right: unset;
  left: 8px;
  top: 6px;
}

.terms__wrapper [type="checkbox"]:not(:checked) + label:after,
.terms__wrapper [type="checkbox"]:checked + label:after,
.enclosed__checkbox [type="checkbox"]:not(:checked) + label:after,
.enclosed__checkbox [type="checkbox"]:checked + label:after {
  right: unset;
  left: 8px;
  top: 6px;
}

.terms__wrapper br {
  display: none;
}

.terms__required img {
  display: none;
}

.terms__required .tandcwrap::after {
  content: "*";
  color: var(--red);
}

.fsp-policy {
  display: block;
  font-size: var(--small-text-size);
  color: var(--terms-text-color);
  padding: 0 0 30px 0;
}

.error-message,
.warningmsg {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  font-size: var(--small-text-size);
  font-weight: 500;
  color: var(--error-banner-text-color);
  background-color: var(--error-banner-bg-color);
  border: 1px solid var(--error-banner-border-color);
  border-radius: var(--border-radius);
  flex-shrink: 0;
}

.error-message:not(.danger-message)::before,
.warningmsg::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../images/warning.svg);
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 15px;
  flex-shrink: 0;
}

.danger-message {
  color: var(--red);
  background-color: var(--red-light);
  border-color: var(--red);
}

.error-message h3 {
  font-weight: 500;
}

.error-message span {
  color: var(--error-banner-text-color) !important;
}

.warningmsg {
  border-radius: var(--border-radius);
  margin-bottom: 20px;
  padding: 16px;
}

.warningmsg ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: var(--default-text-size);
}

.warningmsg b {
  font-weight: 500;
}

.info__msg {
  padding: 10px;
  border-radius: var(--border-radius);
  margin-bottom: 10px;
  border: 1px solid var(--blue);
  color: var(--blue);
  background-color: #eaedf3;
}

.info__msg p {
  margin-top: 0;
}

.info__msg p:last-child {
  margin: 0;
}

td span.compulsory img {
  display: none;
}

.ui-dialog.ui-widget.ui-widget-content {
  display: flex;
  flex-direction: column;
  border: none;
  padding: 0px !important;
}

.ui-dialog .ui-dialog-content.ui-widget-content {
  padding: 20px 30px !important;
  font-family: var(--font-family);
  font-size: var(--default-text-size);
}

.ui-dialog .ui-dialog-content.ui-widget-content p {
  margin-top: 0;
}

.ui-dialog .ui-dialog-buttonpane {
  margin-top: 0;
}

.ui-dialog-titlebar.ui-widget-header {
  background: var(--grey-light);
  border: none;
  border-bottom: var(--border);
  font-family: var(--font-family);
  font-size: var(--modal-title-font-size);
  color: var(--modal-title-font-color);
  line-height: 1;
  font-weight: 600;
  padding: 20px 30px;
  margin-bottom: 0px;
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}

.ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close {
  background: none;
}

.ui-ida .doc-uploader {
  padding: 0 20px;
}

.ui-widget-content {
  border-top: var(--border);
}

.no-close .ui-dialog-titlebar-close {
  display: none;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sectionheader,
#docselect h3 {
  font-family: var(--font-family);
  font-size: 1rem;
  font-weight: 600;
  color: var(--header-font-color);
}

#docselect h3 {
  font-weight: 500;
}

#docselect p {
  font-size: var(--small-text-size);
  color: var(--accent-two);
  margin-top: 0;
}

.doc-row {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 16px;
}

.doc-upload__form {
  display: flex;
  flex-direction: column;
}

.doc-upload__form .doc-upload {
  padding-bottom: 0px;
}

.doc-upload .field__doc__wrapper,
.photo-upload .field__doc__wrapper {
  position: relative;
  width: 100%;
  color: var(--accent-two);
  border: var(--border-dashed);
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  padding: 6px 10px;
}

.doc-upload .field__doc__wrapper .button,
.photo-upload .field__doc__wrapper .button {
  display: flex;
  align-items: center;
  color: var(--white);
  white-space: nowrap;
  width: auto;
  margin-right: 20px;
}

.doc-upload .field__doc,
.photo-upload .field__doc {
  position: absolute;
  left: -9999px;
}

.field__doc__text p {
  margin: 0;
}

.field__doc__text ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.field__doc__text ol li {
  display: flex;
  align-items: center;
}

.field__doc__text ol li img {
  max-width: 100px;
  max-height: 60px;
  margin-right: 20px;
}

.doc-upload__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.doc-upload__footer .proceed-button,
.doc-upload__footer .proceed-button:hover,
.doc-upload__footer .proceed-button:focus {
  background: var(--primary);
  border: 1px solid var(--primary);
  margin: 0 10px;
  font-size: var(--default-text-size);
}

.doc-upload__footer .cancel-button,
.doc-upload__footer .cancel-button:hover,
.doc-upload__footer .cancel-button:focus {
  background: var(--white);
  color: var(--accent-two);
  border-color: 1px solid var(--accent-two);
  font-size: var(--default-text-size);
  font-weight: 500;
  font-family: var(--font-family);
}

.doc-upload__footer .cancel-button:hover,
.doc-upload__footer .cancel-button:focus {
  background-color: var(--off-white);
}

.document__success .doc-upload__footer {
  justify-content: flex-start;
}

.photo-upload .warningmsg {
  margin: 20px 0;
}

.doc-upload-modal {
  position: fixed !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

#documentupload_form {
  padding: 0 !important;
  height: 100% !important ;
}

#photoupload_form {
  padding: 0 !important;
  height: 100% ;
}

.photo-upload-modal {
  position: fixed !important;
  height: 100%;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 100%;
}

.set-height-rule { 
height: 100% !important; 
max-height: 850px;
}

.set-height-rule2 { 
height: 900px !important;
max-height: 1100px ;
}

.photoupload_text { 
  margin-top: 2px;
  margin-left: 20px;
  font-size: var(--small-text-size);
  font-weight: 500;
}

.d-maxheight {  
max-height:800px !important;

}

.remove-height-rule { 
max-height: auto;
}

#documentupload_form iframe,
#photoupload_form iframe {
  width: 100% !important;
  height: 100% !important;
}

.doc-uploader {
  position: relative;
  padding: 12px 12px 70px;
}

.doc-uploader p,
#photoselect p {
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.3;
}

.doc-upload__footer {
  position: fixed;
  border-top: var(--border);
  height: 70px;
  padding: 10px;
  bottom: 0;
  right: 0;
  left: 0;
  background: var(--white);
}

#upload_div input[type="file"] {
  border: var(--border-dashed);
  border-radius: var(--border-radius);
  padding: 16px;
}

#id-button-mobile-photo-upload {
  font-size: var(--default-text-size) !important;
  padding: 0 32px !important;
}

.photo__button {
  display: inline-flex;
}

.ui-widget-header.ui-tabs-nav {
  background: var(--white);
  border-radius: 0;
  border-left: none;
  border-top: none;
  border-right: none;
  border-bottom: var(--border);
  font-family: var(--font-family);
}

.ui-widget-header.ui-tabs-nav .ui-state-default {
  background: var(--grey-light);
  border-color: var(--grey-light);
  color: var(--grey);
}

.ui-widget-header.ui-tabs-nav .ui-state-default a {
  color: var(--text-color-body);
  font-weight: normal;
}

.ui-widget-header.ui-tabs-nav .ui-state-active {
  background: var(--white);
  border-color: var(--border-color);
  color: var(--header-font-color);
}

.ui-widget-header.ui-tabs-nav .ui-state-active a {
  color: var(--header-font-color);
  font-weight: 700;
}

#photo_tabs #webcam_div,
#photo_tabs #upload_div {
  padding: 10px;
}

#photoselect {
  padding: 12px 12px 70px;
}

.photo__upload--footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  height: 66px;
  border-top: var(--border);
  background-color: var(--white);
}

.photo__upload--footer2 {
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  height: 66px;
  border-top: var(--border);
  background-color: var(--white);
}

.ui-dialog .ui-dialog-titlebar-close {
  right: 24px;
  border: none;
}

/* Payment Gateway */
.payment-methods .gateway {
  display: grid;
  grid-template-columns: 1fr 100px;
  align-items: center;
  border: var(--border);
  border-radius: var(--border-radius);
  padding: 12px;
}

.payment-methods .gateway.active-gateway {
  border: 1px solid var(--primary);
}

.payment-methods .gateway + .gateway {
  margin-top: 20px;
}

.payment-methods .gateway:hover {
  cursor: pointer;
  border: 1px solid var(--primary);
}

.payment-methods .gateway .accepted {
  display: flex;
  align-items: center;
  gap: 20px;
}

@media screen and (max-width: 480px) {
  .payment-methods .gateway {
    grid-template-columns: 1fr;
  }

  .payment-methods .gateway .accepted {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .payment-methods .gateway .button {
    margin-top: 10px;
  }
}

.payment-methods .gateway h3,
.payment-methods .gateway p {
  margin: 0;
}

.payment-methods .gateway p,
.payment-methods .secure.btn {
  color: var(--grey-dark);
  font-weight: 400;
}

.payment-methods .secure.btn {
  text-align: center;
  font-weight: 500;
  color: var(--success-green);
}

.payment-methods .card-logo-wrap {
  display: flex;
  gap: 10px;
}

.payment-methods .card-logo-wrap img {
  max-height: 46px;
  display: block;
}

.payment-methods .go-to-payment {
  height: 36px;
}

.paypal-option .card-logo:last-child {
  display: none;
}

.rego-confirmation #trans_header {
  margin-bottom: 1rem;
}

.rego-confirmation .permsTable tfoot th {
  text-align: right;
  padding: 5px;
  font-size: 0.8125rem;
  font-weight: 500;
}

.final__promoform #msgarea {
  width: 100%;
  margin: 10px 0;
  padding: 4px 10px;
}

.final__promoform #msgarea ul {
  margin: 2px 0;
}

/* Payment Page Styles */
.payment_page {
  font-size: 100%;
}

.payment_page #spheader {
  display: none;
}

.payment_page .payform-title,
.payform__intro {
  font-size: 16px;
  color: var(--header-font-color);
  font-weight: 500;
  line-height: 1.3;
}

.payment_page .payform-title {
  font-weight: 600;
}

.payment_page #pagewrapper {
  border-radius: var(--border-radius);
}

.payment_page #content {
  font-family: var(--font-family);
}

.payment_page #pageholder {
  background-color: transparent;
}

.payment_page input {
  border: var(--border);
  border-radius: var(--border-radius);
  color: var(--field-text-color);
  font-size: var(--field-font-size);
}

.payment_page #cc-form {
  padding: 30px 0;
}

.payment_page #footer {
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.payment_page .footyweb-footer-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.payment_page .footyweb-footer-wrap .footyweb-cp,
.payment_page .footyweb-footer-wrap .footywebline,
.payment_page .footyweb-footer-wrap .footyweblogo {
  margin-top: 0;
  font-size: 10px;
}

.payment__braintree,
.payment__success {
  padding: 40px 70px;
}

@media only screen and (max-width: 720px) {
  .payment__braintree,
.payment__success {
  padding: 10px;
}
}

.payment__braintree .fa {
  margin-right: 8px;
}

.payment__braintree .buttom {
  margin-bottom: 16px;
}

.payment__success .table {
  text-align: left;
  font-size: var(--default-text-size);
}

.payment__success td,
.payment__success th {
  padding: 4px 6px;
}

@media only screen and (max-width: 500px) {
  .paid-invoice .confirm-details {
    width: 100%;
    margin-bottom: 20px;
  }

  
  .payment__success .table {
    font-size: var(--small-text-size);
  }

  .payment__success td, .payment__success th {
    padding: 6px 3px;
  }
}

.document__success {
  display: flex;
  flex-direction: column;
}

.document__success .OKmsg {
  font-family: var(--font-family);
  font-weight: 500;
  margin-top: 0;
  background-color: var(--light-success-green);
  color: var(--success-green);
  padding: 20px;
}

.document__success .OKmsg h3 {
  margin-top: 0;
}

.document__success .OKmsg ul {
  margin-bottom: 0;
}

.terms__modal h3 {
  margin-top: 0;
}

.terms__modal__text {
  overflow-y: auto;
}

.terms__modal__text pre {
  font-family: var(--font-fammily);
  white-space: pre-wrap;
  margin: 0;
}

.content__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 20px;
  border-top: 1px solid var(--grey-light); 
}

.content__footer img {
  display: block;
  max-width: 140px;
  max-height: 50px;
}

.payment__logos {
  display: flex;
  align-items: center;
}

.payment__logos div + div {
  margin-left: 20px;
}

#transfercheck_error_msg .warningmsg {
    flex-direction: column;
}

#transfercheck_error_msg .warningmsg input[type="radio"] {
    -moz-appearance: radio;
    -webkit-appearance: radio;
    appearance: radio;
}

#transfercheck_error_msg .warningmsg p {
    margin-top: 0;
}

#transfercheck_error_msg .warningmsg th {
    text-align: left;
}

@media only screen and (min-width: 720px) {
  .content {
    margin: 60px auto auto;
    max-width: 900px;
    border-radius: var(--border-radius);
  }

  .content__form .result {
    display: flex;
    flex-direction: column;
    padding: 20px 70px 40px;
  }

  .initial__form {
    display: flex;
    flex-direction: column;
  }

  .initial__form .proceed-button {
    align-self: center;
    margin-top: 16px;
  }

  .error-messages:not(:empty) {
    margin-top: 30px;
  }

  .error-message {
    margin: 0 auto;
    max-width: 900px;
  }

  .error-message + .error-message {
    margin-top: 16px;
  }

  #existingteammatesresult table td:first-child {
    white-space: nowrap;
  }

  .footer {
    margin: 60px 0 0 0;
  }
}

@media only screen and (min-width: 600px) {
  .welcome__form,
  .login__form {
    flex-direction: row;
    align-items: flex-end;
  }

  .login__form {
    align-items: center;
  }

  .button.block {
    margin-top: 0;
  }
}

@media only screen and (max-width: 640px) {
  .step:not(.nav-currentstep) .step-name,
  .step:not(.nav-currentstep) .step-dot {
    display: none;
  }

  .form-nav:has(.nav-currentstep) .step:not(.nav-currentstep) {
    width: 80px;
  }
}

@media only screen and (max-width: 720px) {
  .content__form {
    padding: 40px 20px;
  }

  .footer__info {
    border-top: 1px solid #efefef;
    box-shadow: 0px -4px 10px rgb(0 0 0 / 5%);
  }
}

@media only screen and (max-width: 480px) {
  .content__form {
    padding: 20px 10px 10px 10px;
  }
  .header__logo img {
    max-width: 40px;
  }

  .footer {
    margin: 0;
    border-top: 1px solid #efefef;
    box-shadow: 0px -4px 10px rgb(0 0 0 / 5%);
  }

  .footer__info {
    grid-template-columns: 1fr 1fr;
  }

  .footer__info__org__logo {
    display: none;
  }

  .footer__copyright {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 
      "logo copyright"
      "logo privacy";
  }

  .footer__copyright__logo {
    grid-area: logo;
  }

  .footer__copyright__text {
    grid-area: copyright;
    text-align: right;
    padding-bottom: 10px;
  }

  .footer__copyright__privacy {
    grid-area: privacy;
    text-align: right;
  }

  .step-num {
    margin: 0;
  }

  .br-mobile {
    display: none;
  }

  .passport__flow__buttons {
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }

  .passport__flow__buttons .button__new {
    width: 100%;
    margin: 10px 0 0 !important;
  }

  .passport__flow__buttons button,
  .passport__flow__buttons a.btn {
    width: 100%;
    margin-top: 0;
    padding: 0 10px;
  }

  .doc-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .ui-dialog .ui-dialog-content.ui-widget-content {
    padding: 12px !important;
  }

  .user-select-wrap,
  .new-rego-wrap {
    width: 100%;
  }

  .content__footer {
    flex-direction: column;
    padding: 10px;
  }

  .payment__logos {
    margin-top: 20px;
  }

  .field__inline,
  .button__inline {
    width: 100%;
  }

  .field__inline + .button__inline {
    margin: 10px 0 0 0;
  }
}


@media only screen and (max-width: 940px) {
  .error-messages:not(:empty) {
    margin: 30px 20px;
  }
  main.content {
    margin: 60px 20px;
  }
}

@media only screen and (max-width: 720px) {
  main.content {
    margin: 20px;
  }
}

@media only screen and (max-width: 720px) {
  main.content {
    margin: 20px 10px;
  }
  .error-messages:not(:empty) {
    margin: 20px 10px;
  }
}

/* Sport specific */
.footywebline {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footywebline img {
  max-width: 160px;
}

.tooltip {
    position:relative;

}

.tooltip .tooltiptext,
#voucherInfo.voucher-info-active.tooltiptext {
  display: inline-block;
  visibility: hidden;
  opacity: 0;
  min-width: 300px;
  background-color: var(--white);
  color: var(--grey-dark);
  border-radius: var(--border-radius);
  border: 1px solid var(--grey-light);
  padding: 6px 10px;

  /* Position the tooltip */
  position: absolute;
  transition: visibility 0s, opacity 250ms linear;
  z-index: 100;
  box-shadow: var(--default-shadow);
}

.tooltip .tooltiptext p {
  margin-top: 0;
}

.tooltip:hover .tooltiptext,
sup:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.tooltip sup svg {
  max-width: 20px;
}

/* Address autocomplete fixes */

#mapLocationHolder {
  position: relative;
}

.pac-container {
  top: 0 !important;
  left: 0 !important;
}

/* Loading Spinner */

body.loading {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

body.loading .overlay-wrapper {
  display: block !important;
}

.overlay-wrapper {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: var(--color-overlay-primary);
  z-index: 9999;
}

.spinner-wrap {
  position: absolute;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  margin-top: -100px;
  margin-left: -100px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0px 2px 12px rgba(17, 25, 65, 0.15);
  z-index: 50;
}

.spinner,
.spinner:after {
  border-radius: 50%;
  width: 6em;
  height: 6em;
}

.spinner {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 0.75em solid #E5EBF1;
  border-right: 0.75em solid #E5EBF1;
  border-bottom: 0.75em solid #E5EBF1;
  border-left: 0.75em solid #4fc5c9;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

.spinner__mini,
.spinner__mini:after {
  border-radius: 50%;
  width: 24px;
  height: 24px;
}

.spinner__mini {
  display: none;
  font-size: 10px;
  position: absolute;
  text-indent: -9999em;
  border-top: 4px solid #E5EBF1;
  border-right: 4px solid #E5EBF1;
  border-bottom: 4px solid #E5EBF1;
  border-left: 4px solid #555;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.products__page {
  display: grid;
  grid-template-columns: 1fr 300px;
  grid-gap: 20px;
}

.products__list,
.products__payment__summary {
  position: relative;
}

.products__list:not(.products__inactive) .noclick__overlay,
.products__payment__summary:not(.products__inactive) .noclick__overlay {
  display: none;
}

@media only screen and (min-width: 768px) {
}

@media only screen and (max-width: 767px) {
  .products__page {
    grid-template-columns: 1fr;
  }

  .HTF_table {
    width: 100%;
    margin: 0;
  }

  .products__list .noclick__overlay,
  .products__payment__summary .noclick__overlay {
    display: none !important;
  }

  .products__list.products__inactive,
  .products__payment__summary.products__inactive {
    display: none;
  }
}

.noclick__overlay {
  position: absolute;
  background-color: rgba(255,255,255,0.7);
  z-index:100;
  inset: 0;
}

.content__form .result.no-padding {
  padding: 0;
}

.products__control,
.payments__control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--grey);
}

.products__control {
  margin-top: 50px;
}

.payments__control .button__back {
  white-space: nowrap;
}

.payments__control .button {
  padding: 0 16px;
}

.member__details__block {
  margin-bottom: 20px;
  background-color: #F3F7FB;
}

.member__details__block p {
  font-size: 0.813rem;
  margin: 0;
}

.member__details__block > p {
  padding: 10px 15px;
  color: var(--navy);
  font-weight: 500;
}

.member__details__label {
  font-weight: 400;
  color: var(--text-color-body);
}

.member__details__info {
  display: flex;
  gap: 50px;
  padding: 10px 0;
  margin: 0 15px;
  border-top: 1px solid #D5DEE7;
}

.member__details__data {
  font-weight: 500;
  color: var(--navy);
}

.products__page .section_header {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #D5DEE7;
}

.products__page p {
  font-size: var(--small-text-size);
}

/* Temp hide not sure what this is for */
#voucherFieldsWrapperSec {
  display: none !important;
}

.promo__code__block + .promo__code__block {
  margin-top: 20px;
}

.promo__code__block .promocode__wrapper,
.promo__code__block .rewards-wrapper,
.promo__code__block .voucher-wrapper {
  background-color: var(--grey-light);
  padding: 20px;
}

.promo__code__block .rewards-wrapper {
  padding: 0;
  background: none;
}

.promo__code__block .rewards-content {
  padding: 20px;
  background-color: #0F3356;
  color: #FFF;
}

.promo__code__block .asterisk {
  display: none;
}

ol.msgitem {
  list-style-type: none;
}

.promo__code__block .rewards-wrapper #msgarea ol.msgitem {
  padding: 10px;
  font-size: 12px;
}

ol.msg-item li:only-of-type {
  list-style-type: none;
}

.promo__code__block .rewards-wrapper .spend-val {
  color: var(--yellow);
}

.promo__code__block h3 {
  margin-top: 0;
}

.promo__code__block label {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.promocode__control {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 10px;
}

.promocode__control input,
.promocode__control button {
  height: 36px;
  font-size: var(--small-text-size);
}

.promocode__control input[type="text"] {
  background: var(--white);
  padding: 0 8px;
}

.promocode__control input[type="button"],
.promocode__control button {
  padding: 0 16px;
}

.promo__code__block .rewards-wrapper p {
  margin: 0 0 10px 0;
}

.promo__code__block .rewards-wrapper .voucher-header {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 10px;
}

.promo__code__block .voucher-wrapper .voucher-header {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.promo__code__block .voucher-wrapper .voucher-header h3 {
  margin-bottom: 0;
}

.promo__code__block .voucher-wrapper .voucher-header p {
  margin: 0;
}

.promo__code__block .voucher-logo {
  width: 100%;
}

.promo__code__block .voucher-available {
  font-size: 16px;
  font-weight: 500;
}

.payments__summary {
  display: grid;
  grid-template-columns: 80px 1fr;
  margin-top: 40px;
  padding: 10px 0;
  border-top: var(--border);
  font-size: var(--small-text-size);
}

.payments__summary h3 {
  margin: 4px 0 0 0;
  font-size: 14px;
}

.payments__summary table td {
  text-align: right;
  color: var(--grey-dark);
  padding: 2px 0;
}

.payments__summary table td:last-child {
  width: 100px;
}

.payments__summary .total {
  color: var(--navy);
  font-weight: 500;
}

.payments__summary table tr:last-child td {
  font-size: var(--default-text-size);
  font-weight: 500;
  padding-top: 15px;
}

.products__payment__summary .OKmsg,
.products__payment__summary .warningmsg {
  margin: 20px 0 0;
  padding: 0;
  min-height: unset;
}

.products__payment__summary .OKmsg ul {
  list-style-type: none;
}

.products__payment__summary #msgarea:empty {
  display: none;
}

.products__payment__summary .OKmsg {
  background-color: var(--light-success-green);
  color: var(--success-green);
  border: 1px solid var(--success-green);
  border-radius: var(--border-radius);
  margin-top: 20px;
}

@media screen and (min-height: 700px) {
  .products__payment__summary .sticky {
    position: sticky;
    top: 20px;
  }
}


#rebateMsg ul {
  margin: 2px 0;
  list-style-type: none;
  padding: 0;
}

#rebateMsg.OKmsg {
  margin: 0;
  padding: 4px 10px;
}

.products__payment__summary .warningmsg:before {
  display: none;
}

.products__payment__summary .msgitem {
  padding: 10px;
  margin: 0;
  font-size: 14px;
}

.products__subTotal {
  display: none;
  border-top: 1px solid #D5DEE7;
  margin-top: 10px;
  padding-top: 10px;
}

.products__subTotal table {
  width: 100%;
  text-align: right;
}

.products__subTotal table td:last-child {
  width: 100px;
}

.products__subTotal .total {
  font-size: var(--default-text-size);
    font-weight: 500;
    color: var(--navy);
}

@media screen and (max-width: 768px) {
  .products__subTotal {
    display: block;
  }
}

.info-icon {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: blue;
  margin-left: 4px;
}

.voucher-program {
  position: relative;
}

.voucher-program .voucher-program-label {
  position: relative;
  line-height: 1.5;
  margin: 0 0 10px 0;
  font-size: 14px;
}

.voucher-info-btn {
  padding: 0;
  background: transparent;
  border: 0;
}


.products__payment__summary .tooltiptext {
  display: none;
  position: absolute;
  z-index: 100;
  top: 10px;
  left: -150px;
  visibility: visible;
  width: 300px;
  opacity: 1;
}

.promo__code__block h3 {
  display: inline-block;
}

.products__payment__summary .tooltip:hover .tooltiptext {
  display: block !important;
}

.products__payment__summary .tooltiptext p {
  margin-top: 0;
}

.products__payment__summary .tooltiptext p:last-child {
  margin-bottom: 0;
}

.voucher-program .voucher-program-label sup {
  position: absolute;
}

.tooltip svg {
  width: 20px;
  height: 20px;
}

.paid-invoice .discount__messages ul {
  list-style-type: none;
  padding: 0;
}

.paid-invoice .discount__messages li + li {
  margin-top: 10px;
}

@media screen and (max-width: 400px) {
  .products__payment__summary .tooltiptext {
    left: auto;
  }
}

#trans_header + .invoice {
  margin-top: 10px;
}

.invoice .permsTable {
  width: 100%;
}

.invoice .permsTable th,
.invoice .permsTable td {
  padding: 5px;
}

.invoice .permsTable thead th:not(:last-child) {
  text-align: left;
}

.invoice .permsTable tfoot th {
  text-align: right;
}