/* -------------------------------------------- Start fixed widths ----------------------------------------------------- */

input[type="text"], input[type="email"], input[type="number"], input[type="tel"], textarea, input[list], select {
    width:100%;
}

.fw-2 {
    max-width: 3em;
    width: 100%;
}
.fw-4 {
    max-width: 4em;
    width: 100%;
}
.fw-6 {
    max-width: 6em;
    width: 100%;
}
.fw-8 {
    max-width: 8em;
    width: 100%;
}
.fw-10 {
    max-width: 10em;
    width: 100%;
}
.fw-15 {
    max-width: 15em;
    width: 100%;
}
.fw-20 {
    max-width: 20em;
    width: 100%;
}
.fw-25 {
    max-width: 25em;
    width: 100%;
}
.fw-30 {
    max-width: 30em;
    width: 100%;
}
.fw-35 {
    max-width: 35em;
    width: 100%;
}
.fw-40 {
    max-width: 40em;
    width: 100%;
}
.fw-50 {
    max-width: 50em;
    width: 100%;
}

/* -------------------------------------------- End fixed widths ----------------------------------------------------- */

/* -------------------------------------------- start fieldset ----------------------------------------------------- */

.ns-fieldset {
    margin-bottom: 20px;
}
.ns-fieldset:after {
    content: "";
    display: block;
    clear: both;
}
@media (min-width: 40.0625em) {
    .ns-fieldset {
        margin-bottom: 30px;
    }
}
.ns-fieldset .ns-fieldset:last-of-type {
    margin-bottom: 0;
}
.ns-fieldset__heading {
    margin: 0;
}
/* -------------------------------------------- end fieldset ----------------------------------------------------- */

/* -------------------------------------------- start form group ----------------------------------------------------- */

.ns-form-group {
    margin-bottom: 20px;
}
.ns-form-group:after {
    content: "";
    display: block;
    clear: both;
}
@media (min-width: 40.0625em) {
    .ns-form-group {
        margin-bottom: 30px;
    }
}
.ns-form-group .ns-form-group:last-of-type {
    margin-bottom: 0;
}
.ns-form-group--error {
    padding-left: 15px;
    border-left: 5px solid #d4351c;
}
.ns-form-group--error .ns-form-group {
    padding: 0;
    border: 0;
}

.ns-form-group-message-error {
    padding-left: 15px;
    border-left: 5px solid #a94442;
}

.ns-form-group-message-warning {
    padding-left: 15px;
    border-left: 5px solid #8a6d3b;
}

/* -------------------------------------------- end form group ----------------------------------------------------- */

/* -------------------------------------------- start legend ----------------------------------------------------- */
legend{
	margin-bottom: 0.5em;
}
legend.label{
    margin-bottom: 1;
    font-size: 1em;
    line-height: inherit;
    color: inherit;
    font-weight: 600;
	border-bottom: 0;
	color: #444;
	font-family: "open_sansbold",Helvetica,Arial,Tahoma,sans-serif;
}

legend.noBorder{
	border-bottom: 0 !important;
}

legend.label .ns-fieldset__heading{
	font-size: inherit;
    font-weight: inherit;
}

/* -------------------------------------------- end legend ----------------------------------------------------- */

/* -------------------------------------------- start label ----------------------------------------------------- */
.ns-label-wrapper {
    margin: 0;
}
h1.ns-label-wrapper .ns-label, h2.ns-label-wrapper .ns-label, h3.ns-label-wrapper .ns-label, h4.ns-label-wrapper .ns-label, h5.ns-label-wrapper .ns-label{
	font-family: "open_sansregular",Helvetica,Arial,Tahoma,sans-serif;
    font-weight: 400;
	margin-bottom: .5em;
}

label.ns-label{
	font-family: "open_sansbold",Helvetica,Arial,Tahoma,sans-serif;
	font-weight: 400;
}

.ns-label.noBold{
	font-family: "open_sansregular",Helvetica,Arial,Tahoma,sans-serif;
	font-weight: normal;
}

.ns-label-span {
    padding: 0px 15px;
    position: relative;
    left: -15px;
	flex: 1 1 auto;
	font-size: 1rem;
}

/* -------------------------------------------- end label ----------------------------------------------------- */

/* -------------------------------------------- start form hint ----------------------------------------------------- */
.ns-hint {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  margin-bottom: 15px; }
  
.ns-fieldset__legend + .ns-hint, .ns-label-wrapper + .ns-hint {
    margin-top: -0.5em;
} 

/* -------------------------------------------- end form hint ----------------------------------------------------- */



/* -------------------------------------------- start fieldset error ----------------------------------------------------- */

.ns-fieldset-message-error {
    padding-left: 15px;
    border-left: 5px solid #a94442;
}
.ns-fieldset-message-warning {
    padding-left: 15px;
    border-left: 5px solid #8a6d3b;
}

.ns-fieldset--error .ns-fieldset {
    padding: 0;
    border: 0;
}
.ns--message {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.25;
    display: block;
    margin-bottom: 15px;
    clear: both;
}
.ns-error-message {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.25;
    display: block;
    margin-bottom: 15px;
    clear: both;
    color: #a94442;
}
.ns-warning-message {
    color: #8a6d3b;
}
.ns-error-indicator{
    color: #a94442;
}
input[type="text"].ns-input--error, input[type="email"].ns-input--error, input[type="number"].ns-input--error, input[type="tel"].ns-input--error, textarea.ns-input--error, input[list].ns-input--error {
    border: 2px solid #a94442;
}

.ns-error-link{
	text-decoration: underline;
	color: #a94442;
}
/* -------------------------------------------- end fieldset error ----------------------------------------------------- */