/* ================== BODY BASIS ================== */
body {
	font-family: 'vodafone_reg', Helvetica, Arial, sans-serif;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
b.bold{
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
}
@font-face {font-family: vodafone_reg;
	src: url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.eot');
	src: url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.eot?#iefix') format('embedded-opentype'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.woff2') format('woff2'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.woff') format('woff'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.ttf') format('truetype'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_reg.svg#MazdaTypeBold') format('svg');
}

@font-face {font-family: vodafone_bold;
	src: url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.eot');
	src: url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.eot?#iefix') format('embedded-opentype'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.woff2') format('woff2'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.woff') format('woff'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.ttf') format('truetype'),
	url('https://images.mailmedia.nl/vodafone/fontsnew/vodafone_bold.svg#MazdaTypeBold') format('svg');
}

h1,h2,h3,h4,h5,h6,p{
	margin: 0;
	padding: 0;
	color: #000000;
}

.no-p {padding: 0;}
.p-5-form{padding-left: 5px;padding-right: 5px;}
.mt30{margin-top: 30px;}
.mt10{margin-top: 10px;}

.cta {
	border-radius: 2px;
	padding: 10px 30px 12px 30px;
	font-size: 18px;
	width: 100%;
	display: inline-block;
	margin: auto;
	margin-top: 20px;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	text-align: center;
	color: #ffffff;
	cursor: pointer;
	font-weight: 700;
	background-color: #53c50e;
	border: 0;
	outline : 0;
}
.cta:hover {
	color: #ffffff;
	text-decoration: none;
	background-position: right 20px top 18px;
	background-color: #4bb20d;
}
.cta:visited, .cta:link {
	color: #ffffff;
	text-decoration: none;
	border: 0;
	outline : 0;
}
.cta:active {
	transform: scale(0.9);
	border: 0;
	outline : 0;
}
.nudge {
	padding-top: 30px;
	padding-bottom: 15px;
	font-size: 14px;
	color: #000000;
}
.nudge a {
	text-decoration: underline;
	color: #000000;
}

/* ================== FORMULIER CSS ================== */
::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder, :-moz-placeholder{ /* Chrome/Opera/Safari/Firefox 19+/IE 10/Firefox 18- */
 	color:#8B8B8B;
 	font-size: 14px;
}
.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;
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px white inset !important; /* Verandert achtergrondkleur na autofill/prefill */
}

/* ================== START GESLACHTBUTTON ================== */
.form-geslacht{
	position: relative;
	padding-top: 15px;
	padding-left: 5px;
	padding-right: 5px;
}
.form-geslacht input[type=radio] {
 	visibility: hidden; /* gebruik geen display block */
 	width: 1px;
 	height: 1px;
 	cursor: pointer;
 	padding: 0px;
 	float:left;
 	margin-left:0px!important;
 	-moz-appearance: none; /* Remove default appearance styling for Firefox */
 	-webkit-appearance:none;
 	appearance:none;
 	position: absolute;
}
.form-geslacht input[type=radio] + label {
 	color:#999;
 	background-image: url(img/bullet_unchecked.png);
 	background-repeat:no-repeat;
 	background-size: 30px;
 	background-position: left -5px top 3px;
 	padding-top: 8px;
    padding-left: 25px;
 	width: 100%;
 	max-width: 64px;
 	cursor: pointer;
 	-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;
 	position: relative;
	-webkit-transform: none!important;
	transform: none!important;
    margin-bottom: 12px;
}
.form-geslacht input[type=radio]:hover + label {
 	background-image: url(img/bullet.png);
}
.form-geslacht input[type=radio]:checked + label {
 	background: url(img/bullet.png) no-repeat;
 	background-size: 30px;
 	background-position: left -5px top 3px;
}
/* ================== END GESLACHTBUTTON ================== */

/* ================== START CHECKBOX ================== */
.form-checkbox{
	margin-top: 20px;
}
.form-checkbox input[type=checkbox] {
    visibility: hidden;
    width: 1px;
    position: absolute;
}
.form-checkbox .check-box {
 	width: 100%;
 	padding-left: 30px;
 	padding-bottom: 5px;
 	margin-bottom: 0;
 	background-color: transparent;
 	position: relative;
 	display: inline-block;
 	background:url(img/checkbox.png) no-repeat left top;
 	background-size:17px 17px;
 	font-size:14px;
 	line-height:17px;
}
.form-checkbox .check-box::before, .check-box::after {
 	position: absolute;
 	height: 0;
 	width: 3px;
 	border-radius: 1px;
 	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; 	
 	content: ' ';
 	-webkit-transition: opacity ease .5;
 	-moz-transition: opacity ease .5;
 	transition: opacity ease .5;
}
.form-checkbox .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);
}
.form-checkbox .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);
}
.form-checkbox input[type=checkbox]:checked + .check-box, .check-box.checked {
	border-color: #3399FF;
}
.form-checkbox 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;
}
.form-checkbox 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;
}
/*Keyframes 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;}
}
/* ================== END CHECKBOX ================== */

/* ================== START FORM BASIS ================== */
.form-field input {
 	font-size:16px;
 	display:block;
 	width:100%;
 	border:1px solid #939393;
 	border-radius:10px;
 	height:45px;
 	margin:10px 0 0 0;
 	padding:10px;
 	transition:0.4s ease all;
 	-moz-transition:0.4s ease all;
 	-webkit-transition:0.4s ease all;
 	-webkit-appearance:none;
 	padding-top: 25px;
 	top: 10px;
}
.form-field input:focus, input.birthdate-valid{
	outline:none;
	border:1px solid #999999;
}
.form-field input:focus ~ label{
	-webkit-transform: translateY(4px) scale(.85);
	transform: translateY(4px) scale(.85);
}
.nostyle{transform: none!important;color:#000000!important;} /*Zorgt ervoor dat radio buttons niet scalen*/
.form-field input.valid, input.birthdate-valid.valid {
	border:1px solid #58c143;
}
.form-field input.error, input.birthdate-valid.error {
	border:1px solid #EB8283;
}
.form-field input.error ~ label {
	color: #EB8283;
}
.form-field label {
	transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s,-webkit-transform .2s;
    pointer-events: none;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    font-weight: 400;
    text-align: left;
    position: absolute;
    top: 10px;
    left: 15px;
    z-index: 1;
    color: #b3b3b3;
    font-size: 14px;
    line-height: 22.4px;
    -webkit-transform: translateY(11.8px);
    transform: translateY(11.8px);
}
.adressconfirm {
 	font-size: 14px;
 	color: #6B6B6B;
}
.adressconfirm.adresvink {    
	background-color: #efefef;
    border-radius: 2px;
    color: #000000;
    float: left;
    padding: 10px 20px;
    margin-bottom: 5px;
    margin-top: 10px;
    left: 0;
    padding-left: 40px;
    margin-left: 0;
}
.adressconfirm.adresvink:before {
    content: '';
    position: absolute;
    background-image: url(img/adres_vink.png);
    background-position: 0;
    background-size: 20px;
    width: 20px;
    background-repeat: no-repeat;
    left: 25px;
    top: 9px;
    height: 40px;
}
.formcontainer {
	border-radius: 8px; 
    padding: 40px;
    padding-top:unset!important;
}
.formcontainer p{
	color: #000000;  
	font-size: 18px;
	font-weight: 700;
}
.formcontainer p.gegevens-title{
	margin-bottom: 10px;	
}
.formcontainer p.title-between{
	margin-top: 30px;
}
.formcontainer .form-field {
	padding-left: 4px;
	padding-right: 4px;
}
.form-field input.is-active ~ label, .filled-in label, .filled-in-error label, .form-field label.activelabel {
	-webkit-transform: translateY(4px) scale(.85);
	transform: translateY(4px) scale(.85);
	color: #009fe6;
}
.form-field label.activelabel, .valid ~ label{
	color: #58c143;
}
.filled-in-error label {
	color: #EB8283;
}
.errorbox, #postcodeError {
		width:100%;
}
@media screen and (max-width: 768px) {
	label[for=payment_ibannumber] {
		top: 0px!important;
	}
	.errorbox, #postcodeError {
 		float: left;
	}
	.formcontainer{
		padding: 0px;
	}
	.tp-form-col .formcontainer {
		padding: 15px;
	}
	.tp-form-col .formcontainer .row {
		margin-left: 0;
		margin-right: 0;
	}
	.tp-form-col .formcontainer .form-field {
		padding-left: 0;
		padding-right: 0;
	}
	.tp-form-col .formcontainer .col-5.form-field {
		padding-left: 5px;
	}
}
/* ================== END FORM BASIS ================== */

/* ================== START BIRTHDATE ================== */
.form-geboorte label {
 	font-size:14px;
 	color:#999;
 	left:20px;
 	position:absolute;
 	top: 10px;
}
.zsm{
	display: inline-block;
	margin-right: 15px;
}
.date-style{
	width:110px;
 	display: inline-block;
 	margin-right:5px;
	font-size:16px;
 	border:none;
 	border:1px solid #8d8d8d;
 	border-radius:2px;
 	height:45px;
 	margin:0 0 5px 0;
 	padding:10px;
 	transition:0.4s ease all;
 	-moz-transition:0.4s ease all;
 	-webkit-transition:0.4s ease all;
 	-webkit-appearance:none;
}
.date-style.mm {
 	margin-left: 10px;
}
.date-style.yy {
 	margin-right: 0px;
 	margin-left: 10px;
}
.date-style:focus{
	outline:none;
	border:1px solid #3399FF;
}
@media screen and (max-width: 576px) {
	.date-style {width: 30%; margin-left: 0;}
	.date-style.mm {margin-left: 4px;}
	.date-style.yy {margin-left: 4px;}
}
/* ================== END BIRTHDATE ================== */

/* ================== START VOORWAARDEN ================== */
#fillVoorw li {
 	list-style-type: square;
 	padding: 0 16px 0 0;
}
#fillVoorw {
 	list-style-type: square;
 	padding: 0 0px 0 16px;
}
.voorwaardenoverlay {
 	position: fixed;
 	background-color: rgba(0, 0, 0, 0.8);
 	z-index: 99999;
 	width: 100%;
 	height: 100%;
 	display: none;
}
.popuptitle {
 	font-weight:900;
 	font-size:30px;
 	margin-bottom:20px;
}
.form-open {
 	width: 90%;
 	animation: open 1s;
 	transition:1s ease all;
 	-moz-transition:1s ease all;
 	-webkit-transition:1s ease all;
 	opacity:1;
}
.lightbox {
 	background-color: #ffffff;
 	height: 50vh;
 	color:#181818;
 	overflow-y: auto;
 	padding:50px 50px 50px 50px;
 	font-family: Source Sans Pro, Helvetica, Arial, sans-serif;
 	font-size:14px;
 	line-height:1.6em;
 	-webkit-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.25);
 	-moz-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.25);
 	box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.25);
 	margin: auto;
 	position: absolute;
 	width:100%;
	left: 0;
	right: 0;
}
#popup {
 	width: 60%;
 	margin:auto;
 	position:absolute;
 	height:50vh;
 	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
#close {
 	position:absolute;
 	color:#ffffff;
 	top:-20px;
 	right:-20px;
 	padding-top: 10px;
 	font-size:20px;
 	font-weight:700;
 	cursor:pointer;
 	width: 50px;
 	height: 50px;
 	background-color:#3399FF;
 	border-radius: 30px;
 	text-align: center;
 	z-index:9999;
}
@media(max-width: 767px){
	.lightbox{
		padding: 20px 20px 20px 20px;
	}
	#popup {
		width: 80%;
	}
	.popuptitle {
		font-size: 26px;
	}
}
/*Keyframes lightbox open*/
@keyframes open {
 	0% {display: none;}
 	1% {width: 0;display: block;color:white;opacity: 0;}
 	80% {color:white;}
 	100% {display: block;width: 90%;color:#181818;opacity: 1;}
}

@keyframes open {
 	0% {display: none;}
 	1% {width: 0;display: block;color:white;opacity: 0;}
 	80% {color:white;}
 	100% {width: 100%;}
}
/* ================== END VOORWAARDEN ================== */


/* ================== OVERIGE STYLES ================== */
.reasoning {
    display: block;
    width: 100%;
    color: #a8a8a8;
    margin-bottom: 10px;
}
@media(max-width: 767px){
	.reasoning{
		margin-top: 10px;
		margin-left: 0;
	}
}

input[type=radio] {
	margin-right: 5px;
}

/*Start groene balk boven formulier*/
.green-bar{
	background-color: #dffdcd;
	border: 1px solid #7cc94b;
	border-radius: 8px;
	position: relative;
	padding: 15px 0;
	margin: 30px 0 0;
}
.green-bar ul{
	padding-left: 30px;
	margin: 0;
}
.green-bar ul li{
	color: #71c63e;
	font-weight: 900;
	position: relative;
	font-size: 18px;
	list-style: none;
	padding-left: 30px;
	padding-right: 15px;
	background-image: url('img/check_circle.png');
	background-position: left top 3px;
	background-repeat: no-repeat;
	background-size: 18px 18px;
}
.green-bar a{
	position: absolute;
	right: 40px;
	top: 15px;
	font-size: 18px;
	color: #71c63e;
	text-decoration: underline;
	font-weight: 900;
}
@media(max-width: 450px){
	.green-bar a{
	    right: 0px;
	    top: 59px;
	    font-size: 14px;
	    color: #000000;
	}
}
/*End groene balk boven formulier*/


/*Start Fade-in en Fade-uit animaties*/
.fade-out{
    -webkit-animation: fadeOut 1s;
    animation: fadeOut 1s;
}
.fade-in{
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s;
}
@keyframes fadeOut {
    0% {opacity: 1;left:0;}
    100% {opacity: 0;left:180px;}
}
@keyframes fadeIn {
    0% {opacity: 0;left:-180px;}
    100% {opacity: 1;left: 0;}
}
/*Eind Fade-in en Fade-uit animaties*/

footer {
    padding: 50px 0;
    float: left;
    width: 100%;
}

@media screen and (max-width: 1200px) {
	.form-geslacht input[type=radio] + label {width: 48%;}
}

@media screen and (max-width: 992px) {
	.col-lg-offset-15 {margin-left: 0;}
	.p-l-5 {padding-left:15px;}
}
@media screen and (max-width: 767px) {
	.form-field label {top: 10px;}
}








section.topbar{
	background-color:#ffffff;
	height: 80px;
	display: flex;
	align-items: center;
}
section.topbar img.logotop{
	max-width: 130px;
	width: 100%;
	height: auto;
	display: block;
}
section.topsection{
	background-color:#222222;
	height: 480px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-image: url('img/headermob.png');
	background-position: top center;
}
section.topsection div.nopad{
	padding-left:0px;
	padding-right:0px;
}
section.topsection div.textbox{
	background-color:#222222;
	padding:35px 15px 35px 15px;
}
section.topsection div.textbox h1.textboxhead{
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	color:#ffffff;
	font-size:30px;
	line-height:30px;
	margin-bottom:30px;
}
section.topsection div.textbox p.textboxbody{
	color:#ffffff;
	font-size:20px;
	line-height:26px;
}
section.footer{
	background-color: #ffffff;
	padding:60px 0px 60px 0px;
}
section.footer div.feature-item p.footerusp{
	color:#222222;
	font-size:20px;
	line-height: 20px;
}
section.footer div.feature-item{
	display: flex;
	align-items: center;
	gap: 25px;
}
section.footer div.feature-item img.iconusp{
	width: 36px;
	height: 32px;
} 
section.footer div.feature-left:nth-child(1){
	margin-bottom:30px;
}
section.footer div.feature-center:nth-child(2){
	margin-bottom:30px;
}
section.bottombar{
	background-color:#222222;
	padding:40px 0px 40px 0px;
	text-align: center;
}
section.bottombar p.footertext{
	color:#9c9c9c!important;
	text-align: center;
	font-size:16px;
}
section.bottombar p.footertext a{
	color:#9c9c9c!important;
}
section.bottombar img.privacy{
	width: 45px;
	height: auto;
	display: block;
	margin:0 auto;
	margin-top:25px;
}
img.slot{
	width: 26px;
	height: 30px;
}
img.pdf{
	width: 39px;
	height: auto;
	position: absolute;
	top:104px;
}
img.check{
	max-width: 33px;
	height: auto;
	display: inline-block;
	margin-top:-10px;
	margin-right:15px;
}
a.btnbedankt{
	width: 100%!important;
	text-align: center!important;
	margin-top:30px!important;
	padding:12px 10px!important;
}
img.download{
	max-width: 16px;
	height: auto;
	display: inline-block;
    margin-top: -4px;
    margin-right: 20px;
}
@media (min-width: 576px) {
	section.topsection div.nopad{
		padding-left:15px;
		padding-right:15px;
	}
	section.bottombar p.footertext{
		display: inline-block;
	}
	section.bottombar img.privacy{
		display: inline-block;
		margin-top:-10px;
		margin-left:35px;
	}
	section.topsection div.textbox{
		background-color:unset;
		padding:35px 0px 35px 0px;
	}
    section.topsection {
    	background-color: #e40101;
        background-image: url(img/headerdesk.png);
        background-size: 1070px auto;
        background-repeat: no-repeat;
        background-position: calc(50% - 230px) top;
    }
}

@media (min-width: 768px) {
	section.topsection{
		height: 550px;
		display: block;
		flex-direction: unset;
		justify-content: unset;
	}
	section.topsection div.textbox{
		background-color:unset;
		padding:80px 0px 0px 0px;
	}
	section.topsection div.textbox h1.textboxhead{
		font-size:42px;
		line-height:42px;
		margin-bottom:35px;
	}
	section.footer div.feature-item{
		gap: 12px;
	}
	section.footer div.feature-left:nth-child(1){
		display: flex;
		justify-content: flex-start;
		margin-bottom:unset;
	}
	section.footer div.feature-center:nth-child(2){
		display: flex;
		justify-content: center;
		margin-bottom:unset;
	}
	section.footer div.feature-right:nth-child(3){
		display: flex;
		justify-content: flex-end;
	}
	.mttop280{
		margin-top:-280px;
	}
    section.topsection {
        background-size: auto auto;
		background-position: calc(50% - 80px) top;
    }
} 

@media (min-width: 992px) {
	section.footer div.feature-item{
		gap: 18px;
	}
    section.topsection {
		background-position: top center;
    }
}

@media (min-width: 1200px) {
	section.footer div.feature-item{
		gap: 25px;
	}
}	




/* ================== CYBERSECURITY METER ================== */
.sec-cybermeter {
	background-color: #ffffff;
	padding: 0px 0;
	border-bottom: 1px solid #d6d6d6;
}
.cybermeter-block {
	background-color: #ffffff;
	border-radius: 8px;
	padding: 30px 0px 50px;
}
.cm-title {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 28px;
	text-align: center;
	color: #222222;
	margin-bottom: 30px;
}

/* --- Meter balk --- */
.cm-meter-wrap {
	position: relative;
	margin-bottom: 5px;
    padding: 0px 0px 0px 20px;
}
.cm-meter-track {
	position: relative;
	height: 20px;
	border-radius:11px;
	background: linear-gradient(to right, #cf2a1e 0%, #ec772f 50%, #306f1f 160%);
	margin-bottom: 12px;
	overflow: visible;
	margin-left:-20px;
}
.cm-lock-dot {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 62px;
	height: 62px;
	background-color: #222222;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: left 0.5s cubic-bezier(.4,0,.2,1);
	left: 0%;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,0.35);
	flex-shrink: 0;
	margin-left:10px;
}
.cm-meter-labels {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.cml-red   { color: #cf271d; font-size: 20px; line-height: 20px; text-align:left; margin-left:-20px; flex: 1;min-width: 0; }
.cml-orange { color: #ec772f; font-size: 20px; line-height: 20px; text-align:center; flex: 1;min-width: 0; }
.cml-green  { color: #3b962a; font-size: 20px; line-height: 20px; text-align:right; flex: 1;min-width: 0; }

/* --- Quiz sectie --- */
.cm-quiz-title {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 28px;
	text-align: center;
	color: #222222;
	margin: 40px 0 20px !important;
}

/* --- Desktop vraag rijen --- */
/*
 * BREEDTE-INSTELLING PER SCHERMGROOTTE
 * Pas onderstaande variabelen aan om de breedte van de vraagtekst
 * en de antwoordknoppen per breakpoint in te stellen.
 * De knoppen vullen automatisch de resterende ruimte.
 *
 * Mobiel (< 768px):  niet van toepassing (één vraag tegelijk)
 * Tablet  (≥ 768px): --cm-text-w: 160px
 * Desktop (≥ 992px): --cm-text-w: 170px
 * Groot   (≥ 1200px):--cm-text-w: 185px
 *
 * Pas de waarden aan in de @media blokken onderaan dit bestand.
 */
:root {
	--cm-text-w: 140px;
}
.cm-question-row {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 18px 0;
}
.cm-question-row:last-child {
	border-bottom: none;
}
.cm-q-num {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	background-color: #e60000;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
}
.cm-q-num span {
	color: #ffffff;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 23px;
}
.cm-q-text {
	flex: 0 0 var(--cm-text-w);
	max-width: var(--cm-text-w);
}
.cm-q-title {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: #000000;
	margin-bottom: 5px !important;
}
.cm-q-body {
	font-size: 16px;
	color: #000000;
	line-height: 20px;
	margin: 0 !important;
}
.cm-q-answers {
	flex: 1;
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	align-items: center;
	padding-top: 2px;
	min-width: 0;
}
.cm-ans-btn {
	border: 1px solid #d7d7d7;
	background: #ffffff;
	border-radius: 10px;
	padding: 8px 6px;
	font-size: 14px;
	line-height: 16px;
	cursor: pointer;
	color: #000000;
	font-family: 'vodafone_reg', Helvetica, Arial, sans-serif;
	transition: border-color 0.15s;
	white-space: nowrap;
	outline: none;
	text-align: center;
	height: 50px;
	flex: 1;
	min-width: 0;
}
.cm-ans-btn:hover {
	border-color: #888888;
}
.cm-ans-btn:focus {
	outline: none;
}
.cm-ans-btn.selected {
	border: 2px solid #222222;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
    padding: 8px 6px;
	background-color: #f4f4f4;
	font-size:14px;
}

/* --- Mobiel: één vraag tegelijk --- */
.cm-questions-mobile {
	padding-top: 10px;
}
.cm-mobile-q-header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 12px;
}
.cm-mobile-q-text {
	flex: 1;
	min-width: 0;
}
.cm-mobile-q-circle {
	width: 50px;
	height: 50px;
	background-color: #e60000;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 23px;
}
.cm-questions-mobile .cm-q-title {
	margin: 0 0 6px !important;
	font-size: 16px;
	margin-bottom: 5px !important;
}
.cm-questions-mobile .cm-q-body {
	font-size: 16px;
	margin-bottom: 20px !important;
}
.cm-mobile-answers {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 30px;
}
.cm-mobile-ans-btn {
	width: 100%;
	border: 1px solid #d7d7d7;
	background: #ffffff;
	border-radius: 10px;
	padding: 13px 16px;
	font-size: 16px;
	cursor: pointer;
	color: #000000;
	font-family: 'vodafone_reg', Helvetica, Arial, sans-serif;
	text-align: center;
	outline: none;
	transition: border-color 0.15s;
	height: 50px;
}
.cm-mobile-ans-btn:hover {
	border-color: #888888;
}
.cm-mobile-ans-btn:focus {
	outline: none;
}
.cm-mobile-ans-btn.selected {
	border: 2px solid #000000!important;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
    padding: 12px 16px;
    font-size:15px;
}
.cm-mobile-nav {
	display: flex;
	gap: 12px;
}
.cm-btn-vorige {
	flex: 1;
	padding: 14px;
	border: 1px solid #000000;
	background: #ffffff;
	border-radius: 10px;
	font-size: 16px;
	font-family: 'vodafone_reg', Helvetica, Arial, sans-serif;
	cursor: pointer;
	color: #222222;
	outline: none;
	height: 50px;
}
.cm-btn-volgende {
	flex: 1;
	padding: 14px;
	border: none;
	background: #222222;
	border-radius: 10px;
	font-size: 16px;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	cursor: pointer;
	color: #ffffff;
	outline: none;
	transition: background-color 0.2s;
	height: 50px;
}
.cm-btn-volgende:hover {
	background-color: #444444;
}
.cm-btn-volgende:focus,
.cm-btn-vorige:focus {
	outline: none;
}
.cm-btn-volgende:disabled {
	background-color: #aaaaaa;
	cursor: default;
}
.cm-btn-vorige.cm-hidden {
	display: none;
}

/* --- Resultaat sectie --- */
.cm-result {
	padding-top: 45px;
	text-align: center;
}
.cm-result-head {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 28px;
	color: #222222;
	margin-bottom: 10px !important;
}
.cm-result-label {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 18px;
	margin-bottom: 20px !important;
}
.cm-result-meter {
	margin: 20px 0 25px;
}
.cm-result-body {
	font-size: 20px;
	color: #000000;
	line-height: 26px;
	text-align: left;
	margin-bottom: 28px !important;
}
.cm-cta-btn {
	display: inline-block;
	background-color: #e60000;
	color: #ffffff !important;
	text-decoration: none !important;
	padding: 12px 70px;
	border-radius: 25px;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 18px;
	transition: background-color 0.2s;
	cursor: pointer;
	height: 50px;
}
.cm-cta-btn:hover {
	background-color: #c00000;
	color: #ffffff !important;
}

/* ================== RESPONSIVE CYBERMETER ================== */
@media (min-width: 576px) {
	.cm-result-body {
		text-align: center;
	}
}

@media (min-width: 768px) {
	:root { --cm-text-w: 230px; }
	.cm-result-body {
		text-align: center;
		width: 80%;
		margin-left: auto;
		margin-right: auto;
		margin-top:40px;
	}
	.sec-cybermeter {
		background-color: #f4f4f4;
		padding: 0px 0;
		border-bottom:unset;
		padding-bottom:110px;
	}
	.cybermeter-block {
		padding: 25px 35px 60px;
		box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
		border-radius: 10px;
		margin-top:-240px;
	}
	.cm-meter-track{
		height: 28px;
		border-radius: 14px;
	}
	.cm-title{
		margin-bottom:20px;
	}
}

@media (min-width: 992px) {
	:root { --cm-text-w: 280px; }
}

/* ================== TWEEDE PAGINA ================== */
.sec-tweede-pagina {
	background-color: #ffffff;
    padding: 30px 0px 50px;
}
.tp-row {
	align-items: flex-start;
}

/* --- Content kaarten --- */
.tp-cards-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 24px;
}
.tp-card {
	background: #ffffff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(0,0,0,0.10);
	margin-bottom:15px;
}
.tp-card-img-wrap {
	width: 100%;
	height: 140px;
	overflow: hidden;
	background: #eeeeee;
}
.tp-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.tp-card-body {
    padding: 25px 20px !important;
}
.tp-card-title {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 28px;
	line-height: 28px!important;
	color: #e60000;
	margin-bottom: 20px !important;
}
.tp-card-text {
	font-size: 20px;
	color: #000000;
	line-height: 26px;
	margin: 0 !important;
}

/* --- Formulier blok --- */
.tp-form-head {
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif!important;
	font-size: 27px!important;
	color: #222222!important;
	margin-bottom: 12px !important;
}
.tp-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 20px !important;
}
.tp-checklist li {
	padding-left: 35px;
	position: relative;
	font-size: 20px;
	line-height: 26px;
	color: #000000;
	margin-bottom: 6px;
}
.tp-checklist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 20px;
	height: 14px;
	background-image: url("img/redcheck.png");
	background-repeat: no-repeat;
	background-size: contain;
}

/* Formulier velden: gebruik bestaande .form-field techniek uit basis CSS */

/* Row negatieve marges neutraliseren zodat inputs binnen de padding vallen */
.tp-form-col .formcontainer .row {
	margin-left: 0;
	margin-right: 0;
}
.tp-form-col .formcontainer .form-field {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tp-form-col .formcontainer .col-5.form-field {
	padding-left: 5px !important;
}

/* --- Checkboxes --- */
@media screen and (max-width: 767px) {
	.tp-consent.errorMainbox .errorbox {
		padding-bottom: 20px;
	}
}
.tp-consent {
	display: block;
	width: 100%;
	float: none;
	clear: both;
	margin-top: 14px;
}
.tp-consent-label {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	cursor: pointer;
	font-size: 16px;
	color: #000000;
	line-height: 16px;
	font-weight: normal;
	margin-bottom:5px;
}
.tp-consent-label input[type=checkbox] {
	flex-shrink: 0;
	margin-top: 2px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	accent-color: #e40101;
}

/* --- Submit knop --- */
.tp-submit {
	display: block;
	width: 100%;
	background-color: #e60000;
	color: #ffffff;
	border: none;
	border-radius: 25px;
	padding: 12px 70px;
	font-family: 'vodafone_bold', Helvetica, Arial, sans-serif;
	font-size: 18px;
	cursor: pointer;
	margin-top: 22px;
	transition: background-color 0.2s;
	outline: none;
	height: 50px;
}

.tp-submit:hover {
	background-color: #c00000;
}
.tp-submit:focus {
	outline: none;
}
.tp-webinar-link {
	text-align: center!important;
	font-size: 16px!important;
	color: #000000!important;
	margin-top: 20px !important;
	cursor: pointer;
	font-weight:unset!important;
}
@media (min-width: 576px) {
	
}

@media (min-width: 768px) {
	.sec-tweede-pagina {
		background-color: #f5f5f5;
	}
	.tp-form-col .formcontainer {
		box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
		background-color:#ffffff;
		border-radius: 10px;
		padding: 25px 20px!important;
	}
	.tp-form-col .formcontainer .row {
		margin-left: 0;
		margin-right: 0;
	}
	.tp-form-col .formcontainer .form-field {
		padding-left: 0;
		padding-right: 0;
	}
	.tp-form-col .formcontainer .col-5.form-field {
		padding-left: 5px;
	}
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
	:root { --cm-text-w: 320px; }
	.cybermeter-block {
		padding: 50px 65px 50px;
	}
	.cm-title{
		margin-bottom:35px;
	}
	.tp-form-col .formcontainer {
		padding: 30px 40px!important;
	}
		.tp-card-body {
	    padding: 30px 40px !important;
	}
}