/*
###########################################################
#
# Filename:			body.css
#
# Copyright:		S-Inside
# Project:			Bureau Bex
# Platform:			CSS
# Date created: 	18-03-2017
#
    used colours for this website:
	#ecba00			yellow
	#367ba6			light blue
#
###########################################################
*/

body {       
    margin: 0px;
    padding: 0px;
	background-color: #fff;
  	color: #000;
}

img {border: 0px;}

body,table,td,th,div,input,select,textarea,a,h1,h2,h3,h4,h5,h6,span {
	font-family: "Dosis", sans-serif;
	font-size: 1.0em;
}
h1 {
	font-size: 1.2em;
	/*text-transform: uppercase;*/
}
.yellow {
	/*color: #ecba00 !important;*/
}

#contentblock1 {
	position: relative;
	width: calc(100% - 20px);
	max-width: 1040px;
	margin: auto;
	left: 5px;
	text-transform: uppercase;
	color: #000;
}
#contentblock2 {
	position: relative;
	top: 60px;
	left: calc(50% + 4px);;
	transform: translate(-50%, -50%);
	width: 33%;
	min-width: 300px;
	color: #000;
}
#contentblock2 div {
	font-size: 0.8em;
}
#contentblock2 h1 {
	margin: 0px;
	font-size: 1.0em;
	color: #000;
}
div.container, div.footerrow_container, div.menu_container {
	position: relative;
	top: 120px;
	width: calc(100% - 20px);
	max-width: 1040px;
	margin: auto;
	padding: 10px;
}
div.footerrow_container {
	top: -16px;
}
div.header {
	position: fixed;
	width: 100%;
	height: 120px;
	background: #fff;
	color: #000;
	z-index: 1000;
}
div.logorow {
	width: calc(100% - 20px);
	max-width: 1040px;
	margin: auto;
	background: #fff;
	color: #000;
	z-index: 1000;
}
div.logo {
	position: relative;
	top: 5px;
	left: 5px;
	width: 33%;
}
img.logo {
	width: 100%;
	max-width: 440px;
}
div.content {
	min-height: 600px;
}
body.page div.content {
	width: 100%;
	min-height: 800px;
}
div.inhoud, div.inhoud_smal {
	line-height: 24px;
	min-height: 300px;
	font-size: 0.9em;
}
div.inhoud a, div.inhoud_smal a {
	color: #ecba00;
}

/* portfolio grid */
div.grid_container  {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}
body.grid div.grid_container::after {
	content: "";
	flex: auto;
}
div.griditem {
	position: relative;
	cursor: pointer;
	text-align: center;
	margin-bottom: 5px;
	width: 32%;
	min-width: 330px;
	height: 240px;
	/*border-top: 1px solid #ddd;*/
	padding-bottom: 50px;
}
body.grid div.griditem {
	margin-bottom: 20px;
}
body.grid_home div.griditem {
	border: none;
	padding-bottom: 0px;
}
h1.gridtitle {
	display: none;
}
div.gridtext_small {
	position: absolute;
	text-align: left;
	max-height: 40px;
	margin-top: -10px;
	width: 30%;
	min-width: 320px;
	padding: 10px;
	transition: all 1s ease-in-out;
	z-index: 1;
	background: #fff;
}
div.gridtext_big {
	position: absolute;
	max-height: 40px;
	margin-top: -24px;
	width: 30%;
	min-width: 320px;
	padding: 10px;
	background: #fff;
	transition: all 1s ease-in-out;
	z-index: 2;
	text-align: left;
}
div.gridtext_expand {
	max-height: 1000px;
	border-bottom: 1px solid #ddd;
}
.hide_ellement {
	display: none;
}
div.gridtext_small a, div.gridtext_big a {
	color: #ecba00;
}
div.gridtext_dots {
	content: '...';
}
div.gridimg {
	width: 100%;
	height: 230px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transition: all 0.3s ease-in-out;
}
div.griditem gridimg:hover {
	opacity: 0.8;
	/*transform: scale(1);*/
}
body.grid div.gridimg {
	/*transform: scale(0.90);
	filter: grayscale(100%);*/
}	
body.grid div.gridimg:hover {
	/*filter: grayscale(0%);*/
}	


div.footermenu {
	margin-top: 40px;
	margin-bottom: 40px;
}
div.footerrow  {
	clear: both; /* for contact page, floats there */
	position: relative;
	height: 100px;
	top: 140px;
	/*border-top: 1px solid #ecba00;
	border-bottom: 1px solid #ecba00;*/
	background-color: #367ba6;
}
div.footer_container {
	
}
div.footer_item {
	float: left;
	width: 49.5%;
	min-width: 360px;
	font-size: 1em;
	text-transform: uppercase;
	height: 100px;
	color: #fff;
}
div.footer_item ul {
	list-style: none;
	margin-left: -40px;
	margin-top: 20px;
}
div.footer_item ul li {
	line-height: 18px;
	font-size: 0.8em
}
div.footer_item ul li.black {
	color: #000;
}
div.footer_item ul li a {
	color: #fff;
	text-decoration: none;
}
div.footer_item ul li a:hover {
	text-decoration: underline;
}
div.footer_logos {
	margin-top: 16px;
	height: 40px;
}
div.footer_item_right ul {
	margin-top: 0px;
}
span.footer_tel {
	display: inline-block;
	width: 32px;
	height: 32px;
	margin-right: 8px;
	background-image: url("../img/bel_me.svg");
}
span.footer_tel:hover {
	background-image: url("../img/bel_me_mo.svg");
}
span.footer_mail {
	display: inline-block;
	width: 32px;
	height: 32px;
	background-image: url("../img/mail_me.svg");
}
span.footer_mail:hover {
	background-image: url("../img/mail_me_mo.svg");
}
div.footer_item_left {
	text-align: left;
}
/*div.footer_item_midle {
	text-align: center;
}
div.footer_item_midle img {
	margin-top: 24px;
	margin-right: 4px;
	margin-left: 4px;
}*/
div.footer_item_right {
	text-align: right;
}



div.headermenu {
	float: right;
	position: relative;
	top: -240px;
	right: 20px;
	line-height: 34px;
	font-size: 9pt;
	color: #000;
}
.headermenu:before{
    content: '';
    position: fixed;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    left: 0px;
    top: 0px;
    z-index: 90;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
}
#menu1 {
    display: block;
    width: 200px;
    min-width: inherit;
    background: #fff;
    float: none;
    position: absolute;
    left: initial;
    top: -70px;
    right: -40px;
    font-size: 1rem;
    height: auto;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    visibility: hidden;
	z-index: 100;
}
#menu1 ul {
    width: 100%;
	list-style: none;
}
#menu1 > ul{
    width: 200px;
    margin-left: -55px;
    margin-bottom: 20px;
    margin-top: 120px;
	list-style: none;
}
#menu1 > ul::after {
  content: "";
  clear: both;
  display: table;
}
#menu1 li{
    width: 100%;
    text-align: right;
    position: relative;
}
#menu1 li a{
    width: calc(100% - 28px);
}
#menu1 > ul > li > a {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 15px;
	line-height: 40px;
	text-decoration: none;
	color: #000;
}
#menu1 ul.submenu li a{
    width: calc(100% - 28px);
    border: 0px;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    padding-top: 2px;
    padding-bottom: 2px;
    transition: all 0.2s ease-in-out;
    float: right;
}
#menu1 ul.submenu li a:hover{
    padding-right: 30px;
}
#menu1 li.expand ul{
    transition: all 0.5s ease-in-out;
    max-height: 0px;
    overflow: hidden;
    margin: 0px;
    padding: 0px;
}
#menu1 li.expand.open ul{
    max-height: 500px;
}
#menu1 > ul > li > a:before{
    content: '';
    display: block;
    position: absolute;
    width: 5px;
    height: 5px;
    /*border-radius: 10px;
    background: #000;*/
    right: 0px;
    top: 14px;
}
#menu1 > ul > li.open > a:before{
    display: none;
}
#menu1 > ul > li.open > a:after{
    content: '-';
    display: block;
    position: absolute;
    right: -2px;
    top: 2px;
    font-size: 21px;
}
.menubutton{
    position: absolute;
    z-index: 300;
    right: 30px;
	top: 18px;
    font-size: 14px;
}
.menubutton:before{
    content: '';
    display: block;
    position: absolute;
    top: 30px;
	height: 30px;
	width: 50px;
    background-image: url("../img/menu.png");
    background-position: right center;
    background-repeat: no-repeat;
	cursor: pointer;
}

#menu2 {
	/*padding-top: 10px;*/
}
#menu2 ul {
	list-style: none;
	margin-left: -40px;
	margin-top: -10px;
}
#menu2 li {
	float: left;
}
#menu2 a {
	font-size: 0.7em;
	margin-right: 5px;
	text-transform: uppercase;
	text-decoration: none;
	color: #000;
}
#menu2 a:after {
	content: "/";
	margin-left: 5px;
}
div.witruimte {
	position: relative;
	height: 40px;
	top: 120px;
}
span.copyright {
	font-size: 0.7em;
	text-transform: uppercase;
}

iframe.google_map {
	width: 400px;
	max-width: 100%;
}
@media screen and (min-width: 1024px) {
    .headermenu:hover #menu1{
        opacity: 1;
        right: -40px;
        top: -40px;
        visibility: visible;
    }
    .headermenu:hover:before{
        opacity: 0.2;
    }
}
@media screen and (max-width: 1023px) {
	div.container, div.grid_container, div.menu_container {
		max-width: calc(100% - 40px);
		margin: auto;
	}
	div.grid_container {
		max-width: 100%;
	}
	div.footermenu {
		margin-top: 40px;
		margin-left: 40px;
	}
	div.logorow {
		max-width: 320px;
		margin: auto;
	}
	div.logo {
		width: calc(50% - 20px);
		left: 26px;
	}
	#contentblock1 {
		left: 38px;
	}
	div.griditem {
		width: 48% !important;
	}
	#contentblock2 {
		width: 80%;
		margin: auto;
	}
    .headermenu.open #menu1{
        opacity: 1;
        right: -20px;
        top: -40px;
        visibility: visible;
    }
    .headermenu.open:before{
        opacity: 0.2;
    }
    .menubutton{
        cursor: pointer;
        right: 70px;
    } 
    div.headermenu{
        right: 0px;
    } 

    iframe.google_map {
        width: 100%;
    }
}
@media screen and (max-width: 820px) { 
	div.griditem {
		width: 100% !important;
	}
	div.logorow {
		max-width: 100%;
		margin: auto;
		margin-bottom: 20px;
	}
	div.logo {
		width: 80%;
		left: 22px;
		top: 10px;
	}
	img.logo {
		width: 100%;
		max-width: 320px;
	}
	#contentblock1 {
		width: calc(100% - 20px);
		max-width: 760px;
		left: 30px;
	}  
	#contentblock2 {
		left: -5px;
		top: 0px;
		transform: none;
	}
	div.footer_item_left {
		display: none;
	}
	div.footer_item_midle {
		width: 100%;
		margin: auto;
	}
	div.footer_item_right {
		width: 100%;
		margin: auto;
		padding-bottom: 20px;
		text-align: center
	}
    .menubutton{
        cursor: pointer;
        right: 30px;
    } 
	.menubutton:before{
		top: -10px;
	}
	div.cms_form {
		width: 100%;
	}
	div.inhoud {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 420px) {   
    #menu1 > ul{
        /*margin-left: 94px;*/
    }
	div.logo {
		width: 240px;
		left: 0px;
	}
	#contentblock1 {
		width: calc(100% - 25px);
		left: 10px;
	}  
	.menubutton:before {
		top: 0px !important;
		height: 30px;
		width: 40px;
		background-size: contain;
	}
}

@-ms-viewport{
  width: device-width;
}


/* form items */
div.cms_form {
	/*width: 450px;*/
	float: left !important;
}

[type="color"], [type="color"], [type="date"], [type="datetime-local"], [type="datetime"], [type="email"], [type="file"], [type="month"], [type="number"], [type="password"], [type="search"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea {
    background: #ddd;
    border: none;
    border-radius: 0;
    box-shadow: 0 0 5px rgba(219, 219, 219, 0.5);
    color: #000;
    display: block;
    font-size: 13px;
    height: 35px;
    padding: 8px 0 8px 15px;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
#foutmelding {
	display: none;
	font-size: 10pt;
	position: absolute;
	padding: 20px;
	top: 180px;
	left: 30%;
	width: 400px;
	height: 300px;
	z-index: 200;
	border: 2px solid #b9b1ab;
	background: #f1f1f1;
	color: #000;
}
/*
.textbox, .textbox_pc, .textbox_klein, .textbox_groot, select.dropbox, textarea.areabox, input.box {
	width: 340px;
    height: 20px;
    line-height: 20px;
    border: 1px solid #000000;
	font-size: 8pt;
    font-weight: bold;
	background-color: #d2d4d8;    
	color: #000000; 
}
.textbox_pc {width: 60px;}
.textbox_klein {width: 270px;}
.textbox_groot {width: 400px;}
textarea.areabox {height: 80px;}
select.dropbox {width: 344px; height: 20px;}*/

.knop, .knop_klein {
	font-weight: bold;
	width: 120px;
	height: 30px;
	line-height: 24px;
	cursor: pointer;
  	border-top: 2px solid #ccc;
  	border-left: 2px solid #ccc;
  	border-right: 2px solid #555;
  	border-bottom: 2px solid #555;
  	background-color: #000;
  	color: #fff;
}
.knop_klein {width: 80px;}

span.captcha_field {
	text-transform: lowercase;
}
.kleintekst, .captcha_explain {
	font-size: 8pt;
}

.redtext {
	font-size: 10pt;
  	font-weight: bold;
  	background-color: inherit;
  	color: #c80202;
}

.greentext {
	font-size: 10pt;
  	font-weight: bold;
  	background-color: inherit;
  	color: #0e6e0e;
}





