html{
  scroll-behavior: smooth;
  font-family: sans-serif;
}

body{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}

body.rooster{
  overflow-x: auto;
}

.mainHeader{
  width: calc(100% - 6em);
  /* background-image: url(bg.jpg), linear-gradient(#fff, white); */
  background-color: #ffcc03;
  background-size: cover;
  background-position: center;
  top: 0;
  padding: 3em;
  text-align: center;
}

.mainHeader h1{
  font-size: 2.5em;
  font-family: sans-serif;
}

..mainHeader-text{
  color: #15162e;
  padding: 2em;
}

a{
  text-decoration: none
}


a:focus{
  outline: 0;
}

.buttons{
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
}

.buttonBlue{
  margin: 0.5em;
  font-size: 1em;
  padding: 1em;
  border: none;
  background-color: #15162e;
  color: #ffcc03;
  border: solid 4px #15162e;
  transition: all 0.3s;
  background: linear-gradient(to right, #ffcc03 50%,  #15162e 50%);
  background-size: 200% 100%;
  background-position:right bottom;
}

.buttonBlue:focus, .buttonBlue:hover{
  background-color: #ffcc03;
  color: #15162e;
  transform: scale(1.2);
  transition: all 0.3s ease-in-out;
  background-position: left bottom;
}

.buttonYellow{
  margin: 0.5em;
  font-size: 1em;
  padding: 1em;
  border: none;
  background-color: #ffcc03;
  color: #15162e;
  border: solid 4px #15162e;
  transition: all 0.3s;
  background: linear-gradient(to right,  #15162e 50%,  #ffcc03 50%);
  background-size: 200% 100%;
  background-position:right top;
}

.buttonYellow:focus, .buttonYellow:hover{
  background-color: #15162e;
  color: #ffcc03;
  transform: scale(1.2);
  transition: all 0.3s;
  background-position: left bottom;
}

main h2{
  position: absolute;
  font-family: sans-serif;
  color: #15162e;
  margin-top: -0.85em;
  margin-left: 1em;
}

.vakken {
  background-color: #15162e;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 100%;
  padding: 2em 0;
}

.vakken a, footer a{
  margin: 1em;
}

.css{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #ffcc03;
  height: 10em;
  width: 10em;
  text-align: center;
  color: #15162e;
  animation: beat 6s infinite;
}

.css p{
  width: 100%;
  font-family: sans-serif;
  font-size: 2em;
  font-weight: bold;
}

/* .les:focus .css, .les:hover .css{
  width: calc(10em - 20px);
  height: calc(10em - 20px);
  border: 10px solid #ffcc03;
  background-color: #15162e;
  color: #ffcc03;
  transition: all 0.3s ease-in-out;
} */

@keyframes beat{
  0%, 100%{
    border: 10px solid #ffcc03;
    background-color: #15162e;
    color: #ffcc03;
  }
  50% {
    border: 10px solid #ffcc03;
    background-color: #ffcc03;
    color: #15162e;
  }
}

/* .les:focus .css, .les:hover .css{
  width: calc(10em - 20px);
  height: calc(10em - 20px);
  border: 10px solid #ffcc03;
  background-color: #15162e;
  color: #ffcc03;
  transition: all 0.3s ease-in-out;
}

.les:focus .project, .les:hover .project{
  width: calc(10em - 20px);
  height: calc(10em - 20px);
  border: 10px solid #15162e;
  background-color: #ffcc03;
  color: #15162e;
  transition: all 0.3s ease-in-out;
} */

footer h2{
  position: absolute;
  font-family: sans-serif;
  color: #ffcc03;
  margin-top: -0.85em;
  margin-left: 1.1em;
}

.projecten {
  background-color: #ffcc03;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 100%;
  padding: 2em 0 ;
}

.project{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #15162e;
  height: 10em;
  width: 10em;
  text-align: center;
  color: #ffcc03;
}

.project p{
  width: 100%;
  font-family: sans-serif;
  font-size: 2em;
  font-weight: bold;
}

/* Andere pagina's  */

.pageHeader{
  display: flex;
  justify-content: space-between;
  text-align: center;
  background-color: #15162e;
  z-index: 3;
}

.pageHeaderFixed{
  position: fixed;
  width: 100%;
  padding: 0;
}

.pageHeader h1{
  color: #ffcc03;
  font-family: sans-serif;
}

.pageHeader img{
  height: 2em;
  width: 2em;
  transform: rotate(0deg);
  transition: all 0.3s ease-in-out
}

.pageHeader a, .pageHeader label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 2em;
}

@keyframes rotateInfinate {
  0%   { transform: rotate(0deg) }
  100% { transform: rotate(360deg) }
}

@keyframes terug {
  0%   { transform: rotate(0deg) }
  25% { transform: rotate(-25deg) }
  75% { transform: rotate(25deg) }
  100% { transform: rotate(0deg) }
}

.terugKnop:focus, .terugKnop:hover{
  outline: 0;
  animation: terug 1s infinite;
}

.pageHeader input{
  position: fixed;
  opacity: 0;
}

/* .pageHeader input[type="checkbox"]:focus-within ~ label img{
  animation: rotateInfinate 2s infinite;
} */


.pageHeader input[type="checkbox"]:focus ~ label img{
  animation: rotateInfinate 2s infinite;
}


.pageHeader input:checked ~ label img{
    transform: rotate(180deg);
    transition: all 0.3s ease-in-out
}

.pageMain{
  background-color: #ffcc03;
}

.pageMain p {
  margin: 0;
  padding: 2em;
}

h3 {
  margin: 0;
  padding: 2em 0 0 2rem;
  color: #15162e
}

.pageMain .images{
  width: calc(100% - 4em;);
  height: 14em;
  display: flex;
  justify-content: space-between;
  margin: 0 2em;
}

.pageMain .eenImg{
  justify-content: space-around;
}

.pageMain img{
  height: 10em;
  padding: 1em;
  background-color: white;
  border: solid 5px #15162e
}

aside{
  display: none;
  color: white;
  right: calc(-10em - 5px);
  height: 100vh;
  width: 100vw;
  position: fixed;
  background-color: #15162e;
  top: 5em;
  border-left: solid 5px #ffcc03;
  transition: all 0.3s ease-in-out;
}

aside a{
  color: #ffcc03;
  padding: 0.5em;
}

aside li{
  list-style: none;
  text-align: left;
  margin: 0 0 1em 0;
}

aside a:focus{
  animation: bigSmall 1s infinite;
  outline: solid 1px #ffcc03;
  transition: all 0.3s ease-in-out;
}

.pageHeader input:checked ~ aside{
  display: block;
  right: 0;
  transition: all 0.3s ease-in-out;
}

.maininfo:first-of-type{
  padding: 10em 0 5em 0
}

.maininfo:first-of-type .maintext{
  width: 60%;
  margin: 0 20%;
}

.maininfo{
  background-color: white;
  padding: 5em 0;
}

.maininfo:last-of-type{
  padding: 5em 0 10em 0
}


.maininfo h1{
  font-size: 5em;
  padding: 0;
  margin: 0 0 0 20%;
  opacity: .1;
}

.maintext p {
  font-size: 1.2rem;
  padding: 0 1em 0 0;
  line-height: 1.7
}

.textje p{
  margin: 1em 0;
}

.appelsap{
  margin: 0!important
}

.maininfo:nth-of-type(3) .maintext p, .maininfo:nth-of-type(5) .maintext p {
  font-size: 1.2rem;
  padding: 0 0 0 1em;
}

div.container{
  display: flex;
    width: 60%;
    margin: 0 20%;
    justify-content: space-between;
}

.no-padding{
  padding: 0!important;
  height: 25em;
  background-color: white!important;
}

.vak > p{text-align: center;
    font-size: 0.9em;}

.onder-elkaar{
  flex-direction: column;
}

.container .buttonBlue{
  width: 100%!important;
  margin: 0.5em 0 0!important;
  animation: clickmeplease 2s infinite;
}

.container .buttonBlue:hover {
  animation: none;
  transform: scale(1.4)!important;
  transition: all 1s ease-in-out
}

@keyframes clickmeplease{
  0%,100%{transform: rotate(0deg);}
  10%{transform: scale(1.2)}
  15%{transform: rotate(10deg)}
  20%{transform: rotate(-10deg);}
  25%{transform: rotate(10deg)}
  30%{transform: rotate(-10deg);}
  35%{transform: rotate(10deg);}
  40%{transform: rotate(0deg);}
}

.snel{animation: slideShow 20s infinite!important}

.snel .slideShowItem{
  margin-top: 2em;
}

.snel p{
  background-color: #ffce02;
color: #16152e;
box-sizing: border-box;
padding: 1em;
margin: -0.3em 35%;
width: 30%;
}

.homepagebtn{
  width: 100%;
}

.homepagebtn a{
  text-align: center;
width: 10em;
display: block;
margin: -5em auto 5em;
}

.spreekwolk{
  width: 50%;
  margin: 3em 25%;
  display: block;
  background: #ffcc01;
  color: black;
  padding: 3em;
  border-radius: 7em;
}

.spreekwolk p:first-child{
  font-size: 1.2em;
    width: 90%;
    text-align: left;
    margin: 0 5%;
    line-height: 1.2;
}

.spreekwolk p:last-of-type{
  padding: 1em 0 0 0;
    width: 50%;
    font-style: italic;
    margin: 0 60%;
}

.spreekwolk .spreekwolkpunt{
  height: 5em!important;
  width: 3em!important;
  position: absolute;
  /* margin-bottom: 2em; */
  padding: 2em;
  /* bottom: 3em; */
  transform: rotate(270deg);
  border: none;
  margin-left: -14em;
}

.custombg{
  background-image: url(img/background.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.custombg2{
  background-image: url(img/background2.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

section .buttons {
  width: calc(100% - 2rem - 10px);
  margin: 0 calc(1rem + 5px);
  text-align: center;
}

section .buttons .buttonBlue:focus-within, section .buttons .buttonBlue:hover{
  transform: scale(1.1);
}

section{
  margin: 0;
  width: 100%;
  background-color: #ffcc03;
  padding: 2em 0;
}

article h3{
  padding: 0 0 2rem 2rem;
  color: #ffcc03;
}

.besteWerken {
  padding: 1em 0;
  background-color: #15162e;
}

.slideShow{
  width: 100%;
  position: absolute;
  background-color: #15162e;
  color: #ffcc03;
}

.slideShow ol {
  counter-reset: item;
  margin-left: 0;
  padding-left: 2em;
}
.slideShow li {
  display: block;
  margin-bottom: .5em;
  margin-left: 2em;
  width: 10em;
}

@keyframes bigSmall {
    0% {transform: scale(1.0);}
    50% {transform: scale(1.1)}
    100% {transform: scale(1.0)}
}

.slideShow li:focus-within, .slideShow li:hover {
  animation: bigSmall 1s infinite;
  transition: all 0.3s ease-in-out
}

.slideShow li::before {
  display: inline-block;
  content: "VB. " counter(item) ;
  counter-increment: item;
  width: 3em;
  margin-left: -2em;
}

.slideShow ol{
  padding-bottom: 2rem;
}

.slideShow a{
  text-decoration: none;
  color: #a7880b
}

.slideShowFotos{
  width: 500%;
  display: flex;
  justify-content: space-around;
  animation: slideShow 60s infinite;
}

.slideShowFotosTwee{
  width: 100%;
  display: flex;
  justify-content: space-around;
  animation: slideShowTwee 10s infinite;
}

.slideShowFotosTwee img{

}

@keyframes slideShowTwee {
    0% { transform: translateX(0); }
    250% { transform: translateX(-25); }
    50% { transform: translateX(-25%); }
    75% { transform: translateX(-80%); }
    100% { transform: translateX(-80%); }
}

@keyframes slideShow {
    0% { transform: translateX(0); }
    10% { transform: translateX(-20); }
    20% { transform: translateX(-20%); }
    30% { transform: translateX(-40%); }
    40% { transform: translateX(-40%); }
    50% { transform: translateX(-60%); }
    60% { transform: translateX(-60%); }
    70% { transform: translateX(-80%); }
    80% { transform: translateX(-80%); }
    90% { transform: translateX(0); }
    100% { transform: translateX(0); }
}

.slideShowItem{
  width: 100%;
  text-align: center;
  padding: 0 0 2em 0;
}

.slideShowItem img{
  height: 10em;
  border: solid 5px #ffcc03;
}


.basedOn a{
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.project p{
  padding: 0;
}

aside.hamburgerMenu{
  z-index: 9;
}

.tabel{
  padding: 5em 0;
}

table a{
  color: #15163e;
  text-decoration: none;
}

table a:focus{
  animation: bigSmall2 1s infinite;
  outline: solid 2px #ffcc03;
  transition: all 0.3s ease-in-out;
}

@keyframes bigSmall {
    0% {transform: scale(1.0);}
    50% {transform: scale(1.1)}
    100% {transform: scale(1.0)}
}

.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:5px;overflow:hidden;word-break:normal;border-color:#ffcc03;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:5px;overflow:hidden;word-break:normal;border-color:#ffcc03;}
.tg .tg-baqh{text-align:center;vertical-align:top}
.tg .tg-c3ow{border-color:#ffcc03;text-align:center;vertical-align:top}
.tg .tg-7btt{font-weight:bold;border-color:#ffcc03;text-align:center;vertical-align:top}
.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}
td{width: 4em;}

/**/

.scroll {
  position: fixed;
  top: 0;
  z-index: 1;
  width: 100%;
  background-color: #f1f1f1;
}

.scroll h2 {
  display: none;
}

.progress-container {
  width: 100%;
  height: 4px;
  background: none;
}

.progress-bar {
  height: 4px;
  background: #ffce02;
  width: 0%;
}

/**/

@media (min-width: 800px) {
  .mainHeader{
    padding: 8em 3em;
  }
  label{
    opacity: 0;
  }
  input{
    display: none;
  }
  .pageHeader{
    padding: 0 8em;
  }
  .header-text{
    padding: 4em 3em;
    width:  50%;
    margin: 0 25%;
    box-sizing: border-box;
  }
  .vakken, .projecten{
    width: 60%;
    padding: 2em 20%;
  }
  h2{
    font-size: 3em;
  }
  h3{
    padding: 4rem 0 0 10rem;
    font-size: 2em;
  }
  .pageMain p {
    margin: 0;
    padding: 2em 10rem;
    font-size: 1.3rem;
  }
  section .buttons {
    width: calc(100% - 30rem - 10px);
    margin: 0 calc(15rem + 5px) 2rem;
    text-align: center;
  }
  .slideShowItem img {
    height: 20em;
    border: solid 5px #ffcc03;
  }
  article h3 {
    padding: 0 0 2rem 10rem;
    color: #ffcc03;
  }
  .slideShow ol {
    padding-left: 10em;
  }
  .pageMain .project{
    margin: 0 1em;
  }
  .pageMain .project p {
    padding: 0;
  }
  .pageMain .project{
    margin-bottom: 3rem;
  }
  .pageMain .projecten{
    width: calc(100% - 20rem);
    padding: 2em 10rem;
    justify-content: center;
  }
  .pageHeaderFixed{
    position: fixed;
    width: calc(100%  - 16em);
  }
  section .uphigh{
    margin: 9.5em 0 0 0;
  }
}
