﻿html																{}
body																{background-color: #deddda; color:#555; font-size:18px; font-weight: 400; font-family: 'Muli', sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} 

h1, h2, h3, h4, .h1, .h2, .h3, .h4									{word-wrap:break-word; line-height: 1.2em; color: #000;}
h1, .h1																{font-size: 40px; font-weight: 700; margin-bottom: 20px;}
h2, .h2																{font-size: 24px; font-weight: 700; margin-bottom: 10px;}
h3, .h3																{font-size: 20px; font-weight: 700; margin-bottom: 5px;}
h4, .h4																{font-size: 18px; font-weight: 700;}

a                                                                   {}
a:link, a:visited, a:active                                         {}
a:hover                                                             {}
 
strong                                	                            {font-weight: 700; font-style: inherit; color: #000;}
em                                    	                            {font-style: italic; font-weight: inherit;}

.basicContainer   													{max-width: 1360px; margin:0px auto; padding:60px 80px 30px 80px;}

.waveContainer svg 													{position: absolute; width: 100%; height: 100%;}

/***********************************************
Top bar
***********************************************/

#stickyTopBar {width: 100%; background-color: #fff; box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05); position: fixed; left: 0; top: 0; z-index: 1003; transition:ease 0.3s; /* fade out */}
#stickyTopBar, #stickyTopBarGhost {height: 130px;}

	#stickyTopBar .basicContainer{height:100%; display:flex; justify-content: space-between; align-items: flex-end; padding-top: 15px; padding-bottom: 15px;}
		#stickyTopBar #logo {flex: 0 0 auto; width: 270px;}
   			#stickyTopBar #logo img {display:block; width:100%; transition: width ease 0.3s;}

		#menuContainer 	{display: flex; flex-direction: column; flex: 1 1 auto; height:100%;}
			#topMenu 		{display: flex; justify-content: flex-end; margin-bottom: 10px;}
				#topMenu .partButton {margin-left: 15px;}
			
			#mainMenu 		{margin-top: auto; display: flex; align-items: flex-end; padding-bottom: 8px;}
				#mainMenu .partButton {margin-bottom: 0;}

/* scrolled */
#stickyTopBar.scrolled   {height:80px; transition: ease 0.5s; /* fade in */}
#stickyTopBar.scrolled #logo img {width: 170px;}
#stickyTopBar.scrolled .basicContainer {padding-top: 5px; padding-bottom: 5px;}

/***********************************************
Home
***********************************************/

/* image header */
#homeImageHeaderContainer        				 	{position: relative;}
	#homeImageHeaderContainer .waveContainer 			{position: absolute; bottom: 0; left: 0; width: 100%;  padding-bottom: 4.5833333333%; z-index: 30;}
	#homeImageHeaderContainer .waveContainer svg path 	{fill: #fff;}

/* video header */
#homeVideoHeaderContainer        				 	{position: relative;}
	#homeVideoHeaderContainer .waveContainer 			{position: absolute; bottom: -1px; left: 0; width: 100%;  padding-bottom: 4.5833333333%; z-index: 30;}
	#homeVideoHeaderContainer .waveContainer svg path 	{fill: #fff;}

	#videoContainer 		{padding-top: 31.25%; background-color: #deddda; overflow: hidden; position: relative;}
	#videoContainer video 	{position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; z-index: 1; pointer-events: none;}

/* intro text */
#homeIntroContainer 		{background-color: #fff;}
	#homeIntroContainer .basicContainer	{padding-top: 30px; max-width: 1060px; text-align: center;}
	#homeIntroContainer h1 {}

/* icon and text */
#homeIconsAndText 			{color: #fff; text-align: center;}
	#homeIconsAndText .basicContainer {}
		#homeIconsAndTextContainer 	{display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin-left: -20px; margin-right: -20px;}
			.homeIconsAndTextItem 		{width: calc(33.3333333333% - 40px); margin-left: 20px; margin-right: 20px; margin-bottom: 30px; color: #fff; text-decoration: none;}

				
				.homeIconsAndTextItem .partContentFileImageGallery.single .contentFileImage {margin-bottom: 15px; border:solid 4px #fff; transition: background-color ease 0.3s; border-radius: 50%; height:120px; width: 120px; margin-left: auto; margin-right: auto;}
				a.homeIconsAndTextItem:hover .partContentFileImageGallery.single .contentFileImage {background-color: rgba(0,0,0,.1);}

				.homeIconsAndTextItemText {flex: 1 1 auto; font-size:16px;}
					.homeIconsAndTextItemText h2 {border-bottom: solid 2px transparent; transition: border-color 0.3s; display: inline-block; color: #fff;}
					a.homeIconsAndTextItem:hover h2 {text-decoration: none; border-color: #fff;}

					.homeIconsAndTextItemText .partContentText {font-weight: 600;}
					.homeIconsAndTextItemText .partContentText p {margin-bottom: 15px;}

/* full width image */
#homeFullWidthImage	 						{position: relative;}

	.videoButton 							{position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); text-decoration: none; color: #fff; text-align: center; font-family: inherit; font-size: inherit; outline:0; border:none; background-color: transparent; cursor: pointer;}
		.videoButtonIcon 						{border:solid 4px #fff; border-radius: 50%; height:120px; width: 120px; margin-left: auto; margin-right: auto; margin-bottom: 20px; display: flex; align-items: center; justify-content: center;}	
			.videoButton svg 						{width: 50px; height:66px; margin-left: 10px; fill: #fff;}
		.videoButton .partButton 				{margin-bottom: 0;}
		.videoButton:hover .partButton:after 	{}

/* instragram */
#homeInstagramFeed 							{position: relative;}
	#instagramFeedContainer 					{display: flex; margin-left: auto; margin-right: auto;}
		.instragramItem  							{flex: 1 1 auto; position: relative;}

			.instragramOverlay 						{transition: background-color 0.3s ease; position: absolute; padding-bottom: 15px; z-index: 1; top:0; left:0; right:0; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding:50px 30px 0px 30px; text-align: center;}
			.instragramOverlay:hover 				{background-color: rgba(0,0,0,.8);}

			.instragramOverlay .partContentFileImageGallery.single {}
			.instragramOverlay svg 					{width:26px; height:26px; fill: #fff; position: absolute; right:30px; top:30px;}
			.instragramOverlay .partContentText 	{font-weight: 600; max-width: 100%; /* IE fix */ font-size: 16px; opacity: 0; transition: opacity 0.3s ease; color: #fff;}
			.instragramOverlay .partContentText p  	{margin-bottom: 15px;}
			.instragramOverlay .partButton 			{opacity: 0; transition: opacity 0.3s ease;} 

			.instragramOverlay:hover .partContentText, .instragramOverlay:hover .partButton {opacity: 1;}

/* news, agenda, text column */
#homeMixedContent 			{}
#homeMixedContent .waveContainer 			{position: relative; width: 100%; padding-bottom: 6.25%; z-index: 30; margin-top: -6.25%;}
#homeMixedContent .waveContainer svg path 	{fill: #F9A72B;}

	#homeMixedContentContainer {background-color: #F9A72B; padding-bottom: 5.2083333333%;}
		#homeMixedContentContainer .basicContainer {}
			#mixedContentColumnContainer 	{display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 40px); margin-left: -20px; margin-right: -20px;}
				.mixedContentColumn 			{flex: 1 1 auto; width: calc(25% - 40px); min-width: 250px; margin-left: 20px; margin-right: 20px; display: flex; flex-direction: column; margin-bottom: 40px; background-color: #fff;}
				.mixedContentColumn h2 			{padding:15px 30px; margin: 0; max-width: 100% /* IE fix */}

				/* news & agenda */
				.mixedContentColumn ul 			{border-bottom:solid 1px #deddda; margin-bottom: 20px; max-width: 100% /* IE fix */}
				.mixedContentColumn ul li 		{border-top:solid 1px #deddda;}
				.mixedContentColumn ul li a		{color: inherit; text-decoration: none; padding:15px 30px; display: block; transition: background-color ease 0.3s;}
				.mixedContentColumn ul li a h3 	{font-size: 18px; margin-bottom: 3px; color: #000;}
				.mixedContentColumn ul li a .dateTime {font-size: 14px; line-height: 1.3em;}
				.mixedContentColumn ul li a:hover {background-color: #f0f0f0;}

				.mixedContentColumn .more 		{display: block; margin-top: auto; border-top:solid 1px #deddda; color: inherit; text-decoration: none; padding:10px 20px; font-weight: 700; text-align: center; transition: background-color ease 0.3s;}
				.mixedContentColumn .more:hover {color: #fff;}

				/* text */
				.mixedContentColumn .partContentText 	{margin-bottom: auto; padding-left: 30px; padding-right: 30px; padding-top: 15px; font-size: 16px; border-top:solid 1px #deddda; max-width: 100% /* IE fix */}
				.mixedContentColumn .partContentText p 	{margin-bottom: 20px;}

				.mixedContentColumn .partButton 		{margin-top:auto; margin-left: 30px; margin-right: 30px; align-self: flex-start;}

/* references */
#homeReferences 					{background-color: #fff;}
#homeReferences .waveContainer 				{position: relative; width: 100%; padding-bottom: 5.2083333333%; z-index: 30; margin-top: -5.2083333333%;}
#homeReferences .waveContainer svg path 	{fill: #fff;}

#homeReferencesContainer  						{}
#homeReferencesContainer .basicContainer		{text-align: center; padding-bottom: 120px; max-width: 1060px;}

#homeReferencesContainer .partContentText 		{font-weight: 700; font-size: 26px;}
#homeReferencesContainer .partContentText p 	{margin-bottom: 15px; line-height: 1.5em;}
#homeReferencesContainer h3 					{}

/***********************************************
Content
***********************************************/

/* image header small */
#imageHeaderSmall        				 	{position: relative;}
	#imageHeaderSmall .waveContainer 			{position: absolute; bottom: -1px; left: 0; width: 100%;  padding-bottom: 4.5833333333%; z-index: 30;}
	#imageHeaderSmall .waveContainer svg path 	{fill: #fff;}

/* content and menu */
#contentAndMenu 	{background-color: #fff;}
	header#imageHeaderSmall + #contentAndMenu .basicContainer {padding-top: 0;}

		#contentAndMenuContainer 	{display: flex; align-items: flex-start; padding-bottom: 90px;}

			/* content */
			#contentContainer 				{width: 100%; max-width: 820px;}
			#contentContainer h2 			{}
			#contentContainer .partContentFileImageGallery.single {margin-bottom: 30px;}
			
			#sideMenuContainer 				{width: 100%; max-width: 320px; flex: 0 0 auto; margin-left: 60px; position: sticky; top: 90px; margin-bottom: 30px;}
			#sideMenuContainer .h2 			{margin-bottom: 23px; margin-top: 17px; display: inline-block; color: #000;}

/***********************************************
Team
***********************************************/

#teamContainer 			{display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin-left: -10px; margin-right: -10px; padding-top:15px;}
	.teamItem 				{width: calc(33.3333333333% - 20px); margin-left: 10px; margin-right: 10px; margin-bottom: 30px; border:solid 1px #deddda; padding:0 20px 5px 20px; box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05);}
		
		.profilePhoto 			{}
		#contentContainer .profilePhoto .partContentFileImageGallery.single {margin-bottom:15px; max-width: 130px; margin-top: -15px; border-radius: 50%; overflow: hidden; background-color: #fff; border:solid 1px #deddda;}
			.profilePhoto .partContentFileImageGallery figure {} 
		.teamItem h3 			{color: #00a895;}
		.functionOrClass 		{display: block; line-height: 1.2em; margin-bottom: 15px; font-weight: 600;}

		.teamItem .partContentText {font-size: 16px;}
		.teamItem .partContentText p {margin-bottom: 15px; line-height: 1.5em;}

		 /* show more text */
		.showMoreMainContainer 				  {position: relative;}
		.showMoreContentContainer 			  {position: relative; overflow: hidden; height: 144px;}
		.showMoreContentContainer:after 		{position: absolute; width: 100%; height: 100%; bottom: 0; left: 0; content: ''; background: linear-gradient(rgba(255,255,255,0), #fff);}
					
		.showMoreMainContainerOpen .showMoreContentContainer 		    {height: auto; overflow: visible;}
			.showMoreMainContainerOpen .showMoreContentContainer:after 	{display: none;}

			.partButton.naked.showMoreButton 								{margin-bottom: 20px; font-size: 16px;}
			.partButton.naked.showMoreButton .buttonIcon 					{margin-top: 4px;}
			.partButton.naked.showMoreButton .buttonIcon svg 				{height: 10px; max-width: 10px;}
			.showMoreMainContainerOpen .showMoreButton		{display: none;}

/***********************************************
News & Agenda
***********************************************/

#newsAgendaDate 		{font-weight: 600; font-size: 16px; margin-top: -10px; display: block; margin-bottom: 30px;}

/* news */
#newsContainer 			{display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin-left: -10px; margin-right: -10px;}
	.newsItem 				{width: calc(50% - 20px); margin-left: 10px; margin-right: 10px; margin-bottom: 20px; border:solid 1px #deddda; box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05); display: flex; flex-direction: column;}
		
		#contentContainer .newsItem .partContentFileImageGallery.single {margin-bottom: 0;}
		.newsItemText 			{padding:20px; flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start;}
		.newsItemText > * 		{max-width: 100%; /* IE 11 fix */}

		.newsItemText h2 a		{color: #000; text-decoration: none; transition: color ease 0.3s;}
		.newsItemText h2 a:hover {}
		.newsDate 				{display: block; line-height: 1.2em; margin-bottom: 15px; font-weight: 600; font-size: 14px; margin-top: auto;}

		.newsItemText .partContentText {font-size: 16px;}
		.newsItemText .partContentText p {margin-bottom: 20px; line-height: 1.5em;}

		.newsItemText .partButton {margin-bottom: 0;}

/* Agenda */
#newsContainer 			{padding-bottom: 10px;}
	.agendaItem 			{display: flex; color: #000; text-decoration: none; margin-bottom: 20px; border: solid 1px #deddda; box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05);}
		.agendaDate 			{color: #fff; display: flex; flex-direction: column; justify-content: center; padding:10px 0px; text-align: center; transition: background-color ease 0.3s; width: 100px; flex: 0 0 auto;}
		.agendaItem:hover .agendaDate  	{}
			.agendaDateDay 			{font-size: 28px; margin-bottom: 5px;}
			.agendaDateMonth 		{text-transform: uppercase; font-size: 12px; margin-bottom: 5px; font-weight: 700;}

		.agendaText 				{padding:15px 20px; flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; align-items: flex-start;}
			#contentContainer .agendaText h2 				{margin-bottom: 3px; color: #000; transition: color ease 0.3s; max-width: 678px; /* IE Fix */}
			#contentContainer .agendaItem:hover h2 	{}

/***********************************************
References
***********************************************/

#referencesContainer 	{}
	#referenceList 			{padding-bottom: 10px;}
		.referenceItem 			{margin-bottom: 20px; border:solid 1px #deddda; padding:20px; display: flex; font-size: 16px; box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05);}
		.referenceItem:before 	{content: '\201C'; font-size: 80px; font-family: "Trebuchet MS"; display: block; position: relative; overflow: hidden; flex: 0 0 auto; margin-right: 10px; margin-top: -1px; overflow: hidden; height:40px;}

			.referenceText 			{}
			.referenceText .partContentText {}
			.referenceText h3 		{font-size: 16px; position: relative; margin-top: -25px;}

/***********************************************
Contact
***********************************************/

#contactContainer 	{background-color: #fff;}
	#contactContainer .basicContainer {display: flex; align-items: flex-start; flex-wrap: wrap;}
		#contactText 						{width: 50%; padding-right: 30px;}
			#contactText .partContentFileImageGallery.single {margin-bottom: 25px;}
		#contactForm 						{width: 50%; padding-left: 30px; margin-top: 4px;}
			#contactContainer h2 					{}

#googleMapsContainer + footer .waveContainer {margin-top: -130px;}

/***********************************************
Footer
***********************************************/

footer 					{color:#000;}

	footer .waveContainer 			{position: relative; width: 100%; padding-bottom: 5.2777777778%; margin-top: -5.2777777778%; z-index: 30;}
	footer .waveContainer svg path 	{fill: #deddda;}

	#footerContainer 	{text-align: left; background-color: #deddda; z-index: 1; position: relative;}

		footer .basicContainer 	{}

			#footerColumnContainer 	{display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin-left: -20px; margin-right: -20px;}
				.footerColumn 		{flex: 1 1 auto; margin-left: 20px; margin-right: 20px; width: calc(33.3333333333% - 40px); min-width: 280px;}
				
				.footerColumn .partContentText ul {padding-left: 0;}
				.footerColumn .partContentText ul li:before {display: none;}

				.footerColumn:not(:nth-child(2)) .partContentText a 	{border-color: transparent;}

					#scholenOpdeKaart 		{margin-bottom: 30px; display: inline-block;}
					#scholenOpdeKaart img 	{width: 100%; max-width: 200px; display: block;}

					#footerLogoContainer 	{display: flex; justify-content: flex-end; align-items: center; margin-bottom: 30px;}
						#socialsContainer 		{display: flex; margin-right:auto;}
							#socialsContainer a { display: flex; justify-content: center; align-items: center; background-color: #fff; height: 40px; width: 40px; border-radius: 20px; margin-right: 15px; transition: background-color ease 0.3s;}
							#socialsContainer a:hover 	{}
							#socialsContainer svg.partSvg { flex: 1 1 auto; fill: #000; max-height: 20px; max-width: 20px;}
							#socialsContainer a:hover svg.partSvg { fill: #fff; }

						#stichtingLogos 		{}
						#stichtingLogos img 	{height:40px; display: block;}

	/* bottom footer with links */
	#footerBottomContainer 			{display: flex; flex-wrap: wrap; font-size: 14px; border-top:solid 1px rgba(0,0,0,.1); padding-top: 10px; line-height: 1.2em;}
	#footerBottomContainer li 			{margin-right: 20px; margin-top: 15px;}
	#footerBottomContainer li:last-child 	{margin-right: 0; margin-left: auto;}
	#footerBottomContainer li a 			{color: #000; transition: color ease 0.3s;}
	#footerBottomContainer li a:hover 		{}
					
/***********************************************
Mobile menu
***********************************************/

/* mobile toggle menu */
body.mobileMenuToggleActive                               {position: fixed; /* prevents scrolling bug at the bottom of the screen  */ }

#mobileMenuToggle                                         {position:relative; z-index: 1002; display:none; align-items:center; cursor: pointer; margin-left: 15px;}      

#mobileMenuToggle .mobileMenuButtonLabel                        {margin-left:6px; z-index: 2;}
#mobileMenuToggle .mobileMenuButtonHamburger 					{width: 20px; height:20px; display:flex; flex-direction:column; justify-content:center; z-index: 2;}
#mobileMenuToggle .mobileMenuButtonHamburger span 				{width: 20px; height: 2px; background-color: #fff; margin: 2px 0px; transition: all 0.3s ease-in-out;}
#mobileMenuToggle .mobileMenuButtonHamburger span:nth-child(2) 	{width: 15px;}

#mobileMenuToggle.active .mobileMenuButtonHamburger span 				      {background-color: #fff;}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(1) {transform: translateY(6px) rotate(45deg);}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(2) {opacity: 0;}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(3) {transform: translateY(-6px) rotate(-45deg);}

/* Menu overlay */
#mobileMenuToggleContainer 			{left: 0%; top: 80px; width: 100%; height: 100%; display:none; position: fixed; background-color:#fff; z-index: 1002;}
body.mobileMenuToggleActive #mobileMenuToggleContainer 	{display:block;} 

#mobileMenuToggleContainerScroll                      {overflow-y: auto; height: calc(100% - 80px);}

#mobileMenuToggleContainerScroll .partButton 		  {margin:25px;}

@media screen and (min-width: 1024px){
    body.mobileMenuToggleActive #mobileMenuToggleContainer {display: none;}
}

@media (max-width: 1023px){
  	#mobileMenuToggleContainerScroll {overflow-y:scroll; -webkit-overflow-scrolling: touch;}
}

