.modal {
	display: flex;
	position: relative;
	flex-direction: column;
	padding: 20px 60px 20px 60px;
	border-radius: 20px;
	background-color: #fff;
	-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, .5);
	-moz-box-shadow: 0 0 20px 0 rgba(0, 0, 0, .5);
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, .5);
	box-sizing: border-box;
	z-index: 100;
}
.modal_close { 
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 36px;
	line-height: 36px;
	color: #aaa;
	cursor: pointer;
}
.modal_head {
	margin: 0 20px 10px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 2.5rem;
	font-weight: 600;
	color: #212121;
	text-transform: uppercase;
}
#leave_modal_id .modal_head { margin: 0 20px 17px 0 }
.modal_head span { color: #EE4941 }
.modal_close:hover { color: #303030 }
.modal_content {
	position: relative;
	height: 100%;
	margin-bottom: 20px;
	/* overflow-y: auto; */
	line-height: 1.25;
}
.modal_content_msg {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: #fff;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 1;
}
.modal_control {
	position: relative;
	text-align: center;
}
.modal_control:not(.active) .btns { visibility: hidden }
.modal_control .spinner {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	color: #fa2941;
	text-align: center;
}
.modal_control .spinner:not(.active) { visibility: hidden }
.modal_control_close {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 1;
}
.overlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.7;
	z-index: 99;
}
.modal input {
	display: block;
	width: 100%;
	margin: 20px 0 0 0;
	padding: 0 0 24px 28px;
	color: #303030;
	font-size: 17px;
	border-bottom: 2px solid #aaa;
	border-radius: 0;
	background: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.modal textarea {
	display: block;
	width: 100%;
	margin: 20px 0 0 0;
	padding: 10px 28px 10px 28px;
	color: #303030;
	font-size: 17px;
	border: 2px solid #aaa;
	border-radius: 0;
	background: none;
	outline: none;
	resize: vertical;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.modal input::-webkit-input-placeholder,
.modal textarea::-webkit-input-placeholder {
	text-indent: 0px;
	color: #aaa;
	-webkit-transition: text-indent 0.3s ease;
	transition: text-indent 0.3s ease;
}
.modal input::-moz-placeholder,
.modal textarea::-moz-placeholder {
	text-indent: 0px;
	color: #aaa;
	opacity: 1;
	-moz-transition: text-indent 0.3s ease;
	transition: text-indent 0.3s ease;	
}
.modal input:-ms-input-placeholder,
.modal textarea:-ms-input-placeholder {
	text-indent: 0px;
	color: #aaa;
	-ms-transition: text-indent 0.3s ease;
	transition: text-indent 0.3s ease;	
},
.modal input::placeholder,
.modal textarea::placeholder {
	text-indent: 0px;
	color: #aaa;
	-webkit-transition: text-indent 0.3s ease;
	-moz-transition: text-indent 0.3s ease;
	-ms-transition: text-indent 0.3s ease;
	transition: text-indent 0.3s ease;
}
.modal input:focus::-webkit-input-placeholder { text-indent: 100% }
.modal input:focus::-moz-placeholder { text-indent: 100% }
.modal input:focus:-moz-placeholder { text-indent: 100% }
.modal input:focus:-ms-input-placeholder { text-indent: 100% }
.modal input:focus::placeholder { text-indent: 100% }
.modal input.field_error {
	color: #fa2941;
	border-bottom-color: #fa2941;
}
.modal textarea.field_error {
	color: #fa2941;
	border-color: #fa2941;
}
.modal input.field_error::-webkit-input-placeholder,
.modal textarea.field_error::-webkit-input-placeholder { color: #fa2941 }
.modal input.field_error::-moz-placeholder,
.modal textarea.field_error::-moz-placeholder { color: #fa2941 }
.modal input.field_error:-moz-placeholder,
.modal textarea.field_error:-moz-placeholder { color: #fa2941 }
.modal input.field_error:-ms-input-placeholder,
.modal textarea.field_error:-ms-input-placeholder { color: #fa2941 }
.modal input.field_error::placeholder,
.modal textarea.field_error::placeholder { color: #fa2941 }
.modal_light {
	margin: 0 -60px 20px -60px;
	padding: 20px 60px;
	color: #fff;
	background-color: #EE4941;
	font-family: "Montserrat", sans-serif;
	font-size: 1.75rem;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
}
.modal .promo {
	font-size: 1.5rem;
	text-align: center;
}
.modal input + .promo { margin-top: 20px }
.modal .promo > strong {
	font-weight: bolder;
	text-transform: uppercase;
}
.modal_content .intro_outwork {
	font-size: 1.25rem;
	text-align: center;
}
@media ( max-width: 480px ) {
	.modal_head { font-size: 2rem }
	.modal_content .intro_outwork { font-size: 1.15rem }
	.modal_light {
		margin: 0 -20px 20px -20px;
		padding: 20px 20px;
	}
	.modal { padding: 20px 20px 20px 20px; }
}
#leave_modal_id { animation: 1.2s ease-in-out 0s normal none running trambling-animation }
@keyframes trambling-animation {
	0%, 50%, 100% { transform: rotate(0deg); }
	10%, 30% { transform: rotate(-10deg); }
	20%, 40% { transform: rotate(10deg); }
}
@media ( pointer:coarse ){
	.overlay { cursor: pointer; }
}

.modal .btn-accent button, 
.modal .modal_control_close button,
.modal .btn-accent a {
    -webkit-box-shadow: none;
    box-shadow: none;
}