html {
  scroll-behavior: smooth; }

.application-form {
  position: relative; }
  @media screen and (min-width: 1100px) {
    .application-form #ApplicationForm .twoCol-Row {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .application-form #ApplicationForm .moneyIcon,
  .application-form #ApplicationForm .calendarIcon,
  .application-form #ApplicationForm .spinnerReplace {
    color: #28b78d; }
  @media screen and (min-width: 1350px) {
    .application-form #ApplicationForm .applicantInfo .calendarIcon {
      width: 5em;
      height: 5em;
      margin-left: -4em; } }
  @media screen and (min-width: 1200px) {
    .application-form #ApplicationForm .applicantInfo .spinnerReplace {
      width: 3em;
      height: 3.25em; } }
  .application-form #ApplicationForm .formPage h3 {
    font-weight: 900 !important;
    text-transform: uppercase; }
    .application-form #ApplicationForm .formPage h3 em {
      color: #fff; }
  .application-form #ApplicationForm .formPage h4 {
    font-weight: bold;
    color: #fff;
    text-align: left; }
  .application-form #ApplicationForm .formPage p {
    color: #fff; }
  .application-form #ApplicationForm .formProgressPart span {
    color: #fff; }
  .application-form #ApplicationForm .addRemoveControls button {
    border-color: #fff; }
  .application-form #ApplicationForm .formProgressPart[data-stepstate="present"],
  .application-form #ApplicationForm .formProgressPart[data-stepstate="past"],
  .application-form #ApplicationForm .formProgress::before,
  .application-form #ApplicationForm .formProgressFill {
    background: #28b78d; }
  @media screen and (min-width: 1351px) {
    .application-form #ApplicationForm .formProgress::before {
      left: -49px; } }
  .application-form #ApplicationForm .jobOpportunity .row .specialLabel {
    width: 50%; }
    @media screen and (max-width: 640px) {
      .application-form #ApplicationForm .jobOpportunity .row .specialLabel {
        width: 220px; } }
    @media screen and (max-width: 480px) {
      .application-form #ApplicationForm .jobOpportunity .row .specialLabel {
        width: 150px; } }
    @media screen and (max-width: 420px) {
      .application-form #ApplicationForm .jobOpportunity .row .specialLabel {
        width: 120px; } }
  .application-form #ApplicationForm .jobOpportunity .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 1rem 0; }
    .application-form #ApplicationForm .jobOpportunity .row .valWrap label {
      font-size: 15px; }
      .application-form #ApplicationForm .jobOpportunity .row .valWrap label::before {
        width: 1em;
        height: 1em;
        left: 0; }
  .application-form #ApplicationForm .employeeElibility .row .valWrap label::before {
    width: 1em;
    height: 1em;
    left: 0; }
  .application-form #ApplicationForm .professionalReferences .row .specialLabel {
    width: 100%; }
  .application-form #ApplicationForm .professionalReferences .groupLabel {
    width: 30% !important;
    margin: 1.5rem 0;
    font-size: 15px;
    font-size: clamp(11px, 0.78vw, 15px); }
    @media screen and (max-width: 1350px) {
      .application-form #ApplicationForm .professionalReferences .groupLabel {
        width: 40% !important; } }
    @media screen and (max-width: 640px) {
      .application-form #ApplicationForm .professionalReferences .groupLabel {
        width: 40% !important;
        margin: 1rem 0; } }
    @media screen and (max-width: 480px) {
      .application-form #ApplicationForm .professionalReferences .groupLabel {
        width: 100% !important;
        margin: 15px 0; } }
    .application-form #ApplicationForm .professionalReferences .groupLabel::before {
      width: 1em;
      height: 1em;
      left: 0; }
  .application-form #ApplicationForm .formControls {
    margin-top: 30px; }
    .application-form #ApplicationForm .formControls button {
      width: 100%;
      max-width: 365px;
      background: #7d0914;
      font-size: 21px;
      font-weight: bold;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media screen and (max-width: 1280px) {
        .application-form #ApplicationForm .formControls button {
          font-size: 16px; } }
      @media screen and (max-width: 640px) {
        .application-form #ApplicationForm .formControls button {
          max-width: 320px; } }
      .application-form #ApplicationForm .formControls button:hover {
        background: #000; }
    @media screen and (max-width: 1000px) {
      .application-form #ApplicationForm .formControls {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
        .application-form #ApplicationForm .formControls button {
          display: block;
          margin: 10px auto;
          -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          transform: rotate(180deg); } }

#ApplicationForm label sup,
#ApplicationForm legend sup {
  color: #28b78d !important; }

#ApplicationForm select[data-untouched] {
  color: #fff; }

#ApplicationForm .submitButton,
#ApplicationForm .submitButton[disabled] {
  width: 320px;
  max-width: 100%;
  background: #28b78d;
  color: #fff !important;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-filter: none !important;
  filter: none !important; }
  #ApplicationForm .submitButton:hover,
  #ApplicationForm .submitButton[disabled]:hover {
    background: #000; }

@media screen and (max-width: 1100px) {
  #ApplicationForm .formPageHeader {
    margin-top: 50px; } }

@media screen and (max-width: 660px) {
  #ApplicationForm .formPageHeader {
    margin-top: 0; } }

#ApplicationForm #References .formPageHeader {
  margin-top: 20px; }

@media screen and (max-width: 660px) {
  .application-form #ApplicationForm .formControls button.nexstPage {
    margin-bottom: 10px; } }

#ApplicationForm .nextPage::after {
  background-image: url("/Content/images/icons/arrow-right.png");
  background-size: contain;
  width: 22px;
  height: 19px;
  background-position: center;
  right: 30px !important;
  top: 50%;
  bottom: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: none !important;
  animation: none !important; }

#ApplicationForm .prevPage::after {
  background-image: url("/Content/images/icons/arrow-left.png");
  background-size: contain;
  width: 22px;
  height: 19px;
  background-position: center;
  left: 30px !important;
  top: 50%;
  bottom: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: none !important;
  animation: none !important; }

@media screen and (max-width: 1350px) {
  #ApplicationForm #JobOpportunity label,
  #ApplicationForm #EmploymentEligibility label {
    line-height: 1.5; }
    #ApplicationForm #JobOpportunity label sup,
    #ApplicationForm #EmploymentEligibility label sup {
      vertical-align: top;
      top: initial;
      line-height: 1; } }

#ApplicationForm sup.positionApplied {
  vertical-align: top;
  top: initial;
  line-height: 1; }

#ApplicationForm .EmployeePreference {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  #ApplicationForm .EmployeePreference > div {
    width: 200px; }
    @media screen and (max-width: 1500px) {
      #ApplicationForm .EmployeePreference > div {
        width: 130px; } }
    @media screen and (max-width: 640px) {
      #ApplicationForm .EmployeePreference > div {
        width: 110px; }
        #ApplicationForm .EmployeePreference > div:first-of-type {
          margin-bottom: 15px; } }

#ApplicationForm label.error::before {
  display: none; }

@media screen and (max-width: 1350px) {
  #ApplicationForm .formPage label.error {
    width: 100%;
    top: 35px;
    position: relative;
    top: auto !important; }
    #ApplicationForm .formPage label.error::after {
      display: none; } }

@media screen and (max-width: 480px) {
  #ApplicationForm .formPage label.error {
    width: 190px; } }

#ApplicationForm .employeeElibility .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #ApplicationForm .employeeElibility .row .valWrap label {
    font-size: 15px;
    font-size: clamp(11px, 0.78vw, 15px); }
  #ApplicationForm .employeeElibility .row > * {
    display: block;
    width: calc(100% / 2) !important; }

label.uploadContent {
  position: relative;
  display: block;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 0;
  padding: 0 5px 10px;
  width: 100% !important;
  border-bottom: 2px solid #fff; }
  label.uploadContent span {
    display: block;
    font-size: 14px;
    font-weight: 400; }

.imgUploadSection p {
  font-weight: bold;
  color: #fff; }

.upload {
  position: relative;
  width: 235px;
  margin: 20px 0;
  background: transparent;
  padding: 15px;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  border: 2px solid #fff;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 15px 15px 15px 100px;
  background: url("/Content/images/icons/UploadFileIcon.png") no-repeat;
  background-size: 30px;
  background-position: 15px center; }
  @media screen and (max-width: 640px) {
    .upload {
      margin: 20px auto; } }
  .upload:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 70px;
    display: inline-block;
    width: 2px;
    height: 37px;
    background: #fff;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
  .upload:hover {
    border-color: #2c2c2c; }
    .upload:hover::after {
      background: #2c2c2c; }

.fileUploadWrap {
  position: relative;
  text-align: left; }
  .fileUploadWrap input {
    position: absolute;
    visibility: hidden; }
  .fileUploadWrap label {
    cursor: pointer;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100% !important;
    margin: 10px 0 !important;
    padding: 10px !important;
    border: solid 2px #2c2c2c;
    min-height: 35px;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .fileUploadWrap label .filePreview {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 50px;
      height: 50px;
      background: transparent; }
      .fileUploadWrap label .filePreview img {
        max-width: 100%;
        max-height: 100%;
        margin: auto; }
    .fileUploadWrap label .fileName {
      display: table-cell;
      width: calc(100% - 50px);
      padding: 0 15px !important;
      font-size: 15px !important;
      vertical-align: middle; }

.removeButton {
  pointer-events: all;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  right: 1px;
  top: 1px;
  padding: 2px 10px;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer; }

.mb-50 {
  margin-bottom: 50px; }

#ApplicationForm .formPage input,
#ApplicationForm .formPage select,
#ApplicationForm .formPage textarea {
  color: #888888;
  font-weight: 400;
  padding: 10px !important;
  margin: 0;
  font-size: 16px;
  border: solid 1px #888;
  display: block;
  width: 100% !important; }
  #ApplicationForm .formPage input#DesiredSalary,
  #ApplicationForm .formPage select#DesiredSalary,
  #ApplicationForm .formPage textarea#DesiredSalary {
    margin-left: 30px;
    width: calc(100% - 30px) !important; }
    @media screen and (max-width: 1350px) {
      #ApplicationForm .formPage input#DesiredSalary,
      #ApplicationForm .formPage select#DesiredSalary,
      #ApplicationForm .formPage textarea#DesiredSalary {
        margin-left: 20px;
        width: calc(100% - 20px) !important; } }

#ApplicationForm .formPage, #ApplicationForm .formPage:not(.applicantInfo), #ApplicationForm .flex-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 600px;
  width: 100%; }
  #ApplicationForm .formPage label, #ApplicationForm .formPage:not(.applicantInfo) label, #ApplicationForm .flex-items label {
    display: block;
    width: 100%;
    margin: 0 0 5px 0;
    padding: 0; }
    #ApplicationForm .formPage label sup, #ApplicationForm .formPage:not(.applicantInfo) label sup, #ApplicationForm .flex-items label sup {
      top: 0; }
  #ApplicationForm .formPage input, #ApplicationForm .formPage:not(.applicantInfo) input, #ApplicationForm .flex-items input {
    min-height: 0 !important; }
  #ApplicationForm .formPage .formPageHeader, #ApplicationForm .formPage:not(.applicantInfo) .formPageHeader, #ApplicationForm .flex-items .formPageHeader {
    width: 100%; }
  #ApplicationForm .formPage .valWrap, #ApplicationForm .formPage:not(.applicantInfo) .valWrap, #ApplicationForm .flex-items .valWrap {
    display: inline-block;
    width: 100%;
    margin: 10px 0; }
    #ApplicationForm .formPage .valWrap.half-field, #ApplicationForm .formPage:not(.applicantInfo) .valWrap.half-field, #ApplicationForm .flex-items .valWrap.half-field {
      width: calc(50% - 10px); }
      @media screen and (max-width: 550px) {
        #ApplicationForm .formPage .valWrap.half-field, #ApplicationForm .formPage:not(.applicantInfo) .valWrap.half-field, #ApplicationForm .flex-items .valWrap.half-field {
          width: 100%; } }
    #ApplicationForm .formPage .valWrap .moneyIcon, #ApplicationForm .formPage:not(.applicantInfo) .valWrap .moneyIcon, #ApplicationForm .flex-items .valWrap .moneyIcon {
      position: absolute;
      left: 0;
      top: 27px;
      margin: 0 !important; }
    #ApplicationForm .formPage .valWrap .spinnerReplace, #ApplicationForm .formPage:not(.applicantInfo) .valWrap .spinnerReplace, #ApplicationForm .flex-items .valWrap .spinnerReplace {
      position: absolute;
      right: 0;
      top: 23px;
      width: 35px; }
      @media screen and (max-width: 1350px) {
        #ApplicationForm .formPage .valWrap .spinnerReplace, #ApplicationForm .formPage:not(.applicantInfo) .valWrap .spinnerReplace, #ApplicationForm .flex-items .valWrap .spinnerReplace {
          top: 27px; } }
      @media screen and (max-width: 1350px) {
        #ApplicationForm .formPage .valWrap .spinnerReplace, #ApplicationForm .formPage:not(.applicantInfo) .valWrap .spinnerReplace, #ApplicationForm .flex-items .valWrap .spinnerReplace {
          top: 24px; } }
    #ApplicationForm .formPage .valWrap .calendarIcon, #ApplicationForm .formPage:not(.applicantInfo) .valWrap .calendarIcon, #ApplicationForm .flex-items .valWrap .calendarIcon {
      display: none; }
    #ApplicationForm .formPage .valWrap label.error, #ApplicationForm .formPage:not(.applicantInfo) .valWrap label.error, #ApplicationForm .flex-items .valWrap label.error {
      top: 24px;
      -webkit-transform: translate(0);
      -ms-transform: translate(0);
      transform: translate(0); }
      @media screen and (min-width: 1351px) {
        #ApplicationForm .formPage .valWrap label.error, #ApplicationForm .formPage:not(.applicantInfo) .valWrap label.error, #ApplicationForm .flex-items .valWrap label.error {
          width: 100px;
          padding: 5px; } }
    #ApplicationForm .formPage .valWrap.learn-items input[type="checkbox"] + label:not(.error), #ApplicationForm .formPage:not(.applicantInfo) .valWrap.learn-items input[type="checkbox"] + label:not(.error), #ApplicationForm .flex-items .valWrap.learn-items input[type="checkbox"] + label:not(.error) {
      width: 100% !important;
      margin: 5px 0; }
    #ApplicationForm .formPage .valWrap.start-end, #ApplicationForm .formPage:not(.applicantInfo) .valWrap.start-end, #ApplicationForm .flex-items .valWrap.start-end {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #ApplicationForm .formPage .valWrap.start-end input, #ApplicationForm .formPage:not(.applicantInfo) .valWrap.start-end input, #ApplicationForm .flex-items .valWrap.start-end input {
        width: calc(50% - 20px) !important; }
      #ApplicationForm .formPage .valWrap.start-end span, #ApplicationForm .formPage:not(.applicantInfo) .valWrap.start-end span, #ApplicationForm .flex-items .valWrap.start-end span {
        width: 20px; }

#ApplicationForm #Phone, #ApplicationForm #DateAvailable,
#ApplicationForm #Email, .formPage:not(.applicantInfo) input {
  width: 100%; }

#ApplicationForm #References label[for^="ReferenceEmail"], #ApplicationForm #DigitalSignature label:not(.error) {
  padding: 0; }

#ApplicationForm #DigitalSignature label[for="ESignature"] {
  width: 100%; }

#ApplicationForm #DigitalSignature label[for="TodaysDate"] sup, #ApplicationForm #DigitalSignature label[for="ESignature"] sup {
  top: auto;
  right: auto; }

#ApplicationForm input[type="radio"] + label:not(.error), #ApplicationForm input[type="checkbox"] + label:not(.error) {
  padding-left: 25px;
  white-space: nowrap; }
  #ApplicationForm input[type="radio"] + label:not(.error):first-of-type, #ApplicationForm input[type="checkbox"] + label:not(.error):first-of-type {
    margin-left: 0; }
  #ApplicationForm input[type="radio"] + label:not(.error):before, #ApplicationForm input[type="checkbox"] + label:not(.error):before {
    width: 17px;
    height: 17px;
    left: 0;
    bottom: auto; }
  #ApplicationForm input[type="radio"] + label:not(.error):after, #ApplicationForm input[type="checkbox"] + label:not(.error):after {
    color: #28b78d; }

@media screen and (max-width: 1350px) {
  #ApplicationForm label#Position-error {
    bottom: auto !important;
    top: initial; } }

#ApplicationForm .formProgressPart {
  color: #28b78d; }

#ApplicationForm .calendarIcon {
  background-image: url("/Content/images/icons/calender-icon.png") !important;
  background-repeat: no-repeat;
  background-size: 35%;
  background-position: center center; }

@media screen and (max-width: 660px) {
  #ApplicationForm label[for="DateAvailable"] sup {
    right: auto; } }

@media screen and (max-width: 660px) {
  #ApplicationForm .formControls .prevPage {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    height: 64px; } }

.js-imgUploadPreviews {
  width: 100%; }

.spaceless {
  width: 100% !important; }

#ApplicationForm select {
  background-position: top -152px right -69px; }

.js-formMessage {
  background-color: #fff;
  color: #911e29;
  padding: 15px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  text-align: center; }
