html {
    min-height:100%;
    position:relative;
}

body {
    height: 100%;
    overflow-x: hidden;
}

body.no-scroll {
    overflow-y: hidden;
}

:root {
    --main-color: #6c439a;
    --light-main-color: #8260a9;
    --content-type-color: #8260a9;

    --light-support-color: #f3f9fc;
    --support-color: #4dade3;
    --support-color-grey: #f8f8fe;
    --date-color: #0074d9;

    --grey-text: #5f5f5f;
    --middle-grey: #b2b2b2;
    --light-grey-text: #707070;
    --lightest-grey: #f0f0f0;
    --light-grey: #dfdfdf;
    --grey: #999;
    --dark-grey: #333333;
}

/* -- General -- */
body, html, code {
    font-family: "Roboto", "Arial", sans-serif;
    font-size: 100%;
    color: #333;
}

input, select {
   background-color: white;
   border: solid;
   border-color: var(--light-grey);
   border-width: 1px;
   border-radius: 0;
}

.clearfix {
    content: "";
    clear: both;
    display: table;
}

code {
    font-size: 0.8rem;
}

b.semibold {
    font-weight: 500;
}

input[type=submit], button, a.koop-button {
    background-color: var(--main-color);
}

input.cancel {
    background-color: var(--grey);
}


input.save-page[type=submit],
input.page-is-saved[type=submit],
input.page-failed-to-save[type=submit] {
    background-color: white;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    color: var(--dark-grey);
    font-weight: normal;
    padding: 8px;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 600;
}

input.save-page[type=submit]:hover,
input.page-is-saved[type=submit] {
    color: white;
    background-color: var(--main-color);
    border-color: var(--main-color);
}

input.page-failed-to-save[type=submit] {
    color: white;
    background-color: red;
    border-color: red;
}


input[type=text]:focus {
    border-color: var(--main-color);
    outline: none;
}

a.koop-button, a.button {
    -webkit-appearance: none;
    font-size: 1em;
    display: inline-block;
    color: var(--c5);
    background: white;
    border: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    color: var(--main-color);
    margin: 4px;
    padding: 0.6em;
    cursor: pointer;
    text-align: center;
    font-weight: normal;
    margin-bottom: 15px;
}

button, a.btn, input[type="submit"], input[type="reset"], input[type="button"], a.koop-button, a.button {
    border-radius: 20px;
    padding: 0.6em 1.1em;
    line-height: 120%;
}

img {
    border-radius: 0;
}

img.small-left {
    float: left;
    padding-right: 10px;
    padding-bottom: 10px;
}

img.small-right {
    float: right;
    padding-left: 10px;
    padding-bottom: 10px;
}

@media(max-width: 900px) {
    main:not(.full-width) img.small-left, main:not(.full-width) img.small-right {
        display: block;
        float: none;
        clear: both;
        max-width: 100%;
    }
}

hr {
    border: 0;
    border-top: 1px solid var(--light-grey);
}

.boxed {
    margin: 0 auto;
    max-width: 1360px;
}

.align-right {
    float: right;
}

ul.errorlist {
    margin-top: 30px;
    margin-left: 0;
    color: red;
    list-style-position: inside;
    padding-left: 0;
}

/* -- Header -- */
header.top {
    margin: 0 auto;
    max-width: 1360px;
    height: 135px;
    line-height: 135px;
    display: flex;
    align-items: center;
}

header.top a:hover {
    text-decoration: none;
}

header.top a.logo {
    flex-grow: 0;
}

header.top a.logo img {
    display: inline-block;
    max-width: 450px;
    height: auto;
    vertical-align: middle;
}

header.top a.logo img.big {
    margin-top: -10px;
}

header.top a.logo img.small {
    display: none;
}

header.top a.title {
    display: inline-block;
    flex-grow: 0;
    color: var(--main-color);
    font-size: 1.1rem;
    font-weight: 500;
    padding-top: 4px;
    margin-left: 90px;
}

header.top section.actions {
    display: block;
    flex-grow: 1;
    text-align: right;
}

header.top section.actions form {
    position: relative;
    display: inline;
}

header.top section.actions input.search {
    border: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    border-radius: 20px;
    background-color: transparent;
    font-size: 0.9rem;
    color: var(--light-grey-text);
    font-weight: 300;
    color: black;
    margin-right: 15px;
    padding-right: 35px;
    padding-left: 20px;
    width: 250px;
}

header.top section.actions input.search::placeholder {
    color: var(--light-grey-text);
    font-weight: 300;
    font-family: "Roboto", Arial, sans-serif;
}

header.top section.actions input.search:focus {
    border-color: var(--main-color);
    outline: none;
}


header.top section.actions a.logout,
header.top section.actions a.login  {
    margin: 0 0 0 15px;
    color: var(--main-color);
    font-size: 0.9rem;
}

header.top section.actions span.my-account {
    position: relative;
    margin: 0 35px 0px 0px;
}

header.top section.actions span.my-account a.my-account-button {
    position: absolute;
    top: -10px;
    left: 0;
    width: 50px;
    height: 40px;
    z-index: 11;
}

header.top section.actions span.my-account span[class^="icon-"],
header.top section.actions span.my-account span[class^="icon-"]  {
    width: 37px;
    height: 37px;
    margin-left: 5px;
}

header.top section.actions span.my-account.has-menu:hover span[class^="icon-"] {
    background-image: url(../images/icons/user-logged-in-purple.svg);
}

header.top section.actions span.my-account.has-menu div.my-account-menu {
    display: none;
    padding-top: 80px;
}

header.top section.actions span.my-account.has-menu:hover div.my-account-menu {
    position: absolute;
    top: -20px;
    left: -250px;
    display: block;
    width: 340px;
    height: 300px;
    z-index: 10;
    padding: 50px;
    border: none;
}

header.top section.actions span.my-account.has-menu:hover div.my-account-menu div.wrapper {
    background-color: white;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    border-radius: 0;
    width: auto;
}

header.top div.my-account-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

header.top div.my-account-menu ul li {
    margin: 0;
    padding: 0 10px;
    line-height: 30px;
    text-align: left;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    border-radius: 0;
    color: var(--grey-text);
    font-weight: 300;
    font-size: 0.9rem;
}

header.top div.my-account-menu ul li.sub {
    padding-left: 30px;
}

header.top div.my-account-menu ul a {
    display: block;
    color: var(--grey-text);
    font-weight: 300;
    font-size: 0.9rem;
}

header.top div.my-account-menu ul li:hover a {
    color: var(--main-color);
    font-weight: 500;
}

header.top div.my-account-menu ul li:last-child {
    border-bottom: none;
}

header.top section.actions form input[type=submit] {
    position: absolute;
    right: 30px;
    top: 1px;
    background-image: url(../images/icons/search.svg);
    background-color: transparent;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    background-position: center 0px;
    border-radius: 0;
}

header.top section.actions a.account {
    margin-right: 45px;
}

header.top section.actions a.menu {
    color: var(--main-color);
}

header.top section.actions a.menu span.menu-title {
    vertical-align: middle;
}

/* -- Navigation -- */
section.main-menu {
    display: block;
    width: 100%;
    border-style: solid none;
    border-width: 1px;
    border-color: var(--light-grey);
    height: 60px;
    line-height: 60px;
    text-align: left;
    margin-bottom: 30px;
}

section.main-menu div.boxed {
    display: flex;
}

section.main-menu nav {
    display: inline-block;
    flex-grow: 0;
}

section.main-menu nav a,
section.main-menu a.magazine,
section.main-menu a.newsletter {
    display: inline-block;
    height: 35px;
    margin-top: 12.5px;
    line-height: 35px;
    color: var(--main-color);
    filter: grayscale(1);
    padding-right: 23px;
    border-style: none solid none none;
    border-width: 1px;
    border-color: var(--light-grey);
    padding-left: 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

section.main-menu a.magazine:active,
section.main-menu a.newsletter:active {
    color: var(--main-color);
}

section.main-menu nav a span.title {
    display: inline-block;
    padding-top: 3px;
}

section.main-menu nav.main-menu a:first-child {
    padding-left: 0;
}

section.main-menu nav a:last-child {
    border-style: none none none none;
    padding-right: 0;
    font-weight: normal;
    text-decoration: underline;
    color: var(--main-color);
    filter: grayscale(0);
}

section.main-menu nav a.sponsoren, section.main-menu nav a.sponsoren:last-child {
    text-decoration: none;
}

section.main-menu a:hover, section.main-menu a.active {
    filter: grayscale(0);
    text-decoration: none;
}

section.main-menu div.buttons-right {
    flex-grow: 1;
    flex-shrink: 0;
    text-align: right;
}

section.main-menu div.buttons-right a.magazine {
    margin-left: 20px;
}

section.main-menu a.magazine,
section.main-menu a.newsletter {
    display: inline-block;
    margin-top: 0;
    height: 60px;
    line-height: 60px;
    padding-top: 3px;
    border-style: none;
    padding-left: 0;
    padding-right: 0;
    text-align: right;
}

section.main-menu [class^="icon-"],
section.main-menu [class*=" icon-"] {
    width: 16px;
    height: 20px;
    margin-right: 5px;
    vertical-align: middle;
    background-position: center 0px;
}


/* -- Fold out menu -- */
section.fold-out-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    bottom: 0;
    background-color: rgba(0,0,0,0.7);
    z-index: 10;
    animation: fadeIn 0.5s;
}

section.fold-out-menu a.magazine-mobile,
section.fold-out-menu a.newsletter-mobile {
    display: none;
}

section.fold-out-menu form.search {
    display: none;
}

@keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

section.fold-out-menu div.wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    min-width: 320px;
    background-color: var(--main-color);
    z-index: 10;
}

section.fold-out-menu header {
    height: 135px;
    width: 100%;
    background-color: white;
    padding: 0;
}

section.fold-out-menu header a {
    font-size: 1.3rem;
    color: black;
    display: flex;
    align-items: center;
    height: 135px;
    padding: 60px;
    font-weight: bold;
}

section.fold-out-menu header a:hover {
    text-decoration: none;
}

section.fold-out-menu header a span.close-icon {
    display: inline-block;
    font-size: 3rem;
    margin-right: 30px;
    font-weight: 100;
}

section.fold-out-menu header a span.close-menu-text {
    margin-top: 10px;
}

section.fold-out-menu nav.fold-out-menu {
    padding: 60px;
    min-width: 320px;
    width: 600px;
    max-width: 100%;
    overflow-y: scroll;
    height: calc(100% - 135px);
}

section.fold-out-menu a {
    display: block;
    color: white;
    font-size: 1.2rem;
    font-weight: 300;
    margin-bottom: 15px;
}

section.fold-out-menu a:first-child {
    font-weight: 500;
}

/* -- Regular pages (small aside) -- */
main.regular {
    display: grid;
    column-gap: 36px;
    grid-template-columns: auto 350px;
}

main.regular.sidebar-left {
    grid-template-columns: 350px auto;
}

main.regular.full-width {
    grid-template-columns: auto;
}

main.regular.full-width aside {
    display: none;
}

main.regular section {
    min-height: 500px;
}

main.regular aside {
    min-height: 500px;
}

main.regular aside section {
    min-height: 0px;
}

main aside h3 {
    display: block;
    width: 100%;
    font-size: 1.1rem;
    font-weight: bold;
    padding-bottom: 5px;
    border-style: none none solid none;
    border-width: 1px;
    border-color: var(--light-grey);
    margin-bottom: 20px;
}

/* -- Recent -- */
section.recent {
    display: block;
    margin-top: 40px;
}

section.recent a.small-content-link {
    display: grid;
    grid-template-columns: 40% auto;
    align-items: center;
    column-gap: 15px;
    margin-bottom: 20px;
}

section.recent a.small-content-link span.content-type {
    color: var(--main-color);
    font-weight: 300;
    font-size: 0.9rem;
}

section.recent a.small-content-link {
    text-decoration: none;
}

section.recent a.small-content-link h3 {
    font-size: 0.9rem;
    color: var(--dark-grey);
    text-decoration: none;
    margin: 0;
    font-weight: 500;
}

/* -- Agenda -- */
section.agenda {
    display: block;
    margin-top: 40px;
}

section.agenda a.agenda-link {
    display: grid;
    grid-template-columns: 15% auto;
    align-items: center;
    column-gap: 20px;
    row-gap: 10px;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-style: none none solid none;
    border-width: 1px;
    border-color: var(--light-grey);
    text-decoration: none;
}

section.agenda h3 {
    font-size: 1rem;
    color: var(--dark-grey);
    margin: 0;
    font-weight: 500;
    margin-bottom: 0px;
    border: none;
}

section.agenda div.date {
    text-align: left;
}

section.agenda span.icon-calendar {
    width: 30px;
    height: 30px;
}

section.agenda time {
    display: block;
    color: var(--blue);
    font-weight: 300;
    font-size: 0.75rem;
}

section.agenda span.location {
    display: block;
    margin-top: 10px;
    font-size: 0.8rem;
}

section.agenda span.icon-waypoint {
    width: 12px;
    height: 12px;
    vertical-align: baseline;
}

section.agenda div.location {
    font-size: 0.8rem;
    font-weight: 300;
}


/* -- Article listing -- */
section.listing {
    display: block;
}

h1.page-type, h2.page-type, h2.section {
    margin-top: 0;
    color: var(--main-color);
    font-size: 1.4rem;
}

section.listing header {
    display: grid;
    width: 100%;
    column-gap: 24px;
    grid-template-columns: repeat(2, 1fr);
    padding-bottom: 30px;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
}

section.listing header.solo-header {
    border-bottom: none;
}

section.listing section.big-list {
    display: grid;
    width: 100%;
    column-gap: 24px;
    row-gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 30px;
}


section.listing section.big-list a {
    position: relative;
    padding-bottom: 30px;
}

section.listing section.big-list a:hover {
}

section.listing section.big-list a:nth-child(3n)::after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    height: 1px;
    width: calc(300% + 48px);
}

section.listing section.big-list a:last-child::after {
    display: none;
}

/* -- Content link blocks -- */
a.content-link {
    position: relative;
    height: 100%;
    display: block;
    text-decoration: none;
    padding-bottom: 30px;
}

a.content-link date {
    position: static;
    font-size: 0.75rem;
    font-weight: 300;
    color: var(--date-color);
}

a.podcast-item date {
    position: static;
}

a.content-link div.thumb {
    position: relative;
    width: 100%;
    line-height: 0;
    aspect-ratio: 1020 / 540;
}

a.content-link div.thumb img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a.content-link div.thumb span {
    position: absolute;
    bottom: 4%;
    right: 3%;
    width: 40px;
    height: 40px;
}

a.content-link div.thumb div.sponsored {
    display: block;
    position: absolute;
    bottom: -35px;
    right: 0;
    width: auto;
    height: 20px;
    text-align: right;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 1px;
}

a.content-link span.content-type {
    display: block;
    color: var(--content-type-color);
    font-size: 0.9rem;
    font-weight: 300;
    margin-top: 25px;
}

a.content-link h3 {
    color: var(--dark-grey);
    margin: 3px 0 0 0;
    font-size: 1.2rem;
    font-weight: 500;
}

a.content-link p {
    color: var(--light-grey-text);
    margin: 0;
    font-size: 0.9rem;
    font-weight: 300;
}

/* -- Home page -- */
div.home-left {
    background-color: var(--support-color-grey);
}

div.home-left p {
    padding: 20px;
    color: var(--main-color);
    margin-top: 0;
}

div.home-left video {
    width: 100%;
    height: auto;
}

div.home-left span.title {
    display: block;
    font-size: 0.9rem;
    color: black;
    margin-top: 10px;
}

div.home-left div.button-grid {
    display: grid;
    grid-template-columns: 22% 22% 22% 34%;
    margin-bottom: 20px;
}

div.home-left div.button-grid span.icon-webinar-circle {
    margin-right: 31%;
}

div.home-left div.button-grid a:last-child span.title {
    text-align: left;
}

div.home-left [class^="icon-"],
div.home-left [class*=" icon-"] {
    width: 40px;
    height: 40px;
}

div.home-left div.button-grid a {
    text-align: center;
}

div.home-left div.button-grid a:hover {
    text-decoration: none;
}

div.mobile-login {
    display: none;
}

div.home-right h2 {
    margin-top: 0;
    font-size: 1.3rem;
    color: var(--main-color);
    font-weight: 500;
}

div.home-right p {
    color: var(--light-grey-text);
}

div.home-right img {
    display: block;
    text-align: center;
    margin: 0 auto;
    max-width: 215px;
    height: auto;
    margin-bottom: 30px;
}

div.home-right div.buttons a {
    display: block;
    border-radius: 50px;
    border: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    text-align: center;
    height: 50px;
    line-height: 50px;
    color: var(--main-color);
    margin: 20px auto;
    max-width: 300px;
    font-weight: 500;
    letter-spacing: 2px;
}

/* -- E-learning page -- */
div.elearning-blocks ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

div.elearning-blocks ul li:last-child div.elearning-block a {
    border-bottom: none;
}

div.elearning-blocks section.e-learnings ul {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-column-gap: 20px;
}

div.elearning-blocks section.e-learnings ul li:only-child {
    grid-column: 1 / -1;
}


div.elearning-block a {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 24px;
    /*
    border-bottom: solid;
    border-width: 1px;
    border-color: var(--lightest-grey);
    */
    padding-bottom: 30px;
    margin-bottom: 30px;
    text-decoration: none;
}

div.elearning-block a div {
    max-width: 450px;
}

div.elearning-block div {
    position: relative;
}

div.elearning-block span.icon-webinar-circle {
    position: absolute;
    bottom: 5%;
    right: 1%;
    width: 40px;
    height: 40px;
}

div.elearning-block a h2 {
    color: var(--dark-grey);
    margin: 3px 0 0 0;
    font-size: 1.2rem;
    font-weight: 500;
}

div.elearning-block p {
    color: var(--light-grey-text);
    font-size: 0.9rem;
    font-weight: 300;
}

/* -- App banner -- */
section.app-banner {
    position: relative;
    width: 100%;
    margin-top: 50px;
    border-bottom-style: solid;
    border-width: 1px;
    border-color: var(--lightest-grey);
    min-height: 150px;
    padding-right: 5px;
}

section.app-banner div.bg {
   background-color: var(--light-support-color);
   width: 100%;
   height: 80%;
   position: absolute;
   left: 0;
   bottom: 0;
   z-index: -1;
}

section.app-banner div.boxed {
    width: 100%;
    height: auto;
    display: flex;
    align-items: end;
}

section.app-banner div.grid {
    display: grid;
    width: 100%;
    grid-template-columns: calc(20% - 30px) 70%;
    grid-column-gap: 30px;
}

section.app-banner div.grid div {
    display: flex;
    align-items: end;
    max-width: 450px;
    margin-bottom: 30px;
}

section.app-banner div.grid span.mobile-phone {
    display: flex;
    align-items: end;
    width: 100%;
    height: auto;
}

section.app-banner div.grid span.mobile-phone img {
    max-height: 250px;
}

section.app-banner h2 {
    font-size: 1.3rem;
    font-weight: 300;
}

section.app-banner div.grid div span img {
    max-width: 100px;
    height: auto;
}

/* -- Login form -- */
form.login {
    width: 100%;
    background-color: var(--light-support-color);
    padding: 20px;
}

p.errornote {
    color: red;
}

.login p.no-account-yet, .login p.lost-password {
    text-align: right;
}

.login p.no-account-yet a, .login p.lost-password {
    display: inline-block;
    font-size: 1rem;
}

div.login-mobile {
    display: none;
}

form.login p {
    margin-top: 0;
}

form.login input {
   width: 100%;
   margin: 0 0 10px 0;
   background-color: white;
   border: solid;
   border-color: var(--light-grey);
   border-width: 1px;
   border-radius: 0;
}

form.login input[type=submit] {
    background-color: var(--main-color);
}

form.login a {
    display: block;
    color: var(--main-color);
    font-size: 0.8rem;
    text-align: center;
    text-decoration: underline;
    font-weight: 300;
}

form.login div.small-login-links a.password-reset {
    text-align: left;
}

form.login div.small-login-links a.new-account {
   text-align: right;
}

/* -- Footer -- */
footer.boxed {
    margin: 80px auto 150px auto;
}

footer div.icons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}

footer div.icons span.list-icons a {
    margin-right: 5px;
}

footer div.icons span.list-icons span[class^="icon-"] {
    width: 15px;
    height: 15px;
}

footer div.bottom nav {
    float: left;
}

footer div.menu h3 a {
    font-weight: 400;
    font-size: 1rem;
    color: black;
}

footer a.circle {
    background-color: var(--main-color);
    padding: 5px 9px;
    color: white;
    border-radius: 100%;
}

footer a.circle span {
    background-size: cover;
}

footer div img {
    max-width: 180px;
}


footer nav.top {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding-bottom: 50px;
    border-bottom-style: solid;
    border-width: 1px;
    border-color: var(--lightest-grey);
}

footer div.menu h3 {
    color: black;
    font-size: 1rem;
}

footer div.menu a {
    display: block;
    font-weight: 300;
    text-decoration: none;
    font-size: 0.9rem;
    color: var(--grey-text);
}

footer div.bottom {
    margin-top: 30px;
    color: var(--grey-text);
    font-size: 0.9rem;
    font-weight: 300;
}

footer div.bottom a {
    display: inline-block;
    color: var(--grey-text);
    text-decoration: none;
    margin: 0 12.5px;
    font-size: 0.9rem;
    font-weight: 300;
}

footer div.bottom a:first-child {
    margin-left: 0;
}

/* -- News item -- */
div.news-item header.news-item div.cover {
    position: relative;
    display: flex;
    width: 100%;
    height: auto;
    aspect-ratio: 1020 / 540;
}

div.news-item header.news-item div.cover img {
   opacity: 0.3;
}

div.news-item header.news-item h1 {
    align-self: flex-end;
    color: var(--main-color);
    max-width: 800px;
    padding-left: 3%;
    margin-bottom: 0;
    padding-bottom: 15px;
    font-size: 2.5rem;
}

div.news-item span.icon-article,
div.news-item span.icon-video {
    position: absolute;
    bottom: 15px;
    right: 3%;
    width: 37px;
    height: 37px;
}

div.news-item header.news-item img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

div.news-item div.post-meta {
    margin-top: 20px;
    color: var(--support-color);
    font-size: 0.8rem;
    border-bottom: solid;
    border-width: 1px;
    padding-bottom: 10px;
    border-color: var(--light-grey);
    margin-bottom: 40px;
}

div.news-item div.post-meta span.advertorial,
div.brochure div.sponsored {
    float: right;
    display: inline-block;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 1px;
}

div.news-item div.comment {
    margin: 30px 0;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    padding: 10px 20px;
    color: var(--grey-text);
}

/* -- Video item -- */
div.video-item {
    position: relative;
}

div.video-item header.video-item div.cover {
    position: relative;
    display: flex;
    width: 100%;
    height: auto;
}

div.video-item header.video-item h1 {
    align-self: flex-end;
    color: var(--dark-grey);
    padding-bottom: 15px;
    font-size: 1.6rem;
    font-weight: bold;
}

div.video-item a.back, div.news-item a.back {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    z-index: 10;
}

div.video-item a.back span, div.news-item a.back span {
    width: 30px;
    height: 30px;
}


div.video-item span.icon-article {
    position: absolute;
    bottom: 15px;
    right: 3%;
    width: 37px;
    height: 37px;
}

div.video-item header.video-item img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

div.video-item div.post-meta {
    margin-top: 0px;
    color: var(--support-color);
    font-size: 0.85rem;
    border-bottom: solid;
    border-width: 1px;
    padding-bottom: 10px;
    border-color: var(--light-grey);
    margin-bottom: 40px;
}

div.video-item div.post-meta span.sponsored {
    float: right;
    display: inline-block;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 1px;
}

div.video-item iframe, div.video-item div.vimeo-player {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

/* -- Ful width page -- */
main.full-width {
    max-width: 1000px;
}


/* -- Podcasts page -- */
main.boxed.podcasts.regular {
    grid-template-columns: auto 450px;
}

div.podcast-kanaal {
    display: block;
    border: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    margin-bottom: 15px;
}

div.podcast-kanaal-header {
    display: grid;
    padding: 20px;
    border-bottom: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    column-gap: 10px;
    grid-template-columns: 50% calc(50% - 10px);
}

div.podcast-kanaal-list {
    padding: 20px;
}

div.podcast-kanaal-header h2 {
    display: flex;
    align-items: center;
    border: none;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
}

div.podcast-kanaal-header a {
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: right;
}

div.podcast-kanaal-header a img {
    width: auto;
    max-width: 75%;
}

div.podcast-kanaal-list a {
    display: grid;
    grid-template-columns: 35% calc(65% - 20px);
    column-gap: 20px;
    margin-bottom: 20px;
    color: black;
}

div.podcast-kanaal-list a:last-child {
    margin-bottom: 0;
}

div.pre-selected-podcast {
    display: grid;
    grid-template-columns: 60% calc(40% - 20px);
    grid-template-rows: auto auto;
    column-gap: 20px;
    row-gap: 20px;
    min-height: auto;
    border-bottom: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    padding-bottom: 10px;
}

div.pre-selected-podcast span.content-type {
    color: var(--main-color);
    font-weight: 300;
    font-size: 0.9rem;
}

div.pre-selected-podcast h3 {
    font-weight: 500;
    margin-bottom: 0;
}

div.pre-selected-podcast date {
    color: var(--support-color);
    font-weight: 300;
    font-size: 0.8rem;
}

div.pre-selected-podcast span.sponsored {
    float: right;
    display: inline-block;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 1px;
}

div.pre-selected-podcast p {
    font-size: 1rem;
    color: var(--dark-grey);
    font-size: 0.9rem;
    margin-top: 10px;
}

div.pre-selected-podcast div.podcast-cover {
    position: relative;
}

div.pre-selected-podcast div.podcast-cover div.podcast-cover-wrapper {
    position: relative;
    width: 100%;
    height: auto;
}

div.pre-selected-podcast div.podcast-cover img {
    width: 100%;
    height: auto;
}

div.pre-selected-podcast div.podcast-cover span.icon-podcast {
    position: absolute;
    bottom: 5%;
    right: 2%;
    width: 40px;
    height: 40px;
}

div.pre-selected-podcast audio {
    width: 100%;
}

div.pre-selected-podcast div.full-description {
    display: none;
    grid-column: 1 / -1;
}

div.pre-selected-podcast a.close-podcast-description {
    display: block;
    text-align: right;
    font-size: 0.9rem;
}

div.selected-sponsor {
    display: grid;
    grid-template-columns: 70% calc(30% - 20px);
    column-gap: 20px;
    border-bottom: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    margin-bottom: 20px;
}

div.selected-sponsor h2 {
    display: flex;
    font-size: 1.3rem;
    align-items: center;
    justify-content: left;
}

div.podcast-kanaal-list span.title {
    font-size: 0.9rem;
    color: var(--dark-grey);
    text-decoration: none;
    margin: 0;
    font-weight: 500;
    line-height: 120%;
}


/* Old owlcarousel footer */
section.podcast-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 70px;
    width: 100%;
    background-color: white;
    text-align: center;
    box-sizing: border-box;
    padding-top: 10px;
    border-top-style: solid;
    border-width: 1px;
    border-color: #e0e1e5;
    text-align: center;
    z-index: 10;
}

section.podcast-footer .owl-carousel {
    display: inline-block;
}

section.podcast-footer .owl-carousel img {
    display: inline-block;
    width: auto;
    max-height: 50px;
}

section.big-list a.podcast-item {
    display: block;
}

/* New image footer */
section.podcast-footer-grid {
    position: fixed;
    bottom: 0;
    left: 0;
    height: auto;
    width: 100%;
    background-color: white;
    text-align: center;
    box-sizing: border-box;
    padding-top: 10px;
    border-top-style: solid;
    border-width: 1px;
    border-color: #e0e1e5;
    text-align: center;
    z-index: 10;
}

section.podcast-footer-grid p {
    display: block;
    font-size: 0.6rem;
    text-transform: uppercase;
    margin: 0 auto;
    height: auto;
    width: 100%;
    margin-bottom: 5px;
    margin-top: 0;
}

section.podcast-footer-grid div.podcast-grid-wrapper {
    display: grid;
    margin: 0 auto;
    height: 50px;
    width: 100%;
    max-width: 720px;
    grid-template-columns: 20% 20% 20% 20% 20%;
    grid-column-gap: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

section.podcast-footer-grid[data-sponsor-count="6"] div.podcast-grid-wrapper {
    grid-template-columns: 16% 16% 16% 16% 16% 16%;
}

section.podcast-footer-grid[data-sponsor-count="5"] div.podcast-grid-wrapper {
    grid-template-columns: 20% 20% 20% 20% 20%;
}

section.podcast-footer-grid[data-sponsor-count="4"] div.podcast-grid-wrapper {
    grid-template-columns: 25% 25% 25% 25%;
}

section.podcast-footer-grid[data-sponsor-count="3"] div.podcast-grid-wrapper {
    grid-template-columns: 33% 33% 33%;
}

section.podcast-footer-grid[data-sponsor-count="2"] div.podcast-grid-wrapper {
    grid-template-columns: 50% 50%;
}

section.podcast-footer-grid[data-sponsor-count="1"] div.podcast-grid-wrapper {
    grid-template-columns: 1fr;
}

section.podcast-footer-grid[data-sponsor-count="0"] {
    display: none;
}

section.podcast-footer-grid img {
    max-height: 40px;
    width: auto;
}


section.listing.podcasts section.big-list a.content-link date {
    position: static;
}

/* -- Pagination -- */
div.pagination {
    display: grid;
    grid-template-columns: auto auto auto;
    column-gap: 20px;
    border-top: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    padding-top: 10px;
    margin-top: 20px;
}

div.pagination.no-previous {
    grid-template-columns: auto auto;
}

div.pagination div.pag-middle {
    text-align: center;
}

div.pagination div.pag-middle ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

div.pagination div.pag-middle li {
    display: inline-block;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    margin-right: 2px;
    margin-bottom: 5px;
    padding: 3px;
}

div.pagination div.pag-middle li.ellipsis {
    border-color: transparent;
}

div.pagination.no-previous div.pag-middle {
    text-align: left;
}

div.pagination a.next-page {
    text-align: right;
}

/* -- Search results page -- */
div.search-results form {
    margin-bottom: 20px;
}

div.search-results h1 {
    color: var(--dark-grey);
    padding-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
}

div.search-results h3 {
    color: var(--dark-grey);
    margin-top: 50px;
    font-weight: 500;
    border-bottom: 1px solid var(--light-grey);
    font-size: 1.5rem;
}

div.search-results h4 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.2rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    align-items: center;
}

div.search-results a.search-result span.icon {
    display: flex;
    align-items:center;
    height: 100%;
}

div.search-results a.search-result time {
    display: block;
    font-size: 0.75rem;
    font-weight: 300;
    color: var(--date-color);
}

div.search-results a.search-result:hover {
    text-decoration: none;
}

div.search-results a.search-result p {
    color: var(--dark-grey);
    font-size: 0.9rem;
}

div.search-results a.search-result:hover h4 {
    text-decoration: underline;
}

div.search-results a.search-result {
    display: block;
    border-style: none none solid none;
    border-width: 1px;
    border-color: var(--light-grey);
    margin-bottom: 25px;
}

div.search-results a.search-result span.heading {
    width: 100%;
    display: grid;
    column-gap: 20px;
    grid-template-columns: 50px auto;
}

div.search-results a.search-result [class^="icon-"], [class*=" icon-"] {
    width: 40px;
    height: 40px;
}

div.search-results div.more-search-results {
    display: none;
}

div.search-results a.show-more-results {

}

aside section.search-filter {
    padding-top: 19.2px;
}

a.show-search-filters {
    display: none;
}

aside div.search-filter-select {
    margin: 20px 0;
}

aside section.search-filter h4 {
    font-size: 1rem;
    font-weight: bold;
}

aside div.search-filter-select label {
    display: block;
    margin-bottom: 10px;
    cursor: pointer;
}

aside div.search-filter-select label:hover {
    background-color: var(--light-support-color);
}

section.search-filter h3 a.reset-filters {
    font-size: 0.8rem;
    float: right;
    font-weight: normal;
    line-height: 21px;
}



/* -- Agenda overview -- */
section.agenda-overview {
    display: block;
}

section.agenda-overview a {
    display: grid;
    grid-template-columns: 100px auto 100px;
    padding: 25px 5px 25px 5px;
    column-gap: 50px;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    text-decoration: none;
}

section.agenda-overview a:hover {
    background-color: var(--lightest-grey);
}

section.agenda-overview a div.calendar {
    display: flex;
    flex-flow: column;
    height: 100%;
    justify-content: center;
}

section.agenda-overview a div.calendar time {
    margin-top: 5px;
    font-weight: normal;
    font-size: 0.85rem;
}

section.agenda-overview p {
    display: flex;
    flex-flow: column;
    height: 100%;
    justify-content: center;
    margin: 0;
}

section.agenda-overview span.title {
    font-weight: bold;
    text-decoration: none;
    color: var(--dark-grey);
}

section.agenda-overview span.location {
    clear: both;
    font-size: 0.85rem;
    font-weight: normal;
}

section.agenda-overview form {
    position: relative;
    display: inline-block;
    margin-bottom: 50px;
    width: 100%;
}

section.agenda-overview input.agenda-search {
    border: solid;
    border-width: 1px;
    border-color: var(--grey);
    border-radius: 20px;
    background-color: transparent;
    font-size: 0.9rem;
    color: var(--light-grey-text);
    margin-right: 15px;
    width: 100%;
    font-weight: 300;
    padding-right: 50px;
    padding-left: 20px;
}

section.agenda-overview input[type=submit] {
    position: absolute;
    right: 25px;
    top: calc(50% - 10px);
    background-image: url(../images/icons/search.svg);
    background-color: transparent;
    background-repeat: no-repeat;
    border-radius: 0;
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    background-position: center 0px;
    cursor: default;
}

/* -- Generic sign up forms -- */
div.signup-form {
    margin-top: 50px;
}

div.signup-form div.col-md-6, div.signup-form div.col-md-12 {
    padding-left: 0;
}

/* -- Magazine page -- */
div.magazine-inner select, div.magazine-inner input {
    margin-bottom: 20px;
    font-weight: 300;
}

div.magazine-inner .col-md-12 {
    padding-left: 0;
}


div.magazine-inner select, div.magazine-inner input::placeholder {
    font-weight: 300;
    color: var(--grey-text);
    font-family: "Roboto", Arial, sans-serif;
    font-size: 0.9rem;
}

div.magazine-inner select {
    color: var(--c4);
}

div.magazines div.col-md-8, div.magazines div.col-sm-12 {
    padding-left: 0;
}

div.magazines select:invalid {
    color: var(--grey-text);
    font-weight: 300;
    font-family: "Roboto", Arial, sans-serif;
    font-size: 0.9rem;
}

div.magazines select option {
    color: var(--c4);
}

div.magazines select:required:invalid option {
    color: var(--c4);
}

div.magazines select option[value=""] {
    color: var(--grey-text);
}

div.magazines input[type=text], div.magazines select {
    font-size: 0.9rem;
}

div.magazines input[type=submit] {
    border-radius: 20px;
    color: white;
    font-weight: 500;
}

div.magazine-inner div.col-md-6 {
    margin-left: 0;
    padding-left: 0;
}

div.magazine-inner h3 {
    color: var(--main-color);
    font-weight: 500;
}

div.magazine-inner ul#id_publication_type {
    display: grid;
    grid-template-columns: auto auto auto;
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

section.magazine-list {
    display: block;
    clear: both;
}

div.magazine-publications div {
    display: none;
}

ul.magazine-nav {
    list-style: none;
}

ul.magazine-nav li {
    display: inline-block;
    background-color: var(--main-color);
    padding: 5px;
    margin-bottom: 5px;
    color: white;
}

ul.magazine-nav li a {
    color: white;
}

ul.magazine-nav, div.magazine-publications ul {
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
}

div.magazine-publications div.active {
    display: block;
}

div.magazine-publications ul {
    list-style: none;
}

div.magazine-publications li {
    margin-bottom: 10px;
}

ul.magazine-nav li.active {
    background-color: var(--c1);
}

div.magazine-grid, div.magazine-cover-grid {
    display: grid;
    width: 100%;
    grid-template-columns: 22% 22% 22% 22%;
    grid-column-gap: 4%;
    margin-top: 20px;
}

div.magazine-cover-grid a {
    display: block;
}

div.magazine-cover-grid a:hover {
    text-decoration: none;
}

div.magazine-cover-grid a span {
    display: block;
    color: var(--main-color);
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
}

div.magazine-cover-grid img {
    width: 100%;
    height: auto;
}

div.magazine-grid a {
    font-size: 0.9rem;
    color: var(--grey-text);
    display: block;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    padding: 5px 0;
}

div.magazine-grid span.year, div.magazine-grid span.sub-year {
    color: var(--main-color);
    font-weight: 500;
    margin-top: 50px;
}

div.magazine-grid span.sub-year {
    display: none;
}

div.magazine-form {
    display: none;
    padding: 5px;
}

div.magazine-form label {
    color: rgb(51, 51, 51);
    font-weight: 500;
}

div.magazine-form .print-only {
    display: none;
}

div.magazine-form div {
    position: relative;
    display: block;
}

div.magazine-form div.input::after {
   content: "(verplicht)";
   position: absolute;
   top: 0;
   right: 0;
   font-size: 0.7rem;
   color: #999;
}

div.magazine-inner input.edit-sub {
    background-color: rgb(0, 116, 217);
    font-weight: 500;
}

div.magazine-inner input.remove-sub {
    background-color: red;
    font-weight: 500;
}

/* -- Nieuwsbrieven -- */
section.newsletter-list {
    display: block;
}

form.sub-newsletter input[type=text],
form.sub-newsletter input[type=email] {
    margin-top: 5px;
}

section.newsletter-list span.year {
    display: block;
    color: var(--main-color);
    font-weight: 500;
    margin-top: 50px;
}

section.newsletter-list div.newsletter-grid {
    display: grid;
    width: 100%;
    grid-template-columns: 44% 44%;
    grid-column-gap: 12%;
}


section.newsletter-list div.newsletter-grid div {
    display: grid;
    grid-template-columns: 44% 44%;
    grid-column-gap: 12%;
    grid-auto-rows: min-content;
}

div.newsletter-grid span {
    display: block;
    grid-column: 1 / span 2;
    color: var(--main-color);
    font-weight: 500;
    margin-top: 10px;
}

div.newsletter-grid a {
    font-size: 0.9rem;
    color: var(--grey-text);
    display: block;
    border-bottom: solid;
    border-bottom-color: currentcolor;
    border-bottom-width: medium;
    border-color: var(--light-grey);
    border-width: 1px;
    padding: 5px 0;
}

@media(max-width:800px) {
    section.newsletter-list div.newsletter-grid {
        display: grid;
        width: 100%;
        grid-template-columns: auto;
        grid-column-gap: 12%;
    }

    section.newsletter-list div.newsletter-grid div:nth-child(2) {
        margin-top: 30px;
    }

}

/* -- Indicatiegebieden -- */
div.indicatiegebieden {
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

div.indicatiegebieden h2 {
    color: var(--main-color);
}

div.indicatiegebieden ul {
    display: grid;
    column-gap: 5px;
    grid-template-columns: 20% 20% 20% 20% 20%;
    list-style: none;
    padding: 0;
}

div.indicatiegebieden li {
    position: relative;
    display: flex;
    align-items: center;
    padding: 5px;
    margin-bottom: 5px;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    padding-left: 20px;
}

div.indicatiegebieden li::before {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    width: 8px;
    height: 8px;
    border-color: var(--grey) !important;
    border: solid;
    border-width: 1px;
    border-radius: 100%;
}

div.indicatiegebieden li.active a {
    color: var(--main-color);
}

div.indicatiegebieden li.active::before {
    border-color: var(--main-color) !important;
    background-color: var(--main-color);
}

div.indicatiegebieden li a {
    color: var(--dark-grey);
    font-size: 0.9rem;
    font-weight: 300;
}

/* -- Richtlijnen -- */
table#richtlijnen {
    display: block;
    max-width: 800px !important;
    min-width: 800px;
}

table#richtlijnen tbody {
    display: block;
}

table#richtlijnen img {
    width: 100% !important;
    height: auto !important;
}

table#richtlijnen tr {
    display: grid;
    max-width: 800px;
    width: 100%;
    grid-template-columns: 50% auto;
}

table#richtlijnen td {
    display: flex;
    border: none;
    justify-content: left;
    align-items: center;
}

table#richtlijnen td:nth-child(2) {
    padding-left: 20px;
}

/* -- Brochure -- */
div.brochure {
    margin: 0 auto;
    max-width: 600px;
}

main.full-width div.brochure {
    max-width: 1300px;
    width: 100%;
}

div.brochure div.brochure-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

div.brochure div.image-wrapper {
    text-align: center;
}

div.brochure span.sponsored {
    display: block;
    text-align: right;
    display: block;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 1px;
}

div.brochure h1 {
    color: var(--main-color);
    font-size: 1.5rem;
    font-weight: 500;
}

div.brochure img {
    max-width: 300px;
}

div.brochure form {
    margin-top: 50px;
}

div.brochure form input[type=text],
div.brochure form input[type=number],
div.brochure form input[type=email]  {
    width: 100%;
    font-size: 0.9rem;
    margin-bottom: 20px;
    font-weight: 300;
}

div.brochure form div.col-md-12 {
    position: static;
}

div.brochure form div.submit {
    text-align: center;
}

div.brochure form input[type=submit]  {
    margin-top: 50px;
    background-color: white;
    color: var(--main-color);
    font-weight: 500;
    letter-spacing: 2px;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    font-size: 1rem;
    padding-left: 80px;
    padding-right: 80px;
}

div.brochure span.small-print {
    display: block;
    width: 100%;
    margin-top: 100px;
    text-align: right;
    font-size: 0.7rem;
    color: var(--grey);
}

div.brochure iframe {
    width: 100%;
    aspect-ratio: 300 / 200;
}

/* -- Advertising -- */
div.advertising .owl-carousel {
    max-width: calc(100vw - 20px);
}

div.advertising {
    margin-top: 40px;
}

div.advertising-mobile {
    display: none;
    overflow: hidden;
}

div.advertising:first-child {
    margin-top: 0;
}

div.advertising div.iframe-ad {
    aspect-ratio: 700 / 550;
}

div.advertising iframe {
    aspect-ratio: 700 / 550;
    display: block;
    width: 100%;
}

/* -- Modal -- */
body.modal-open {
}

div.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    animation: fade .3s ease;
    z-index: 99999;
    background: rgba(255,255,255,0.5);
    display: none;
    padding-top: 15%;
    text-align: center;
}

.modal#mailchimp .modal-body{
    padding: 20px;
}

.modal-content {
    position: relative;
    background: white;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 10px;
    border: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

div.modal button.close {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    line-height: 20px;
    font-weight: bold;
    padding: 0.6em 0.6em;
}

div.modal div.modal-body {
    padding: 10px;
}

/* -- Sponsors grid -- */
div.sponsor-grid-wrapper {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 80px;
    margin-bottom: 80px;
}

div.sponsor-grid-wrapper a {
    display: block;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
    width: 100%;

    border-bottom: solid;
    border-width: 1px;
    border-color: var(--light-grey);
}

div.sponsor-grid-wrapper a:first-child {
    border-top: solid;
    border-width: 1px;
    border-color: var(--light-grey);
}

div.sponsor-grid-wrapper a img {
    display: inline;
    max-height: 80px;
    width: auto;
}

/* -- Messages --*/
div.message-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    min-height: 50px;
    height: auto;
    width: 100%;
    font-size: 1rem;
    background-color: var(--light-support-color);
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    padding: 0 10px;
    display: none;
    z-index: 100;
}

div.message-wrapper div.boxed {
    padding-top: 20px;
    padding-bottom: 20px;
}

div.message-wrapper div.messages {
    display: inline-block;
}

div.message-wrapper div.messages span {
    display: inline-block;
    margin-right: 10px;
}

div.message-wrapper div.messages span.error {
    color: red;
}

div.message-wrapper a.close {
    float: right;
    cursor: pointer;
}

/* -- Webinar registration -- */
div.webinar-form div.col-md-6 {
    margin-bottom: 20px;
}

div.webinar-description img {
    height: auto;
}

div.webinar-description img.full-width {
    width: 100%;
}

/* -- SMPC -- */
div.smpc div.smpc-body {
    text-justify: inter-word;
    font-stretch: condensed;
    text-align:justify;
}

div.smpc a.smpc-header {
    display: block;
    width: 100%;
    height: auto;
}

div.smpc a.smpc-header img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-bottom: 50px;
}

div.smpc div.smpc-body img {
    max-width: 33%;
    float: right;
    height: auto;
    margin-left: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
}

div.smpc div.smpc-footer {
    display: grid;
    grid-template-columns: 33% 34% 33%;
    margin-top: 50px;
    justify-content: space-between;
}

div.smpc div.smpc-footer img {
    display: inline-block;
    height: 60px;
    width: auto;
}

div.smpc div.smpc-footer div.smpc-footer-image {
    display: inline-block;
}

div.smpc div.smpc-footer div:nth-child(1) {
    text-align: left;
}

div.smpc div.smpc-footer div:nth-child(2) {
    text-align: center;
}

div.smpc div.smpc-footer div:nth-child(3) {
    text-align: right;
}

div.smpc div.smpc-footer div p:first-child {
    margin-top: 0;
}

div.smpc div.approval-number {
    margin-top: 50px;
    display: block;
    text-align: right;
    font-size: 12px;
}

/* -- Account -- */
div.my-account-grid {
    display: grid;
    column-gap: 18px;
    grid-template-columns: 225px auto;
    margin-top: 40px;
}

div.my-account-grid div.my-account-menu h3 {
    display: block;
    width: 100%;
    font-size: 1.3rem;
    font-weight: 500;
    padding-bottom: 0px;
    margin: 0;
    margin-bottom: 5px;
}

div.my-account-grid div.my-account-menu {
    border-right: solid;
    border-width: 1px;
    border-color: var(--light-grey);
    padding-right: 18px;
}

div.my-account-grid div.my-account-menu nav {
    margin-bottom: 50px;
}

div.my-account-grid div.my-account-menu nav a {
    position: relative;
    display: block;
    margin-bottom: 5px;
    color: var(--grey-text);
    font-weight: 300;
}

div.my-account-grid div.my-account-menu nav a:hover, div.my-account-grid div.my-account-menu nav a.active {
    text-decoration: none;
    color: var(--main-color);
    font-weight: 400;
}

div.my-account-grid div.my-account-menu nav a.active::after {
    content: ">";
    position: absolute;
    right: 0;
    top: -3px;
    font-weight: bold;
    color: var(--main-color);
    font-size: 1.2rem;
}

div.my-account-content h1.page-type,
div.my-account-content h2.page-type,
div.my-account-content h2.section {
    font-weight: 500;
    font-size: 1.3rem;
}

form.account input[type=text],
form.account input[type=number],
form.account input[type=password],
form.account input[type=email] {
    width: 100%;
}


form.account.mini input[type=text],
form.account.mini input[type=number],
form.account.mini input[type=password],
form.account.mini input[type=email] {
    max-width: 350px;
}


form.account button[type=submit] {
    clear: both;
    display: block;
    margin-top: 10px;
}

form.account.mini button[type=submit] {
    margin-top: 20px;
}

form.account div {
    margin-left: 0;
    padding-left: 0;
}

form.account div.form-field {
    margin-bottom: 20px;
    display: block;
    clear: both;
}

form.account div.help {
    position: relative;
}

span.inline-help a.show-help {
    position: relative;
}

span.inline-help span.help-text::before {
    top: 18px;
}

form.account div.form-row {
    margin-bottom: 20px;
}

form.account span.inline-help a.show-help:hover span.help-text, form.account span.inline-help a.show-help:focus span.help-text {
    top: -20px;
}

span.inline-help span.help-text {
    top: -20px;
}

form.account span.inline-help span.icon-question-grey {
    position: relative;
    display: inline-block;
    margin-top: 0;
}

form.account span.help-text {
    position: absolute;
    display: none;
    top: 0;
    left: 100%;
}

form.account a.show-help:hover span.help-text,
form.account a.show-help:focus span.help-text {
   display: block;
   background-color: var(--light-support-color);
   width: 200px;
   height: auto;
   font-size: 0.8rem;
   color: black;
   z-index: 100;
   border: solid;
   border-width: 1px;
   border-color: var(--light-grey);
   padding: 5px;
}

form.account input:disabled {
    color: var(--middle-grey);
}

form.account ul#id_salutation {
    margin: 0;
    padding: 0;
    list-style: none;
}


form.account ul#id_salutation li {
    display: inline-block;
    margin-right: 20px;
}

div.account-login div.login-columns {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 0px;
}

div.account-login p.small-print {
    line-height: 100%;
    color: #6a6a6a;
}

div.account-login div.login-columns div.column:nth-child(odd) {
    padding-right: 18px;
}

div.account-login div.login-columns div.column:nth-child(even) {
    border-left: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    border-radius: 0;
    padding-left: 18px;
}

div.account-login a.password-reset {
    display: inline-block;
    line-height: 46px;
}

form.account-login input[type=text], form.account-login input[type=password] {
    margin-bottom: 20px;
    width: 100%;
}


div.login div.modal-body form.account-login input[type=text],
div.login div.modal-body form.account-login input[type=password] {
    margin-bottom: 20px;
    width: auto;
    clear: both;
    display: block;
    margin: 0 auto 20px auto;
}

div.no-account-yet {
    background-color: var(--light-support-color);
    color: var(--main-color);
    padding: 36px;
}

div.no-account-yet h2 {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 0;
    padding-bottom: 0;
}

div.no-account-yet p {
    margin-top: 5px;
}

div.no-account-yet ul {
    margin-top: 5px;
    list-style-position: inside;
    padding-left: 0;
    margin-left: 0;
    list-style-image: url('../images/check.png');
}

div.no-account-yet ul li {
    padding-left: 0;
    margin-left: 0;
}

table.my-account-profile td,
table.my-account-profile th {
   border: none;
   color: var(--light-grey-text);
   font-weight: 300;
   vertical-align: baseline;
   padding-left: 0;
}

table.my-account-profile td:nth-child(2) {
    padding-left: 30px;
}

form.my-account-profile a.cancel {
    display: inline-block;
    margin-left: 30px;
    color: var(--light-grey-text);
    font-weight: 300;
}

form.my-account-profile span.institute:not(:empty) {
    margin-right: 20px;
}

form.my-account-profile a.edit-institute {
    display: inline-block;
}

hr.saved-seperator {
    display: block;
    border: none;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    border-radius: 0;
    width: 100%;
    height: 1px;
    margin-top: 50px;
    margin-bottom: 50px;
}

section.saved-pages hr.saved-seperator:last-child {
    display: none;
}

section.saved-pages {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-column-gap: 10px;
}

section.saved-pages div.saved-item {
    position: relative;
    padding-bottom: 20px;
}

section.saved-pages div.saved-item:nth-child(2n)::after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    border-bottom: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    height: 1px;
    width: calc(200%);
}

section.listing section.big-list a:last-child::after {
    display: none;
}

section.saved-pages a.content-link {
    height: auto;
    margin: 20px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    border: none;
}

.select2-results span.parent {
    font-weight: bold;
}

.select2-results span.child {
    margin-left: 10px;
}

@media(max-width: 900px) {
    section.saved-pages {
        display: grid;
        grid-template-columns: 100%;
        grid-column-gap: 10px;
    }

    section.saved-pages div.saved-item:nth-child(2n)::after,
    section.saved-pages div.saved-item::after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        border-bottom: solid;
        border-color: var(--light-grey);
        border-width: 1px;
        height: 1px;
        width: calc(100%);
    }
}


form.remove-saved {
    display: block;
    text-align: right;
    width: 100%;
}

section.saved-pages a.content-link {
    padding-bottom: 0px;
}

input.remove-saved[type=submit] {
    background-color: white;
    border: solid;
    border-color: var(--light-grey);
    border-width: 1px;
    color: var(--dark-grey);
    font-weight: normal;
    padding: 8px;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 600;
}

input.remove-saved[type=submit]:hover {
    color: white;
    background-color: var(--main-color);
    border-color: var(--main-color);
}

/* -- Help tooltips -- */
a.show-help:hover span.help-text,
a.show-help:focus span.help-text {
   display: block;
   background-color: var(--light-support-color);
   width: 200px;
   height: auto;
   font-size: 0.8rem;
   color: black;
   z-index: 100;
   border: solid;
   border-width: 1px;
   border-color: var(--light-grey);
   padding: 20px 10px;
   top: -5px;
   left: 30px;
}

a.show-help span.icon-question-grey {
    margin-top: 10px;
}

span.help-text {
    position: absolute;
    display: none;
    top: 0;
    left: 100%;
}

span.help-text::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    z-index:-1;
    width: 10px;
    height: 10px;
    background-color: var(--light-support-color);
    border-left: 1px solid var(--light-grey);
    border-top: 1px solid var(--light-grey);
    transform: rotate(-45deg) translate(-9px,0px);
}

/* -- Share buttons -- */
div.share-buttons p {
    color: var(--grey-text);
    font-size: 0.8rem;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 20px;
    width: 100%;
    height: 20px;
    text-align: center;
    display: block;
}

div.share-buttons div.buttons {
    display: grid;
    margin: 0 auto;
    width: 244px;
    grid-template-columns: 24px 24px 24px 24px 24px 24px;
    grid-column-gap: 20px;
}

div.share-buttons div.buttons img {
    vertical-align: bottom;
    height: 24px;
    width: auto;
}

div.share-buttons div.buttons div {
    cursor: pointer;
}

div.share-buttons span.copy-notify {
    color: transparent;
}

div.share-buttons span.copy-notify:before {
    content: "Gekopieerd";
    display: block;
    color: var(--grey-text);
}

/* -- Closing link -- */
div.closing-link {
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

div.closing-link a {
    margin: 0 auto;
    background-color: var(--main-color);
    color: white;
    border: none;
}

div.closing-link a:hover {
    text-decoration: none;
}

/* -- Accordeon -- */
details {
    margin-bottom: 30px;
}

details summary {
    display: block;
}

details summary::-webkit-details-marker {
    display:none;
}

details summary div.summary-image {
    display: inline-block;
    background-color: var(--main-color);
    width: auto;
    padding: 20px;
    border-radius: 20px 20px 0px 0px ;
}

details summary.no-image span {
    border-radius: 20px 20px 20px 20px ;
}

details summary span {
    position: relative;
    display: block;
    background-color: var(--main-color);
    color: white;
    font-size: 1em;
    border: none;
    padding: 0.6em 1.1em;
    min-height: 40px;
    cursor: pointer;
    text-align: left;
    font-weight: normal;
    margin-bottom: 0px;
    border-radius: 0px 20px 20px 20px ;
    line-height: 120%;
    background-image: url(../images/icons/arrow-down.svg);
    background-repeat: no-repeat;
    background-size: 20px 20px;
    background-position: center right 15px;
}

details div.content {
    border-color: var(--main-color);
    border-style: solid;
    border-width: 1px;
    padding: 5px;
    border-radius: 0px 0px 20px 20px ;
}

details div.content.two-buttons form {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 15px;
}

@media(max-width: 400px) {
    details div.content.two-buttons form {
        grid-template-columns: auto;
    }
}

details.newsletter div.content,
details.magazine div.content {
    padding: 30px 5px;
}

details summary img {
    max-width: 200px;
    width: auto;
    height: auto;
    cursor: pointer;
}


details[open] summary.no-image span {
    border-radius: 20px 20px 0px 0px ;
}

details[open] summary span {
    background-image: url(../images/icons/arrow-up.svg);
    border-radius: 0px 20px 0px 0px ;
}

details div.content a,
div.summary-block a {
    display: grid;
    grid-template-columns: 40% auto;
    align-items: center;
    column-gap: 15px;
    margin-bottom: 20px;

    padding-bottom: 20px;
    border-style: none none solid none;
    border-width: 1px;
    border-color: var(--light-grey);
}

div.summary-block a.playing {
    grid-template-columns: 1fr;
}


div.summary-block a.playing img {
    display: none;
}

div.summary-block a div.vimeo-player {
    margin-top: 20px;
}

div.summary-block button.close-video,
div.summary-block button.close-video span {
    background-color: transparent;
    font-size: 1.3rem;
    text-align: right;
    color: white;
}

div.summary-blocks a.small-content-link button.close-video span {
    display: inline;
    font-weight: bold;
}

details div.content a:last-child,
div.summary-block a:last-child {
    border: none;
}


details div.content a:hover,
div.summary-block a:hover {
    text-decoration: none;
}

details div.content a h3,
div.summary-block a h3 {
    font-size: 0.9rem;
    color: var(--dark-grey);
    text-decoration: none;
    margin: 0;
    font-weight: 500;
    padding-bottom: 5px;
}

details div.content span,
div.summary-block a span {
    color: var(--main-color);
    font-weight: 300;
    font-size: 0.9rem;
}

details div.content span time,
div.summary-block a span time {
    color: black;
}

div.summary-block a.small-content-link {
    position: relative;
}

div.summary-block div.sponsored {
    display: block;
    position: absolute;
    bottom: 0px;
    right: 0;
    width: auto;
    height: 20px;
    text-align: right;
    color: var(--main-color);
    text-transform: uppercase;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 1px;
}

@keyframes sweep {
  0%    {opacity: 0; margin-top: -10px}
  100%  {opacity: 1; margin-top: 0px}
}


div.summary-title h2.title {
    color: var(--main-color);
}

div.summary-title {
    display: grid;
    grid-template-columns: 450px auto;
    column-gap: 10px;
}

div.summary-title h2 {
    margin-top: 0;
}

div.summary-title img {
    width: 100%;
    height: auto;
}

div.summary-blocks {
    display: grid;
    grid-template-columns: 32% 32% 32%;
    column-gap: 2%;
    row-gap: 2%;
    margin-bottom: 300px;
}

@media(max-width: 750px) {
    div.summary-blocks {
        display: grid;
        grid-template-columns: 49% 49%;
        column-gap: 2%;
    }
}

@media(max-width: 600px) {
    div.summary-blocks {
        display: grid;
        grid-template-columns: auto;
        column-gap: 0;
    }
}

div.summary-blocks.open {
    grid-template-columns: 100%;
}


div.summary-blocks.open summary span {
    color: transparent;
}

div.summary-blocks div.summary-block {
        height: 100%;
    }

div.summary-blocks div.summary-block img {
    width: 100%;
    height: auto;
}

div.summary-blocks details summary img {
    max-width: 100%;
}

div.summary-blocks details summary div.summary-blocks div.summary-image, div.summary-blocks details summary span {
    background-color: transparent;
}

div.summary-blocks div.summary-block details {
    height: 100%;
    background-color: var(--main-color);
    border-radius: 20px;
}

div.summary-blocks details summary span {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

div.summary-blocks details summary span {
    position: relative;
    display: block;
    color: white;
    font-size: 1.6rem;
    border: none;
    padding: 0.3em 1.1em 0.6em 1.1em;
    min-height: 40px;
    cursor: pointer;
    text-align: left;
    font-weight: normal;
    margin-bottom: 0px;
    line-height: 120%;
    background-image: none;
}

@media(max-width: 1000px) {
    div.summary-blocks details summary span {
        font-size: 1.3rem;
    }
}

div.summary-blocks.open details {
    background-color: transparent;
}

div.summary-blocks.open details summary span {
    background-color: var(--main-color);
    font-size: 1.1rem;
    text-align: center;
}

div.summary-blocks details[open] {
    max-width: 890px;
}

div.summary-blocks details[open] div.summary-image {
    display: none;
}

div.summary-blocks details[open] summary span {
    border-radius: 20px 20px 0px 0px;
    line-height: 40px;
    padding: 0 1.1em 0 1.1em;
    background-image: url(../images/icons/arrow-up.svg);
}

div.summary-blocks details div.content a h3, div.summary-block a h3 {
    color: white;
}

div.summary-blocks details div.content {
    border-color: var(--main-color);
    border-width: 2px;
    color: white;
}

div.summary-blocks a.small-content-link span {
    display: none;
}

@media(max-width: 900px) {
    div.summary-title {
        grid-template-columns: auto;
    }

    div.summary-title img {
        max-width: 450px;
        margin: 0 auto 30px auto;
    }
}

div.summary-blocks details summary div.summary-image {
    padding-bottom: 5px;
}

div.summary-blocks details summary::-webkit-details-marker {
  display:none;
}

/* -- Login slider -- */
div.login-slider {
    position: fixed;
    bottom: -200px;
    left: 0;
    height: auto;
    transition: all 1s;
    background-color: white;
    z-index: 2;
    width: 100%;
    padding: 20px;
    z-index: 100;
}

div.login-slider h2 {
    color: var(--main-color);
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
}

div.login-slider p {
    text-align: center;
}

div.login-slider.show {
    bottom: 0 !important;
    transition: all 1s;
}

div.login-slider div.wrapper {
    margin: 0 auto;
    max-width: 600px;
}

div.login-slider form {
    text-align: center;
    width: 250px;
    margin: 0 auto;
}


div.login-slider form input[type=email] {
    width: 250px;
}

div.login-slider form input[type=submit] {
    margin-top: 20px;
}

div.login-slider div.line {
    position: relative;
    text-align: center;
    margin-bottom: 10px;
}

div.login-shades {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background-color: rgba(0,0,0,0.2);
    display: none;
    z-index: 50;
    pointer-events: none;
}

div.login-slider div.line span {
    display: inline-block;
    background-color: white;
    padding: 0 10px;
}

div.login-slider div.line::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    z-index: -1;
    background-color: var(--light-grey);
    height: 2px;
    width: 100%;
}

div.login-slider div.continue-login {
    width: 250px;
    margin: 0 auto;
}

div.login-slider div.continue-login a:first-child {
    margin-bottom: 10px;
}

div.login-slider div.continue-login a {
    display: block;
    width: 250px;
    border: solid;
    border-color: var(--middle-grey);
    border-width: 1px;
    font-size: 0.9rem;
    text-align: center;
    color: black;
}

div.login-slider a.close-login-slider {
    position: absolute;
    top: 20px;
    right: 10px;
    width: 40px;
    line-height: 20px;
    font-weight: bold;
    padding: 0.6em 0.6em;
    cursor: pointer;
}

div.summary-approval-number {
    margin-top: 40px;
    text-align: right;
    font-size: 0.8rem;
}

/* -- Newsletter stats -- */
div.newsletter-stats-years details summary {
    font-weight: bold;
    font-size: 1.5rem;
    cursor: pointer;
}

div.newsletter-stats-years details[open] > summary:before {
    content: "▼";
    text-align: right;
    margin-right: 20px;
}

div.newsletter-stats-years details > summary:before {
    content: "►";
    margin-right: 20px;
}

/* -- Icons -- */
[class^="icon-"], [class*=" icon-"] {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

span.icon-home {
    background-image: url(../images/icons/home.svg);
}

span.icon-sponsor {
    background-image: url(../images/icons/sponsor.svg);
}

span.icon-richtlijnen {
    background-image: url(../images/icons/richtlijnen.svg);
}

span.icon-arrow-left {
    background-image: url(../images/icons/arrow-left.svg);
}

span.icon-arrow-left-dark {
    background-image: url(../images/icons/arrow-left-dark.svg);
}

span.icon-podcast {
    background-image: url(../images/icons/podcast.svg);
}

span.icon-video {
    background-image: url(../images/icons/video.svg);
}

span.icon-article {
    background-image: url(../images/icons/article.svg);
}

span.icon-link {
    background-image: url(../images/icons/link.svg);
}

span.icon-article-menu {
    background-image: url(../images/icons/article-menu.svg);
}

span.icon-info {
    background-image: url(../images/icons/info.svg);
}

span.icon-account {
    background-image: url(../images/icons/account.svg);
}

span.icon-menu {
    background-image: url(../images/icons/menu.svg);
}

span.icon-calendar {
    background-image: url(../images/icons/calendar.svg);
}

span.icon-mic {
    background-image: url(../images/icons/mic.svg);
}

span.icon-video-menu {
    background-image: url(../images/icons/video-menu.svg);
}

span.icon-webinar {
    background-image: url(../images/icons/webinar.svg);
}

span.icon-webinar-circle {
    background-image: url(../images/icons/webinar-circle.svg);
}

span.icon-magazine {
    background-image: url(../images/icons/magazine.svg);
}

span.icon-newsletter {
    background-image: url(../images/icons/newsletter.svg);
}

span.icon-waypoint {
    background-image: url(../images/icons/waypoint.svg);
}

span.icon-twitter {
    background-image: url(../images/icons/twitter.svg);
}

span.icon-linkedin {
    background-image: url(../images/icons/linkedin.svg);
}

span.icon-print {
    background-image: url(../images/icons/print.svg);
}

span.icon-mail {
    background-image: url(../images/icons/envelope-open.svg);
}

span.icon-search {
    background-image: url(../images/icons/search.svg);
}

span.icon-question {
    background-image: url(../images/icons/question.svg);
}

span.icon-question-grey {
    background-image: url(../images/icons/question-grey.svg);
}

span.icon-login {
    background-image: url(../images/icons/user-logged-out-white.svg);
    width: 30px;
    height: 30px;
}

span.icon-logout {
    background-image: url(../images/icons/user-logged-in-white.svg);
    width: 30px;
    height: 30px;
}

span.icon-logged-in-hover {
    background-image: url(../images/icons/user-logged-in-purple.svg);
    width: 30px;
    height: 30px;
}


/* -- Responsiveness -- */

@media(max-width: 1360px) {
    .boxed {
        padding: 0 10px;
        width: 100%;
    }

    header.top a.title {
        margin-left: 7vw;
    }

    section.main-menu {
        height: auto;
        min-height: 60px;
    }

    div.indicatiegebieden ul {
        grid-template-columns: 25% 25% 25% 25%;
    }
}

@media(max-width: 1200px) {
    section.fold-out-menu a.magazine-mobile {
        display: block;
    }

    section.fold-out-menu a.newsletter-mobile {
        display: block;
    }

    section.main-menu div.buttons-right a.newsletter {
        display: none;
    }
}



@media(max-width: 1100px) {
    div.pre-selected-podcast {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media(max-width: 1050px) {
    header.top a.logout {
        display: none;
    }

    footer div.bottom nav {
        float: none;
        display: block;
    }

    footer span.copyright {
        float: none;
        display: block;
    }

    section.main-menu div.buttons-right {
        display: none;
    }

    div.magazine-grid {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(1, 1fr);
    }

    div.magazine-cover-grid {
        grid-template-columns: 50% 50%;
        grid-row-gap: 30px;
    }

    div.magazine-grid span.year {
        display: none;
    }

    div.magazine-grid span.sub-year {
        display: block;
    }

    div.indicatiegebieden ul {
        grid-template-columns: 50% 50%;
    }

    div.my-account-grid {
        display: block;
    }

    div.my-account-grid div.my-account-menu {
        display: grid;
        column-gap: 18px;
        grid-template-columns: auto auto auto;
        margin-top: 40px;
        border-right: none;
        padding-right: 0;
    }

    div.my-account-grid div.my-account-menu h3 {
        display: block;
        width: 100%;
        font-size: 1.3rem;
        font-weight: 500;
        padding-bottom: 0px;
        margin: 0;
        margin-bottom: 5px;
    }

    div.my-account-grid div.my-account-menu nav a.active::after {
        display: none;
    }
}


@media(max-width: 1070px) {
    section.listing section.big-list {
        grid-template-columns: repeat(2, 1fr);
    }

    section.listing section.big-list a:nth-child(2n)::after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        border-bottom: solid;
        border-color: var(--light-grey);
        border-width: 1px;
        height: 1px;
        width: calc(300% + 48px);
    }

    div.news-item header.news-item h1 {
        font-size: 1.5rem;
        padding-right: 50px;
    }

    div.home-left div.button-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 20px;
        grid-row-gap: 20px;
    }

    div.home-left div.button-grid span.icon-webinar-circle {
        margin-right: 0;
    }

    div.home-left div.button-grid a:last-child span.title {
        text-align: center;
    }

    div.home-right div.buttons a {
        margin: 10px auto;
        padding: 0 5px;
        font-size: 0.8rem;
        letter-spacing: 1.5px;
    }


    div.elearning-blocks section.e-learnings ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 20px;
    }

    header.top section.actions form.search {
        display: none;
    }

    section.fold-out-menu nav.fold-out-menu form.search {
        display: block;
    }
}

@media(max-width: 950px) {
    section.main-menu nav.main-menu a {
        margin-top: 0;
    }

    section.main-menu nav.main-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    section.main-menu nav.main-menu a {
        border-style: none;
        padding: 0;
    }

    section.listing header {
        grid-template-columns: repeat(1, 1fr);
    }

    div.home-right {
        margin-top: 50px;
    }

    div.my-account-grid div.my-account-menu {
        grid-template-columns: auto auto;
    }

}

@media(max-width: 900px) {
    header.top a.logo img.big {
        display: none;
    }

    header.top a.logo img.small {
        display: block;
        max-width: 250px;
        width: auto;
    }

    section.main-menu a.magazine {
        display: none;
    }

    div.news-item header.news-item h1 {
        font-size: 1.2rem;
    }

    main.boxed.podcasts.regular {
        grid-template-columns: auto auto;
    }

    footer nav.top {
        grid-template-columns: repeat(2, 1fr);
    }

    footer nav.top div {
        margin-top: 20px;
    }

}

@media(max-width: 900px) {
    header.top a.title {
        display: none;
    }

    section.listing section.big-list {
        grid-template-columns: repeat(1, 1fr);
    }

    section.big-list a.podcast-item {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: 15px;
    }

    section.listing section.big-list a::after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        border-bottom: solid;
        border-color: var(--light-grey);
        border-width: 1px;
        height: 1px;
        width: calc(300% + 48px);
    }

    section.app-banner h2 {
        font-size: 1.4rem;
    }

    table#richtlijnen {
        display: flex;
        width: auto !important;
        min-width: auto;
    }

    table#richtlijnen tbody {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    table#richtlijnen tr {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        width: auto;
        border-bottom: solid;
        border-color: var(--light-grey);
        border-width: 1px;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    div.indicatiegebieden ul {
        grid-template-columns: repeat(1, 1fr);
    }

    footer.boxed {
        margin-bottom: 20px;
    }

    section.podcast-footer-grid {
        position: static;
    }

}

@media(max-width: 700px) {
    header.top {
        height: 70px;
        line-height: 70px;
        position: fixed;
        top: 0;
        left: 0;
        background-color: white;
        z-index: 10;
        border-style: none none solid none;
        border-width: 1px;
        border-color: var(--light-grey);
    }

    header.top section.actions span.my-account {
        position: relative;
        margin: 0 10px 0px 0px;
    }

    div.advertising-desktop {
        display: none;
    }

    div.advertising-mobile {
        display: block;
    }

    header.top section.actions a.account {
        margin-right: 10px;
    }

    section.main-menu {
        margin-top: 70px;
    }

    section.main-menu {
        border-style: none none solid none;
    }

    section.main-menu nav.main-menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }

    main.regular {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 50px;
    }

    div.login-mobile {
        display: block;
    }

    button.toggle-cta-login {
        display: none;
    }

    main.regular aside form.login {
        display: none;
    }

    section.fold-out-menu nav.fold-out-menu {
        width: 100%;
    }

    div.news-item header.news-item h1 {
        font-size: 1.5rem;
    }

    main.boxed.podcasts.regular {
        grid-template-columns: repeat(1, 1fr);
    }

    section.app-banner h2 {
        font-size: 1.2rem;
    }

    section.app-banner div.bg {
        height: 100%;
    }

    section.app-banner div.grid {
        grid-template-columns: 50% 50%;
        grid-column-gap: 20px;
    }

    footer nav.top {
        grid-template-columns: repeat(1, 1fr);
    }

    footer div.bottom nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 10px;
        margin-bottom: 30px;
    }

    footer div.bottom nav a {
        margin: 0;
    }

    footer span.sep {
        display: none;
    }

    section.listing div.mobile-login {
        display: block;
        margin-top: 30px;
    }

    main.regular.sidebar-left {
        grid-template-columns: 100%;
        grid-row-gap: 10px;
    }

    a.show-search-filters {
        display: inline-block;
    }

    aside section.search-filter {
        display: none;
    }

    main.regular aside {
        min-height: auto;
    }

    div.my-account-grid div.my-account-menu {
        grid-template-columns: auto auto;
    }
}

@media(max-width: 600px) {
    header.top section.actions span.my-account.has-menu:hover div.my-account-menu {
        display: none;
    }
}

@media(max-width: 500px) {
    header.top section.actions a.logout,
    header.top section.actions a.login  {
        display: none;
    }

    div.account-login div.login-columns {
        display: grid;
        grid-template-columns: auto;
        column-gap: 0px;
        grid-row-gap: 30px;
    }

    div.account-login div.login-columns div.column:nth-child(odd) {
        padding-right: 0;
    }

    div.account-login div.login-columns div.column:nth-child(even) {
        border-left: none;
        border-top: solid;
        border-color: var(--light-grey);
        border-width: 1px;
        border-radius: 0;
        padding-left: 0;
    }
}

@media(max-width: 450px) {
    div.my-account-grid div.my-account-menu {
        display: grid;
        column-gap: 18px;
        grid-template-columns: auto;
        margin-top: 40px;
        border-right: none;
        padding-right: 0;
    }
}

@media(max-width: 400px) {
    header.top a.logo img.small {
        max-width: 200px;
    }

    header.top a.menu span.menu-title {
        display: none;
    }

    section.app-banner div.grid {
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 20px;
        text-align: center;
    }

    section.app-banner div.grid span.mobile-phone {
        border-bottom: solid;
        border-color: var(--light-grey);
        border-width: 1px;
    }

    section.app-banner div.boxed {
        padding: 0;
    }

    section.app-banner div.boxed div.grid div {
        padding: 0 10px;
    }

    footer div.bottom nav {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    section.main-menu nav.main-menu a:nth-child(5),
    section.main-menu nav.main-menu a:nth-child(6) {
        grid-column: span 2;
    }

}

/* -- Bootstrap grid compatibility -- */
.form-control {
    display: block;
    width: 100%;
}

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

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position:relative;
    min-height:1px;
    padding-left:15px;
    padding-right:15px
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    float:left
}

.col-xs-12 {width:100%}
.col-xs-11 {width:91.66666667%}
.col-xs-10 {width:84.33333333%}
.col-xs-9  {width:75%}
.col-xs-8  {width:66.66666667%}
.col-xs-7  {width:58.33333333%}
.col-xs-6  {width:50%}
.col-xs-5  {width:41.66666667%}
.col-xs-4  {width:33.33333333%}
.col-xs-3  {width:25%}
.col-xs-2  {width:16.66666667%}
.col-xs-1  {width:8.33333333%}

@media (min-width:768px) {
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
        float:left
    }
    .col-sm-12 {width:100%}
    .col-sm-11 {width:91.66666667%}
    .col-sm-10 {width:83.33333333%}
    .col-sm-9  {width:75%}
    .col-sm-8  {width:66.66666667%}
    .col-sm-7  {width:58.33333333%}
    .col-sm-6  {width:50%}
    .col-sm-5  {width:41.66666667%}
    .col-sm-4  {width:33.33333333%}
    .col-sm-3  {width:25%}
    .col-sm-2  {width:16.66666667%}
    .col-sm-1  {width:8.33333333%}
}

@media (min-width:992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float:left
    }
    .col-md-12 {width:100%}
    .col-md-11 {width:91.66666667%}
    .col-md-10 {width:83.33333333%}
    .col-md-9  {width:75%}
    .col-md-8  {width:66.66666667%}
    .col-md-7  {width:58.33333333%}
    .col-md-6  {width:50%}
    .col-md-5  {width:41.66666667%}
    .col-md-4  {width:33.33333333%}
    .col-md-3  {width:25%}
    .col-md-2  {width:16.66666667%}
    .col-md-1  {width:8.33333333%}
}

@media (min-width:1200px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
        float:left
    }
    .col-lg-12 {width:100%}
    .col-lg-11 {width:91.66666667%}
    .col-lg-10 {width:83.33333333%}
    .col-lg-9 {width:75%}
    .col-lg-8 {width:66.66666667%}
    .col-lg-7 {width:58.33333333%}
    .col-lg-6 {width:50%}
    .col-lg-5 {width:41.66666667%}
    .col-lg-4 {width:33.33333333%}
    .col-lg-3 {width:25%}
    .col-lg-2 {width:16.66666667%}
    .col-lg-1 {width:8.33333333%}
}
