/*----- MAIN STYLES -----*/
body{
    background: #fff;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.45;
    font-size: 12px;
    color:#AE0F0A;
}
h1{
    font-size: 44px;
    line-height: 1;
    margin: 0 0 40px;
}
a{
    font-family: inherit;
    text-decoration: none;
    color: inherit;
}
strong {
    font-weight: bold;
}
/* --- GRID STYLES --- */
.row{
    margin:-13.5px;
}
.row:before, .row:after{
    content:"";
    display:table;
}
.row:after{
    clear:both;
}
.col{
    display: block;
    padding: 13.5px;
    float: left;
    position: relative;
}
.col.offset-1{
    margin-left: 247px;
}
.col.empty{
    width: 220px;
    height: 220px;
}
.cs-2.empty{
    width: 467px;
}
.col.cs-1{
    width: 220px;
}
.col.cs-2{
    width: 467px;
}
.col.rs-2{
    height: 467px;
}
.block:before, .block:after{
    content:"";
    display:table;
}
.block:after{
    clear:both;
}
.left{
    float: left;
}
.right{
    float: right;
}
/*----- PAGE STYLES -----*/
html, body{
    height: 100%;
}
#page{
    height: 100%;
}
#page #scroll-wrapper{
    padding: 0 27px;
    max-width: 1455px;
}
/*----- HEADER STYLES -----*/
header{
    text-transform: uppercase;
    max-width: 1455px;
    padding-top: 27px;
    position: relative;
}
header #logo{
    display: block;
    width: 115px;
    height: 115px;
    overflow: hidden;
    text-indent: -9999px;
}
.svg header #logo{
    background: url('images/logo.svg') no-repeat top left;
}
header aside{
    line-height: 16px;
}
#languages > *{
    display: block;
    float: left;
    margin-left: 0.5em;
    padding-left: 0.5em;
    position: relative;
    line-height: 12px;
}
#languages > *:first-child{
    padding-left: 0px;
    margin-left: 0px;
}
#languages span{
    text-decoration: underline;
}
#languages > *:before{
    content:'|';
    display: block;
    position: absolute;
    left: -1px;
}
#languages > *:first-child:before{
    content: '';
}
#sub-title .sw-logo{
    display: block;
    margin-top: 3px;
    width: 27px;
    height: 27px;
    background: url('images/sw-logo.png') no-repeat center center;
}
.svg #sub-title .sw-logo{
    background: url('images/sw-logo.svg') no-repeat center center;
}
header .nav{
    clear: both;
}
#main-menu{
    text-align: left;
}
#main-menu a{
    display: block;
    position: relative;
}
.concept #main-menu a.concept:after,
.history #main-menu a.history:after,
.products #main-menu a.products:after,
.contacts #main-menu a.contacts:after {
    content: '<';
    display: block;
    position: absolute;
    right: 0px;
    top: -1px;
}
#nav-toggle{
    width: 27px;
    display: block;
    position: absolute;
    right: 0px;
    top: 75px;
    display: none;
}
.open #nav-toggle{
    right: 27px;
}
#nav-toggle span{
    display: block;
    height: 2px;
    margin: 4px 0 0;
    background: #AE0F0A;
}
#nav-toggle span:first-child{
    margin-top: 0px;
}
/*----- FOOTER STYLES -----*/
footer {
    padding:0 0 27px;
}
/*----- FANCYBOX STYLES -----*/
.fancybox-skin {
    background: transparent;
    color: #fff;
    text-align: center;
}
.fancybox-opened .fancybox-skin {
    box-shadow: none;
}
.fancybox-overlay {
    background: #1D1D1B;
}
#fancybox-buttons a {
    font-size: 29px;
    line-height: 29px;
    position: absolute;
    color: #fff;
    top: 50%;
    margin-top: -14.5px;
    z-index: 9999;
}
#fancybox-buttons .btnClose {
    right: 27px;
    top: 27px;
    margin-top: 0;
}

#fancybox-buttons .btnPrev{
    left: 27px;
}
#fancybox-buttons .btnNext{
    right: 27px;
}
/*----- MAIN STYLES -----*/
#main{
    padding: 110px 0;
}
/* Home styles */
.slider{
    width: 100%;
    max-width: 1455px;
}
.slider article{
    overflow: hidden;
    background-position: center center;
    background-size: cover;
}
.slider article.active{
    opacity: 1;
}
.slider article img{
    width: 100%;
    display: block;
}
/* History, Products, Concept styles */
.col > a.popup-image{
    display: block;
    position: relative;
}
.col .description{
    margin: 17px 0;
}
.col .description.simple{
    margin-top: 0px;
}
.col img{
    display: block;
}
.col img.last{
    margin-top: 27px;
}
.col .read-more:hover{
    text-decoration: underline;
}
.col .read-more:after{
    content: '>';
    display: inline-block;
    margin-left: 5px;
}
.info {
    display: none;
    width: 100vw;
    max-width: 100%;
}
#main.contacts {
    padding-bottom: 220px;
}
/*
.hyphenate {
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
}
*/