﻿/* prefixed by https://autoprefixer.github.io (PostCSS: v7.0.23, autoprefixer: v9.7.3) */


*,
*::before,
*::after {
    box-sizing: border-box;
}

/**
 * Site container
 * ----------------------------------------------------------------------
 */

 .canvas {
    position: relative;
    max-width: 87.5em; /* 1400 */
    padding: 0;
    background-color: #fff;
}

.canvas > .row--menu {
    margin-right: auto;
    margin-left: auto;
}

.canvas > .row:not(.row--menu) {
    width: calc(100% - 30px);
    max-width: 58.75em; /* 940 */
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 540px) {
    .canvas > .row:not(.row--menu) {
        width: calc(100% - 60px);
    }
}

.row--menu ol {
    width: calc(100% - 30px);
    max-width: 58.75em; /* 940 */
}

@media (min-width: 540px) {
    .row--menu ol {
        width: calc(100% - 60px);
    }
}

.wrapper {
    width: calc(100% - 30px);
    max-width: 58.75em; /* 940 */
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 540px) {
    .wrapper {
        width: calc(100% - 60px);
    }
}

/**
 * Header / Logo
 * ----------------------------------------------------------------------
 */

.logo-mobile,
.logo-desktop {
    width: auto;
}

.logo-mobile {
/*	background-image: url('images/logo_mobile_opt.png');
	background-repeat: no-repeat;
	background-size: auto 41px;*/
    display: block;
    height: 41px;
	position: relative;
}

.logo-desktop {
/*	background-image: url('images/logo_desktop_opt.png');
	background-repeat: no-repeat;
	background-size: auto 68px;*/
    display: none;
    width: auto;
    height: 68px;
	position: relative;
    -webkit-transform: translateX(-1.875em);
            transform: translateX(-1.875em);
			
}

@media (min-width: 540px) {

    .logo-mobile {
        display: none;
    }


    .logo-desktop {
        display: block;
    }

}

/**
 * Pagetitle
 * ----------------------------------------------------------------------
 */

.pagetitle {
    flex: 1;
    padding-bottom: 0.42857142857142855em; /* 5 */
    border-bottom: 1px solid currentColor;
    margin-top: 1.7857142857142858em; /* 25 */
    margin-bottom: 2.142857142857143em; /* 30 */
    color: #767676;
    font-family: 'Amsterdam Sans', sans-serif;
    font-size: 0.875em; /* 14 */
    font-weight: 700;
    line-height: 1.2857142857142858;
}

/**
 * Form container
 * ----------------------------------------------------------------------
 */

.formcontainer {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

.is-ie .formcontainer {
    background-image: none;
}

/**
 * Step menu
 * ----------------------------------------------------------------------
 */

@media (max-width: 539px) {

    .stepmenu {
        width: calc(100% + 30px);
    }

}

@media (min-width: 540px) and (max-width: 1023px) {

    .stepmenu {
        width: calc(100% + 60px);
    }

}

/* Voor uitzetten stapnav op mobiel en tablet RB/YV */

/* @media (max-width: 1023px) { */
	
	/* .stepmenu { */
		/* display: none !important; */
	/* } */
	
/* } */
/* Voor uitzetten stapnav op mobiel en tablet onderstaand eruit tot volgend comment RB/YV */

@media (max-width: 1023px) {

    /* ol */

    .stepmenu {
        overflow-x: auto;
        display: flex;
        flex-wrap: nowrap;
        padding: 0;
        margin: 0 0 1.875em 0;
        list-style: none none;
        -webkit-overflow-scrolling: touch;
    }

    .stepmenu::-webkit-scrollbar {
        display: none;
    }

    /* li */

    .stepmenu li {
        position: relative;
        flex: 0 0 68px;
        height: 36px;
        background-image: linear-gradient(to bottom, transparent 0%, transparent calc(50% - 1px), #767676 calc(50% - 1px), #767676 calc(50% + 1px), transparent calc(50% + 1px), transparent 100%);
    }

    .stepmenu li.answered:not(:active) {
        background-image: linear-gradient(to bottom, transparent 0%, transparent calc(50% - 1px), #004699 calc(50% - 1px), #004699 calc(50% + 1px), transparent calc(50% + 1px), transparent 100%);
    }

    .stepmenu li.active {
        flex-basis: 76px;
    }

    .stepmenu li:last-child {
        flex-basis: 22px;
        padding-right: 10px;
        background-clip: content-box;
    }

    .stepmenu li.active:last-child {
        flex-basis: 36px;
    }

    /* a */
    
    .stepmenu a,
    .stepmenu li > span {
        position: relative;
        top: 50%;
        display: block;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background-color: #818181;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
    }

    .stepmenu .active a,
    .stepmenu .answered a {
        background-color: #004699;
    }

    .stepmenu .active a {
        width: 36px;
        height: 36px;
    }

    .stepmenu .answered:not(.active) > span {
        background-image: url('images/icon_checked_white2.png');
        background-position: 50% calc(50% + 1px);
        background-repeat: no-repeat;
        background-size: 14px;
    }

    .stepmenu .order {
        display: none;
    }

    .stepmenu .title {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }
    
}
/* Voor uitzetten stapnav op mobiel en tablet: Tot hier RB/YV */
@media (min-width: 1024px) {

    .stepmenu {
        padding: 0 0 4em 0;
        margin: 0;
        font-size: 1em;
        line-height: 1.375;
        list-style: none none;
    }

    .stepmenu li {
        position: relative;
        padding-left: 1.8125em;
        padding-bottom: 2.875em;
        border-left: 2px solid #767676;
        margin-left: 1.8125em;
    }

    .stepmenu li:last-child {
        padding-bottom: 0;
        border-left-color: transparent;
    }

    .stepmenu li.answered {
        border-color: #004699;
    }

    .stepmenu a,
    .stepmenu a:visited {
        color: #767676;
        text-decoration: none;
    }

    .stepmenu a,
    .stepmenu li > span {
        display: block;
    }

    .stepmenu a::before,
    .stepmenu li > span::before {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 1.375em;
        height: 1.375em;
        border-radius: 50%;
        background-color: #767676;
        content: '';
        -webkit-transform: translateX(calc(-50% - 1px));
                transform: translateX(calc(-50% - 1px));
    }

    .is-ie .stepmenu a::before,
    .is-ie .stepmenu li > span::before {
        left: -12px;
    }

    .stepmenu .active a {
        color: #000;
        font-size: 1.25em;
        font-weight: 700;
        line-height: 1.4;
    }

    .stepmenu .active a::before {
        top: -4px;
        width: 36px;
        height: 36px;
    }

    .is-ie .stepmenu .active a::before {
        left: -19px;
    }

    .stepmenu .active a::before,
    .stepmenu .answered a::before {
        background-color: #004699;
    }

    .stepmenu .answered > *::before {
        background-image: url('images/icon_checked_white.png');
        background-position: 50% calc(50% + 1px);
        background-repeat: no-repeat;
        background-size: 14px;
    }

    .stepmenu .order {
        display: none;
    }

}

/**
 * Headings
 * ----------------------------------------------------------------------
 */

h1, .txt-h1,
h2, .txt-h2,
h3, .txt-h3,
h4, .txt-h4,
h5, .txt-h5 {
	color: #000;
	font-family: 'Amsterdam Sans', Arial, sans-serif;
	font-weight: 700;
}
 
h1, .txt-h1 {
    margin-bottom: 1.25em; /* 30 */
	font-size: 1.5rem; /* 24 */
    line-height: 1.25; /* 30 */
	
}

h2, .txt-h2 {
    margin-bottom: 0.75em; /* 15 */
    font-size: 1.25em; /* 20 */
    line-height: 1.4; /* 28 */
}

h3, .txt-h3 {
    margin-bottom: 0.75em; /* 15 */
    font-size: 1.25em; /* 20 */
    line-height: 1.4; /* 28 */
}

h3:not(:first-child), .txt-h3:not(:first-child) {
    margin-top: 1.5em; /* 30 */
}

h4, .txt-h4 {
    margin-bottom: 0.5555555555555556em; /* 10 */
    font-size: 1.125rem; /* 18 */
    line-height: 1.3888888888888888; /* 25 */
}

h4:not(:first-child), .txt-h4:not(:first-child) {
    margin-top: 0.8333333333333334em; /* 15 */
}

h5, .txt-h5 {
    font-size: 1rem; /* 18 */
	margin-top: 1em; 
	margin-bottom: 0.15em;
}

@media (min-width: 540px) {

    h1, .txt-h1 {
        margin-bottom: 1em; /* 30 */
        font-size: 1.875rem; /* 30 */
        line-height: 1.2666666666666666; /* 38 */
    }

    h2, .txt-h2 {
        margin-bottom: 1.25em; /* 30 */
        font-size: 1.5rem; /* 24 */
        line-height: 1.25; /* 30 */
    }

    h2:not(:first-child), .txt-h2:not(:first-child) {
        margin-top: 1.875em; /* 45 */
    }

}

/**
 * Paragraphs
 * ----------------------------------------------------------------------
 */

html,
body {
	color: #000;
	font-family: 'Amsterdam Sans', Arial, sans-serif;
	font-weight: 400;
}
 
p, .txt-p {
    margin-bottom: 1.5em;
    line-height: 1.375;
}

p:not(:first-child),
.txt-p:not(:first-child) {
    margin-top: 0.9375em; /* 15 */
}

p:not(:last-child),
.txt-p:not(:last-child) {
    margin-bottom: 0.9375em; /* 15 */
}

.txt-invisible {
	display: none;
}

.txt-danger {
    color: #ce0000;
    font-weight: 600;
}

.txt-instruction {
    margin-bottom: 1.5em;
    color: #767676;
    font-size: 0.875em;
    line-height: 1.5;
}

.txt-instruction.below-field {
    margin-top: -1.1428571428571428em;
    margin-bottom: 1.7142857142857142em;
}


/**
 * Hyperlinks
 * ----------------------------------------------------------------------
 */

a {
    color: #004699;
    text-decoration: underline;
}

a:visited {
    color: #a00078;
}

a:hover {
    color: #ce0000;
    text-decoration: underline;
}


/**
 * Lists
 * ----------------------------------------------------------------------
 */

ol:not([class]),
ul:not([class]) {
    padding-left: 1.125em; /* 18 */
    margin-top: 1.25em; /* 20 */
    margin-bottom: 1.25em; /* 20 */
    line-height: 1.375; /* 22 */
}

ul:not([class]) {
    list-style: square;
}

ul:not([class]) li + li {
    margin-top: .375em; /* 6 */
}

/**
 * Messages
 * ----------------------------------------------------------------------
 */

.message {
	display: block;
    padding: 0.9375em; /* 15 */
    border: 2px solid;
    margin-top: 0;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.375;
}

.message--danger {
    border-color: #ce0000;
}

.message {
    margin-bottom: 1.25em; /* 20 */
}

/**
 * Highlight
 * ----------------------------------------------------------------------
 */

.highlight {
    padding: 0.9375em; /* 15 */
    margin-top: 0;
    background-color: #e6e6e6;
}

.highlight {
    margin-bottom: 1.25em; /* 20 */
}

/**
 * Question wrapper
 * ----------------------------------------------------------------------
 */

.tf-question-wrapper {
    margin-bottom: 1.5em !important;
}

/**
 * Question label
 * ----------------------------------------------------------------------
 */

.tf-question-label, .form-options--radiobuttons fieldset legend, .form-options--checkboxes fieldset legend, .form-checkbox--confirm fieldset legend {
    display: block;
    margin-bottom: 0.25em !important;  /* de important door RB toegevoegd; nog uitzoeken of er een andere oplossing voor is */
    font-weight: 900;
    line-height: 1.3125;
	font-size: 1em
}

/* Hide asterix symbol on required questions */

.tf-label-wrapper::before, .form-options--radiobuttons fieldset::before, .form-options--checkboxes fieldset::before , .form-checkbox--confirm fieldset::before  {
    display: none !important;
}

/* .tf-question-wrapper:not(.tf-required-field) label::after {
    color: #767676;
    font-weight: 400;
}

html[lang="nl"] .tf-question-wrapper:not(.tf-required-field) label::after {
    content: ' optioneel';
}

html[lang="en"] .tf-question-wrapper:not(.tf-required-field) label::after {
    content: ' optional';
} */

/**
 * Textboxes
 * ----------------------------------------------------------------------
 */

.form-textbox {
    width: 100%;
	background-color: #fff;
	font-family: inherit;
}

/* Sizes */

.form-textbox--xs input {
    max-width: 3.75em; /* 60 */
}

.form-textbox--sm input {
    max-width: 8.75em; /* 140 */
}

.form-textbox--md input {
    max-width: 18.75em; /* 300 */
}

/* Active */

.form-textbox.is-active {
    padding: 0.5625em 0.5em; /* 10 8 */
    border: 1px solid #767676;
}

.form-textbox.is-active:hover {
    border-color: #000;
}

.form-textbox.is-active:focus {
    border-color: Highlight;
}

/* .form-textbox.is-active:focus {
    outline: .25em solid #ffc901;
    outline-offset: 0;
} */

/* Prefilled */

.form-textbox.is-active[readonly] {
	height: 2.5em;
	padding: 0;
	border: 0;
	cursor: default;
}

.form-textbox.is-active[readonly]:focus,
.form-textbox.is-active[readonly]:hover {
	box-shadow: none;
	outline: none;
}

/**
 * Select
 * ----------------------------------------------------------------------
 */

.form-selectbox {
    display: block;
    width: 100%;
	background-color: #fff;
    font-family: inherit;
}

/* Sizes */

.form-selectbox--sm select {
    max-width: 8.75em; /* 140 */
}

.form-selectbox--md select {
    max-width: 18.75em; /* 300 */
}

/* Active */

.form-selectbox.is-active {
    height: 2.75em;
    padding: 0.5625em 0.5em; /* 10 8 */
    border: 1px solid #767676;
    background-image: url('images/icon_checked_black.png');
    background-position: right 9px center;
    background-repeat: no-repeat;
    background-size: 1em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

/* :focus */

/* .form-selectbox.is-active:focus {
    outline: .25em solid #ffc901;
    outline-offset: 0;
} */

/* :focus + :hover */

.form-selectbox.is-active:hover {
    border-color: #000;
}

.form-selectbox.is-active:focus {
    border-color: Highlight;
}

/**
 * Textareas
 * ----------------------------------------------------------------------
 */

.form-textarea {
    display: block;
    width: 100%;
    background-color: #fff;
	font-family: inherit;
}

/* Active */

.form-textarea.is-active {
    padding: 0.5625em 0.5em; /* 10 8 */
    border: 1px solid #767676;
}

.form-textarea.is-active:hover {
    border-color: #000;
}

.form-textarea.is-active:focus {
    border-color: Hightlight;
}

/* .form-textarea.is-active:focus {
    outline: 0.25em solid #ffc901;
    outline-offset: 0;
} */


/**
 * Custom checkbox and radiobutton styles
 * ----------------------------------------------------------------------
 */

input[type=checkbox],
input[type=radio] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

input[type=checkbox] + label::before,
input[type=radio] + label::before {
    display: block;
    width: 1.25em;
    min-width: 1.25em;
    height: 1.25em;
    min-height: 1.25em;
    border: 1px solid #767676;
    margin-right: 0.75em;
    content: '';
}

input[type=radio] + label::before {
    border-radius: 50%;
}

/* on hover */

input[type=checkbox] + label:hover::before,
input[type=radio] + label:hover::before {
    border-color: #000;
}

/* on focus */

input[type=checkbox]:focus + label::before,
input[type=radio]:focus + label::before {
    outline-width: 2px;
    outline-style: solid;
    outline-color: Highlight;
}

@media (-webkit-min-device-pixel-ratio:0) {
    input[type=checkbox]:focus + label::before,
    input[type=radio]:focus + label::before {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
    }
}

/* on checked */

input[type=checkbox]:checked + label::before {
    border-color: #000;
    background-color: #000;
    background-image: url('images/icon_checked.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 12px 9px;
}

input[type=radio]:checked + label::before {
    border-color: #000;
    background-color: #000;
    box-shadow: inset 0 0 0 0.3125em #fff;
}

/* on checked and focus */

/* input[type=radio]:checked:focus + label::before {
    box-shadow: 0 0 0 0.25em #ffc901,
                inset 0 0 0 0.3125em #fff;
} */

/* checkbox or radiobutton and label alignment */

input[type=checkbox] + label,
input[type=radio] + label {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 0;
}


/**
 * Multiple checkboxes or radiobuttons
 * ----------------------------------------------------------------------
 */

 .form-options {
    display: block;
}

.form-options > * {
	display: flex;
	flex-direction: column;
}

.form-options label {
    margin-top: .5em;
}

.form-options label ~ label {
    margin-top: .75em;
}

.form-options.is-active br {
	display: none;
}

/**
 * Confirmation checkbox
 * ----------------------------------------------------------------------
 */

.form-checkbox--confirm {
    display: block;
    margin-top: 1em;
	margin-bottom: 1.5em !important;
}

.form-checkbox--confirm input {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

.form-checkbox--confirm label {
    display: flex;
    align-items: flex-start !important;
    padding: 1.25em;
    background-color: #f3f3f3;
    cursor: pointer;
}


/**
 * No label checkbox
 * ----------------------------------------------------------------------
 */

 .form-checkbox--nolabel input[type=checkbox] + label {
	color: transparent;
	font: 0/0 a;
}
 
.form-checkbox--nolabel input[type=checkbox] + label::before {
	margin-top: .25em;
	font-size: 1rem;
}

/* .form-checkbox--nolabel input[type=checkbox]:focus + label::before,
.form-checkbox--nolabel input[type=checkbox]:hover + label::before {
	outline: .25em solid #ffc901;
} */
 
 /* Passive */
 
.form-checkbox--nolabel.is-passive {
	color: transparent;
	font: 0/0 a;
}

.form-checkbox--nolabel.is-passive:not(:empty)::before {
	display: block;
    width: 1.25em;
    min-width: 1.25em;
    height: 1.25em;
    min-height: 1.25em;
	margin-top: .25em;
    margin-right: 0.75em;
	background-image: url('images/icon_check.png');
	background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 12px 9px;
    content: '';
	font-size: 1rem;
}


/**
 * Autocomplete
 * ----------------------------------------------------------------------
 */
 
.form-autocomplete.is-active input[type=text] {
	width: 100%;
	max-width: 18.75em;
	padding: 0.5625em 0.5em; /* 10 8 */
    border: 1px solid #767676;
	font-family: inherit;
}
 
.form-autocomplete.is-active input[type=text]:focus,
.form-autocomplete.is-active input[type=text]:hover {
	border-color: #000;
	/* outline: .25em solid #ffc901;
    outline-offset: 0; */
}

.ui-autocomplete {
	text-align: left;
}
 
.ui-autocomplete .ui-menu-item-alternate {
	background-color: #fff;
	color: #000;
}
 
/**
 * Datepicker
 * ----------------------------------------------------------------------
 */

.form-datepicker input {
    display: block;
    width: 100%;
	font-family: inherit;
}

.form-datepicker.is-active {
    position: relative;
}

.ui-datepicker-trigger {
    position: absolute;
    top: 6px;
    right: 9px;
    width: 20px;
    height: 20px;
    padding: 10px;
	border: 0;
    background-color: #fff;
    background-size: 20px 20px;
    background-image: url('images/datepicker.png');
    cursor: pointer;
}

.ui-datepicker-trigger img {
	display: none;
}

.form-datepicker.is-active input {
    padding: .5625em 2.25em .5625em .5em;
    border: 1px solid #767676;
}

.form-datepicker.is-active input:hover {
    border-color: #000;
}

.form-datepicker.is-active input:focus {
    border-color: Highlight;
}

/* .form-datepicker.is-active input:focus {
    outline: 0.25em solid #ffc901;
    outline-offset: 0;
} */

/**
 * Datepicker dropdown
 */

.ui-datepicker {
    padding: 0.1875em; /* 3 */
    border: 1px solid #000;
    background-color: #fff;
    box-shadow: 0 0 .5em 0 rgba(0,0,0,0.25);
}

.ui-datepicker:not([style]) { display: none; }

/* Header */

.ui-datepicker-header {
    display: flex;
}

.ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker-header .ui-datepicker-next {
    width: 2.5em;
    height: 2.5em;
    cursor: pointer;
}

.ui-datepicker-header .ui-datepicker-prev:hover,
.ui-datepicker-header .ui-datepicker-next:hover {
    background-color: #e7e7e7;
}

.ui-datepicker-header .ui-datepicker-prev {
    order: 1;
}

.ui-datepicker-header .ui-datepicker-next {
    order: 3;
}

.ui-datepicker-header .ui-datepicker-prev span,
.ui-datepicker-header .ui-datepicker-next span {
    display: block;
    width: 40px;
    height: 40px;
    padding: 10px;
    background-clip: content-box;
    background-origin: content-box;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 20px 60px;
    color: transparent;
    font: 0/0 a;
    text-shadow: none;
}

.ui-datepicker-header .ui-datepicker-prev:hover span,
.ui-datepicker-header .ui-datepicker-next:hover span {
    background-position: 0 -20px;
}

.ui-datepicker-header .ui-datepicker-prev span {
    background-image: url('images/datepicker_header_prev.png');
}

.ui-datepicker-header .ui-datepicker-next span {
    background-image: url('images/datepicker_header_next.png');
}

.ui-datepicker-header .ui-datepicker-title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    order: 2;
}

.ui-datepicker-header .ui-datepicker-month {
    margin-right: .25em;
}

.ui-datepicker-header .ui-datepicker-year {
    margin-left: .25em;
}

/* Calendar */

.ui-datepicker-calendar,
.ui-datepicker-calendar thead,
.ui-datepicker-calendar tbody,
.ui-datepicker-calendar th,
.ui-datepicker-calendar td,
.ui-datepicker-calendar span {
    display: block;
}

.ui-datepicker-calendar {
    border-collapse: collapse;
    text-align: center;
}

.ui-datepicker-calendar thead {
    font-size: 0.875em; /* 14 */
}

.ui-datepicker-calendar tbody {
    font-size: 1.125em; /* 18 */
}

.ui-datepicker-calendar tr {
    display: flex;
}

.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
    width: 2.5rem;
    padding: 0;
}

.ui-datepicker-calendar th {
    line-height: 1;
}

.ui-datepicker-calendar td {
    height: 2.5rem;
}

.ui-datepicker-calendar a {
    display: block;
    margin: .25rem;
    color: #000;
    font-weight: 700;
    line-height: 2rem;
    text-decoration: none;
}

.ui-datepicker-calendar a:hover {
    color: #ce0000;
    text-decoration: underline;
}

/* Vandaag */

.ui-datepicker-calendar .ui-datepicker-today a {
    box-shadow: inset 0 0 0 1px #8c8c8c;
}

/* Geselecteerde dag */

.ui-datepicker-calendar .ui-datepicker-current-day a {
    background-color: #ec0000;
    box-shadow: none;
    color: #fff;
}

/* Andere maand */

.ui-datepicker-calendar .ui-datepicker-other-month a {
    color: #b4b4b4;
}

.ui-datepicker-buttonpane {
	display: none;
}

/**
 * Buttons
 * ----------------------------------------------------------------------
 */
 
.button,
.next-step-button,
.previous-step-button {
    display: inline-block;
    height: 2.75em; /* 44 */
    padding: 0 0.9375em; /* 0 15 */
    border: 0;
    background-color: #004699;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

/* .button:focus,
.next-step-button:focus,
.previous-step-button:focus {
    outline: .25em solid #ffc901;
} */

.button:hover {
    background-color: #0f3b78;
}

/* Primary (red) */

.button--primary {
    background-color: #ec0000;
}

.button--primary:hover {
    background-color: #b50009;
}

/* Secondary (blue) */

.button--secondary {
    background-color: #004699;
}

.button--secondary:hover {
    background-color: #0f3b78;
}

/* Tertiary (gray) */

.button--tertiary {
    background-color: #b4b4b4;
    color: #000;
}

.button--tertiary:hover {
    background-color: #969696;
}

/* Outline (blue border) */

.button--outline {
    border: 1px solid currentColor;
    background-color: #fff;
    color: #004699;
}

.button--outline:hover {
    background-color: #fff;
    box-shadow: inset 0 0 0 1px currentColor;
}

/* Outline + icon */

.button--outline[class*="has-icon"] {
    padding-left: 2.8125em;
    background-repeat: no-repeat;
    background-position: 0.9375em 50%;
    background-size: 1.25em 1.25em;
}

/* Outline + print icon */

.button--outline.has-icon-print {
    background-image: url('/images/icon_print.png');
}

/* Outline + print icon */

.button--outline.has-icon-download {
    background-image: url('/images/icon_download.png');
}

/* Link */

.button--link {
    padding: 0;
    background-color: transparent;
    color: #004699;
    line-height: 1.375; /* 22 */
}

.button--link:hover {
    background-color: transparent;
    color: #ec0000;
}

.button--link[class*="has-icon"] {
    padding-left: 1.875em;
    background-repeat: no-repeat;
    background-position: 0 50%;
    background-size: 1.25em 1.25em;
}

.button--link.has-icon-cross {
    background-image: url('images/icon_cross.png');
}

.button--link.has-icon-cross:hover {
    background-image: url('images/icon_cross_hover.png');
}

/* Margin bottom */

.button.margin-bottom {
	margin-bottom: 1em;
}

/**
 * Next and previous buttons
 * ----------------------------------------------------------------------
 */
 
.formcontainer_ContantHolder > div {
	position: relative;
	padding-bottom: 64px;
}

/* Gradient voor grijs vlak achter volgende/vorige knoppen RB/YV */

/* .formcontainer_ContantHolder > div:first-child { */
	/* background-image: linear-gradient(to bottom, #fff 0%, #fff calc(100% - 64px), #e6e6e6 calc(100% - 64px), #e6e6e6 100%); */
/* } */

.formcontainer_ContantHolder > div > input {
	position: absolute;
	bottom: 10px;
}

.formcontainer_ContantHolder > div > .button--next, 
.formcontainer_ContantHolder > div > .next-step-button {
	right: 10px;
}

.formcontainer_ContantHolder > div > .previous-step-button {
	left: 0;
}
 
.button--next,
.next-step-button {
	width: auto !important;
    background-color: #ec0000;
    background-repeat: no-repeat;
    background-size: 0.4375em 0.75em;
}

.button--next:hover,
.next-step-button:hover,
.previous-step-button:hover {
    background-color: #b50009;
}

.next-step-button {
    margin-left: auto;
}

/* .next-step-button { */
    /* margin: 4.375em 0.9375em 0.625em auto; */
/* } */

.previous-step-button {
    padding: 0 0.9375em 0 2.8125em; /* 0 15 0 45 */
    background-color: transparent;
    background-position: 0.9375em  50%;
    background-repeat: no-repeat;
    background-size: 1.25em;
    background-image: url('images/icon_previous.png');
    color: #004699;
}

.previous-step-button:hover {
    background-color: transparent;
    color: #004699;
    text-decoration: underline;
}

/* Alleen browsers die clip-path ondersteunen krijgen een pijl button, andere browser de gewone rode knop (zonder pijl) */

@supports ((-webkit-clip-path: polygon(0% 0%, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0% 100%)) or (clip-path: polygon(0% 0%, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0% 100%))) {

    .button--next,
    .next-step-button {
        padding-right: 1.9375em; /* 31px */
        -webkit-clip-path: polygon(0% 0%, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
                clip-path: polygon(0% 0%, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
    }

}


/**
 * Styling withing X cell layouts
 * ----------------------------------------------------------------------
 */

@media (max-width: 899px) {

    [class*="cell"] {
        width: 100% !important;
    }

    [class$="cell_3"] {
        margin-top: -0.75em !important;
    }

    [class$="cell_3"] input {
        margin-bottom: 2em !important;
    }

    [class$="cell_16"] + [class$="cell_5"],
    [class$="cell_16"] + [class$="cell_8"] {
        display: none !important;
    }

}

@media (min-width: 900px) {

    /* [class$="cell_8"] input[type="text"] {
        max-width: calc(100% - calc(48px / 2)) !important;
    } */

    [class*="cell"] {
        padding-right: 1.5em;
    }

	[class$="cell_3"] {
		position: relative;
	}
	
	[class$="cell_3"] .button {
		position: absolute;
		top: 0;
		right: 0;
	}
	
    [class$="cell_5"] input.form-datepicker {
        max-width: 100%;
    }

}


/**
 * Previous / Next buttons
 * ----------------------------------------------------------------------
 */

.formcontainer_ContantHolder > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.formcontainer_ContantHolder > div > div {
    min-width: 100%;
}

/*
 * Passive / readonly text colors
 * ----------------------------------------------------------------------
 */

.tf-question-wrapper.is-passive .tf-question-label,
.tf-question-wrapper.is-passive .form-textarea,
.tf-question-wrapper.is-passive .form-textbox,
.tf-question-wrapper.is-passive .form-options,
.tf-question-wrapper.is-passive .form-datepicker,
.tf-question-wrapper.is-passive .form-selectbox,
.tf-question-wrapper.is-passive .form-file-upload,
.tf-question-wrapper.is-passive .form-autocomplete,
.tf-question-wrapper.is-passive .form-checkbox--confirm,
.tf-question-wrapper.is-passive .form-options--radiobuttons fieldset legend,
.tf-question-wrapper.is-passive .tf-control-wrapper fieldset legend,
.txt-p.is-passive {
    color: #767676;
}


/**
 * File upload
 * ----------------------------------------------------------------------
 */

.form-file-upload {
	padding: 1.25em;
    background-color: #f3f3f3;
}

.is-passive .form-file-upload {
	display: block;
}

.form-file-upload .form-file-upload {
	padding: 0;
}
 
.form-file-upload table {
    width: 100%;
    border-collapse: collapse;
    margin-top: .5em;
}

.form-file-upload td {
    padding: 0;
}


/**
 * Form summary
 * ----------------------------------------------------------------------
 */

 .callout-validator {
	position: static !important;
}

.validate-callout {
    position: static !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 8px 0 0 0 !important;
    background-color: transparent !important;;
    color: #ec0000 !important;
    font-size: inherit !important;
    line-height: 1.375 !important;
}

.validate-callout-co-up,
.validate-callout-co-up2,
.validate-callout strong,
.validate-callout br {
    display: none !important;
}


/**
 * Form summary
 * ----------------------------------------------------------------------
 */

.form-summary table {
    border-collapse: collapse;
    line-height: 1.375;
}

.form-summary tr {
	background-color: transparent !important;
	font-weight: 400 !important;
}

.form-summary td {
    width: 50%;
    padding: .5em 0;
}

.form-summary td:first-child {
    padding-right: .75em;
    color: #767676;
    font-weight: 400;
}

.form-summary td:first-child:last-child b {
    font-weight: 700;
}

.summaryheader {
	padding-top: 2.6666666666666665em;
    padding-right: 0;
    padding-left: 0;
    color: #000;
    font-size: 1.125em;
    line-height: 1.3333333333333333;
	font-weight: 700;
}

.summaryBoldTextColspan2 {
	font-weight: 700;
	color: #000;
}

.summaryRedTextColspan2 {
	font-weight: 400;
	color: #ce0000;
}

/**
 * Sidebar (onder de footer, bevat later verdergaan link)
 * ----------------------------------------------------------------------
 */

.sidemenu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: calc(100% - 30px);
    max-width: 58.75em; /* 940 */
    padding: 0.9375em 0 3.75em 0;
    margin: 0 auto;
    font-weight: 600;
    list-style: none none;
}

.sidemenu li a, .sidemenu li a:link, .sidemenu li a:visited {
    margin: 0 20px 0 0;
}

.sidemenu li:empty {
    display: none;
}

@media (min-width: 540px) {
    .sidemenu {
        width: calc(100% - 60px);
    }
}

/**
 * Spinner
 * ----------------------------------------------------------------------
 */

@-webkit-keyframes waitbox {
    from {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes waitbox {
    from {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

#waitbox {
    position: fixed !important;
    top: calc(50% - 50px) !important;
    left: calc(50% - 50px) !important;
    width: 100px !important;
    height: 100px !important;
    border: 10px solid #ec0000 !important;
    border-top-color: transparent !important;
    border-radius: 50% !important;
    -webkit-animation: 1s waitbox ease-in-out infinite !important;
            animation: 1s waitbox ease-in-out infinite !important;
    background-color: transparent !important;
}

#waitbox .loading {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
}

/**
 * Pop-up
 * ----------------------------------------------------------------------
 */

#fancybox-wrap {
    max-width: calc(100% - 60px);
}

#fancybox-content {
    width: 100% !important;
    padding: 0.9375em;
    margin-left: 0 !important;
}

#fancybox-content h1 {
    padding-bottom: 0.8333333333333334em; /* 15 */
    border-bottom: 1px solid #767676;
    margin-bottom: 0.8333333333333334em; /* 15 */
    font-size: 1.125em; /* 18 */
    line-height: 1.1111111111111112; /* 20 */
}

#fancybox-content p {
    margin-bottom: 0.9375em; /* 15 */
}

#fancybox-content input[type="text"] {
    width: 100% !important;
    max-width: 30em;
    padding: 0.5625em 0.5em; /* 10 8 */
    border: 1px solid #767676;
	background-color: #fff;
	font-family: inherit;
}

#fancybox-content input[type="text"]:hover {
    border-color: #000;
}

#fancybox-content input[type="text"]:focus {
    border-color: Highlight;
}

#fancybox-content input[type="submit"] {
    display: inline-block;
    height: 2.75em; /* 44 */
    padding: 0 0.9375em; /* 0 15 */
    border: 0;
    background-color: #004699;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

#fancybox-content input[type="submit"]:hover {
    background-color: #0f3b78;
}

/**
 * Misc.
 * ----------------------------------------------------------------------
 */

 .charsRemainingCounter {
    display: block;
    margin-top: 0.2857142857142857em; /* 4 */
    color: #767676;
    font-size: 0.875em; /* 14 */
    line-height: 1.5; /* 21 */
}

/* Kaart */

#mapdiv {
    width: 100%;
    height: 300px;
}
  
@media (min-width: 540px) {

    #mapdiv {
        height: 400px;
    }

}
  
.mappassive {
    display: none;	
}

/**
 * Header
 * ----------------------------------------------------------------------
 */

.Header {
    min-height: 4.25em;
    padding-top: .625em;
    padding-bottom: 1.0625em;
    border-bottom: 2.75em solid #f5f5f5;
}

@media (min-width: 540px) {

    .Header {
        padding-top: 1.25em;
        padding-bottom: 1.625em;
    }

}

/**
 * Footer
 * ----------------------------------------------------------------------
 */

.Footer {
    padding-top: 1.875em;
    padding-bottom: 1.875em;
    background-color: #767676;
    color: #fff;
}

.Footer :first-child {
    margin-top: 0;
}

.Footer :last-child {
    margin-bottom: 0;
}

.Footer h2,
.Footer h3 {
    color: inherit;
}

.Footer a {
    color: inherit;
    font-weight: normal;
    text-decoration: underline;
}

/**
 * Meta (menu met privacy en amsterdam.nl links)
 * ----------------------------------------------------------------------
 */

.Meta {
    padding-top: 0.9375em;
    padding-bottom: 0.9375em;
}

.Meta a {
	display: inline-flex;
	align-items: center;
    color: #000;
	font-weight: 700;
	text-decoration: none;
}

.Meta a:hover {
	color: #ec0000;
	text-decoration: underline;
}

.Meta a + a {
    margin-left: 1.875em;
}

.Meta a svg {
	display: block;
	width: 0.875em;
	height: 0.875em;
	margin-right: .125em;
}

.Meta a:hover svg {
	fill: #ec0000;
}

/**
 * Grid
 * ----------------------------------------------------------------------
 */

.l-Canvas {
    background-color: #fff;
    max-width: 87.5em;
    margin-right: auto;
    margin-left: auto;
}

  
  .l-Grid {
    width: calc(100% - 60px);
    max-width: 940px;
    margin-right: auto;
    margin-left: auto;
  }
  
  .l-Grid-row {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 20px);
    margin-left: -10px;
  }
  
  .l-Grid-column {
    padding-right: 10px;
    padding-left: 10px;
    background-clip: content-box;
  }
  
  @media (max-width: 539px) {
    .l-Grid-column.span-sm-1 {
      width: 33.3333333333%;
    }
  
    .l-Grid-column.span-sm-2 {
      width: 66.6666666667%;
    }
  
    .l-Grid-column.span-sm-3 {
      width: 100%;
    }
  }
  @media (min-width: 540px) {

    .l-Grid {
        width: calc(100% - 120px);
    }

    .l-Grid-column.span-md-1 {
      width: 16.6666666667%;
    }
  
    .l-Grid-column.span-md-2 {
      width: 33.3333333333%;
    }
  
    .l-Grid-column.span-md-3 {
      width: 50%;
    }
  
    .l-Grid-column.span-md-4 {
      width: 66.6666666667%;
    }
  
    .l-Grid-column.span-md-5 {
      width: 83.3333333333%;
    }
  
    .l-Grid-column.span-md-6 {
      width: 100%;
    }
  }
  @media (min-width: 1024px) {
    .l-Grid-column.span-lg-1 {
      width: 8.3333333333%;
    }
  
    .l-Grid-column.span-lg-2 {
      width: 16.6666666667%;
    }
  
    .l-Grid-column.span-lg-3 {
      width: 25%;
    }
  
    .l-Grid-column.span-lg-4 {
      width: 33.3333333333%;
    }
  
    .l-Grid-column.span-lg-5 {
      width: 41.6666666667%;
    }
  
    .l-Grid-column.span-lg-6 {
      width: 50%;
    }
  
    .l-Grid-column.span-lg-7 {
      width: 58.3333333333%;
    }
  
    .l-Grid-column.span-lg-8 {
      width: 66.6666666667%;
    }
  
    .l-Grid-column.span-lg-9 {
      width: 75%;
    }
  
    .l-Grid-column.span-lg-10 {
      width: 83.3333333333%;
    }
  
    .l-Grid-column.span-lg-11 {
      width: 91.6666666667%;
    }
  
    .l-Grid-column.span-lg-12 {
      width: 100%;
    }

    .l-Grid-column.push-lg-4 {
        margin-left: 33.3333333333%;
    }
    
}

input[type="file"].upload.tf-question-control {
    display: inline-block !important;
}


/* Upload - upload / text */

.upload.clear-button-visible {
    max-width: 85%;
}

.upload > button.clear-upload {
    position: absolute;
    top: -0.5px;
    right: 0;
    cursor: pointer;
    background: transparent;
    border: none;
}

    .upload > button.clear-upload::after {
        content: "\e872";
        font-size: 20px;
        font-family: 'Material Icons';
        color: #525248;
        text-align: center;
    }

.upload-wrapper table {
    width: 100%;
    table-layout: fixed;
    margin-top: 2px;
}

.upload-wrapper th,
.upload-wrapper td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-wrapper tr td:nth-child(1),
.upload-wrapper tr th:nth-child(1),
.upload-wrapper tr td:nth-child(2),
.upload-wrapper tr th:nth-child(2) {
    text-align: left;
}

.upload-wrapper tr td:nth-child(1),
.upload-wrapper tr th:nth-child(1),
.upload-wrapper tr td:nth-child(2),
.upload-wrapper tr th:nth-child(2),
.upload-wrapper tr td:nth-child(3),
.upload-wrapper tr th:nth-child(3) {
    padding: 0 2px
}

.upload-wrapper tr th:nth-child(2) {
    width: 25%;
}

.upload-wrapper tr th:nth-child(3) {
    width: 22px;
}


button.upload-delete-file,
button.upload-cancel {
    background: none;
    padding: 2px 0 0 0;
    border: 0;
}

    button.upload-delete-file:hover,
    button.upload-cancel:hover {
        cursor: pointer;
    }

    button.upload-cancel::before {
        content: '\e5cd';
        font-family: 'Material icons';
    }

    button.upload-delete-file::before {
        content: '\e872';
        font-family: 'Material icons';
    }

    button.upload-cancel::before,
    button.upload-delete-file::before {
        font-size: 20px;
        color: #525248;
    }

input[type="file"].upload.tf-question-control {
    display: inline-block !important;
}

/* Captcha control has a fixed width of 304 pixels. Subtracting the padding, margin and border gives us 290px */
div[data-tftype="captcha"] > .validate-callout-persistent-controlwidth {
    width: 290px;
}

div[data-tftype="captcha"] > .tf-control-wrapper > div /* with label */ {
    width: 302px;
}

/* Details/Summary controls (Help buttons basically) */
details summary {
    cursor: pointer;
}

    details summary > * {
        display: inline;
    }

div > div > details {
    min-width: 36px;
}

details summary,
details summary::after {
    content: "\e8fd";
    font-size: 33px;
    font-family: 'Material Icons';
    color: #525248;
    text-align: center;
    display: block;
    position: relative;
    transform: translateY(-5%);
}

#validationSummary {
    background-color: rgb(247 7 7 / .10);
    border: 2px solid red;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 1px 7px 7px lightgrey;
    max-width: 80vw;
    margin: auto;
    margin-bottom: 30px;
}