/* Forms
-------------------------------------------------- */

/* Force form elements to inherit font styles */
input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Stretch inputs/textareas to full width and add height to maintain a consistent baseline */
select,
textarea,
input[type="text"],
input[type="search"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="color"],

.input-group {
  width: 100%;
  height: 40px;
  padding: 10px;
  margin-bottom: 10px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: 3px;
  box-shadow: 0 1px 1px rgba(255, 255, 255, .2), inset 0 1px 1px rgba(0, 0, 0, .1);
  -webkit-appearance: none;
  box-sizing: border-box;
  outline: none;
}

/* Fully round search input */
input[type=search] {
  height: 34px;
  font-size: 14px;
  border-radius: 30px;
}

/* Allow text area's height to grow larger than a normal input */
textarea {
  height: auto;
}

/* Style select button to look like part of the Ratchet's style */
select {
     position: relative;  
     display: inline-block;  
     *display: inline;  
     zoom: 1;  
     border: 1px solid #aeaeae;  
     background: #e6e6e6;  
     background-image: -moz-linear-gradient(top, white, #e6e6e6);  
     background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, white), color-stop(1, #e6e6e6));  
     background-image: linear-gradient(top, white, #e6e6e6);  
     border-radius: 5px; box-shadow: 0 1px 1px #d2d2d2;  
 }  





/* Input groups (cluster multiple inputs together into a single group)
-------------------------------------------------- */

/* Reset from initial form setup styles */
.input-group {
  width: auto;
  height: auto;
  padding: 0;
}

/* Remove spacing, borders, shadows and rounding since it all belongs on the .input-group not the input */
.input-group input {
  margin-bottom: 0;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, .2);
  border-radius: 0;
  box-shadow: none;
}

/* Remove bottom border on last input to avoid double bottom border */
.input-group input:last-child {
  border-bottom-width: 0;
}

/* Input groups with labels
-------------------------------------------------- */

/* To use labels with input groups, wrap a label and an input in an .input-row */
.input-row {
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}

/* Remove bottom border on last input-row to avoid double bottom border */
.input-row:last-child {
  border-bottom-width: 0;
}

/* Labels get floated left with a set percentage width */
.input-row label {
  float: left;
  width: 25%;
  padding: 11px 10px 9px 13px; /* Optimizing the baseline for mobile. */
  font-weight: bold;
}

/* Actual inputs float to right of labels and also have a set percentage */
.input-row label + input {
  float: right;
  width: 65%;
  padding-left: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

/* Input checkbox with labels
-------------------------------------------------- */

input[type='checkbox'] {
    background: #fff;
    border: solid 1px #ADABA8;
    height: 16px;
    width: 16px;
    -webkit-appearance: none;
    -webkit-border-radius: 4px;
}

input[type='checkbox']:checked {
    background: #fff;
    border: solid 1px #ADABA8;
}

input[type='checkbox']:checked:after {
    content: ' ';
    display: block;
    width: 10px;
    height: 10px;
    background: #C9C7C5;
    position: relative;
    top: 2px;
    left: 2px;
    -webkit-border-radius: 2px;
}