.formwrapper{
  max-width: 500px;
  margin: 20px auto;
  position: relative;
  padding: 50px
}
.formwrapper .form-loader{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #fff url(/themes/custom/pro100/images/Spinner-0.8s-200px.gif) center center no-repeat;
  display: none;
  justify-content: center;
  align-items: center;
  padding-top: 150px;
  text-align: center;
}

form{
  max-width: 500px;
  margin: 0 auto;
}
.pro100_modal form{
  max-width: 100%;
}

.formwrapper h1{
  margin-bottom: 60px;
  margin-top: 0;
}
.form-plain{
  margin: 0;
}

select{
  -webkit-appearance: none;
  -moz-appearance: none;
}


input{
  /*font-size: 1rem;
  display: block;
  padding: 0.5em;
  */
  font-size: 1rem;
  display: block;
  padding: 1em 0 .5em;
  /* border-radius: 20px; */
  /* border: 1px solid #d0d0d0; */
  border: none;
  border-bottom: 1px solid #dddddd;
  width: 100%;

}
select{
  border-width: 1px;
  margin-top: .5em;
  font-size: 1rem;
  padding: .5em;
  border-color: #bbbbbb;
  display: block;
  font-family: 'Rubik', sans-serif;
}
select.fullwidth{
  width: 100%;
}
form.views-exposed-form{
  max-width: 100%;
}

input[type="submit"],
input[type="date"],
input[type="text"],
input[type="email"],
select
{
  border-radius: 0;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -moz-border-radius: 0;
  outline: none;
}
a.button,
input[type="button"],
input[type="submit"],
.ui-button
{
  text-align: center;
  transition: .2s all;
  font-size: 1rem;
  background: #007F3E;
  color: #fff;
  padding: .5em 1em;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 100;
  border-style: solid;
  border-width: 1px;

  border-color: transparent;
  cursor: pointer;
  border-radius: 0;
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.05em;
}
input[type="submit"]:focus,
input[type="date"]:focus,
input[type="text"]:focus{
  border-color: orange;
}
a.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.ui-button:hover
{

  border-style: solid;
  border-width: 1px;
  border-color: transparent;

  font-weight: 100;
}
a.button.muted,
input[type="button"].muted,
input[type="submit"].muted,
.ui-button.muted,
a.button.muted:hover,
input[type="button"].muted:hover,
input[type="submit"].muted:hover,
.ui-button.muted:hover
{
  background: #fff;
  color: #000;
  text-transform: unset;
  text-decoration: underline;
  padding: 0;
  box-shadow: unset;
  -moz-box-shadow: unset;
  -webkit-box-shadow: unset;
  transform: unset;
  -moz-transform: unset;
  -webkit-transform: unset;
  -o-transform: unset;
  -ms-transform: none;
}
a.button.secondary,
input[type="button"].secondary,
input[type="submit"].secondary,
.ui-button.secondary
{
  border: 1px solid #DEDEDD;
  padding: 0.5em;
  background: #f2f2f2;
  text-decoration: none;
  color: #707070;
}
a.button.secondary:hover,
input[type="button"].secondary:hover,
input[type="submit"].secondary:hover,
.ui-button.secondary:hover,
a.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.ui-button:hover{
  color:#707070;
  background-color: #c1d9cd;
  box-shadow: 0 8px 10px #007f3e24;
  -moz-box-shadow: 0 8px 10px #007f3e24;
  -webkit-box-shadow: 0 8px 10px #007f3e24;
  -o-box-shadow: 0 8px 10px #007f3e24;
  -moz-transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  -o-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
}
a.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.ui-button:hover{
  background-color: #099f52;
  color: #fff;
}
input[type="date"]{
  font-family: 'Rubik', sans-serif;
  letter-spacing: 0.05em;
}


a.button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
.ui-button:disabled{
  background: transparent;
  border: 1px solid #ccc;
  color: #ccc;
}
a.button:disabled:hover,
input[type="button"]:disabled:hover,
input[type="submit"]:disabled:hover,
.ui-button:disabled:hover{
  cursor: unset;
  box-shadow: unset;
  -moz-box-shadow: unset;
  -webkit-box-shadow: unset;
  transform: unset;
  -moz-transform: unset;
  -webkit-transform: unset;
  -o-transform: unset;
  -ms-transform: none;
}


textarea{
  max-width: 99%;
  border-color: #aaa;
  /* border-radius: 5px; */
  margin-top: 15px;
  /* border: none; */
  background-color: transparent;
}
fieldset{
  border: solid 1px #d0d0d0;
  padding: 0 1rem 1.5rem;
  border-collapse: collapse;
  border-radius: 4px;
}
fieldset > legend{
  color: #707070;
  font-weight: 100;
}
fieldset .element:after{
  content: '.';
  border-bottom: 1px dashed #c5c5c5;
  width: auto;
  display: block;
  margin: 0 -1rem;
  color: transparent;
}
fieldset .element:last-child:after{
  border-bottom: none;
}
.js-form-type-checkbox input[type="checkbox"],
.js-form-type-radio input[type="radio"],
.js-form-type-checkbox label,
.js-form-type-radio label{
  display: inline-block;
}
.js-form-type-checkbox input[type="checkbox"],
.js-form-type-radio input[type="radio"]{
  width: auto;
}
a.button.bordered{
  background: transparent;
  color: gray;
  border-color: gray;
}

input[type="submit"],
input[type="reset"]{
  display: inline-block;
  width: auto;
}
input.autosized{
  width: auto;
}
.form-item{
  margin: 15px 0 0;
}
.inline-exposed .form-item,
.form-item.inline{
  display: inline-block;
}

label{
  display: block;
  margin: 0;
}
label.form-required:after{
  content: '*';
  color: red;
}
input.m_money,
input.m_money_kop
{
  font-size: 2em;
  padding-top: 0.2em;
  padding-bottom: 0.05em;
}

.description{
  font-weight: 100;
  font-size: 0.8em;
  margin: 10px 0;
}

.form-actions{
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.form_description{
  margin: 20px 0;
  font-size: .9rem;
  padding: 20px 0;
}
.form-actions input[type="button"],
.form-actions input[type="submit"],
.form-actions .a.button,
.form-actions .ui-button
{
  margin: 5px;
}

.combined {
  display: flex;
  align-items: flex-end;
}
.combined .js-form-item{
  flex-basis: 50%;
  margin-right: 10px;
}
.combined .js-form-item:last-of-type{
  margin-right: 0;
}
.combined.auto-width .form-item{
  flex-basis: auto;
}
form .actions{
  margin-top: 20px;

}
select.error,
input.error{
  border-color: #ff5722;
  /* background: #f2f2f2; */
  border-bottom-width: 2px;
  margin-bottom: -1px;
}
select.warning,
input.warning {
  border-color: #ffc107;
  border-width: 2px;
  margin-bottom: -1px;
}

.form-item:has(input.readonly):before
{
  content: 'X';
}
label .translation{
  font-size: 0.9em;
  text-transform: none;
  color: #697582;
  padding: 0 0 0 0.5em;
}
.form-item-real-name {
  height: 0;
  width: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.poclicy_price{
  margin: 20px 0;
  padding: 10px 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.poclicy_price > p{
  margin: 0;
  color: #999;
}
.poclicy_price #precalculated_price > p{
  margin: 0;
  font-size: 1.8em;
  font-weight: 400;
}
form .lang_selector{

}
form .lang_selector input{

}
div.collapsible{
  height: 0;
  overflow: hidden;
}
div.collapsible.expanded{
  height: auto;
}
table.description{
  width: 100%;
}
table.description th,
table.description td
{
  padding: 0.4em;
  text-align: left;
}
table.description td {
  border-bottom: 1px dotted #ccc;
}
form #langswitcher{
  float: right;
}
form #langswitcher > input{
  color: #707070;
  border: 1px solid #ccc;
  font-size: 80%;
  background: none;
}
form #langswitcher > input:hover{
  border-color: #fedd01;
}

form table.valueslist{
  font-size: .9em;
  border-spacing: 0;
}
form table.valueslist td{

  padding: 0.7em 0 0.7em 0.7em;
  vertical-align: baseline;
  border-bottom: 1px solid #ccc;
}
form table.valueslist td:nth-child(1){
  text-align: right;
  width: 50%;
  color: #2f2f2f;
  font-weight: 400;
  /* border-bottom: 1px solid #ccc; */
  padding-left: 0;
  padding-right: 0.7em;
}


/* форма обратной связи */
form.feedback{

}

/* смс код */
form .sms-code-wrapper{
  display: flex;
  gap: 10px;
  width: auto;
  justify-content: center;
}
form .sms-code-wrapper input[type="text"]{
  font-size: 3em;
  margin: 0;
  padding: 0;
  text-align: center;
  color: #707070;
  width: 0.9em;
}
