.wrap {
	max-width: var(--wrap-width);
	padding: 2rem;
	margin: auto;
	width: 100%;
}

body {
    display: flex;
    flex-flow: column;
	font-size: 16px;
}

#site-header {
	background: var(--bright);
}

#site-main {
    flex: 1;
	background: var(--white);
}

#site-footer {
    background: var(--dark);
    color: var(--white);
}

.logo {
    margin: 0;
}


#site-header>.wrap {
    display: flex;
    flex-flow:  row;
    align-items: center;
}

#site-header {
    color: var(--dark);
}

#site-nav a {
    color: inherit;
    padding: 1rem;
    display: block;
}

#site-header .logo {
    margin-right: 2rem;
}

#site-nav>ul {
    display: flex;
    flex-flow: row wrap;
}

#navblock {
    margin-left: auto;
}

#site-nav li {
    margin-left: 1rem;
    font-weight: 500;
}

#site-nav li.active {
	font-weight: 700;
}


#site-footer>.wrap {
    display: flex;
    flex-flow: row;
	padding-top: 3rem;
	padding-bottom: 3rem;
}


#site-footer .logo {
    margin-bottom: 2rem;
}

#site-footer a {
	color: var(--white);
}

#footer-nav a {
	padding: 0.2rem 0;
	display: block;
	font-weight: 500;
}

#nav-col {
	margin: auto;
}

#logo-col {
    margin-right: 5rem;
}

#contact-col {
    margin-left: auto;
}

@media screen and (max-width: 768px) {
	#nav-col {
		display: none;
	}

	#site-footer>.wrap {
		flex-flow: column-reverse;
		text-align: center;
	}

	#site-footer .logo {
		margin: 2rem auto 1rem;
		width: 50%;
	}

	#navblock {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		right: 100%;
		transition: all 300ms;
		background: var(--dark);
		color: var(--white);
	}
	
	body.nav-open #navblock {
		right: 0;
	}

	#site-footer>.wrap {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}

	#site-nav>ul {
		flex-flow: column;
	}

	#site-header .logo {
		margin-right: 0;
		margin-left: auto;
		width: 60%;
	}
	
	#site-footer .col {
		margin: 0;
	}
}