@import url('https://fonts.googleapis.com/css2?family=PT+Sans+Caption:wght@400;700&display=swap');

:root {
	--white: #FFFFFF;
	--light: #46a75f87;
	--blue: #46a75f;
	--black: #000000;
	--font: 'PT Sans Caption', sans-serif;
	--font-size: 18px;
	--line-height: 140%;
	--font-weight: 400;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--bounce-transition: .35s cubic-bezier(.17,.67,.3,1.33);
	--slow-transition: .75s cubic-bezier(.2, .6, 0, 1);
}

* {
	padding: 0;
	margin: 0;
}

h1,
h2,
h3,
p {
	margin: 0;
}

body {
	font-family: var(--font);
	font-size: var(--font-size);
	line-height: var(--line-height);
	color: var(--black);
	background-color: var(--white);
	position: relative;
	overflow-x: hidden;
}

.container {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.column {
	width: 48%;
	flex: none;
}

.subtitle {
	font-weight: 700;
	font-size: 46px;
	line-height: 110%;
}

.btn {
	border: 0;
	padding: 16px;
	background-color: var(--white);
	color: var(--blue);
	font-weight: 700;
	border-radius: 10px;
	transition: all var(--bounce-transition);
}

.btn:hover {
	transform: scale(1.1);
	color: var(--blue);
}

.main {
	background-color: var(--blue);
	color: var(--white);
	padding: 120px 0;
}

.main__img {
	display: block;
	width: 85%;
	height: 100%;
	object-fit: contain;
	float: right;
}

.main__title {
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 32px;
}

.main__subtitle {
	font-size: 64px;
	font-weight: 700;
	line-height: 110%;
}

.main__descr {
	margin-top: 32px;
}

.main__btn {
	margin-top: 32px;
}

.packages {
	background-color: var(--blue);
	color: var(--white);
}

.packages__img {
	display: block;
	width: 90%;
	height: 100%;
	object-fit: contain;
	margin-bottom: -30%;
	filter: drop-shadow(-5px 5px 20px rgba(52, 131, 70, 0.79));
}

.packages__descr {
	margin-top: 32px;
}

.partners {
	padding: 192px 0;
}

.partners__logos-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}

.partners__logos-row:last-child {
	margin-bottom: 0;
}

.partners__logo_1 {
	width: 150px;
	height: 40px;
}

.partners__logo_2 {
	width: 150px;
	height: 40px;
	background: url("../images/partners/1.png") no-repeat center/contain;
}

.partners__logo_3 {
	width: 52px;
	height: 60px;
	background: url("../images/partners/2.png") no-repeat center/contain;
}

.partners__logo_4 {
	width: 130px;
	height: 70px;
	background: url("../images/partners/3.png") no-repeat center/contain;
}

.partners__logo_5 {
	width: 82px;
	height: 60px;
	background: url("../images/partners/4.png") no-repeat center/contain;
}

.partners__logo_6 {
	width: 182px;
	height: 40px;
	background: url("../images/partners/5.png") no-repeat center/contain;
}

.faq {
	padding: 0 0 120px 0;
}

.faq__container {
	flex-direction: column;
	align-items: flex-start;
}

.faq__title {
	margin-bottom: 48px;
}

.faq__wrapper {
	display: flex;
	flex-direction: column;
}

.faq__text {
	width: 100%;
	margin-top: 32px;
	text-align: center;
	color: gray;
}

.faq__link {
	display: inline-block;
	margin-left: 12px;
	text-decoration: none;
	color: var(--blue);
	transition: all var(--bounce-transition);
}

.faq__link:hover {
	transform: scale(1.05);
}

.question {
	width: 100%;
	border-top: 2px solid #E3E3E3;
	border-bottom: 2px solid #E3E3E3;
	margin-top: -2px;
}

.question__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	cursor: pointer;
}

.question__header.active .question__icon {
	transform: rotate(-45deg);
}

.question__title {
	font-weight: 700;
	font-size: 24px;
}

.question__icon {
	width: 24px;
	height: 24px;
	background: url("../images/icon-cross.svg") no-repeat center/contain;
	flex: none;
	transition: all .3s ease-in-out;
}

.question__body {
	max-height: 0;
	overflow: hidden;
	transition: all var(--slow-transition);
}

.question__content {
	padding: 0 0 24px 0;
}

.sending {
	padding: 120px 0;
	background-color: var(--light);
}

.sending__btn {
	margin-top: 32px;
	background-color: var(--blue);
	color: var(--white);
}

.sending__btn:hover {
	color: var(--white);
}

.sending__text {
	margin-top: 32px;
}

.sending__img {
	display: block;
	width: 40%;
	height: 100%;
	object-fit: contain;
	float: right;
	margin-top: -30%;
}

.flex{
	max-width: 380px;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
}
.flex input{
	border: 1px solid gray;
	border-radius: 10px;
	width: 40px;
	height: 47px;
	text-align: center;
}
.footer {
	padding: 120px 0;
	color: gray;
}

.footer__container {
	align-items: flex-start;
}

.footer__column {
	width: 32%;
}

.footer__logo {
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 12px;
}

.footer__link {
	display: inline-block;
	color: gray;
	transition: all var(--bounce-transition);
	text-decoration: none;
	cursor: pointer;
}

.footer__link:hover {
	color: var(--blue);
	transform: scale(1.05);
}

.footer__phone {
	margin-bottom: 12px;
}

.footer__address {
	margin-bottom: 12px;
}

.footer__info {
	margin-bottom: 12px;
}

.footer__policy {
	margin-bottom: 8px;
	font-size: 14px;
}

.footer__offer {
	font-size: 14px;
}

.modal__container {
	border-radius: 10px;
	padding: 60px;
}

.modal__header {
	margin-bottom: 24px;
	display: flex;
	align-items: center;
}

.modal__title {
	color: var(--black);
}

.modal__close {
	width: 24px;
	height: 24px;
}

.modal__close::before {
	font-weight: 700;
	font-size: 24px;
}

.modal__descr {
	color: gray;
	font-size: 20px;
}

.modal__form {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
}

.modal__form-group {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
}

.modal__form-checkbox {
	width: 16px;
	height: 16px;
	border-radius: 3px;
	margin-right: 8px;
}

.modal__form-label {
	line-height: 100%;
}

.modal__form-label a {
	line-height: 100%;
}

.modal__btn {
	background-color: var(--blue);
	color: var(--white);
	margin: 0 auto;
}

.modal__btn:hover {
	color: var(--white);
}

.modal__form-card {
	width: 100%;
	padding: 12px 16px;
	border-radius: 10px;
	border: 1px solid gray;
}

.modal__link {
	display: inline-block;
	color: var(--blue);
	cursor: pointer;
	text-decoration: underline;
	transition: all var(--bounce-transition);
}

.modal__link:hover {
	transform: scale(1.05);
	color: var(--blue);
}

#offer .modal__container {
	max-width: 80%;
	max-height: 90%;
}

#offer .modal__header {
	align-items: flex-start;
}

#offer .modal__body p {
	margin-bottom: 12px;
}

#offer .modal__body p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width : 1400px) {
	.container {
		max-width: 1140px;
	}

	.main__subtitle {
		font-size: 60px;
	}

	.subtitle {
		font-size: 42px;
	}
}

@media screen and (max-width : 1200px) {
	:root {
		--font-size: 16px;
	}

	.container {
		max-width: 960px;
	}

	.main__title {
		font-size: 20px;
	}

	.main__subtitle {
		font-size: 50px;
	}

	.main__img {
		width: 90%;
	}

	.subtitle {
		font-size: 34px;
	}

	.packages__img {
		width: 75%;
	}

	.question__title {
		font-size: 20px;
	}

	.footer__container {
		flex-wrap: wrap;
	}

	.footer__column {
		width: 50%;
		display: flex;
		flex-direction: column;
	}

	.footer__column:nth-child(3) {
		margin-top: 32px;
	}

	.footer__logo {
		font-size: 20px;
	}
}


@media screen and (max-width : 992px) {
	.container {
		max-width: 720px;
	}

	.main {
		padding: 60px 0;
	}

	.main__title {
		font-size: 18px;
		margin-bottom: 24px;
	}

	.main__subtitle {
		font-size: 38px;
	}

	.main__descr {
		margin-top: 24px;
	}

	.main__img {
		width: 100%;
	}

	.footer__logo {
		font-size: 18px;
	}

	.subtitle {
		font-size: 24px;
	}

	.packages {
		padding: 0 0 48px 0;
	}

	.packages__descr {
		margin-top: 24px;
	}

	.packages__img {
		width: 90%;
		margin-bottom: -30%;
	}

	.partners {
		padding: 120px 0;
	}

	.partners__logos-row {
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-bottom: 24px;
	}

	.partners__logo_1 {
		display: none;
	}

	.partners__logo_2 {
		margin-right: 24px;
	}

	.partners__logo_4 {
		margin-right: 24px;
	}

	.partners__logo_6 {
		margin-top: 24px;
	}

	.faq {
		padding: 0 0 60px 0;
	}

	.faq__title {
		margin-bottom: 36px;
	}

	.question__title {
		font-size: 18px;
	}

	.sending {
		padding: 60px 0;
	}

	.sending__img {
		width: 50%;
	}

	.footer {
		padding: 60px 0;
	}
}

@media screen and (max-width : 768px) {
	:root {
		--font-size: 14px;
	}

	.container {
		max-width: 540px;
	}

	.subtitle {
		font-size: 20px;
	}

	.main__title {
		font-size: 16px;
	}

	.main__subtitle {
		font-size: 28px;
	}

	.packages {
		padding: 0 0 60px 0;
	}

	.packages__img {
		margin-bottom: 0;
	}

	.partners {
		padding: 60px 0;
	}

	.faq {
		padding: 60px 0;
	}

	.faq__title {
		margin-bottom: 24px;
	}

	.faq__text {
		margin-top: 24px;
	}

	.question__title {
		font-size: 16px;
	}

	.question__header {
		padding: 16px 0;
	}

	.question__content {
		padding: 0 0 16px 0;
	}

	.sending__img {
		margin-top: 0;
		width: 60%;
	}

	.footer__logo {
		font-size: 16px;
	}
}

@media screen and (max-width : 576px) {
	.container {
		max-width: 100%;
		padding: 0 12px;
		flex-direction: column;
	}

	.subtitle {
		font-size: 26px;
	}

	.column {
		width: 100%;
	}

	.main__subtitle {
		font-size: 36px;
	}

	.main__descr {
		max-width: 80%;
	}

	.main__img {
		margin-top: 24px;
	}

	.packages {
		padding: 60px 0;
	}

	.packages .container .column:nth-child(1) {
		order: 2;
		margin-top: 24px;
	}

	.packages .container .column:nth-child(2) {
		order: 1;
	}

	.packages__descr {
		max-width: 80%;
	}

	.packages__img {
		width: 70%;
		margin: 0 auto;
	}

	.partners__logos {
		margin-top: 24px;
	}

	.question__title {
		font-size: 14px;
	}

	.question__icon {
		margin-left: 24px;
	}

	.sending__img {
		float: none;
		margin: 0 auto;
		width: 40%;
	}

	.sending .container .column:nth-child(2) {
		margin-top: 24px;
	}

	.footer__column {
		width: 100%;
	}

	.footer__column:nth-child(1) {
		margin-bottom: 24px;
	}

	.footer__column:nth-child(3) {
		margin-top: 24px;
	}

	.footer__logo {
		margin-bottom: 0;
	}

	.modal__container {
		padding: 24px;
		max-width: 300px;
	}

	.modal__descr {
		font-size: 14px;
	}

	#offer .modal__container {
		max-width: 300px;
	}
}