/* Import fonts from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Patua+One&family=Schoolbell&family=Poppins&display=swap');

/*** SUMMARY ***

0) Variables
1) Fonts, text en algemene zaken
2) Positionering, Size & Layout
3) Kleuren
4) Afbeeldingen
5) Responsive design
6) Animation

*** END SUMMARY ***/

/* 0) Variables */

:root {
    --tijdlijn-color: #004065;
    --header-background: linear-gradient(to top right, teal, #3488A5);
    --footer-background: #004065;
    --page-background: #f2fbff;
    --tijdlijn-gradient: linear-gradient(to right, rgb(110, 145, 250),rgb(39, 63, 136),rgb(110, 145, 250));
}

/* 1) Fonts, text en algemene zaken */

html, body {
    margin: 0;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 14px;
    width: 100%;
    min-height: 100%;
    background: var(--page-background);
    text-rendering: optimizeLegibility;
    /*scroll-behavior: smooth;*/
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Patua One', sans-serif;
}

/* Mooie links */
a {
    color: royalblue;
    text-decoration: none;
}

footer a {
    color: white !important;
}

.vak a, header#top a {
    color: inherit;
    font-weight: bolder;
}

.vak a:hover, header#top a:hover {
    text-decoration: underline;
}

.filmlink:before {
    content: "▶️ ";
}

/* Font voor jaartal */
.jaartal {
    font-size: 20px;
    font-weight: bolder;
    margin-bottom: 5px;
}

/* Box shadow voor de items
op de tijdlijn */
/* .grid {
    box-shadow: 2px 2px 6px 3px rgba(0, 0, 0, 0.2);
} */

/* 2) Positionering, Size & Layout */

html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}

.wrapper {
    overflow-x: hidden;
}

/* 2.1) Tijdlijn */

.slide {
    display: none;
}

.slideshow-container {
    cursor: pointer;
}

.tijdlijn, .pageheader-inner, .menubar-inner, .lesstof {
    position: relative;
    max-width: 1300px; /* 1600 */
    margin: 0 auto;
}
.tijdlijn::after {
    content: '';
    position: absolute;
    width: 15px; /* 25 */
    background: var(--tijdlijn-color);
    top: 0;
    bottom: 0;
    left: 26px; /* 21 */
}

.lesstof {
    /* margin-top: 30px; */
    padding: 30px;
}

.event::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    left: 21.5px;
    background-color: var(--tijdlijn-color);
    border: 4px solid #FF9F55;
    top: 30px;
    border-radius: 50%;
    z-index: 1;
}

.tijdlijn2 li::before {
    content: attr(data-date);
    padding-right: 30px;
    font-family: monospace;
}

/* Items op de tijdlijn */
.vak {
    padding: 10px 40px;
    position: relative;
    padding-left: 70px;
    padding-right: 25px;
}
.vak article, .pageheader {
    padding: 50px;
}
.vak::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    left: 21.5px;
    background-color: var(--tijdlijn-color);
    border: 4px solid #F6B241;
    top: 30px;
    border-radius: 50%;
    z-index: 1;
}

/* Tekst naast het jaartal
om aan te geven of het over alleen Maassluis
of over heel Nederland gaat. */

/* .landelijk .jaartal::after {
    content: "Nederland";
    font-size: 12px;
    font-weight: normal;
    padding-left: 20px;
}

.plaatselijk .jaartal::after {
    content: "Maassluis";
    font-size: 12px;
    font-weight: normal;
    padding-left: 20px;
} */

/* Ruimte tussen tekstvak
en plaatjes */
.grid {
    gap: 10px;
}

/* Afgeronde randjes */
.vak-img, .vak article, .vak-img img {
    border-radius: 10px;
}

/* Marge tussen het laatste item op de
tijdlijn en de footer */
.vak:last-child .grid {
    margin-bottom: 50px;
}

/* Schaal en plaats de plaatjes */

.vak-img, .vak-img img {
    max-width: 100%;
    grid-row: 1;
}

.vak article {
    grid-row: 1;
}

.left .vak-img {
    grid-column: 1;
}
.right .vak-img {
    grid-column: 4;
}

.left article {
    grid-column-start: 2;
    grid-column-end: 5;
}

.right article {
    grid-column-start: 1;
    grid-column-end: 4;
}

/* Zoom effect voor vakken */
/* .grid {
    transition: transform .2s;
}
.grid:hover {
    transform: scale(1.01);
} */

/* 2.1.2) Tijdlijn voor overview menu */
/* The actual timeline (the vertical ruler) */
.tijdlijn2 {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 60px;
}

/* The actual timeline (the vertical ruler) */
.tijdlijn2::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: white;
    top: 0;
    bottom: 0;
    left: 31px;
    margin-left: -3px;
}

.event {
    padding: 10px 40px;
    position: relative;
    background-color: inherit;
    list-style: none;
}

.event::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    left: -21px;
    background-color: white;
    border: 4px solid #FF9F55;
    top: 9px;
    border-radius: 50%;
    z-index: 1;
}

/* Menu bar */

.menu {
    /* float: right; */
    border: none;
    border-radius: 0;
    font-size: 20px;
    cursor: pointer;
    margin-right: 10px;
    background: #F6B241;
    color: var(--footer-background);
}

.menubar {
    padding: .5px 16px;
    background: var(--footer-background);
    color: white;
}

.menubar-inner span {
  margin-right: 10px;
}

.menubar-inner a {
  color: white;
  margin-left: 30px;
  font-size: 18px;
  font-family: sans-serif;
}

.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}

/* Add some top padding to the page content to prevent sudden quick movement (as the header gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
    padding-top: 75px;
}

/* 2.2) Post-its */

.post-it {
    background-color: #FFF2CC;
    color: black;
    font-family: 'Schoolbell', serif;
    font-size: 17px;
    font-weight: normal;
    text-decoration:none;
    position: absolute;
    display:block;
    height: auto;
    width:16em;
    padding:1em;
    margin:1em;
    box-shadow: 5px 5px 7px rgba(33,33,33,.7);
}

/* Zoom effect voor post-its */
.post-it:hover {
    box-shadow:10px 10px 7px rgba(0,0,0,.7);
    transform: scale(1.25) !important;
    z-index:5;
}

/* Schaal de plaatjes en plaats ze rechts */
.post-it img{
    width: 45%;
    float: right;
}

/* 2.3) Header en footer */
.pageheader {
    width: 100%;
    background: var(--header-background); /* rgb(255, 51, 0) */
    color: white;
}
.pagefooter {
    width: 100%;
    text-align: center;
    padding: 20px;
    background: var(--footer-background);
    color: white;
}

/* 2.4) Overview menu & main content wrapper */

.wrapper {
    transition: margin-left .5s;
}

.overview {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    background: var(--header-background);
    color: white;
    overflow-x: hidden;
    padding-top: 60px;
    transition: 0.5s;
}

.overview a {
    color: white;
}

.overview-inner {
    max-width: 1200px;
    margin: 0 auto;
    max-height: 100%;
    overflow: auto;
}

.overview .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

/* 2.5) De bestandenlijst (docentenportaal) */

.bestanden {
    margin: 0;
    margin-top: 15px;
    padding: 0;
    list-style: none;
    list-style-position: inside;
}

.bestanden li {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 20px;
    padding-left: 0;
}

.bestanden a {
    padding: 10px;
    border: 2px solid var(--tijdlijn-color);
    background-color: rgb(241, 241, 241);
    color: var(--tijdlijn-color);
    text-decoration: none;
    transition: transform .2s;
    transition: background-color .2s;
    transition: color .2s;
}

.bestand:hover {
    /* transform: scale(1.05); 
    z-index:2; */

    background-color: var(--tijdlijn-color);
    color: white;
}

/* 3) Kleuren */

/* Maak jaartallen voor landelijke
items oranje */
/* .landelijk .jaartal {
    color: #F6A704;
} */

/* Maak jaartallen voor plaatselijke
items blauw */
/* .plaatselijk .jaartal {
    color: #004065;
} */

.jaartal {
    color: #004065;
}

/* 3.1) Kleuren voor items gebaseerd op onderwerp */

.straatverlichting article,
.electriciteit article {
    background-color: #ffe599;
    color: #a16c00;
}

.post article,
.telegraaf article,
.telefoon article,
.gsm article,
.kabelnetwerk article,
.internet article {
    background-color: #f7caac;
    color: #c00000;
}


.gas article {
    background: #D9E2F3;
    color:#265abb;
}

.water article {
    background-color: #EDEDED;
    color:#607D8B;
}

.afvalwater article {
    background-color: #C9C9C9;
    color: #3a2b20;
}

.radio article,
.televisie article {
    background-color: #C5E0B3;
    color:#004D33;
}

.robots article {
    background: url(../images/ui/robot-background.jpg);
    color: white;
    font-weight: bolder;
}

/* 4) Afbeeldingen */

.pijltje {
    left: 37%;
    bottom: -7%;
    position: absolute;
    max-width: 10%;
    transform: rotate(11deg);
}

.icon {
    height: 27px;
}

.logos-wrapper {
    text-align: center;
}

.logo {
    display: inline;
    margin: 20px;
    max-width: 30%;
}

/* 5) Responsive design */

@media screen and (min-width: 900px) {

    /* Automatisch schalenden plaatjes en tekst */
    .grid {
        display: grid;
        grid-template-columns: 25% 25% 25% 25%;
    }

    /* Wapens links van tijdbalk */
    .vak.landelijk::before {
        content: "";
        /* content: "Nederland"; */
        background: url('../images/wapen-nederland2.png');
        background-size: cover;
        width: 70px; /* 45 - 90 */
        height: 55px; /* 50 - 100 */
        display: block;
        position: absolute;
        left: -5.6%;
        top: 65px;
        text-align: center;
        color: var(--footer-background);
    }

    .vak.plaatselijk::before {
        content: "";
        /* content: "Maassluis"; */
        background: url('../images/wapen-maassluis.png');
        background-size: cover;
        width: 45px; /* 45 - 90 */
        height: 67px; /* 67 - 135 */
        display: block;
        position: absolute;
        left: -5%;
        top: 65px;
        text-align: center;
        color: var(--footer-background);
    }

}

@media screen and (max-width: 900px) {

    /* Kleiner marge op pageheader */
    .pageheader {
        padding: 30px;
    }

    /* Vakken en plaatjes volledige breedte */
    .vak article, .vak-img {
        width: 100%;
    }

    /* Margin tussen de plaatjes
    en tekstvakken */
    .vak-img {
        padding-top: 10px;
    }

}

@media screen and (max-width: 1300px) {
    .overview h1 {
        margin-left: 15px;
    }
}

@media screen and (max-width: 550px) {

    .pijltje {
        display: none;
    }

    .post-it {
        display: none;
    }

}

@media screen and (max-height: 450px) {
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
}

.pageheader {
    padding-top: 55px;
}


/* 6) Animation */

.fade {
    -webkit-animation-name: fade;
    -webkit-animation-duration: 1.5s;
    animation-name: fade;
    animation-duration: 1.5s;
}

@-webkit-keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

@-webkit-keyframes roll {
    from { -webkit-transform: rotate(0deg) }
    to   { -webkit-transform: rotate(360deg) }
}

@-moz-keyframes roll {
    from { -moz-transform: rotate(0deg) }
    to   { -moz-transform: rotate(360deg) }
}

@keyframes roll {
    from { transform: rotate(0deg) }
    to   { transform: rotate(360deg) }
}

/* Hack for fixing unresponsive post-its below other transparent elements */
.vak {
    pointer-events:none;        
}
.vak * {
    pointer-events:auto;
}
