html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{
    margin:0;
    padding:0;
    border:0;
    font:inherit;
    font-size:100%;
    vertical-align:baseline
}
html{
    line-height:1
}
ol,ul{
    list-style:none
}
table{
    border-collapse:collapse;
    border-spacing:0
}
caption,th,td{
    text-align:left;
    font-weight:normal;
    vertical-align:middle
}
q,blockquote{
    quotes:none
}
q:before,q:after,blockquote:before,blockquote:after{
    content:"";
    content:none
}
a img{
    border:none
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{
    display:block
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica55Roman/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica55Roman/font.woff') format('woff');
  font-weight:500;
  font-style:normal;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica35Thin/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica35Thin/font.woff') format('woff');
  font-weight: 200;
  font-style:normal;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica76BoldItalic/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica76BoldItalic/font.woff') format('woff');
  font-weight:700;
  font-style:italic;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica45Light/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica45Light/font.woff') format('woff');
  font-weight:300;
  font-style:normal;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica46LightItalic/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica46LightItalic/font.woff') format('woff');
  font-weight:300;
  font-style:italic;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica75Bold/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica75Bold/font.woff') format('woff');
  font-weight:700;
  font-style:normal;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica56Italic/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica56Italic/font.woff') format('woff');
  font-weight:500;
  font-style:italic;
}
@font-face {
  font-family: "NeueHelvetica";
  src: url('../fonts/helvetica/NeueHelvetica36ThinItalic/font.woff2') format('woff2'), url('../fonts/helvetica/NeueHelvetica36ThinItalic/font.woff') format('woff');
  font-weight: 200;
  font-style:italic;
}
:root{
   --primary-font: 'Inter', sans-serif;
    --blue-light:#0085cA;
    --blue:#0085cA;
    --head-color:#222222;
    --grey-light:#555555
}
html,body{
    font-family: 'Inter', sans-serif; /* Backup for IE11 */
    font-family: var(--primary-font);
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    line-height:1.4em;
    font-weight:300
}
body.open{
    overflow:hidden
}
p{
    margin-bottom:20px
}
*{
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
*:before,*:after{
    -moz-box-sizing:inherit;
    -webkit-box-sizing:inherit;
    box-sizing:inherit
}
*{
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
a{
    text-decoration:none;
    -moz-transition:all .3s ease;
    -o-transition:all .3s ease;
    -webkit-transition:all .3s ease;
    transition:all .3s ease
}
h1,.h1{
    font-size:40px;
    font-family: var(--primary-font);
    line-height:1.2em;
    font-weight:200
}
h2,.h2{
    font-size:35px;
    line-height:1.3em;
    font-family: var(--primary-font);
    font-weight:200
}
h3,.h3{
    font-size:30px;
    font-family: var(--primary-font);
    font-weight:200
}
h4,.h4{
    font-size:25px;
    font-family: var(--primary-font);
    font-weight:200
}
h5,.h5{
    font-size:20px;
    font-family: var(--primary-font);
    font-weight:200
}
i,em{
    font-style:italic
}
b,strong{
    font-weight:700
}
img{
    height:auto;
    max-width:100%
}
ol{
    display:block;
    list-style-type:decimal;
    margin-top:1em;
    margin-bottom:1em;
    margin-left:0;
    margin-right:0;
    padding-left:20px
}
ol li{
    padding-left:20px;
    margin:10px 0
}
ul{
    display:block;
    list-style-type:disc;
    margin-top:1em;
    margin-bottom:1em;
    margin-left:0;
    margin-right:0;
    padding-left:20px
}
ul li{
    padding-left:20px;
    margin:10px 0
}
.full{
    width:100%;
    float:left
}
.wrapper{
    max-width:1200px;
    margin:auto
}
@media only screen and (max-width: 1237px){
    .wrapper{
        max-width:90%
    }
}
.wrapper-big{
    max-width:1400px;
    margin:auto
}
@media only screen and (max-width: 1400px){
    .wrapper-big{
        max-width:90%
    }
}
.whit-pill{
    padding:0 0 0 6rem;
    position:relative;
    margin-bottom:1.5em
}
.whit-pill:before{
    content:'';
    display:block;
    width:4rem;
    height:4px;
    position:absolute;
    top:50%;
    left:0;
    background:#fff
}
.whit-pill:after{
    content:'';
    display:block;
    width:2rem;
    height:4px;
    position:absolute;
    top:50%;
    left:0;
    background-color:var(--blue-light)
}
.top-banner-product-pg{
    width:99vw;
    position:relative;
    text-align:center;
    line-height:1.2em;
    font-size:25px
}
.top-banner-product-pg picture{
    display:block;
    width:100%
}
.top-banner-product-pg picture img{
    object-fit:cover;
    height:250px;
    width:100%
}
.top-banner-product-pg .caption{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%)
}
.top-banner-product-pg h1{
    color:var(--blue);
    margin:0;
    font-weight:700
}
@media only screen and (max-width: 1024px){
    .top-banner-product-pg{
        font-size:20px
    }
    .top-banner-product-pg h1{
        font-size:35px
    }
}
@media only screen and (max-width: 768px){
    .top-banner-product-pg{
        padding-bottom:1em
    }
    .top-banner-product-pg h1{
        font-size:30px
    }
    .top-banner-product-pg picture{
        position:absolute;
        top:0;
        left:0;
        height:100%;
        overflow:hidden
    }
    .top-banner-product-pg picture img{
        height:100%
    }
    .top-banner-product-pg .caption{
        position:relative;
        padding:2em 0 0;
        transform:translate(0);
        z-index:1;
        left:0;
        top:0;
        font-size:18px;
        width:80%;
        margin:auto
    }
}
.page .top-banner-product-pg picture img{
    height:350px
}
.page .main-content{
    padding:3em 0
}
.grid-2{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:1fr;
    grid-column-gap:0px;
    grid-row-gap:0px;
    min-height:calc(100vh - 100px)
}
.grid-2 .align-middle{
    align-self:center
}
.grid-2 picture{
    /* display:block; */
    line-height:0;
    width:100%;
    height:100%
}
.grid-2 picture img{
    object-fit:cover;
    width:100%;
    height:100%
}
.grid-2 h1{
    font-family: var(--primary-font);
    font-weight:200
}
.grid-2 h5{
    margin:0.8em 0
}
.grid-2 .content{
    padding:2em 4vw;
    width:calc((1400px / 2) + 4vw);
    margin:0 0 0 auto
}
.grid-2 .grid-content.second-grid{
    height:calc(100vh - 100px)
}
@media only screen and (max-width: 1400px){
    .grid-2 .content{
        width:auto
    }
}
@media only screen and (max-width: 1024px){
    .grid-2{
        display:block
    }
    .grid-2 .grid-content.second-grid{
        height:auto
    }
}
.grid-3{
    padding:2em 4vw
}
.grid-3 .wrapper-big{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    grid-template-rows:1fr;
    grid-column-gap:3em;
    grid-row-gap:0px
}
.grid-3.blue{
    background-color:var(--blue);
    color:#fff
}
.grid-3.grey{
    background-color:var(--head-color);
    color:#fff
}
.grid-3 .grid-content{
    align-self:center;
    font-size:20px;
    display:flex
}
.grid-3 .grid-content img{
    width:180px;
    max-width:100%
}
.grid-3 .grid-content .text-content{
    align-self:center;
    font-family: var(--primary-font);
    font-weight:400
}
.grid-3 .grid-content .image{
    margin-right:1em
}
@media only screen and (max-width: 1024px){
    .grid-3{
        grid-template-columns:repeat(1, 1fr);
        grid-row-gap:3em
    }
}
.btb{
    background-color:var(--blue);
    display:inline-block;
    padding:15px 20px;
    color:#fff;
    border:3px solid var(--blue);
    line-height:1em;
    margin:2px 0
}
.btb.light{
    background-color:#fff;
    border:3px solid #fff;
    color:var(--blue)
}
.btb.light:hover{
    background-color:var(--blue);
    border:3px solid var(--blue);
    color:#fff
}
.btb.light-border{
    background-color:transparent;
    border-bottom:0;
    border-top:4px solid #fff;
    border-left:2px solid #fff;
    border-right:2px solid #fff;
    color:#fff
}
.btb.light-border:hover{
    background-color:#fff;
    color:var(--head-color)
}
.btb:hover{
    background-color:#fff;
    color:var(--blue)
}
@media only screen and (max-width: 768px){
    .btb{
        padding:10px
    }
}
.pill{
    display:inline-block;
    vertical-align:middle;
    position:relative;
    margin-right:0.8rem;
    min-height:3px
}
.pill.pill-wide{
    min-width:8rem
}
.pill:before{
    content:'';
    display:block;
    width:8rem;
    height:3px;
    position:absolute;
    top:0;
    right:0;
    background:rgba(0,122,184,0.3)
}
.pill:after{
    content:'';
    display:block;
    width:4rem;
    height:3px;
    position:absolute;
    top:0;
    left:0;
    background-color:var(--blue)
}
.diagonal-content{
    position:relative
}
.diagonal-content .text-content{
    transform:skew(-25deg);
    transform-origin:0 0;
    padding:6em 4vw;
    width:65%;
    position:relative;
    z-index:1
}
.diagonal-content .text-content.grey{
    background-color:var(--head-color);
    color:#fff
}
.diagonal-content .text-content.grey-light{
    background-color:var(--grey-light);
    color:#fff
}
.diagonal-content .text-content.blue{
    background-color:var(--blue);
    color:#fff
}
.diagonal-content .text-content.light{
    background-color:#fff;
    color:#fff
}
.diagonal-content .text-content.light h1{
    color:var(--blue-light)
}
.diagonal-content .text-content .content{
    transform:skew(25deg);
    padding:0 10vw 0 26px;
    width:calc((1400px / 2) + 10vw);
    margin:0 0 0 auto;
    transform-origin:0 0;
    font-family: var(--primary-font);
    font-weight:200;
    font-size:18px;
    line-height:1.5em
}
@media only screen and (max-width: 1600px){
    .diagonal-content .text-content{
        transform:skew(-20deg)
    }
    .diagonal-content .text-content .content{
        transform:skew(20deg)
    }
}
@media only screen and (max-width: 1400px){
    .diagonal-content .text-content .content{
        width:calc((100vw / 2) + 10vw)
    }
}
@media only screen and (max-width: 1237px){
    .diagonal-content .text-content{
        transform:skew(-15deg)
    }
    .diagonal-content .text-content .content{
        transform:skew(15deg)
    }
}
@media only screen and (max-width: 1024px){
    .diagonal-content .text-content{
        width:100%;
        transform:skew(0deg)
    }
    .diagonal-content .text-content .content{
        transform:skew(0deg)
    }
}
.diagonal-content .image{
    width:70%;
    position:absolute;
    top:0;
    right:0;
    height:100%
}
.diagonal-content .image picture{
    /* display:block; */
    line-height:0;
    width:100%;
    height:100%
}
.diagonal-content .image picture img{
    object-fit:cover;
    width:100%;
    height:100%
}
@media only screen and (max-width: 1024px){
    .diagonal-content .image{
        width:100%;
        position:relative
    }
}
#header{
    background-color:var(--head-color)
}
@media only screen and (min-width: 1590px){
    #header .wrapper-big{
        max-width:1525px
    }
}
#header .wrapper-big{
    display:flex;
    align-items:center;
    justify-content:space-between;
    transition:height 0.3s ease;
    padding:0;
    height:100px
}
#header .logo{
    display:flex;
    align-items:center;
    padding:1em 0;
    transition:transform .5s ease
}
#header .logo img{
    height:65%
}
@media only screen and (max-width: 1024px){
    #header{
        display:block;
        height:70px
    }
    #header .logo{
        display:inline-block;
        transform:translateX(0px)
    }
}
#header.sticky{
    position:fixed;
    top:0;
    width:100%;
    z-index:9;
    height:80px
}
@media only screen and (max-width: 1024px){
    #header.sticky{
        height:60px
    }
}
body.open #nav{
    right:0;
    transition:transform .5s ease;
    transform:translateX(0px)
}
body.open #nav .mob-icon{
    right:calc(100% - 5px)
}
@media only screen and (max-width: 400px){
    body.open #nav .mob-icon{
        right:calc(100% - 0px)
    }
}
body.open #header .logo{
    transform:translateX(-320px)
}
#nav{
    transition:transform .5s ease
}
#nav a{
    color:#fff
}
#nav ul{
    margin:0;
    padding:0;
    display:flex;
    list-style:none
}
#nav ul.menu li{
    padding:2.5em 0;
    position:relative
}
@media (hover: hover) and (pointer: fine){
    #nav ul.menu li:hover>.sub-menu{
        display:block
    }
    #nav ul.menu li:hover a{
        background-color:var(--blue)
    }
}
#nav ul.menu a{
    text-transform:uppercase;
    padding:2.5em 20px;
    position:relative
}
#nav ul .sub-menu{
    position:absolute;
    display:none;
    top:100%;
    background-color:#fff;
    width:250px;
    right:0
}
#nav ul .sub-menu:after{
    content:'';
    display:block;
    height:10px;
    width:100%;
    background-color:var(--blue);
    position:absolute;
    right:0;
    top:-10px
}
#nav ul .sub-menu li{
    display:block;
    width:100%;
    padding:0;
    border-bottom:2px solid #ddd
}
@media (hover: hover) and (pointer: fine){
    #nav ul .sub-menu li:hover .sub-menu{
        display:block
    }
}
#nav ul .sub-menu li .sub-menu{
    left:100%;
    top:0;
    display:none
}
#nav ul .sub-menu a{
    padding:1em 20px;
    color:#000;
    display:block;
    background-color:#fff !important
}
#nav ul .sub-menu a:hover{
    background-color:#eee !important
}
#nav ul li{
    margin:0;
    padding:0
}
#nav .mob-icon{
    display:none
}
@media only screen and (max-width: 1024px){
    #nav{
        position:fixed;
        width:320px;
        background-color:var(--head-color);
        top:0;
        right:0;
        z-index:99;
        height:100%;
        transform:translateX(320px)
    }
    #nav ul.menu{
        padding-top:4.6em;
        display:block;
        width:100%;
        border-bottom:1px solid rgba(255,255,255,0.2);
        overflow-y:scroll;
        height:100%
    }
    #nav ul.menu li{
        padding:0
    }
    #nav ul.menu li.menu-item-has-children>a:after{
        content:'';
        display:block;
        width:10px;
        height:10px;
        border-right:2px solid white;
        border-bottom:2px solid white;
        position:absolute;
        top:50%;
        right:15px;
        transform:translateY(-50%) rotate(-45deg)
    }
    #nav ul.menu li.menu-item-has-children.open-submenu>a:after{
        transform:translateY(-50%) rotate(45deg)
    }
    #nav ul.menu li .sub-menu{
        width:100%;
        position:relative;
        display:none
    }
    #nav ul.menu li.open-submenu .sub-menu{
        display:block
    }
    #nav ul.menu li.open-submenu .sub-menu .sub-menu{
        display:block;
        position:static
    }
    #nav ul.menu li.open-submenu .sub-menu .sub-menu:after{
        display:none
    }
    #nav ul.menu li.open-submenu .sub-menu .sub-menu li{
        border-top:2px solid #ddd;
        border-bottom:0px
    }
    #nav ul.menu li.open-submenu .sub-menu .sub-menu li a{
        background-color:rgba(0,0,0,0.05) !important;
        padding:15px 20px 15px 40px
    }
    #nav ul.menu li.open-submenu .sub-menu li a{
        padding:15px 20px
    }
    #nav ul.menu a{
        display:block;
        border-top:1px solid rgba(255,255,255,0.2);
        padding:2em 20px 2em 2em
    }
    #nav .mob-icon{
        display:block;
        position:absolute;
        width:40px;
        height:20px;
        right:calc(100% + 4vw);
        top:20px;
        cursor:pointer;
        transition:right .5s ease
    }
    #nav .mob-icon span{
        display:block;
        position:absolute;
        height:3px;
        width:25px;
        background:#fff;
        opacity:1;
        left:0;
        transition:transform .25s ease-in-out;
        transform:rotate(0deg);
        border-radius:5px
    }
    #nav .mob-icon span:first-child{
        top:0;
        right:0;
        left:auto
    }
    #nav .mob-icon span:nth-child(2){
        top:10px;
        margin:0 auto;
        left:50%;
        transform:translateX(-50%)
    }
    #nav .mob-icon span:nth-child(3){
        top:20px
    }
    #nav .mob-icon.open span:first-child{
        top:8px;
        right:auto;
        left:0;
        transform:rotate(135deg)
    }
    #nav .mob-icon.open span:nth-child(2){
        opacity:0;
        left:-60px
    }
    #nav .mob-icon.open span:nth-child(3){
        top:8px;
        -webkit-transform:rotate(-135deg);
        transform:rotate(-135deg)
    }
}
@media only screen and (max-width: 400px){
    #nav{
        width:265px;
        transform:translateX(265px)
    }
}
#footer{
    background-color:var(--head-color);
    padding:5em 4vw;
    color:#fff;
    font-size:14px
}
#footer .wrap-footer{
    border-top:2px solid rgba(255,255,255,0.5);
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));
    grid-column-gap:2em
}
#footer a{
    color:#fff
}
#footer h5,#footer .title_widget{
    color:var(--blue-light);
    margin:1em 0 1.5em;
    text-transform:uppercase
}
#footer ul{
    list-style:none;
    margin:0;
    padding:0
}
#footer ul li{
    margin:0;
    padding:4px 0;
    line-height:1.2em
}
#footer .copy{
    display:flex;
    align-items:center;
    padding:3em 0 0
}
#footer .copy img{
    margin:0 1em 0 0
}
.main-content.with-sidebar .wrapper{
    display:flex
}
.main-content.with-sidebar .wrapper .content{
    flex:1
}
.main-content.with-sidebar .wrapper .sidebar{
    flex:0 0 370px;
    margin-left:30px
}
 /**
 Contact page style
 */

 .contact-form{
    width: auto !important;
 }
 .contact-form p.input{
    padding: 0;
    margin: 0;
}
.contact-form p.input input[type='text'],
.contact-form p.input textarea{
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;    
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    margin: 0.5em 0;
}
.contact-form p.input textarea{
    height: 100px;
}
.contact-form input[type="submit"]{
    background-color: var(--blue);
    display: inline-block;
    padding: 15px 20px;
    color: #fff;
    border: 3px solid var(--blue);
    line-height: 1em;
    margin: 2px 0;
    margin-top: 20px;
    cursor: pointer;
}