



.box-blue {
    background: #233675;
    display: inline;
    position: absolute;
    z-index:10;
    object-fit: cover;
    display: inline-block;
}
.box-gray {
    background:#d8e1e6;
    display: inline;
    position: absolute;
    z-index:10;
    object-fit: cover;
    display: inline-block;
}

.box-red {
    background:#A5122F;
    display: inline;
    position: absolute;
    z-index:1;
    object-fit: cover;
    display: inline-block;
}

.box-green {
    background: #73a533; 
    display: inline;
    position: absolute;
    z-index:10;
    object-fit: cover;
    display: inline-block;
}
.box-blue {
    background: #305da5; 
    display: inline;
    position: absolute;
    z-index:10;
    object-fit: cover;
    display: inline-block;
}

.box-darkgray{
    background:#73777c;
    display: inline;
    position: absolute;
    z-index:10;
    object-fit: cover;
    display: inline-block;
}

.box-blue img,
.box-gray img,
.box-red img,
.box-darkgray img {  
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    width: 100%;
    position: relative;
    display: block;
}







.van-leeuwen-in-jaar .box-gray  {  width:    25%;    height: 165px;     right: -25%;     top:0vh;    }
.bericht-over-jaar .box-gray    {  width:    25%;    height: 165px;     right: -25%;     top:0vh;    }
.medewerkers .box-gray          {  width:    25%;    height: 165px;     right: -25%;     top:0vh;    }
.verhalen .box-gray             {  width:    25%;    height: 165px;     right: -25%;     top:0vh;    }
.verhalen .box-gray             {  width:    25%;    height: 165px;     right: -25%;     top:0vh;    }


.verhaal-1 .box-gray, 
.verhaal-2 .box-gray, 
.verhaal-3 .box-gray, 
.verhaal-4 .box-gray, 
.verhaal-5 .box-gray, 
.verhaal-6 .box-gray, 
.verhaal-7 .box-gray, 
.verhaal-8 .box-gray
{  width:    25%;      right: -25%;     top:0vh;    }




@media (max-width:  1080px) {

.kengetallen .box-gray          {  width:    25%;      right: -25%;    top:70px;   }
.van-leeuwen-in-jaar .box-gray  {  width:    25%;        right: -25%;    top:70px;   }


}

.voorwoord .box-gray,
.kengetallen .box-gray        {  
    background-size: cover;
    background-image:url('./../images/voorwoord/van-leeuwen-flags-voorwoord.jpg');
    background-position: center;
  }





.box-red                    {   width:  100%;  height: 165px;   left: 0%;   top:0;    }
.box-gray                   {   width:  25%;  height: 165px;    left: 125%;   top:0;    }
.box-darkgray               {   width:  0%;  height: 165px;    left: 125%;   top:0;    }



.voorwoord .box-red         {   width:  75%;    height: 165px;   left: 0%;   top:0;   }
.voorwoord .box-gray        {   width:  25%;    height: 165px;   left: 75%;   top:0;   }

.kengetallen .box-red       {   width:  100%;   height: 165px;   left: 0%;    top:0;   }
.kengetallen .box-gray      {   width:  25%;    height: 165px;   left: 125%;   top:0;   }



.van-leeuwen-in-2024-4 .box-gray    {   width:  100%;    height: 300px;   left: 100%;   top:165px;  z-index: -1;  }
.marktsegmenten .box-gray           {   width:  100%;    height: 300px;   left: 00%;   top:165px;  z-index: -1;  }
.medewerkers-01 .box-gray           {   width:  100%;    height: 300px;   left: 100%;   top:165px; z-index: -1;  }


.voorwoord .box-darkgray    {   width:  100%;    height: 100vh;   left: -100%;   top:0;      z-index: -1; }
.kengetallen .box-darkgray    {   width:  100%;    height: 100vh;   left: 0%;   top:0;      z-index: -1; }
.van-leeuwen-in-2024-1 .box-darkgray    {   width:  100%;    height: 100vh;   left: 100%;   top:0;      z-index: -1; }




.verhaal-8 .box-green    {   width:  100%;  height: 165px;   left: 100%;   top:0;   }

.duurzaamheid .box-red     {   width:  100%;  height: 165px;   left: -100%;   top:0;   }
.duurzaamheid .box-green    {   width:  100%;  height: 165px;   left: 0;   top:0;   }
.duurzaamheid .box-blue    {   width:  100%;  height: 165px;   left: 100%;   top:0;   z-index:20;  }

.education-foundation .box-green    {   width:  100%;  height: 165px;   left: -100%;   top:0;    }
.education-foundation .box-blue     {   width:  100%;  height: 165px;   left: 0;   top:0;    }
.education-foundation .box-red      {   width:  100%;  height: 165px;   left: 100%;   top:0;    }

.human-resources .box-blue     {   width:  100%;  height: 165px;   left: -100%;   top:0;    }
.human-resources .box-red      {   width:  100%;  height: 165px;   left: 0;   top:0;    }




@media (max-width:  1080px) {

    .box-red                            {  top:60px; }
    .kengetallen .box-red               {  top:60px; }
    .voorwoord .box-red                 {   top:60px;   }
    .voorwoord .box-gray                {    top:60px;   }

    .verhaal-8 .box-green               {   top:60px;  }

    .duurzaamheid .box-red              {  top:60px;  }
    .duurzaamheid .box-green            {   top:60px; }
    .duurzaamheid .box-blue             {  top:60px; }

    .education-foundation .box-green    {  top:60px;   }
    .education-foundation .box-blue     {  top:60px;    }
    .education-foundation .box-red      {  top:60px;  }

    .human-resources .box-blue          {   top:60px;    }
    .human-resources .box-red           {  top:60px;    }


}


/* PRELOADER */

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* Optioneel: voeg een fade-out animatie toe */
.fade-out {
    opacity: 0;
    transition: opacity 0.5s ease-out;
    pointer-events: none;
}



/*  green boxes */
/*
#duurzaamheid  .box-blue        { width: 80%;     height: 300px;       left:     0;      top:50vh;   }
#duurzaamheid  .box-gray        { width:   50%;     height: 50vh;       right: -50%;      top:0vh;    }
#duurzaamheid  .box-red         { width: 20%;     height: 50vh;       right:     0;      top:0vh;   }


#bericht .box-blue        { width: 80%;     height: 300px;       left:     0;      top:-300px;   }
#bericht .box-gray        { width:   50%;     height: 50vh;       right: -50%;      top:0vh;    }
#bericht .box-red         { width:   20%;     height: 50vh;       right:     0;      top:-50vh;   }
/*
#feiten-op-een-rij  .box-blue        { width: 80%;     height: 300px;       left:     0;      top:-300px;   }
#feiten-op-een-rij  .box-gray        { width:   50%;     height: 50vh;       right: -50%;      top:0vh;    }
#feiten-op-een-rij  .box-red         { width:   20%;     height: 50vh;       right:     0;      top:-50vh;   }

#duurzaamheid  .box-blue        { background-color: #00b26a;  }
#duurzaamheid  .box-gray        {   }
#duurzaamheid  .box-red         { background-color: #73a533;  }

#bericht  .box-blue        { background-color: #00b26a;  }
#bericht  .box-gray        {   }
#bericht  .box-red         { background-color: #73a533;  }


*/


.reveal-viewport { background: rgba(216, 225, 230, 0); }

.reveal img, .reveal video, .reveal iframe {
    max-width: 100%;
    max-height: 100%;

}

.reveal {
    max-width:1570px; 
    width:100%; 
    margin :0 auto;
}

section .wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100dvh;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    touch-action: pan-y;
    background-color:none;
    background:none;
}
/*
 section .wrapper {
        top: 0px;
        bottom: 0;
        right: 0;
        width:100%;
        height: 100vh;
        position: absolute;
        display: block;
        overflow-x: hidden;
        overflow-y: auto;
        background:#fff;
        touch-action: pan-y; 
        padding-bottom: 150px;
}
*/
/*
@media (max-width: 1080px) { 

    section .wrapper {
        width:100%;
        position: relative;
    }
    
}
*/
.content-wrapper {
    padding: 0px 50px 0px 50px;
    /* max-width: 1080px; */
    width: calc(100% - 300px);
    left: 300px;
    position: relative;
    box-sizing: border-box;
    z-index: 20;
    position: relative;
}
.content-wrapper {
    z-index:50 !important;
}

/*
.content-wrapper.top-distance {  
    padding-top:calc(25vh - 100px);
}

.content-wrapper.top-distance h2 {  
    padding-bottom:100px;
}

@media (max-width: 768px) {
.content-wrapper.top-distance h2 {  
    padding-bottom:0px;
}
}
*/
@media (max-width: 1080px) {
    .content-wrapper {
        width: 100%;
        padding: 0 15px;
        left: 0px;
    }
}

@media (max-width: 768px) {
    .content-wrapper {

    }
}


@media (max-width:  500px) {
    .content-wrapper.with-top-bar  { 
        padding-top:160px; 
    }
}


@media (max-width:  450px) {
    .content-wrapper.with-top-bar  { 
        padding-top:140px; 
    }
}


section .content-wrapper:last-child {
   padding-bottom: 150px;  box-sizing: border-box;
}



.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {

    font-family: "Montserrat", serif;
    font-style: normal;
    color:#6E767C;
    text-transform: none;
    line-height:1.3;
    text-align:left;
}

.reveal h2 {
    display: flex;
    align-content: flex-end;
    justify-content: flex-start;
    height: 139px;
    flex-direction: row;
    align-items: flex-end;
}

.reveal h3.title.xxl {
    font-size: 35px;
    padding: 5px 0 5px 0;
    color: #fff;
    font-weight: 400;
     color:#6E767C;
}
.reveal h3.title.xl {
    font-size: 30px;
    padding: 5px 0 21px 0;
    color: #fff;
    font-weight: 400;
     color:#6E767C;
}

.reveal h2 {
    font-size: 35px;
    padding: 5px 0 21px 0;
    color: #fff;
    font-weight: 400;
    position: relative;
    z-index: 50;
    padding-left: 50px;
}
.reveal h2 a{
text-decoration:none;
color:#fff;
}

.reveal h2 img {
height:30px;
padding:0;
margin:0 10px 0 0;
position:relative;
top:4px;
}


.reveal h3 {  font-size:22px; padding:15px 0 15px 0;  color:#A5122F; font-weight: 600; }
.reveal h4 {  font-size:20px; padding:10px 0  2px 0;  color:#233675; font-weight: 600; }

.reveal h6 {  font-size:23px; padding:10px 0  5px 0;  color:#6E767C; font-weight: 400;}



@media (max-width: 1080px) { 

    .reveal h2 {
            height: 199px;
            padding-left:15px;
                font-size: 25px;
    }

} /* @media */  




.reveal .intro { 
    margin:0; 
    font-size:21px; 
    color:#6E767C;  
    font-family: "Montserrat", serif; 
    line-height:1.5;
    font-weight:400; 
        letter-spacing: -0.1px; 

}
.reveal .quote{
    font-size:24px; x
    padding: 5px 0 5px 0; 
    font-weight: 500; color:#fff;
    font-family: "Montserrat", serif; 
}

.reveal h5 {
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size:18px; 
    color:#000;
    letter-spacing: 0.5px; 
    padding-top:18px;
    color:#6E767C; 
    padding-bottom:2px;

}

.reveal p {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:18px; 
    color:#555;
    letter-spacing: 0.5px; 
    line-height: 1.3;
}

.reveal .wrapper li {
    font-family: "Lato", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size:18px; 
    color:#555;
    letter-spacing: 0.5px; 
    line-height: 1.3;
}

.reveal .wrapper ul.white li {
color :white;
}



.reveal p.paragraph{
    margin:0 0 0 0;
        line-height:1.5;


}


.reveal table{
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:15px; 
    color:#000;
    letter-spacing: 0.8px;

}




.font-gray, a.font-gray, p.font-gray { color:#6E767C; }
.font-red, a.font-red, p.font-red { color:#B30838; }
.font-blue, a.font-blue, p.font-blue { color:#233675; }
.font-white, a.font-white, p.font-white { color:#FFF; }


.font-600, a.font-600, p.font-600{ font-weight:600; }




a.button {
    display:inline-block;
    background:#A5122F;
    margin-top:20px;
    color:#fff;
    padding:15px 20px;
    font-family: "Montserrat", serif;
    font-style: normal;
    text-decoration: none;
    line-height:1.3;
    text-align:left;
    width:275px;
    box-sizing: border-box;

}

a.button img {
    float:right; 
    height:20px; 
    width:20px; 
    min-height:20px; 
    min-width:20px; 
    max-height:20px; 
    max-width:20px; 
}




/*  lay-outs "kolommen" */



.flexbox { 
    display: flex;
    flex-direction: row;
    font-family: "Montserrat", serif; 
    line-height:1.5;
    font-weight:400; 
    flex-wrap: wrap;
}
.flexbox .img img { 
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    width: 100%;
    height:auto; 
    display: block;
}

.flexbox .col {   display:block; box-sizing: border-box;}
.flexbox .col.img {   padding:0px;}
.flexbox .col img {   display:block; width:100%; height:auto; }

.flexbox .col-0    {   width:0%; }
.flexbox .col-25   {   width:25%; }
.flexbox .col-33   {   width:33%; }
.flexbox .col-34   {   width:34%; }
.flexbox .col-50   {   width:50%; }
.flexbox .col-67   {   width:67%; }
.flexbox .col-66   {   width:66%; }
.flexbox .col-75   {   width:75%; }
.flexbox .col-100  {   width:100%; }



.flexbox .col.txt  { padding:50px;  }

.flexbox .col.txt.blue          { background-color:#233675;  color:#fff;    }
.flexbox .col.txt.gray          { background-color:#73777c;  color:#fff;    }
.flexbox .col.txt.lightgray     { background-color:#D8E1E6;                 }
.flexbox .col.txt.darkgray      { background:#73777c;                       }
.flexbox .col.txt.red           { background-color:#A5122F;  color:#fff;    }
.flexbox .col.txt.white         { background-color:#fff;  color:auto;       }

.market-items {
    width: 50%;
}

.market-items .txt {
    padding: 50px;
}

@media (max-width: 768px) { 
    .market-items {
        width: 100%;
    }
}

@media (min-width: 1800px) { 
    .market-items {
        width: 25%;
    }
}

@media (max-width: 768px) { 

    .flexbox {    flex-direction: column; }
    .flexbox.reverse-768    {  flex-direction: column-reverse; }
    .flexbox.column-768     {  flex-direction: column; }
    .flexbox .col-25,
    .flexbox .col-66,
    .flexbox .col-34,
    .flexbox .col-33,
    .flexbox .col-50,
    .flexbox .col-67,
    .flexbox .col-75,
    .flexbox .col-100
    { 
        width:100%; padding:0px;
    }

    .flexbox .col.txt      { padding:15px;  }
    .flexbox .col.white    { padding:18px 0;    }


} /* @media */  









/*  Kleine tabels zoals in Mederwerkers en van Leeuwen in 2024 */


.flexboxtable {
    position: relative;
    z-index:5;
    width: 50%;
    max-width:400px;
}

.flexboxtable .fbt-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    padding:8px 0;
}


.flexboxtable .fbt-header p,
.flexboxtable .fbt-header h5
 {
    font-size:17px; 
    font-weight:600;
    padding:20px 0;
    margin:15px 0;
    border-bottom:0px solid #A5122F;
}


.flexboxtable .fbt-row p {
    width: 100%;
    display:inline-block;
    font-size:15px; 
    font-weight:400;

}

.flexboxtable .fbt-row .col-2 p,
.flexboxtable .fbt-row .col-2 h5
{
    width: 50% !important;
}

.flexboxtable .fbt-row .col-3
{
    width: 33% !important;
}

@media (max-width: 768px) {
    .flexboxtable{
        position: relative;
        z-index:5;
        width: 100%;
        max-width: 100%;
    }
}



.flexboxtable .fbt-header p a {
    font-size:17px; 
    font-weight:600;
    width: 100%;
    font-family: "Montserrat", serif; 
    display:block;
    text-decoration: none;
    color:#555;
    display: flex;
    justify-content: space-between;
}

.flexboxtable .fbt-header p a::after {
    content: "+";
}
/*
.van-leeuwen-in-jaar-3.present .flexboxtable .fbt-header p a::after {
    content: "-";
}
*/


/* tables die "omvouwen" */


table {
  border: 0px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table caption {
  margin: .5em 0 .75em;
  text-align: left;
}

table tr {
/*  background-color: #f8f8f8; */
  border-bottom: 0px solid #ddd;
  padding: .35em;
}

table th,
table td {
  padding: .625em;
  text-align: left;
}

table th {
}

table tr.total {
    border-top:  2px solid #aaa;
    background-color: #f8f8f8;
}



@media screen and (max-width: 768px) {
  table {
    border: 0;
  }

  table caption {
      text-align: left;

  }
  
  table thead {
  /*  border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; */
  }
  
  table tr {
    border-bottom: 1px solid #ddd;
    display: block;
    /* margin-bottom: .625em; */
  }
  
  table td {
    border-bottom: 0px solid #ddd;
    display: block;
    text-align: right;
  }
  
  table td::before {
    /*
    * aria-label has no advantage, it won't be read inside a table
    content: attr(aria-label);
    */
    content: attr(data-label);
    float: left;

  }
  
  table td:last-child {
    border-bottom: 0;
  }

  table tr.total {
    border-top:  2px solid #aaa;
      background-color: #eee;
  }

}

@media screen and (min-width: 768px) {
    .hide-on-desktop { display:none; }
}


@media screen and (max-width: 768px) {
    .hide-on-mobile { display:none; }
}





/*  
------------------------- 
Accordion
-------------------------  
*/



.accordion-wrapper { padding:10px 0px 10px 0px; }  



h4.accordion {
  
  cursor: pointer;
  padding: 20px 18px 18px 0px;
  width: 100%;
  border-bottom: none;
  text-align: left;
  outline: none;
  transition: 0.4s;
  margin: 0 0 1px 0;
}


.active-accordion, .accordion:hover {
/*  background-color: #ccc; */
}

.accordion:after {
    content: '\002B';
    font-weight: 300;
    /* float: right; */
    margin-left: 15px;
    font-size: 40px;
    /* top: -18px; */
    position: absolute;
    right: 60px;
    margin-top: -5px;
}

.active-accordion:after {
  content: "\2212";
}

.panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  border-bottom: 1px solid #233675;
}


}

.panel p {
   padding: 0 18px 10px 0px;
}





/* ------------------------------ */



.hor-gal-rows {
  width:100%;
 position:relative; 
 display: flex;
    justify-content: flex-start;
}  
.hor-gal-rows.toprow {  
    align-items: flex-end; 
}  
.hor-gal-rows.bottomrow {  
    align-items: flex-start; 
}  

.hor-gal-rows .hor-gal-img-wrapper { 
    height:auto; 
    display:block;  
    display:flex; 
    justify-content: center; 
    position: relative;
}  

.hor-gal-rows .hor-gal-img-wrapper img{ 
    max-height: 250px !important
}  

.hor-gal-rows.toprow .hor-gal-img-wrapper {    
    display: flex; 
    align-items: flex-end;
}

.hor-gal-rows.bottomrow .hor-gal-img-wrapper {    
    display: flex; 
    align-items: flex-end;
}

.hor-gal-img-wrapper a {
 /*   padding:1px;    */
    box-sizing: border-box;
    transition: transform 500ms ease, filter 500ms ease, opacity 500ms ease; 
}

.hor-gal-img-wrapper img {
    filter: grayscale(1);
    opacity: 0.4;
    width: 150px;
    transition: transform 500ms ease, filter 500ms ease, opacity 500ms ease; 
    display: block; 
   /* box-shadow: inset 0 0 0 2px #ff0000; */
}

.hor-gal-img-wrapper img:hover {
    filter: grayscale(0) !important;
    opacity:1 !important;
   /* width: 200px !important; */
    transition: all 500ms ease !important; 
}
/* ------------------------------ */



.placeholder-text {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    position:absolute;
    height:0px;
    padding:20px;
    font-family: "Montserrat", serif;
    color:#fff;
}



/* ------------------------------ */



/*  Full screen  */
@media (min-width: 1080px) { 

            .reveal { max-width:100%; }
            .navigation { width: 350px; }
            .header { width: 350px; }

            section .wrapper {
                width: calc(100% - 350px);
                left: 350px;
                right: 0;
                    box-sizing: border-box;
            }
            .content-wrapper {
                width: 100%;
                left:0px;
            }
            .header .title h1 a {
                padding-left: 30px;
            }

} 






/*  Not full screen  
@media (min-width: 1080px) { 

            .navigation { width: 350px; }
            .header { width: 350px; }

            section .wrapper {
                width: calc(100% - 350px);
                left: 350px;
                right: 0;
                box-sizing: border-box;
            }
            .content-wrapper {
                width: 100%;
                left:0px;
            }
            .header .title h1 a {
                padding-left: 30px;
            }

} 

*/

