/*  ----------  FONTS  ----------  */
@font-face {
    font-family: 'Proxima Nova Black';
    src: url('../fonts/mark_simonson_-_proxima_nova_black-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_black-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_black-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova Bold';
    src: url('../fonts/mark_simonson_-_proxima_nova_bold-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_bold-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_bold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova Extra Bold';
    src: url('../fonts/mark_simonson_-_proxima_nova_extrabold-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_extrabold-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_extrabold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova Light';
    src: url('../fonts/mark_simonson_-_proxima_nova_light-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_light-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_light-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/mark_simonson_-_proxima_nova_regular-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_regular-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova SemiBold';
    src: url('../fonts/mark_simonson_-_proxima_nova_semibold-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_semibold-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_semibold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Proxima Nova Thin';
    src: url('../fonts/mark_simonson_-_proxima_nova_thin-webfont.woff2') format('woff2'),
    url('../fonts/mark_simonson_-_proxima_nova_thin-webfont.woff') format('woff'),
    url('../fonts/mark_simonson_-_proxima_nova_thin-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}


/*  ----------  BASIC STYLES  ----------  */

html, body {
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html {
    overflow-x: hidden;
}

body{
    font-family: 'Proxima Nova', 'Arial', 'Verdana';
    color: #404040;
    font-size: 16px;
    line-height: 1.625;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#layout .section{
    padding-top: 90px;
    padding-bottom: 90px;
}


.container{
    max-width:1170px;
    margin: 0 auto;
}

#layout img{
    max-width: 100%;
    height: auto;
}

#layout .button{
    opacity:0.7;

    -webkit-transition: all 250ms;
    transition: all 250ms;
}

#layout .button:hover{
    opacity: 1;
}

#layout .button.green{
    display: inline-block;
    border-radius: 0;
    border: 2px solid #293133;
    padding: 15px 50px;
    margin: 30px 10px;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
    background-color: #293133 !important;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 2px;
    opacity: 1 !important;
}

#layout .button.green:hover{
    background: #fff !important;
    color: #293133;
}

#layout a{
    color: inherit;
}

/*
zöld: #293133
szürke: #333438
*/

.animate{
    opacity: 0;
}

/*  ----------  TYPOGRAPHY  ----------  */

#content em{
    font-style: italic;
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5 {
    /* color: #3b3d40; */
    line-height: 1.25;
    font-weight: normal;
    margin: 0 0 20px 0;
}

#content h1 a, #content h2 a, #content h3 a {
    font-weight: inherit;
}

#content h2 {
    font-size: 35px;
    color: #293133;
    line-height: 1;
}

#content h3 {
    font-size: 25px;
    margin-top: 0;
    margin-bottom: 20px;
}

#content h4 {
    font-size: 16px;
    display: block;
    margin-bottom: 0;
}

#content h5 {
    font-size: 20px;
    margin-bottom: 0;
}

#content strong, #content b {
    font-weight: bold;
}

#content p{
    margin: 0 0 10px;
}


#content .smallprint{
    font-size: 26px;
    /* font-weight: bold; */
    font-style: italic;
    margin-right: 30px;
}

.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}

.text-green{
    color: #293133;
}

#content a{
    text-decoration: none;
}

/*--- HEADER ---*/
header{
    position: relative;
    height: 100px;
    background: rgba(255, 255, 255, 0.85);
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

}

header .logo {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

header .logo h1{
    display: inline-block;
    background: url("../images/janko-logo.png") no-repeat center;
    background-size: contain;
    width: 180px;
    height: 52px;
    text-indent: -9999px;
    margin: 0 30px 0;

    image-rendering: -moz-crisp-edges;         /* Firefox */
    image-rendering:   -o-crisp-edges;         /* Opera */
    image-rendering: -webkit-optimize-contrast;/* Webkit (non-standard naming) */
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

header nav{
    margin: 0 auto;
}

header nav a{
    display: inline-block;
    margin: 10px 21px;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Proxima Nova SemiBold';
    letter-spacing: 1px;

    -webkit-transition: color 250ms;
    transition: color 250ms;
}


#layout header nav a:hover{
    color: #293133;
}

/*--- TOP TEXT ---*/
#toptext{
    position: absolute;
    top: 0;
    left: 0;
    width:100%;
    display: block;
    z-index: 1;
    text-align: center;
    color:#fff;
    background-color: rgba(41, 49, 51, 0.9);
    padding: 20px 30px;
}

#toptext h3{
    font-size: 28px;
    line-height: 1;
    font-family: 'Proxima Nova Bold';
    margin-bottom: 0;
}

/*--- TOP IMAGE ---*/
#topimage{
    position: relative;
    margin-top: 0;
    border-bottom: 10px solid #293133;
}

#topimage .image{
    height: calc(100vh - 110px);
    background: url("../images/topimage.jpg") no-repeat top center;
    background-size: cover;
}

#topimage img{
    display: block;
}

#topimage .scrolldown-arrow{
    position: absolute;
    opacity: 1;
    bottom: 50px;
    width: 47px;
    height: 27px;
    left: 50%;
    margin-left: -23px;
    cursor: pointer;
    background: url("../images/scrolldown-arrow.png") no-repeat center;
    background-size: contain;

    -webkit-animation: scrolldown 1.5s infinite;
    animation: scrolldown 1.5s infinite;

    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@-webkit-keyframes scrolldown{
    0% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        -webkit-transform: translate(0, 20px);
        transform: translate(0, 20px);
        opacity: 0;
    }
}
@keyframes scrolldown {
    0% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        -webkit-transform: translate(0, 20px);
        transform: translate(0, 20px);
        opacity: 0;
    }
}


/*--- INTRO ---*/

.intro .container{
    max-width: 870px;
}

#content .intro h3{
    margin: 0;
}

#content .intro h2{
    margin: 40px 0;
    text-transform: uppercase;
    font-family: 'Proxima Nova Bold';
}

/*--- PARALLAX ---*/
.parallax{
    position: relative;
    height: 520px;
    max-height: 100vh;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../images/bg-parallax.jpg");
}

.parallax.para-2{
    background-image: url("../images/bg-parallax-2.jpg");
}


.parallax:before{
    content: '';
    position: absolute;
    top:0;
    bottom: 0;
    left:0;
    right: 0;
    /*background-color: #fff;*/
}

.parallax .parallax-content{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.parallax .parallax-content *{
    color:#fff;
}

.parallax .parallax-content hr{
    margin: 30px auto;
}

.parallax .parallax-content .title{
    font-size: 34px;
    line-height: 1.2;
}

.parallax.para-2 .parallax-content .title{
    font-size: 60px;
    font-family: 'Proxima Nova Bold';
    margin: 0 !important;
}

.parallax .parallax-content .contact{
    font-size: 28px;
    font-family: 'Proxima Nova Bold';
}
.parallax .parallax-content .contact span{
    display: block;
    line-height: 1.5;
}

.parallax .parallax-content hr{
    width: 130px;
}

/*--- WHY CHOOSE US ---*/
.whychooseus{

}

#content .whychooseus h2{
    font-size: 45px;
    margin-bottom: 40px;
}


.whychooseus .block{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
}


.whychooseus .block > div{
    display: inline-block;
    max-width: 100%;
    width: 50%;
}

.whychooseus .block .image-wrapper{
    position: relative;
    padding: 10px;
}

.whychooseus .block .image-wrapper:before{
    content: '';
    position: absolute;
    top:0;
    left: auto;
    right: 0;
    width: 40%;
    height: 40%;
    background-color: #293133;
    z-index: 0;
}
.whychooseus .block.image-left .image-wrapper:before{
    left: 0;
    right: auto;
}

.whychooseus .block .image-wrapper img{
    position: relative;
    z-index: 1;
}

.whychooseus .block .description{
    padding: 70px;
}

#layout.ru .whychooseus .block .description{
    padding-top: 0;
}

#content .whychooseus .block .description .title{
    margin-bottom: 20px;
}

#content .whychooseus .block .description h4{
    font-size: 26px;
    font-family: "Proxima Nova SemiBold";
    text-transform: uppercase;
}

#content .whychooseus .block .description p{
    font-size: 18px;
}

/*--- SHOWROOMS ---*/
.showrooms-wrapper{
    background-color: #333438;
    color: #fff;
}

.showrooms-wrapper *{
}

#content .showrooms-wrapper h3{
    font-family: 'Proxima Nova SemiBold';
    text-transform: uppercase;
    margin-bottom: 70px;
}

.showrooms-wrapper .showrooms{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.showrooms-wrapper .showrooms .showroom{
    display: inline-block;
    text-align: left;
    width: 280px;
    margin-bottom: 15px;
}


#content .showrooms-wrapper .showrooms .showroom .name{
    color: #ffe;
    text-transform: uppercase;
    font-size: 16px;
    font-family: 'Proxima Nova SemiBold';
    padding: 5px 0 5px 40px;
    background: url("../images/icon-spot.png") no-repeat top left;
    background-size: 30px;
}

#content .showrooms-wrapper .showrooms .showroom .address{
    display: block;
    color: #a0a0a0;
    font-size: 15px;
    padding-left: 40px;
}

.showrooms-wrapper .button{
    display: inline-block;
    border-radius: 0;
    border: 2px solid #ffe;
    padding: 15px 50px;
    margin: 30px 10px;
    text-transform: uppercase;
    line-height: 1;
    color: #ffe !important;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 2px;
}

.showrooms-wrapper .contact{
    margin-top: 30px;
    margin-bottom: 50px;
}

#layout.ru .showrooms-wrapper .contact{
    margin-bottom:0;
}

#content .showrooms-wrapper .contact h5{
    margin-bottom: 20px;
}

.showrooms-wrapper .contact span{
    color: #a0a0a0;
    padding: 5px 0 10px 35px;
    margin-right: 35px;
    display: inline-block;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: top left;
}

.showrooms-wrapper .contact span a{

}

.showrooms-wrapper .contact span.phone{
    background-image: url("../images/icon-phone.png");
}
.showrooms-wrapper .contact span.email{
    background-image: url("../images/icon-mail.png");
    margin-right: 0;
}

.showrooms-wrapper hr{
    max-width: 240px;
    border-color: #ffe;
}

/*--- WEBSITE ---*/
#content #website{
    margin-bottom: 0;
    margin-top: 60px;
}

#layout.ru #content #website{
    margin-top: 0;
    margin-bottom: 30px;
}

#content #website h3{
    margin-bottom: 0;
    margin-top: 30px;
}

#content #website a{
    margin-bottom: 0;
}


/* REFERENCE GRID */
#reference-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 60px 15px;
}
#reference-grid .grid-row,
#reference-grid .column {
    content: '';
}
#reference-grid .grid-row {
    content: '';
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
#reference-grid .grid-row.r1-2 .column.c1-3 {
    width: 37%;
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(1) {
    width: 100%;
    height: 25vw;
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c1-b1.jpg");
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(2) {
    width: 43.8%;
    height: 17.3vw;
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c1-b2.jpg");
    background-position: left 15% center;
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(3) {
    width: 56.2%;
    height: 17.3vw;
}
#reference-grid .grid-row.r1-2 .column.c1-3 .box:nth-of-type(3) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c1-b3.jpg");
}
#reference-grid .grid-row.r1-2 .column.c2-3 {
    width: 43%;
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(1) {
    width: 69.5%;
    height: 17.3vw;
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c2-b1.jpg");
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(2) {
    width: 30.5%;
    height: 17.3vw;
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c2-b2.jpg");
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(3) {
    width: 100%;
    height: 59.2%;
}
#reference-grid .grid-row.r1-2 .column.c2-3 .box:nth-of-type(3) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c2-b3.jpg");
}
#reference-grid .grid-row.r1-2 .column.c3-3 {
    width: 20%;
}
#reference-grid .grid-row.r1-2 .column.c3-3 .box:nth-of-type(1) {
    width: 100%;
    height: 23.7vw;
}
#reference-grid .grid-row.r1-2 .column.c3-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c3-b1.jpg");
}
#reference-grid .grid-row.r1-2 .column.c3-3 .box:nth-of-type(2) {
    width: 100%;
    height: 18.6vw;
}
#reference-grid .grid-row.r1-2 .column.c3-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r1-c3-b2.jpg");
}
#reference-grid .grid-row.r2-2 .column.c1-3 {
    width: 20%;
}
#reference-grid .grid-row.r2-2 .column.c1-3 .box:nth-of-type(1) {
    width: 100%;
    height: 23.7vw;
}
#reference-grid .grid-row.r2-2 .column.c1-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c1-b1.jpg");
}
#reference-grid .grid-row.r2-2 .column.c1-3 .box:nth-of-type(2) {
    width: 100%;
    height: 18.5vw;
}
#reference-grid .grid-row.r2-2 .column.c1-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c1-b2.jpg");
}
#reference-grid .grid-row.r2-2 .column.c2-3 {
    width: 44.5%;
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(1) {
    width: 32.2%;
    height: 17.3vw;
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c2-b1.jpg");
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(2) {
    width: 67.8%;
    height: 17.3vw;
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c2-b2.jpg");
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(3) {
    width: 100%;
    height: 24.9vw;
}
#reference-grid .grid-row.r2-2 .column.c2-3 .box:nth-of-type(3) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c2-b3.jpg");
}
#reference-grid .grid-row.r2-2 .column.c3-3 {
    width: 35.5%;
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(1) {
    width: 100%;
    height: 25vw;
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(1) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c3-b1.jpg");
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(2) {
    width: 100%;
    height: 17.2vw;
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(2) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c3-b2.jpg");
    background-position: bottom center;
    margin-top: -35%;
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(3) {
    width: 42%;
    height: 17.2vw;
}
#reference-grid .grid-row.r2-2 .column.c3-3 .box:nth-of-type(3) .background {
    background-image: url("../images/reference-grid/reference-grid-r2-c3-b3.jpg");
}
#reference-grid .column {
    display: flex;
    flex-wrap: wrap;
}
#reference-grid .box {
    position: relative;
    overflow: hidden;
}
#reference-grid .box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border: 4px solid #fff;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#reference-grid .box .background {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transition: all 800ms;
    -moz-transition: all 800ms;
    -ms-transition: all 800ms;
    -o-transition: all 800ms;
    transition: all 800ms;
}
#reference-grid .box .info-overlay {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    right: 4px;
    background: rgba(41, 49, 51, 0.9);
    color: #000;
    padding: 2.6vw;
    line-height: 1.5;
    opacity: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    -webkit-transition: all 600ms;
    -moz-transition: all 600ms;
    -ms-transition: all 600ms;
    -o-transition: all 600ms;
    transition: all 600ms;
}
#reference-grid .box .info-overlay p {
    margin-bottom: 1vw;
    color: #fff;
}
#reference-grid .box .info-overlay h4 {
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 5px;
    font-family: 'Montserrat Semi Bold';
}
#reference-grid .box .info-overlay .separator-line {
    content: '';
    display: block;
    width: 104px;
    height: 12px;
    background: url("../images/separator-line.png") no-repeat left center;
    margin: 0 0 5px -15px;
}
#reference-grid .box:hover .background {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}
#reference-grid .box:hover .info-overlay {
    opacity: 1;
    transition-delay: 400ms;
}