/* CONTACT FORM */

input {
  font-size: 1em;
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1px solid black;
  background: none;
  vertical-align: middle;
  color: #CCCCCC;
}


input:focus {
  outline: none !important;
  border-bottom: 1px solid #ffe400;

}

textarea {
  color: #ffe512;
  background: transparent;
  width: 100%;
  padding: 0.25em;
  font-size: 1em;
  line-height: 1.3;
  /*margin-bottom: 1em;*/
  border-color: #cccccc;
  resize: none;
  overflow: auto;
  max-width: 100%;
  max-height: 5em;
}

textarea:focus {
  border-color: #cccccc;
  outline: none;
}
/* LABEL ======================================= */

label {
  color: black;
  font-size: 0.8em;
  font-weight: normal;
  position: relative;
  pointer-events:auto;
  left: 0px;
  text-align: left;
  top: -1.5625em!important;
  transition: 0.2s ease all;
  padding-top: 0.1875em;
  /* Added because of AECOM Sans baseline */
  padding-bottom: 1.25em;
  text-transform: uppercase;
}
/* active state */

input:focus~label{
  position: relative;
  top: -4.5em!important;
  font-size: 0.7em;
  color: #ffe400;
}

.inputup {
  position: relative;
  top: -3.75em!important;
  font-size: 1em;
  color: rgba(255, 255, 255, 1);
}

textarea:focus~label {
  color: #cccccc;
}

/* removes Keyboard border/focus styling */
/* BOTTOM BARS ================================= */

.bar {
  position: relative;
  display: block;
  width: 100%;
}

.bar:before,
.bar:after {
  content: '';
  height: 3px;
  width: 0;
  bottom: 1px;
  position: absolute;
  background: #ffe400;
  transition: 0.2s ease all;
}

.bar:before {
  left: 50%;
}

.bar:after {
  right: 50%;
}
/* active state */

input:focus~.bar:before,
input:focus~.bar:after {
  width: 50%;
}
/* HIGHLIGHTER ================================== */

.highlight {
  position: absolute;
  height: 60%;
  width: 100px;
  top: 45%;
  left: 0;
  pointer-events: none;
  opacity: 0.5;
}
/* active state */

input:focus~.highlight {
  animation: inputHighlighter 0.3s ease;
}


.group {
  margin-top: 0.7em;
}
/* FORM SUBMISSION */

.overlay__content.active {
  width: 5em;
  height: 5em;
  border-radius: 50%;
  transition: .5s;
  transition-timing-function: cubic-bezier(.4, 0, .5, 1);
}


#subscribe-form {
    margin-top: 30px;
}

#subscribe-form .hs-form {
    display: flex;
    margin-top: 20px;
}

#subscribe-form .hs-form-field {
    flex: 1 0 auto;
    margin-right: 10px;
}

#subscribe-form label {
    color: #999;
}

#subscribe-form .input {
    margin-right: 0;
}

#subscribe-form .hs-input {
    width: 100%;
    color: #fff;
}

#subscribe-form .hs-button.primary.large {
    min-width: 0;
}

/* .group equivalent */
.hs-form-field {
    margin-top: 0;
    margin-bottom: 40px;
    position: relative;
}

/* Textarea override for bottom margin as space not required for error */
.hs_message {
    margin-bottom: 20px;
}

/* Reduce bottom margin for checkbox */
.hs_i_would_like_to_download {
    margin-bottom: 15px;
}

.hs-input {
    color: #999;
    /*padding: 10px 10px 10px 5px;*/
    padding: 5px 0;
    border: none;
    border-bottom: 1px solid #999;
    display: block;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 16px;
}

/*
.hs-input, .hs-input:focus {
    color: #333;
    border-bottom: 1px solid #999;
}
*/

.hs-form-field label {
    position: absolute;
    top: 10px !important;
    left: 0;
    padding: 0;
    color: #282727;
    font-family: 'aecom_sanslight', Helvetica, Arial;
}

.hs-form-booleancheckbox label {
    position: relative;
    top: 0 !important;
    left: 0;
    text-transform: none;
}

.hs-form-booleancheckbox input {
    width: auto;
    float: left;
    margin-right: 5px;
}

/* override submit button */
.hs-button.primary.large {
  min-width:200px;
  color:black;
  font-family: 'aecom_sansbold';
  text-transform: uppercase;
  background-color: #ffe400;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 8px;
  font-family: 'aecom_sansbold';
  font-size: 1.1rem;
  border: none;
  border-radius: 40px;
}

/* override input focus */
.input--focused label, .input--has-value label {
    position: absolute;
    top: -12px !important;
    /*font-size: 0.75em;*/
    font-size: 12px;
    /*color: #ffe400;*/
}

.hs-form-field:not(.hs_i_would_like_to_download)::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #ffe400;
    transform-origin: 50%;
    transform: scaleX(.25);
    visibility: hidden;
    opacity: 0;
    transition: background-color .3s cubic-bezier(.55,0,.55,.2);
}

.hs-form-field.input--focused::after, .hs-form-field.input--has-value::after {
    visibility: visible;
    opacity: 1;
    transform: scaleX(1);
    transition: transform .3s cubic-bezier(.25,.8,.25,1), opacity .1s cubic-bezier(.25,.8,.25,1), background-color .3s cubic-bezier(.25,.8,.25,1);
}

.hs-input.error {
    position: relative;
    width: 100%;
    top: 0;
    right: 0;
    font-size: 12px;
}

.inputs-list {
    position: absolute;
    padding: 0;
    margin: 0;
    list-style: none;
    line-height: 1;
}

/* error msg to complete ALL required fields, putting back into flow */
.hs_error_rollup .inputs-list {
    position: relative;
    margin-bottom: 5px;
}

.hs_i_would_like_to_download .inputs-list {
    position: relative;
}

.inputs-list li {
    margin: 5px 0 0;
}

.hs-error-msgs label {
    position: relative;
    top: 0 !important;
    text-transform: none;
    color: red !important;
}

.hs-form-field.input--invalid label {
    color: red !important;
}

.hs-form-field.input--invalid input {
    border-bottom-color: red !important;
}

.hs-form-field.input--invalid::after {
    background-color: red !important;
}

.Bench input{
  font-size: .8em;
  padding:5px;
}

.Bench .hs_i_would_like_to_download
{
  margin-bottom: 10px
}

.Bench .hs_i_would_like_to_download ul
{
  line-height: 1
}


/* === EMAIL CAPTURE LEAD FLOW OVERRIDES */
.leadin-content-body h4 {
    font-family: 'aecom_sansbold', Helvetica, Arial;
}

.leadin-input-wrapper input {
    background: #fff;
}

@media screen and (min-width: 321px) and (max-width: 640px) {
    .hs-input {
        font-size: 14px;
    }
}

@media screen and (max-width: 320px) {
    .hs-input {
        font-size: 14px;
    }
}
