/* style.css */
@font-face {
    font-family: 'Roboto-Bold';
    src: url('../fonts/Roboto-Bold.ttf') format('truetype');
}
@font-face {
    font-family: 'Roboto-Regular';
    src: url('../fonts/Roboto-Regular.ttf') format('truetype');
}

body {
    font-family: 'Roboto-Regular', sans-serif;
    font-size: 16px;
    margin: 0px;
    padding: 0px;
    /* background: #fff; */
    background: #666;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto-Bold', sans-serif;
    font-style: normal;
}
h1 {
    font-size: 40px;
    font-weight: 700;
}
h2 {
    font-size: 30px;
    font-weight: 700;
}
h3 {
    font-size: 25px;
    font-weight: 700;
}
h4 {
    font-size: 22px;
    font-weight: 700;
}
h5 {
    font-size: 20px;
    font-weight: 700;
}
h5, h6 {
    font-family: 'Roboto-Medium', sans-serif;
    font-size: 16px;
    font-weight: 700;
}

a {
    color: #46f;
}
a:link, a:visited {
    text-decoration: none;
    cursor: auto;
}
a:hover {
    text-decoration: underline;
}
a.button:hover {
    text-decoration: none;
}
nav a:link, nav a:visited,
nav a:link:active, nav a:visited:active {
    color: inherit;
}
nav a:hover {
    text-decoration: none;
}
footer.main a:link, footer.main a:visited,
footer.main a:link:active, footer.main a:visited:active {
    color: inherit;
}

address {
    font-style: normal;
}

.container {
    box-sizing: border-box;
    width: 100%;
}
@media (min-width: 1024px) {
    .container {
	margin-left: auto;
	margin-right: auto;
	width: 1024px;
    }
}
@media (min-width: 1280px) {
    .container {
	margin-left: 10vw;
	margin-right: 10vw;
	width: 80vw;
    }
}
@media (min-width: 1800px) {
    .container {
	margin-left: auto;
	margin-right: auto;
	width: 1440px;
    }
}

/* Navbar */
nav {
    background-color: rgba(68, 68, 68, 0);
    color: #fff;
    font-size: 20px;
    height: 62px;
    left: 0px;
    position: fixed;
    right: 0px;
    top: 0px;
    transition: background-color .3s, height .3s;
    z-index: 20;
}
nav h2.logo {
    display: block;
    float: left;
    font-size: 24px;
    line-height: 40px;
    margin: 5px 20px 5px 10px;
}
nav h2.logo img {
    height: 50px;
    transition: height .3s;
    width: auto;
}

/* make logo image bigger on desktops */
@media (min-width: 768px) {
    nav {
	height: 92px;
    }
    nav h2.logo img {
	height: 80px;
    }
}

body.scrolled nav {
    background-color: rgba(68, 68, 68, 1);
    height: 50px;
    transition: background-color .3s, height .3s;
}
body.scrolled nav h2.logo img {
    height: 40px;
    transition: height .3s;
}
body nav.expanded h2.logo img {
    height: 40px;
    transition: height .3s;
}

nav button.menu-button {
    background: transparent;
    border: none;
    box-sizing: border-box;
    color: #fff;
    display: block;
    float: right;
    font-size: 30px;
    height: 40px;
    margin-top: 5px;
    margin-right: 5px;
    padding: 5px;
    width: 40px;
}
@media (min-width: 768px) {
    nav button.menu-button {
	display: none;
    }
}
nav ul.menu {
    background-color: rgba(68, 68, 68, 1);
    box-sizing: border-box;
    list-style-type: none;
    margin: 0px;
    opacity: 0;
    padding: 0px 10px 0px 0px;
    position: fixed;
    top: 50px;
    transition: opacity .3s;
    width: 100%;
}
nav.expanded {
    background-color: rgba(68, 68, 68, 1);
    transition: background-color .3s;
}
nav.expanded ul.menu {
    opacity: 1;
}
nav ul.menu li {
    display: none;
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: right;
    width: 100%;
}
nav.expanded ul.menu li {
    display: block;
}
@media (min-width: 768px) {
    nav ul.menu {
	background: transparent;
	float: right;
	height: auto;
	opacity: 1;
	position: static;
	width: auto;
    }
    nav ul.menu li {
	display: inline-block;
	line-height: 40px;
	padding-left: 5px;
	padding-right: 5px;
	text-align: inherit;
	width: auto;
    }
}
@media (min-width: 1024px) {
    nav ul.menu li {
	padding-left: 10px;
	padding-right: 10px;
    }
}
nav ul.menu li:hover {
    background: #000;
    transition: background .3s;
}

/* Content */
div.main {
    background: #eae8e9;
    box-sizing: border-box;
    padding: 0px;
    width: 100%;
}

div.main > article,
div.main > section {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px; 
    width: 100%;
}
@media (min-width: 1024px) {
    div.main > article,
    div.main > section {	
	margin-left: auto;
	margin-right: auto;
	width: 1024px;
    }
}
@media (min-width: 1280px) {
    div.main > article,
    div.main > section {
        margin-left: 10vw;
	margin-right: 10vw;
	width: 80vw;
    }
}
@media (min-width: 1800px) {
    div.main > article,
    div.main > section {
	margin-left: auto;
	margin-right: auto;
	width: 1440px;
    }
}

/* Footer */
footer.main::before {
    background: linear-gradient(to bottom, rgba(0,0,0,.5), transparent);
    content: '';
    display: block;
    height: 15px;
    left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
}

footer.main {
    background: #666;
    box-sizing: border-box; /* added */
    color: #fff;
    font-size: smaller;
    height: auto;
    min-height: calc(100vh + 20px);
    position: relative;
    padding: 20px 10px 10px 10px;
    overflow: auto;
}
footer.main img.logo {
    display: block;
    height: 40px;
    margin-bottom: 10px;
    width: auto;
}
footer.main h5,
footer.main h6 {
    margin: 0px;
    font-style: normal;
}
footer.main h5 {
    font-size: 13px;
}
footer.main h6 {
    font-size: 11px;
}
footer.main ul {
    display: block;
    float: left;
    list-style-type: none;
    margin: 0px;
    padding: 0px;
    vertical-align: top;
}
footer.main ul.menu {
    display: none;
    margin-bottom: 20px;
}
footer.main ul.menu li {
    margin-top: 5px;
    margin-bottom: 5px;
}
footer.main ul.offices li {
    display: block;
    float: left;
    vertical-align: top;
    margin-bottom: 20px;
    width: 100%;
}
@media (min-width: 768px) {
    footer.main {
	min-height: 0;
    }
    footer.main ul.menu {
	display: block;
    }
    footer.main ul.offices li {
	width: 33%;
    }
}
@media (min-width: 1024px) {
    footer.main ul.menu {
	width: 20%;
    }
    footer.main ul.offices {
	width: 60%;
    }
    footer.main ul.offices li {
	width: 33%;
    }
}
footer.main ul.offices li dl dt,
footer.main ul.offices li dl dd {
    float: left;
    margin: 0px;
}
footer.main ul.offices li dl dt {
    clear: left;
    margin-right: 5px;
}
footer.main ul.offices li dl dt:last-of-type {
    display: none;
}
footer.main ul.offices li dl dd:last-of-type {
    margin-top: 10px;
    width: 100%;
}
