/* Custom, iPhone Retina */ 
.teltekst {
	position: relative;
	top: -20px;
}

@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: 0;
    top: -25px;
    position: relative;
}


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

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

/* Geslacht buttons */
.geslachtlabel {
	color: #000000;
	font-size: 14px;
	font-weight: normal;
}	
.geslacht input:focus ~ label, .geslacht input:valid ~ label {
	color:#000000;	
}

.geslacht input[type=radio] {
	visibility: hidden; /* gebruik geen display block */
	width: 1px;
	height: 1px;
	cursor: pointer;
	padding: 0px;
	float:left;
	margin-left:1px;

}
.geslacht input[type=radio] + label {
	color:#000000;  
	font-size:16px;
	font-weight:normal;
  	border:1px solid #8d8d8d;
	background-image: url(../img/bullet_unchecked.png);
	background-repeat:no-repeat;
	background-size: 30px;
	background-position: left 7px top 5px;
	padding: 10px 0;
	width: 100%;
	max-width: 120px;
	text-align: center;
	cursor: pointer;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.geslacht input[type=radio]:hover + label {
	border: 1px solid #2164a8;
	background-color: #3399FF;
	color:#ffffff;
}
.geslacht input[type=radio]:first-child + label {
	margin: 0 0 0 -5px;
}
.geslacht input[type=radio]:checked + label {
	background: url(../img/bullet.png) no-repeat;
	background-position: left 7px top 5px;
	border: 1px solid #2164a8;
	background-size: 30px;
	padding: 10px 0px 10px 0;
	background-color: #3399FF;
	color: #ffffff;
	width: 100%;
	cursor: pointer;
	transition: 0.5s;
}


/* 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:#000000;
	margin-right:-30px;
	width:95%;
	height:auto;
}

.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:25px 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:#000000;  
  font-size:14px;
  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;
}
}
@media(max-width: 767px){
	.labeltop20{
		top: 2px!important;
	}
	.labelbottom20{
		margin-bottom: 20px!important;
	}
}
/* Einde LABEL */

input:required {
    box-shadow:none;
}

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

.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:3px;
	}

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

input.cta{
	background-color: #323232;
	color: #ffffff;
	width: 300px;
	font-size: 18px;
	font-family: 'Proxima Nova', sans-serif;
	font-weight: bold;
	margin-top: 0px;
}

.nudgeForm{
	padding-left: 75px;
}

#payment_method-error {margin-top: 10px;}