@charset "utf-8";


/*****************************
 *
 *  GENERAL PAGE STRUCTURE
 *  
 ****************************/
* {
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
}
body {
    min-height: 100%;
    font: 1em/1.5em sans-serif;
    color: #000;
    background: #fff;
}

/*****************************
 *
 *  ANIMATIONS
 *  
 ****************************/
@keyframes pulsate {
    0% {transform: scale(1); opacity: 1;}
    50% {opacity: 1.0;}
    100% { transform: scale(1.1); opacity: 1;}
    /*100% { transform: scale(1); opacity: 1; }*/
}
/*****************************
 *
 *  HEADER
 *  
 ****************************/

header {
    width: 100%;
    margin-top: 3em;
    height: 25em;
    background-image: url('/img/app-publica-vollenbroek2018/index_image.jpg');
    background-size: cover;
    background-position: 50% 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
header h1 {
    width: 30em;
    max-width: 70%;
    font-size: 1em;
    height: auto;
}
header a {
    display: block;
    width: 100%;
    height: 100%;
}
header a:hover {
    animation: pulsate .5s ease-out forwards;
}
header a img {
    display: block;
    width: 100%;
    max-width: 100%;
}


.index_projects {
    display: flex;
    width: 100%;
    justify-content: center;
    padding: 1em 0;
}
    .index_projects > a {
        width: 12em;
        background: #319fc8 url('/img/app-publica-vollenbroek2018/index_prj_all.png') 50% 1em no-repeat;
        background-size: 5em auto;
        height: 12em;
        color: white;
        margin: 0 1em;
        padding: 6em 1em 1em 1em;
        text-align: center;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    .index_projects > a:hover {
        animation: pulsate .5s ease-out forwards;
    }
        .index_projects > a.wiu { 
            background-image:  url('/img/app-publica-vollenbroek2018/index_prj_wiu.png'); 
            background-color: #1D5A8B;
        }
        .index_projects > a.ref { 
            background-image:  url('/img/app-publica-vollenbroek2018/index_prj_ref.png'); 
            background-color: #09144d;
        }
        .index_projects > a > span > span {
            display: block;
            font-size: 3em;
            margin: 0;
            padding: 0.25em;
            font-family: 'Righteous', cursive;
        }
/*****************************
 *
 *  NAVIGATION
 *  
 ****************************/
nav {
    position: fixed;
    z-index: 1000;
    background-color: #fff;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,.5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,.5);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,.5);
}
nav a#toggleMenu {
    background: url('/img/app-publica-vollenbroek2018/menu_open.png') top right no-repeat;
    background-size: auto 100%;
    padding-right: 1.5em;
    text-transform: uppercase;
    font-weight: 900;
    color: #000;
    text-decoration: none;
    font-family: 'Raleway', sans-serif;
    font-size: 1.6em;
    display: inline-block;
    margin: .5em auto;
    height: 1em;
}
nav a#toggleMenu.open {
    background-image: url('/img/app-publica-vollenbroek2018/menu_close.png');
}
nav ul {
    display: none;
    list-style: none;
    margin: 0;
    padding: .5em;
    background-color: #09144d;
}
nav ul li a {
    display: inline-block;
    font-family: 'Raleway', sans-serif;
    font-size: 1.5em;
    color: #fff;
    text-transform: uppercase;
    margin: .25em 0;
    padding: .3em;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 5px solid #09144d
}
nav ul li a:hover {
    border-bottom-color: #319fc8;
}

/*****************************
 *
 *  CONTENT
 *  
 ****************************/
 
 .content {
    width: 80%;
    padding: 1em;
    margin: 0 auto;
 }

 /* check seperate CSS file */


/*****************************
 *
 *  FOOTER
 *  
 ****************************/
footer {
    background-color: #09144d;
    color: #fff;
    width: 80%;
    margin: 2em auto 0 auto;
    padding: 1.5em;
    font-size: .8em;
    color: #fff;
    display: flex;
    justify-content: space-between;
}
footer > div {
    flex: 1 0 33.33%;
}
footer > div:nth-child(2) { text-align: center; }
footer > div:last-child { text-align: right; }
footer a {
    color: #fff;
    text-decoration: underline;
}
footer a:hover {
    text-decoration: none;
}
.social_media a {
    width: 3em;
    height: 3em;
    display: inline-block;
}
    .social_media a img {
        display: block;
        max-width: 100%;
    }

    .footer_box {
        padding-left: 3.5em;
        background: url('/img/app-publica-vollenbroek2018/footer_email.png') top left no-repeat;
        background-size: 2.5em auto;
        margin-bottom: 1em;
    }
    .footer_phone {
        background-image: url('/img/app-publica-vollenbroek2018/footer_phone.png')
    }
    .footer_location {
        background-image: url('/img/app-publica-vollenbroek2018/footer_location.png')
    }
    .footer_property {
        background-image: url('/img/app-publica-vollenbroek2018/footer_property.png')
    }
/*****************************
 *
 *  CONTACT PAGE
 *  
 ****************************/

.contact .contact-row {
    margin-bottom: 1.5em;
}
    .contact label {
    }
    .contact input,
    .contact textarea {
        display: block;
        width: 50%;
        border: 1px solid #319fc8;
        padding: .5em;
        color: #319fc8;
    }
    .contact input:focus,
    .contact textarea:focus {
        color: #1D5A8B;
        border-color: #1D5A8B;
    }
    .contact textarea {
        min-height: 120px;
        padding-top: 9px;
        padding-bottom: 13px;
    }
    .contact [type=submit] {
        padding: 0 5em;
        height: 3em;
        background-color: #319fc8;
        border-radius: 1.5em;
        font-size: 1em;
        color: #fff;
        text-transform: uppercase;
        outline: none !important;
        border: none;
    }
    .contact [type=submit]:hover {
        background: #09144d;
    }
    .contact .error-message {
        font-size: .9em;
        color: red;
    }
    .contact .error-message:before {
        content: "\2191";
        color: red;
        margin: 0 .5em 0 0;
    }


/*****************************
 *
 *  PROJECTEN
 *  
 ****************************/
.project_filter {
    margin: 1em 0;
    font-size: .7em;
}
.project_filter a,
.project_filter span {
    border: 1px solid #ccc;
    background-color: #fff;
    color: #333;
    display: inline-block;
    line-height: 2.8em;
    vertical-align: middle;
    text-align: center;
    height: 3em;
    text-decoration: none;
    margin-left: -4px;
    margin-bottom: .5em;
}
.project_filter span {
    min-width: 6em;
    padding: 0 .75em;
    border-radius: 3px 0 0 3px;
}
.project_filter a {
    /*border-radius: 0 3px 3px 0;*/
    padding: 0 .75em;
    color:  #aaa;
}
.project_filter span + a {
/*    border-color: #ccc #fff;*/
}
.project_filter a:last-child {
    border-right-color: #ccc;
    border-radius: 0 3px 3px 0;
}
.project_filter a:hover {
    background: #319fc8;  
    border-color: #319fc8;
    color: #fff;
}
.project_filter a.active {
    border-color: #1D5A8B; 
    background: #1D5A8B;
    color: #fff;
}


.projects_index {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.projects_index a {
    display: block;
}
.projects_index a span {
    display: block;
}


.projects_index > a {
    width: 14em;
    background: #fff;
    margin: 0 .5em 2em .5em;
    -webkit-box-shadow: 5px 5px 10px -5px #aaa;
    -moz-box-shadow: 5px 5px 10px -5px #aaa;
    box-shadow: 5px 5px 10px -5px #aaa;
    position: relative;
}
    .projects_index > a img {
        display: block;
        width: 100%;
        height: 9em;
        object-fit: cover;
    }
    .projects_index > a span {
        padding: .5em;
        margin: 0;
        font-size: 1.1em;
    }
    .projects_index > a span { color: #6699CC; }

.project_images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.project_images > a {
    display: block;
    width: 10em;
    height: 10em;
    overflow: hidden;
    background: #fff;
    margin: 0 .5em 1em .5em;
    -webkit-box-shadow: 5px 5px 10px -5px #aaa;
    -moz-box-shadow: 5px 5px 10px -5px #aaa;
    box-shadow: 5px 5px 10px -5px #aaa;
    border: 1em solid white;
    position: relative;
}
.project_images > a:after {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: white;
    opacity: 0.7;
    position: absolute;
    transform: scale(0);
    background: #fff url('/img/app-publica-vollenbroek2018/magnify.png') center center no-repeat;
    background-size: 60% 60%;
}
    .project_images > a:hover:after {
        animation: sheen .2s linear forwards;
    }
    
    @keyframes sheen {
        0% {
            transform: scale(0);
        }
        100% {
            transform: scale(1);
        }
    }

    
.project_images > a img {
    display: block;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    -o-object-fit: cover;
    object-fit: cover;

}


/********************
* PROJECT DETAIL PAGE
********************/
.project_detail {
	display: flex;	
}
.project_detail > div {
	flex: 1 0 50%;
}
	.project_detail_box > div {
		padding: 1em 1em 1em 3.5em;
		margin: 0 2em 2em 0;
		border-radius: .5em;
        background: #efefef url('/img/app-publica-vollenbroek2018/project_exec.png') .5em 1em no-repeat;
        background-size: 2.5em auto;
        margin-bottom: 1em;
	}
	.project_detail_box > div.pr_time { background-image: url('/img/app-publica-vollenbroek2018/project_time.png'); }
	.project_detail_box > div.pr_desc { background-image: url('/img/app-publica-vollenbroek2018/project_desc.png'); }
    

/*******************************
*
*    PAGINATION
*
********************************/
.pagination {
    margin: 0;
    font-size: .7em;
}
.pagination a,
.pagination span {
    border: 1px solid #ccc;
    background-color: #fff;
    color: #333;
    border-radius: 3px;
    display: inline-block;
    line-height: 2.8em;
    vertical-align: middle;
    text-align: center;
    width: 3em;
    height: 3em;
    margin: .25em;
    text-decoration: none;
}
.pagination a:hover {
    border: 1px solid #404d5e;  
}
.pagination a.active {
    border: 1px solid #404d5e;
    color: #404d5e;
    font-weight: 900;
}


.iconInfo {
    position: fixed;
    right: 10px;
    bottom: 10px;
    margin: 0;
    padding: 0;
}
    .iconInfo a {
        display: block;
        width: 55px;
        height: 70px;
        overflow: hidden;
        opacity: .7;
        -moz-transition: all 0.4s;
        -o-transition: all 0.4s;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
    }
        .iconInfo a:hover {
            width: 200px;
            opacity: 1;
        }
        .iconInfo a img {
            max-height: 100%;
        }
/*****************************
 *
 *  RESPRONSIVE VIEW
 *  
 ****************************/

@media all and (max-width: 50em) {

    header {
        height: 20em;
    }
    .index_projects {
        width: 100%;
        flex-direction: column;
        padding: 1em 1em 0 1em;
    }
        .index_projects > a {
            width: auto;
            height: 10em;
            flex: 1 0 100%;
            background-size: 6em auto;
            background-position: 1em 50%;
            padding: 1em 1em 1em 9em;
            text-align: left;
            margin: 0 0 1em 0;
            justify-content: flex-start;
            align-items: center;
        }
            .index_projects > a > span > span {
                padding: 0.25em 0;
            }
    .content {
        width: 100%;
    }

    footer {
        width: 100%;
        flex-direction: column;
    }
    footer > div {
        flex: 1 0 100%;
    }
    footer > div:last-child { text-align: left; }


	.project_detail { flex-direction: column; }
	.project_detail_box > div {
		padding: 1em 1em 1em 3.5em;
		margin: 0 0 2em 0;
	}
    .iconInfo {
        position: static;
    }
    .iconInfo a {
        margin: 2em auto;
        display: block;
        width: 30%;
        height: auto;
        overflow: auto;
        opacity: 1;
        -moz-transition: v;
        -o-transition: none;
        -webkit-transition: none;
        transition: none;
        text-decoration: none;
    }
    
    .iconInfo a:hover {
        width: 30%;
    }
    .iconInfo a:before {
        display: block;
        margin-bottom: .5em;
        content: 'Deze website is gemaakt door:';
        color: black;
        font-size: .7em;
    }
    .iconInfo a img {
        max-height: 100%;
        max-width: 100%;
    }
}

