.visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

form {
  background: #fff;
  padding: 20px;
  color: #767d84; }
  form .form-item {
    margin: 20px 0 0;
    display: block; }
    form .form-item:first-child {
      margin-top: 0; }
    form .form-item .description {
      display: block;
      margin: 5px 0 0;
      font-size: 14px;
      color: #767d84;
      line-height: 1.2; }
      form .form-item .description > p {
        font-size: 14px;
        color: #767d84;
        line-height: 1.2; }
        form .form-item .description > p:last-child {
          margin-bottom: 0; }
    form .form-item label {
      color: #767d84;
      font-family: "Agenda", Arial, Helvetica, sans-serif;
      display: block;
      line-height: 1.2;
      margin: 0 0 8px 0;
      font-size: 16px; }
      @media screen and (min-width: 768px) {
        form .form-item label {
          font-size: 17px; } }
      form .form-item label > div {
        font-family: "Agenda Regular", Arial, Helvetica, sans-serif; }
    form .form-item.form-disabled {
      opacity: 0.5; }
      form .form-item.form-disabled input, form .form-item.form-disabled select, form .form-item.form-disabled label {
        cursor: default !important; }
  form input[type="text"], form input[type="url"], form input[type="email"], form input[type="tel"], form input[type="number"], form input[type="password"], form input[type="password"], form select, form textarea, form input[type="file"] {
    width: 100%;
    display: block;
    padding: 8px 12px; }
    @media screen and (min-width: 768px) {
      form input[type="text"], form input[type="url"], form input[type="email"], form input[type="tel"], form input[type="number"], form input[type="password"], form input[type="password"], form select, form textarea, form input[type="file"] {
        padding: 12px 14px; } }
    @media screen and (min-width: 960px) {
      form input[type="text"], form input[type="url"], form input[type="email"], form input[type="tel"], form input[type="number"], form input[type="password"], form input[type="password"], form select, form textarea, form input[type="file"] {
        padding: 14px 16px; } }
    @media screen and (min-width: 1180px) {
      form input[type="text"], form input[type="url"], form input[type="email"], form input[type="tel"], form input[type="number"], form input[type="password"], form input[type="password"], form select, form textarea, form input[type="file"] {
        padding: 16px 18px; } }
    @media screen and (min-width: 1280px) {
      form input[type="text"], form input[type="url"], form input[type="email"], form input[type="tel"], form input[type="number"], form input[type="password"], form input[type="password"], form select, form textarea, form input[type="file"] {
        padding: 17px 18px; } }
  form select {
    padding-right: 42px !important; }
    @media screen and (min-width: 768px) {
      form select {
        padding: 11px 14px; } }
    @media screen and (min-width: 960px) {
      form select {
        padding: 13px 16px; } }
    @media screen and (min-width: 1180px) {
      form select {
        padding: 15px 18px; } }
    @media screen and (min-width: 1280px) {
      form select {
        padding: 16px 18px; } }
  form input[type="submit"], form input[type="button"] {
    background: #3a526c;
    -webkit-appearance: none; }
    .booking-principal form input[type="submit"], .booking-principal form input[type="button"] {
      background-color: #d44658; }
    form input[type="submit"].progress-disabled, form input[type="button"].progress-disabled {
      color: transparent !important;
      -webkit-transition: background 0.25s ease-in-out;
      -moz-transition: background 0.25s ease-in-out;
      -ms-transition: background 0.25s ease-in-out;
      transition: background 0.25s ease-in-out; }
  form .form-type-checkbox input {
    position: absolute;
    left: -9999px; }
    form .form-type-checkbox input:focus + label {
      color: #000; }
      form .form-type-checkbox input:focus + label:before {
        background-position: 0 -50px; }
    form .form-type-checkbox input:checked + label:before {
      background-position: 0 -25px; }
  form .form-type-checkbox label {
    position: relative;
    padding: 5px 0 5px 36px;
    font-family: "Agenda Regular", Arial, Helvetica, sans-serif;
    margin: 0;
    cursor: pointer; }
    form .form-type-checkbox label:before {
      content: "Icon";
      width: 26px;
      height: 25px;
      display: block;
      text-align: left;
      text-indent: -9999px;
      background: url(../img/icons/checkbox-sprite.png) no-repeat 0 0;
      background-size: 25px auto;
      position: absolute;
      left: 0;
      top: 1px; }
  form .form-type-radio input {
    position: absolute;
    left: -9999px; }
    form .form-type-radio input:checked + label {
      cursor: default; }
      form .form-type-radio input:checked + label:before {
        background-position: 0 -22px; }
  form .form-type-radio label {
    position: relative;
    padding: 3px 0 3px 36px;
    font-family: "Agenda Regular", Arial, Helvetica, sans-serif;
    margin: 0;
    cursor: pointer; }
    form .form-type-radio label:before {
      content: "Icon";
      width: 22px;
      height: 22px;
      display: block;
      text-align: left;
      text-indent: -9999px;
      background: url(../img/icons/radio-sprite.png) no-repeat 0 0;
      background-size: 22px auto;
      position: absolute;
      left: 0;
      top: 1px; }
  form .form-type-date .form-item {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 20px;
    position: relative; }
    form .form-type-date .form-item:before {
      content: "/";
      display: block;
      width: 16px;
      height: 30px;
      line-height: 30px;
      position: absolute;
      left: -19px;
      top: 50%;
      margin-top: -15px;
      color: #767d84;
      font-size: 24px;
      text-align: center; }
    form .form-type-date .form-item:first-child {
      margin: 0; }
      form .form-type-date .form-item:first-child:before {
        display: none; }
  form .confirm-parent, form .password-parent {
    margin: auto;
    width: auto;
    clear: none; }
  form fieldset {
    padding: 20px;
    background: #fff;
    margin: 30px 0 0 0; }
    form fieldset:first-child {
      margin-top: 0; }
    form fieldset legend {
      margin: 0;
      padding: 0; }
  form#styleguide-form--6 {
    background: #f1f3f5; }

.form-item input.error, .form-item textarea.error, .form-item select.error {
  border: 1px solid #dd3f46; }

div.error, table tr.error {
  background-color: #fff; }

div.error {
  background-image: url(../img/icons/form-error-alert.png);
  background-size: 18px auto;
  color: #dd3f46; }

div.status {
  background-image: url(../img/icons/form-success.png);
  background-size: 18px auto; }

div.messages {
  padding: 0 0 0 24px;
  background-position: 0 0;
  margin: 0 0 20px 0;
  line-height: 1.2;
  color: #767d84;
  font-family: "Agenda Medium", Arial, Helvetica, sans-serif;
  background-color: transparent;
  border: none; }
  div.messages ul {
    margin: 0; }
    div.messages ul li {
      padding: 0;
      margin: 3px 0 0; }
      div.messages ul li:first-child {
        margin: 0; }
      div.messages ul li:before {
        display: none; }

#processing-errors {
  background-position: 18px center;
  margin: -12px 18px 18px; }
  #processing-errors ul {
    margin: 10px 0;
    padding: 0; }
    #processing-errors ul li:before {
      content: none; }

#ph-trainers-club-form {
  font-size: 0;
  padding: 0; }
  #ph-trainers-club-form > div > .form-item {
    width: 100%; }
    @media screen and (min-width: 768px) {
      #ph-trainers-club-form > div > .form-item {
        display: inline-block;
        vertical-align: top;
        width: 48.5%;
        margin-right: 3%;
        margin-top: 25px; } }
    @media screen and (min-width: 960px) {
      #ph-trainers-club-form > div > .form-item {
        margin-top: 30px; } }
    #ph-trainers-club-form > div > .form-item.form-item-last-name {
      margin-right: 0; }
    #ph-trainers-club-form > div > .form-item.form-item-pass {
      width: 100%; }
      #ph-trainers-club-form > div > .form-item.form-item-pass .form-item {
        margin: 0; }
        @media screen and (min-width: 768px) {
          #ph-trainers-club-form > div > .form-item.form-item-pass .form-item {
            display: inline-block;
            vertical-align: top;
            width: 48.5%;
            margin-right: 3%; } }
        #ph-trainers-club-form > div > .form-item.form-item-pass .form-item input {
          margin: 0; }
        #ph-trainers-club-form > div > .form-item.form-item-pass .form-item.form-item-pass-pass2 {
          margin: 10px 0 0; }
          @media screen and (min-width: 768px) {
            #ph-trainers-club-form > div > .form-item.form-item-pass .form-item.form-item-pass-pass2 {
              margin: 0; } }
    @media screen and (min-width: 768px) {
      #ph-trainers-club-form > div > .form-item.form-item-postcode input, #ph-trainers-club-form > div > .form-item.form-item-dob input {
        max-width: 150px;
        display: block; } }
    #ph-trainers-club-form > div > .form-item.form-type-checkboxes {
      width: 100%;
      margin-right: 0; }
      @media screen and (min-width: 768px) {
        #ph-trainers-club-form > div > .form-item.form-type-checkboxes > label {
          margin: 0 0 14px 0; } }
      #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item {
        margin: 3px 0 0; }
        #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item:first-child {
          margin-top: 0; }
        @media screen and (min-width: 768px) {
          #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item {
            display: inline-block;
            vertical-align: top;
            width: 32%;
            margin: 0 2% 10px 0; }
            #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item:nth-child(3n+3) {
              margin-right: 0; } }
        @media screen and (min-width: 960px) {
          #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item {
            width: 23.5%; }
            #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item:nth-child(3n+3) {
              margin-right: 2%; }
            #ph-trainers-club-form > div > .form-item.form-type-checkboxes .form-checkboxes .form-item:nth-child(4n+4) {
              margin-right: 0; } }
  #ph-trainers-club-form > div .captcha {
    margin: 30px 0 0; }
    #ph-trainers-club-form > div .captcha .g-recaptcha {
      margin: 0 0 0 -12px; }
      @media screen and (min-width: 768px) {
        #ph-trainers-club-form > div .captcha .g-recaptcha {
          margin: 0; } }
  #ph-trainers-club-form > div .submit-wrapper {
    margin: 30px 0 0; }
    @media screen and (min-width: 768px) {
      #ph-trainers-club-form > div .submit-wrapper .button {
        width: 304px; } }
  #ph-trainers-club-form .messages.error {
    margin: 10px 0 0; }

/*# sourceMappingURL=form.css.map */