:root {
  --black: #000;
  --white: #fff;
  --red: #e1251b;

  --ios-no-zoom-mobile-font-size: 16px;
  --is-loading-spinner-colour: #000;
}

body {
  font-size: 16px;
  font-family: sans-serif;
  margin: 0 auto;
  background: var(--white);
}

body.isMobile {
  input,
  select, 
  label,
  .frame p,
  .password-meter {
    font-size: var(--ios-no-zoom-mobile-font-size);
  }
}

body.isApp {
  header > .wrapper > a {
    pointer-events: none;
  }
}

body .grecaptcha-badge {
    z-index: 100;
}

.isLoading {
  &:before {
    content: '';
    position: fixed;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    background:#5e5e5e;
    z-index: 10;
    opacity: 0.3;
  }

  &:after {
    content: '';
    width: 30px;
    height: 30px;
    top: calc(50% - 18px);
    left: calc(50% - 18px);
    position: fixed;
    border: 3px solid var(--is-loading-spinner-colour);
    border-bottom-color: transparent;
    display: inline-block;
    border-radius: 50%;
    animation: rotation 1s linear infinite;
    transform: translate(-50%, -50%);
    z-index: 11;
  }
}

@keyframes rotation {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}

.wrapper {
  max-width: 1920px;
  margin: 0 auto;
  width: 100%;
}

header {
  display: flex;
  align-items: center;
  padding: 8px 20px;
  vertical-align: middle;
}

header a {
  width: fit-content;
}

header a.navbar-brand {

}

.dtLogo {
    display: block;
}

.mobLogo {
    display: none;
}

header > a > img {
    max-height: 44px;
}

input:not([type="checkbox"]) {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  font-family: var(--brand-font);
  letter-spacing: 0;
  line-height: 18px;
  height: 45px;
  padding: 10px;
  border: 1px solid #5e5e5e;
  border-radius: 4px;
  color: var(--black);
  transition: border-color 0.2s;
  outline: none;
}

main {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 16px;
}

.frame {
  background: #F8F8F8;
  /*padding: 20px;*/
  padding: 20px 20px 90px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

section.continue-as-guest {
    background: #F8F8F8;
}

.register-container .frame {
    padding: 20px 20px 100px;
}

.frame p {
  margin: 0 0 30px 0;
  font-size: 15px;
}

h3 {
  text-align: center;
  margin: 0 0 24px 0;
  font-size: 16px;
}

p.terms-conditions {
  font-size: 12px !important;
  text-align: left;
  margin: 24px 0;
}

.frame .terms-conditions {
  margin: 24px 0 0;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  font-size: 14px;
  display: block;
  margin-bottom: 8px;
}

.form-group input {
  box-sizing: border-box;
  width: 100%;
  max-width: 450px;
}

.form-group select {
  height: 45px;
  font-size: 16px;
  font-family: var(--brand-font);
  border-radius: 4px;
  color: #808080;
  border: 1px solid #5e5e5e;
  padding: 8px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 330 330" fill="%23000000"><path d="M325.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001l-139.39,139.393L25.607,79.393 c-5.857-5.857-15.355-5.858-21.213,0.001c-5.858,5.858-5.858,15.355,0,21.213l150.004,150c2.813,2.813,6.628,4.393,10.606,4.393s7.794-1.581,10.606-4.394l149.996-150C331.465,94.749,331.465,85.251,325.607,79.393z"></path></svg>') no-repeat;
  background-position: calc(100% - 16px) center;
  -moz-appearance:none;
  -webkit-appearance: none; 
  appearance: none;
}

.form-group select option:not(:first-of-type) {
    color: var(--black);
}

input:focus, select:focus {
    /*border: 1px solid var(--primary);*/
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 1);
}

.dob-container > div {
    flex: 1 auto;

    select {
        width: 100%;
    }
}

section {
    position: relative;
}

form.disabled {
    input, button, select, a {
    pointer-events: none;
    cursor: default;
  }
  button {
    opacity: 0.6;
  }
}

.form-error {
  display: none;
  color: var(--red);
  padding-bottom: 15px;
  margin: 0;
  font-size: 14px;
}

.form-error:not(:empty) {
  display: block;
  text-align: left;
}

.field-error {
  display: none;
  color: var(--red);
  padding-top: 10px;
  margin: 0;
  font-size: 14px;
}

.field-error:not(:empty) {
  display: block;
  text-align: left;
}

a {
  color: var(--black);
}

.password-meter {
  font-size: 14px;
  ul {
    margin-top: 0;
  }
  ul[data-verify="true"] {
    li[data-verified="false"] {
      color: var(--red);
    }
    li[data-verified="true"] {
      color: green;
      li[data-verified="false"] {
        color: dimgray;
      }
    }
  }
}

#Input_Password_text {
    min-height: 20px;
}

#Input_ConfirmedPassword {
    margin-bottom: 0;
}

.form-group.ConfirmedPasswordWrapper {
    margin-bottom: 5px;
    padding-bottom: 5px;
    position: relative;
}

.form-group.ConfirmedPasswordWrapper .field-error {
    padding: 0;
}

.form-group.ConfirmedPasswordWrapper #Input_ConfirmedPassword-error {
    position: absolute;
    bottom: 15px;
}

.btn {
    position: absolute;
    bottom: 20px;
    max-width: calc(100% - 40px);
    width: 330px;
    background-color: var(--black);
    color: var(--white);
    padding: 16px 0;
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    outline: none;
    cursor: pointer;
    font-weight: bold;
    line-height: 20px;
    padding: 16px 32px;
    transition: all 0.25s linear 0s;
}

.btn.cancel {
  width: 410px;
  margin-left: auto;
  margin-right: auto;
}

#forgotPasswordForm button, .btn.cancel, body.checkout .btn, #resetPasswordForm button {
    position: relative;
    bottom: auto;
    max-width: 100%;
}

#forgotPasswordContainer {
    padding: 20px 20px 30px;
}

#forgotPasswordForm #forgotPasswordCancel {
    margin: 0;
}

#resetPasswordContainer {
    padding: 20px;
}

@media (max-width: 767px) {
    header {
    justify-content: center;
    padding: 8px;
  }

  main {
    padding-top: 20px;
  }

  .form-group > * {
    width: 100% !important;
    max-width: unset !important;
    box-sizing: border-box;
  }

  .btn {
    width: 100%!important;
  }

    .dtLogo {
        display: none;
    }

    .mobLogo {
        display: block;
    }
}

#pstrength-container > div {
    display: inline-block;
    padding: 0 10px 0 0;
    margin-top: 10px;
}

.pstrength-container {
    margin-bottom: 20px;
    font-size: 14px;
    max-width: 450px;
}

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

#onetrust-consent-sdk #onetrust-banner-sdk *:focus, #onetrust-consent-sdk #onetrust-banner-sdk:focus {
    outline: none;
}

.subscribe input[type="checkbox"]:checked {
    background: var(--primary);
    color: var(--white);
}

.subscribe input[type="checkbox"] {
    cursor: pointer;
    appearance: none;
    border: 1px solid var(--black);
    height: 15px;
    width: 25px;
}

.subscribe input[type="checkbox"]:after {
    content: ' ';
    position: relative;
    left: 40%;
    top: 20%;
    width: 15%;
    height: 40%;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    transform: rotate(50deg);
    display: none;
}

.subscribe input[type="checkbox"]:checked:after {
    display: block;
}

.forgot-password {
    display: block;
    margin-bottom: 16px;
}