
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100vh;

	font-family: 'Poppins', arial;
	font-size: 1em;
}

.attribution { 
	font-size: 14px; 
	text-align: center;
	margin: 10px 0;
}
    
.attribution a { 
	color: hsl(228, 45%, 44%); 
}

section {
	width: 100%;
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;

	background-color: hsl(0, 100%, 74%);
	background-image: url("images/bg-intro-desktop.png");
}

.container {
	width: 1120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.left, .right {
	width: 50%;
	padding: 20px;
}

.left {
	color: #FFFFFF;
}

h1 {
	font-size: 3em;
	line-height: 1.2em;
}

.price {
	padding: 18px;
    margin-bottom: 25px;
    border-radius: 8px;
    box-shadow: 0 8px 0 0 rgba(0,0,0,0.2);

    color: #FFFFFF;
	background-color: hsl(248, 32%, 49%);
    text-align: center;
}

.bold-text {
	font-weight: 600;
}

.light-text {
	color: hsl(246, 25%, 77%);
}

.form-container {
	padding: 20px 40px 40px;
	background-color: #FFFFFF;
	border-radius: 8px;
}

input {
	width: 100%;
	height: 56px;
	border: 1px solid #DDDDDD;
	border-radius: 5px;
	outline: none;
	padding: 0 30px;
	margin-top: 20px;

	font-size: 1em;
	font-weight: 600;
	caret-color: hsl(248, 32%, 49%);
	background: none;
}

input:hover {
	border: 1px solid hsl(246, 25%, 77%);
}

input:focus, input:active {
	border: 1px solid hsl(248, 32%, 49%);
	color:  hsl(249, 10%, 26%);
}

#submitButton {
	background-color: hsl(154, 59%, 51%);
	color: #FFFFFF;
	font-family: 'Poppins', arial;
	font-size: 1em;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;

	width: 100%;
	height: 56px;
	outline: none;
	border: none;
	border-radius: 5px;
	box-shadow: 0 4px 0 0 hsl(154, 59%, 45%);
	transition: background 0.8s;
}

#submitButton:hover {
  background: hsl(154, 59%, 59%) radial-gradient(circle, transparent 1%, hsl(154, 59%, 59%) 1%) center/15000%;
}

#submitButton:active {
  background-color: hsl(154, 59%, 67%);
  background-size: 100%;
  transition: background 0s;
}


.form-container p {
	font-size: 0.7em;
    color: hsl(246, 25%, 77%);
    margin: 20px 0 0;
    text-align: center;
}

.red-text {
	color: hsl(0, 100%, 74%);
	font-weight: 700;
}

input.error {
	border: 1px solid hsl(0, 100%, 74%);
	color: hsl(0, 100%, 74%);
	background: url("images/icon-error.svg") no-repeat 390px 15px;
}

.error-msg {
	display: none;
	float: right;
    font-style: italic;
    font-size: 0.7em;
    font-weight: 600;
    color: hsl(0, 100%, 74%);
    margin-top: 5px;
}

.error + .error-msg {
	display: block;
}


@media only screen and (max-width: 950px) {

	.container {
		flex-direction: column;
	}

	.left, .right {
		width: 560px;
	}

	.left h1, .left p {
		text-align: center;
	}
}

@media only screen and (max-width: 600px) {

	section {
		background-image: url("images/bg-intro-mobile.png");
	}

	.left, .right {
		width: 100%;
	}

	.left h1 {
		font-size: 2em;
	}
}

