@font-face {
    font-family: 'Viga';
    src:         url('../fonts/viga.woff') format('woff'),
                 url('../fonts/viga.woff2') format('woff2');
    font-weight: normal;
    font-style:  normal;
}
/*--------------------------- BODY LAYOUT  -------------------------------------*/
html, body {
    height: 100%;
    color: #fff;
    /*font-family: "Montserrat", Helvetica, Arial, sans-serif;*/
}

.wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -43px;
    /* the bottom margin is the negative value of the footer's height */
}

footer, .push {
    height: 43px;
    margin: 0;
    padding: 0 1em;
}

footer p {
    margin: 0;
}

footer a {
    letter-spacing: 0.15em;
    font-weight: 300;
    text-transform: uppercase;
    font-size: .9rem;
    padding-right: 20px;
    line-height: 3em;
}

nav {
    height: 110px;
    position: relative;
}

nav ul a, nav .logo {
    padding: 23px 15px;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 1.3rem !important;
    color: inherit;
}

nav .button-collapse i {
    line-height: 62px;
}

/*--------------------------------- COLORS ------------------------------------*/

.primary {
    background-color: #e52f08 !important;
}

.primary-text {
    color: #e52f08 !important;
}

.secondary {
    background-color: #ddd !important;
}

.secondary-text {
    color: #ddd !important;
}

.tertiary {
    background-color: #e25a44 !important;
}

.tertiary-text {
    color: #e25a44 !important;
}

.quaternary {
    background-color: #191919 !important;
}

.quaternary-text {
    color: #191919 !important;
}

/*-----------------------------STANDARD ELEMENTS-------------------------------*/

nav a.button-collapse i {
    height: 100%;
    line-height: 2.6em;
    font-size: 3em;
}

.signet-container {
    height: 100%;
}

p {
    margin: .7em 0;
}

a {
    color: inherit;
    font-weight: bold;
}

ul li {
    /*padding: .7em 3em;*/
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Viga', sans-serif;
    text-transform: uppercase;
}

h1, h2 {
    line-height: 1.2em;
    font-weight: 200;
}

h3 {
    font-size: 2.2rem;
    line-height: 1.4em;
    margin: 1.43rem 0 1.168rem 0;
}

h4 {
    font-weight: 300;
    font-size: 2.6rem;
}

.white-text h4 {
    font-weight: 200;
}

h5 {
    font-size: 1.7rem;
}

label {
    color: white;
}

.small-text {
    font-size: .865rem;
}

.valign-wrapper > .valign.center {
    width: 100% !important;
}

.valign-divider {
    height: 150px;
}

.border-bottom {
    padding: 2rem 1rem;
    display: inline-block;
    border-bottom: 3px solid;
    border-top: 3px solid;
}

/* ------------------------- HELPER --------------------------------- */

.pos-rel {
    position: relative;
}

.pos-abs {
    position: absolute;
}

.z-boost {
    z-index: 100;
    position: relative;
}

.bg-center {
    background-position: center;
}

.fw {
    width: 100%;
}

.no-pad {
    padding: 0 !important;
}

.no-mar {
    margin: 0 !important;
}

.no-mar-top {
    margin-top: 0;
}

.no-mar-bot {
    margin-bottom: 0;
}

.no-pad-right {
    padding-right: 0 !important;
}

.no-pad-left {
    padding-left: 0 !important;
}

/*------------------------------- PADDINGS & MARGINS --------------------------*/

.more-mar-bot {
    margin-bottom: 1.4em !important;
}

.more-pad-bot {
    padding-bottom: 1.4em !important;
}

.more-mar-top {
    margin-top: 1.4em !important;
}

.more-pad-top {
    padding-top: 1.4em !important;
}

.little-mar-bot {
    margin-bottom: .5em !important;
}

.little-pad-bot {
    padding-bottom: .5em !important;
}

.little-mar-top {
    margin-top: .5em !important;
}

.little-pad-top {
    padding-top: .5em !important;
}

/*---------------------------------SPECIFIC PAGE ELEMENTS-------------------------------------*/

.viga {
    font-family: 'Viga', sans-serif;
    text-transform: uppercase;
}

.super-shadow {
    text-shadow: 1px 1px 15px black, 1px 1px 13px black, 1px 1px 5px black;
}

.service {
    padding: 2vh 2vw !important;
}

.service-icon {
    width: 20%;
}

.service-label {
    margin: .5rem 0;
}

.gallery--item {
    margin-top: 20px;
}

.advantage li:before {
    font-family: 'FontAwesome';
    content: '\f058';
    margin: 0 12px 0 0;
}

.btn.btn-multi {
    height: auto;
    min-height: 20px;
    line-height: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
}

@media (min-width: 601px) {
    .signet-container {
        width: 276px;
    }
}

@media (max-width: 600px) {
    nav {
        height: 63px;
        line-height: 53px;
    }

    nav a.button-collapse i {

        line-height: 1.5em;
        font-size: 3em;
    }

    .signet-container {
        width: 160px;
    }

    .valign-divider {
        height: 80px;
    }
}

@media (min-width: 601px) and (max-width: 1024px) {
}

@media (min-width: 601px) and (max-width: 1250px) {
    .full-on-med {
        width: 95%;
        /*padding: 0 30px;*/
    }
}

.slider {
    height: 88vh !important;
}

.slides {
    height: 85vh !important;
}
.slider .slides li img {
    background-position-x: center;
    background-position-y: 40%;
}
/*.slider .slides li img {*/
    /*-webkit-animation: slide 60s linear infinite;*/
    /*-moz-animation: slide 60s linear infinite;*/
    /*animation: slide 60s linear infinite;*/
/*}*/
/*@-webkit-keyframes slide*/
/*{*/
    /*0% {background-position: 0 0px;}*/
    /*100% {background-position: 0 10px;}*/
/*}*/

/*@-moz-keyframes slide*/
/*{*/
    /*0% {background-position: 0 0px;}*/
    /*100% {background-position: 0 10px;}*/
/*}*/

/*@keyframes slide*/
/*{*/
    /*0% {background-position: 0 0px;}*/
    /*100% {background-position: 0 2000px;}*/
/*}*/

.slider .indicators .indicator-item.active {
    background-color: #e52f08 !important;
}

.slider .indicators .indicator-item {
    background-color: #fff !important;
}

.parallax-container {
    min-height: 380px;
    line-height: 0;
    height: auto;
    color: rgba(255, 255, 255, .9);
}

.parallax-container .section {
    width: 100%;
}

@media only screen and (max-width: 992px) {
    .parallax-container .section {
        position: absolute;
        top: 40%;
    }

    #index-banner .section {
        top: 10%;
    }
}

@media only screen and (max-width: 600px) {
    #index-banner .section {
        top: 0;
    }
}

@media only screen and (min-width: 993px) and (max-width: 1072px) {
    nav .nav-wrapper {
        width: 95% !important;
    }
}

.left-nav-active header, .left-nav-active main, .left-nav-active footer {
    padding-left: 240px;
}

@media only screen and (max-width: 992px) {
    .left-nav-active header, .left-nav-active main, .left-nav-active footer {
        padding-left: 0;
    }
}

.collapsible-header h5 {
    margin-bottom: 0px;
}

.collapsible-body .collection {
    font-size: 13px;
}

.collapsible {
    background-color: white;
}

.vita-container {
    margin-top: -29px;
}

.yform-element input {
    border-bottom-color: white !important;
}

.yform-element input:focus {
    border-bottom-color: #191919 !important;
    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
    box-shadow: 0 1px 0 0 #191919 !important;
}

.form_warning input {
    border-bottom-color: #f44336 !important;
    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
}

::-webkit-input-placeholder {
    color: rgba(255, 255, 255, .4);
}

:-moz-placeholder {
    /* Firefox 18- */
    color: rgba(255, 255, 255, .4);
}

::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, .4);
}

:-ms-input-placeholder {
    color: rgba(255, 255, 255, .4);
}

textarea {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: transparent;
    border-bottom-color: white;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-image-outset: 0 0 0 0;
    border-image-repeat: stretch stretch;
    border-image-slice: 100% 100% 100% 100%;
    border-image-source: none;
    border-image-width: 1 1 1 1;
    border-left-color: -moz-use-text-color;
    border-left-style: none;
    border-left-width: medium;
    border-right-color: -moz-use-text-color;
    border-right-style: none;
    border-right-width: medium;
    border-top-color: -moz-use-text-color;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top-style: none;
    border-top-width: medium;
    box-shadow: none;
    box-sizing: content-box;
    font-size: 1rem;
    height: 3rem;
    margin-bottom: 15px;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    outline-color: -moz-use-text-color;
    outline-style: none;
    outline-width: medium;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: all;
    transition-timing-function: ease;
    width: 100%;
    min-height: 3rem;
    overflow-y: hidden;
    padding-bottom: 1.6rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 1.6rem;
    resize: none;
}

textarea:focus {
    border-bottom-color: #191919 !important;
    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
    box-shadow: 0 1px 0 0 #191919 !important;
}

@media only screen and (max-width: 360px) {
    .flow-text {
        font-size: 1.2rem;
    }

    h1 {
        font-size: 2.8rem;
        margin: 1.5rem 0 1rem 0;
    }

    h2 {
        font-size: 2rem;
        margin: 1.2rem 0;
    }

    h3 {
        font-size: 1.5rem;
    }
}

@media only screen and (min-width: 360px) {
    .flow-text {
        font-size: 1.2rem;
    }

    h1 {
        font-size: 2.8rem;
        margin: 1.5rem 0 1rem 0;
    }

    h2 {
        font-size: 2rem;
        margin: 1.2rem 0;
    }

    h3 {
        font-size: 1.5rem;
    }
}

@media only screen and (min-width: 390px) {
    .flow-text {
        font-size: 1.205rem;
    }
}

@media only screen and (min-width: 420px) {
    .flow-text {
        font-size: 1.212rem;
    }
}

@media only screen and (min-width: 450px) {
    .flow-text {
        font-size: 1.219rem;
    }
}

@media only screen and (min-width: 480px) {
    .flow-text {
        font-size: 1.227rem;
    }
}

@media only screen and (min-width: 510px) {
    .flow-text {
        font-size: 1.234rem;
    }
}

@media only screen and (min-width: 540px) {
    .flow-text {
        font-size: 1.242rem;
    }
}

@media only screen and (min-width: 570px) {
    .flow-text {
        font-size: 1.249rem;
    }
}

@media only screen and (min-width: 600px) {
    .flow-text {
        font-size: 1.256rem;
    }
}

@media only screen and (min-width: 630px) {
    .flow-text {
        font-size: 1.264rem;
    }
}

@media only screen and (min-width: 660px) {
    .flow-text {
        font-size: 1.272rem;
    }
}

@media only screen and (min-width: 690px) {
    .flow-text {
        font-size: 1.279rem;
    }
}

@media only screen and (min-width: 720px) {
    .flow-text {
        font-size: 1.287rem;
    }
}

@media only screen and (min-width: 750px) {
    .flow-text {
        font-size: 1.295rem;
    }
}

@media only screen and (min-width: 780px) {
    .flow-text {
        font-size: 1.302rem;
    }
}

@media only screen and (min-width: 810px) {
    .flow-text {
        font-size: 1.310rem;
    }
}

@media only screen and (min-width: 840px) {
    .flow-text {
        font-size: 1.318rem;
    }

    h1 {
        font-size: 3.5rem;
        margin: 2rem 0 1.5rem 0;
    }

    h2 {
        font-size: 2.5rem;
    }

    h3 {
        font-size: 1.65rem;
    }
}

@media only screen and (min-width: 870px) {
    .flow-text {
        font-size: 1.326rem;
    }
}

@media only screen and (min-width: 900px) {
    .flow-text {
        font-size: 1.334rem;
    }
}

@media only screen and (min-width: 930px) {
    .flow-text {
        font-size: 1.342rem;
    }
}

@media only screen and (min-width: 960px) {
    .flow-text {
        font-size: 1.35rem;
    }
}