/* Fonts */

@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');


/* Reset */

* {padding: 0;	margin: 0; -webkit-tap-highlight-color:transparent;}
*, *:before, *:after {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
:focus, :active, a:focus, a:active {outline: none;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
html, body {
	width: 100%;
	min-height: 100%;
	font-size: 100%;
	line-height: 1;
	-webkit-text-size-adjust: none
}

input, button, textarea, select {
	font-family: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0;
}
input::placeholder {opacity: 1;}
input::-ms-clear {display: none;}
button::-moz-focus-inner {padding: 0; border: 0;}
button, .button, input[type="button"], input[type=submit] {cursor: pointer;}
button[disabled], input[disabled] {cursor: default;}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {display: none;}

a, a:hover, a:visited {text-decoration: none;}
img {vertical-align: top;}

.header__logo img {
	height: 45px;
}

h1,h2,h3,h4,h5,h6 {font-size: inherit; font-weight: normal;}

ol, ul {list-style: none;}
ol {counter-reset: myCounter;}
ol li:before {
	counter-increment: myCounter;
	content:counter(myCounter);
	margin-right: 5px;
}

table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: inherit;}





/* Global */

body {
	font-family: 'Nunito Sans', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.4em;
	color: #002E5A;
	background: #FFFFFF; 
	overflow-x: hidden;
}

.page {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.main, .header {
	max-width: 1240px; /* ширина контентной части по макету + паддинги по бокам */
	padding: 0 30px;
	margin: 0 auto;
	position: relative;
}
.main::after, .header::after {
	content:'';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	z-index: -1;
}

a, a:before, button {
	transition: 0.3s;
}






/* Header */

.header {
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header::after {
	background: #fff;
	box-shadow: 7px 4px 30px 0px rgba(0, 0, 0, 0.15);
}
.header__phone {
	font-family: 'Nunito Sans', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #002E5A;
	display: flex;
	align-items: center;
	white-space: nowrap;
	margin-left: 60px;
}
.header__phone::before {
	content:'';
	display: block;
	width: 22px;
	height: 22px;
	margin-right: 8px;
	background: url(../img/phone.svg) center no-repeat;
	background-size: contain;
}
.header__phone:hover {
	filter: brightness(150%);
}

.error-notify {
	margin-bottom: 20px; 
	color: #DA522E; 
	font-size: 22px;
	line-height: 1.5;
}

.error {
	display: none;
	margin-bottom: 20px; 
	color: #DA522E; 
	font-size: 22px;
	line-height: 1.5;
}

/* Main */

.main {
	padding-top: 60px;
	padding-bottom: 130px;
}
.main::after {
	background-image: url(../img/car.png);
	background-image: -webkit-image-set(url(../img/car.png) 1x, url(../img/car_2x.png) 2x);
	background-position: bottom 40px right;
	background-repeat: no-repeat;
	background-size: 410px;
}

.main__title {
	font-weight: 900;
	font-size: 38px;
	line-height: 1.2em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 16px;
}
.main__subtitle {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2em;
	display: block;
	margin-bottom: 35px;
}

.main__content {
	max-width: 680px;
}
.main__content_big {
	max-width: 880px;
}
.main__pretext {
	font-weight: 700;
	font-size: 28px;
	line-height: 1.4em;
	max-width: 580px;
	margin-bottom: 44px;
}
.main__posttext {
	margin-bottom: 60px;
}
.main__email {
	margin-bottom: 55px;
}



/* Pincode */

.input {
	width: 100%;
	padding: 10px 24px;
	background: #fff;
	border: 1px solid #0084BE;
	border-radius: 8px;
	font-size: 22px;
	font-weight: 600;
	color: #002E5A;
	text-align: center;
	transition: 0.1s;
}
.input::placeholder {
	color: #919191;
}
.input:focus {
	border: 1px solid #0084BE;
}
.pincode {
	display: grid;
	grid-template-columns: repeat(4, 1fr) 8px repeat(4, 1fr);
	grid-gap: 20px;
	margin-bottom: 28px;
}
.pincode__input {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	padding: 20px 0;
	-moz-appearance: textfield; /* скрываем стрелки в FireFox */
}
.pincode__input::placeholder {
	color: #002E5A;
}
.pincode__input:focus::placeholder {
	color: #fff;
}
.pincode__input::-webkit-outer-spin-button,
.pincode__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}




/* Button */

.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 380px;
	padding: 20px 24px;
	border: none;
	border-radius: 8px;
	background: #219B56;
	box-shadow: 7px 4px 30px 0px rgba(0, 132, 190, 0.20);
	color: #fff;
	font-weight: 600;
	font-size: 26px;
}
.button[disabled] {
	background: #D7D7D7;
}
.button_center {
	margin: 0 auto;
}
@media (hover: hover) {
	.button:hover {
		filter: brightness(120%);
		cursor: pointer;
	}
	.button[disabled]:hover {
		filter: none;
		cursor: default;
	}
}
.button:not([disabled]):active {
	transform: scale(0.95);
}


.table-green {
	border-left: 14px solid #219B56 !important;
}

/* Table */

.table {
	font-size: 22px;
	background: #fff;
	border-left: 14px solid #0084BE;
	border-radius: 8px;
	box-shadow: 7px 4px 30px 0px rgba(0, 132, 190, 0.15);
	padding: 0 54px 0 0;
	margin-bottom: 35px;
}
.table__row {
	padding: 12px 0 12px 54px;
	border-bottom: 1px solid #D7D7D7;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.table__row:last-child {
	border: none;
}
.table__number {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
	color: #919191;
	white-space: nowrap;
}
.table__row_head {
	font-size: 24px;
	font-weight: 700;
	padding: 20px 0 20px 54px;
}
.table__row_head .table__number {
	color: #0084BE;
}
.table__row_total {
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 20px 0 20px 54px;
}
.table__row_total .table__number {
	color: #002E5A;
}

.total_green {
	color: #219B56 !important;
	padding: 20px 0px 20px 0px;
}

.text-green {
	color: #219B56 !important;
}

.error-message {
	color: #DA522E !important;
} 

.success-message {
	color: #219B56 !important;
} 

/* Responsive */

/* 414 */

@media screen and (max-width:767px) {
	
	body {font-size: 18px;}
	.main, .header {max-width: 310px; padding-left: 10px; padding-right: 10px;}

	.header {height: 90px; flex-wrap: wrap; align-content: center;}
	.header__logo {width: 215px;}
	.header__phone {font-size: 15px; margin-left: 34px;}
	.header__phone::before {width: 12px; height: 12px;}

	.main {padding-top: 40px; padding-bottom: 10px;}
	.main::after {background-size: 245px; background-position: bottom 30px right;}
	.main__title {font-size: 26px;}
	.main__subtitle {font-size: 20px; margin-bottom: 25px;}
	.main__pretext {font-size: 20px; margin-bottom: 33px;}
	.main__posttext {margin-bottom: 35px;}

	.button {font-size: 22px;}
	.input {font-size: 16px; padding: 10px 10px;}

	.pincode {grid-gap: 8px;}
	.pincode__input {padding: 12px 0; font-size: 18px;}

	.table {font-size: 16px; line-height: 1.4em; padding: 0 16px 0 0;}
	.table__row {min-height: 64px; padding: 9px 0 9px 16px; grid-template-columns: 1fr 96px; align-items: center;}
	.table__row_head, .table__row_total {font-size: 18px;}
	.table__row_total span {display: none;}
	.table__text {max-width: 100px;}
	.table__number {display: block;}
	
	.total_green {
		color: #219B56 !important;
		padding: 10px 0px 10px 0px !important;
		font-size: 14px;
	}
}

/* 375 */

@media screen and (max-width:400px) {
	
}

/* 360 */

@media screen and (max-width:370px) {
}

/* 320 */

@media screen and (max-width:350px) {
	
}