/* Common */

.wrapText {
  position: relative;
}

.validationText {
  position: absolute;
  bottom: -25px;
  left: 6px;
  transition: 0.2s ease-in all;
  -moz-transition: 0.2s ease-in all;
  -webkit-transition: 0.2s ease-in all;
  color: transparent;
}

.file-styled, .file-custom, select, .select-styled, .select-options li, input, label {
  font-size: 18px;
}

.validationText, .filelabel, .selectLabel, .select-styled:active~label, input:focus~label, .filled-label {
  font-size: 14px;
}

.enhancedFile, .enhancedSelect, .enhancedInputText {
  padding-top: 25px;
  padding-bottom: 25px;
}


/* File Styling  */

.file-styled {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px 10px 16px 5px;
  border-bottom: 1px solid #000;
  width: 100%;
  overflow: hidden;
  background-color: #FFF;
  color: #303030;
  cursor: pointer;
  line-height: 1;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.filelabel {
  top: -20px;
}

.file-indicator {
  position: absolute;
  right: 0px;
  background: white;
  padding: 1px 10px;
}

.file-hidden {
  opacity: 0;
  position: absolute;
  padding-right: 10px;
}

.file-holder {
  position: relative;
  width: 100%;
}

.file-holder:active~.bar:before, .file-holder.active~.bar:before, .file-holder:active~.bar:after, .file-holder.active~.bar:after {
  width: 50%;
}

.file-name {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}


/* Select Styling */

select {
  padding: 10px 10px 10px 5px;
  display: block;
  border: none;
  border-bottom: 1px solid #757575;
}

.selectLabel {
  top: -20px;
}

.select-hidden {
  display: none;
  visibility: hidden;
  padding-right: 10px;
}

.select-styled {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 12px 25px 16px 5px;
  border-bottom: 1px solid #000;
  width: 100%;
  overflow: hidden;
  background-color: #FFF;
  color: #303030;
  cursor: pointer;
  line-height: 1;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.select-styled:after {
  content: "";
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  bottom: 10px;
  right: 15px;
}

.select-styled:active:after, .select-styled.active:after {
  bottom: 14px;
  border-color: transparent transparent #000 transparent;
}

.select-styled:active~.bar:before, .select-styled.active~.bar:before, .select-styled:active~.bar:after, .select-styled.active~.bar:after {
  width: 50%;
  bottom: 1px;
  height: 1px;
}

.select-options {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 999;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #FFF;
}

.select-options li {
  margin: 0;
  padding: 8px;
  color: #303030;
  -moz-transition: all 0.15s ease-in;
  -o-transition: all 0.15s ease-in;
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in;
}

.select-options li:hover {
  color: #495C68;
  background: #F5FAFD;
}

.select-options {
  height: 200px;
  overflow: hidden;
  overflow-y: scroll;
}

.select-options li[rel="hide"] {
  display: none;
}

.select-styled:active~label {
  top: -20px;
}


/* Input styling ------------------------------- */

input {
  padding: 10px 10px 10px 5px;
  display: block;
  border: none;
  border-bottom: 1px solid #757575;
}

input:focus {
  outline: none;
}

label {
  color: #000;
  position: absolute;
  pointer-events: none;
  left: 5px;
  top: 10px;
  font-weight: 300;
  transition: 0.4s ease all;
  -moz-transition: 0.4s ease all;
  -webkit-transition: 0.4s ease all;
}

.bar {
  position: relative;
  display: block;
  width: 100%;
}

.bar:before, .bar:after {
  content: '';
  height: 2px;
  width: 0;
  bottom: -1px;
  position: absolute;
  background-color: #000;
  transition: 0.4s ease all;
  -moz-transition: 0.4s ease all;
  -webkit-transition: 0.4s ease all;
}

.bar:before {
  left: 50%;
}

.bar:after {
  right: 50%;
}

input:focus~label, .filled-label {
  top: -20px;
  color: #000;
}

input:focus~.bar:before, input:focus~.bar:after {
  width: 50%;
}

@media only screen and (max-width:120em) {
  .file-styled, .file-custom, select, .select-styled, .select-options li, input, label {
    font-size: 18px;
  }
  .validationText, .filelabel, .selectLabel, .select-styled:active~label, input:focus~label, .filled-label {
    font-size: 14px;
  }
  .enhancedFile, .enhancedSelect, .enhancedInputText {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

@media only screen and (max-width:100em) {
  .file-styled, .file-custom, select, .select-styled, .select-options li, input, label {
    font-size: 15px;
  }
  .validationText, .filelabel, .selectLabel, .select-styled:active~label, input:focus~label, .filled-label {
    font-size: 11.67px;
  }
}

@media only screen and (max-width: 91em) {
  .file-styled, .file-custom, select, .select-styled, .select-options li, input, label {
    font-size: 13.5px;
  }
  .validationText, .filelabel, .selectLabel, .select-styled:active~label, input:focus~label, .filled-label {
    font-size: 10.5px;
  }
}

@media only screen and (max-width:85.375em) {
  .file-styled, .file-custom, select, .select-styled, .select-options li, input, label {
    font-size: 12.81px;
  }
  .validationText, .filelabel, .selectLabel, .select-styled:active~label, input:focus~label, .filled-label {
    font-size: 9.96px;
  }
}
