
:root {
    --lettertype: 'Roboto';
    --lettertype-fallback: 'Arial';
    --lettergrootte: 18px;
    --lettergrootte-forms: 17px;
	--letterkleur: #303030;
	--gicomjckleur-donkerblauw: #1f4191;
	--gicomjckleur-lichtblauw: #0060aa;
	--gicomjckleur-rood: #d11f1f;
	--vlak-achtergrondkleur-licht: #ebebeb;
	--vlak-achtergrondkleur-kleur: #e3f2fd;
	--border-radius-large: 30px;
	--border-radius-normal: 10px;
	--border-radius-small: 3px;
	--box-shadow-hover: 0px 4px 8px -2px rgba(0, 0, 0, 0.2);
	--container-breedte: 1000px;
	--container-large-breedte: 1400px;
	--top-hoogte: 140px;
    --hoofdmenu-hoogte: 40px;
	--logo-breedte: 210px;
	--logo-hoogte: 66px;
	--paginatop-achtergrondkleur: var(--gicomjckleur-donkerblauw);  
	--paginatop-alt-achtergrondkleur: #aabbdd;  
	--paginatop-hoogte: 355px;
	--uitklapmenu-breedte: 280px;
	--uitklapmenu-achtergrondkleur: rgba(245,245,245,1);
	--imgblok-home-achtergrondkleur: rgba(170, 187, 221, 0.4);
	--imgblok-home-hoogte: 454px;
	--imgblok-pagina-hoogte: 354px;
	--imgblok-pagina-achtergrondkleur: var(--vlak-achtergrondkleur-licht);
	--bottom-hoogte: 230px;
	--bottom-breedte-col1: 720px;
    --mobiel-menuhoogte: 80px;
}

/* =========== Animaties ========== */
@keyframes slideInFromRight {
    from {
        transform: translateX(100%); /* Begin buiten het scherm aan de rechterkant */
        opacity: 0; /* Optioneel: beginnen met transparantie */
    }
    to {
        transform: translateX(0); /* Eindigt op de oorspronkelijke positie */
        opacity: 1; /* Optioneel: volledig zichtbaar */
    }
}

/* =========== Basis elementen ========== */
body
{
	font-family: var(--lettertype), var(--lettertype-fallback);
    font-size: var(--lettergrootte);
    color: var(--letterkleur);
	font-weight: 300;
}
.pagecontainer
{
	margin: auto;
	border: 0;
	width: var(--container-breedte);
	position: relative;
}
.pagecontainerlarge
{
	width: var(--container-large-breedte);
}
h2 {
    font-size: 25px;
    font-weight: 700;
}
h3
{
    margin-bottom: 4px;
}
a {
    color: var(--gicomjckleur-lichtblauw);
    text-decoration: none;
}
hr.streep
{
    style="border-bottom: solid 1px #ddd;"
}
#content
{
	padding-bottom: 20px;
	min-height: 400px;
}	
#content h2
{
	margin-bottom: 26px;
}
/* ================= Bovenkant en hoofdmenu ================= */

@media (min-width: 768px) {
	header 
	{
	position: sticky;
	top: 0;
	z-index: 1000;
    background-color: white; /* Zodat de achtergrond niet doorzichtig is */
    transition: box-shadow 0.3s ease, border-radius 0.3s ease;
	}

	header.sticky {
		box-shadow: var(--box-shadow-hover); 
		border-radius: 0 0 var(--border-radius-normal) var(--border-radius-normal);
	}
}

#top
{
	height: var(--top-hoogte);
}
#logo
{
	position:absolute;
	top: calc((var(--top-hoogte) - var(--logo-hoogte)) / 2);
    top: 7px;
	left:0;
	width: var(--logo-breedte);
	height: var(--logo-hoogte);
	background-image: url(/siteimg/logo.png);
	z-index:10;
}
#logomobile
{
	position:absolute;
	top:7px;
	right:10px;
	width: 150px;
	height:47px;
	background-image: url(/siteimg/logo.png);
    background-size: cover;
	z-index:10;
}
#hoofdmenu
{
	/* 16px ruimte tussen logo en hoofdmenu */
	padding-left: calc(var(--logo-breedte) + 16px);
	width: calc(var(--container-breedte) - var(--logo-breedte) - 16px);
	height: var(--hoofdmenu-hoogte);
	position: absolute;
    top: 80px;
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
}
#hoofdmenu a
{
	font-weight: 400;
	font-size: 16px;
}
#hoofdmenu > ul
{
	width: calc(var(--container-breedte) - var(--logo-breedte) - 16px);
	height: var(--hoofdmenu-hoogte);
	margin:auto;
	padding: 0;
	list-style-type: none;
	text-align: right;
}
#hoofdmenu > ul > li
{
	display:inline-block;
	height: var(--hoofdmenu-hoogte);
	text-align: left;
	position: relative;
}
#hoofdmenu > ul > li > a
{
	line-height: var(--hoofdmenu-hoogte);
    color: var(--gicomjckleur-donkerblauw);
	display: block;
	text-decoration: none;
	padding-left:10px;
	padding-right:10px;
	position: relative;
}
#hoofdmenu > ul > li:first-child > a
{
	padding-left:0;
}
#hoofdmenu > ul > li a.selected, #hoofdmenu ul li a:hover
{
	color: var(--gicomjckleur-donkerblauw);
	position: relative;
}
#hoofdmenu > ul > li a.hmvaltop
{
	color: var(--gicomjckleur-rood);
}
#hoofdmenu > ul > li > a:hover::after {
    content: ""; 
    position: absolute;
    bottom: 4px; 
    left: 0;
    width: 100%; 
    height: 3px; 
    background-color: var(--gicomjckleur-donkerblauw); 
}
#hoofdmenu ul ul
{
	position: absolute;
	top: var(--top-hoofdmenu);
	left:0;	
	width: var(--uitklapmenu-breedte);
	z-index: 10;
	background-color: var(--uitklapmenu-achtergrondkleur);
	border-radius: 0 0 var(--border-radius-normal) var(--border-radius-normal);
	padding-bottom: 16px;
	opacity: 0; /* Begin onzichtbaar */
    visibility: hidden; 
    transform: scale(1);
    transform-origin: top center;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
#hoofdmenu ul > li:hover > ul {
    opacity: 1; 
    visibility: visible; 
    transform: scale(1.03); 
    box-shadow: var(--box-shadow-hover);
}
#hoofdmenu ul ul li
{
	float:none;
	position:relative;
	
}
#hoofdmenu ul ul li a
{
	color: var(--letterkleur);
	line-height:24px;
	text-decoration: none;
	display: block;
	padding: 12px 16px;
	min-height:24px;
	font-size: 17px;
	position: relative; 
    transition: transform 0.3s ease-in-out;
}
#hoofdmenu ul ul li a::before {
    content: ""; /* Standaard geen symbool zichtbaar */
    position: absolute;
    left: 0;
    top: 50%; /* Verticaal centreren */
    transform: translateY(-50%); /* Verticaal uitlijnen */
    font-size: 14px;
    color: var(--letterkleur); /* Zelfde kleur als de tekst */
    transition: color 0.3s ease-in-out; /* Overgang voor kleur */
	padding-left: 6px;
}

#hoofdmenu ul ul li a:hover {
    color: var(--gicomjckleur-donkerblauw); /* Kleurverandering bij hover */
    transform: translateX(6px); /* Schuif 6px naar rechts */
}
#hoofdmenu ul ul li a.selected
{
	color: var(--gicomjckleur-donkerblauw);
}
#hoofdmenu ul ul li a:hover::before {
    content: " >"; /* Toont een '>' symbool */
    color: var(--gicomjckleur-donkerblauw); /* Zelfde kleur als tekst bij hover */
}

/* ================ Einde bovenkant ============== */
/* ============================================================ */
/* ============== Titelbalk en slider afbeelding ============== */
#sliderbalkhome
{
	background-color: var(--vlak-achtergrondkleur-kleur);
	position:relative;
	height:380px;
}
#homesliderlarge
{
	width: 100%; /* Breedte van de container */
    overflow: hidden; /* Verberg alles buiten de container */
    position: relative;
}
#slider {
    width: 100%; /* Containerbreedte */
    height: auto; /* Automatische hoogte op basis van inhoud */
    position: relative;
    overflow: hidden;
}

#slider img {
    width: 100%; /* Laat de afbeeldingen volledig passen */
    display: block;
}
#topbalk {
    height: 165px;
    padding-top: 0;
    background-color: var(--gicomjckleur-donkerblauw);
	background: linear-gradient(to right, var(--gicomjckleur-donkerblauw), var(--gicomjckleur-lichtblauw));
	text-align: center;
	box-sizing: border-box;
}
	#topbalk.topbalkhome {
		background-color: #fff;
		background: linear-gradient(to right, #fff, #fff);
		margin-bottom: 10px;
	}
	#topbalk.topbalkhome div.pagecontainer
	{
		top: -20px;
		background-color: var(--gicomjckleur-donkerblauw);
		background: linear-gradient(to right, var(--gicomjckleur-donkerblauw), var(--gicomjckleur-lichtblauw));
		height: 125px;
		z-index: 100;
		padding-top: 40px;
	}
	#topbalk.pagina
	{
		padding-top: 70px;
		height: 185px;
	}
#topbalk h1
{
    overflow: hidden;
    font-weight: 700;
    margin-bottom: 10px;
	color: white;
}
	#topbalk.topbalkhome h1 {
		font-size: 36px;
	}
	#topbalk.pagina h1 {
		font-size: 26px;
	}
#topbalk h2
{
	overflow: hidden;
    font-style: italic;
    line-height: 30px;
	color: white;
	margin-bottom: 0;
}
	#topbalk.topbalkhome h2 {
		font-size: 24px;
		font-weight: 100;
	}
	#topbalk.pagina h2 {
		font-size: 18px;
		font-weight: 300;
	}
/* =============== Einde titelbalk ============= */

/* =============== Breadcrumb ============= */
#breadcrumb {
    height: 90px;
    font-weight: 400;
    line-height: 90px;
}
#breadcrumb a {
    color: var(--letterkleur);
}
#breadcrumb a.selected {
    text-decoration: underline;
    color: var(--gicomjckleur-donkerblauw);
}
/* =============== Einde Breadcrumb ============= */

/* =============== Widgets / imgblokken ======== */
.animation-wrapper {
    overflow-x: hidden; 
    position: relative; 
  background: linear-gradient(to bottom, 
                              var(--vlak-achtergrondkleur-kleur) 0px,  /* heel lichte blauw op 0px */
                              #FFFFFF 350px, /* wit vanaf 350px */
                              #FFFFFF 100%);
	
}
#imgblokhome {
    height: var(--imgblok-home-hoogte);
    background-color: var(--imgblok-home-achtergrondkleur);
    margin-bottom: 20px;
	animation: slideInFromRight 1s ease-out;
	position: relative;
}
	#imgblokhome .homeafbblok {
		width: calc((var(--container-breedte) - 36px) / 2);
		padding-right: 36px;
		float: left;
		position: relative;
		overflow: hidden;
	}
	#imgblokhome .homeafbblok:last-child, #imgblok .afbblok:last-child {
		padding-right: 0;
	}
	#imgblokhome .homeafbblok img {
		width: calc((var(--container-breedte) - 36px) / 2);
		height: 312px;
		transition: transform 0.3s ease;
	}
	#imgblokhome .homeafbblok:hover img {
		transform: scale(1.03); /* Zoom van 3% */
		box-shadow: var(--box-shadow-hover);
	}
	#imgblokhome h2 {
		font-size: 18px;
		font-weight: 400;
		line-height: 52px;
		padding-left: 20px;
		padding-right: 20px;
	}
	#imgblokhome p {
		font-size: 15px;
		font-weight: 300;
		line-height: 19px;
		padding-left: 20px;
		padding-right: 20px;
	}	
	#imgblokhome .homeafbblok a, #imgblok .afbblok a {
		color: var(--letterkleur);
		text-decoration: none;
	}	
#imgblok {
    height: var(--imgblok-pagina-hoogte);
    background-color: var(--imgblok-pagina-achtergrondkleur);
    margin-bottom: 20px;
}
	#imgblok .afbblok {
		width: calc((var(--container-breedte) - 46px) / 3);
		padding-right: 23px;
		float: left;
        overflow: hidden;
	}
	#imgblok .afbblok img {
		width: calc((var(--container-breedte) - 46px) / 3);
		height: 206px;
        transition: transform 0.3s ease;
	}
    #imgblok .afbblok:hover img {
		transform: scale(1.03); /* Zoom van 3% */
		box-shadow: var(--box-shadow-hover);
	}
	#imgblok h2 {
		font-size: 18px;
		font-weight: 400;
		line-height: 48px;
		padding-left: 20px;
		padding-right: 20px;
	}	
	#imgblok p {
		font-size: 15px;
		font-weight: 300;
		line-height: 19px;
		padding-left: 20px;
		padding-right: 20px;
	}	
#paginatop {
    height: var(--paginatop-hoogte);
    background: linear-gradient(to bottom, 
    var(--vlak-achtergrondkleur-kleur) 0px, #FFFFFF 350px, #FFFFFF 100%);
    margin-bottom: 36px;
}
	#paginatop .pagecontainer {
		height: var(--paginatop-hoogte);
		background-color: var(--paginatop-achtergrondkleur);
        border-radius: var(--border-radius-large);
	}
	#paginatop img {
		float: left;
		padding-left: var(--border-radius-large);
		padding-top: var(--border-radius-large);
		padding-bottom: var(--border-radius-large);
		width: 470px;
		height: calc(var(--paginatop-hoogte) - 60px);
	}
	#paginatop #paginatoptekst {
		float: left;
		width: 445px;
		height: calc(var(--paginatop-hoogte) - 60px);
		padding-left: 25px;
		padding-top: var(--border-radius-large);
		padding-bottom: var(--border-radius-large);
		padding-right: var(--border-radius-large);
		overflow: hidden;
		color: #fff;
		font-size: 17px;
		font-weight: 300;
	}
	#paginatop #paginatoptekst h2 {
		font-size: 19px;
		font-weight: 700;
		color: #fff;
	}
	#paginatop #paginatoptekst a {
		color: #fff;
		text-decoration: underline;
	}

#content .timgr {
    margin-left: 23px;
    float: right;
}
	#content .parimg {
		max-width: 318px;
		margin-bottom: 25px;
	}
	#content .parimg img {
		width: 318px;
	}
	#content .parimg div {
		font-style: italic;
		font-size: 16px;
		height: 50px;
		line-height: 25px;
		text-align: center;
		margin-bottom: 0;
		background-color: var(--vlak-achtergrondkleur-licht);
	}
	#content .content.metafb {
		float: left;
		max-width: 639px;
	}
#content ul {
    list-style-type: disc;
}
	#content ol, #content ul {
		display: block;
		margin-top: 1em;
		margin-bottom: 1em;
		margin-left: 0;
		margin-right: 0;
		padding-left: 40px;
	}
	#content ul.ilinklist {
		list-style-type: none;
		margin-top: 0;
		margin-bottom: 0;
		padding-left: 4px;
	}
	#content ul.ilinklist li {
		background: url(/siteimg/liboot.png) no-repeat;
		line-height: 32px;
		padding-left: 32px;
	}

div.inlinewebform
{
	margin-top: 16px;
	background-color: var(--vlak-achtergrondkleur-kleur);
	padding: 20px;
	border-radius: var(--border-radius-normal);
	border: solid 1px var(--gicomjckleur-lichtblauw);
	box-sizing: border-box;
}
div.inlinewebform.grijs
{
    background-color: var(--vlak-achtergrondkleur-licht);
}
.letoplabel {
    color: var(--gicomjckleur-donkerblauw);
    background-color: rgba(255, 255, 255, 0.8);
    border: solid 1px var(--gicomjckleur-donkerblauw);
    border-radius: var(--border-radius-small);
    padding: 8px;
    padding-left: 12px;
    line-height: 22px;
    font-size: 14px;
}
/* =============== Einde widgets ============= */
/* =============== Bottom =========== */
#bottom {
    margin-top: 20px;
    min-height: var(--bottom-hoogte);
    background-color: #000;
}
#bottomtekst {
    color: #969696;
    font-size: 12px;
    padding-top: 20px;
    height: 180px;
    position: relative;
}
#bottomtekst a {
    color: #969696;
    text-decoration: none;
}

#bottomlefttop {
    width: var(--bottom-breedte-col1);
    position: absolute;
    top: 28px;
    font-size: 15px;
}
	#bottomlefttop ul {
		line-height: 20px;
	}
	#bottomlefttop ul li a {
		color: #ddd;
	}
	#bottomlefttop ul li a:hover {
		text-decoration: underline;
	}
.bottom-toptekst h3
{
	font-size: 22px;
	color: #d5d5d5;
	line-height: 32px;
	margin-bottom: 12px;
}
.bottom-toptekst h3 span
{
    border-bottom: 2px solid var(--gicomjckleur-lichtblauw);
    padding-bottom: 5px;
}
#bottomleft {
    width: var(--bottom-breedte-col1);
    position: absolute;
    bottom: 0;
}
#bottomright {
    width: calc(var(--container-breedte) - var(--bottom-breedte-col1));
    text-align: right;
    position: absolute;
    top: 28px;
    right: 0;
}
    #logoonderimg {
        transition: transform 0.3s ease-in-out;
    }

    #logoonderimg:hover {
        transform: scale(1.1);
    }

	#bottomright .onderemail {
		font-size: 20px;
		font-weight: bold;
		text-decoration: none;
	}
#bottom2
{
	height: 32px;
	background-color: var(--gicomjckleur-donkerblauw);
}
/* =========== Einde bottom ======== */
