label {
  display: inline-block;
  margin-bottom: 5px;
  font-size: var(--wp--preset--font-size--small);
}
label .required {
  color: #FF0000;
}
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  background-color: #FFFFFF;
  border: 1px solid var(--wp--preset--color--gray);
  box-sizing: border-box;
  padding: 10px 15px;
  width: 100%;
  font-family: var(--wp--preset--font-family--primary);
  font-size: var(--wp--preset--font-size--regular);
  color: var(--wp--preset--color--default);
}
input[type="date"].qty,
input[type="email"].qty,
input[type="number"].qty,
input[type="password"].qty,
input[type="search"].qty,
input[type="tel"].qty,
input[type="text"].qty,
input[type="url"].qty,
select.qty,
textarea.qty {
  width: 60px;
}
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  outline: none;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.25);
}
input[type="date"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid,
input[type="number"].wpcf7-not-valid,
input[type="password"].wpcf7-not-valid,
input[type="search"].wpcf7-not-valid,
input[type="tel"].wpcf7-not-valid,
input[type="text"].wpcf7-not-valid,
input[type="url"].wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: #FF0000;
}
input[type="date"].readonly,
input[type="email"].readonly,
input[type="number"].readonly,
input[type="password"].readonly,
input[type="search"].readonly,
input[type="tel"].readonly,
input[type="text"].readonly,
input[type="url"].readonly,
select.readonly,
textarea.readonly {
  color: var(--wp--preset--color--darkgray);
  cursor: not-allowed;
}
select {
  padding-right: 40px;
}
select.gt_selector {
  padding: 5px 15px 5px 5px;
}
input[type="number"] {
  padding-left: 5px;
  padding-right: 5px;
}
textarea {
  overflow: hidden;
  resize: none;
  height: 250px;
}
button {
  cursor: pointer;
  outline: none;
}
button[type="submit"] {
  background-color: var(--wp--preset--color--brown);
  -webkit-border-radius: 0;
  border-radius: 0;
  border: 1px solid var(--wp--preset--color--brown);
  color: #FFFFFF;
  font-family: var(--wp--preset--font-family--primary);
  font-size: var(--wp--preset--font-size--regular);
  font-weight: 700;
  padding: 10px 15px;
  text-align: center;
}
/* ########## Select ########## */
.select-wrapper {
  position: relative;
}
.select-wrapper select {
  -webkit-appearance: none;
  appearance: none;
}
.select-wrapper:after {
  content: "\f078";
  font-family: "Font Awesome 5 Pro";
  font-size: 16px;
  font-weight: 300;
  pointer-events: none;
  position: absolute;
  right: 15px;
  top: 14px;
}
/* ########## Select 2 ########## */
.select2-container--default .select2-selection--single {
  border-color: var(--wp--preset--color--gray);
  -webkit-border-radius: 0;
  border-radius: 0;
}
.select2-container .select2-selection--single {
  height: 44px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 15px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px;
}
/* ########## Contact Form 7 ########## */
.wpcf7 form p {
  margin-bottom: 0;
}
.wpcf7 form .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7 form .wpcf7-not-valid-tip {
  padding-top: 5px;
  text-align: right;
  font-size: var(--wp--preset--font-size--small);
}
.wpcf7 form .wpcf7-list-item {
  margin-left: 0;
}
.wpcf7 form .wpcf7-radio,
.wpcf7 form .wpcf7-checkbox {
  display: flex;
  gap: 20px;
}
.wpcf7 form .wpcf7-submit {
  background-color: var(--wp--preset--color--brown);
  -webkit-border-radius: 0;
  border-radius: 0;
  border: 1px solid var(--wp--preset--color--brown);
  color: #FFFFFF;
  font-family: var(--wp--preset--font-family--primary);
  font-size: 18px;
  padding: 10px 30px;
}
.wpcf7 form .wpcf7-submit:disabled {
  border-color: var(--wp--preset--color--gray);
  background-color: var(--wp--preset--color--gray);
}
.wpcf7 form .wpcf7-response-output {
  margin: 30px 0 0 0;
  padding: 30px;
}
@media (max-width: 640px) {
  .wpcf7 form .wpcf7-radio,
  .wpcf7 form .wpcf7-checkbox {
    gap: 10px;
    flex-direction: column;
  }
}
/* ########## Search Form ########## */
.search-form {
  position: relative;
}
.search-form .search-button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: var(--wp--preset--color--brown);
  color: #FFFFFF;
  border: none;
  width: 46px;
  font-size: 20px;
}
/* ########## Checkbox ########## */
/*
input[type="checkbox"] {
	display: none;

	+ span {
		position: relative;
		padding-left: 25px;

		&:before {
			content: "\f0c8";
			font-family: "Font Awesome 5 Pro";
			font-size: 20px;
			font-weight: 400;
			position: absolute;
			top: -4px;
			left: 0;
			cursor: pointer;
		}
	}

	&:checked {

		+ span {

			&:before {
				content: "\f2d3";
			}
		}	
	}
}
*/
/* ########## Radio ########## */
/*
input[type="radio"] {
	display: none;

	+ .wpcf7-list-item-label {
		display: block;
		position: relative;
		padding-left: 25px;

		&:before {
			content: "\f111";
			font-family: "Font Awesome 5 Pro";
			font-size: 20px;
			font-weight: 400;
			position: absolute;
			top: 0;
			left: 0;
			cursor: pointer;
		}
	}

	&:checked {

		+ .wpcf7-list-item-label {

			&:before {
				content: "\f192";
			}
		}	
	}
}
*/
