/*  buttons */
.btn,
a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 0;
}

.btn__sm,
a.btn__sm {
    height: 48px;
    padding: 10px 32px;
    overflow: hidden;
    border-radius: 24px;
}

.btn__lg,
a.btn__lg {
    height: 54px;
    padding: 10px 36px;
    overflow: hidden;
    border-radius: 28px;
}

.btn__round,
a.btn__round {
    border-radius: 50%;
}

.btn__round-sm,
a.btn__round-sm {
    width: 32px;
    min-width: 32px;
    height: 32px;
    overflow: hidden;
}

.btn__round-lg,
a.btn__round-lg {
    width: 54px;
    min-width: 54px;
    height: 54px;
    overflow: hidden;
}

.btn svg,
a.btn svg {
    display: block;
}

.btn__svg-l,
a.btn__svg-l {
    margin-right: 8px;
}

.btn__svg-r,
a.btn__svg-r {
    margin-left: 8px;
}

.btn__arrow,
a.btn__arrow {
    padding-right: 80px;
    position: relative;
}

.btn__arrow:after,
a.btn__arrow:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(/img/btn__arrow.svg) center no-repeat;
    border-left: 1px solid #fff;
}

.btn__lg.btn__arrow:after {
    width: 56px;
}

.btn:hover.salad__middle-bkg {
    background: #729132;
}

.btn:hover.grey__middle-bkg {
    background: #B3C1CB;
}

.btn:hover.white {
    color: #fff;
}

.btns__lr {
    gap: 8px;
}

.btns__lr-col {
    flex-direction: column;
}

/* forms */
:focus {
    outline: 0;
}

button,
input,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15; 
    margin: 0; 
    background: transparent;
    -webkit-appearance: none;
      -moz-appearance: none;
        appearance: none;
    -webkit-box-shadow: none;
      box-shadow: none; 
}

button,
input { 
    overflow: visible;
    outline:none!important;
    outline-offset: 0!important;
}

button { 
    border: 0;
    cursor: pointer; 
    text-transform: none;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

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

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

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; 
    padding: 0; 
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
    -webkit-appearance: none;
    margin: 0;
}

::-webkit-file-upload-button {
    -webkit-appearance: button; 
    font: inherit; 
}

.mail_name {
    display: none;
}

.forms__input-item {
    position: relative;
}

.form__label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
    pointer-events: none;
}

.form__input:focus + .form__label,
.form__input:not(:placeholder-shown) + .form__label {
    top: 16px;
    font-size: 13px;
    color: #8798A5;
}

.form__input {
    font: 16px/24px 'Gotham Pro', Helvetica, sans-serif;
    border: 1px solid #B3C1CB;
    border-radius: 8px;
    padding: 24px 16px 8px 16px;
    color: #3B454D;
    transition: .3s all ease-in-out;
    width: 100%;
    display: block;
    background: #fff;
}

.form__input::placeholder {
    color: #B3C1CB;
    font-size: 14px;
}

.form__input:focus {
    border: 1px solid #91B83F;
}

@media (max-width: 768px) {
    .btn__sm,
    a.btn__sm {
        height: 40px;
        padding: 4px 24px;
        overflow: hidden;
        border-radius: 20px;
    }
    
    .btn__lg,
    a.btn__lg {
        height: 48px;
        padding: 8px 32px;
        overflow: hidden;
        border-radius: 24px;
    }

    .btn__arrow,
    a.btn__arrow {
        padding-right: 72px;
        position: relative;
    }
}