.callback {
width: 100%;
padding: 50px 0 40px;
overflow: hidden;
} .callback__content {
position: relative;
max-width: 1920px;
width: 100%;
margin: 0 auto;
} .callback img {
position: absolute;
top: 0;
z-index: 3;
width: fit-content;
height: auto;
} .callback-image_left {
left: -23.5%;
} .callback-image_right {
right: -23.5%;
transform: scaleX(-1);
} .callback-form {
position: relative;
z-index: 10;
max-width: 838px;
width: 100%;
margin: 0 auto;
padding: 30px 95px 45px;
background: #F5F0E8;
box-shadow: 0px 3px 49px 4px rgb(69, 44, 44, 0.26);
border-radius: 15px;
} .callback-form .title_light {
font-size: 32px;
font-weight: 700;
} .callback-form__text {
max-width: 478px;
width: 100%;
margin: 0 auto;
} .callback-form__text > .line {
width: 160px;
height: 2px;
background: #875F5F;
margin: 15px auto;
} .callback-form__text > p {
max-width: 376px;
width: 100%;
margin: 0 auto;
font-size: 15px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: var(--dark);
} .callback-form__content {
display: flex;
flex-direction: column;
gap: 15px;
margin-top: 30px;
}
.callback-field {
position: relative;
width: 100%;
} .callback-field input[type="text"],
.callback-field textarea {
position: relative;
width: 100%;
padding: 20px;
border: 1px solid var(--light2);
border-radius: 10px;
background: var(--fieldBg);
outline: none;
resize: none;
font-size: 24px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
color: var(--light2);
} .callback-field input[type="text"] span,
.callback-field textarea span {
font-size: 24px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
color: var(--dark);
} .callback-field input[type="text"] ~ label,
.callback-field textarea ~ label {
position: absolute;
top: 15px;
left: 15px;
display: flex;
align-items: center;
gap: 20px;
font-size: 24px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
color: var(--light2);
background: transparent;
border-radius: 10px;
padding: 5px;
user-select: none;
pointer-events: none;
} .callback-field input[type="text"] ~ label svg,
.callback-field textarea ~ label svg {
min-width: 30px;
min-height: 30px;
width: 30px;
height: 30px;
color: var(--light2);
} .callback-field:not(.button-change.no-active) input[type="text"]:focus ~ label,
.callback-field:not(.button-change.no-active) input[type="text"]:not(:placeholder-shown) ~ label,
.callback-field:not(.button-change.no-active) textarea:focus ~ label,
.callback-field:not(.button-change.no-active) textarea:not(:placeholder-shown) ~ label {
top: -20px;
left: 40px;
background: var(--dark);
color: var(--light2);
} .callback-field:not(.button-change.no-active) input[type="text"]:focus ~ label p,
.callback-field:not(.button-change.no-active) input[type="text"]:not(:placeholder-shown) ~ label p,
.callback-field:not(.button-change.no-active) textarea:focus ~ label p,
.callback-field:not(.button-change.no-active) textarea:not(:placeholder-shown) ~ label p {
color: var(--light2);
} .callback-field:not(.button-change.no-active) input[type="text"]:focus ~ label svg,
.callback-field:not(.button-change.no-active) input[type="text"]:not(:placeholder-shown) ~ label svg,
.callback-field:not(.button-change.no-active) textarea:focus ~ label svg,
.callback-field:not(.button-change.no-active) textarea:not(:placeholder-shown) ~ label svg {
color: var(--light2);
} .callback-field input[type="text"] ~ label svg,
.callback-field textarea ~ label svg {
min-width: 30px;
min-height: 30px;
width: 30px;
height: 30px;
color: var(--light2);
} .callback-field.textarea textarea {
min-height: 241px;
} .callback-field.textarea span {
position: absolute;
top: 70px;
left: 20px;
user-select: none;
pointer-events: none;
font-size: 15px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
vertical-align: middle;
text-transform: uppercase;
color: var(--light2);
} .callback-field.textarea textarea:focus ~ span,
.callback-field.textarea textarea:not(:placeholder-shown) ~ span {
opacity: 0;
user-select: none;
pointer-events: none;
}
.callback-fields {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
gap: 15px;
min-height: 70px;
} .callback-fields .callback-field.button-change {
max-width: 326px;
position: absolute;
top: 0;
} .callback-fields .callback-field.button-change.active {
max-width: 309px;
left: 0;
z-index: 2;
} .callback-fields .callback-field.button-change.no-active {
left: 100%;
z-index: 1;
transform: translateX(-100%);
cursor: pointer;
} .callback-fields .callback-field.button-change.no-active input {
pointer-events: none;
} .callback-fields .callback-field.button-change.no-active input,
.callback-fields .callback-field.button-change.no-active label {
cursor: pointer;
} .callback-fields .callback-field.button-change:not(.active) input {
background: var(--light2);
} .callback-fields .callback-field.button-change:not(.active) label svg,
.callback-fields .callback-field.button-change:not(.active) label p {
color: var(--white-text);
} .callback-fields .callback-field.button-change .hidden {
position: absolute;
top: 10px;
left: 55px;
font-size: 20px;
width: 86%;
background: var(--fieldBg);
opacity: 0;
user-select: none;
pointer-events: none;
white-space: nowrap;
} .callback-fields .callback-field.button-change.no-active .hidden {
opacity: 1;
background: var(--light2);
}
.callback-field__animation_left {
animation: callback-field_left-to-right 1s ease forwards;
} .callback-field.button-change.callback-field__animation_left p,
.callback-field.button-change.callback-field__animation_left svg {
color: #FFFFFF;
} .callback-field__animation_left_input {
animation: callback-field_left-to-right_input 1s ease forwards;
}
.callback-field__animation_right {
animation: callback-field_right-to-left 1s ease forwards;
} .callback .callback-fields .callback-field.button-change.callback-field__animation_right p,
.callback .callback-fields .callback-field.button-change.callback-field__animation_right svg {
color: var(--light2);
} .callback-fields .callback-field.button-change.callback-field__animation_right p.hidden {
opacity: 0;
} .callback-field__animation_right_input {
animation: callback-field_right-to-left_input 1s ease forwards;
} 
@keyframes callback-field_right-to-left {
0% {
max-width: 326px;
left: 100%;
transform: translateX(-100%);
} 30% {
left: 100%;
transform: translateX(-100%) scale(0.8);
} 70% {
left: 0;
transform: translateX(0) scale(0.8);
} 100% {
max-width: 309px;
left: 0;
transform: translateX(0) scale(1);
}
} @keyframes callback-field_left-to-right {
0% {
max-width: 309px;
left: 0;
transform: translateX(0);
} 30% {
left: 0;
transform: translateX(0) scale(1.2);
} 70% {
left: 100%;
transform: translateX(-100%) scale(1.2);
} 100% {
max-width: 326px;
left: 100%;
transform: translateX(-100%) scale(1);
}
} @keyframes callback-field_right-to-left_input {
0% {
background: var(--light2);
} 100% {
background: var(--fieldBg);
}
} @keyframes callback-field_left-to-right_input {
0% {
background: var(--fieldBg);
} 100% {
background: var(--light2);
}
}
.callback-field.checkbox {
position: relative;
display: flex;
} .callback-field.checkbox #callback-checkbox {
position: absolute;
top: 0;
left: 0;
max-width: 30px;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
} .callback-field.checkbox label {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
} .callback-field.checkbox label svg {
min-width: 30px;
min-height: 30px;
width: 30px;
height: 30px;
color: var(--light2);
--checkbox-check: transparent;
} .callback-field.checkbox #callback-checkbox:checked ~ label svg {
--checkbox-check: var(--light2);
} .callback-field.checkbox label p {
font-size: 20px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
color: var(--black);
} .callback-field.checkbox label p a {
color: var(--light2);
}
.callback-form button {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
padding: 24px 15px;
background: var(--light2);
border: none;
outline: none;
border-radius: 15px;
font-size: 24px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: var(--white-text);
cursor: pointer;
} .callback-form button:hover {
background: var(--light);
}
.callback-advantages {
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
height: 100%;
margin-top: 40px;
} .callback-advantage {
display: flex;
flex-direction: column;
align-items: center;
height: fit-content;
padding: 0 12px 12px;
} .callback-advantage svg {
min-width: 40px;
min-height: 40px;
width: 40px;
height: 40px;
color: var(--dark);
} .callback-advantage h3 {
font-size: 15px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: var(--light2);
margin: 10px 0;
} .callback-advantage p {
font-size: 13px;
font-weight: 400;
line-height: 100%;
letter-spacing: 5%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: var(--dark);
}
@media (max-width: 1600px) {
.callback-image_left {
left: -43.5%;
} .callback-image_right {
right: -43.5%;
}
} @media (max-width: 1200px) {
.callback .callback-image_left,
.callback .callback-image_right {
max-width: 700px;
top: 100px;
}
} @media (max-width: 900px) {
.callback {
padding: 85px 0 40px;
} .callback .callback-image_left {
max-width: 170px;
top: -85px;
left: -6%;
} .callback .callback-image_right {
max-width: 170px;
top: inherit;
right: -6%;
bottom: -85px;
} 
} @media (max-width: 830px) {
.callback-fields .callback-field.button-change.active {
max-width: 239px;
} .callback-fields .callback-field.button-change {
max-width: 273px;
} .callback-fields .callback-field.button-change .hidden {
width: 78%;
}
@keyframes callback-field_right-to-left {
0% {
max-width: 273px;
left: 100%;
transform: translateX(-100%);
} 30% {
left: 100%;
transform: translateX(-100%) scale(0.8);
} 70% {
left: 0;
transform: translateX(0) scale(0.8);
} 100% {
max-width: 239px;
left: 0;
transform: translateX(0) scale(1);
}
} @keyframes callback-field_left-to-right {
0% {
max-width: 239px;
left: 0;
transform: translateX(0);
} 30% {
left: 0;
transform: translateX(0) scale(1.2);
} 70% {
left: 100%;
transform: translateX(-100%) scale(1.2);
} 100% {
max-width: 273px;
left: 100%;
transform: translateX(-100%) scale(1);
}
}
} @media (max-width: 715px) {
.callback-form {
padding: 30px 20px 45px;
}
} @media (max-width: 565px) {
.callback {
padding: 85px 0 40px;
} .callback-form .title_light {
font-size: 20px;
font-weight: 400;
} .callback-form__text > p {
font-size: 13px;
} .callback-form {
padding: 20px;
} .callback-fields {
min-height: 155px;
} .callback-fields .callback-field.button-change.active {
max-width: 100%;
} .callback-fields .callback-field.button-change.no-active {
max-width: 100%;
top: inherit;
bottom: 0;
} .callback-field.textarea textarea {
min-height: 205px;
} .callback-field.textarea span {
max-width: 242px;
width: 100%;
font-size: 13px;
top: 65px;
} .callback-field.checkbox label p {
font-size: 15px;
} .callback-form button {
font-size: 20px;
} .callback-advantages {
flex-wrap: wrap;
justify-content: center;
gap: 15px;
} .callback-advantage {
max-width: 195px;
width: 100%;
}
@keyframes callback-field_right-to-left {
0% {
max-width: 100%;
left: 0;
bottom: 0%;
transform: translateX(0) translateY(0%);
} 30% {
left: 0;
bottom: 0%;
transform: translateX(0) translateY(0%) scale(0.95);
} 70% {
left: 0;
bottom: 100%;
transform: translateX(0) translateY(100%) scale(0.95);
} 100% {
max-width: 100%;
left: 0;
bottom: 100%;
transform: translateX(0) translateY(100%) scale(1);
}
} @keyframes callback-field_left-to-right {
0% {
max-width: 100%;
top: 0%;
left: 0;
transform: translateX(0) translateY(0%);
} 30% {
top: 0%;
left: 0;
transform: translateX(0) translateY(0%) scale(1.05);
} 70% {
top: 100%;
left: 0;
transform: translateX(0) translateY(-100%) scale(1.05);
} 100% {
max-width: 100%;
top: 100%;
left: 0;
transform: translateX(0) translateY(-100%) scale(1);
}
}
}