/*
Input box

Input box from trimble css

Markup:
<div class="input-group">
    <label>Normal input</label>
    <input class="icon user" type="text" placeholder="First Name">
</div>
<div class="input-group">
    <label>Input with focus</label>
    <input class="icon user focus" type="text" placeholder="First Name">
</div>
<div class="input-group">
    <label>Input with error</label>
    <input class="icon user error" type="text" placeholder="First Name">
</div>
<div class="input-group">
    <label>Input without icon</label>
    <input class="" type="text" placeholder="Without icon">
</div>

Styleguide Form Elements.input
*/
/*
Select box

Select box from trimble css

Markup:
<select>
    <option value="">All Users</option>
    <option value="">Pod 3</option>
    <option value="">Architects</option>
    <option value="">Engineers</option>
    <option value="">Surveyors</option>
</select>

Styleguide Form Elements.select
*/
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

h1 {
  margin: 1rem 0;
  font-size: 1.5rem;
  font-weight: 300;
}

h2 {
  font-size: 1.25rem;
}

h3 {
  font-size: 1rem;
}

h4, p {
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
}

h5 {
  font-size: 0.75rem;
}

h4 {
  font-weight: 600;
}

/* @import url('https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800'); */
/* @mixin border-radius{
  border-radius: 2px;
} */
/* box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2); */
.end {
  display: flex;
  justify-content: flex-end;
}

.align-center {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}

/*
Input box with floating label

Floating label styles from trimble css

Markup:
<div class="input-group">
    <input class="icon user" type="text" required/>
    <label class="label float">First Name</label>
</div>

Styleguide Form Elements.Floating label
*/
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

h1 {
  margin: 1rem 0;
  font-size: 1.5rem;
  font-weight: 300;
}

h2 {
  font-size: 1.25rem;
}

h3 {
  font-size: 1rem;
}

h4, p {
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
}

h5 {
  font-size: 0.75rem;
}

h4 {
  font-weight: 600;
}

/* @import url('https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800'); */
/* @mixin border-radius{
  border-radius: 2px;
} */
/* box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2); */
.end {
  display: flex;
  justify-content: flex-end;
}

.align-center {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}

input:focus ~ .label.float, input:valid ~ .label.float, select:focus ~ .label.float, select:valid ~ .label.float {
  top: -1.3125rem;
  left: 0;
  font-size: 0.75rem;
  font-style: normal;
}

.error-message {
  color: #C81922;
  font-size: .75rem;
}

input[type="text"], input[type="email"], input[type="password"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.813rem;
  padding: 0 1rem;
  border: solid 1px #EAEAEF;
  background-color: #FFFFFF;
  font-size: 1rem;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  padding: 0 1rem;
}

input[type="text"]:focus, input[type="text"].focus, input[type="email"]:focus, input[type="email"].focus, input[type="password"]:focus, input[type="password"].focus {
  outline: none;
  background-color: #FFFFFF;
  border-bottom: solid 2px #009AD9;
}

input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="password"]::placeholder {
  color: #9D9DA6;
  font-style: italic;
}

input[type="text"].error, input[type="email"].error, input[type="password"].error {
  outline: none;
  background-color: #FFFFFF;
  border-bottom: solid 2px #C81922;
}

input[type="text"].icon, input[type="email"].icon, input[type="password"].icon {
  padding: 0 1rem 0 3.5rem;
  background-repeat: no-repeat;
  background-position: 0.25rem center;
}

input[type="text"].user, input[type="email"].user, input[type="password"].user {
  background-image: url("../images/Icons/user_default.svg");
}

input[type="text"].email, input[type="email"].email, input[type="password"].email {
  background-image: url("../images/Icons/email.svg");
}

input[type="text"].phone, input[type="email"].phone, input[type="password"].phone {
  background-image: url("../images/Icons/phone.svg");
}

input[type="text"].location, input[type="email"].location, input[type="password"].location {
  background-image: url("../images/Icons/location.svg");
}

select {
  width: 100%;
  border: solid 1px #EAEAEF;
  height: 2.813rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
  background-color: #FFFFFF;
  font-size: 1rem;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  /* color:$col_gray_5;    */
}

select:focus {
  outline: none;
  background-color: #FFFFFF;
}

select::placeholder {
  color: #9D9DA6;
  font-style: italic;
}

select.error {
  border: solid 1px #C81922;
}

.input-group {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 2rem;
  position: relative;
}

.input-group.last-child {
  margin-bottom: 0;
}

.input-group .error-message {
  color: #C81922;
  font-size: .75rem;
  flex: 1;
}

.input-group label {
  font-size: 0.75rem;
  color: #8C8B96;
  margin-bottom: 0.2143rem;
}

.input-group .label {
  font-size: 0.75rem;
  color: #8C8B96;
  margin-bottom: 0.2143rem;
  top: -1.3125rem;
  left: 0;
  font-size: 12px;
  position: absolute;
  pointer-events: none;
}

.input-group .label.float {
  font-size: 1rem;
  font-style: italic;
  left: 3.5rem;
  top: 0.625rem;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -webkit-transition: 0.2s ease all;
}

.input-group .label.no-icon {
  left: 1rem;
}

.input-group-add {
  display: flex;
  flex: 1 0 100%;
}

.input-group-label {
  display: block;
}

label {
  color: #6A6976;
}

.prefix-label {
  text-align: center;
  width: 30%;
  line-height: 2.813rem;
  font-size: 16px;
  color: #6A6976;
}

.input-group.prefix input {
  width: 20%;
}

.input-group.prefix label.float {
  left: 31%;
}

div.error, span.error {
  color: #C81922;
  display: block;
  width: 100%;
  font-size: 80%;
}

div.error.padding-bottom, span.error.padding-bottom {
  padding-bottom: 1rem;
}

div.success, span.success {
  color: #5E9331;
  display: block;
  width: 100%;
  font-size: 80%;
}

div.success.padding-bottom, span.success.padding-bottom {
  padding-bottom: 1rem;
}
