/***** Import the reset and the @font-face rules *****/

@import url("reset-type.css");


/*************** Basic Rules ***************/

body {
    font-family: FuturaStdBook, sans-serif;
    color: #333;
    font-size: 16px;
}

#page {
    width: 960px;
    margin: auto;
}

a {
    text-decoration: none;
}


/*************** Header & Logo Rules ***************/

header {
    height: 110px;
    padding-top: 15px;
    position: relative;
}

.logo {
    display: block;
    position: relative;
}

.logo img {
    width: 90px;
}

.logo h1 {
    color: #5d5d5d;
    text-transform: uppercase;
    font-size: 24px;
    position: absolute;
    top: 41px;
    left: 42px;
}

.logo h2 {
    font-family: FuturaStdLightCondensedOblique;
    color: #5d5d5d;
    font-size: 24px;
    position: absolute;
    top: 70px;
    left: 80px;
}


/*************** Navigation Rules ***************/

nav {
    position: absolute;
    right: 0;
    bottom: 0;
}

nav ul {
    display: flex;
}

nav li {
    /* Float removed - Flexbox controls the layout */
}

nav a {
    display: block;
    padding: 10px 15px;
    font-family: FuturaStdBoldCondensed;
    font-size: 20px;
    text-transform: uppercase;
    color: #e66b5b;
    background: #d5d5d5;
}

nav a:hover {
    color: #017c8d;
}


/*************** Map Rules ***************/

#map {
    height: 454px;
    position: relative;
}

#map img {
    display: block;
}

#map a {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 15px;
    font-family: FuturaStdBoldCondensed;
    font-size: 24px;
    color: #bdbf55;
}

#map a:hover {
    color: #e66b5b;
}


/*************** Top Rules ***************/

#top {
    display: flex;
}

.col {
    width: 200px;
    padding: 20px;
}

#top .col {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#top .col p {
    text-align: center;
    font-family: FuturaStdLightCondensed;
    font-size: 24px;
    line-height: 1.5em;
}

.people {
    background: #bebe55;
}

.technology {
    background: #e66b5b;
}

.solutions {
    background: #8ac4c5;
}

.projects {
    background: #017c8d;
}


/*************** Content Rules ***************/

#content {
    display: flex;
}

#content > img {
    width: 480px;
}

#content article {
    width: 440px;
    padding: 20px;
}

#content h1 {
    font-family: FuturaStdBoldCondensed;
    font-size: 32px;
    margin-bottom: .5em;
    color: #5c5c5c;
}

#content p {
    margin-bottom: 1em;
    line-height: 1.5em;
}


/*************** Footer Rules ***************/

footer {
    display: flex;
    flex-wrap: wrap;
    background: #5c5c5c;
    padding: 30px;
    color: #ebebeb;
}

footer a {
    color: #ebebeb;
}

footer .logo {
    width: 210px;
}

footer .logo img {
    width: 90px;
}

footer .logo h1 {
    color: #ebebeb;
}

footer ul {
    width: 170px;
    margin-bottom: 1em;
}

footer p {
    width: 220px;
    margin-bottom: 1em;
    line-height: 1.3em;
}


/*************** Small Map Rules ***************/

#small-map {
    height: 150px;
}

#small-map img {
    display: block;
}


/*************** Middle Rules - Template 1 ***************/

#middle a {
    color: #017c8d;
}

.thirds-layout #middle {
    background: url(images/33-66bg.gif) repeat-y;
    display: flex;
}

.thirds-layout aside {
    width: 320px;
    padding-bottom: 30px;
}

#middle article {
    padding: 20px;
}

.thirds-layout #maincontent {
    width: 640px;
}

#middle #maincontent img {
    margin-bottom: 20px;
}


/*************** Middle Typography ***************/

#middle h1 {
    font-family: FuturaStdBoldCondensed;
    font-size: 32px;
    margin-bottom: .5em;
    color: #5c5c5c;
}

#middle p {
    margin-bottom: 1em;
    line-height: 1.5em;
}

/*************** Newsletter Rules ***************/

#newsletter {
    display: flex;
    width: 100%;
}

#newsletter input[type="text"] {
    flex: 1;
    min-width: 0;
    border: 2px solid #5c5c5c;
    border-right: none;
    padding: 8px;
    height: 40px;
    box-sizing: border-box;
}

#newsletter input[type="submit"] {
    width: 45px;
    flex-shrink: 0;
    text-align: center;
    font-family: FuturaStdBoldCondensed;
    border: 2px solid #5c5c5c;
    background: #017c8d;
    color: #ebebeb;
    height: 40px;
    font-size: 20px;
    box-sizing: border-box;
}


/*************** Template 2 - Half Layout ***************/

.half-layout #middle {
    background: url(images/50-50bg.gif) repeat-y;
    display: flex;
}

.half-layout aside {
    width: 480px;
    padding-bottom: 30px;
}

.half-layout #maincontent {
    width: 480px;
}

.globe {
    margin-right: 20px;
}


/*************** Blog Rules ***************/

#maincontent h2 {
    font-family: FuturaStdBoldCondensed;
    font-size: 24px;
    margin-bottom: .2em;
    text-transform: uppercase;
}

#maincontent .date {
    font-family: FuturaStdLightCondensedOblique;
}


/*************** Project Rules ***************/

.half-layout aside h2 {
    font-family: FuturaStdBoldCondensed;
    font-size: 24px;
    margin-bottom: .2em;
    color: #5c5c5c;
}

.half-layout aside article {
    display: flex;
}