/* === Zienportal design tokens === */
:root {
    --zp-petrol:        #145468;
    --zp-petrol-hover:  #0f3e4f;
    --zp-oranje:        #e8a243;
    --zp-oranje-hover:  #d08a2a;
    --zp-tabbar-bg:     #e9ecef;
}
/* =================================*/

/*
    Document   : EditYourWeb stylesheet
    Author     : Thar Design
    Description: Stylesheet for template Zienportal

	Colors:
	Petrol: #145468
	Lichtgrijs: #d5e1e6
	Buttons: #1cade1

*/

* {
    margin: 0;
}
html, body{
    font-family: 'Montserrat', sans-serif;
    overflow-x:hidden;
}
html {
    position: relative;
    min-height: 100%;
}
.img-fluid {
    display: block;
    max-width: 100%;
    height: auto;
}
body{
    /* Margin bottom by footer height */
    margin-bottom: 50px;
    /*font-size: 1.5rem;*/
    line-height: 1.75;
    color: #767676;
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4 {
    font-family: 'Alata', sans-serif;
    /* letter-spacing: 1.5px !important; */
}
h1 {
    margin-bottom: 25px;
}
h2 {
    line-height: 1.25;
}
h3 {
    line-height: 1.5;
}
h4 {
    line-height: 1.76;
}
a, a:hover {
    color: #0563c1;
}
hr {
    clear: both;
    border-top: 1px solid #ccc;
}

input[type=checkbox],input[type=radio] {
    margin: 6px 0 0;
}
/* .header .container-fluid { */
/* background: #383636; */
/* } */

.nav-tabs>li>a {
    color: #3dc0e8;
    font-weight: 600;
}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover {
    color: var(--zp-oranje);
}
.nav>li>a {
    padding: 10px 9px;
}
/* ===================================================================
 *  NAVIGATIE — DESKTOP (md en groter)
 *  Kleuren (zie boven):
 *    Petrol:     #145468
 *    Lichtgrijs: #d5e1e6
 * =================================================================== */
.menubar nav.navbar .navbar-nav {
    margin-left: auto;             /* rechts uitlijnen in de balk */
}
.menubar nav.navbar .navbar-nav .nav-link {
    color: #fff;
    text-decoration: none;
    padding: 10px 9px;
}
.menubar nav.navbar .navbar-nav .nav-link:hover,
.menubar nav.navbar .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, .75);
}
.menubar nav.navbar .navbar-nav .nav-item.active .nav-link,
.menubar nav.navbar .navbar-nav .nav-item.childactive .nav-link {
    /*color: #fff;*/
    /*font-weight: 600;*/
}
/* Dropdown-items krijgen ook nav-link mee vanuit de helper —
   zet hier de kleur terug naar donker op witte achtergrond.    */
.menubar nav.navbar .navbar-nav .dropdown-menu .nav-link {
    color: #333;
    padding: 4px 16px;
    font-weight: normal;
}
.menubar nav.navbar .navbar-nav .dropdown-menu .nav-link:hover,
.menubar nav.navbar .navbar-nav .dropdown-menu .nav-link:focus {
    color: #000;
    background-color: #f5f5f5;
}

/* ===================================================================
 *  NAVIGATIE — MOBIEL OFFCANVAS (kleiner dan md)
  * =================================================================== */
#navDrawer .nav-link {
    color: #145468;
    text-decoration: none;
    padding: 12px 16px;
    border-bottom: 1px solid #e9ecef;
    display: block;
    width: 100%;
}
#navDrawer .nav-link:hover,
#navDrawer .nav-link:focus {
    color: #1b87b3;
    background-color: #f8f9fa;
}
#navDrawer .nav-item.active .nav-link {
    color: #145468;
    font-weight: 600;
}
#navDrawer .dropdown-menu {
    position: static;
    border: none;
    box-shadow: none;
    padding: 0;
    background: #f8f9fa;
}
#navDrawer .dropdown-menu .nav-link {
    padding-left: 28px;
    border-bottom-color: #dee2e6;
    font-size: .95em;
}
.contents{
    padding: 0px;
    background: #ffffff;
}
.nav-tabs-bg {
    background: var(--zp-tabbar-bg);
    padding: 0 .5rem;
    border-radius: 6px 6px 0 0;
    margin-top: -20px;
    padding-top: 10px;
    margin-left: -1000px;
    padding-left: 1000px;
    padding-right: 1000px;
    margin-right: -1000px;
}
/* Mobile hamburger toggle */
.nav-tabs-toggle {
    display: block;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid #dee2e6;
    padding: 10px 0;
    text-align: left;
    font-size: inherit;
    font-weight: 600;
    color: var(--zp-oranje);
    cursor: pointer;
    margin-bottom: 0;
    line-height: 1.5;
}
@media (min-width: 576px) {
    .nav-tabs-toggle { display: none; }
}

/* Tab row: hidden on mobile by default, flex on sm+ */
.nav-tabs-row {
    display: none;
    align-items: center;
}
@media (min-width: 576px) {
    .nav-tabs-row { display: flex; }
}
/* Mobile open state */
.nav-tabs-row.open {
    display: block;
}
.nav-tabs-row.open .nav-tabs {
    flex-direction: column;
    border-bottom: none;
}
.nav-tabs-row.open .nav-tabs .nav-link {
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom: 1px solid #dee2e6;
    background: none;
}
.nav-tabs-row.open .nav-tabs .nav-link.active {
    color: var(--zp-oranje);
    font-weight: 600;
}


@media (max-width: 575px) {
    .tab-content { margin-top: 10px; }
}

/* Scroller: scrollable wrapper inside the row */
.nav-tabs-scroller {
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    min-width: 0;
}
.nav-tabs-scroller::-webkit-scrollbar { display: none; }
.nav-tabs-scroller .nav-tabs {
    flex-wrap: nowrap;
}
.nav-tabs-scroller .nav-item {
    flex-shrink: 0;
}

/* Scroll arrows: always occupy space on desktop, invisible until JS adds .is-visible */
.nav-tabs-arrow {
    visibility: hidden;
    background: none;
    border: none;
    padding: 0 8px;
    color: #555;
    font-size: 1.3rem;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
}
.nav-tabs-arrow.is-visible {
    visibility: visible;
}
@media (max-width: 575px) {
    .nav-tabs-arrow { display: none; }
}
.contents .content .col-md-8 {
    /*font-size: 2.1rem;*/
    line-height: 1.857;
    color: #838383;
    /* margin-bottom: 3.6rem; */
}
.content {
    padding: 20px 0 65px 0;
}
.margin-up {
    margin-top: -72px;
}
.marginforms {
    margin-top: 50px;
}
.marginforms h2 {
    margin: 11px 0 30px;
}
.bread-crumb {
    /* margin-top: -60px; */
    margin-bottom: 20px;
}

/* Temp fixes?? */
.intakeHuiswerkblads, .intakeLogboeks  {
    margin-top: 10px;
}
.spacer {
    height: 70px;
}
/* end */

h2.crumb {
    /* margin-top: -53px; */
    margin-bottom: 22px;
    /* background-color: #d5e1e6; */
    position: relative;
}
.icon i {
    color: #0563c1;
    font-size: 4.8rem;
}
.contents .content h3 {
    font-size: 1.9rem;
    color: #575656;
    margin-bottom: 3rem;
    font-weight: 600;
}
.service-content {
    min-height: 250px;
}
.contents .content .step {
    padding: 0 40px 1.5rem 60px;
    position: relative;
    min-height: 300px;
    border-left: 1px solid #ececec;
}
.contents .content .step::before {
    display: block;
    font-size: 2rem;
    font-weight: bold;
    content: attr(data-item);
    color: #ffffff;
    height: 54px;
    width: 54px;
    line-height: 54px;
    text-align: center;
    border-radius: 50%;
    background-color: #0563c1;
    box-shadow: 0 0 0 15px #ffffff;
    z-index: 100;
    position: absolute;
    top: -12px;
    left: -27px;
}
i.fa.fa-linkedin-square {
    color: #0077b5;
}

.sidebar h3 {
    border-bottom: 1px solid #eee;
    padding-bottom: .3em;
}

/* HEADER */
.header, .header a{
    /* color: #000000;	 */
}
.header .container{
    padding: 0;
}
.header-logo{
    position: relative;
}
.header-logo a {
    display: block;
    margin: 0;
    padding: 0;
    outline: 0;
    border: none;
    width: 298px;
    height: 41px;
    background: url(../img/logo.png) no-repeat center;
    background-size: 298px 41px;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.logobar {
    width: 100%;
    height: 80px;
    background: #fff;
}
.logobar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.logobar .navbar-toggler {
    color: #145468;
    border-color: #145468;
    padding: 8px 14px;
    font-size: 1.2rem;
    line-height: 1;
}
.logobar .navbar-toggler i {
    color: #145468;
}
.menubar {
    width: 100%;
    height: auto;
    background: #145468;
}
.titlebar {
    background: #d5e1e6;
    padding: 10px 0;
}
.titlebar h1 {
    margin: 0;
    font-size: 1.8rem;
    color: #145468;
    padding-left: 0.75rem; /* match Bootstrap col gutter */
}
.login {
    background-color: #d5e1e6;
    padding: 20px;
}
@media (max-width: 991px){
    .login {
        margin-top: 20px;
        padding-bottom: 40px;
    }
}
@media (min-width: 992px){
    .contents .container {
        display: flex;
    }
    .login {
        flex: 1;
        margin-right: -100%;
        padding-right: 100%;
        height: 69vh;
    }
    .nav-tabs-arrow {
        display: none;
    }
}
.bg-split {
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(213,225,230,1) 75%, rgba(213,225,230,1) 100%);
}
.red {
    color: #767676;
}
@media (min-width: 768px) and (max-width:991px){
    .container {
        width:100%;
    }
    .header-logo {
        left: 15px;
    }
}
.dropdown-menu {
    background-color: #fff;
}
.dropdown-menu .dropdown-item {
    color: #333333;
}
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:hover {
    color: #000;
    text-decoration: none;
    background-color: #f5f5f5;
}

/* Open default child menus*/
@media (max-width: 767px) {
    .caret, .caretcontent {
        background-color: #d5e1e6;
        color: #1b87b3;
    }
}
.sub_menu li a {
    color: #000;
}

/* expand 3th level menu to right */
.dropdown>.dropdown-menu .dropdown-menu {
    left: 100%;
    top: 0;
}/*
li#link-inloggen {
    background: #1b87b3;
    padding-left: 10px;
    border-radius: 3px;
}
li#link-inloggen:hover {
    background: #31cceb;
}
/*
/* Forms */
.comment_form{
    margin-bottom: .8em;
}

/* == SLIDESHOW > HEADER == */
/* >>Arrows: different position & using images */
.slick-prev, .slick-next {
    top: 75%;
}
.slick-prev:before, [dir='rtl'] .slick-prev:before, .slick-next:before, [dir='rtl'] .slick-next:before {
    content: none;
}
.slick-arrow {
    width: 42px;
    height: 42px;
    opacity: .75;
}
.slick-prev {
    background: url(../img/prev.png) no-repeat;
    left: 5px;
}
.slick-next {
    background: url(../img/next.png) no-repeat;
    right: 5px;
}
.slick-prev:hover, .slick-prev:focus {
    background: url(../img/prev.png) no-repeat;
    opacity: 1;
}
.slick-next:hover, .slick-next:focus {
    background: url(../img/next.png) no-repeat;
    opacity: 1;
}

/* >>Dots: different position & colors */
.slick-dots {
    position: absolute;
    right: 20px;
    text-align: right;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: .75;
}
.slick-dots li button:before {
    opacity: 1;
    color: #ffffff;
}
.slick-dots li.slick-active button:before {
    opacity: 0.7;
    color: #ff0000;
}

/* slick squares */
.slick-dots li button:before {
    background-color: #ffffff;
    content: "";
    width: 15px;
    height: 15px;
}
.slick-dots li.slick-active button:before {
    background-color: #242962;
}

/* >>Captions: correspond with captionTypes in Settings */
.slick-slide .caption {
    background-color: rgba(33, 33, 33, 0.6);
    font-size: 35px;
    color: #ffffff;
    margin: 10% 25%;
}
.caption.banner {
    background-color: transparent;
    color: #ffffff;
}
.caption button {
    background-color: rgba(33, 33, 33, 0.6);
}
@media (max-width: 991px) {
    .caption {
        display: none;
    }
    .caption.banner {
        font-size: 25px;
        right: 5%;
        display: block;
    }
    .header-banner{
        margin-top: 10px;
    }
    .service-content, .contents .content .step {
        min-height: auto;
        margin-bottom: 40px;
    }
}
@media (max-width: 650px) {
    .caption.banner {
        font-size: 20px;
        right: 2%;
    }
}
@media (max-width: 500px) {
    .slick-slide>.caption {
        /* display: none !important; */
    }
    .caption.banner {
        font-size: 12px;
        right: 2%;
    }
}
/* == RELATEDINFO == */
.related-divider {
    position: relative;
    /* margin-top: -100px; */
    /* border-radius: 20px;	 */
    background-color: #ffffff;
    background-image: url(../img/divider.jpg);
    height: 400px;
    background-repeat: repeat-x !important;
    /* background-size: contain !important; */
    background-position: center center !important;
}
@media (max-width: 991px) {
    .related-divider {
        background-image: url(../img/divider-small.jpg);
        height: 200px;
        background-size: cover !important;
    }
}
.relatedinfo0, .relatedinfo1, .relatedinfo2 {
    color: #666;
    padding: 4rem;
    font-size: 1.8rem;
    line-height: 1.857;
    text-align: center;
}
.relatedinfo0{
    background-color: #d6f0ff;
}
.relatedinfo1{
    background: #feedcc;
}
.relatedinfo2{
    background: #ffffff;
    padding: 4rem 4rem 8rem 4rem;
}
.relatedinfo0 h1, .relatedinfo1 h1, .relatedinfo2 h1{
    font-weight: 900;
    font-size: 3.4rem;
    line-height: 1.324;
    position: relative;
    padding-bottom: 1rem;
}
.button0, .button1, .button2{
    background: transparent;
    border-color: #666;
    padding: 10px 30px;
    margin-top: 10px;
}
.button0 a, .button1 a,.button2 a {
    color: #666;
    text-decoration: none;
    text-transform: uppercase;
}
.button0:hover {
    background: #a5f0ff;
}
.button1:hover {
    background: #feed95;
}
.button2:hover {
    background: #ececec;
}
.image-right {
    display: block;
    text-align: right;
    margin: 0 auto;
}
.buttons .btn {
    background-color: transparent;
}
.buttons .btn, .caption button {
    color: #fff;
    border: 2px solid #fff;
    text-align: center;
    position: relative;
    padding: 12px 22px;
    font-size: 14px;
    border-radius: 2px;
    bottom: 0px;
}
.buttons .btn:hover, .caption button:hover{
    background-color: #ffffff;
    color: #000;
}
.buttons .btn:hover a, .caption button:hover a {
    color: #000;
    text-decoration: none;
}
.btn-zien {
    color: #fff;
    background-color: #1cade1;
    border-color: #1cade1;
    padding: 10px;
    border-radius: 12px;
}
.white, .white a {
    color: #fff !important;
}
.black, .black a {
    color: #000 !important;
}
@media (max-width: 450px) {
    .contactinfo {
        font-size: 14px;
        line-height: 23px;
    }
}

/* FOOTER */
footer{
    /* Set the fixed height of the footer here */
    height: 50px;
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: #145468;

}
.footer {
    /*height: 30px;	*/
}
.copyright {
    text-align: center;
    color: #fff;
    margin-top: 10px;
}
.copyright a {
    color: #fff;
}

.showmobile {
    display: none;
}
.hidemobile {
    display: block;
}

/* MEDIA QUERIES */
@media(max-width:991px){
    .showmobile {
        display: block;
    }
    .hidemobile {
        display: none;
    }
}
@media(max-width:767px){
    body {
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }
    .contents {
        flex-grow: 1;
    }
    footer {
        position: relative !important;
        height: auto;
        flex-shrink: 0;
    }
    .menubar {
        min-height: 56px;
        height: auto;
        background: #145468 !important;
    }
    .menubar .menuheader {
        display: flex;
        align-items: center;
        min-height: 56px;
    }
    .margin-up {
        margin-top: 0;
    }
    .headerContainer {
        margin-top: 30px;
    }
    .header-logo a {
        width: 140px;
        height: 25px;
        background-size: 140px 25px;
    }
}
.news-date-wrapper {
    align-self: inherit;
}
.news-content .col-xs-12 img.pull-right {
    float: left !important;
    margin-bottom: 10px;
}
.right a.btn.btn-sm.btn-primary.pull-right {
    margin-top: 10px;
}

/* ===================================================================
 *  12a. Accordion-style FAQ
 *
 * ------------------------------------------------------------------- */

.acc-container {
    width:100%;
    margin:30px auto 0 auto;
    -webkit-border-radius:8px;
    -moz-border-radius:8px;
    -o-border-radius:8px;
    border-radius:8px;
    overflow:hidden;
}

.acc-btn {
    width:100%;
    margin:0 auto;
    padding:15px 25px;
    cursor:pointer;
    background:#575656;
    border-bottom:1px solid #383636;
}

.acc-content {
    height:0px;
    width:100%;
    margin:0 auto;
    overflow:hidden;
    background:#fff;
}

.acc-content-inner {
    padding:30px;
}

.open {
    height: auto;
}

.selected {
    color: #767676;
}

.selectedBtn {
    background:#1b87b3;
    border-bottom:1px solid #fff;
}
/* Scroll-to-top */
.scroll-top-wrapper {
    position: fixed;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    text-align: center;
    z-index: 99999999;
    background: #575656;
    color: rgba(255, 255, 255, 0.5);
    border-radius: 5px;
    right: 30px;
    bottom: 55px;
    height: 60px;
    width: 60px;
    line-height: 60px;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.scroll-top-wrapper:hover {
    color: #fff ;
}
.scroll-top-wrapper.show {
    visibility:visible;
    cursor:pointer;
    opacity: 1.0;
}
.scroll-top-wrapper i.fa {
    line-height: inherit;
}
@media (min-width: 992px) and (max-width:1199px){
    .service-content, .contents .content .step {
        min-height: 400px;
    }
}
@media(max-width:767px) {
    .scroll-top-wrapper {
        right: 0px;
        bottom: 0px;
    }
    .contents .content h3 {
        font-size: 1.6rem;
    }
    .logobar {
        /* height: 80px; */
    }
    .header-logo {
        left: 20px;
    }
}
@media only screen and (max-width: 900px) {
    .relatedinfo4 {
        text-align: center;
    }
}
@media only screen and (max-width: 600px) {
    h1 {
        /*font-size: 2.6rem !important;*/
        letter-spacing: -.07rem;
    }
}
@media only screen and (max-width: 400px) {
    .relatedinfo1, .relatedinfo2, .relatedinfo3 {
        text-align: center;
    }
}

.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th {
    border: 1px solid #ddd !important;
}
table.dataTable.no-footer {
    border-bottom: 1px solid #ddd !important;
}

.disabled.back-button {
    color: darkgreen;
    background-color: lightgreen;
    border: 1px solid green;
}

.btn-group-sm>.btn,.btn-sm {
    padding: 1px 6px;
    font-size: 20px;
}
.back-button {
    /*font-size: 14px;*/
    /*padding: 5px 10px;*/
    /*margin-top: 8px;*/
}
.back-button-breadcrumb {
    display: none;
}
@media (max-width: 1199px) {
    .back-button-breadcrumb {
        display: inline-block;
    }
    .back-button-navbar {
        display: none;
    }
}
.filename {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Dossier cards (shared across all student tabs) */
.route-card {
    border: 1px solid #ddd;
    border-radius: 15px;
    margin-bottom: 24px;
    overflow: hidden;
    background: #fff;
    -webkit-box-shadow: 2px 2px 5px 2px rgba(0,0,0,0.1);
    box-shadow: 2px 2px 5px 2px rgba(0,0,0,0.1);
}
.route-card__header {
    padding: 14px 20px;
    border-bottom: 1px solid #eee;
    background: #fff;
}
.route-card__title {
    margin: 0;
    font-size: 1.4em;
    font-weight: 600;
}
.route-card__body {
    padding: 16px 20px;
}
.route-card__funding {
    margin: 8px 0 12px;
    color: #555;
    float: left;
}
.route-card .controls {
    width: 100%;
}

/* === Feedback fixes === */

/* Eye-icon (oogje) button — petrol bg, white icon */
.btn-eye,
a.btn-eye {
    background-color: var(--zp-petrol);
    border-color: var(--zp-petrol);
    color: #fff;
}
.btn-eye:hover,
a.btn-eye:hover {
    background-color: var(--zp-petrol-hover);
    border-color: var(--zp-petrol-hover);
    color: #fff;
}
.btn-eye i,
.btn-eye .fa { color: #fff; }

/* DataTables pagination spacing */
.dataTables_paginate .paginate_button {
    margin: 0 .25rem !important;
    padding: .35rem .65rem;
}
.dataTables_paginate {
    width: 100%;
    margin: 5px;
}

/* Role-assignment bars — more compact */
.routeOptionsForm .row {
    padding: .35rem .75rem !important;
    min-height: 0 !important;
}
.dataTables_length {
    width: 40%;
    float: left;
    margin: 5px 0;
}
.dataTables_filter {
    width: 300px;
    float: right;
    margin: 0 5px 5px 0;
}

.btn-alert-success{
    color: var(--bs-success-text-emphasis) !important;
    background-color: var(--bs-success-bg-subtle) !important;
    border-color: var(--bs-success-border-subtle) !important;
    opacity: 1 !important;
}

.has-error .form-control,
.has-error .form-select {
    border-color: #dc3545;
}
.has-error .help-block {
    color: #dc3545;
    display: block;
    font-size: .875em;
    margin-top: .25rem;
}
.has-success .form-control,
.has-success .form-select {
    border-color: #198754;
}