#IO-Forms .email_required {
  color: #a3131d;
}

#IO-Forms .required-field:after {
  content: "*";
  color: #ea6262;
  font-size: 110%;
  position: absolute;
  top: 1px;
  right: -8px;
}

#IO-Forms #signup-loading {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  margin: auto;
  font-size: 100px;
  z-index: 100;
  opacity: 0.25;
  width: 100px;
}

#IO-Forms .form-group select ~ label {
  top: -1rem;
  font-size: 100%;
  line-height: 1em;
  transform-origin: left;
}

#IO-Forms .form-group select {
  padding-top: 10px !important;
}

#IO-Forms .form-group label{
  top:-3px;
}

#IO-Forms .form-group select ~ label{
  top: -2px;
}

#IO-Forms .form-group .select-wrapper{
  margin-bottom:10px !important;
}

#IO-Forms .form-group .optionbox {
  margin-top: 21px;
  overflow: visible;
}

#IO-Forms .form-group .optLabel label {
    margin-right: 10px;
}

#IO-Forms .form-group input:focus ~ label, 
#IO-Forms .form-group select:focus ~ label, 
#IO-Forms .form-group input.used ~ label, 
#IO-Forms .form-group select.used ~ label {
  top: -2px;
}

#IO-Forms input#optIn:focus {
  border: 2px solid #4a89dc !important;
}

#IO-Forms .form-group {
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 0;
  min-height: 65px;
}

#IO-Forms .form-group input {
  font-size: 1.2em;
  padding: 10px 10px 10px 5px;
  -webkit-appearance: none;
  display: block;
  color: #000;
  border: none;
  background-color: transparent !important;
  border-bottom: 1px solid #757575;
}

#IO-Forms .form-group input:focus,
#IO-Forms .form-group select:focus {
  outline: none;
  background: none;
  background-color: transparent !important
}

#IO-Forms .form-group label {
  color: #545454;
  font-weight: normal;
  position: absolute;
  pointer-events: none;
  background: none;
  background-color: transparent !important;
  left: 0;
  top: 0;
  transition: all .2s ease;
}

#IO-Forms .form-group select ~ label {
  font-size: 80%;
  line-height: 1em;
  transform-origin: left;
}

#IO-Forms .form-group input:focus~label,
#IO-Forms .form-group select:focus~label,
#IO-Forms .form-group input.used~label,
#IO-Forms .form-group select.used~label {
  top: -20px;
  transform: scale(0.75);
  transform-origin: 0;
  left: 0;
  font-size: 1.2rem;
  color: #4a89dc;
  background-color: transparent !important;
}

#IO-Forms .form-group .bar {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 1px;
}

#IO-Forms .form-group .bar:before,
#IO-Forms .form-group .bar:after {
  content: "" !important;
  height: 2px !important;
  width: 0;
  bottom: 1px !important;
  position: absolute !important;
  background: #4a89dc;
  transition: all .2s ease;
}

#IO-Forms .form-group .bar:before {
  left: 50%;
}

#IO-Forms .form-group .bar:after {
  right: 50%;
}

#IO-Forms .form-group input:focus~.bar:before,
#IO-Forms .form-group input:focus~.bar:after,
#IO-Forms .form-group select:focus~.bar:before,
#IO-Forms .form-group select:focus~.bar:after {
  width: 50%;
}

#IO-Forms .form-group input:focus~.highlight,
#IO-Forms .form-group select:focus~.highlight {
  animation: inputHighlighter .3s ease;
}

#IO-Forms input[type=checkbox] {
  font-size: 16px;
  position: relative;
  border: 1px solid #262626;
  display: inline-block;
  line-height: 1em;
  margin: 0;
  padding: 0;
  width: 1em;
  height: 1em;
  vertical-align: text-top;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.1) inset 0 0 1px rgba(255,255,255,.4);
  -webkit-border-radius: 3px;
  scale: 2
}

#IO-Forms input::-ms-check {
  background: transparent;
}

#IO-Forms .form-group.optionbox {
  margin-top: 21px;
  overflow: visible;
}

#IO-Forms .form-group .optLabel label {
    margin-right: 20px;
}

#IO-Forms input#optIn {
  zoom:2!important;-ms-zoom:2 !important;margin-top: 0px;
  background-color: #fff !important;
  border: 1px solid #888 !important;
  padding: 0 !important;
  border-radius: 0;
}

#IO-Forms .optLabel label {
  top: -2px;
  margin-left: 50px;
  line-height: 1em;
}

#IO-Forms .optCheck {
  display: inline-block;
  margin-right: .5em;
  float: left;
}

#IO-Forms input[type=checkbox]:checked::after {
  position: absolute;
  content: "";
  left: 15%;
  top: -5%;
  height: 50%;
  width: 120%;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
  -webkit-box-shadow: -1px 1px 1px rgb(0 0 0 / 80%);
  -webkit-transform: rotate(-45deg);
}

@keyframes inputHighlighter {
  from {
      background: #4a89dc;
  }
  to {
      width: 0;
      background: transparent;
  }
}

#IO-Forms input[type=text],
#IO-Forms input[type=email] {
  width: 100%;
  padding: 5px 0 0 0;
  font-size: 1.25em;
  border: none;
  border-bottom: 1px solid #888;
  border-radius: 0 !important;
}

#IO-Forms select {
  width: 100%;
  padding: 10px 0 6px 0 !important;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #888;
  background-color: transparent;
}

#Newsletter-Floater {
  z-index: 2000;
  position: fixed;
  bottom: 0px;
  right: 75px;
  padding: 5px;
  border-radius: 5px;
  margin-top: 10px;
  display: none;
}

#Newsletter-Floater .floating-signup {
  position: relative;
  background: #fff;
  border-radius: 5px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(13,26,44,.16),0 15px 25px rgba(13,26,44,.24);
  margin: 1em 0em;
  line-height: 1.6em;
  width: 348px;
}

#Newsletter-Floater .email_required {
  display: inline-block;
  font-size: 0.8rem;
}

#Newsletter-Floater #Close-Hide, #Newsletter-Floater #Close-Submitted {
  position: absolute;
  top: 4px;
  right: 8px;
  font-size: 140%;
  color: #e52d27;
  cursor: pointer;
}

#Newsletter-Floater #form-instructions, 
#Newsletter-Floater #form-instructions > div {
  padding: 0 0 0.4rem 0 !important;
  font-size:0.90rem;
  line-height: 1;
}
#Newsletter-Floater .form-group{
  margin-top:0 !important;
  font-size:80% !important;
}
#Newsletter-Floater button[type=submit]{
  width:100% !important;
}
#Newsletter-Floater .form-group .optLabel label {
  margin-right: 10px;
  margin-left: 40px;
}
#Newsletter-Floater #IO-Forms input#optIn {
  margin-top: -4px;
}