body{
    margin:0;
}

@font-face{
    font-family: "Helvetica-Regular";
    src: url(res/Helvetica.woff);
}
@font-face{
    font-family: "Helvetica-Bold";
    src: url(res/Helvetica-Bold.woff);
}

.text-heading-lg,
.text-heading-md,
.text-heading-sm{
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    color:#000;
    margin:0;
}
.text-content{
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    color:#000;
    margin:0;
}
.content-spacer-sm{
    width:100%;
    margin-bottom:20px;
}
.content-spacer-lg{
    width:100%;
    margin-bottom:50px;
}
.content-list{
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    color:#000;
    list-style:none;
    margin:0;
    padding:0;
}
.content-list-item{
    padding-left:1.5rem;
    margin-bottom:1.25rem;
    position:relative;
}
.content-list-item::before{
    content: "\25C6";
    color:#888;
    font-size:1.25rem;
    position:absolute;
    left:0;
    top:0;
}

.loading-screen {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loading-spinner {
    width: 150px;
    height: 150px;
    text-align: center;
}
.loading-spinner h4 {
    color: #000;
}
.loading-hidden {
    display: none !important;
}

.header{
    box-sizing:border-box;
    width:100%;
    height:75px;
    /* border-bottom:solid 1px #000; */
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:0;
    position:fixed;
    top:0;
    left:0;
    background-color:#fff;
    z-index:10;
}
.nav-placeholder{
    width:100%;
    height:75px;
}
.header__navbar{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:100;
    background-color:#fff;
}
.navbar__inner-container{
    height:100%;
    margin-left:auto;
    margin-right:auto;
    background-color:#fff;
}
.navbar__logo-div{
    display:inline-block;
    box-sizing:border-box;
    width:auto;
    height:100%;
    padding:10px 20px 10px 20px;
    vertical-align:top;
}
.navbar-logo img{
    width:95px;
    height:auto;
}
.navbar__item-div-desktop{
    box-sizing:border-box;
    width:auto;
    height:100%;
    padding:10px 5px 10px 5px;
    vertical-align:top;
}
.navbar__item-container{
    display:flex;
    width:auto;
    height:100%;
    align-items:center;
}
.navbar__list{
    margin:0;
    padding:0;
    list-style:none;
}
.navbar__list-item{
    display:inline-block;
    padding-left:25px;
    padding-right:25px;
    border-right:solid 1px #000;
}
.navbar__list-item:last-child{
    border-right:none;
}
.list-link{
    font-size:1.25rem;
    text-decoration:none;
    color:#000;
}
.list-link:hover{
    color:#888;
}
.list-link.active{
    color:#888;
}
.navbar__btn-div{
    float:right;
    width:70px;
    height:55px;
    margin-top:9px;
    margin-right:20px;
}
.navbar__btn-collapse{
    width:100%;
    height:100%;
    border:solid 1px #000;
    border-radius:5px;
    background-color:#fff;
    background-image: url(res/bars-solid.png);
    background-repeat: no-repeat;
    background-position:center;
    background-size:50%;
    cursor:pointer;
}
.navbar__mobile-dropdown-div{
    position:absolute;
    left:0;
    width:100%;
    height:auto;
    /* border-bottom:solid 1px #000; */
    z-index:10;
    transition:0.3s;
    box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
    -webkit-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
}
.dropdown-list-div{
    box-sizing:border-box;
    width:100%;
    height:auto;
    margin-top:75px;
    background-color:#fff;
    padding:17.5px 20px 17.5px 20px;
}
.dropdown-list{
    padding:0;
    margin:0;
    list-style:none;
}
.dropdown-list-item{
    box-sizing:border-box;
    width:100%;
    height:auto;
    padding:17.5px 0 17.5px 0;
}
.dropdown-list-link{
    display:block;
    box-sizing:border-box;
    width:100%;
    height:auto;
    padding:15px;
    border-radius:5px;
    font-size:1.25rem;
    text-align:center;
    background-color:#000;
    color:#fff;
    text-decoration:none;
}
.dropdown-list-link.active{
    background-color:#888;
}
.dropdown-list-link:hover{
    background-color:#888;
}

.main{
    width:100%;
    height:auto;
    font-size:0;
}
.main__hero-container{
    box-sizing:border-box;
    width:100%;
    /* border-bottom:solid 1px #000; */
    background-image: url(res/cover.jpg);
    background-repeat: no-repeat;
    background-position:center;
    background-size:cover;
}
.main__hero-inner{
    box-sizing:border-box;
    display:flex;
    width:100%;
    /* border:solid 1px #fff; */
    margin-left:auto;
    margin-right:auto;
    align-items:center;
    padding:20px;
}
.hero-logo-slogan-container{
    width:100%;
    height:auto;
    text-align:center;
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    color:#fff;
}
.hero-logo{
    display:block;
    height:auto;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:50px;
}
.hero-slogan{
    text-shadow: 3px 3px 6px rgba(0,0,0,1);
}
.about__container{
    box-sizing:border-box;
    width:100%;
    height:auto;
    margin-left:auto;
    margin-right:auto;
    padding:20px 20px 0 20px;
}
.about__intro{
    margin-bottom:50px;
}
.about__info-container{
    width:100%;
    height:auto;
}
.about__info-col{
    box-sizing:border-box;
    height:auto;
    /* border:solid 1px #000; */
}
.col-right{
    text-align:center;
}
.about__img{
    height:auto;
    box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
    -webkit-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
    -moz-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
}
.main__spacer-div{
    width:100%;
    height:120px;
    background-image: url(res/parallax_cover.jpg);
    background-repeat: no-repeat;
    background-position:center;
    background-size:cover;
}
.product__info-container{
    box-sizing:border-box;
    width:100%;
    height:auto;
    margin-left:auto;
    margin-right:auto;
    padding:20px;
}
.product__inner-div{
    box-sizing:border-box;
    width:100%;
    height:auto;
    padding:20px;
    border:solid 1px #000;
}
.product__info-col{
    box-sizing:border-box;
    height:auto;
    /* border:solid 1px #000; */
}
.product__img{
    height:auto;
}
.product-desc-list{
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    color:#000;
    list-style:none;
    margin:0;
    padding:0 0 30px 0;
}
.product-list-item{
    padding-left:1.5rem;
    position:relative;
}
.product-list-item::before{
    content: "-";
    color:#000;
    font-size:1.25rem;
    position:absolute;
    left:0.2rem;
    top:0;
}
.product-data-link{
    display:inline-block;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    color:#000;
}
.product-data-link:hover{
    color:#888;
}
.product-contact-link{
    color:#000;
}
.product-contact-link:hover{
    color:#888;
}
.contact__info-container{
    box-sizing:border-box;
    width:100%;
    height:auto;
    margin-left:auto;
    margin-right:auto;
    padding:20px 20px 50px 20px;
}
.contact__inner-div{
    box-sizing:border-box;
    width:100%;
    height:auto;
}
.contact__info-col{
    box-sizing:border-box;
    height:auto;
    /* border:solid 1px #000; */
}
.contact__detail-icon-div{
    height:auto;
}
.contact__detail-icon-div img{
    width:100%;
    height:100%;
}
.contact__row-spacer{
    height:20px;
}
.contact__detail-heading{
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    color:#000;
}
.contact__detail-text{
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    color:#000;
}
.contact-spacer-line{
    width:100%;
    border-bottom:solid 1px #000;
}
.contact__form-div,
.contact__form,
.form-group{
    display:block;
    box-sizing:border-box;
    width:100%;
    height:auto;
}
.form-group{
    margin-bottom:35px;
}
.form-label{
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    font-size:1.25rem;
    color:#000;
    margin-right:10px;
}
.form-info{
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:1.25rem;
    color:#ff0000;
}
.form-control{
    display:block;
    box-sizing:border-box;
    width:100%;
    border-radius:5px;
    border:solid 1px #000;
    margin-top:10px;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:1.25rem;
    padding:10px;
}
textarea.form-control{
    max-width:100%;
    min-width:100%;
    height:150px;
}
.btn__form-submit{
    display:block;
    box-sizing:border-box;
    width:100%;
    height:auto;
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    font-size:1.25rem;
    color:#fff;
    background-color:#000;
    padding:15px;
    border:none;
    border-radius:5px;
}
.btn__form-submit:hover{
    background-color:#888;
}
.script-form-success {
    width: 100%;
    height: auto;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    text-align: center;
    color:#000;
}
.footer{
    width:100%;
    height:auto;
    font-size:0;
}
.footer__container{
    box-sizing:border-box;
    width:100%;
    height:auto;
    background-color:#000;
}
.footer__inner-container{
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
    /* border:solid 1px #fff; */
}
.footer__links-div{
    box-sizing:border-box;
    padding:20px;
    /* border:solid 1px #fff; */
}
.footer__contact-div{
    box-sizing:border-box;
    padding:20px;
    /* border:solid 1px #fff; */
}
.footer-heading{
    display:block;
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    font-size:1.5rem;
    color:#888;
    margin-bottom:20px;
}
.footer-row{
    width:100%;
    height:auto;
}
.footer-col{
    box-sizing:border-box;
    height:auto;
    /* border:solid 1px #fff; */
}
.footer-link{
    display:inline-block;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:1.125rem;
    color:#fff;
    margin-bottom:20px;
    text-decoration:none;
}
.footer-link:hover{
    color:#888;
}
.footer-details-heading{
    display:block;
    font-family:'Helvetica-Bold', 'Arial', 'Helvetica', sans-serif;
    font-size:1.25rem;
    color:#fff;
    margin-bottom:20px;
}
.footer-details-text{
    display:block;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:1.125rem;
    color:#fff;
    margin-bottom:20px;
}
.footer-license{
    box-sizing:border-box;
    width:100%;
    height:auto;
    font-family:'Helvetica-Regular', 'Arial', 'Helvetica', sans-serif;
    font-size:1rem;
    color:#fff;
    background-color:#000;
    text-align:center;
    padding:15px;
}
.footer-license a{
    color:#fff;
}
.footer-license a:hover{
    color:#888;
}

@media(min-width:1441px){
    .navbar__inner-container,
    .main__hero-inner,
    .about__container,
    .product__info-container,
    .contact__info-container,
    .footer__inner-container{
        max-width:1440px;
    }
}
@media(min-width:1281px) and (max-width:1440px){
    .navbar__inner-container,
    .main__hero-inner,
    .about__container,
    .product__info-container,
    .contact__info-container,
    .footer__inner-container{
        max-width:1280px;
    }
}
@media(min-width:1281px){
    .table-desktop-narrow{
        display:none;
    }
    .script-form-success {
        font-size: 1.875rem;
    }
    .script-form-success img {
        width: 30%;
        height: auto
    }
}
@media(min-width:992px) and (max-width:1280px){
    .navbar__inner-container,
    .main__hero-inner,
    .about__container,
    .product__info-container,
    .contact__info-container,
    .footer__inner-container{
        max-width:991px;
    }
    .table-desktop-full{
        display:none;
    }
    .script-form-success {
        font-size: 1.75rem;
    }
    .script-form-success img {
        width: 35%;
        height: auto
    }
}
@media(min-width:992px){
    .header{
        box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
        -webkit-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
        -moz-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.75);
    }
    .navbar__item-div-desktop{
        display:inline-block;
    }
    .navbar__btn-div{
        display:none;
    }
    .navbar__mobile-dropdown-div{
        display:none;
    }
    .main__hero-container{
        height:500px;
        background-attachment:fixed;
    }
    .main__hero-inner{
        height:100%;
    }
    .hero-slogan{
        font-size:2.8125rem;
        line-height:4rem;
    }
    .main__spacer-div{
        background-attachment:fixed;
    }
    .about__info-col{
        display:inline-block;
        width:50%;
        margin-left:-1px;
        vertical-align:top;
    }
    .col-left{
        padding-right:10px;
    }
    .col-right{
        padding-left:10px;
    }
    .about__img{
        width:98%;
    }
    .product__info-col{
        display:inline-block;
        margin-left:-1px;
        vertical-align:top;
    }
    .product-col-left{
        width:40%;
        padding-right:10px;
    }
    .product-col-right{
        width:60%;
        padding-left:10px;
    }
    .product__img{
        width:100%;
    }
    .product-data-link{
        margin-bottom:30px;
    }
    .contact__info-col{
        display:inline-block;
        width:50%;
        margin-left:-1px;
        vertical-align:top;
    }
    .contact-col-left{
        padding-right:20px;
    }
    .contact-col-right{
        padding-left:20px;
        border-left:solid 1px #000;
    }
    .contact__section-breaker-mobile{
        display:none;
    }
    .footer-col{
        display:inline-block;
        width:50%;
        vertical-align:top;
    }
}
@media(max-width:991px){
    .navbar__inner-container{
        width:100%;
    }
    .navbar__item-div-desktop{
        display:none;
    }
    .main__hero-container{
        min-height:auto;
    }
    .main__hero-inner{
        min-height:700px;
    }
    .hero-slogan{
        font-size:2.25rem;
        line-height:3.5rem;
    }
    .col-right{
        padding-top:30px;
        padding-bottom:40px;
    }
    .product-col-left{
        text-align:center;
    }
    .product-col-right{
        padding-top:20px;
    }
    .script-form-success {
        font-size: 1.875rem;
    }
    .script-form-success img {
        width: 200px;
    }
    .footer-contact-col{
        margin-bottom:50px;
    }
}
@media(min-width:768px) and (max-width:991px){
    .about__img{
        width:75%;
    }
    .product__img{
        width:70%;
    }
    .product-data-link{
        margin-bottom:40px;
    }
    .table-desktop-narrow{
        display:none;
    }
}
@media(min-width:768px){
    .main__hero-inner{
        padding:50px;
    }
    .footer__links-div{
        display:inline-block;
        width:30%;
        vertical-align:top;
    }
    .footer__contact-div{
        display:inline-block;
        width:70%;
        vertical-align:top;
    }
}
@media(max-width:767px){
    .about__img{
        width:95%;
    }
    .product__img{
        width:100%;
    }
    .product-data-link{
        margin-bottom:50px;
    }
    .table-desktop-full{
        display:none;
    }
}
@media(min-width:651px){
    .hero-logo{
        width:250px;
    }
}
@media(max-width:650px){
    .hero-logo{
        width:200px;
    }
    .hero-slogan{
        font-size:2rem;
        line-height:3rem;
    }
}
@media(min-width:501px){
    .text-heading-lg{
        font-size:2.125rem;
    }
    .text-heading-md{
        font-size:1.75rem;
        line-height:2.5rem;
    }
    .text-heading-sm{
        font-size:1.5rem;
        line-height:2rem;
    }
    .text-content{
        font-size:1.25rem;
        line-height:1.875rem;
    }
    .content-list,
    .product-desc-list{
        font-size:1.25rem;
        line-height:2rem;
    }
    .product-list-item{
        margin-bottom:1.25rem;
    }
    .product-data-link{
        font-size:1.25rem;
        line-height:2rem;
    }
    .contact__detail-icon-div{
        width:30px;
    }
    .contact__table-div{
        padding-left:20px;
    }
    .contact__detail-heading,
    .contact__detail-text{
        font-size:1.5rem;
    }
}
@media(max-width:500px){
    .text-heading-lg{
        font-size:1.875rem;
    }
    .text-heading-md{
        font-size:1.5625rem;
        line-height:2.25rem;
    }
    .text-heading-sm{
        font-size:1.25rem;
        line-height:1.875rem;
    }
    .text-content{
        font-size:1.125rem;
        line-height:1.875rem;
    }
    .content-list,
    .product-desc-list{
        font-size:1.125rem;
        line-height:2rem;
    }
    .product-list-item{
        margin-bottom:0.5rem;
    }
    .product-data-link{
        font-size:1.125rem;
        line-height:1.875rem;
    }
    .contact__detail-icon-div{
        width:25px;
    }
    .contact__table-div{
        padding-left:15px;
    }
    .contact__detail-heading,
    .contact__detail-text{
        font-size:1.25rem;
    }
    .script-form-success {
        font-size: 1.75rem;
    }
    .script-form-success img {
        width: 200px;
    }
}
@media(max-width:400px){
    .hero-slogan{
        font-size:1.875rem;
        line-height:2.5rem;
    }
    .contact__detail-icon-div{
        width:20px;
    }
    .contact__table-div{
        padding-left:10px;
    }
    .contact__detail-heading,
    .contact__detail-text{
        font-size:1rem;
    }
    .script-form-success {
        font-size: 1.5rem;
    }
    .script-form-success img {
        width: 175px;
    }
    .footer-heading{
        font-size:6vw;
    }
    .footer-link{
        font-size:4.5vw;
    }
    .footer-details-heading{
        font-size:5vw;
    }
    .footer-details-text{
        font-size:4.5vw;
    }
    .footer-license{
        font-size:4vw;
    }
}
@media(max-width:300px){
    .hero-slogan{
        font-size:10vw;
        line-height:15vw;
    }
    .text-heading-lg{
        font-size:10vw;
    }
    .text-heading-md{
        font-size:8vw;
        line-height:12vw;
    }
    .text-heading-sm{
        font-size:7vw;
        line-height:10vw;
    }
    .text-content{
        font-size:6vw;
        line-height:9vw;
    }
    .content-list,
    .product-desc-list{
        font-size:6vw;
        line-height:8vw;
    }
    .product-data-link{
        font-size:6vw;
        line-height:8vw;
    }
    .contact__detail-icon-div{
        width:7vw;
    }
    .contact__table-div{
        padding-left:3vw;
    }
    .contact__detail-heading,
    .contact__detail-text{
        font-size:6vw;
    }
    .form-label,
    .form-info{
        font-size:6vw;
    }
    .script-form-success img {
        width: 90%;
    }
}