

.msred{
	color: #ff4f18;
}
.msgreen{
	color: #5abb00;
}
.msblue{
	color: #00a5f2;
}
.msyellow{
	color: #ffba00;
}

.orange-text{
	color: #ffba00;
}

a:hover{
	color: #cc9900;
}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    overflow: auto;
	/* https://www.magicpattern.design/tools/css-backgrounds */
	/*
	background-color: #ffffff;
	opacity: 1;
	background-image:  linear-gradient(#f1f1f1 1.2000000000000002px, transparent 1.2000000000000002px), linear-gradient(to right, #f1f1f1 1.2000000000000002px, #ffffff 1.2000000000000002px);
	background-size: 24px 24px;
	*/
	/*
	background-color: #ffffff;
	opacity: 1;
	background-image: radial-gradient(#c4c4c4 0.5px, #ffffff 0.5px);
	background-size: 10px 10px;
	*/
	/* https://nl.pattern.monster/ */
	/*background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='20' height='20' patternTransform='scale(3) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0,0%,100%,1)'/><path d='M3.25 10h13.5M10 3.25v13.5'  stroke-linecap='square' stroke-width='0.5' stroke='hsla(259, 0%, 97%, 1)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(-120,-120)' fill='url(%23a)'/></svg>")*/
	/*background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='20' height='20' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0, 0%, 99%, 1)'/><path d='M10-6V6M10 14v12M26 10H14M6 10H-6'  stroke-linecap='square' stroke-width='0.5' stroke='hsla(259, 0%, 81%, 1)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>")*/
	background-color: #FAFAFA;
	
}

body.active{
    overflow: hidden;
}

img{
    max-width: 100%;
    height: auto;
}

a{
    cursor: pointer;
	text-decoration: none;
	border: none;
}
a{
	border-bottom: #09E 1px solid;
	color: black;
}

.center{
    text-align: center;
}

.text-align-right{
    text-align: right;
}

h1{
	font-family: sofia-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
}

p{
	line-height: 32px;
}


.pagetitle{
    font-weight: 300;
}

.card{
	border-color: #000;
}


/* *********************************************************
**
**
** HEADER
**
**
********************************************************* */


header{
	position: relative;
}



/* *********************************************************
**
**
** TOP
**
**
********************************************************* */




.call-us-wrapper{
	position: absolute;
	top: 30px;
	right: 30px;
	z-index: 999;
}



.top-phone, .top-help{
	display: block;
	text-align: right;
	color: black;
	text-decoration: none;
	border: 0;
	font-family: sofia-pro, sans-serif;
	font-weight: 600;
	font-style: normal;
	transition: all .5s ease;
}

.top-phonenumber{
	font-size: 14px;
	font-weight: 300;
	text-decoration: underline;
}


.funky-image-border{
	clip-path: polygon(0 10%, 50% 0, 100% 10%, 100% 90%, 50% 100%, 0 90%);
}

.octogon{
	clip-path: polygon(0 5%, 50% 0, 100% 5%, 100% 95%, 50% 100%, 0 95%);
}

.col-grid{
	display: grid;
	justify-content: center;
	align-items: center;
}

/* *********************************************************
**
**
** HAMBURGER
**
**
********************************************************* */





.hamburger-wrapper{
    position: fixed;
	/*top: 30px;
	left: 30px;
    height: 64px;
    width: 64px;*/
    z-index: 999;
	
}




.hamburger{
    position: absolute;
    display: flex;
    align-items: center;
    /*top: 0px;
    right: 0px;
    height: 64px;
    width: 64px;*/
    cursor: pointer;
	
}


.hamburger > div{
    position: absolute;
    top:18px;
    flex: none;
    width: 100%;
    height: 0px;
    background-color:  black;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
}


.hamburger > div::after, .hamburger > div::before{
    content: '';
    position: absolute;
    top: -10px;
    width: 100%;
    height: 3px;
    background-color: inherit;
	transition: all 0.2s ease;
}

.hamburger > div::after{
    top: 10px;
}


/* toggle Animation */
.hamburger.active > div {
    transform: rotate(90deg);
    background-color: #000;
}

  /* Turns Lines Into X */
.hamburger.active > div::before {
    top: 0;
    transform: rotate(45deg);
    width: 100%;
    height: 4px;
}

.hamburger.active > div::after {
    top: 0;
    transform: rotate(135deg);
    width: 100%;
    height: 4px;
}

.hamburger-wrapper:hover > .hamburger > div{
    background-color: black;
}

.hamburger-wrapper:hover > .hamburger > div::before{
	top: 5px;
    transform: rotate(90deg);
}

.hamburger-wrapper:hover > .hamburger > div::after{
	top: 5px;
    transform: rotate(180deg);
}

.hamburger-wrapper:hover > .hamburger.active > div::before{
	top: 0;
	transform: rotate(135deg);
}

.hamburger-wrapper:hover > .hamburger.active > div::after{
	top: 0;
	transform: rotate(225deg);
}


.toggler{
    position: absolute;
    /*top: 0px;
    left: 0px;
    height: 64px;
    width: 64px;*/
    opacity: 0;
    cursor: pointer;
}




/* *********************************************************
**
**
** MENU PANEL
**
**
********************************************************* */


#topmenu{
	position: fixed;
	top: -110%;
	left: 0px;
	width: 100%;
	min-height: 100vh;
	/*background-color: white;*/
	z-index: 998;
	display: grid;
	justify-content: center;
	align-items: center;
	background-color: #ffffff;
opacity: 1;
background-image: radial-gradient(#c4c4c4 0.9px, #ffffff 0.9px);
background-size: 18px 18px;
}

#topmenu ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
#topmenu li{
	text-align: center;
}
#topmenu ul li a{
	display: inline-block;
	font-family: sofia-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: black;
	transition: all .3s ease;
}

#topmenu a:hover{
	color: white;
	background-color: black;
}

.topmenu-lang-select{
	display: inline-block;
	font-family: sofia-pro, sans-serif;
	font-weight: 400;
	color: #000;
}

.topmenu-help{
	text-align: center;
	color: #000;
	font-size: 32px;
	line-height: 64px;
}


.social-menu{
	position: absolute;
}

.social-menu i{
	font-size: 32px;
	color: black;
}


/* *********************************************************
**
**
** BLACK BOX
**
**
********************************************************* */

.blackbox{
	background-color:black;
	color:white !important;
}

.blackbox a{
	color: white;
}


/* *********************************************************
**
**
** BUTTONS
**
**
********************************************************* */




.button{
    position: relative;
    display: inline-block;
    color: black;
    border: #000 1px solid;
    overflow: hidden;
    transition: all .3s ease;
    background: none;
}

.button:hover{
    color: white !important;
}

.button::before{
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    width: 0px;
    height: 100%;
    background-color: black;
    color: white;
    transition: all .3s ease;
    z-index: -1;
}

.button:hover::before{
    width: 100%;
}


.whitebutton{
    position: relative;
    display: inline-block;
    color: white;
    border: #FFF 1px solid;
    overflow: hidden;
    transition: all .3s ease;
    background: none;
}

.whitebutton:hover{
    color: black !important;
}

.whitebutton::before{
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    width: 0px;
    height: 100%;
    background-color: white;
    color: black;
    transition: all .3s ease;
    z-index: -1;
}

.whitebutton:hover::before{
    width: 100%;
}


.promobutton{
    position: relative;
    display: inline-block;
    color: white;
    border: #FFF 1px solid;
    overflow: hidden;
    transition: all .3s ease;
    background: none;
}

.promobutton:hover{
	background-color: white;
    color: black !important;
}

/* *********************************************************
**
**
** PrivacyWire
**
**
********************************************************* */

.privacywire{
	background-color: #000 !important;
	color: #FFF !important;
}

.privacywire-body, .privacywire-header{
	max-width: 1320px;
	margin: 0 auto;
}

.privacywire-buttons button{
	position: relative;
    display: inline-block;
    padding: 20px 40px;
    color: white;
    border: white 1px solid;
    overflow: hidden;
    transition: all .3s ease;
    background: none;
}

.privacywire-buttons button:hover{
    color: black !important;
}

.privacywire-buttons button::before{
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    width: 0px;
    height: 100%;
    background-color: white;
    color: white;
    transition: all .3s ease;
    z-index: -1;
}

.privacywire-buttons button:hover::before{
    width: 100%;
}

/*
.privacywire-page-wrapper{
	text-align: center;
}
*/

.privacywire-text ul{
	list-style: none;
}

.privacywire-text input[type=checkbox]{
	height: 30px;
	width: 30px;
	margin-right: 15px;
}


/* *********************************************************
**
**
** PROMO
**
**
********************************************************* */

/*.promo-wrapper{
	background-color: black;
	color: white;
}*/

.promo-panel{
	/*border: #CCC 1px solid;*/
	padding: 20px;
}


/* *********************************************************
**
**
** service list
**
**
********************************************************* */

.mscol{
	/*border: #fff 1px solid;*/
	/*border-radius: 0px 0px 6px 6px;*/
	padding: 30px;
	/*background-color: white;*/
	background-color: #FFF;
	height: 100%;
	display: grid;
	justify-content: center;
	align-items: center;
}

.msscol{
	/*border: #fff 1px solid;*/
	/*border-radius: 0px 0px 6px 6px;*/
	padding: 30px;
	/*background-color: white;*/
	background-color: #FFF;
	/*height: 100%;*/
	display: grid;
	justify-content: center;
	align-items: center;
}

.serv-title{
	font-family: sofia-pro, sans-serif;
	font-weight: 300;
	font-style: normal;
}

.tussenhaakjes{
	display: inline-block;
	font-weight: 300;
	color: #f9a512;
	transform: rotate(-4deg);
    font-size: 80%;
}

.dikke-icon{
	font-size: 48px;
}

.serv-list{
	list-style: none;
	padding: 0;
	margin: 0;
}



.serv-link{
	position: relative;
	display: inline-block;
	color: black;
	/*font-size: 18px;*/
	font-family: sofia-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	border-bottom: #FFF 2px solid;
	transition: all .3s ease;
	overflow: hidden;
	background: none;
}

.serv-link:hover{
	color: #000;
	border-bottom: #ffba00 2px solid;
}

.serv-link::before{
    content: '';
    position: absolute;
	display: block;
    left: -10px;
	bottom: 0px;
    width: 10px;
    height: 4px;
    background-color: #ffba00;
    color: #FFF;
    transition: all .3s ease;
    /*z-index:-1;*/
}

.serv-link:hover::before{
    left: 100%;
}


/* *********************************************************
**
**
** SERVICES COMMON
**
**
********************************************************* */

.service-image-wrapper{
	position: relative;
	
}



.service-curtain{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .25);
}

.service-label{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.service-label h1{
	color: white;
	font-weight: 600;
}



/* *********************************************************
**
**
** TROEVEN
**
**
********************************************************* */
/*
.troeven-wrapper{
	background-color: white;
}
*/
.troeven-title{
	transform: rotate(0deg);
}

.troeven-text{
	font-family: sofia-pro, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 18px;
    line-height: 40px;
}


/* *********************************************************
**
**
** TEXT COMMON
**
**
********************************************************* */

.text-panel{
	position: relative;
}


/* *********************************************************
**
**
** FOOTER
**
**
********************************************************* */



footer{
	position: relative;
	font-family: sofia-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	background-color: black;
	color: white;
	z-index:0;
}


.footer-nav-btn{
	position: relative;
    display: inline-block;
    padding: 10px 20px;
	border: none;
    color: #FFF;
    overflow: hidden;
    transition: all .3s ease;
    background: none;
}
.footer-nav-btn:hover{
    color: #000 !important;
}

.footer-nav-btn::before{
    content: '';
    position: absolute;
	display: block;
    top: 50%;
    left: 50%;
	right: 50%;
	bottom: 50%;
    width: 0px;
    height: 0%;
    background-color: white;
    color: #FFF;
    transition: all .3s ease;
    z-index:-1;
}

.footer-nav-btn:hover::before{
    top: 0%;
    left: 0%;
	right: 0%;
	bottom: 0%;
    width: 100%;
    height: 100%;
}









.footer-linkto-map, 
.footer-mail-us, 
.footer-call-us, 
.naarkleineletterjes a{
	color: white;
	text-decoration: none;
	transition: all .5s ease;
	border: #000 1px solid;
}

.footer-mail-us, .footer-call-us{
	line-height: 60px;
	font-size: 18px;
}
.naarkleineletterjes a{
	font-size: 13px;
}

.footer-mail-us:hover, 
.footer-call-us:hover, 
.footer-linkto-map:hover, 
.naarkleineletterjes a:hover{
	border-bottom: #999 1px solid;
	color: white;
}

.line-play{
	position: relative;
	display: inline-block;
	overflow: hidden;
    transition: all .3s ease;
    background: none;
}
.line-play::before{
    content: '';
    position: absolute;
	display: block;
    left: -10px;
	bottom: 0px;
    width: 10px;
    height: 2px;
    background-color: white;
    color: #FFF;
    transition: all .3s ease;
	box-shadow: 0px -1px 2px white;
}

.line-play:hover::before{
    left: 100%;
}





/* *********************************************************
**
**
** 
**
**
********************************************************* */





@media only screen {
	header{
		height: 180px;
	}
	.hamburger-wrapper{
		top: 30px;
		left: 30px;
		height: 40px;
		width: 40px;
	}
	.hamburger{
		top: 0px;
		right: 0px;
		height: 40px;
		width: 40px;
	}
	.toggler{
		top: 0px;
		left: 0px;
		height: 40px;
		width: 40px;
	}
	.top-logo{
		max-height: 120px;
		margin: 20px auto;
	}
	.help-me{
		float: none;
		margin: 0px 0px 20px 0px;
		display: none;
	}
	.top-phonenumber{
		display: none;
	}
	.call-us{
		float: none;
		display: block;
	}
	.top-phone, .top-help{
		font-size: 16px;
	}
	.footer-nav-btn{
		font-size: 18px;
	}
	.footer-bullet{
		max-width: 300px;
	}
	#topmenu ul li a{
		padding: 10px 20px;
		font-size: 32px;
		text-decoration: none;
		border: none;
	}
	.topmenu-lang-select{
		font-size: 18px;
		text-decoration: none;
		border: none;
	}
	.topmenu-help{
		display: none;
		text-decoration: none;
		border: none;
	}
	.social-menu{
		left: 30px;
		top: 200px;
		text-decoration: none;
		border: none;
	}
	.serv-title{
		font-size: 24px;
	}
	.serv-link{
		font-size: 18px !important;
		line-height: 45px;
	}
	.service-label h1 i{
		font-size: 32px;
	}	
	.pagetitle{
        font-size: 24px;
    }
	.smalltext{
		font-size: 13px;
	}
	p{
		font-size: 16px !important;
	}
	.button, .whitebutton, .promobutton{
		padding: 12px 24px;
		text-align: center;
		margin: 0 auto;
	}
}

@media only screen and (min-width: 576px) {
	header{
		height: 240px;
	}
	.help-me{
		float: none;
		display: none;
		margin: 0px 0px 20px 0px;
	}
	.top-phonenumber{
		display: block;
	}
	.call-us{
		float: none;
		display: block;
	}
	.serv-link{
		font-size: 20px !important;
		line-height: 48px;
	}
}

@media only screen and (min-width: 768px) {
	.top-logo{
		max-height: 180px;
		margin: 20px auto;
	}
	.hamburger-wrapper{
		top: 30px;
		left: 30px;
		height: 64px;
		width: 64px;
	}
	.hamburger{
		top: 0px;
		right: 0px;
		height: 64px;
		width: 64px;
	}
	.toggler{
		top: 0px;
		left: 0px;
		height: 64px;
		width: 64px;
	}
	.top-phone, .top-help{
		font-size: 18px;
	}
	.footer-bullet{
		max-width: 360px;
	}
	.footer-nav-btn{
		font-size: 24px;
	}
	#topmenu ul li a{
		padding: 10px 20px;
		font-size: 54px;
	}
	.topmenu-lang-select{
		font-size: 24px;
	}
	.topmenu-help{
		display: block;
	}
	.social-menu{
		left: 30px;
		top: 45vh;		
	}
	.serv-title{
		font-size: 32px;
	}
	.serv-link{
		font-size: 24px !important;
		line-height: 54px;
	}
	.service-label h1 i{
		font-size: 48px;
	}	
	.pagetitle{
        font-size: 36px;
    }
	.smalltext{
		font-size: 14px;
	}
	p{
		font-size: 17px !important;
	}
	.button, .whitebutton, .promobutton{
		padding: 20px 40px;
		text-align: left;
		margin: 0;
	}
}

@media only screen and (min-width: 992px) {
	.help-me{
		float: left;
		display: block;
		margin: 0px 20px 0px 0px;
	}
	
	.call-us{
		float: left;
	}
	.top-phone, .top-help{
		font-size: 24px;
	}
	#topmenu ul li a{
		padding: 10px 20px;
		font-size: 64px;
	}
	.topmenu-lang-select{
		font-size: 32px;
	}
	.serv-title{
		font-size: 42px;
	}
	.serv-link{
		font-size: 32px !important;
		line-height: 54px;
	}
	.service-label h1 i{
		font-size: 64px;
	}
	.pagetitle{
        font-size: 42px;
    }
}

@media only screen and (min-width: 1200px) {
	
}

@media only screen and (min-width: 1400px) {
	#topmenu ul li a{
		padding: 10px 20px;
		font-size: 80px;
	}
	
}
