* {padding: 0; margin: 0; box-sizing: border-box;}
html {font-size: 15px;}
html, body {height: 100%;}
body {font-family: 'Exo 2'; font-weight: 300; line-height: 1.45; font-size: 2rem; background: #f8f8f8; color: black;}
img {max-width: 100%;}
strong {font-weight: 500; color: #C23D00;}
div.page {max-width: 128rem; margin: 0 auto; position: relative; background: white;}
h1,h2,h3,h4 {font-weight: normal; color: #C23D00; line-height: 1.1; font-size: 1.6rem;}
h4 {font-weight: bold; font-size: 1.6rem; color: black;}
.container {padding: 0 9rem; }
a {color: black;}

.header {font-weight: 500; font-size: 1.6rem;}
.header::after {content: ""; position: absolute; width: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, transparent 100%); height: 1rem;}
.header .container {display: flex; justify-content: space-between; align-items: center; height: 12rem;}
.header img {height: 7rem; cursor: pointer;}
.header + img {display: block; width: 100%; height: auto;}
body:not(.home) .header + img {height: 0;}
.header ul {display: flex;}
.header ul li {list-style: none; margin-left: 2rem; position: relative; padding: 0.75rem 0;}
.header ul li a {color: black; text-decoration: none; display: block;}
.header ul li.active > a {color: #C23D00;}
.header .container > ul > li > ul li:last-child {padding-bottom: 0; padding-top: 1.5rem;}
@media only screen and (min-width: 1001px) {
    .header .container > ul > li > ul {margin: 0.75rem 0 0; display: none; left: 50%; transform: translateX(-50%); position: absolute; background: black; color: white; padding: 0.5rem 1rem 0.75rem; font-size: 1.4rem; border-radius: 0.3rem;}
    .header .container > ul > li > ul::before {transform: translateX(-50%); content: ""; left: 50%; position: absolute; margin-top: -1rem; width: 0; height: 0; border-bottom: 1rem solid black; border-left: 1rem solid transparent; border-right: 1rem solid transparent;}
    .header .container > ul > li:hover > ul {display: block;}
    .header .container > ul > li > ul li {margin: 0; padding: 0;}
    .header .container > ul > li > ul li a {color: white;}
    .header .container > ul > li > ul li:last-child {padding-top: 0;}
    .header .container > ul > li:last-child a {width: 0; overflow: hidden; margin-left: 2rem;}
    .header .container > ul > li:last-child a::after {
        content: "";
        width: 2rem; 
        height: 2rem;
        position: absolute;
        right: 0;
        background: url('/img/search.svg') center 90% / auto 1.3rem no-repeat;
        top: 0.75rem;
    }
}


.content {min-height: 20rem; font-size: 1.6rem; font-weight: 300; position: relative;}
.content ul.breadcrumbs {display: flex; position: absolute; top: 1.5rem; font-weight: 300; margin-left: 0!important; max-width: calc(100% - 4rem);}
.content ul.breadcrumbs li {list-style: none; color: #737373;}
.content ul.breadcrumbs li:last-child {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.content ul.breadcrumbs li + li::before {content: ">"; padding: 0 0.75rem;}
.content ul.breadcrumbs li a {color: #737373; text-decoration: none;}
.content ul.breadcrumbs li:nth-child(3),
.content ul.breadcrumbs li:nth-child(4) {display: none;}

.content .section.main {padding: 9rem 0 8rem;}
.content .section {padding: 5rem 0; position: relative;}
.content .section.center {text-align: center;}
.content .section:nth-child(even) {background: #fafafa;}
.content .section.main h1,
.content .section h2 {font-weight: 700; color: black; font-size: 3.25rem; position: relative; padding: 1rem 0;}
.content .section.main h1:first-child::before,
.content .section h2::before {
    content: "";
    position: absolute;
    width: 5rem;
    height: 0.2rem;
    background: #C23D00;
    top: 0;
}
.content .section.main h2::before {content: none;}
.content .section.center h2::before {left: 50%; transform: translateX(-50%);}
.content .section .smallwidth {max-width: 65rem; margin: 0 auto;}
.content .section .mediumwidth {max-width: 85rem; margin: 0 auto;}
.content .section p, .content .section ul, .content .section ol {margin-bottom: 1.45em;}
.content .section p {max-width: 73rem;}
.content .section ul {margin-left: 1.5rem;}
.content .section ol {margin-left: 2.6rem;}
.content .section blockquote {margin-bottom: 1.45em; border-top: 1px solid black; border-bottom: 1px solid black; padding: 1.5rem 0 1.8rem; max-width: 73rem;}
.content .section blockquote a {color: #C23D00;}
.tiles.news p:last-child a,
body.home .content .section p:last-child a {color: #C23D00; font-weight: 700; text-decoration: none;}
.content .section p:last-child {margin-bottom: 0;}
.content .section.main h1 + h2,
.content .section h2:first-child + h3 {color: #737373; font-size: 1.6rem; font-weight: 400; margin-bottom: 2.75rem; padding: 0;}
.content .section h2:not(:first-child) {font-size: 1.6rem; padding-top: 2rem; padding-bottom: 0.3rem; color: #C23D00;}
.content .section h1 + p {margin-top: 2rem;}
.content .section h1 + h2 + h3 {margin-bottom: 3rem;}
.content .section h1 + h2 + h3 + blockquote {margin-bottom: 4rem;}

.columns {margin-left: 22.5rem!important; display: flex; padding-bottom: 5rem;}
.columns > div:nth-child(1) {flex-grow: 1; padding-right: 8rem;}
.columns > div:nth-child(2) {min-width: 24rem; max-width: 24rem; margin-top: 10rem;}
.columns > div:nth-child(2) h3 {color: black;}
.columns > div:nth-child(2) h3,
.columns > div:nth-child(2) ul {font-size: 2rem; margin: 0 0 1.5rem 0; font-weight: 500;}
.columns > div:nth-child(2) ul {font-size: 1.8rem;}
.columns > div:nth-child(2) ul li {list-style: none;}
.columns > div:nth-child(2) ul li + li {border-top: 1px solid silver; padding-top: 1.3rem; margin-top: 1.5rem;}
.columns > div:nth-child(2) ul li a {color: #C23D00; text-decoration: none; line-height: 1.3; display: block;}
.columns h1 + h2 + img {position: absolute; margin-left: -22.5rem; width: 20rem; height: 20rem; object-fit: cover; margin-bottom: 2rem;}
.columns + a.button {margin-left: 22.5rem;}


form > div {margin: 0.5rem 0 0.75rem;}
form > div:not(.submit) {display: flex; flex-direction: column;}
form > div input {
    font-family: 'Exo 2';
    display: block; 
    border: 1px solid black;
    height: 2.8rem;
    padding: 0.5rem 0.8rem 0.5rem;
    font-size: 1.15rem;
}
input[type="submit"], .button {
    background: black;
    color: white;
    font-weight: 700; 
}
a.button {
    text-decoration: none;
    padding: 0.5rem 1rem 0.7rem;
    font-weight: 500;
    cursor: pointer;
}

.tiles {display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0!important; text-align: left;}
.tiles.grayscale li > a {filter: grayscale(100%);}
.tiles.grayscale li > a:hover {filter: none;}
.tiles.grayscale li > a::before {width: 100%; height: 100%; z-index: 1; position: absolute; left: 0; top: 0; background-color: rgba(0,0,0,0); content: "";}
.tiles.grayscale li > a:hover::before {background-color: rgba(0,0,0,0.3)}
.tiles.grayscale li > a span {opacity: 0;}
.tiles.grayscale li > a:hover span {opacity: 1;}
.tiles li {flex-grow: 1; position: relative; width: 25rem; list-style: none; font-size: 1.6rem;}
.tiles li > a {display: block; padding-bottom: 100%; background: #f4f4f4 url() center center / cover no-repeat; color: white; position: relative; font-size: 1.8rem; font-weight: 400;}
.tiles li > a span {display: block; position: absolute; width: 100%; bottom: 0; padding: 1.5rem 1.35rem; z-index: 2; line-height: 1.4;}
.tiles li > a span.quote {font-style: italic;}
.tiles li > a span.quote::before {content: "“"}
.tiles li > a span.quote::after {content: "”"}
.tiles li > div {color: #737373; padding-bottom: 2.5rem; font-weight: 400;}
.tiles li > h4 {padding: 1.5rem 0 0.25rem; font-weight: 400; font-size: 1.7rem;}
p + .tiles.news {margin-top: 5rem!important;}
.tiles.news li {width: 33rem;}
.tiles.news li > a {padding-bottom: 70%;}
.tiles.news li .date {color: black; padding: 0;}
.tiles.news li > a + * {padding-top: 1.3rem!important;}
.tiles.news li h3 {color: black; font-size: 2.2rem; font-weight: 500; padding: 0.6rem 0 0.9rem;}
.tiles.news li p {margin-bottom: 1.1rem;}
.tiles.news li p:last-child {padding-bottom: 4rem;}
.tiles.themas {text-align: center; gap: 0rem 5rem; margin-top: 5rem!important;}
.tiles.themas li {width: 20rem;}
.tiles.themas h3 {font-size: 2.2rem; max-width: 20rem; margin: 0 auto;}
.tiles.themas p {margin: 1.5rem 0 1.2rem;}
.tiles.themas p:last-child {margin: 0 0 5rem;}
.tiles.themas p:last-child a {color: black!important;}
.tiles.products li {background: #E8E8E8; cursor: pointer;}
.tiles.products li > h3 {color: black; padding: 0.75rem 1rem 1.2rem; font-size: 1.9rem;}
.tiles.products li:hover > h3 {color: white;}
.tiles.products.grayscale li > a::before {background: rgba(0,0,0,0.1)!important;}
.tiles.grayscale li:hover > a {filter: none;}
.tiles.products li:hover {background: #C23D00;}
.tiles.partners li {border: 1px solid rgba(0,0,0,0.1); background: white;}
.tiles.partners li > a {margin: 7.5%; width: 85%; padding-bottom: 85%; background: white url() center center / contain no-repeat; cursor: initial;}
.tiles.partners li > a span {color: black; bottom: 50%; transform: translateY(50%); text-align: center;}


ul.themalist {margin: 0 0 4rem!important; display: flex; gap: 1.5rem 2rem; flex-wrap: wrap; font-size: 1.9rem; justify-content: space-between;}
ul.themalist li {list-style: none; line-height: 1.2;}
ul.themalist li:last-child {margin-right: 0;}
ul.themalist li a {text-decoration: none; font-weight: 400; color: #C23D00;}
ul.themalist li.active a {font-weight: 700;}
ul.themalist li:nth-child(1) a {color: black;}
#autonomie-en-vrijheid {color: #C23D00;}
.tiles.themas li:nth-child(2) h3,
ul.themalist li:nth-child(3) a, #gezin-zorg-en-levensloop {color: #3B2171;}
.tiles.themas li:nth-child(3) h3,
ul.themalist li:nth-child(4) a, #ontwikkelen-en-leren {color: #014288;}
.tiles.themas li:nth-child(4) h3,
ul.themalist li:nth-child(5) a, #infrastructuur-en-datawetenschap {color: #007994;}

.tiles li.autonomie-en-vrijheid > a {background: #C23D00;}
.tiles li.gezin-zorg-en-levensloop > a {background: #3B2171;}
.tiles li.ontwikkelen-en-leren > a {background: #014288;}
.tiles li.infrastructuur-en-datawetenschap > a {background: #007994;}

ul.themalist + .tiles {margin-bottom: 7rem!important;}

ul.productlist {margin: 4rem 0 4rem!important; display: flex; gap: 1.5rem 2rem; font-weight: 400; font-size: 1.9rem;}
ul.productlist li {list-style: none; line-height: 1.2;}
ul.productlist li a {text-decoration: none; color: black;}
ul.productlist li.active a {font-weight: 700; color: #C23D00;}

ul.publicationlist {margin: 0 0 1.5rem!important; display: flex; gap: 1.5rem 2rem; font-weight: 400; font-size: 1.6rem;}
ul.publicationlist li {list-style: none; line-height: 1.2;}
ul.publicationlist li a {text-decoration: none; color: #C23D00;}
ul.publicationlist li.active a {font-weight: 700;}

img.socialicon {display: inline-block; width: 2.8rem; margin: 2rem 0.75rem 0 0;}

.footer {background: #EEEEEE; padding: 5rem 0; font-size: 1.15rem;}
.footer h3 {font-size: 1.15rem; padding-bottom: 0.25rem;}
.footer a {text-decoration: none;}
.footer .container {display: flex; justify-content: space-between;}
.footer .container > div:nth-child(1) img {width: 18rem; display: block; margin-right: 3rem;}
.footer .container > div:nth-child(1) img + img {margin-top: 3.5rem; width: 10rem; margin-left: 9.5rem;}
.footer .container > div:nth-child(4) img {width: 15rem; display: block; mix-blend-mode: multiply; margin-bottom: 1rem; cursor: pointer;}
.footer img.socialicon {width: 1.75rem; margin: 0.5rem 0.25rem 0 0;}

.afterfooter {padding: 0.95rem 0; background: #E8E8E8; color: #666666; font-size: 0.95rem;}
.afterfooter .container {display: flex; justify-content: space-between;}
.afterfooter .container > * {display: flex;}
.afterfooter .container > * > li {list-style: none;}
.afterfooter .container > * > *::before {content: "|"; padding: 0 0.5rem;}
.afterfooter .container > * > *:first-child::before {content: none;}
.afterfooter .container > * > * a {color: #666666; text-decoration: none;}

.inlinelist a {text-decoration: none;}
.inlinelist a + a::before {content: " - "; color: #737373;}
h2.inlinelist {margin: 1rem 0 3rem!important;}

.footernavigation {display: flex; justify-content: space-between; width: 100%; border-top: 1px solid silver; margin-top: 2rem;}
.footernavigation a {color: #737373; text-decoration: none; display: inline-block; padding: 1.25rem 0;}
.footernavigation a img {position: relative; top: 0.35rem;}

.shareoptions {color: #737373; display: flex;}
.shareoptions div {display: flex; margin-left: 0.5rem;}
.shareoptions div a {opacity: 0.5;}
.shareoptions div a:first-child {margin-right: -0.2rem;}
.shareoptions div a img {height: 2.5rem}

.lightbox-youtube {position: relative; display: block;}
.lightbox-youtube::before, .lightbox-youtube::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
} 
.lightbox-youtube::before {background: url(/img/youtube_button.svg) center center / auto 4rem no-repeat;}
.lightbox-youtube:hover::before {background: url(/img/youtube_button_hover.svg) center center / auto 4rem no-repeat;}
.lightbox-youtube::after {background: url(/img/youtube.svg) calc(100% - 1rem) calc(100% - 1rem) / auto 2rem no-repeat;}
.lightbox-youtube img {display: block;}


.page.search .content form > div {transform: scale(1.25); transform-origin: left top; width: 27rem;}

@media screen and (max-width: 1934px) {
    html {font-size: 0.79vw;}
}
@media screen and (max-width: 1300px) {
    html {font-size: 10.25px;}
    .container {padding: 0 4rem;}
}
@media screen and (max-width: 1150px) {
    .container {padding: 0 2rem;}
    .columns {flex-direction: column; margin-left: auto!important; max-width: 85rem!important;}
    .columns h1 + h2 + img {position: relative; margin-left: 0;}
    .columns > div:nth-child(2) {margin-top: 7rem;}
    .columns > div:nth-child(1) {padding-right: 0;}
    .columns + a.button {margin-left: 0;}
}
@media screen and (max-width: 1000px) {
    .columns > div:nth-child(2) {min-width: none; max-width: 73rem;}
    .footer .container {flex-wrap: wrap;}
    .footer .container > div {width: 55%;}
    .footer .container > div:nth-child(1),
    .footer .container > div:nth-child(2) {padding-bottom: 4rem;}
    .footer .container > div:nth-child(2),
    .footer .container > div:nth-child(4) {width: 45%;}
    .footer .container > div:nth-child(3) > * {max-width: 20rem;}
    .afterfooter .container {flex-direction: column-reverse;}
    .afterfooter .container > * > * {padding: 0.5rem 0;}
    .tiles.projects li > a {height: 100%; text-decoration: none; padding-bottom: 0!important;}
    .tiles.projects li > a span {position: relative; min-height: 13rem;}
}
@media screen and (max-width: 500px) {
    html {font-size: 9px;}
    .content .section.center {text-align: left;}
    .content .section:first-child {padding: 8rem 0!important;}
    .content .section.main h1::before, .content .section h2::before {height: 1px;}
    .content .section.center h2::before {left: 0%; transform: none;}
    .footer {padding: 7rem 0;}
    .footer .container {flex-direction: column;}
    .afterfooter {font-size: 1.15rem; padding: 2rem 0;}
    .afterfooter .container > * {flex-direction: column;}
    .afterfooter .container > * > *::before {content: none;}
    .footer .container > div {width: auto!important;}
    .footer .container > div:nth-child(3) {padding-bottom: 4rem;}
    .tiles a span {font-size: 2.2rem;}
    .tiles.themas {text-align: left;}
    .tiles.themas h3 {margin-left: 0; max-width: 100%;}
}
@media screen and (max-width: 600px) {
    .tiles.projects li > a {padding-bottom: 40%;}
    .tiles.partners li > a {padding-bottom: 30%;}
    ul.themalist {flex-direction: column;}
}
