/* ==========================================================================
   Fonts
   ========================================================================== */


/* ==========================================================================
   Helper classes
   ========================================================================== */
.clearfix:before,
.clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }


/* ==========================================================================
   Responsive helpers
   ========================================================================== */

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

/*
 * Responsive helpers
 */
.hidden-desktop { display: none; }

.pull-right { float: right; }
.pull-left { float: left; }

.table{ display: table; width: 100%; height: 100%; }
.table-cell{ display: table-cell; vertical-align: middle; width: 100%; }


/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; }

/* ==========================================================================
   General styles
   ========================================================================== */
img { max-width: 100%; }





/* ==========================================================================
   Main styles
   ========================================================================== */
html { color: #222; font-size: 1em; line-height: 1.4; }
body { }

.dynamicForm{ text-align: left; }
.dynamicForm input[type="text"],
.dynamicForm input[type="email"]{  width: 100%; padding: 5px; border: solid 1px silver; border-radius: 5px; }
.dynamicForm input[type="date"]{ padding: 5px; border: solid 1px silver; border-radius: 5px; }
.dynamicForm input[type="text"].wpcf7-not-valid,
.dynamicForm input[type="email"].wpcf7-not-valid,
.dynamicForm input[type="date"].wpcf7-not-valid{ -webkit-box-shadow:inset 0 0 5px 0 rgba(255,10,10,1); box-shadow:inset 0 0 5px 0 rgba(255,10,10,1); }
.dynamicForm textarea.wpcf7-not-valid{ -webkit-box-shadow:inset 0 0 5px 0 rgba(255,10,10,1); box-shadow:inset 0 0 5px 0 rgba(255,10,10,1); }
.dynamicForm textarea{ width: 100%; height: 100px; padding: 5px; border: solid 1px silver; border-radius: 5px; }
span.wpcf7-not-valid-tip{ display: none !important; }
.wpcf7-form-control-wrap{ width: 100%; display: block; }
.wpcf7-radio .wpcf7-list-item{ display: block; margin-left: 0; }
.wpcf7-radio .wpcf7-list-item label{ line-height: inherit; margin-bottom: 0; }
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label{ font-weight: 400; }
.form-submit-btn{ float: right; margin-top: 20px; background-color: #e20303; color: white; border: 0; font-weight: bold; padding: 5px 15px; }
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing { border: none; background: #e3e3e3; }




/* ==========================================================================
   Media Queries
   ========================================================================== */

/* Tablet */
@media only screen and (max-width: 1024px) {
    /* Helpers */
    .hidden-tablet { display: none; }
    .visible-tablet { display: block; }
}

/* Mobile */
@media only screen and (max-width: 767px) {
    /* Helpers */
    .hidden-mobile { display: none; }
    .visible-mobile { display: block; }
}




/* ==========================================================================
   Basic Print styles
   ========================================================================== */
@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}




/* ==========================================================================
   RB Feature Banner
   ========================================================================== */

.rb-feature-banner {
    background-position: center;
    background-size: cover;

}

.rb-feature-banner-form {
    background: #000;
}

.rb-feature-banner-form__title {
    background: #3f8cd8;
    color: #fff;
    font-size: 30px;
    padding: 15px 20px;
    text-transform: uppercase;
}

.rb-feature-banner-form__fields {
    padding: 20px 20px 0;
}

.rb-feature-banner-form__fields label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}

.rb-feature-banner-form input,
.rb-feature-banner-form select {
    border: none;
    border-radius: 4px;
    font-family: 'Roboto', sans-serif;
    line-height: 1 !important;
    padding: 10px 15px !important;
}

.rb-feature-banner-form input[type="submit"] {
    background: #3f8cd8;
    color: #fff;
    font-family: 'Roboto Condensed';
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    width: 140px;
    transition: width 0.2s ease-out;
}

.rb-feature-banner-form input[type="submit"]:hover {
    width: 160px;
}

.rb-feature-banner-form .gform_wrapper .validation_message {
    display: none;
}

.rb-feature-banner-form .gform_wrapper .gfield_error [aria-invalid=true] {
    background: #f8d7da;
}



@media (min-width: 768px) {
    .rb-feature-banner {
        height: 700px;
    }

    .rb-feature-banner__inner {
        align-items: center;
        display: flex;
        height: 100%;
        justify-content: flex-end;
        padding: 15px !important;
    }

    .rb-feature-banner__img {
        display: none;
    }

    .rb-feature-banner__form {
        width: 50%;
    }

    .rb-feature-banner-form {
        background: rgba(0, 0, 0, 0.5);
    }

    .rb-feature-banner-form__title {
        font-size: 40px;
        padding: 20px 30px;
    }

    .rb-feature-banner-form__fields {
        padding: 30px;
    }

    .rb-feature-banner-form input,
    .rb-feature-banner-form select {
        padding: 15px 20px !important;
    }
}




/* ==========================================================================
   RB Testimonial Carousel
   ========================================================================== */

.rb-testimonial-carousel {
    margin-bottom: 60px !important;
}

.rb-testimonial-carousel .slick-dots button {
    background: #3f8cd8;
    border-radius: 50%;
    height: 10px;
    transition: all 0.2s ease-out;
    width: 10px;
}

.rb-testimonial-carousel .slick-dots button:hover {
    background: #e20303;
}

.rb-testimonial-carousel .slick-dots button::before {
    display: none;
}

