.modal-body {
	max-width: 575px;
	width: 100vw;
	background-color: #e6e3df;
	padding: 55px 54px;
	color: #252525;
}

.modal-body a {
	color: #252525;
}

.modal-body .caption {
	margin-bottom: 18px;
	font-size: 30px;
	line-height: 40px;
	color: #252525;
}

#city_chooser {
	margin-bottom: 32px;
}

.modal_search input[type="text"] {
	background: url(../icons/ic_search.svg) no-repeat right center;
	background-size: 30px;
	height: 48px;
	
	width: 100%;
	font-size: 16px;
	line-height: 20px;
	color: #252525;
	opacity: .5;
	margin-bottom: 4px;
	border: none;
	border-bottom: 1px solid #9d9d9d;
	transition: .2s;
}

.modal_search button {
	display: none;
}

.modal_cities {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

a.modal_city_link {
	font-size: 16px;
	font-weight: 300;
	padding: 11px 0;
	display: table;
	text-decoration: none;
}

a.modal_city_link:hover, a.modal_city_link:focus, a.modal_city_link:active {
	text-decoration: underline;
}

.modal-body__form-grid {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}

.modal-body__form-grid input[type="text"], .modal-body__form-grid input[type="tel"] {
	font-family: 'Montserrat', sans-serif;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 2px;
	width: 100%;
	height: 64px;
	border: 0 none;
	padding: 20px;
	font-weight: 400;
	font-size: 16px;
	line-height: 130%;
	letter-spacing: -0.02em;
	color: rgba(37, 37, 37, 1);
}

.modal-body__form-grid input[type="text"].error, .modal-body__form-grid input[type="tel"].error {
	background: rgba(145, 30, 69, 0.1);
	color: #911e45;
}

.modal-body__form-grid button[type="submit"] {
	font-family: 'Montserrat', sans-serif;
	padding: 0;
	background: #911e45;
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 16px;
	line-height: 110%;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
	border: 0 none;
	width: 100%;
	height: 64px;
	cursor: pointer;
}

.modal-body__form-grid button[type="submit"]:hover {
  opacity: 0.7;
}

.modal-body__form-grid .confirm-box {
    padding-top: 10px;

    display: flex;
    align-items: center;
    column-gap: 10px;

    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: -0.02em;
    color: rgba(37, 37, 37, 0.6);
    
    position: relative;
}

.modal-body__form-grid .confirm-box a {
    color: rgba(37, 37, 37, 0.6);
}

.modal-body__form-grid .confirm-box input[type="checkbox"] {
    display: none;
}

.modal-body__form-grid .confirm-box label {
    display: block;
    border-radius: 2px;
    width: 37px;
    height: 37px;
    background: rgba(255, 255, 255, 0.8);
    cursor: pointer;
}

.modal-body__form-grid .confirm-box input[type="checkbox"]:checked ~ label {
    background-image: url(../icons/checkbox-checked.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

.confirm-box .error-message {
	position: absolute;
	top: 110%;
	padding: 5px 10px;
	border-radius: 6px;
	
	background: rgba(0, 0, 0, 0.5);
  	color: #fff;
}

@media (max-width: 960px) {
	.modal-body__form-grid {
        column-gap: 1.1cqw; /*10px*/
    }

    .modal-body__form-grid input[type="text"], .modal-body__form-grid input[type="tel"] {
        height: 5.2cqw; /*50px*/
        font-size: 1.5cqw; /*14px*/
        padding: 1.5cqw; /*15px*/
    }

    .modal-body__form-grid button[type="submit"] {
        height: 5.2cqw; /*50px*/
        font-size: 1.5cqw; /*14px*/
    }

    .modal-body__form-grid .confirm-box {
        font-size: 1.5cqw;
    }

    .modal-body__form-grid .confirm-box label {
        width: 3.1cqw; /*30px*/
        height: 3.1cqw; /*30px*/
    }
}

@media (max-width: 685px) {
	.modal-body {
		width: 100%;
	}
}

@media (max-width: 575px) {
	.modal-body {
		padding: 5.4cqw; /*20px*/
	}
	
	.modal-body .caption {
		margin-bottom: 4.8cqw; /*18px*/
		font-size: 6.7cqw; /*25px*/
		line-height: 1;
	}
	
    .modal-body__form-grid {
        row-gap: 2.9cqw; /*10px*/
    }

    .modal-body__form-grid input[type="text"], .modal-body__form-grid input[type="tel"] {
        height: 11.7cqw; /*44px*/
        font-size: 3.2cqw; /*12px*/
        padding: 3.7cqw; /*14px*/
    }

    .modal-body__form-grid button[type="submit"] {
        height: 11.7cqw; /*44px*/
        font-size: 3.2cqw; /*12px*/
    }

    .modal-body__form-grid .confirm-box {
        font-size: 2.9cqw; /*10px*/
        letter-spacing: -0.06em;
    }

    .modal-body__form-grid .confirm-box label {
        width: 6.7cqw; /*25px*/
        height: 6.7cqw; /*25px*/
    }
}