section.main > div {
	padding: 5px 20px 30px 20px;
}

.form {
	border: 1px solid #DDD;
	border-radius: 10px;
	margin-top: 40px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	box-shadow: 0 5px 15px -5px rgba(0,0,0,.15);
}

.form > div {
	flex: 1 0 100%;
}

.form > div:first-child > fieldset:first-child {
	border-top: none;
}

.form fieldset {
	background: #FFF;
	border: none;
	border-top: 1px solid #DDD;
	padding: 20px 10px;
	flex: 1 0 100%;
	position: relative;
}

.form > div > input[type="checkbox"] {
	position: absolute;
	opacity: 0;
}

.form fieldset > legend {
	margin-bottom: -1px;
	padding: 0 10px;
	display: block;
	width: 100%;
	float: left;
}

.form fieldset > legend strong {
	font-weight: 700;
}

.form fieldset > legend > label {
	padding: 20px;
	margin: -20px;
	display: flex;
}

.form fieldset > legend > label > strong {
	align-self: center;
}

.form fieldset > legend + span {
	clear: left;
	display: block;
}

.form input[type="checkbox"] + fieldset > legend > label > i.input {
	background: #FFF;
	border: 2px solid #AAA;
	border-radius: 15%;
	margin-right: 10px;
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
}

.form input[type="checkbox"]:checked + fieldset > legend > label > i.input {
	border-color: #4B2;
	transition: border-color 150ms ease-in-out;
}

.form input[type="checkbox"] + fieldset > legend > label > i.input:after {
	content: '';
	border-right: 3px solid #4B2;
	border-bottom: 3px solid #4B2;
	display: block;
	width: 0%;
	height: 0%;
	position: relative;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%, -50%) rotate(45deg);
	filter: drop-shadow(0 0 #4B2);
}

.form input[type="checkbox"]:focus + fieldset > legend > label > i.input {
	outline: 1px dotted #000;
	outline-offset: -4px;
}

.form input[type="checkbox"]:checked + fieldset > legend > label {
	vertical-align: top;
	display: inline-flex;
}

.form input[type="checkbox"]:checked + fieldset > legend > label > i.input:after {
	width: 25%;
	height: 50%;
	top: 45%;
	opacity: 1;
	transition: all 150ms ease-in-out;
}

.form fieldset > div {
	padding-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
}

.form fieldset > div > div {
	margin-top: 20px;
	padding: 0 10px;
	flex: 1 0 50%;
}

.form fieldset > div > div.size-1-1 {
	flex-basis: 100%;
}

.form fieldset > div > div.hint {
	color: #888;
	font-size: 90%;
}

.form fieldset > div > div > label {
	font-size: 85%;
	display: inline-block;
}

.form fieldset > div > div > input,
.form fieldset > div > div > textarea {
	background: #F8F8F8;
	border: 1px solid #DDD;
	border-radius: 5px;
	font: inherit;
	padding: 8px 15px;
	width: 100%;
}

.form fieldset > div > div > textarea {
	resize: vertical;
}

.form fieldset > div > div > input:focus,
.form fieldset > div > div > textarea:focus {
	background: rgba(12,174,97,.15);
	border-color: #4B2;
	outline: none;
	box-shadow: 0 0 0 2px #4B2, 0 5px 10px -5px rgba(0,0,0,.2);
}

.form fieldset > div > div > input[readonly]:focus,
.form fieldset > div > div > textarea[readonly]:focus {
	background: #F0F0F0;
	border-color: #CCC;
	outline: none;
	box-shadow: 0 0 0 2px #CCC;
}

.form input[type="checkbox"] + fieldset > legend + span + div {
	display: none;
}

body:not(.js) .form input[type="checkbox"]:checked + fieldset > legend + span + div {
	display: flex;
}

.form_control-buttons {
	margin: 20px -15px 0 -15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	direction: rtl;
}

.form_control-buttons > button {
	color: #888;
	background: #DDD;
	border: none;
	border-radius: 5px;
	font: inherit;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	margin: 30px 15px 0 15px;
	padding: 12px 20px;
	direction: ltr;
}

.form_control-buttons > button::-moz-focus-inner {
	border: none;
}

.form_control-buttons > button:focus {
	outline: 1px dotted #000;
	outline-offset: -10px;
}

.form_control-buttons > button.primary:focus {
	outline-color: #FFF;
}

.form_control-buttons > button:not(:disabled) {
	cursor: pointer;
}

.form_control-buttons > button.primary {
	color: #FFF;
	background: #4B2;
	border-color: transparent;
}

.form_control-buttons > button.primary:disabled {
	color: #DDD;
	background: #888;
}

@media (max-width: 600px) {

	.form fieldset > div > div {
		flex-basis: 100%;
	}

}