section{
	margin:10rem auto 5rem;
	max-width: 700px;
}

form{
	display: block;
	padding: 3rem;
	margin-bottom: 2rem;
	font-size: 15px;
	text-align: left;
	/* background: #f8f6f3; */
}

form legend{
	font-size: 16px;
	margin-bottom: 6px;
}

form label{
	font-size: 18px;
	line-height: 1.1;
}

form label a{
	color:#3D4F61;
}

form fieldset{
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

form fieldset:last-child{
	margin:0;
}

form input{
	font:inherit;
	font-size: 16px;
	padding: 0.4em 0.8em;
	width: 100%;
}

form input[type=checkbox]{
	width: auto;
	vertical-align: baseline;
	margin-right: 8px;
}

form input[type=radio]{
	width: auto;
	margin-right: 8px;
	margin-left: 12px;
}

form .btn{
	width: 100%;
}

.fr1{
	width: calc(35% - 20px);
}

.fr1 + .fr3{
	margin-left: 20px;
}

.fr3 + .fr1{
	margin-left: 20px;
}

.fr2{
	width: 50%;
}

.fr2 + .fr2{
	width: calc(50% - 20px);
	margin-left: 20px;
}

.fr3{
	width: 65%;
}

select{
	width: 100%;
	background: #FFF url(/img/down.svg) no-repeat;
	background-position: 98% 50%;
	background-size:14px;
	padding:0.5em 1em;
	font:inherit;
	font-size:16px;
	border-radius: 0;
	-webkit-appearance:none;
	-moz-appearance:none;
	margin:1rem 0;
	border-bottom: 1px solid white;
}

select:hover{
	border-color:gray;
}

textarea{
	width: 100%;
	height: 10em;
	padding:1em;
	font:inherit;
	font-size:16px;
}

.msg-sent{
	font-size: 18px;
    text-align: center;
}

@media only screen and (max-width: 550px){
	section{
		margin-top:46px;
		padding-top:2rem;
	}

	section > img{
		height: auto;
		width: 80%;
	}

	form{
		margin:0 16px;
		padding:2rem 16px;
	}

	select{
		font-size: 14px;
	}

	.fr1,
	.fr3,
	.fr2,
	.fr2 + .fr2,
	.fr1 + .fr3,
	.fr3 + .fr1{
		width: 100%;
		margin-left:0;
		margin-right:0;
	}
}