body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
table.sortable thead th{background-image:url(../../assets/tablesorter/images/default.svg);background-repeat:no-repeat;background-position:center right}table.sortable thead th.tablesorter-headerAsc{background-image:url(../../assets/tablesorter/images/asc.svg)}table.sortable thead th.tablesorter-headerDesc{background-image:url(../../assets/tablesorter/images/desc.svg)}
.content-slider{overflow:hidden;visibility:hidden;position:relative}.slider-wrapper{overflow:hidden;position:relative}.slider-wrapper>*{float:left;width:100%;position:relative}.slider-control{height:30px;position:relative}.slider-control a,.slider-control .slider-menu{position:absolute;top:9px;display:inline-block}.slider-control .slider-prev{left:0}.slider-control .slider-next{right:0}.slider-control .slider-menu{top:0;width:50%;left:50%;margin-left:-25%;font-size:27px;text-align:center}.slider-control .slider-menu b{color:#bbb;cursor:pointer}.slider-control .slider-menu b.active{color:#666}
/* ============================================================
   CSS custom properties (variables)
   ============================================================ */
:root {
    --hoofd: #0186b7;
    --zwart: #2b2b2b;
    --wit: #ffffff;
    --mmenu: #ffffff;
    --mmenu-font: Roboto, sans-serif;

    /* Spacing scale — clamps between a min and max as viewport grows */
    --space-s:  clamp(0.5rem, 1.5vw, 1rem);
    --space-m:  clamp(1rem,   2vw,   2rem);
    --space-l:  clamp(1.5rem, 3vw,   3rem);
    --space-xl: clamp(3rem,   5vw,   6rem);
}

/* ============================================================
   Site styles
   ============================================================ */

#top {
    width: 100%;
    font-family: 'Roboto', sans-serif;
    color: var(--zwart);
}

#wrapper {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

#container {
    margin-bottom: clamp(2rem, 5vw, 5rem);
}

#main {
    font-family: Arial;
    font-size: clamp(22px, 3vw, 26px);
}

a {
    text-decoration: none;
    color: var(--hoofd);
}

a:hover {
    text-decoration: underline;
}

a[href^="tel:"] {
    text-decoration: none;
    color: var(--zwart);
}

/* Header — desktop */
body:not(.mobile) #header {
    min-height: clamp(80px, 12vw, 180px);
    font-size: clamp(14px, 2vw, 28px);
}

body:not(.mobile) #header .image_container {
    width: clamp(180px, 25vw, 360px);
    display: block;
    margin-top: var(--space-m);
    margin-left: var(--space-m);
}

/* Menu — desktop */
.mod_navigation {
    margin: 0 auto;
    text-align: center;
}

.mod_navigation ul.level_1 {
    display: inline-block;
}

.mod_navigation ul.level_1 li {
    float: left;
    display: inline-block;
    margin: 0 var(--space-m);
    font-weight: bold;
}

.mod_navigation ul.level_1 li .active {
    text-decoration: underline;
}

.mod_navigation ul.level_1 li a {
    text-decoration: none;
    color: var(--hoofd);
}

.mod_navigation ul.level_1 li a:hover {
    text-decoration: none;
    color: var(--zwart);
}

/* Header — mobile */
.mobile #header {
    width: 100%;
    height: clamp(80px, 20vw, 120px);
    overflow: hidden;
    background-image: url("/files/logos/Studiecentrum-Leeuwendaal-bg.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 70%;
}

.home_page #header .image_container,
.mobile.home_page .largelogo .image_container {
    overflow: hidden;
    display: none;
    visibility: hidden;
}

/* Menu — mobile */
#dk_mmenu {
    width: 20em;
    font-family: var(--mmenu-font);
    color: var(--mmenu);
    font-size: clamp(26px, 6vw, 34px);
}

#dk_mmenu li {
    font-size: 1.2em;
    line-height: 1.6em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#dk_mmenu li.active {
    margin-left: .6em;
    background-color: rgba(0, 0, 0, .2);
    font-size: 1.4em;
    line-height: 1.8em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.dk_mmenu-bg {
    left: 0;
    top: 0;
    position: relative;
    float: left;
    height: clamp(80px, 20vw, 120px);
}

.dk_mmenu-bg a:hover {
    text-decoration: none;
}

.dk_mmenu-icon {
    float: left;
    display: block;
    padding: 0 var(--space-s) .2vw;
    font-size: clamp(32px, 9.5vw, 72px);
    font-weight: bold;
    text-decoration: none;
    color: var(--hoofd);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Container — mobile */
.mobile #container {
    margin-top: var(--space-m);
    margin-bottom: clamp(5rem, 15vw, 10rem);
}

/* Home page */
#home .largelogo {
    margin-right: var(--space-l);
    margin-bottom: var(--space-l);
    margin-left: var(--space-l);
}

#home.last {
    clear: both;
}

#home .homepage_foto {
    text-align: center;
}

/* Content elements */
.ce_headline {
    margin-right: var(--space-l);
    margin-bottom: var(--space-l);
    margin-left: var(--space-l);
}

.ce_text {
    margin-right: var(--space-l);
    margin-left: var(--space-l);
}

.ce_flexSlider {
    max-height: 100%;
}

#main h1 {
    margin-top: 0;
    font-size: clamp(1.4rem, 3vw, 2.2rem);
}

#main h2 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: clamp(1rem, 2vw, 1.4rem);
}

#main p {
    margin-top: 0;
}

/* Layout columns — desktop */
body:not(.mobile).home_page #main .left,
body:not(.mobile).regular_page #main .left {
    width: 50%;
    position: relative;
    float: left;
    vertical-align: top;
}

body:not(.mobile).home_page #main .right,
body:not(.mobile).regular_page #main .right {
    width: 50%;
    position: relative;
    float: right;
    vertical-align: top;
}

body:not(.mobile).contact_page #main .left {
    width: 60%;
    position: relative;
    float: left;
    vertical-align: top;
}

body:not(.mobile).contact_page #main .right {
    width: 37%;
    position: relative;
    float: right;
    margin-right: var(--space-l);
    vertical-align: top;
}

/* Layout columns — mobile */
.mobile.contact_page #main .left {
    width: 75%;
    position: relative;
    float: left;
    vertical-align: top;
}

.mobile.contact_page #main .right {
    width: 22%;
    position: relative;
    float: right;
    margin-right: var(--space-l);
    vertical-align: top;
}

/* Contact page */
#contact-foto img {
    width: 100%;
    max-width: 600px;
}

#contact-foto .image_container {
    text-align: center;
}

.mobile #contact-foto .caption {
    font-size: clamp(12px, 1.5vw, 18px);
}

#examentraining-duits-contact {
    clear: both;
}

#examentraining-duits-contact table {
    -webkit-border-horizontal-spacing: 0px;
    -webkit-border-vertical-spacing: 0px;
}

#examentraining-duits-contact td {
    width: 50%;
    padding-right: 7px;
    padding-left: 7px;
}

/* Footer */
#footer {
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    position: fixed;
    margin-right: auto;
    margin-left: auto;
    z-index: 99999;
}

#footer .logo {
    padding-left: var(--space-l);
    background-color: var(--wit);
}

#footer .logo img {
    max-width: clamp(120px, 25%, 300px);
}

#footer .balk {
    padding-top: var(--space-s);
    padding-bottom: var(--space-s);
    background-color: #00aced;
    font-weight: bold;
    color: var(--wit);
    font-size: clamp(12px, 1.5vw, 20px);
}

#footer .small {
    font-size: clamp(10px, 1vw, 14px);
}

#footer a {
    color: var(--wit);
}

/* Google Maps */
#contact iframe {
    width: 100%;
}

.flexslider {
    margin-bottom: clamp(12px, 1.5vw, 24px);
}

/* ============================================================
   Wide screen cap — beyond 1400px nothing should grow further
   ============================================================ */
@media (min-width: 1400px) {
    #wrapper {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* ============================================================
   Narrow screen adjustments — phones below 480px
   ============================================================ */
@media (max-width: 480px) {
    .ce_headline,
    .ce_text {
        margin-right: 1rem;
        margin-left: 1rem;
    }

    #footer .logo img {
        max-width: 40%;
    }

    #footer .small {
        font-size: 11px;
    }
}
