@import url("https://fonts.googleapis.com/css?family=Roboto");
@import url("https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css");
body {
  --main-bg-color: #2b2b2b;
  background: var(--main-bg-color);
}

.qfc-container {
  --form-theme-color: #f27d34;
  --form-bg-color: white;
  --input-text-color: black;
  --button-hover: #4e5050;
  --input-bg-gray: #e2e5e5;
  /* border: 7px solid var(--form-theme-color); */
  border-top: 7px solid var(--form-theme-color);
  font-size: 1em;
  font-family: "Roboto", sans-serif;
  background-color: var(--form-bg-color);
  padding: 35px;
  width: 700px;
  margin: 30px auto;
  margin-top: 50px;
}

.qfc-container ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: var(--input-text-color);
}

.qfc-container ::-moz-placeholder {
  /* Firefox 19+ */
  color: var(--input-text-color);
}

.qfc-container :-ms-input-placeholder {
  /* IE 10+ */
  color: var(--input-text-color);
}

.qfc-container :-moz-placeholder {
  /* Firefox 18- */
  color: var(--input-text-color);
}

.qfc-container input {
  width: 200px;
  display: block;
  border: none;
  padding: 12px !important;
  border-bottom: solid 1px var(--form-theme-color);
  -webkit-transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  background-repeat: no-repeat;
  color: var(--input-text-color);
}

.qfc-container input:focus,
input:valid {
  box-shadow: none;
  outline: none;
  background-position: 0 0;
}

.qfc-container input::-webkit-input-placeholder {
  font-family: "roboto", sans-serif;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.qfc-container input:focus::-webkit-input-placeholder,
input:valid::-webkit-input-placeholder {
  color: var(--form-theme-color);
  font-size: 11px;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
  visibility: visible !important;
}

.qfc-container h1 {
  font-size: 112px;
  font-weight: 300;
  letter-spacing: -5px;
  line-height: 128px;
}

.qfc-container h2 {
  font-size: 56px;
  line-height: 64px;
}

.qfc-container h3 {
  font-size: 45px;
  line-height: 64px;
}

.qfc-container h4 {
  font-size: 34px;
  line-height: 52px;
}

.qfc-container h5 {
  font-size: 24px;
  line-height: 44px;
}

.qfc-container h6 {
  font-size: 20px;
  font-weight: 600;
  line-height: 44px;
}

.qfc-container h1,
h2,
h3,
h4,
h5,
h6 {
  text-decoration: none;
  position: relative;
  margin: 50px 0 0;
  font-weight: 400;
}

.qfc-container h1:not(.no-underline):after,
.qfc-container h2:not(.no-underline):after,
.qfc-container h3:not(.no-underline):after,
.qfc-container h4:not(.no-underline):after,
.qfc-container h5:not(.no-underline):after,
.qfc-container h6:not(.no-underline):after {
  content: "";
  position: relative;
  display: block;
  bottom: 0;
  margin-bottom: 31px;
  width: 100%;
  border: 3px solid var(--form-theme-color);
}

.qfc-container .no-underline + h1,
.qfc-container .no-underline + h2,
.qfc-container .no-underline + h3,
.qfc-container .no-underline + h4,
.qfc-container .no-underline + h5,
.qfc-container .no-underline + h6 {
  margin-top: 0;
}

.qfc-container input[type="checkbox"] {
  margin-left: 0px;
  display: inline-block;
  position: relative;
  -webkit-appearance: none;
  height: 2em;
  width: 4em;
  border-radius: 1.5em;
  background-color: var(--input-bg-gray);
  border: none;
  background-clip: padding-box;
  color: #919faf;
  vertical-align: middle;
}

.qfc-container input[type="checkbox"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 50%;
  background-color: white;
  border-radius: 100%;
  border: 2px solid transparent;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background-clip: padding-box;
  z-index: 2;
}

.qfc-container input[type="checkbox"]::after {
  position: absolute;
  left: 0.675em;
  top: 0.35em;
  font-family: "Ionicons";
  content: "\f122\f12a";
  letter-spacing: 0.75em;
  z-index: 1;
}

.qfc-container label {
  font-weight: 400;
}

.qfc-container input[type="checkbox"]:focus,
input[type="radio"]:focus {
  color: white;
  border: none;
  border-color: transparent;
  background-color: #919faf;
}

.qfc-container input[type="checkbox"]:checked {
  color: white;
  background-color: var(--form-theme-color);
  border-color: transparent;
}

.qfc-container input[type="checkbox"]:checked::before {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.qfc-container form {
  padding-top: 20px;
}

.qfc-container div {
  margin-top: 30px;
  margin-bottom: 50px;
}

.qfc-container input[type="radio"] {
  width: 30px;
  display: inline-block;
}

.qfc-container input,
select {
  border: none;
  border-bottom: 1px solid var(--form-theme-color);
  color: var(--input-text-color);
  font-family: sans-serif;
  font-weight: 500;
  font-size: 1em;
  border-radius: 0;
  line-height: 22px;
  display: block;
  padding: 5px;
  width: 60%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.qfc-container textarea {
  border: none;
  border-bottom: 2px solid var(--form-theme-color);
  color: var(--input-text-color);
  font-weight: 500;
  font-size: 1em;
  border-radius: 0;
  line-height: 22px;
  display: block;
  padding: 5px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.qfc-container input:focus,
textarea:focus,
select:focus {
  border-bottom: 3px solid var(--form-theme-color);
  color: var(--form-theme-color);
  font-weight: 600;
  outline: none;
}

.qfc-container input[type="radio"]:after {
  width: 20px;
  height: 20px;
  border-radius: 100px;
  top: -2px;
  left: -1px;
  margin: -5px;
  position: relative;
  background-color: white;
  content: "";
  display: inline-block;
  visibility: visible;
  border: 5px solid var(--input-bg-gray);
}

.qfc-container input[type="radio"]:checked:after {
  width: 20px;
  height: 20px;
  border-radius: 100px;
  top: -2px;
  left: -1px;
  margin: -5px;
  position: relative;
  background-color: var(--form-theme-color);
  content: "";
  display: inline-block;
  visibility: visible;
  border: 5px solid var(--input-bg-gray);
}

.qfc-container textarea {
  height: 10em;
}

.qfc-container select {
  margin-top: 5px;
  background: white;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: right 50%;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
}

.qfc-container button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-family: inherit;
  line-height: 0;
  font-size: 0.8em;
  padding: 0;
  width: 86px;
  height: 36px;
  border: 0;
  cursor: pointer;
  background-color: var(--form-theme-color);
  color: white;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 600;
  text-transform: uppercase;
}

.qfc-container select[multiple] {
  background: none;
}

.qfc-container button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background: var(--button-hover);
  transition: all 0.3s;
}

@media screen and (max-width: 900px) {
  .qfc-container {
    width: 70%;
  }
  .qfc-container input,
  select {
    width: 100%;
  }
}
