/* Css Variable */
:root {
	--cloud: #f4f4fd;
	--cornflower: #e7e9fc;
	--iris: #4d5ae5;
	--navyblue: #2e2f42;
	--ocean: #404bbf;
	--slate: #434455;
	--white: #ffffff;
	--grey: #2e2f42;
	--lightslate: #8e8f99;
	--green: #31d0aa;
	--dairy: #fcfcfc;
}

* {
	list-style: none;
	text-decoration: none;
}

/* Global Reset */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

ul {
	margin: 0;
	padding: 0;
}

a.link {
	color: inherit;
	text-decoration: none;
}
/* End of Global Reset */

.container {
	padding: 0 15px;
	margin: 0 auto;
	overflow: hidden;

	@media screen and (min-width: 428px) {
		max-width: 428px;
	}

	@media screen and (min-width: 768px) {
		max-width: 768px;
	}

	@media screen and (min-width: 1158px) {
		max-width: 1158px;
	}
}

.section {
	padding-top: 96px;
	padding-bottom: 96px;

	@media screen and (min-width: 768px) {
		padding-top: 96px;
		padding-bottom: 96px;
	}

	@media screen and (min-width: 1158px) {
		padding-top: 120px;
		padding-bottom: 120px;
	}
}

body {
	color: var(--navyblue, #2e2f42);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.64px;
}

.menu-container {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	padding: 32px;
	background-color: var(--white);
	z-index: 999;

	transform: translate(100%);
	transition: transform 250ms ease-in-out;

	padding: 80px 0 40px 40px;

	@media screen and (min-width: 320px) and (max-width: 375px) {
		padding: 80px 0 40px 10px;
	}
}

.mobile-menu-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.menu-container.is-open {
	transform: translateX(0);
}

.menu-container .menu-toggle {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 24px;
	right: 24px;
	width: 24px;
	height: 24px;
	color: var(--navyblue);
	border-radius: 50%;
	background-color: var(--cornflower);
	border-color: rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition-property: background-color, border-color, color;
	transition-duration: 250ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-container .menu-toggle:hover,
.menu-container .menu-toggle:focus {
	background-color: var(--ocean);
	color: var(--white);
}
.mobile-contact-footer-list {
	display: inline-flex;
	flex-direction: column;
	gap: 40px;
}

.mobile-icons-footer {
	display: flex;
	gap: 56px;
	margin-top: 48px;

	@media screen and (min-width: 320px) {
		gap: 48px;
	}
}

.mobile-tel-footer-item {
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.72px;
	color: var(--iris);
}

.mobile-email-footer-item {
	font-size: 20px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.4px;
	color: var(--slate);
}

.mobile-menu {
	padding: 0;
	margin: 0;
	list-style: none;
	width: 100%;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}

.mobile-menu-item {
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.72px;
	color: var(--navyblue);
}

.header {
	border-bottom: 1px solid var(--cornflower, #e7e9fc);
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;

	@media screen and (max-width: 767px) {
		height: 70px;
	}
}

.logo-navigation {
	display: flex;
	align-items: center;
}

.header-logo {
	margin-right: 76px;
}

.web-logo {
	color: var(--iris, #4d5ae5);
	font-size: 18px;
	font-family: Raleway;
	font-weight: 800;
	line-height: 21px;
	letter-spacing: 0.54px;
	text-transform: uppercase;
}

.studio-logo {
	color: var(--navyblue, #2e2f42);
	font-size: 18px;
	font-family: Raleway;
	font-weight: 800;
	line-height: 21px;
	letter-spacing: 0.54px;
	text-transform: uppercase;
}

.menu-navigation {
	display: none;
	/* display: flex;
	align-items: center;
	gap: 40px; */

	@media screen and (min-width: 768px) {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 40px;
	}
}

.menu-link {
	position: relative;
	color: var(--navyblue, #2e2f42);
	letter-spacing: 0.32px;
	display: block;
	padding: 24px 0;
	transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-link:hover,
.menu-link:focus {
	color: var(--ocean);
}
.menu-link:hover::after,
.menu-link:focus::after {
	opacity: 1;
}

.active-link {
	position: relative;
	color: var(--ocean);
}

a.menu-link.active-link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 4px;
	opacity: 1;
	border-radius: 2px;
	border: 2px solid var(--ocean);
	background-color: var(--ocean);
}

.menu-link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 4px;
	opacity: 0;
	border-radius: 2px;
	border: 2px solid var(--ocean);
	background-color: var(--ocean);
	transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-toggle {
	min-height: 40px;
	min-width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	background-color: transparent;
	cursor: pointer;
	border: none;
	border-radius: 50%;
	outline: none;
	margin-left: auto;

	@media screen and (min-width: 768px) {
		display: none;
	}
}

.menu-right-navigation {
	display: none;

	@media screen and (min-width: 768px) {
		display: block;
		align-items: center;
		gap: 40px;
		font-size: 12px;
		text-align: right;
	}

	@media screen and (min-width: 1158px) {
		display: flex;
		font-size: 16px;
	}
}

.menu-right-item {
	color: var(--slate, #434455);
	font-weight: 400;
	letter-spacing: 0.32px;
	display: block;
	padding: 24px 0;
	transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1);

	@media screen and (min-width: 768px) {
		padding: 0;
	}
}

.menu-right-item:hover,
.menu-right-item:focus {
	color: var(--ocean);
}

/* ------------------------------------------- Studio --------------------------------------- */
.section-title {
	text-align: center;

	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.72px;
	text-transform: capitalize;
	margin-bottom: 72px;
}

.hero-section {
	text-align: center;
	padding-top: 112px;
	padding-bottom: 112px;
	width: 100%;
	background: var(--navyblue, #2e2f42);
	background-image: linear-gradient(
			to right,
			rgba(46, 47, 66, 0.7),
			rgba(46, 47, 66, 0.7)
		),
		url(../images/people-office-m.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	@media (min-device-pixel-ratio: 2),
		(min-resolution: 192dpi),
		(min-resolution: 2dppx) {
		background-image: linear-gradient(
				to right,
				rgba(46, 47, 66, 0.7),
				rgba(46, 47, 66, 0.7)
			),
			url(../images/people-office-m@2x.jpg);
		background-image: linear-gradient(
				to right,
				rgba(46, 47, 66, 0.7),
				rgba(46, 47, 66, 0.7)
			),
			url(../images/people-office-m@2x.jpg);
	}

	/* tablet */
	@media screen and (min-width: 768px) {
		background-image: linear-gradient(
				to right,
				rgba(46, 47, 66, 0.7),
				rgba(46, 47, 66, 0.7)
			),
			url(../images/people-office-t.jpg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;

		@media (min-device-pixel-ratio: 2),
			(min-resolution: 192dpi),
			(min-resolution: 2dppx) {
			background-image: linear-gradient(
					to right,
					rgba(46, 47, 66, 0.7),
					rgba(46, 47, 66, 0.7)
				),
				url(../images/people-office-t@2x.jpg);
			background-image: linear-gradient(
					to right,
					rgba(46, 47, 66, 0.7),
					rgba(46, 47, 66, 0.7)
				),
				url(../images/people-office-t@2x.jpg);
		}
	}

	/* desktop */
	@media screen and (min-width: 1158px) {
		background-image: linear-gradient(
				to right,
				rgba(46, 47, 66, 0.7),
				rgba(46, 47, 66, 0.7)
			),
			url(../images/people-office-d.jpg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;

		@media (min-device-pixel-ratio: 2),
			(min-resolution: 192dpi),
			(min-resolution: 2dppx) {
			background-image: linear-gradient(
					to right,
					rgba(46, 47, 66, 0.7),
					rgba(46, 47, 66, 0.7)
				),
				url(../images/people-office-d@2x.jpg);
			background-image: linear-gradient(
					to right,
					rgba(46, 47, 66, 0.7),
					rgba(46, 47, 66, 0.7)
				),
				url(../images/people-office-d@2x.jpg);
		}
	}

	@media screen and (min-width: 1158px) {
		padding-top: 188px;
		padding-bottom: 188px;
	}
}

.hero-title {
	margin-bottom: 48px;

	color: var(--white, #fff);
	text-align: center;

	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.72px;

	@media screen and (min-width: 768px) {
		font-size: 56px;
		line-height: 60px;
		letter-spacing: 1.12px;
	}
}

.button-order-service {
	border-radius: 4px;
	background: var(--iris);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
	padding: 16px 32px;

	color: var(--white, #fff);
	font-weight: 500;
	letter-spacing: 0.64px;
	cursor: pointer;
	border: none;

	color: var(--white, #fff);
	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.button-order-service:hover,
.button-order-service:focus {
	background-color: var(--ocean, #404bbf);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

/* Benefits Section */
.benefits-svg-icons {
	display: none;

	@media screen and (min-width: 1158px) {
		display: flex;
		background: var(--cloud, #f4f4fd);
		width: 100%;
		height: 112px;
		flex-shrink: 0;
		justify-content: center;
		align-items: center;
		border-radius: 4px;
	}
}

.benefits-list {
	display: flex;
	row-gap: 72px;
	column-gap: 24px;
	/* justify-content: space-between; */
	@media screen and (max-width: 428px), (min-width: 428px) {
		flex-wrap: wrap;
	}

	@media screen and (min-width: 1158px) {
		flex-wrap: nowrap;
	}
}

.benefits-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;

	@media screen and (min-width: 768px) {
		gap: 24px;
		flex-basis: calc(100% / 2 - 18px);
	}
}

.benefits-title {
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0.4px;

	@media screen and (min-width: 1158px) {
		font-size: 20px;
		font-weight: 400px;
	}

	@media screen and (max-width: 768px) {
		margin: 0 auto;
	}
}

.benefits-description {
	font-weight: 400;

	letter-spacing: 0.32px;
}

/* End of Benefits Section */

/* What Are we doing Section */
@media screen and (max-width: 1157px) {
	.what-are-we-doing {
		display: none;
	}

	.what-are-we-doing-title {
		display: none;
	}
}

.section-no-top-padding {
	padding-top: 0;
}

.what-we-do-item {
	display: flex;
}

.what-we-do-list {
	display: flex;
	gap: 24px;
	justify-content: center;
}
/* End of What are we doing section */

/* Our Team Section */
.section-grey {
	background: var(--cloud, #f4f4fd);
}

.team-members {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 72px;

	@media screen and (min-width: 768px) {
		row-gap: 64px;
		column-gap: 24px;
	}

	@media screen and (min-width: 1158px) {
		flex-wrap: nowrap;
		gap: 24px;
	}
}

.team-members-item {
	border-radius: 0px 0px 4px 4px;
	background: var(--white, #fff);
	box-shadow: 0px 2px 1px 0px rgba(46, 47, 66, 0.08),
		0px 1px 1px 0px rgba(46, 47, 66, 0.16),
		0px 1px 6px 0px rgba(46, 47, 66, 0.08);
	width: 100%;

	@media screen and (min-width: 768px) {
		width: calc(100% / 2 - 35px);
	}

	/* @media screen and (max-width: 767px) {
		margin-bottom: 72px;
	} */

	/* @media screen and (max-width: 1157px) {
		margin-bottom: 64px;
	} */

	@media screen and (min-width: 1158px) {
		width: calc(100% / 4 - 40px);
	}
}

.team-members-name {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.4px;
}

.team-members-role {
	color: var(--slate, #434455);
	text-align: center;
	font-size: 16px;
	font-weight: 400;
}

.card-content-our-team {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;

	padding: 32px 16px;
}

.our-team-social-list {
	display: flex;
	justify-content: center;
	gap: 24px;
}

.our-team-icon-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var(--iris);
	background-color: var(--iris);
	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.our-team-icon-link:hover {
	background-color: var(--ocean);
}

.our-team-icon {
	fill: var(--cloud);
}
/* End of our team section */

/* Client Section */
.client-list {
	display: flex;
	justify-content: center;
	row-gap: 72px;
	column-gap: 16px;
	flex-wrap: wrap;

	@media screen and (min-width: 768px) {
		row-gap: 72px;
		column-gap: 24px;
	}

	@media screen and (min-width: 1158px) {
		gap: 20px;
	}
}

@media screen and (min-width: 768px) {
	.client-icon-item {
		flex-basis: calc(100% / 3 - 30px);
	}
}

@media screen and (min-width: 1158px) {
	.client-icon-item {
		flex-basis: calc(100% / 6 - 30px);
	}
}

.client-icon-link {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--lightslate);
	border: 1px solid var(--lightslate);
	border-radius: 4px;
	transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		border-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
	width: 100%;
}

.client-icon {
	fill: currentColor;
}

.client-icon-link:hover,
.client-icon-link:focus {
	color: var(--ocean);
	border-color: var(--ocean);
}
/* end of Client section */
/* ------------------------------------------- end of Studio --------------------------------------- */

/* ------------------------------------------- Portfolio --------------------------------------- */
.button-list {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-bottom: 72px;
	flex-wrap: wrap;

	@media screen and (max-width: 767px) {
		justify-content: left;
	}
}

.filter-button {
	border-radius: 4px;
	border: 1px solid var(--cornflower, #e7e9fc);
	background: var(--cloud, #f4f4fd);

	color: var(--iris, #4d5ae5);

	/* Button Text */
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.64px;
	cursor: pointer;

	padding: 12px 24px;

	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1),
		color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		border 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.filter-button.filter-active {
	background-color: var(--ocean, #404bbf);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.12),
		0px 2px 1px 0px rgba(0, 0, 0, 0.08), 0px 3px 1px 0px rgba(0, 0, 0, 0.1);
	color: var(--white, #fff);
	border: 1px solid var(--ocean, #404bbf);
}

.filter-button:hover,
.filter-button:focus {
	border-radius: 4px;
	background: var(--ocean, #404bbf);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.12),
		0px 2px 1px 0px rgba(0, 0, 0, 0.08), 0px 3px 1px 0px rgba(0, 0, 0, 0.1);
	color: var(--white, #fff);
	border: 1px solid var(--ocean, #404bbf);
}

.portfolio {
	display: flex;
	gap: 48px 24px;
	flex-wrap: wrap;
	justify-content: center;

	@media screen and (min-width: 768px) and (max-width: 1157px) {
		justify-content: flex-start;
	}
}

.card-item {
	display: flex;

	flex-direction: column;
	align-items: flex-start;
	background: var(--white, #fff);
	transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);

	@media screen and (min-width: 768px) {
		width: calc(100% / 2 - 30px);
		justify-content: flex-start;
	}

	@media screen and (min-width: 1158px) {
		width: calc(100% / 3 - 30px);
	}
}

.portfolio-overlay {
	position: relative;
	overflow: hidden;
}

.portfolio-overlay-text {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	padding: 32px;
	color: var(--cloud);
	background-color: var(--iris);
	transform: translateY(100%);
	transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);

	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.32px;
}

.card-item a:hover .portfolio-overlay-text,
.card-item a:focus .portfolio-overlay-text {
	transform: translateY(0);
}

.card-content {
	padding: 23px 16px;
	width: 100%;
	border: 1px solid var(--cornflower, #e7e9fc);
}

.card-item .link:hover,
.card-item .link:focus {
	box-shadow: 0px 2px 1px 0px rgba(46, 47, 66, 0.08),
		0px 1px 1px 0px rgba(46, 47, 66, 0.16),
		0px 1px 6px 0px rgba(46, 47, 66, 0.08);
}

.card-title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.4px;
	margin-bottom: 8px;
}

.card-description {
	color: var(--slate, #434455);

	font-weight: 400;
	letter-spacing: 0.32px;
}

/* Footer */
.footer {
	background: var(--navyblue, #2e2f42);
	padding: 100px 0;
}

.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;

	@media screen and (max-width: 767px) {
		display: flex;
		flex-direction: column;
	}

	/* @media screen and (min-width: 375px) and (max-width: 1157px) {
		display: flex;
		flex-direction: column;
	} */

	@media screen and (min-width: 768px) {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: left;
		flex-wrap: wrap;
	}

	@media screen and (min-width: 1158px) {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
}

.footer-container {
	display: block;
	max-width: 100%;

	@media screen and (min-width: 768px) and (max-width: 1157px) {
		margin-left: 24px;
		margin-bottom: 72px;
	}
}

@media screen and (max-width: 768px) {
	.footer-container {
	}
}

@media screen and (min-width: 768px) {
	.logo-wrapper {
		text-align: left;
	}
}

.web-logo-footer {
	color: var(--iris, #4d5ae5);
	font-size: 18px;
	font-family: Raleway;
	font-weight: 800;
	line-height: 21px;
	letter-spacing: 0.54px;
	text-transform: uppercase;
}

.studio-logo-footer {
	color: var(--cloud, #f4f4fd);
	font-family: Raleway;
	font-size: 18px;
	font-style: normal;
	font-weight: 800;
	line-height: 21px; /* 116.667% */
	letter-spacing: 0.54px;
	text-transform: uppercase;
}

.footer-text {
	display: flex;
	justify-content: center;
	color: var(--cloud, #f4f4fd);
	font-weight: 400;
	flex-grow: 1;
	margin-top: 17.5px;
	text-align: left;
}

.footer-social-media-text {
	color: var(--white, #fff);
	letter-spacing: 0.32px;
	/* text-align: left; */

	@media screen and (min-width: 768px) {
		text-align: left;
	}

	@media screen and (max-width: 767px) {
		margin-top: 72px;
	}
}

.footer-icon {
	fill: var(--cloud);
}

@media screen and (min-width: 768px) and (max-width: 1557px) {
	.footer-social-links {
		margin-left: 24px;
	}
}

.footer-icon-list {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 16px;
}

.footer-icon-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;

	border-radius: 50%;
	color: var(--cloud);
	background-color: var(--iris);
	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-icon-link:hover {
	background-color: var(--green);
}

.subscribe-text {
	color: var(--white);
	letter-spacing: 0.32px;

	@media screen and (min-width: 768px) {
		text-align: left;
	}

	@media screen and (max-width: 767px) {
		margin-top: 72px;
	}
}

.email-subscribe {
	margin-top: 16px;
	background-color: transparent;
	font-size: 12px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.48px;
	margin-right: 24px;
	color: var(--white);

	height: 40px;
	padding: 8px 0 8px 16px;
	border: 1px solid var(--white);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
	border-radius: 4px;

	transition: outline 250ms cubic-bezier(0.4, 0, 0.2, 1),
		border 250ms cubic-bezier(0.4, 0, 0.2, 1);
	width: 100%;

	@media screen and (min-width: 768px) {
		width: 264px;
	}
}

.email-subscribe:hover,
.email-subscribe:focus {
	outline: none;
	border: 1px solid var(--iris);
}

.subscribe-button {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: inherit;
	font-weight: 500;
	font-size: 16px;
	color: var(--white);
	letter-spacing: 0.32px;
	background-color: var(--iris);
	padding: 8px 24px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	margin: 0 auto;
	margin-top: 16px;

	height: 40px;

	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.subscribe-form {
	display: block;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.subscribe-form {
		display: flex;
		align-items: center;
	}
}

.subscribe-button:hover,
.subscribe-button:focus {
	background-color: var(--ocean);
}

.subscribe-icon {
	fill: var(--white);
}

/* MODAL WINDOW */
.backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	opacity: 1;

	transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1),
		visibility 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.modal {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: normal;
	top: 50%;
	left: 50%;
	min-width: 100%;
	height: 100vh;
	padding: 72px 24px 24px 24px;
	border-radius: 4px;
	background-color: var(--dairy);
	overflow: hidden;

	transform: translate(-50%, -50%) scale(1);
	transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);

	@media screen and (min-width: 428px) {
		height: auto;
	}

	@media screen and (min-width: 768px) {
		min-width: 428px;
	}
}

.modal-close {
	position: absolute;
	top: 24px;
	right: 24px;
	padding: 0px;

	display: flex;
	justify-content: center;
	align-items: center;

	width: 30px;
	height: 30px;
	fill: var(--cornflower);
	color: var(--navyblue);
	border: 1px solid rgba(0, 0, 0, 0.01);
	border-radius: 15px;
	cursor: pointer;
	transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-close-icon {
	fill: currentColor;
}

.modal-close:hover,
.modal-close:focus {
	background-color: var(--ocean);
	color: var(--white);
}

.is-hidden {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.form {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.form-description {
	font-size: 16px;
	text-align: center;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.32px;
	padding: 0px 10px;
	margin-bottom: 34px;
}

.label {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	color: var(--lightslate);
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.48px;
	margin-bottom: 26px;
	transition: border 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.label:nth-child(4) {
	margin-bottom: 0px;
}

.label-text {
	position: absolute;
	top: -18px;
}

.label:hover .input,
.label:focus-within .input {
	border: 1px solid var(--iris);
	outline: none;
}

.label:hover .modal-icon,
.label:focus-within .modal-icon {
	fill: var(--iris);
}

.label:hover .input-comment,
.label:focus-within .input-comment {
	border: 1px solid var(--iris);
	outline: none;
}

.input {
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.48px;
	width: 100%;
	border-radius: 4px;
	padding: 11px 16px 11px 37px;
	border: 1px solid var(--navyblue-modal, rgba(46, 47, 66, 0.4));

	transition: border 250ms cubic-bezier(0.4, 0, 0.2, 1),
		outline 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 16px;
	transition: fill 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.input-comment {
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.48px;
	border-radius: 4px;
	height: 120px;
	border: 1px solid var(--navyblue-modal, rgba(46, 47, 66, 0.4));
	padding: 8px 16px;
	resize: none;

	transition: border 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.input-comment::placeholder {
	font-size: 12px;
}
/* .policy {
	display: flex;
	align-items: center;
	color: var(--lightslate, #8e8f99);
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.48px;
	margin-top: 16px;
	margin-bottom: 24px;
} */

.policy-underline {
	text-decoration: underline;
	color: var(--iris);
	cursor: pointer;
	font-size: 12px;
}

.modal-send {
	color: var(--white, #fff);

	border-radius: 4px;
	background: var(--iris, #4d5ae5);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
	padding: 16px 32px;
	border: none;
	width: 170px;
	transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-send:hover {
	background-color: var(--ocean, #404bbf);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.policy {
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;

	display: flex;
	align-items: center;
	color: var(--lightslate, #8e8f99);
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.48px;
	margin-top: 16px;
	margin-bottom: 24px;
}

.checkbox-default {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	background-color: #eee;
}

.policy input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.icon-checkbox-check {
	position: absolute;
	fill: transparent;
	border: 1px solid var(--lightslate);
	border-radius: 2px;
	left: -22px;
}

.policy input:checked ~ .icon-checkbox-check {
	background-color: var(--ocean);
	color: var(--white);
	fill: currentColor;
	border: none;
	left: -22px;
}

.icon-checkbox-check:after {
	content: '';
	position: absolute;
	display: none;
}

.policy input:checked ~ .icon-checkbox-check:after {
	display: block;
}
