*{
    margin: 0; padding: 0;
	font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif;
}

form{
	width: 100%;
	margin: 0 auto;
	background: white;
	box-shadow: 0px 2px 100px rgba(0,0,0,.1);
	padding: 20px 50px;
}

section{
	margin-bottom: 60px;
}

h1{
	font-size: 1.5em;
	font-weight: 400;
	margin-bottom: 10px;

}

p{
	margin-bottom: 40px;
}
p::after{
	content: "";
	display: block;
	width: 25px;
	height: 4px;
	background: #9ed174;
	margin: 30px 0px;
}

label{
	display: block;
	position: relative;
}
input[type="text"], input[type="email"], input[type="underline"]{
	border: 0px;
	display: block;
	height: 40px;
	outline: none;
	font: 400 16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;
	width: 100%;
}

::-webkit-input-placeholder {
   color: rgba(0,0,0,.25);
}

:-moz-placeholder { /* Firefox 18- */
   color: rgba(0,0,0,.25);
}

::-moz-placeholder {  /* Firefox 19+ */
   color: rgba(0,0,0,.25);
}

:-ms-input-placeholder {  
   color: rgba(0,0,0,.25);
}


.input-line{
	background: rgba(0,0,0,0.12);
	width: 100%;
	height: 2px;
}
.line-color{
	width: 0px;
	height: 2px;
	margin: 0 auto;
	background: #9ed174;
	border-radius: 10px;
	top: 0;
}
label .focused{
	width: 100%;
	transition: .3s	
}
.field{
	display: block;
	margin-bottom: 40px;
}
.field > .title{
	border: none;
	display: block;
	font: 400 18px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;
	outline: none;
	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-y: visible;
	overflow-x: hidden; 
	margin-bottom: 15px;	
}

input[type="checkbox"], input[type="radio"] {
	display: none;
}

.field label{
	display: block;
	margin-bottom: 20px;
}
.checkbox{
	height: 20px;
	width: 20px;
	border: 2px solid gray;
	border-radius: 2px;
	position: relative;
	display: inline-block;
}

.tick{
	width: 12px;
	height: 12px;
	position: absolute;
	background: #9ed174;
    margin: 2px;
    transform: scale(0);
	transition: .2s;

}

.checkbox-option{
	display: inline-block;
	line-height: 23px;
	margin-left: 15px;
	position: absolute;
}

label .checked, label .selected{
    transform: scale(1);
}


.radio{
	height: 20px;
	width: 20px;
	border: 2px solid gray;
	border-radius: 20px;
	position: relative;
	display: inline-block;
}

.radio-text{
	display: inline-block;
	line-height: 23px;
	margin-left: 15px;
	position: absolute;
}

label .selected{
	border-radius: 20px;

}

#guest-information{
	display: none;
}

.remove-guest-button{
	border: 1px solid #ef5656;
	border-radius: 4px;
	padding: 2px 5px;
	background: transparent;
	text-transform: uppercase;
	color: #ef5656;
	font-weight: 600;
	font-size: .6em;
	letter-spacing: .05em;
	position: absolute;
	right: 10px;
	top: 10px;
}

.close-modal-button{
	border-radius: 4px;
	padding: 2px 5px;
	background: transparent;
	text-transform: uppercase;
	color: gray;
	font-weight: 600;
	font-size: .7em;
	letter-spacing: .05em;
	position: absolute;
	right: 20px;
	top: 20px;
}

input[type="submit"]{
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 2px;
	padding: 8px 14px;
	background: #9ed174;
	text-transform: uppercase;
	color: rgba(0,0,0,.5);
	font-weight: 800;
	font-size: .9em;
	letter-spacing: .05em;
}

.field > .hidden-response{
	display: none;
}

.tiny-description{
	display: block;
	margin: 10px 0px;
	color: rgba(0,0,0,.4);
	font-size:.8em;
}
#payment{
	text-align: right;
}

#sent-modal{
	background: white;
	padding: 20px 50px;
    height: 210px;
	width: 50%;
	position: fixed;
	top: 100px;
	border-radius: 4px;
	box-shadow: 0px 5px 50px rgba(0,0,0,.1);
	left: 50%;
	transform: translate(-50%, 0);
	display: none;
}

#guest-information select{
	border: 1px solid rgba(0,0,0,.15);
	background: transparent;
	padding: 5px;
    position: absolute;
    right: 10px;
    margin-top: -40px;
}