*,
*::before,
*::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}
input,
button,
textarea,
select {
	font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

:root {
	--gradient: linear-gradient(to bottom right, #f8bfbf 0%, #ee8b8b 100%);
	--dark-brown: #423a3a;
	--light-brown: #ce9898;
	--pink: #ee8b8b;
	--white: #fff;
}

body {
	display: flex;
	justify-content: center;
	align-items: center;
}

.grid-container {
	display: grid;
	grid-template-columns: 60% 40%;
	grid-template-rows: 0.4fr 1fr;
	height: 100vh;
	width: 100vw;
	font-family: 'Josefin Sans';
}

.title {
	padding: 60px 165px;
	grid-row: 1/2;
	grid-column: 1/2;
}

.picture {
	grid-row: 1/3;
	grid-column: 2/3;
	width: 100%;
	height: 100%;
}

.picture__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section {
	padding: 0px 190px 0px 165px;
	grid-column: 1/2;
	grid-row: 2/3;
	max-width: 800px;
}

.section__title {
	font-size: 64px;
	letter-spacing: 17px;
	line-height: 71px;
	font-weight: 600;
	color: var(--dark-brown);
	text-transform: uppercase;
	margin-bottom: 32px;
}

.section__title--span {
	color: var(--light-brown);
	font-weight: 300;
}

.section__p {
	line-height: 28px;
	color: var(--light-brown);
	margin-bottom: 40px;
}

.section__label {
	width: 445px;
	height: 56px;
	display: flex;
	border-radius: 45px;
	border: 1px solid var(--light-brown);
	position: relative;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.error .section__label {
	border: 1px solid red;
}

.section__label--input {
	width: 100%;
	border: none;
	padding: 0px 32px;
	outline: none;
}

.section__label--input::placeholder {
	color: #ce9898;
}

.section__label--div {
	background-image: var(--gradient);
	width: 100px;
	height: 100%;
	border-radius: 30px;
	position: absolute;
	right: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: scale(1.1);
	z-index: 5;
}

.section__label--div::after {
	border-radius: 30px;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.5);
	opacity: 0;
	border-radius: 150px;
}

.section__label--div:hover::after {
	opacity: 1;
}

.section__bg {
	grid-column: 1/2;
	grid-row: 1/3;
	z-index: -1;
	background-size: contain;
	width: 100%;
	height: 100vh;
}

.footer {
	position: absolute;
	bottom: 0;
	grid-column: 1/2;
	margin: auto;
	left: 15%;
}

.attribution {
	font-size: 14px;
	text-align: center;
}

.attribution a {
	color: hsl(228, 45%, 44%);
}

.error__icon,
.error__text {
	display: none;
}

.error .error__icon {
	position: absolute;
	right: 110%;
	display: block;
}

.error .error__text {
	color: red;
	display: block;
	font-size: 13px;
	line-height: 28px;
	position: relative;
	left: 5%;
	top: 1%;
}

@media (max-width: 600px) {
	.grid-container {
		display: block;
		max-width: 375px;
	}
	.picture {
		max-width: 376px;
		max-height: 250px;
	}
	.footer {
		display: none;
	}
	.title {
		padding: 32px;
	}
	.section {
		padding: 64px 32px 92px 32px;
		text-align: center;
		background-image: linear-gradient(to bottom right, white, #fff4f4);
	}
	.section__bg {
		display: none;
	}
	.section__title {
		font-size: 40px;
		line-height: 42px;
		letter-spacing: 11px;
	}
	.section__p {
		font-size: 14px;
		line-height: 22px;
	}
	.section__label {
		width: 100%;
		height: 48px;
		margin: auto;
	}
	.section__label--div {
		width: 64px;
		height: 48px;
		margin-bottom: 92px;
	}
	.error .error__text {
		left: -20%;
		top: 5%;
	}
}
