/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) {
	:focus { outline: none; }
a:focus, a:active, button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, select::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner { border: 0; outline : 0; }

}

@media(max-width: 767px){
	.label-top-20{
		top:20px!important;
	}
}

/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 320px) {}

.errorbox, #postcodeError {
	width:100%;
	float: left;
}

.errormachtiging{
	float:left;
	padding-left:30px;	
}


li.error {
	color:#EB8283;
	font-size:14px;
	list-style-type:none;
}

li.valid {
	height:0;
	color:#EB8283;
	font-size:11px;
	list-style-type:none;        
}


/* Checkbox */
@-moz-keyframes 
dothabottomcheck {  0% {
 height: 0;
}
 100% {
 height: 11px;
}
}
@-webkit-keyframes 
dothabottomcheck {  0% {
 height: 0;
}
 100% {
 height: 11px;
}
}
@keyframes 
dothabottomcheck {  0% {
 height: 0;
}
 100% {
 height: 11px;
}
}
@keyframes 
dothatopcheck {  0% {
 height: 0;
}
 50% {
 height: 0;
}
 100% {
 height: 24px;
}
}
@-webkit-keyframes 
dothatopcheck {  0% {
 height: 0;
}
 50% {
 height: 0;
}
 100% {
 height: 24px;
}
}
@-moz-keyframes 
dothatopcheck {  0% {
 height: 0;
}
 50% {
 height: 0;
}
 100% {
 height: 24px;
}
}

input[type=checkbox] { visibility:hidden; }

.check input:focus ~ label, .check input:valid ~ label {
	top:0;
	cursor:pointer;
	color:#012f6f;
	margin-right:-30px;
	width:95%;
	height:auto;
	font-family: 'museo', sans-serif;
}

.check-box {
  width: 100%;
  height:18px;
  padding:1px 0 0 30px;
  background-color: transparent;
  position: relative;
  display: inline-block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-transition: border-color ease 0.2s;
  -o-transition: border-color ease 0.2s;
  -webkit-transition: border-color ease 0.2s;
  transition: border-color ease 0.2s;
  background:url(img/checkbox.png) no-repeat left top;
  background-size:17px 17px;
  font-size:14px;
  line-height:16px;
}

.check-box::before,
.check-box::after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  height: 0;
  width: 3px;
  background-color: #3399FF;
  display: inline-block;
  -moz-transform-origin: left top;
  -ms-transform-origin: left top;
  -o-transform-origin: left top;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  border-radius: 1px;
  content: ' ';
  -webkit-transition: opacity ease .5;
  -moz-transition: opacity ease .5;
  transition: opacity ease .5;
}
.check-box::before {
  top: 15px;
  left: 9px;
  box-shadow: 0 0 0 0px #ffffff;
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.check-box::after {
  top: 8px;
  left: 0px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

input[type=checkbox]:checked + .check-box,
.check-box.checked { border-color: #3399FF; }

input[type=checkbox]:checked + .check-box::after,
.check-box.checked::after {
  height: 12px;
  -moz-animation: dothabottomcheck 0.2s ease 0s forwards;
  -o-animation: dothabottomcheck 0.2s ease 0s forwards;
  -webkit-animation: dothabottomcheck 0.2s ease 0s forwards;
  animation: dothabottomcheck 0.2s ease 0s forwards;
}

input[type=checkbox]:checked + .check-box::before,
.check-box.checked::before {
  height: 30px;
  -moz-animation: dothatopcheck 0.4s ease 0s forwards;
  -o-animation: dothatopcheck 0.4s ease 0s forwards;
  -webkit-animation: dothatopcheck 0.4s ease 0s forwards;
  animation: dothatopcheck 0.4s ease 0s forwards;
}

/* form starting stylings ------------------------------- */
	
.group            { 
  position:relative; 
}
input               {
  font-size:16px;
  display:block;
  width:100%;
  border:none;
  border:1px solid #8d8d8d;
  border-radius:6px;
  height:45px;
  margin:40px 0 5px 0;
  padding:10px;
    transition:0.4s ease all; 
  -moz-transition:0.4s ease all; 
  -webkit-transition:0.4s ease all;
}
input:focus, input.geboorte, input.datum { outline:none; border:1px solid #3399FF;  }
input.valid, input.geboorte, input.datum { border:1px solid #58c143;}
input.error, input.geboorte, input.datum, .errorNr{ border:1px solid #EB8283!important;}


.adressconfirm {
	font-size: 14px;
	color: #6B6B6B;
}	

/* LABEL */
.form-field label {
  color:#012f6f;  
  font-size:16px;
  font-weight:normal;
  position:absolute;
  top:-20px;
  left:20px;
  transition:0.4s ease all; 
  -moz-transition:0.4s ease all; 
  -webkit-transition:0.4s ease all;
  cursor: text;
  font-family: 'museo', sans-serif;
}
@media(max-width: 767px){
	.labeltop20{
		top: 10px!important;
	}
}
/* Einde LABEL */

input:required {
    box-shadow:none;
}

/* Geboortedatum */
.geboorte label {
	font-size:14px;
	color:#000000;
	left:20px;
	position:absolute;
	top: 10px;
}

.datum label {
	font-size:14px;
	color:#999;
	left:20px;
	position:absolute;
	top:0px;
}

/*Calender*/
.datum input.showReadonly[readonly] {
	border:0;
	border:1px solid #AFAFAF;	
	background:url(img/cal.png) no-repeat 10px 10px, url(img/drop.png) no-repeat right 10px top 20px, url(img/cal_focus.png) 0 0 no-repeat, url(img/drop_focus.png) 0 0 no-repeat;
	padding:3px 0 0 40px;
	background-size:20px 22px, 10px 5px, 0 0, 0 0;
	cursor:pointer;
	background-color:transparent;
	width:100%;
	margin-top:20px;
	margin-bottom:15px;
	height:45px;
	float:left;
}
.datum input.showReadonly[readonly]:focus {
	border:1px solid #3399FF;
	color:#3399FF;	
	background:url(img/cal_focus.png) no-repeat 10px 10px, url(img/drop_focus.png) no-repeat right 10px top 20px;
	background-size:20px 22px, 10px 5px;
}
.datum input.showReadonly[readonly].error {
	border:1px solid #FF0004;
	color:#E45053;	
}

.dd {
	width:50px;
	display: inline-block;
	margin-right:10px;
}
.mm {
	width:50px;
	display: inline-block;
	margin-right:10px;
}
.yy {
	width:70px;
	display: inline-block;
}

@media only screen and (min-width : 768px) {
	.form-field label {
	  	top:10px;
	}

	li.error {
		font-size:14px;
	}
}

input.cta:hover{
	background-color: #0a76b0;
	background-position: 90% center;
}

@media(max-width: 375px){
	input.cta{
		width: 260px;
		background-position: 90% center;
	}
}
