
/* CSS Document */

/* Algemeen ################################################################### */

* {
  box-sizing: border-box;
}

body {
	background-image: url(../images/diversen/snelweg-achtergrond.jpg);
	background-attachment: fixed;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}

body,td,th {
	color: var(--blue-dark);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px; /* 15.05pt */
}

a:link {
	color: var(--yellow);
	text-decoration: none;
}
a:visited {
	color: var(--yellow);
	text-decoration: none;
}
a:hover {
	color: var(--blue-dark);
	text-decoration: none;
}
a:active {
	color: var(--yellow);
	text-decoration: none;
}

h1 {
    font-family: Arial, Helvetica, sans-serif; 
	font-size: 36px;  /* 27.10 pt */
    font-weight: bold; 
	color: var(--blue-dark);
	margin: 0px;
}

h2 {
    font-family: Arial, Helvetica, sans-serif; 
	font-size: 30px; /* 22.58 */
    font-weight: bold; 
	color: var(--blue-dark);
	margin-top: 0px;
	margin-bottom: 16px;
}

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  h2 {
    font-size: 20pt;
  }
}

h3 {
    font-family: Arial, Helvetica, sans-serif; 
	font-size: 24px; /* 18.07 pt */
    font-weight: bold; 
	color: var(--yellow);
    margin-top: 24px;
    margin-bottom: 8px;

}

h4 {
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 24px; /* 18.07 pt */
	color: var(--yellow);
	font-weight:bold;

}

h5 {
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 20px; /* 15.05 pt */
	color: var(--green);
	font-weight:bold;
	border-width: 2px 2px 2px 2px;	
    padding: 0px;
	margin: 0px;
}

h6 {
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 18px; /* 13.55 pt */
	color: var(--green);
	font-weight:bold;
	
}



/* Wrapper en row kleuren om en om */

.wrapper, .wrapper-color, .container-row .row:nth-child(odd), .container-row .row:nth-child(even)  {
    padding: 40px 80px;
	max-width: 1400px;
	width: 100%;
	margin: 0px auto;
	border-radius: 0px;
	line-height:1.6;

}


.wrapper, .container-row .row:nth-child(odd) {
	background-color:#FFFFFF;

}


.container-row .row:nth-child(even) {
  background-color: #f0f0f0; /* lichtgrijs */
}


.wrapper-color {
	background-color: var(--yellow-light); 

}


.wrapper-img {
    padding: 0px;
	max-width: 1400px;
	width: 100%;
	margin: 0px auto;

}




/* 📱 Mobiel: kleiner dan 768px */
@media (max-width: 767px) {
.wrapper, .wrapper-color, .container-row .row:nth-child(odd), .container-row .row:nth-child(even) {
    padding: 10px 20px;
  }
}

/* 📱 Tablet: kleiner dan 1024px */
@media (max-width: 1023px) {
.wrapper, .wrapper-color, .container-row .row:nth-child(odd), .container-row .row:nth-child(even) {
    padding: 30px 40px;
  }
}



/* Einde wrapper en row kleuren om en om */



/* Block over image - niet gebruikt nog */
.container-img {
  position: relative;
}


@media screen and (max-width: 800px) {
  .container-img {
    width: 100%;
  }
}


.block-img-widget {
  position: absolute;
  top: 80px;
  left: 0;
  right: 0;
  padding: 40px 80px;
  max-width: 950px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: rgba(255, 255, 255, 1.0);
  border-radius:8px;
  z-index: 2;
}


/* MOBIEL EN TABLET PORTRAIT*/
@media all and (max-width:800px){
.block-img-widget {
  top: 50px;
}  

}

/* TABLET LANDSCAPE */ 
@media only screen and (min-device-width: 801px) and (max-device-width: 1400px) {
.block-img-widget {
  top: 40px;
}  


}

/* Einde block over image - niet gebruikt */


/* Fade in img effecht - niet gebruikt */
.foto-container {
  position: relative;
  width: auto;
  overflow: hidden;
}

.foto-container img {
  display: block;
  width: 100%;
  height: auto;
}

.foto-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25%; /* hoogte fade */
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);

}

/* Einde Fade in img effecht - niet gebruikt */

/* FONT ################################################################### */


.small-font-reisduur {
  font-size: 14px; /*10.541 pt */
  color: #558B9B;
  font-weight: bold;
}

.small-font-reisduur a:link, .small-font-reisduur a:visited, .small-font-reisduur a:active {
	color: #558B9B;
	text-decoration: none;
	font-weight:bold;

}

.small-font-reisduur a:hover {
	color: #558B9B;
	text-decoration: none;
}



.base-font {
  font-size: 20px; /* 15.05pt */
}


.font-color {
  color: var(--yellow);
}

.font-color-primair {
  color: var(--blue-dark);
}


.xxsmall-font {
  font-size: 12px; /* 9.03pt*/
}


.xsmall-font {
  font-size: 14px; /* 10.54pt*/
}


.small-font {
  font-size: 16px; /* 12.04pt*/
}

.xmedium-font {
  font-size: 24px; /* 18.07pt*/
}

.medium-font {
  font-size: 30px; /* zelfde als h2 - 22.58pt*/
}

.large-font {
  font-size: 36px; /* zelfde als h1 - 27.10pt */
}

.xlarge-font {
  font-size: 40px; /* 360.11pt */
}

.xxlarge-font {
  font-size: 48px; /* 36.14pt */
}

.xxxlarge-font {
  font-size: 64px; /* 48.18pt */
}
	




/* Kruimel ################################################################### */

.wrapper-kruimel {
  width: 100%;
  background-color: var(--yellow-light);
}

.wrapper-kruimel-content {
  padding: 20px 80px;
  max-width: 1400px;
  margin: 0 auto;
}

.breadcrumb {
  padding: 0;
  margin: 0;
  list-style: none;
  background-color: transparent;
  font-size: 14pt;
}

.breadcrumb li {
  display: inline;
}

.breadcrumb li + li::before {
  padding: 0 8px;
  color: var(--blue-dark);
  content: "/\00a0";
}

.breadcrumb li a {
  color: var(--blue);
  text-decoration: none;
  font-weight: bold;
}

.breadcrumb li a:hover {
  color: var(--white);
}




@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  ul.breadcrumb {
    display: none;
  }
}


/* Columns ################################################################### */

.column-10 {
  float: left;
  width: 10%;

}

.column-15 {
  float: left;
  width: 15%;

}

.column-20 {
  float: left;
  width: 20%;

}

.column-25 {
  float: left;
  width: 25%;

}

.column-30 {
  float: left;
  width: 30%;

}

.column-32 {
  float: left;
  width: 32%;

}

.column-33 {
  float: left;
  width: 33.33333%;

}

.column-35 {
  float: left;
  width: 35%;

}

.column-40 {
  float: left;
  width: 40%;

}

.column-45 {
  float: left;
  width: 45%;

}


.column-50 {
  float: left;
  width: 50%;

}

.column-66 {
  float: left;
  width: 66.66666%;

}

.column-70 {
  float: left;
  width: 70%;

}

.column-75 {
  float: left;
  width: 75%;

}

.column-80 {
  float: left;
  width: 80%;

}

.column-100 {
  float: left;
  width: 100%;

}





@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .column-10,
  .column-15,
  .column-20,
  .column-25,
  .column-30,
  .column-32,
  .column-33,
  .column-35,
  .column-40,
  .column-45,
  .column-50,
  .column-66,
  .column-70,
  .column-75,
  .column-80,
  .column-100
  {
    width: 100%;
    text-align: left;
  }
  img {
    margin: auto;
  }
}


.col-row {
  float: left;
  width: 100%;
  margin-bottom:15px;

}



/* Flex cards ################################################################### */


.flex-card-3 {
  float: left;
  width: 30%;
  margin:20px;
  border-radius:8px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  transition: 0.3s;
  background-color: #ffffff;
  line-height: 1.6;
  
}


.flex-card-3:hover {
  box-shadow: 0 8px 20px 0 rgba(0,0,0,0.5);
  
}

.flex-card-3 a:link, .flex-card-3 a:visited, .flex-card-3 a:active {
  color: #3E5062;
  text-decoration:none;
}



@media screen and (max-width: 600px) {
  .flex-card-3 {
    width: 90%;
    display: block;

  }
}


.card-flex-content {
  padding: 30px;
  background-color: #ffffff;
  border-radius: 0px 0px 8px 8px;
  line-height: 1.6;
  min-height:440px;
  
}

@media only screen and (min-device-width: 969px) and (max-device-width: 1280px) {
  .card-flex-content {
	height: 100%;
}

}


.card-flex-content-large {
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  padding: 30px;
  background-color: #ffffff;
  line-height: 1.6;
  min-height: 550px;
  max-height: 850px;
}

@media only screen and (min-device-width: 969px) and (max-device-width: 1280px) {
.card-flex-content-large {
	height: 100%;
}



}



.card-block-button {
  padding: 25px;
  border-top: hsla(210, 23%, 41%, 0.3) 1px dashed;
  border-radius: 0 0 5px 5px;
  line-height: 1.6;
  background-color: rgba(85, 139, 155, 0.4); /* #558B9B */
}


.img-card-flex {
  border-radius: 8px 8px 0px 0px;
  margin-bottom: 0px;
}


.img-reisdetails-logo {
  display: block;
  height: auto;
  border-radius: 8px 0px 8px 0px;
  max-width: 100%;
}


.block-img-full-bottom {
  position: absolute;
  left: 0px;
  bottom: 0px;
  background-color: var(--blue-lighter);
  padding: 0px;
  margin: 0px 0px 0px 0px;
  color: var(--blue-dark);
  font-size:24px;
  font-weight:bold;
  text-align:center;
  width:100%;
 
}





.block-img-full-trans {
  position: absolute;
  left: 0px;
  top: 0px;
  background-color: transparent;
  padding: 0px;
  margin: 0px 0px 0px 0px;
 
}




.reisdetails-title {
  border-bottom: 1px solid rgba(136, 150, 173, 0.5);
  margin: 0 0 14px 0;
  line-height: 1.6;
}


.link-color {
	color: #558B9B;
}

.link-color a:link, .link-color a:visited, .link-color a:active {
	color: #558B9B;
	text-decoration: none;
}


.link-color-light {
	color: #EE7121;
}

.link-color-light a:link, .link-color-light a:visited, .link-color-light a:active {
	color: #EE7121;
	text-decoration: none;
	font-weight:bold;

}





/* Images ################################################################### */

img {
  display: block;
  height: auto;
  border-radius: 8px;
  max-width: 100%;
}


.img-header {
  display: block;
  height: auto;
  border-radius: 0px;
  max-width: 100%;
}


/* Buttons ################################################################### */

.button-bekijk-reis {
  border: none;
  color: #FFFFFF;
  padding: 14px 28px;
  font-size: 12pt;
  font-weight: bold;
  cursor: pointer;
  border-radius: 5px;
  background-color: #336699; 
  display: block;
  margin-left: auto;
  margin-right: auto;
}
  
.button-bekijk-reis a:link {
	color: #ffffff;
	text-decoration: none;
}

.button-bekijk-reis a:visited {
	color: #ffffff;
	text-decoration: none;
}

.button-bekijk-reis a:active {
	color: #ffffff;
	text-decoration: none;
}

.button-bekijk-reis a:hover {
	color: #558B9B;
	text-decoration: none;
}

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .button-bekijk-reis {
    font-size: 16pt;
    padding: 18px 32px;;
  }
}


.sticky-cta {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: fit-content;
  background-color: transparent; /* Geen achtergrond, dat doet <a> */
  border-radius: 30px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  z-index: 1000;
}

.sticky-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  background-color: #EE7121; /* #336699 */
  color: white;
  font-weight: 600;
  font-size: 20px;
  border-radius: 30px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.sticky-cta a:hover {
  background-color: #336699; /* #EE7121 */
  
}



.short-text { display: none; 
}



/* Responsiveness voor kleinere schermen */
@media (max-width: 480px) {
  .sticky-cta {
    padding: 12px 20px;
    font-size: 16px;
    width: calc(100% - 40px); /* ruimte aan zijkanten */
    left: 20px;
    right: 20px;
    transform: none;
    border-radius: 12px;
  }
  .full-text { display: none; }
  .short-text { display: inline; }
  
}

/* Grotere touch-afstand voor tablets en telefoons */
@media (max-width: 1024px) {
  .sticky-cta {
    bottom: 40px;
  }
}


#myBtn {
  display: none;
  position: fixed;
  bottom: 12pt;
  right: 12pt;
  z-index: 99;
  font-size: 18px;
  text-align: center;
  vertical-align: center;
  border: none;
  outline: none;
  background-color: var(--blue-lighter);
  color: var(--blue);
  cursor: pointer;
  width: 50px;
  height: 50px;
  padding: 10px 45px 10px 10px;
  margin: 10px 10px 10px 10px;
  border-radius: 5px;
  
}

#myBtn:hover {
  background-color: var(--yellow);
}



/* Containers ################################################################### */


.container-reisdetails {
  padding: 20px;
  border-radius: 5px;
  background-color: #f1f1f1;
  margin: 10px;
}


.container-alg-first {
  padding: 20px 20px 0px 20px;
  border-radius: 5px 5px 0px 0px;
  background-color: #FFFFFF;
  margin: 0px 0px 0px 0px;
}

.container-alg-last {
  padding: 0px 20px 20px 20px;
  border-radius: 0px 0px 5px 5px;
  background-color: #FFFFFF;
  margin: 0px 0px 0px 0px;
}

.container-uitgelicht {
  padding: 20px 20px 20px 20px;
  border-radius: 5px;
  background-color: #D2E1E6;
  margin: 0px 0px 0px 0px;
}


.container-multiple-columns {
  padding: 20px;
  border-radius: 5px;
  border: #336699 solid 1px;
  margin: 0px 15px 15px 0px;
}


.container-img {
  position: relative;

}

@media screen and (max-width: 800px) {
  .container-img {
    width: 100%;
  }
}

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .container-intro, .container-reisdetails, .container-alg-first, .container-alg-last, .container-uitgelicht, .container-multiple-columns {
    font-size: 16pt;
  }
}

/* List elements ######################################################################## */

/* List items naast elkaar */


ul.list-kenmerken {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1rem; /* ruimte tussen de items */
  flex-wrap: wrap; /* zorgt ervoor dat het op kleinere schermen goed afloopt */
}

ul.list-kenmerken li {
  white-space: nowrap; /* voorkomt afbreken van tekst */
}



/* List items onder elkaar zonder checkbox */
ul-list {
  list-style: none;
}



/* List items onder elkaar met checkbox */

ul.list-alg {
  list-style: none;
  padding-left: 0;
}

ul.list-alg li {
  position: relative;
  padding-left: 2em; 
  margin-left: 2em;
  /* display: flex; <-- Dit zorgt ervoor dat de elementen naast elkaar komen te staan. Hierdoor wordt de strong en de tekst als 2 aparte elementen gezien. */

}
  
ul.list-alg li:before {
  content: '\2714';
  position: absolute;
  left: 0;  /* place the SVG at the start of the padding */
  width: 1em;
  height: 1em;
  font-weight: bolder;
  font-size: large;
  display: flex;
  align-items: center; 
  line-height: 1.6;
  color:var(--yellow);

}


/* list item onder elkaar met bullet */

ul.list-unorded {
  list-style: none;
  padding-left: 0;
}

ul.list-unorded li {
  position: relative;
  padding-left: 2em; 
  margin-left: 2em;
  /* display: flex; <-- Dit zorgt ervoor dat de elementen naast elkaar komen te staan. Hierdoor wordt de strong en de tekst als 2 aparte elementen gezien. */

}
  
ul.list-unorded li:before {
  content: '\2022';
  position: absolute;
  left: 0;  /* place the SVG at the start of the padding */
  width: 1em;
  height: 1em;
  font-weight: bolder;
  font-size: large;
  display: flex;
  align-items: center; 
  line-height: 1.6;


}



/* Accordion ################################################################### */

/* BEGIN ACCORDION */

.accordion-faq {
  max-width: 1400px;
  width: 100%;

  font-family: sans-serif;
}
.accordion-faq .item {
  border-bottom: 1px solid #f0f0f0;
}
.accordion-faq .question {
  cursor: pointer;
  padding: 1rem;
  background: var(--yellow-lighter);
  font-weight: bold;
  position: relative;
}
.accordion-faq .question::after {
  content: '+';
  position: absolute;
  right: 1rem;
  transition: transform 0.3s;

}
.accordion-faq .question.active::after {
  content: '-';
}
.accordion-faq .answer {
  max-height: 0;
  overflow: hidden;
  background: #f0f0f0;
  padding: 0 1rem;
  transition: max-height 0.3s ease;
}
.accordion-faq .answer p {
  margin: 1rem 0;
}
.accordion-faq .answer.open {
  max-height: 800px;
  padding-bottom:30px;
}



/* EINDE ACCORDION */







/* Footer ################################################################### */

.wrapper-footer {
	padding: 0px 0px 0px 0px;
	width: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
	background-color: var(--blue);
}

.container-footer {
  color: var(--white);
  padding: 0px 0px 0px 0px;
  max-width: 1200px;
  width: 100%;
  margin: 0px 20px 0px 400px;
}



.container-footer a:link {
	color: var(--white);
	text-decoration: none;
}
.container-footer a:visited {
	color: var(--white);
	text-decoration: none;
}
.container-footer a:hover {
	color: var(--white);
	text-decoration: underline;
}
.container-footer a:active {
	color: var(--white);
	text-decoration: none;
}

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .container-footer {
    font-size: 16pt;
  }
}

.column-footer {
  float: left;
  width: 33.33333%;
  padding: 30px;
}

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .column-footer {
     width: 100%;
    float: left;
  }
}

/* Diversen ################################################################### */


.center-row-img {
  display: flex;
  align-items: center;
  justify-content: center; 
 
}  

@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .center-row-img  {
	display:block; 

  }
}


.row:after {
  content: "";
  display: table;
  clear: both
}

.highlight-maatreis {
	color: #C82333;
	font-weight: bold;

}

.hide {
  background-color: #f1f1f1;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (min-device-width: 300px) and (max-device-width: 1280px) {
  .hide {
    display: none;
  }
}

.hide-all {
  display: none;
}


.img-small-icon {
  float: left;
  width: 32px;
  height: 21px;
  margin-right: 5px;
  padding:5px 5px 0px 10px;

}


