/* ==========================================================================
   NutriCentrum: stylesheet
   Eén bestand voor de hele site. Bovenaan de (opgeschoonde) basis uit de oude
   Joomla-site: alleen regels die op een van de pagina's nog iets doen. Daarna de
   huisstijl. Kleuren en maten staan als variabelen bij "Huisstijl".
   ========================================================================== */

/* ==========================================================================
   Bootstrap 3 + T3 basis (was JCH-bundel)
   ========================================================================== */

html {
	font-family: sans-serif;
	text-size-adjust: 100%;
}

body {
	margin: 0px;
}

article,
aside,
footer,
header,
main,
nav,
section {
	display: block;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0px;
}

h1 {
	margin: 0.67em 0px;
}

img {
	border: 0px;
}

svg:not(:root) {
	overflow: hidden;
}

button {
	overflow: visible;
}

button {
	text-transform: none;
}

button {
	appearance: button;
	cursor: pointer;
}

@media print {
	*,
::before,
::after {
		background: transparent !important;
		color: rgb(0, 0, 0) !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
a:visited {
		text-decoration: underline;
	}
	a[href]::after {
		content: " (" attr(href) ")";
	}
	a[href^="#"]::after {
		content: "";
	}
	blockquote {
		border: 1px solid rgb(153, 153, 153);
		break-inside: avoid;
	}
	img {
		break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
h2,
h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
h3 {
		break-after: avoid;
	}
}

* {
	box-sizing: border-box;
}

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

html {
	font-size: 10px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
	background-color: rgb(255, 255, 255);
}

a:focus {
	outline: -webkit-focus-ring-color auto 5px;
	outline-offset: -2px;
}

img {
	vertical-align: middle;
}

.container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px;
}

@media (min-width: 768px) {
	.container {
		width: 750px;
	}
}

@media (min-width: 992px) {
	.container {
		width: 970px;
	}
}

@media (min-width: 1200px) {
	.container {
		width: 1170px;
	}
}

.row {
	margin-left: -15px;
	margin-right: -15px;
}

.col-sm-3,
.col-md-3,
.col-lg-3,
.col-md-4,
.col-md-8,
.col-xs-12,
.col-md-12 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

.col-xs-12 {
	float: left;
}

.col-xs-12 {
	width: 100%;
}

@media (min-width: 768px) {
	.col-sm-3 {
		float: left;
	}
	.col-sm-3 {
		width: 25%;
	}
}

@media (min-width: 992px) {
	.col-md-3,
.col-md-4,
.col-md-8,
.col-md-12 {
		float: left;
	}
	.col-md-12 {
		width: 100%;
	}
	.col-md-8 {
		width: 66.66666667%;
	}
	.col-md-4 {
		width: 33.33333333%;
	}
	.col-md-3 {
		width: 25%;
	}
}

@media (min-width: 1200px) {
	.col-lg-3 {
		float: left;
	}
	.col-lg-3 {
		width: 25%;
	}
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
	color: rgb(185, 74, 72);
}

.has-error .form-control {
	border-color: rgb(185, 74, 72);
	box-shadow: rgba(0, 0, 0, 0.075) 0px 1px 1px inset;
}

.has-error .form-control:focus {
	border-color: rgb(149, 59, 57);
	box-shadow: rgba(0, 0, 0, 0.075) 0px 1px 1px inset, rgb(213, 147, 146) 0px 0px 6px;
}

.has-error .input-group-addon {
	color: rgb(185, 74, 72);
	border-color: rgb(185, 74, 72);
	background-color: rgb(242, 222, 222);
}

.has-error .form-control-feedback {
	color: rgb(185, 74, 72);
}

.btn {
	display: inline-block;
	margin-bottom: 0px;
	text-align: center;
	vertical-align: middle;
	touch-action: manipulation;
	cursor: pointer;
	background-image: none;
	border: 1px solid transparent;
	font-size: 14px;
	line-height: 1.42857143;
	user-select: none;
}

.btn:focus,
.btn:active:focus {
	outline: -webkit-focus-ring-color auto 5px;
	outline-offset: -2px;
}

.btn:hover,
.btn:focus {
	color: rgb(51, 51, 51);
	text-decoration: none;
}

.btn:active {
	outline: 0px;
	background-image: none;
	box-shadow: rgba(0, 0, 0, 0.125) 0px 3px 5px inset;
}

.btn-default:active {
	background-image: none;
}

.clearfix::before,
.clearfix::after,
.container::before,
.container::after,
.row::before,
.row::after {
	content: " ";
	display: table;
}

.clearfix::after,
.container::after,
.row::after {
	clear: both;
}

.pull-left {
	float: left !important;
}

/* ==========================================================================
   Bootstrap 3 + T3 basis, contactvariant (was JCH-bundel)
   ========================================================================== */

article,
footer,
header,
main,
nav,
section {
	display: block;
}

button,
input,
textarea {
	color: inherit;
	font: inherit;
	margin: 0px;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0px;
}

textarea {
	overflow: auto;
}

@media print {
	*,
::before,
::after {
		background: transparent !important;
		color: rgb(0, 0, 0) !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
a:visited {
		text-decoration: underline;
	}
	a[href]::after {
		content: " (" attr(href) ")";
	}
	a[href^="#"]::after {
		content: "";
	}
	img {
		break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
h2,
h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
h3 {
		break-after: avoid;
	}
}

input,
button,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

.col-md-8,
.col-xs-12 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

@media (min-width: 992px) {
	.col-md-8 {
		float: left;
	}
	.col-md-8 {
		width: 66.66666667%;
	}
}

textarea,
input[type="text"] {
	display: block;
	width: 100%;
	height: 34px;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 1.42857143;
	color: rgb(85, 85, 85);
	background-color: rgb(255, 255, 255);
	background-image: none;
	border: 1px solid rgb(204, 204, 204);
	border-radius: 4px;
	box-shadow: rgba(0, 0, 0, 0.075) 0px 1px 1px inset;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

textarea:focus,
input[type="text"]:focus {
	border-color: rgb(102, 175, 233);
	outline: 0px;
	box-shadow: rgba(0, 0, 0, 0.075) 0px 1px 1px inset, rgba(102, 175, 233, 0.6) 0px 0px 8px;
}

textarea::-webkit-input-placeholder,
input[type="text"]::-webkit-input-placeholder {
	color: rgb(153, 153, 153);
}

@media screen and (min-width: 768px) {
	textarea,
input[type="text"] {
		width: auto;
	}
}

label {
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}

input[type="radio"],
input[type="checkbox"] {
	margin: 4px 0px 0px;
	line-height: normal;
}

input[type="radio"]:focus,
input[type="checkbox"]:focus {
	outline: -webkit-focus-ring-color auto 5px;
	outline-offset: -2px;
}

/* ==========================================================================
   Font Awesome (alleen gebruikte iconen)
   ========================================================================== */

@font-face { font-family: FontAwesome3; src: url("/plugins/system/t3/base-bs3/fonts/font-awesome/font/fontawesome-webfont.woff") format("woff"), url("/plugins/system/t3/base-bs3/fonts/font-awesome/font/fontawesome-webfont.ttf") format("truetype"); font-weight: normal; font-style: normal; }

[class^="icon-"] {
	font-family: FontAwesome3;
	font-weight: normal;
	font-style: normal;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
}

[class^="icon-"]::before {
	text-decoration: inherit;
	display: inline-block;
	speak: none;
}

a [class^="icon-"] {
	display: inline;
}

.pull-left {
	float: left;
}

[class^="icon-"] {
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: baseline;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0px;
}

.icon-chevron-right::before {
	content: "";
}

/* ==========================================================================
   Template-stijlen (was JCH-bundel)
   ========================================================================== */

h1,
h2,
h3 {
	margin-top: 20px;
	margin-bottom: 10px;
}

p {
	margin: 0px 0px 10px;
}

ul,
ol {
	margin-top: 0px;
	margin-bottom: 10px;
}

ul ul {
	margin-bottom: 0px;
}

dl {
	margin-top: 0px;
	margin-bottom: 20px;
}

dt,
dd {
	line-height: 1.42857143;
}

dt {
	font-weight: bold;
}

dd {
	margin-left: 0px;
}

.article-info {
	margin: 0px;
	width: 85%;
}

.article-info .article-info-term {
	display: none;
}

.article-info dd {
	display: inline-block;
	margin-left: 0px;
	margin-right: 10px;
	white-space: nowrap;
}

.article-intro img,
.article-content img {
	max-width: 100%;
}

.article-intro .pull-left.item-image {
	margin: 0px 30px 20px 0px;
}

.page-header {
	padding-bottom: 9px;
	border-bottom: 1px solid rgb(238, 238, 238);
}

.page-title,
.page-header h1 {
	line-height: 1;
	margin: 0px;
}

.article-title,
.article-header h1 {
	margin: 0px 0px 20px;
}

.t3-content {
	padding-top: 20px;
	padding-bottom: 20px;
}

html,
body {
	height: 100%;
}

@font-face { font-family: FontAwesome; src: url("/templates/t3_bs3_blank/fonts/font-awesome/fonts/fontawesome-webfont.woff2") format("woff2"), url("/templates/t3_bs3_blank/fonts/font-awesome/fonts/fontawesome-webfont.woff") format("woff"), url("/templates/t3_bs3_blank/fonts/font-awesome/fonts/fontawesome-webfont.ttf") format("truetype"); font-weight: normal; font-style: normal; font-display: swap; }

.fa {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-size-adjust: none;
	font-language-override: normal;
	font-kerning: auto;
	font-optical-sizing: auto;
	font-feature-settings: normal;
	font-variation-settings: normal;
	font-weight: normal;
	font-stretch: normal;
	line-height: 1;
	font-family: FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.fa-calendar::before {
	content: "";
}

.keur {
	overflow: hidden;
}

.kader {
	padding: 15px;
	border: 1px solid rgb(221, 221, 221);
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 400;
	background: rgb(229, 242, 244) !important;
}

a {
	text-decoration: none;
	font-weight: 400;
}

a:hover,
a:focus {
	text-decoration: underline;
}

h1,
h2 {
	font-weight: 300;
}

h3 {
	margin-bottom: 5px;
}

h1 {
	font-size: 2.5em;
}

h2 {
	font-size: 2.1em;
}

h3 {
	font-size: 1.3em;
	margin-top: 25px;
	font-weight: 500;
}

p {
	font-size: 1.15em;
	line-height: 1.4em;
	margin-bottom: 15px;
}

#t3-content p.kader {
	padding: 20px;
	border: 1px solid rgb(221, 221, 221);
	font-size: 1.3em;
	line-height: 1.6em;
	margin: 15px 0px 25px;
	background: rgb(229, 242, 244) !important;
}

#t3-content p {
	font-size: 1.15em;
	margin-bottom: 20px;
}

#t3-content ul,
#t3-content ol {
	margin-top: 10px;
	margin-bottom: 20px;
}

#t3-content ul li,
#t3-content ol li {
	font-size: 1.15em;
}

ol li {
	font-size: 1.2em;
	margin-bottom: 20px;
}

a[href^="tel"] {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

a.custombutton {
	border: rgb(0, 85, 204);
	background-color: rgb(27, 156, 173);
	background-image: none;
	filter: none;
	color: rgb(255, 255, 255);
	text-shadow: none;
	padding: 7px 17px;
	border-radius: 0px;
	font-size: 16px;
	display: inline-block;
	cursor: pointer;
	margin-top: 0px !important;
}

a.custombutton:hover {
	background-color: rgb(22, 125, 139);
}

.article-intro img,
.article-content img {
	display: block;
	width: 200px;
	height: auto;
}

.keur img {
	width: 90%;
	margin-bottom: 30px;
}

.page-header {
	border-bottom-width: medium;
	border-bottom-style: none;
	border-bottom-color: currentcolor;
}

h2.article-title {
	font-size: 24px;
	margin-bottom: 5px;
	color: rgb(70, 0, 90);
	font-weight: 400;
}

.article-aside {
	margin-bottom: 10px;
}

.btn-default {
	background-color: rgb(27, 156, 173);
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
	color: rgb(255, 255, 255);
	background-color: rgb(22, 125, 139);
	border-color: rgb(173, 173, 173);
}

.items-row .item {
	border-bottom: 1px solid rgb(221, 221, 221);
	padding-bottom: 30px;
	margin-bottom: 20px;
}

.category-desc {
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.keur {
		margin-bottom: 30px;
		border: 1px solid red;
	}
}

@media screen and (max-width: 630px) {
	.itemid-850 .article-content img {
		width: 90%;
		margin-bottom: 30px;
	}
	.keur {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 480px) {
	p {
		font-size: 1.2em;
	}
	h1.article-title,
h1.page-title {
		font-size: 2.2em;
	}
	.itemid-850 .article-content img {
		width: 100%;
		margin-bottom: 30px !important;
	}
	.keur {
		margin-bottom: 30px;
	}
}

/* ==========================================================================
   Template-stijlen, homevariant (was JCH-bundel)
   ========================================================================== */

ul {
	margin-top: 0px;
	margin-bottom: 10px;
}

blockquote {
	padding: 10px 20px;
	margin: 0px 0px 20px;
	font-size: 17.5px;
	border-left: 5px solid rgb(238, 238, 238);
}

blockquote footer {
	display: block;
	font-size: 80%;
	line-height: 1.42857143;
	color: rgb(153, 153, 153);
}

blockquote footer::before {
	content: "— ";
}

blockquote::before,
blockquote::after {
	content: "";
}

.home h2 {
	line-height: 1.3em;
}

@media screen and (max-width: 480px) {
	p {
		font-size: 1.2em;
	}
}

.home h1 {
	line-height: 1;
}

.home h2 {
	font-size: 21px;
}

@media screen and (min-width: 768px) {
	.home h2 {
		font-size: 30px;
	}
}

/* ==========================================================================
   Huisstijl
   ========================================================================== */

:root {
	--nc-purple: #46005a;
	--nc-purple-dark: #33003f;
	--nc-purple-soft: #7a3d8c;
	--nc-teal: #1b9cad;
	--nc-teal-text: #11707c;
	/* teal met voldoende contrast voor tekst op wit (5,6: 1) */
	--nc-teal-dark: #0d5c66;
	--nc-ink: #2b2633;
	--nc-muted: #5f5868;
	--nc-line: #e6e0ea;
	--nc-tint: #f7f3f9;
	--nc-teal-tint: #eaf6f8;
	--nc-white: #fff;
	--nc-radius: 12px;
	--nc-radius-sm: 8px;
	--nc-shadow: 0 1px 2px rgba(51, 0, 63, .06), 0 8px 24px rgba(51, 0, 63, .08);
	--nc-shadow-lg: 0 2px 4px rgba(51, 0, 63, .06), 0 16px 40px rgba(51, 0, 63, .14);
	--nc-font: "Ubuntu", system-ui, -apple-system, "Segoe UI", sans-serif;
	--nc-measure: 72ch;
}

/* ---------- Basis ---------- */

html {
	scroll-padding-top: 16px;
}

body {
	padding: 0 !important;
	font-family: var(--nc-font);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.65;
	color: var(--nc-ink);
	background: var(--nc-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

main:focus {
	outline: none;
}

a {
	color: var(--nc-teal-text);
	text-underline-offset: .18em;
}
a:hover,
a:focus {
	color: var(--nc-teal-dark);
}

h1,
h2,
h3 {
	font-family: var(--nc-font);
	color: var(--nc-purple);
	line-height: 1.25;
	letter-spacing: -.005em;
}

strong {
	font-weight: 500;
}

:focus-visible {
	outline: 3px solid var(--nc-teal);
	outline-offset: 2px;
	border-radius: 4px;
}

.nc-skip {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 1000;
	padding: 10px 16px;
	background: var(--nc-purple);
	color: var(--nc-white);
	border-radius: var(--nc-radius-sm);
	font-weight: 500;
}
.nc-skip:focus {
	top: 16px;
	color: var(--nc-white);
}

/* ---------- Knoppen ---------- */

.nc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 44px;
	padding: .55em 1.2em;
	border: 2px solid transparent;
	border-radius: 999px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.nc-btn:hover,
.nc-btn:focus {
	text-decoration: none;
}
.nc-btn:active {
	transform: translateY(1px);
}

.nc-btn--primary {
	background: var(--nc-purple);
	color: var(--nc-white);
}
.nc-btn--primary:hover,
.nc-btn--primary:focus {
	background: var(--nc-purple-dark);
	color: var(--nc-white);
}

.nc-btn--ghost {
	border-color: var(--nc-teal);
	color: var(--nc-teal-dark);
	background: var(--nc-white);
}
.nc-btn--ghost:hover,
.nc-btn--ghost:focus {
	background: var(--nc-teal-tint);
	color: var(--nc-teal-dark);
}

.nc-btn--lg {
	min-height: 52px;
	padding: .7em 1.6em;
	font-size: 17px;
}

/* Bestaande Bootstrap-knoppen (blog, formulier) in dezelfde stijl */
.btn {
	border-radius: 999px;
	font-weight: 500;
	padding: .55em 1.3em;
	white-space: normal;
	/* lange "lees meer: <titel>"-knoppen niet buiten beeld laten lopen */
	text-align: left;
}
.btn-default {
	background: var(--nc-purple);
	border-color: var(--nc-purple);
	color: var(--nc-white);
}
.btn-default:hover,
.btn-default:focus {
	background: var(--nc-purple-dark);
	border-color: var(--nc-purple-dark);
	color: var(--nc-white);
}

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

.nc-header {
	position: relative;
	background: var(--nc-white) url(/templates/t3_bs3_blank/images/backgrounds/cirkels_header.svg) no-repeat 88% 0 / 38% auto;
	border-bottom: 1px solid var(--nc-line);
}
.nc-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 112px;
	padding-top: 12px;
	padding-bottom: 12px;
}
.nc-header__inner::before,
.nc-header__inner::after {
	display: none;
} /* Bootstrap clearfix uitzetten */
.nc-header__logo {
	flex: 0 0 auto;
	display: block;
}
.nc-header__logo img {
	display: block;
	width: 180px;
	height: auto;
}
.nc-header__slogan {
	margin: 0;
	flex: 1 1 auto;
	align-self: flex-end;
	padding-bottom: 14px;
	color: var(--nc-purple);
	font-style: italic;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .02em;
}
.nc-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}
.nc-header__phone svg {
	flex: 0 0 auto;
}
.nc-header__phone-label {
	font-weight: 400;
}

/* ---------- Hoofdmenu ---------- */

.nc-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--nc-purple);
	box-shadow: 0 2px 10px rgba(51, 0, 63, .18);
}
.nc-nav__inner {
	position: relative;
}
.nc-nav__inner::before,
.nc-nav__inner::after {
	display: none;
}
.nc-nav__toggle {
	display: none;
}

.nc-menu {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nc-menu__item {
	position: relative;
}
.nc-menu__item > a,
.nc-menu__trigger {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 100%;
	min-height: 56px;
	padding: 0 18px;
	border: 0;
	background: none;
	color: var(--nc-white);
	font: 500 16px/1.2 var(--nc-font);
	text-decoration: none;
	cursor: pointer;
	position: relative;
}
.nc-menu__item > a:hover,
.nc-menu__item > a:focus,
.nc-menu__trigger:hover,
.nc-menu__trigger:focus,
.nc-menu__item.is-open > .nc-menu__trigger {
	color: var(--nc-white);
	background: rgba(255, 255, 255, .1);
	text-decoration: none;
}
/* Actieve pagina: teal streep onder het menu-item */
.nc-menu__item.is-current > a::after,
.nc-menu__item.is-active > .nc-menu__trigger::after,
.nc-menu__item.is-current > .nc-menu__trigger::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 0;
	height: 4px;
	border-radius: 4px 4px 0 0;
	background: var(--nc-teal);
}
.nc-chevron {
	transition: transform .15s ease;
}
.nc-menu__item.is-open .nc-chevron {
	transform: rotate(180deg);
}

/* Uitklapmenu */
.nc-sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	padding: 10px;
	background: var(--nc-white);
	border-radius: 0 0 var(--nc-radius) var(--nc-radius);
	box-shadow: var(--nc-shadow-lg);
}
.nc-sub ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nc-sub a {
	display: block;
	padding: 8px 12px;
	border-radius: var(--nc-radius-sm);
	color: var(--nc-ink);
	font-size: 16px;
	line-height: 1.35;
	text-decoration: none;
}
.nc-sub a:hover,
.nc-sub a:focus {
	background: var(--nc-tint);
	color: var(--nc-purple);
}
.nc-sub a[aria-current="page"] {
	color: var(--nc-purple);
	font-weight: 500;
	background: var(--nc-tint);
}

/* Brede variant (Specialisaties) met kolommen */
.nc-sub--mega {
	width: 720px;
	padding: 18px;
}
.nc-sub--mega > ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px 18px;
}
.nc-sub--mega .nc-sub__head {
	font-weight: 500;
	color: var(--nc-purple);
}
.nc-sub--mega ul ul a {
	padding-top: 4px;
	padding-bottom: 4px;
	font-size: 15px;
	color: var(--nc-muted);
}
.nc-sub--mega ul ul a::before {
	content: "– ";
	color: var(--nc-teal);
}

.nc-menu__item.is-open > .nc-sub {
	display: block;
}

@media (min-width: 992px) and (hover: hover) {
	.nc-menu__item.has-sub:hover > .nc-sub { display: block; }
	.nc-menu__item.has-sub:hover .nc-chevron { transform: rotate(180deg); }
}

/* ---------- Homepage ---------- */

.nc-hero {
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	background-color: #d9d6dc;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 30% 30%;
}
.nc-hero > .container {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.nc-hero > .container::before,
.nc-hero > .container::after {
	display: none;
}
.nc-hero__panel {
	width: 400px;
	max-width: 100%;
	margin: 32px 0;
	padding: 28px 28px 32px;
	background: rgba(255, 255, 255, .94);
	border-radius: var(--nc-radius);
	box-shadow: var(--nc-shadow-lg);
	backdrop-filter: blur(4px);
}
.nc-hero__title {
	margin: 0 0 16px;
	font-size: 30px;
	font-weight: 500;
}
.nc-hero__links {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}
.nc-hero__links li + li {
	border-top: 1px solid var(--nc-line);
}
.nc-hero__links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 2px;
	color: var(--nc-ink);
	font-weight: 500;
	text-decoration: none;
}
.nc-hero__links a::after {
	content: "→";
	color: var(--nc-teal);
	transition: transform .15s ease;
}
.nc-hero__links a:hover,
.nc-hero__links a:focus {
	color: var(--nc-purple);
}
.nc-hero__links a:hover::after,
.nc-hero__links a:focus::after {
	transform: translateX(4px);
}
.nc-hero__panel .nc-btn {
	width: 100%;
}

.nc-section {
	padding: 64px 0;
}
.nc-section--tint {
	background: var(--nc-tint);
}
.nc-section__title {
	margin: 0 0 28px;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
}

.nc-intro {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 48px;
	align-items: start;
}
.nc-intro::before,
.nc-intro::after {
	display: none;
}
.nc-intro__text p {
	margin: 0;
	font-size: 19px;
	line-height: 1.7;
}
.nc-intro__focus {
	padding: 24px 28px;
	background: var(--nc-teal-tint);
	border-radius: var(--nc-radius);
}
.nc-intro__focus h2 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 500;
}

.nc-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nc-checklist li {
	position: relative;
	padding: 6px 0 6px 34px;
	font-weight: 500;
}
.nc-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--nc-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 14px;
}

.nc-cards {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nc-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: var(--nc-white);
	border-radius: var(--nc-radius);
	box-shadow: var(--nc-shadow);
	color: var(--nc-ink);
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.nc-card a:hover,
.nc-card a:focus {
	transform: translateY(-3px);
	box-shadow: var(--nc-shadow-lg);
	color: var(--nc-ink);
}
.nc-card__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background-color: var(--nc-line);
}
.nc-card__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px 18px;
	flex: 1;
}
.nc-card__title {
	font-weight: 500;
	font-size: 18px;
	color: var(--nc-purple);
	line-height: 1.3;
}
.nc-card__more {
	margin-top: auto;
	color: var(--nc-teal-text);
	font-size: 15px;
	font-weight: 500;
}
.nc-card__more::after {
	content: " →";
}

.nc-quote {
	padding: 64px 0;
	background: var(--nc-purple);
	color: var(--nc-white);
}
.nc-quote blockquote {
	max-width: 860px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	text-align: center;
}
.nc-quote blockquote p {
	margin: 0 0 20px;
	font-size: 26px;
	line-height: 1.45;
	font-weight: 400;
}
.nc-quote blockquote footer {
	color: rgba(255, 255, 255, .85);
	font-size: 16px;
}
.nc-quote blockquote footer::before {
	content: none;
}

/* ---------- Contentpagina's ---------- */

.nc-banner {
	height: 320px;
	background-size: cover;
	background-position: center 15%;
	background-color: var(--nc-tint);
}

.t3-mainbody {
	padding-top: 48px;
	padding-bottom: 64px;
}

h1.article-title,
h1.page-title {
	margin: 0 0 24px;
	font-size: 38px;
	font-weight: 500;
	color: var(--nc-purple);
}
.page-header {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
}
.page-header + .item-page h1.article-title {
	font-size: 30px;
}

.article-content,
.item-page .article-content,
.category-desc {
	max-width: var(--nc-measure);
}

.article-content h2 {
	margin: 1.6em 0 .5em;
	font-size: 26px;
	font-weight: 500;
}
.article-content h3 {
	margin: 1.4em 0 .4em;
	font-size: 21px;
	font-weight: 500;
}

.article-content p,
.article-content li {
	font-size: 17px;
}
.article-content ul,
.article-content ol {
	padding-left: 1.3em;
}
.article-content li {
	margin-bottom: .35em;
}
.article-content li::marker {
	color: var(--nc-teal);
}
.article-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--nc-radius-sm);
}

.article-info,
.article-aside {
	color: var(--nc-muted);
	font-size: 15px;
}

/* Blogoverzicht */
.blog .items-row,
.blog .item {
	margin-bottom: 28px;
}
.blog .item {
	padding: 24px;
	background: var(--nc-white);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-radius);
}
.blog .item-image img,
.blog .pull-left.item-image img {
	border-radius: var(--nc-radius-sm);
}
.blog h2,
.blog .item h2 {
	font-size: 24px;
	font-weight: 500;
	margin-top: 0;
}

/* ---------- Contactpagina ---------- */

.nc-contact {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px;
	margin: 28px 0 8px;
}
.nc-contact__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 20px 22px;
	background: var(--nc-tint);
	border-radius: var(--nc-radius);
}
.nc-contact__item svg {
	flex: none;
	margin-top: 2px;
	color: var(--nc-purple);
}
.article-content .nc-contact__item h2 {
	margin: 0 0 2px;
	font-size: 15px;
	color: var(--nc-muted);
}
#t3-content .nc-contact__item p {
	margin: 0;
	font-size: 16px;
}
.article-content .nc-contact__link {
	font-size: 20px;
	font-weight: 500;
	color: var(--nc-purple);
	overflow-wrap: anywhere;
}
#t3-content p.nc-contact__note {
	margin-top: 4px;
	font-size: 15px;
	color: var(--nc-muted);
}

.article-content .nc-locations {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin: 16px 0 24px;
	padding: 0;
	list-style: none;
}
.article-content .nc-locations li {
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-radius);
	font-size: 16px;
	line-height: 1.5;
}
.nc-locations strong {
	display: block;
	margin-bottom: 4px;
	font-weight: 500;
	color: var(--nc-purple);
}
.nc-locations address {
	margin: 0;
	font-style: normal;
}
.nc-locations address + address {
	margin-top: 10px;
}

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

.nc-footer {
	padding: 56px 0 40px;
	background: var(--nc-purple-dark);
	color: rgba(255, 255, 255, .88);
	font-size: 15px;
	line-height: 1.6;
}
.nc-footer__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
.nc-footer__grid::before,
.nc-footer__grid::after {
	display: none;
}
.nc-footer h2 {
	margin: 0 0 16px;
	color: var(--nc-white);
	font-size: 20px;
	font-weight: 500;
}
.nc-footer h3 {
	margin: 20px 0 6px;
	color: var(--nc-white);
	font-size: 16px;
	font-weight: 500;
}
.nc-footer p {
	margin: 0 0 14px;
}
.nc-footer strong {
	color: var(--nc-white);
}
.nc-footer a {
	color: var(--nc-white);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .4);
}
.nc-footer a:hover,
.nc-footer a:focus {
	text-decoration-color: var(--nc-white);
	color: var(--nc-white);
}
.nc-footer__contact {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.nc-footer__contact li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.nc-footer__contact svg {
	color: #7fd0db;
	flex: 0 0 auto;
}
.nc-footer .nc-btn--primary {
	background: var(--nc-teal);
	color: var(--nc-white);
	text-decoration: none;
}
.nc-footer .nc-btn--primary:hover,
.nc-footer .nc-btn--primary:focus {
	background: var(--nc-teal-dark);
}
.nc-footer__small {
	font-size: 14px;
	color: rgba(255, 255, 255, .7);
}

/* Vaste belbalk: alleen op mobiel */
.nc-callbar {
	display: none;
}

/* ---------- Tablet ---------- */

@media (max-width: 1199px) {
	.nc-menu__item > a,
.nc-menu__trigger { padding: 0 13px; }
	.nc-menu__item.is-current > a::after,
.nc-menu__item.is-active > .nc-menu__trigger::after,
.nc-menu__item.is-current > .nc-menu__trigger::after { left: 13px; right: 13px; }
	.nc-header__phone-label { display: none; }
	.nc-cards { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Mobiel menu (< 992px) ---------- */

@media (max-width: 991px) {
	.nc-header__slogan { display: none; }
	.nc-header__inner { justify-content: space-between; min-height: 84px; }
	.nc-header__logo img { width: 140px; }
	.nc-header { background-size: 70% auto; background-position: right -40px top 0; }

	.nc-nav__toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 52px;
		padding: 0 4px;
		border: 0;
		background: none;
		color: var(--nc-white);
		font: 500 17px/1 var(--nc-font);
		cursor: pointer;
	}
	.nc-menu {
		display: none;
		flex-direction: column;
		padding: 4px 0 16px;
		border-top: 1px solid rgba(255, 255, 255, .15);
	}
	.nc-nav.is-open .nc-menu { display: flex; }
	.nc-nav.is-open { max-height: 100vh; overflow-y: auto; }
	.nc-menu__item > a,
.nc-menu__trigger {
		width: 100%;
		min-height: 50px;
		padding: 0 4px;
		justify-content: space-between;
		border-bottom: 1px solid rgba(255, 255, 255, .1);
		font-size: 17px;
	}
	.nc-menu__item.is-current > a::after,
.nc-menu__item.is-active > .nc-menu__trigger::after,
.nc-menu__item.is-current > .nc-menu__trigger::after {
		left: 0; right: auto; top: 12px; bottom: 12px; width: 4px; height: auto; border-radius: 4px;
	}
	.nc-menu__item.is-current > a,
.nc-menu__item.is-active > .nc-menu__trigger { padding-left: 16px; }
	.nc-sub,
.nc-sub--mega {
		position: static;
		width: auto;
		min-width: 0;
		margin: 4px 0 10px;
		padding: 6px;
		border-radius: var(--nc-radius-sm);
		box-shadow: none;
	}
	.nc-sub--mega > ul { display: block; }
	.nc-sub--mega ul ul { margin-bottom: 4px; }

	.nc-hero { min-height: 0; display: block; background-color: var(--nc-tint); background-size: auto 300px; background-position: 28% 0; padding-top: 250px; }
	.nc-hero > .container { justify-content: stretch; }
	.nc-hero__panel { width: 100%; margin: 0 0 24px; }

	.nc-intro { grid-template-columns: 1fr; gap: 28px; }
	.nc-footer__grid { grid-template-columns: 1fr 1fr; }
	.nc-footer__grid > section:last-child { grid-column: 1 / -1; }
	.nc-banner { height: 220px; }
}

/* ---------- Telefoon (< 768px) ---------- */

@media (max-width: 767px) {
	body { font-size: 17px; padding-bottom: 76px !important; }
	.nc-header__actions { display: none; }
	.nc-header__inner { min-height: 72px; }
	.nc-header__logo img { width: 124px; }

	.nc-section { padding: 44px 0; }
	.nc-section__title { font-size: 26px; text-align: left; }
	.nc-intro__text p { font-size: 18px; }
	.nc-cards { grid-template-columns: 1fr 1fr; gap: 14px; }
	.nc-card__body { padding: 12px 14px 14px; }
	.nc-card__title { font-size: 16px; }
	.nc-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.nc-card:last-child:nth-child(odd) .nc-card__img { aspect-ratio: 16 / 7; }
	.nc-quote { padding: 44px 0; }
	.nc-quote blockquote p { font-size: 21px; }

	h1.article-title,
h1.page-title { font-size: 30px; }
	.article-content h2 { font-size: 23px; }
	.t3-mainbody { padding-top: 32px; padding-bottom: 40px; }
	.nc-banner { height: 180px; }

	.blog .item { padding: 18px; }
	.blog .pull-left.item-image { float: none !important; margin: 0 0 14px !important; }
	.blog .pull-left.item-image img { width: 100%; height: auto; }

	.nc-footer__grid { grid-template-columns: 1fr; gap: 28px; }

	.nc-callbar {
		display: flex;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 200;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97);
		border-top: 1px solid var(--nc-line);
		box-shadow: 0 -4px 16px rgba(51, 0, 63, .1);
	}
	.nc-callbar .nc-btn { flex: 1; padding-left: .6em; padding-right: .6em; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
	*,
*::before,
*::after { transition: none !important; }
}

/* ---------- Afspraak-kaart naast de tekst (contentpagina's) ---------- */

.nc-aside {
	padding-top: 64px;
}
.nc-aside__card {
	position: sticky;
	top: 88px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	background: var(--nc-tint);
	border-radius: var(--nc-radius);
}
.nc-aside__card h2 {
	margin: 0;
	font-size: 21px;
	font-weight: 500;
}
.nc-aside__card p {
	margin: 0 0 6px;
	color: var(--nc-muted);
	font-size: 16px;
}
@media (max-width: 991px) {
	.nc-aside { padding-top: 8px; }
	.nc-aside__card { position: static; }
}
@media (max-width: 767px) {
	.nc-aside { display: none; } /* op mobiel staat de belbalk onderin */
}

/* Eerste element in de tekst geen extra ruimte boven (pagina's die met een tussenkop beginnen) */
.article-content > :first-child,
.article-content > :first-child > :first-child {
	margin-top: 0;
}

.blog .readmore .btn,
.readmore .btn {
	font-size: 15px;
}
