/* TYPE SCALE Minor Third 16, 19, 23, 28, 33, 39 */

/* RESETS */

*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

:active, :focus {
    outline: 0;
}

body {
    line-height: 1;
    min-height: 100%;
    overflow-y: scroll;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a, abbr, acronym, address, applet, b, big, blockquote, body, caption, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, input, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, tt, u, ul, var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 100%;
    vertical-align: baseline;
    cursor: default;
}

a, a *, button, input[type="submit"] {
    cursor: pointer;
    * {
        cursor: pointer;
    }
} 

a {
    color: inherit;
}

button::-moz-focus-inner, input::-moz-focus-inner { 
  padding: 0;
  border: 0;
}

figure {
    margin: 0;
    padding: 0;
}

img {
    vertical-align: bottom;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/* MAIN */

body {
    background: #fff;
    color: #000;
    line-height: 1.5em;
}

@media (min-width: 980px) {
    body {
        margin-top: 89px;
    }
}

.bold {
    font-weight: 400;
}

/* HEADER */

.header {
    min-width: 960px;
    
    border-bottom: 1px solid #000;
    background: #fff;
}

@media (min-width: 980px) {
    .header {
        z-index: 9999;
        position: fixed;
        top: 0;
        left: 50%;
        margin-left: -480px;
    }
}

/* NAVIGATION */

.navigation {
    display: block;
    font-size: 0;
}

.navigation-home {
    display: inline-block;
    padding-top: 32px;
    padding-bottom: 32px;
    font-family: "roboto", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: uppercase;  
    text-decoration: none;
}

.navigation-home:hover {
    color: #03A9F4;
}

.navigation-list {
    text-align: right;
}

.navigation li {
    display: inline-block;
    margin-left: 30px;
    font-family: "roboto", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: uppercase;
}

.navigation li a {
    display: inline-block;
    padding-top: 32px;
    padding-bottom: 32px;
    text-decoration: none;
}

.navigation li a:hover {
    color: #03A9F4;
}

.current-navigation-home a.navigation-home,
.current-navigation-publications a.navigation-publications,
.current-navigation-software a.navigation-software,
.current-navigation-models a.navigation-models,
.current-navigation-manufacturing a.navigation-manufacturing {
    color: #03A9F4;
}

/* CONTENT */

.content {
    padding-top: 48px;
    padding-bottom: 48px;
}

/* SIDEBAR */

.sidebar {
    position: relative;
    height: 600px;
}

.sidebar-instructions {
    position: absolute;
    bottom: 0;
}

/* FEATURE */

.feature + .feature {
    margin-top: 48px;
}

.feature + .feature_subtract {
    margin-top: 28px;
}

.feature_space {
    margin-top: 48px;
}

.feature_space_bottom {
    margin-bottom: 48px;
}

.feature-title {
    margin-bottom: 16px;
    font-family: "roboto", sans-serif;
    font-size: 18px;
    font-weight: 300;
    font-weight: 500;
    text-transform: uppercase;
    color: #03A9F4;
    color: #000;
    letter-spacing: .1em;
}

.feature-title_lowercase {
    text-transform: none;
}

.feature-text {
    font-family: "roboto", sans-serif;
    font-size: 14px;
    font-weight: 300;
}

.feature-type {
    font-weight: 400;
}

.feature-text + .feature-text {
    margin-top: 16px;
}

.feature-link {
    font-size: 14px;
    text-decoration: underline;
}

.feature-link:hover {
    color: #03A9F4;
}

.feature-list {
    font-family: "roboto", sans-serif;
    font-size: 14px;
    font-weight: 300;
    list-style-position: inside;
    list-style-type: disc;
}

.feature-list-item {
    font-family: "roboto", sans-serif;
    font-size: 14px;
    font-weight: 300;
}

.feature-list-item h3 {
    font-weight: 400;
    font-size: 14px;
}

.feature-list-item + .feature-list-item {
    margin-top: 16px;
}

/* THUMBNAILS AND IMAGES */

.thumbnail {
    position: relative;
    opacity: 1;
    padding: 20px;
    background: #f8f8f8;
}

.thumbnail-overlay {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 20%;
    padding: 20px;
    text-align: center;
    background: #03A9F4;
    color: #fff;
    opacity: 0;
    transition: .2s opacity;
    font-family: "roboto", sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.thumbnail:hover .thumbnail-overlay {
    opacity: .9;
}

.row + .row {
    margin-top: 20px;
}

.image_software {
    text-align: center;
    margin-top: 30px;
}

/* BOX */

.box_x3d {
    border: 1px solid #03A9F4;
    padding: 40px;
    margin-bottom: 48px;
}

/* FOOTER */

.footer {
    font-family: "roboto", sans-serif;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
}

.footer-div {
    padding-top: 32px;
    padding-bottom: 24px;
    border-top: 1px solid #000;
}

/* GRID */

.grid {
    margin: 0 auto;
    width: 960px;
}

.column {
    display: block;
    float: left;
    margin-left: 10px;
    margin-right: 10px;
}

.column.one {
    width: 60px;
}

.column.two {
    width: 140px;
}

.column.three {
    width: 220px;
}

.column.four {
    width: 300px;
}

.column.five {
    width: 380px;
}

.column.six {
    width: 460px;
}

.column.seven {
    width: 540px;
}

.column.eight {
    width: 620px;
}

.column.nine {
    width: 700px;
}

.column.ten {
    width: 780px;
}

.column.eleven {
    width: 860px;
}

.column.twelve {
    width: 940px;
}

.push-one {
    position: relative;
    left: 80px;
}

.push-two {
    position: relative;
    left: 160px;
}

.push-three {
    position: relative;
    left: 240px;
}

.error {
    margin: 10px 0;
    padding: 10px 20px;
    background: #cc0000;
    color: #fff;
    text-align: center;
}

.internetExplorer {
    display: none;
}

.isInternetExplorer .internetExplorer {
    display: block;
}

x3d {
    width: 100% !important;
    height: 600px !important;
}
