/*
Front-end-only form and button element styles.
NOT loaded in the block editor to prevent overriding WP component styles.
*/
.has-primary-red-background-color {
  background-color: #9d302f !important;
  color: #fefefe !important;
}

.has-secondary-blue-background-color {
  background-color: #2f8ec9 !important;
  color: #fefefe !important;
}

.has-dark-red-background-color {
  background-color: #8c0c0a !important;
  color: #fefefe !important;
}

.has-pink-background-color {
  background-color: #e2c2c2 !important;
}

.has-tan-background-color {
  background-color: #efe5c4 !important;
}

.has-light-tan-background-color {
  background-color: rgba(239, 229, 196, 0.35) !important;
}

.has-light-gray-background-color {
  background-color: #e6e6e6 !important;
}

.has-medium-gray-background-color {
  background-color: #cacaca !important;
}

.has-dark-gray-background-color {
  background-color: #8a8a8a !important;
  color: #fefefe !important;
}

.has-darker-gray-background-color {
  background-color: #707070 !important;
  color: #fefefe !important;
}

.has-black-background-color {
  background-color: #0a0a0a !important;
  color: #fefefe !important;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button {
  overflow: visible;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer;
  text-transform: none;
}

input {
  overflow: visible;
}

textarea {
  overflow: auto;
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  box-sizing: border-box;
  width: 100%;
  text-transform: none;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  box-sizing: border-box;
  display: table;
  padding: 0;
  color: inherit;
  white-space: normal;
}

/*
Front-end-only form and button element styles.
NOT loaded in the block editor to prevent overriding WP component styles.
*/
input[type=text], input[type=email], input[type=password],
input[type=number], input[type=tel], input[type=url],
input[type=search], input[type=date], textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus,
input[type=number]:focus, input[type=tel]:focus, input[type=url]:focus,
input[type=search]:focus, input[type=date]:focus, textarea:focus {
  outline: none;
  border-color: #8a8a8a;
  background-color: #fefefe;
  box-shadow: 0 0 5px #cacaca;
}
input[type=text]:disabled, input[type=text][readonly], input[type=email]:disabled, input[type=email][readonly], input[type=password]:disabled, input[type=password][readonly],
input[type=number]:disabled,
input[type=number][readonly], input[type=tel]:disabled, input[type=tel][readonly], input[type=url]:disabled, input[type=url][readonly],
input[type=search]:disabled,
input[type=search][readonly], input[type=date]:disabled, input[type=date][readonly], textarea:disabled, textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

textarea {
  max-width: 100%;
  min-height: 50px;
}
textarea[rows] {
  height: auto;
}

::-moz-placeholder {
  color: #cacaca;
}

::placeholder {
  color: #cacaca;
}

label {
  display: block;
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  color: #0a0a0a;
}

select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 8px 10px;
  padding-right: 1.5rem;
}
select:focus {
  outline: none;
  border-color: #8a8a8a;
  box-shadow: 0 0 5px #cacaca;
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  margin-bottom: 0.5rem;
  font-weight: 600;
}

button, input[type=submit], input[type=button], input[type=reset] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.85em 1em;
  margin: 0;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #2f8ec9;
  color: #fefefe;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}
button:hover, input[type=submit]:hover, input[type=button]:hover, input[type=reset]:hover {
  background-color: #9d302f;
  border-color: #fefefe;
  color: #fefefe;
}
button:focus, input[type=submit]:focus, input[type=button]:focus, input[type=reset]:focus {
  outline: 2px solid #9d302f;
  outline-offset: 2px;
}
button:disabled, input[type=submit]:disabled, input[type=button]:disabled, input[type=reset]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.button,
.gform_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.85em 1em;
  margin: 0;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #2f8ec9;
  color: #fefefe;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}
.button:hover,
.gform_button:hover {
  background-color: #9d302f;
  border-color: #fefefe;
  color: #fefefe;
}
.button:focus,
.gform_button:focus {
  outline: 2px solid #9d302f;
  outline-offset: 2px;
}
.button:disabled,
.gform_button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}