/************************
* Resets *
************************/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, hr, dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption, hgroup, menu, footer, header, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, main {
    display: block
}

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1
}

    audio:not([controls]) {
        display: none
    }

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

a:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

a:hover, a:active {
    outline: 0
}

sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    height: auto;
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: middle
}

button, input, select, textarea {
    margin: 0;
    font-size: 100%;
    vertical-align: middle
}

button, input {
    *overflow: visible;
    line-height: normal
}

    button::-moz-focus-inner, input::-moz-focus-inner {
        padding: 0;
        border: 0
    }

    button, input[type="button"], input[type="reset"], input[type="submit"] {
        cursor: pointer;
        -webkit-appearance: button
    }

    input[type="search"] {
        -webkit-appearance: textfield;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box
    }

        input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
            -webkit-appearance: none
        }

html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*, *:before, *:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

.clearfix {
    *zoom: 1
}

    .clearfix:before, .clearfix:after {
        display: table;
        content: ""
    }

    .clearfix:after {
        clear: both
    }

/*------ prevent focus zoom on mobile ------*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
    select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] {
        font-size: 16px !important;
    }
}

/*------typography, etc.------*/
body {
    margin: 92px 0 0 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.5em;
    color: #333;
    background-color: #eee;
}

    body.noScroll { /* ...or body.dialogShowing */
        overflow: hidden;
    }


p {
    margin: 0 0 1em;
}

    p:last-child {
        margin: 0 0 0em;
    }

a {
    color: #72BE44;
    text-decoration: underline;
    -webkit-transition: color .1s ease-in;
    -moz-transition: color .1s ease-in;
    -o-transition: color .1s ease-in;
    transition: color .1s ease-in;
}

    a:hover {
        color: #72BE44;
        text-decoration: none;
    }

    a:visited {
        color: #72BE44;
    }

    a:active {
        color: #61A03A;
    }

    a:link img, a:visited img {
        border-style: none
    }

img {
    max-width: 100%;
}

h1, h1 a, .h1 {
    font-size: 2.938em;
    font-weight: 700;
    margin-bottom: .75em;
    line-height: 1.1em;
    font-family: 'Roboto Slab', serif;
    color: #004F99;
}

h2, h2 a, .h2 {
    font-size: 1.625em;
    margin-bottom: .5em;
    font-weight: 700;
    color: #004F99;
    line-height: 1.2em;
}

    h2.home {
        font-family: 'Roboto Slab', serif;
        font-size: 2.275em;
    }


h3, .h3 {
    font-size: 1.25em;
    margin-bottom: .5em;
    font-weight: 700;
    color: #6CB644;
}

h4, .h4 {
    font-size: 1.25em;
    margin-bottom: .5em;
    font-weight: 700;
    color: #004376;
}

.h4 {
    display: block;
}


h5, h5 a, .h5 {
    font-size: 1em;
    margin-bottom: .5em;
    font-weight: bold;
}

h6, h6 a, .h6 {
    font-size: 1.1em;
    margin-bottom: 0;
    font-weight: bold;
}

    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        text-decoration: none;
        font-size: 1em;
    }

        h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
            text-decoration: underline;
        }

p + div, p + fieldset {
    margin-top: 1.5em;
}

p + ul, p + ol {
    margin-top: -.125em;
    margin-bottom: 1.5em;
}

p + h2, ul + h2, ol + h2, aside + h2, p + h3, ul + h3, ol + h3, aside + h3, p + h4, ul + h4, ol + h4, aside + h4, p + h5, ul + h5, ol + h5, aside + h5, p + h6, ul + h6, ol + h6, aside + h6 {
    margin-top: 1.25em;
}


.delay-1 {
    animation-delay: .25s;
}

.delay-2 {
    animation-delay: .5s;
}

.delay-3 {
    animation-delay: .75s;
}

.delay-4 {
    animation-delay: 1s;
}

.lead {
    font-size: 1.3em;
    line-height: 1.5em;
    font-weight: 300;
    margin-bottom: .75em;
}

    .lead strong {
        font-weight: 700;
    }

hr {
    color: #CCCCCC;
    background-color: #CCCCCC;
    height: 1px;
    border: 0;
    width: 100%;
    margin-bottom: 2em;
    margin-top: 1.5em;
    clear: both;
}

blockquote {
    font-size: 16px;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #666;
    margin: 0 0 1.5em 0;
    padding-left: .75em;
    font-style: italic;
}

    blockquote p {
        margin-bottom: .75em
    }

cite {
    color: #333;
    margin: 0 00;
    display: block;
    text-emphasis: none;
    font-style: normal;
}

    cite p {
        margin-bottom: 1em;
    }

sup, sub {
    line-height: 1em;
}

strike {
    color: #999;
}

iframe {
    margin: 0 auto 1.5em auto;
    display: block;
    width: 100%;
}

code {
    font-size: 1em;
    background: rgba(0,0,0,.085);
    border-radius: 4px;
    padding: 0 3px;
}

pre code {
    display: block;
    background: #f4f6f9;
    font-family: Monaco, monospace;
    border: 1px solid #DDD;
    -moz-border-radius: 4px;
    border-radius: 4px;
    margin-bottom: 2.5em;
    overflow: auto;
    width: 100%;
    padding: 1em;
    font-size: 1.25em;
}

pre {
    white-space: pre;
    padding: 0;
    font-size: 12px;
    line-height: 1.4em;
}

aside, figure {
    float: right;
    margin: 0 0 1em 2.5%;
    width: 33%;
    background: #f4f6f9;
    padding: .75em;
    font-size: .75em;
    line-height: 1.333em;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

    aside img, figure img {
        margin: 0 0 1em;
    }

dl {
    margin-bottom: 1em;
}

dt {
    font-weight: bold;
}

.mobile {
    display: none;
}

.visuallyhidden {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.center {
    text-align: center;
}

.skip {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

    .skip:focus {
        position: static;
        width: auto;
        height: auto;
        margin: .5em .5em;
        font-size: .9em;
    }

.wow {
    visibility: hidden;
}

/************************
* Structure *
************************/

.first {
    float: left;
    margin-right: 3.5%;
}

.middle {
    float: left;
    margin-right: 3.5%;
}

.last {
    float: right;
}

/*------widths------*/

.group {
    margin-bottom: 1.5em;
}

    .group:last-child {
        margin-bottom: 0;
    }

.group_1of2, table.table_structure_2x td {
    width: 48.25%;
}

.group_1of3, table.table_structure_3x td {
    width: 31%;
}

.group_2of3 {
    width: 65.5%;
}

.group_1of4, table.table_structure_4x td {
    width: 22.375%;
}

.group_3of4 {
    width: 74.125%;
}

.group_1of5 {
    width: 17.2%;
}

.group_2of5 {
    width: 37.9%;
}

.group_3of5 {
    width: 58.6%;
}

.group_4of5 {
    width: 79.3%;
}

.group_1of6 {
    width: 13.75%;
}

.group_5of6 {
    width: 82.75%;
}

.group_1of7 {
    width: 11.28571428571429%;
}

.group_2of7 {
    width: 26.07142857142858%;
}

.group_3of7 {
    width: 40.85714285714287%;
}

.group_4of7 {
    width: 55.64285714285716%;
}

.group_5of7 {
    width: 70.42857142857145%;
}

.group_6of7 {
    width: 85.21428571428574%;
}

.group_1of8 {
    width: 9.4375%;
}

.group_3of8 {
    width: 35.3125%;
}

.group_5of8 {
    width: 61.1875%;
}

.group_7of8 {
    width: 87.0625%;
}

/*------sections / wrappers------*/

.site_wrapper {
    margin: 0 auto;
    max-width: 1620px !important;
    padding: 0 0%;
    position: relative;
    -webkit-transition: left .25s;
    -moz-transition: left .25s;
    -o-transition: left .25s;
    transition: left .25s;
    left: 0;
    box-shadow: 0 0 4px 3px rgba(0,0,0,0.07);
    overflow: hidden
}

.wrapper {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 0%;
}

section {
    background-color: #fff;
}

    section.section_primary {
        padding: 3em 3.5%;
    }

    section.section_secondary {
        padding: 3em 0;
        border-bottom: 1px solid #ddd;
    }

.section_hero {
    border-bottom: 1px solid #ddd;
    background: #f4f6f9;
}

    .section_hero .wrapper {
        max-width: 1400px;
        padding: 0;
    }

/* --- global media object --- */
.media {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
}

.media_body {
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    -ms-word-break: break-all;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.media_right {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: .75rem;
}

.media_left {
    margin-left: 0;
    margin-right: .75rem;
}
/* --- no support for flex, .no-flexbox added with Modernizr--- */
.no-flexbox .media {
    display: table;
    width: 100%;
}

.no-flexbox .media_body, .no-flexbox .media_right, .no-flexbox .media_left {
    display: table-cell;
}

.no-flexbox .media_right {
    float: right;
}

/*------rotator banner------*/
.rotator_banner {
    position: relative;
    z-index: 0;
    background: #eee;
    text-align: center;
}

    .rotator_banner .rotator_banner_img {
        height: 300px;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center center;
        display: block;
    }

    .rotator_banner .rotator_banner_content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .rotator_banner .heading {
        display: block;
        font-weight: bold;
        font-size: 1.8em;
        line-height: 1.1em;
        margin-bottom: .25em;
    }

    .rotator_banner .description {
        display: block;
        font-size: 1.2em;
        margin-bottom: .5em;
    }

/*------site header------*/


.site_header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    background: #FFFFFF;
    -webkit-box-shadow: 0px -1px 8px -4px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px -1px 8px -4px rgba(0,0,0,0.75);
    box-shadow: 0px -1px 8px -4px rgba(0,0,0,0.75);
}

    .site_header .wrapper {
        position: relative;
        margin: 0 auto;
        max-width: 1620px;
        padding: 0 3.5%;
    }

    .site_header a.logo {
        margin: 0 0;
        background: url(/images/logo-c1st.png); /*------ PNG backup (2x final size)------*/
        background-image: url(/images/logo-c1st.svg), none; /*------ SVG ------*/
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 320px 81px;
        width: 320px;
        height: 81px; /*------ final size ------*/
        float: left;
        display: block;
        position: absolute;
        left: 3.5%;
        bottom: -13px;
        z-index: 20;
    }

/*------site footer------*/

a.btn_footer_nav {
    display: none;
    text-decoration: none !important;
    *zoom: 1;
    width: 100%;
    background-color: #6CB644;
    color: #fff;
    margin: 0em 0 2em 0;
    border-radius: 4px;
    padding: 1em;
    font-size: 1em;
    cursor: pointer;
    font-weight: 600;
    border: 0;
    text-align: center;
}



    a.btn_footer_nav:hover {
        color: #fff;
        text-decoration: none;
        background: #61A03A;
    }


.site_footer {
    margin: 0 auto;
    padding: 3em 3.5%;
    clear: both;
    font-size: .85em;
    color: #fff;
    background: #004F99;
}

    .site_footer .menu-wrapper {
        position: relative;
        margin: 0 auto;
    }



        .site_footer .menu-wrapper h4 {
            color: #ffffff;
            text-transform: uppercase;
            margin: 0 0 .5em 0;
            font-size: 1em;
        }

            .site_footer .menu-wrapper h4 a {
                color: #ffffff;
                text-decoration: none;
                display: block;
            }

        .site_footer .menu-wrapper a:hover {
            opacity: .7;
        }

        .site_footer .menu-wrapper ul {
            margin: 0;
            list-style: none;
            padding: 0;
            border: none;
            margin-bottom: 1.5em;
            font-size: .938em;
            line-height: 1.3em;
        }

        .site_footer .menu-wrapper li a {
            color: #fff;
            text-decoration: none;
            padding: 3px 0;
            display: block;
        }

            .site_footer .menu-wrapper li a:hover {
                color: #ffffff;
            }


    .site_footer .sm-wrapper {
        position: relative;
        margin: 0 auto;
        padding: 1em 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }


ul.footer-menu-sm {
    list-style: none;
    padding: 0;
    border: none;
    margin-bottom: 1.5em;
    line-height: 1.3em;
    display:flex;
    align-items:center;
}

ul.footer-menu-sm li {
    margin-right:1.5em;
    color: #FFF !important;
}


.routing-info {
    text-align: right;
    color: #FFF;
}

    .routing-info strong {
        font-weight: 700;
    }

    .routing-info a {
        color: #FFF;
    }

.site_footer .copyright-wrapper {
    position: relative;
    margin: 0 auto;
    padding: 2em 0;
}


ul.privacy-info {
    list-style: none;
    padding: 0;
    border: none;
    margin-bottom: 1.5em;
    line-height: 1.3em;
}

    ul.privacy-info li {
        padding: 0 .75em .75em 0;
        color: #FFF !important;
        list-style: none;
        float: left;
    }

        ul.privacy-info li a {
            color: #FFF;
            text-decoration: underline;
        }

            ul.privacy-info li a:hover {
                text-decoration: none;
            }


ul.logos {
    list-style: none;
    padding: 0;
    border: none;
    margin-bottom: 1.5em;
    line-height: 1.3em;
    float: right;
}

    ul.logos li {
        padding: 0 .75em .75em 0;
        color: #FFF !important;
        list-style: none;
        float: left;
    }

        ul.logos li a {
            color: #FFF;
            text-decoration: none;
        }

.site_footer .copyright-wrapper a.spinutech {
    color: #fff;
}

.top_site {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 700000;
    display: none;
}

    .top_site a {
        color: #999;
        color: rgba(153,153,153,.6);
        border: 0;
    }

        .top_site a:hover {
            border: 0;
        }

/************************
* Navigation *
************************/

/* Primary Navigation Resets and Defaults*/
nav.nav_primary {position:relative; }
	nav.nav_primary ul {list-style: none; margin:0; padding:0;}
	nav.nav_primary svg {margin-left:.125em;}
	nav.nav_primary li:hover svg {transition:.3s transform ease-in-out;transform: rotate(180deg);}
	nav.nav_primary > ul > li > a {text-decoration:none; color:#004f99;}

/* Level 1 (All) */
nav.nav_primary ul.parent {display:flex; justify-content:flex-end;}
nav.nav_primary ul.parent > li {position:relative; display:block; float:left;}
nav.nav_primary ul.parent > li.nav_mobile {display:none;}
nav.nav_primary ul.parent > li > a {padding:.5em .75em .75em .75em; text-align:center; display:block;}
    nav.nav_primary ul.parent > li:last-child > a {padding-right:none;}
nav.nav_primary ul.parent > li > a:hover, nav.nav_primary ul.parent > li.drop_nav.hover > a {color:#333}
nav.nav_primary ul.parent > li > a.selected, nav.nav_primary ul.parent > li.selected > a {font-weight:700;}
	
/* Level 2 Dropdown (All)*/
nav.nav_primary ul.parent > li > ul { background:#fff; display:none; position:absolute; left: -1px; z-index:3; -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);}
    nav.nav_primary ul.parent > li > ul { left:auto; right: -1px; }
    nav.nav_primary ul.parent > li:hover > ul { display: block; }
	.no-js nav.nav_primary ul.parent > li:hover > ul, .no-js nav.nav_primary ul.parent > li:focus-within > ul {display:block;}  /*no js fallback */
	
	/* Level 2 Dropdown (Nav)*/
	nav.nav_primary ul.parent li.drop_nav > ul { width: 200px; top: 100%;}
	nav.nav_primary ul.parent li.drop_nav > ul > li > a {padding:.5em .625em; display:block; font-size:1em; border-bottom:1px solid #ddd; text-decoration:none;color:#333;}
	nav.nav_primary ul.parent li.drop_nav > ul > li > a:hover {background:#eee;}





/*------secondary navigation------*/
nav.nav_secondary {margin-top:.25em; padding:.5em 0;}

    nav.nav_secondary > ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display:flex;
        justify-content: flex-end;
        align-items:center;
    }

    nav.nav_secondary > ul > li {
        font-size: .875em;
        padding: 0 0 0 1.25em;
    }
    nav.nav_secondary > ul > li {text-align:right;}
        nav.nav_secondary li a {
            text-decoration: none;
            border-radius: 4px;
            color: #000;
        }

            nav.nav_secondary li a:hover, nav.nav_primary li a:focus {
                color: #333;
            }

            nav.nav_secondary li a:active {
                color: #666;
            }

        nav.nav_secondary li.active a {
            font-weight: bold;
            color: #333;
        }

.nav_drawer {
    display: none;
}

.nav_mobile ul {
    margin: 0 0 1em 0;
    padding: 0;
}

    .nav_mobile ul li {
        list-style: none;
        border-top: 1px solid rgba(255,255,255,.25);
        position: relative;
    }

        .nav_mobile ul li:last-child {
            border-bottom: 1px solid rgba(255,255,255,.25);
        }

    .nav_mobile ul > li a {
        color: #fff;
        text-decoration: none;
        display: block;
        font-size: 1em;
        padding: 12px 25px 15px 15px;
        line-height: 1.2em
    }

.nav_mobile > ul li ul {
    margin: 0 0 0 1em;
    padding: 0 0;
    border-left: 4px solid #B2D235;
    display: none;
}

.nav_mobile ul li ul li {
    border: 0;
}

    .nav_mobile ul li ul li:last-child {
        border: 0
    }

.nav_mobile > ul li ul li a {
    line-height: 1.2em;
    padding: 10px 14px;
    margin-bottom: 0em;
    font-size: .9em
}

.nav_mobile > ul li ul li:last-child {
    margin-bottom: 1em
}

.nav_drawer_close:after {
    content: "";
    background-image: url('/images/times.svg');
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    float: right;
}

/*------
.nav_mobile .caret {display:block; border-top: 7px solid rgba(255,255,255,.5);border-right: 7px solid transparent;border-left: 7px solid transparent;content: ""; position:absolute;right:10px;top:21px;}
------*/

.nav_mobile .caret {
    display: block;
    transition: all .1s;
    border-left: 7px solid rgba(255,255,255,.65);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    content: "";
    position: absolute;
    right: 10px;
    top: 18px;
}

.nav_mobile .toggle_caret .caret {
    border-top: 0px;
    border-top: 7px solid rgba(255,255,255,.65);
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    top: 23px;
}

.close_nav_mobile {
    display: none
}



.nav_drawer_btn:before {
    display: inline-block;
    content: "";
    background-image: url('/images/bars.svg');
    background-size: 12px 14px;
    width: 12px;
    height: 12px;
    margin: 0 10px 0 0;
}

.nav_drawer_btn:after {
    content: "";
    background-image: url('/images/times.svg');
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    display: none;
    margin: 0 0 0 10px;
    z-index: 100000;
}

.nav_drawer {
    padding: 2em 2em;
    overflow-y: scroll;
    overflow-x: hidden;
}


    .nav_drawer a.logo {
        background: url(/images/logo-drawer.png); /*------ PNG backup (2x final size)------*/
        background-image: url(/images/logo-drawer.svg), none; /*------ SVG ------*/
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 73px 62px;
        width: 73px;
        height: 62px; /*------ final size ------*/
        display: block;
        z-index: 20;
        margin: 0 auto 2em;
    }


.nav_drawer {
    right: -75%;
    transition: right .25s;
    display: block;
    background: #004F99;
    width: 75%;
    position: fixed;
    top: 0;
    bottom: 0;
    -webkit-box-shadow: inset 39px 0px 22px -45px rgba(0,0,0,0.75);
    -moz-box-shadow: inset 39px 0px 22px -45px rgba(0,0,0,0.75);
    box-shadow: inset 39px 0px 22px -45px rgba(0,0,0,0.75);
    z-index: 99999999;
}

/*------ body.show_nav_drawer { position:fixed; overflow:hidden;}  ------*/
body.show_nav_drawer .nav_drawer {
    right: 0
}


.overflow {
    transition: left .25s;
    margin: 0 auto;
    max-width: 1620px !important;
}

body.show_nav_drawer .overflow {
    position: fixed;
}

/*------ body.show_nav_drawer  {z-index: 999999;position: relative;max-width: inherit;left:-35%}  ------*/



body.show_nav_drawer .nav_drawer_btn:after {
    display: inline-block;
}




body.show_nav_drawer .nav_drawer_btn::before {
    background-image: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    z-index: 99;
    background: rgba(0,0,0,.5);
}



/*------section navigation (vertical)------*/

.h4_nav {
    font-size: 14px;
    padding: .75em 10px;
    padding-bottom: .5em;
    margin-bottom: 0;
    text-transform: uppercase;
    color: #FFF;
    line-height: 1.2em;
    background-color: #004F99;
    text-align: left;
    font-weight: 700;
}

    .h4_nav a {
        color: #FFF;
        text-decoration: none
    }

.show_nav_section {
    display: none;
}

.nav_section {
    background-color: #fff;
    padding: 0;
    margin-bottom: 2em;
    text-align: left;
}

    .nav_section ul {
        margin: 0;
        list-style: none;
        padding: 0;
        border: none;
        font-size: 14px;
        line-height: 1.3em;
    }

        .nav_section ul > li {
            border-bottom: 1px solid #DDDDDD;
        }

            .nav_section ul > li li {
                border-bottom: none;
            }

        .nav_section ul li a {
            text-decoration: none;
            display: block;
            padding: .75em 10px;
            color: #333;
        }

            .nav_section ul li a:hover {
                background-color: #eee;
            }

            .nav_section ul li a.selected {
                font-weight: 700;
            }
        /*------nested------*/
        .nav_section ul ul {
            list-style: none;
            margin: 0px 0 0px 10px;
            padding: 0;
            font-size: .9em;
            margin-bottom: 5px;
            line-height: 1.3em;
            border-left: 3px solid #B2D235;
        }

            .nav_section ul ul li a {
                padding: 5px 7px;
            }

        .nav_section ul .selected_parent {
            font-weight: 700;
        }

nav.nav_section.show {
    display: block
}

/*------paging, crumbs, tags (articles)------*/
nav.page ul {
    text-align: center;
    padding: 0;
}

    nav.page ul li {
        display: inline;
        margin: 0 4px 0 0;
    }

        nav.page ul li a {
            padding: 4px 8px;
            font-size: 14px;
            font-weight: bold;
            border: 1px solid #CCC;
            border-radius: 4px;
            text-decoration: none;
            background: #f4f6f9;
            color: #004F99;
        }

            nav.page ul li a:hover, nav.page ul li a:focus {
                background: #f0f0f0;
                border-color: #ccc;
            }

            nav.page ul li a:active, nav.page ul li a.current {
                background: #fff;
                border-color: #ccc;
            }

nav.breadcrumb {
    color: #666;
    font-size: 0.750em;
    margin-bottom: 2em;
	margin-top: -2rem;
	font-weight: bold;
}

    nav.breadcrumb a {
        margin: 0 5px;
        text-decoration: none;
        color: #333;
    }

        nav.breadcrumb a:first-child {
            margin-left: 0;
        }

        nav.breadcrumb a:hover, nav.breadcrumb a:focus {
            color: #000;
        }

        nav.breadcrumb a:active {
            color: #000;
        }

    nav.breadcrumb strong {
        font-weight: bold;
        color: #000;
    }

ol.tags {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5em;
    font-size: .75em;
}

    ol.tags li {
        float: left;
        margin: 0 5px 5px 0;
    }

        ol.tags li a {
            text-decoration: none;
            background: #CCC;
            background: rgba(0,0,0,.2);
            float: left;
            padding: 0px 7px;
            font-weight: normal;
            color: #fff;
            -moz-border-radius: 5px;
            border-radius: 5px;
        }

            ol.tags li a:hover, ol.tags li a:focus {
                background-color: #999;
            }

            ol.tags li a:active {
                background-color: #ccc;
            }




.home_hero {
    position: relative;
    min-height: 546px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-position: right;
}

    .home_hero .img_blend {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(-90deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.52) 100%);
    }

    .home_hero .caption {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        padding: 0 7%;
        color: #fff;
        width: 50%
    }

        .home_hero .caption h1 {
            margin-bottom: .35em;
            font-weight: 300;
            padding-left: 20px
        }

        .home_hero .caption .lead {
            font-size: 1.4em;
            font-weight: 300;
            line-height: 1.4em;
            margin-bottom: 1em
        }



.header_hero {
    position: relative;
    min-height: 500px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-position: right;
}

    .header_hero .img_blend {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(-90deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.52) 100%);
    }

    .header_hero.caption {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        padding: 0 7%;
        color: #fff;
        width: 50%
    }

.section_hero .section_hero_caption .lead {
    font-size: 1em;
    color: #DAE5CD;
    text-transform: uppercase;
}

.header_hero .caption h1 {
    margin-bottom: .35em;
    font-weight: 300;
    padding-left: 20px
}

.header_hero .caption .lead {
    font-size: 1.4em;
    font-weight: 300;
    line-height: 1.4em;
    margin-bottom: 1em
}


/************************
* Table Rates *
************************/

.table_data_stack {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em;
    font-size: 1.063em;
    font-weight: 700;
    line-height: 1.3em;
    font-family: 'Roboto Condensed', sans-serif;
}

    .table_data_stack th {
        text-align: left;
        border-bottom: 4px solid #BCDEAA;
    }

    .table_data_stack tr {
        text-align: left;
        border-bottom: 2px solid #D1E8C5;
    }

    .table_data_stack td, .table_data_stack th, table.table_data_stack thead tr:first-child th:last-child {
    }

    .table_data_stack td, .table_data_stack th {
        padding: 1em 8px;
        text-align: left
    }

    .table_data_stack thead th {
        white-space: normal;
        font-size: .75em;
        line-height: 1.1em;
    }

    .table_data_stack.stripe tr:nth-child(even) {
        background: whitesmoke
    }

    .table_data_stack td:nth-child(1) {
        font-size: .938em;
        font-weight: 400;
    }

    .table_data_stack + footer {
        margin-bottom: 5em;
    }

        .table_data_stack + footer:last-child {
            margin-bottom: 0em;
        }

.rates-date {
    font-weight: 700;
    font-style: italic;
}


.table_data_stack td, .table_data_stack tr {
    width: 20%;
}

/************************
* Content *
************************/


section header, article header {
}

section footer, article footer {
    font-size: .875em;
    padding: 1em 0;
    color: #333;
    margin-top: 3em;
    border-top: 1px solid #D8D8D8;
}

    section footer img {
        float: left;
        margin: 0 10px 0 0;
    }

.well {
    display: block;
    padding: 15px 15px;
    background: #FFF;
    border-radius: 4px;
    -moz-box-shadow: inset 0 0 5px #ccc;
    -webkit-box-shadow: inset 0 0 5px #ccc;
    box-shadow: inset 0 0 5px #ccc;
    margin-bottom: 2em;
}

.platform {
    display: block;
    padding: 15px 15px;
    background: #FFF;
    border-radius: 4px;
    -moz-box-shadow: 0 0 4px #999;
    -webkit-box-shadow: 0 0 4px#999;
    box-shadow: 0 0 4px #999;
    margin-bottom: 2em;
}

.comments {
    margin-top: 5em;
}

.item_image {
    margin-bottom: .5em;
}

.item_title {
    font-size: 1.25em;
    margin-bottom: .5em;
}

.item_description {
    margin-bottom: .5em;
}

.location .item_title {
    font-size: 1.25em;
    margin-bottom: .5em;
}


/*------Insets & Outsets ------*/
.inset {
    padding: 2rem;
}

.inset_value_prop {
    padding: 2rem;
}

.inset_lead {
    padding: 0 20%;
}


.inset_right_large {
    padding-right: 4rem;
}

.inset_right {
    padding-right: 2rem;
}

.inset_right_small {
    padding-right: .5rem;
}

.inset_left_large {
    padding-left: 4rem;
}

.inset_left {
    padding-left: 2rem;
}

.inset_left_small {
    padding-left: .5rem;
}

.inset_top_large {
    padding-top: 4rem;
}

.inset_top {
    padding-top: 2rem;
}

.inset_top_small {
    padding-top: .5rem;
}

.inset_bottom_large {
    padding-bottom: 4rem;
}

.inset_bottom {
    padding-bottom: 2rem;
}

.inset_bottom_small {
    padding-bottom: .5rem;
}

.outset {
    margin: 2rem;
}

.outset_right_large {
    margin-right: 4rem;
}

.outset_right {
    margin-right: 2rem;
}

.outset_right_small {
    margin-right: .5rem;
}

.outset_left_large {
    margin-left: 4rem;
}

.outset_left {
    margin-left: 2rem;
}

.outset_left_small {
    margin-left: .5rem;
}

.outset_top_large {
    margin-top: 4rem;
}

.outset_top {
    margin-top: 2rem;
}

.outset_top_small {
    margin-top: .5rem;
}

.outset_bottom_large {
    margin-bottom: 4rem;
}

.outset_bottom {
    margin-bottom: 2rem;
}

.outset_bottom_small {
    margin-bottom: .5rem;
}


.home_outset_bottom {
    font-family: 'Roboto Slab', serif;
    margin-bottom: 2.5rem;
    font-size: 2.25em;
}

/*------Spinternet Defaults ------*/
.page_banner {
    margin-bottom: 1em;
    -moz-border-radius: 0px;
    border-radius: 0px;
}

.page_video {
    font-size: .875em;
    line-height: 1.666em;
    padding: 1em;
    margin-bottom: 1em;
    -moz-border-radius: 0px;
    border-radius: 0px;
}

    .page_video .fluid_video {
        margin-bottom: 0;
    }

    .page_video .last {
        margin-left: 1em;
    }

img[align=left], img.img_left {
    float: left;
    margin: 0 1em 1em 0;
    max-width: 30%;
}

img[align=right], img.img_right {
    float: right;
    margin: 0 0 1em 1em;
    max-width: 30%;
}

.fluid_video {
    margin-bottom: 1.5em;
}

.fluid_map {
    width: 100%;
    height: 0;
    padding-top: 60%;
    position: relative;
    margin-bottom: 1.5em;
}

    .fluid_map iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
    }

    .fluid_map img {
        max-width: none;
    }
/*-- fixes max-width conflict in Google API maps --*/

.location_map {height:500px; margin-bottom:1.5em;}
.location_map .fluid_map { height: 100%; padding-top: 0;}

.login_links {
    position: fixed;
    top: 0;
    right: 0;
    margin: 0;
    padding: 4px;
    list-style: none;
    font-size: 12px;
}

    .login_links li {
        float: right;
        margin-left: .5em;
    }

        .login_links li > a {
            line-height: 1;
            padding: .333em .5em;
            text-decoration: none;
            background-color: #888;
            background: rgba(0,0,0,.5);
            border: 1px solid #666;
            -moz-border-radius: 4px;
            border-radius: 4px;
            color: #FFF;
        }

.test_site {
    color: #f2dede;
    background-color: #b94a48;
    width: 100%;
    height: 30px;
    text-align: center;
    font-weight: bold;
    line-height: 30px;
    font-size: 13px;
    text-transform: uppercase;
}

/*------Locations------*/
.location_results {
    padding: 1em;
    border: 1px solid #CCC;
    font-size: .875em;
}

    .location_results ol {
        list-style: none;
        margin: 0;
        padding: 0;
        line-height: 1.5em;
        width: 100%;
    }

        .location_results ol li {
            list-style: none;
            margin: 0;
            display: inline-block;
            width: 100%;
        }

            .location_results ol li div {
                float: left;
                width: 80%;
            }

    .location_results img {
        float: left;
        margin-right: 5%;
        max-width: 15%;
    }

/*------video container ------*/
.video_link {
    display: block;
    margin-bottom: 1em;
}

    .video_link .video_thumb {
        position: relative;
        display: block;
        margin-bottom: .5em;
    }

    .video_link .video_play {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-right: -50%;
        transform: translate(-50%, -50%);
        color: rgba(255,0,0,0.80);
        font-size: 5em;
        line-height: 1em;
    }

    .video_link:hover .video_play {
        color: rgba(255,0,0,0.40);
    }

/*------icons (added with selectors.js)

a[href$="pdf"]:after {
    content: ' (.pdf)';
}

a[href$="xls"]:after {
    content: ' (.xls)';
}

a[href$="csv"]:after {
    content: ' (.csv)';
}

a[href$="doc"]:after {
    content: ' (.doc)';
}

a[href$="docx"]:after {
    content: ' (.docx)';
}

a[href$="ppt"]:after {
    content: ' (.ppt)';
}

 ------*/

.pdf {
    background: url(/images/icon-pdf.gif) no-repeat 98% 50%;
    padding: 2px 2em 2px 0;
}

.excel {
    background: url(/images/icon-excel.gif) no-repeat 98% 50%;
    padding: 2px 2em 2px 0;
}

.word {
    background: url(/images/icon-word.gif) no-repeat 98% 50%;
    padding: 2px 2em 2px 0;
}

/*------text options------*/

.primary_color {color: #014F9A;}

.secondary_color {color: #72BE44;}


.text_cooler {
    color: #0066CC;
}

.text_success {
    color: #009933;
}

.text_warmer {
    color: #f78d1d;
}

.text_danger, .ecom-error {
    color: #b94a48;
}

.text_smaller {
    font-size: .75em;
}

.text_small {
    font-size: .875em;
}

.text_large {
    font-size: 1.25em;
    line-height: 1.5em;
}

.text_larger {
    font-size: 1.5em;
}

.text_largest {
    font-size: 1.75em;
}

.text_primary {
    color: royalblue
}

.text_secondary {
    color: saddlebrown
}

/*------highlighting / alerts------*/

.alert_banner {
    background: #6CB644;
    color: #fff;
    padding: 1.25em 1em;
    margin-bottom: 0;
    font-size: .9em;
    line-height: 1.4em;
}

    .alert_banner .wrapper {
        margin: 0 auto;
        max-width: 1620px;
        padding: 0 2.5%;
    }

    .alert_banner a {
        color: #fff;
    }

    .alert_banner .btn {
        padding: 0;
        border: none;
        background: none;
        margin: 0 0 0 3em;
        float: right;
    }

        .alert_banner .btn:hover {
            border: none;
            background: none;
            opacity: .7;
        }

.hidden {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.alert {
    padding: .5em 1em;
    color: #c09853;
    border: 1px solid #fbeed5;
    background: #fcf8e3;
    font-size: .875em;
    border-radius: 4px;
    margin: .25em 0 2em;
}

    .alert p:last-child {
        margin: 0;
    }

    .alert.alert_success {
        color: #468847;
        border: 1px solid #d6e9c6;
        background: #dff0d8;
    }

    .alert.alert_danger {
        color: #b94a48;
        border: 1px solid #eed3d7;
        background: #f2dede;
    }
/*.site_alert{z-index:4000; position:relative; top:0; left:0; padding:25px; background:#C00; color:#FFF; font-size:18px; font-weight:bold;}
.site_alert a{color:#F1C411;}*/

/*------Flags------*/

.flag {
    z-index: 1;
    min-width: 40px;
    max-width: 100%;
    background: grey;
    color: #fff;
    line-height: 1.2em;
    padding: .5em;
    position: absolute;
    top: 15px;
    left: -7px;
    font-size: .875em;
}

    .flag:after {
        width: 0;
        height: 0;
        display: block;
        content: ' ';
        border-top: 10px solid grey;
        opacity: .3;
        border-left: 7px solid transparent;
        position: absolute;
        bottom: -10px;
        left: 0;
    }

    .flag.flag_success {
        background: #288232;
    }

        .flag.flag_success:after {
            border-top-color: #288232;
        }

    .flag.flag_danger {
        background: #b94a48;
    }

        .flag.flag_danger:after {
            border-top-color: #b94a48;
        }

    .flag.flag_cool {
        background: #06C;
    }

        .flag.flag_cool:after {
            border-top-color: #06C;
        }

    .flag.flag_warm {
        background: #f78d1d;
    }

        .flag.flag_warm:after {
            border-top-color: #f78d1d;
        }


/* --- lists --- */
.list--horizontal {
    list-style: none;
    margin: 0;
    padding: 0;
    display: table;
}

    .list--horizontal > li {
        width: auto;
        margin: 0 2rem 0 0;
        display: inline-block;
        vertical-align: middle;
    }

        .list--horizontal > li:last-child {
            margin-right: 0;
        }

    .list--horizontal.last > li:first-child {
        margin-right: 0;
    }

    .list--horizontal.list--m--small > li {
        margin: 0 1rem 0 0;
    }

    .list--horizontal.list--m--xsmall > li {
        margin: 0 .5rem 0 0;
    }

    .list--horizontal.list--m--none > li {
        margin: 0;
    }

    .list--horizontal.last > li {
        margin: 0 0 0 2rem;
    }

    .list--horizontal.list--m--small.last > li {
        margin: 0 0 0 1rem;
    }

    .list--horizontal.list--m--xsmall.last > li {
        margin: 0 0 0 .5rem;
    }

/* --- Definition Lists --- */
.dl--horizontal {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -ms-flexbox;
    display: flex;
    max-width: 400px;
}

.dl--horizontal__label {
    width: 30%;
    padding-right: .75rem;
    margin: 0;
}

.dl--horizontal__detail {
    width: 70%;
    margin: 0;
}

.no-flexbox .dl--horizontal__label {
    display: inline-block;
    padding-right: 0;
}

.no-flexbox .dl--horizontal__detail {
    display: inline-block;
    width: 68%;
}

/*------rows and grid views (e-commerce, typically generated dynamically)------*/
.blog.list {
    clear: both;
    margin: 0 0 2em;
}

.blog.list_row {
    padding: 0;
    padding-top: 0em;
}

    .blog.list_row > li {
        margin: 0;
        display: table;
        border-collapse: collapse;
        width: 100%;
        float: left;
        border-bottom: 1px solid #DDDDDD;
        padding: 2em 0;
    }

        .blog.list_row > li:first-child {
            padding: 0 0 2em 0;
        }

    .blog.list_row .inner {
        display: table-row;
        text-decoration: none;
    }

        .blog.list_row .inner.shadow {
            -webkit-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.2);
            -moz-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.2);
            box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.2);
            padding: 1.5em 1.5em;
            margin-bottom: 2em;
        }

            .blog.list_row .inner.shadow:last-child {
                margin-bottom: 0em;
            }

            .blog.list_row .inner.shadow:hover {
                -webkit-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.5);
                -moz-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.5);
                box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.5)
            }


    .blog.list_row .li-img {
        display: table-cell;
        vertical-align: top;
        width: 25%;
        padding: 0 1.5em 0 0;
    }

        .blog.list_row .li-img img {
            display: block;
            width: 100%;
            height: auto;
            -moz-border-radius: 0px;
            border-radius: 0px;
        }

    .blog.list_row .li-text {
        display: table-cell;
        vertical-align: top;
        width: 70%;
        padding: 0 0;
    }

    .blog.list_row .li-head {
        margin-bottom: .25em;
        font-weight: 700;
        text-decoration: none;
        font-size: 20px;
        line-height: 1.1em;
    }

        .blog.list_row .li-head a {
        }

    .blog.list_row .li-date {
        margin-top: 1.5em;
        font-size: 1em;
        text-decoration: none;
        font-style: italic;
        display: block;
    }

    .blog.list_row .li-summary {
        display: block;
        color: #333;
        margin-bottom: .25em;
        font-size: 1em;
    }

    .blog.list_row .li-action {
        margin: 0;
        text-decoration: none;
    }

.blog .posted_info, .posted_info {
    display: block;
    font-style: italic;
    color: #999;
    font-size: .9em;
    margin-bottom: 1em;
}

.blog.list_row .author {
    display: block;
    font-style: italic;
    color: #999;
}

.blog.list_row > li.clear_even, .blog.list_row > li.clear_third, .blog.list_row > li.clear_fourth, .blog.list_row > li.clear_fifth {
    width: 100%;
    display: none;
    margin: 0;
}


.min-blog-img-height {min-height: 50px;}




.list {
    clear: both;
    margin: 0 0 2em;
}

.list_row {
    padding: 0;
    padding-top: 1em;
}

    .list_row > li {
        margin: 0;
        display: table;
        border-collapse: collapse;
        width: 100%;
        float: left;
    }

    .list_row .inner {
        display: table-row;
        text-decoration: none;
    }

    .list_row .li-img {
        display: table-cell;
        vertical-align: middle;
        width: 20%;
        padding-right: 1.5em;
        padding-top: 1em;
        padding-bottom: 1em;
    }

        .list_row .li-img img {
            display: block;
            width: 100%;
            height: auto;
            -moz-border-radius: 4px;
            border-radius: 4px;
        }

    .list_row .li-text {
        display: table-cell;
        vertical-align: middle;
        width: 70%;
        padding: 1.5em 1em 1.5em 0;
    }

    .list_row .li-head {
        margin-bottom: .25em;
        font-size: 1.5em;
        font-weight: normal;
        text-decoration: none;
    }

    .list_row .li-summary {
        display: block;
        color: #333;
        margin-bottom: .25em;
        font-size: 1em;
    }

    .list_row .li-action {
        margin: 0;
        text-decoration: none;
    }

span.posted_info {
    display: block;
    font-style: italic;
    color: #999;
    font-size: .9em;
    margin-bottom: 1em;
}

.list_row .author {
    display: block;
    font-style: italic;
    color: #999;
}

.list_row > li.clear_even, .list_row > li.clear_third, .list_row > li.clear_fourth, .list_row > li.clear_fifth {
    width: 100%;
    display: none;
    margin: 0;
}

.list_grid {
    padding: 0;
}

    .list_grid > li {
        padding: 0;
        margin-right: 3.5%;
        margin-bottom: 0em;
        display: block;
        float: left;
    }

    .list_grid.list_2x > li {
        width: 48.25%;
    }

    .list_grid.list_3x > li {
        width: 31%;
    }

    .list_grid.list_4x > li {
        width: 22.375%;
    }

    .list_grid.list_5x > li {
        width: 17.2%;
    }

    .list_grid.list_6x > li {
        width: 13.75%;
    }

    .list_grid > li.clear_even, .list_grid > li.clear_third, .list_grid > li.clear_fourth, .list_grid > li.clear_fifth, .list_grid > li.clear_sixth {
        display: none;
        border-bottom: 1px solid #ddd;
        margin: 2em 0 2em 0;
    }
    /*---set up/style clears---*/
    .list_grid.list_2x > li.even, .list_grid.list_3x > li.third, .list_grid.list_4x > li.fourth, .list_grid.list_5x > li.fifth, .list_grid.list_6x > li.sixth {
        margin-right: 0;
    }
    /*---margin of last item---*/
    .list_grid.list_2x > li.clear_even, .list_grid.list_3x > li.clear_third, .list_grid.list_4x > li.clear_fourth, .list_grid.list_5x > li.clear_fifth, .list_grid.list_6x > li.clear_sixth {
        display: block;
        width: 100%;
    }
    /*---show clears---*/

    .list_grid .inner {
        text-decoration: none;
    }

    .list_grid .li-img {
        padding-bottom: 1em;
    }

        .list_grid .li-img img {
            -moz-border-radius: 4px;
            border-radius: 4px;
            margin-bottom: .5em;
        }

    .list_grid .li-text {
        clear: both;
        display: block;
    }

    .list_grid .li-head {
        margin-bottom: .1em;
        line-height: 1.1em;
        font-size: 1em;
        font-weight: bold;
        display: block;
    }

    .list_grid .li-summary {
        font-size: .75em;
        display: block;
    }

    .list_grid .li-action {
        font-size: .75em;
        display: block;
    }

/*------processing, please wait buttons-------*/
.spnWaitMessage {
    color: #CC0000;
    font-weight: bold;
    font-size: 16px;
}

/*------related content (often used in side column, or below main content)------*/

.related {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: .875em;
    line-height: 1.3em;
}

    .related .related_item {
        padding: 0;
        margin-bottom: 2em;
    }

        .related .related_item *:last-child {
            margin-bottom: 0;
        }

        .related .related_item a {
            color: #72BE44;
            text-decoration: none;
        }


        .related .related_item.related_html {
        }


        .related .related_item.related_banner {
            -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
            -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
            box-shadow: 0 0 20px rgba(0,0,0,.14);
        }

            .related .related_item.related_banner img {
                margin-bottom: 0em;
            }

            .related .related_item.related_banner .text {
                padding: 2em;
            }

            .related .related_item.related_banner .side-text {
                margin-bottom: .5em;
            }

            .related .related_item.related_banner figure {
                float: none;
                width: auto;
            }

            .related .related_item.related_banner img {
                margin-bottom: .5em;
            }

        .related .related_item.related_testimonial img {
            width: 75px;
            float: left;
            margin: 0 1em 1em 0;
            border-radius: 50%;
        }

        .related .related_item.related_video img {
            cursor: pointer;
        }

        .related .related_item.related_links {
        }

/*------panels (often used to create different secions of content on the same page)------*/

footer {padding: 3em 3.5%;
    background-color: #FFF; font-size: .85em;}

.panel {
    padding: 3em 3.5%;
    background-color: #FFF;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	position: relative;
}


.panel_footer-cta {
    padding: 1em 3.5%;
    background-color: #0C887D;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

    .panel_footer-cta h4 {
        color: #FFF;
        font-size: 1.75em;
        margin-bottom: 1.25em;
        line-height: 1em;
    }


.panel.header {
    padding: 0 0;
    background-color: #FFF;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

    .panel.header .wrapper {
        margin: 0 auto;
        max-width: 1200px;
        padding: 0 0%;
    }


    .panel.header .img_text {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
    }

    .panel.header.left .img_text {
        left: 7%;
        width: 45%;
    }

    .panel.header.right .img_text {
        right: 7%;
        width: 45%;
    }

.panel.light-gray-bg {
    background-color: #F6F6F6;
}

.panel.panel_html {
}

.panel.panel_image {
}

    .panel.panel_image .panel_image_img {
        position: relative;
    }

        .panel.panel_image .panel_image_img > img {
            width: 100%;
        }

.panel.panel_testimonial {
}

    .panel.panel_testimonial img {
        width: 75px;
        float: left;
        margin: 0 1em 1em 0;
        border-radius: 50%;
    }

.panel.panel_shared {
}

.panel.panel_video {
}

.panel.panel_related {
}

.panel .img_blend {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
}

.panel.left .img_blend {
    opacity: 0.7;
    background-image: linear-gradient(-90deg, rgba(255,255,255,0.00) 0%, #ffffff 80%);
    left: 0;
    width: 60%;
}

.panel.right .img_blend {
    opacity: 0.7;
    background-image: linear-gradient(90deg, rgba(255,255,255,0.00) 0%, #ffffff 80%);
    right: 0;
    width: 60%;
}

.panel.cover .img_blend {
    background: rgba(255,255,255,0.7);
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    color: #000;
}

.panel.dark.left .img_blend {
    background-image: linear-gradient(-90deg, rgba(0,0,0,0.00) 0%, #000000 80%);
}

.panel.dark.right .img_blend {
    background-image: linear-gradient(90deg, rgba(0,0,0,0.00) 0%, #000000 80%);
}

.panel.dark.cover .img_blend {
    background: rgba(0,0,0,0.7);
    color: #fff;
}

.panel.dark, .panel.dark h4 {
    color: #fff;
}

.panel .img_text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}

.panel.left .img_text {
    left: 7%;
    width: 45%;
}

.panel.right .img_text {
    right: 7%;
    width: 45%;
}



/************************
* CSS Grid *
************************/

.row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 0em !important;
    grid-auto-rows: minmax(300px, auto);
    margin: 0 0 0em 0;
    color: #333;
    font-weight: 300;
    clear: both;
}

    .row-value-prop a, .row a {
        color: #72BE44;
        text-decoration: none;
        font-weight: 700;
    }

        .row-value-prop a:hover, .row a:hover {
            text-decoration: underline;
        }
/*
    .row-value-prop > div, .row > div {
        padding: 2em 2em !important;
    }
*/

.box1 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    background: #FFF;
    position: relative;
    display: block;
    -webkit-box-shadow: inset 5px 19px 15px -22px #000000;
    box-shadow: inset 5px 19px 15px -22px #000000;
    background-color: #FFF;
    padding: 120px 6.7114093959732% 120px 15% !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7em;
}

.box1-btn {
    display: inline-block;
    margin: 1em 0 0 0;
}

.box1 h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.250em;
    font-weight: 700;
    border-left: 7px solid #DD242A;
    padding-left: 20px;
    line-height: 1em;
    color: #333;
}

.box2 {
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
    grid-column: 3/6;
    position: relative;
    display: block;
    -webkit-box-shadow: inset 5px 19px 15px -22px #000000;
    box-shadow: inset 5px 19px 15px -22px #000000;
}



.row-value-prop {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 0em !important;
    grid-auto-rows: minmax(40px, auto);
    -ms-grid-rows: 1fr 1fr 1fr 1fr 1fr;
    margin: 0em 0 5em 0;
    color: #333;
    font-weight: 300;
    clear: both;
}

    .row-value-prop:last-child {
        margin: 0em 0 0em 0;
    }

.value-prop-img-left {
    -ms-grid-column: 1;
    -ms-grid-column-span: 8;
    grid-column: 1/9;
    -ms-grid-row: 1;
    -ms-grid-row-span: 9;
    grid-row: 1/6;
    position: relative;
    display: block;}


.value-prop-img-left img {    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
border: 5px #ccc solid;}



.value-prop-text-right {
    -ms-grid-column: 8;
    -ms-grid-column-span: 5;
    grid-column: 8/13;
    -ms-grid-row: 2;
    -ms-grid-row-span: 3;
    grid-row: 3/4;
    background: #FFF;
    position: relative;
    display: block;
    background-color: #FFF;
    padding: 40px 50px !important;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    color: #666666;
    line-height: 1.4em;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

    .value-prop-text-right h3 {
        font-family: 'Open Sans', sans-serif;
        font-size: 1.375em;
        font-weight: 700;
        line-height: 1em;
        color: #004F99;
    }



.value-prop-img-right {
    -ms-grid-column: 5;
    -ms-grid-column-span: 8;
    grid-column: 5/13;
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    grid-row: 1/6;
    position: relative;
    display: block;}

.value-prop-img-right img {    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
border: 5px #ccc solid;}

.value-prop-text-left {
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
    grid-column: 1/6;
    -ms-grid-row: 2;
    -ms-grid-row-span: 3;
    grid-row: 3/4;
    background: #FFF;
    position: relative;
    display: block;
    background-color: #FFF;
    padding: 40px 50px !important;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    color: #666666;
    line-height: 1.4em;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

    .value-prop-text-left h3 {
        font-family: 'Open Sans', sans-serif;
        font-size: 1.375em;
        font-weight: 700;
        line-height: 1em;
        color: #004F99;
    }




.checkbox .svg-inline--fa {
    padding: .25em .25em 0 0;
    color: #6CB644;
    font-size: 1.5em;
}


ul.checkbox {
    padding: 0 0;
    margin: 0 0;
}

    ul.checkbox li {
        list-style: none;
        padding: 0.5em 1em .5em 0;
        position: relative;
    }

        ul.checkbox li:before {
            display: none;
            font-family: "Font Awesome 5 Solid";
            content: "\f00c";
        }


/*------Location Tabs------*/

ul.location-tabs {
    margin: 0 0 2em 0;
    padding: 0px;
    list-style: none;
    text-align: right;
}

    ul.location-tabs li {
        background: none;
        color: #222;
        display: inline-block;
        padding: 10px 15px;
        cursor: pointer;
    }

        ul.location-tabs li:first-child {
            padding: 10px 5px;
        }

        ul.location-tabs li.current {
            background: #ededed;
            color: #222;
        }

.tab-content {
    display: none;
}

    .tab-content.current {
        display: inherit;
    }




/*------table structure (in editor template)------*/

table.table_structure_4x {
    width: 100%;
    margin-bottom: 1em;
    border-collapse: collapse;
    line-height: 1.3em;
    display: table;
}

    table.table_structure_4x tbody, table.table_structure_4x tr {
        display: block;
        width: 100%;
    }

        table.table_structure_4x tr td {
            display: block;
            float: left;
            padding-bottom: .5em;
            margin-right: 2.5%;
			padding-left: .25em;
			padding-right: .25em;
        }

table.table_structure_4x.community-table tr td div { margin-bottom: 2em;}
	table.table_structure_4x.community-table tr td img:hover { opacity: .7;}


    /*margin matches column structure*/
    table.table_structure_4x td td {
        display: table-cell;
        float: none;
        width: auto;
    }
    /*fix embeded tables*/
    table.table_structure_4x td.clear {
        display: none;
        clear: both;
        width: 100%;
    }

table.table_structure_3x {
    width: 100%;
    margin-bottom: 1em;
    border-collapse: collapse;
    display: block;
}

    table.table_structure_3x tbody, table.table_structure_3x tr {
        display: block;
        width: 100%;
    }

        table.table_structure_3x tr td {
            display: block;
            float: left;
            padding-bottom: .5em;
            line-height: 1.4em;
            margin-right: 2.5%;
        }
    /*margin matches column structure*/
    table.table_structure_3x td td {
        display: table-cell;
        float: none;
        width: auto;
    }
/*fix embeded tables*/

table.table_structure_2x {
    width: 100%;
    margin-bottom: 1em;
    border-collapse: collapse;
    display: block;
}

    table.table_structure_2x tbody, table.table_structure_2x tr {
        display: block;
        width: 100%;
    }

        table.table_structure_2x tr td {
            display: block;
            float: left;
            padding-bottom: .5em;
            margin-right: 2.5%;
        }
    /*margin matches column structure*/
    table.table_structure_2x td td {
        display: table-cell;
        float: none;
        width: auto;
    }
    /*fix embeded tables*/

    table.table_structure_2x tr td:last-child, table.table_structure_3x tr td:last-child, table.table_structure_4x tr td:last-child {
        margin-right: 0;
    }
/*margin matches column structure*/


a div.community-title { font-weight: 700; color:#333; text-decoration: none !important;}



/*------data tables (min-width for overflow on small devices, can be adjusted)------*/

table.table_data thead th, table.table_list thead th {
    background: #eee;
    white-space: nowrap;
    font-weight: normal;
    color: #333;
    padding: 10px 10px;
    font-size: 15px;
}

table.table_data thead tr:first-child th:first-child, table.table_list thead tr:first-child th:first-child {
    border-top-left-radius: 4px;
}

table.table_data thead tr:first-child th:last-child, table.table_list thead tr:first-child th:last-child {
    border-top-right-radius: 4px;
    border: 0;
}

.table_data {
    border-collapse: collapse;
    min-width: 480px;
    width: 99.9%;
    font-size: .9rem;
}

    .table_data td {
        padding: .5em .75em;
        border: 1px solid #ddd;
        min-width: 5em;
    }

        .table_data td strong {
            white-space: nowrap;
        }

.table_list {
    border-collapse: collapse;
    min-width: 480px;
    width: 99.9%;
    font-size: .9rem;
}

    .table_list td {
        padding: .5em .75em;
        border-bottom: 1px solid #DDD;
        border-right: 1px solid #DDD;
        min-width: 5em;
    }

        .table_list td:last-child {
            border-right: 0;
        }

    .table_list.table_stripe {
        border-top: 0;
    }

table.table_stripe tbody tr:nth-child(even) {
    background: #f4f6f9;
    background: rgba(193 195 198,.1);
}

table.table_condensed th {
    padding: .25em .5em;
    font-size: 1rem;
}

table.table_condensed td {
    padding: .25em .5em;
    font-size: .875rem;
}

.table_overflow {
    /*added with selectors.js and */
    width: 100%;
    overflow-x: auto;
    margin-bottom: 1.5rem;
    background:
    /* Shadow covers */
    linear-gradient(90deg, white 30%, rgba(255,255,255,0)), linear-gradient(90deg, rgba(255,255,255,0), white 70%) 100% 0,
    /* Shadows */
    radial-gradient(0 50%, farthest-side, rgba(0,0,0,.8), rgba(0,0,0,0)), radial-gradient(100% 50%,farthest-side, rgba(0,0,0,.8), rgba(0,0,0,0)) 100% 0;
    background:
    /* Shadow covers */
    linear-gradient(90deg, white 30%, rgba(255,255,255,0)), linear-gradient(90deg, rgba(255,255,255,0), white 70%) 100% 0,
    /* Shadows */
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.8), rgba(0,0,0,0)), radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.8), rgba(0,0,0,0)) 100% 0;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

/* Flex Grid */

a.card {
    background: #fff;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
    text-decoration: none;
}

    a.card:hover {
        transform: scale(1.05);
    }

.flex_grid {
    padding: 0;
    margin: 0;
    list-style: none;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin-bottom: 3em;
}

    .flex_grid.locations {
        padding: 0;
        margin: 0;
        list-style: none;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        justify-content: flex-start;
        margin-bottom: 0em;
    }

        .flex_grid.locations .flex_item:hover {
            transform: scale(1.05);
            transition-duration: .3s;
        }

    .flex_grid.sub_categories.flex_margin {
        margin-bottom: 0em;
    }

    .flex_grid.home {
        padding: 0;
        margin: 0;
        list-style: none;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        justify-content: flex-start;
        margin-bottom: 0em;
    }

    .flex_grid.brag {
        padding: 0;
        margin: 0;
        list-style: none;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        justify-content: flex-start;
        margin-bottom: 0em;
    }

        .flex_grid.brag .flex_item:hover {
            transform: scale(1.05);
            transition-duration: .3s;
        }

        .flex_grid.brag .category {
            color: #fff;
            padding: 5px 2.25em;
            text-align: left;
            font-size: .875em;
            text-transform: uppercase;
        }

            .flex_grid.brag .category.blog {
                background-color: #014F9A;
            }

            .flex_grid.brag .category.news {
                background-color: #72BE44;
            }


    .flex_grid.sub_categories.flex_margin .flex_item {
        margin-right: 3%;
        margin-bottom: 1.5em;
        padding: 2em;
    }

        .flex_grid.sub_categories.flex_margin .flex_item span {
            display: block;
            color: #333;
            font-size: .938em;
        }

            .flex_grid.sub_categories.flex_margin .flex_item span.h4 {
                font-size: 1.25em;
                margin-bottom: .5em;
                font-weight: 700;
                color: #004F99;
            }

        .flex_grid.sub_categories.flex_margin .flex_item.border-bottom {
            border-bottom: 7px solid #0C887D;
            transition: all .2s ease-in-out;
        }


    .flex_grid .flex_item {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        float: left; /* for IE */
        padding: .75em;
        margin-bottom: 2em;
        position: relative;
    }

    .flex_grid.home .flex_item {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        float: left; /* for IE */
        padding: 3em;
        margin-bottom: 0em;
        position: relative;
        text-align: center;
        line-height: 1.1em;
        font-size: 2em;
    }

        .flex_grid.home .flex_item img {
            display: block;
            margin: 0 auto 1em;
        }

.light-green {
    background: #B2D235;
    color: #FFF;
}

.green {
    background: #72BE44;
    color: #FFF;
}

.dark-green {
    background: #0C887D;
    color: #FFF;
}


/* Flex Grid border/no border widths */
.flex_grid.flex_4x .flex_item {
    width: 25%;
}

.flex_grid.flex_3x .flex_item {
    width: 33.333%;
}

.flex_grid.flex_2x .flex_item {
    width: 50%;
}
/* Flex Grid Borders */
.flex_grid.flex_borders {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

    .flex_grid.flex_borders .flex_item {
        border: 1px solid #ddd;
        margin: 0;
        border-bottom: 0;
        border-right: 0;
    }
    /* Flex Grid Margins */
    .flex_grid.flex_borders.flex_margin {
        border: 0;
    }

        .flex_grid.flex_borders.flex_margin .flex_item {
            margin-right: 3%;
            margin-bottom: 1.5em;
            border: 1px solid #ddd;
            padding: 0;
        }

.flex_grid.brag.flex_borders.flex_margin .flex_item {
    margin-right: 3%;
    margin-bottom: 0em;
    border: none;
    padding: 0;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

.flex_grid.brag.flex_borders.flex_margin .flex_item a {
	text-decoration:  none !important;
}

.flex_grid.locations.flex_borders.flex_margin .flex_item {
    margin-right: 3%;
    margin-bottom: 3em;
    border: none;
    padding: 0;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

.flex_grid.sub_categories.flex_borders.flex_margin .flex_item {
    margin-right: 3%;
    margin-bottom: 0em;
    border: none;
    padding: 0;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

.flex_grid.flex_borders.flex_margin .flex_item .item_details {
    padding: .75em;
    padding-top: 0;
}

.flex_grid.brag.flex_borders.flex_margin .flex_item .item_details {
    padding: 1.5em 2.25em;
    text-align: left;
	font-size: 1.25em;
margin-bottom: 1em;
display: block;
font-weight: 700;
color:#333;
text-decoration: none !important;
}


.flex_grid.locations.flex_borders.flex_margin .flex_item .item_details {
    padding: 1.5em 1.5em 4em 1.5em;
    text-align: left;
}

.flex_grid.locations.flex_borders.flex_margin .flex_item a {
    text-decoration: none !important;
	color: #333;
}

    .flex_grid.locations.flex_borders.flex_margin .flex_item a .item_details img {
        display: block;
        margin-bottom: 1.5em;
    }

.flex_grid.locations.flex_borders.flex_margin .flex_item a .item_details .item_title {
    font-size: 1.25em;
    margin-bottom: 1.5em;
    color: #004F99;
    font-weight: 700;
    display: block;
    text-decoration: none;
}

.flex_grid.locations.flex_borders.flex_margin .flex_item .location_details {
    margin: 0 0 1.5em 0em;
    text-align: left;
}

    .flex_grid.locations.flex_borders.flex_margin .flex_item .location_details a {
        color: #72BE44;
        text-decoration: none;
    }

.flex_grid.locations.flex_borders.flex_margin .flex_item .location_phone {
    padding: 0 0 0 20px;
    position: relative;
}

    .flex_grid.locations.flex_borders.flex_margin .flex_item .location_phone:before {
        content: '\01F4DE';
        color: #6CB644;
        font-size: 80%;
        background: none;
        position: absolute;
        left: 0em;
        top: 0em;
    }

.flex_grid.locations.flex_borders.flex_margin .flex_item .view_details {
    padding: .75em 1.5em;
    border-top: 1px solid #D8D8D8;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

    .flex_grid.locations.flex_borders.flex_margin .flex_item .view_details {
        font-size: 14px;
        font-weight: 700;
        color: #72BE44;
        text-decoration: none;
    }


.flex_grid.flex_4x.flex_margin .flex_item {
    width: 22.75%;
}

.flex_grid.flex_3x.flex_margin .flex_item {
    width: 31.333%;
}

.flex_grid.flex_2x.flex_margin .flex_item {
    width: 48.5%;
}

    .flex_grid.flex_4x.flex_margin .flex_item:nth-child(4n+4), .flex_grid.flex_3x.flex_margin .flex_item:nth-child(3n+3), .flex_grid.flex_2x.flex_margin .flex_item:nth-child(2n+2) {
        margin-right: 0;
    }
/* IE8 and IE9 */
.no-flexbox .flex_grid:after {
    content: ' ';
    display: block;
    clear: both;
}

.no-flexbox .flex_grid.flex_4x .flex_item:nth-child(4n+5), .no-flexbox .flex_grid.flex_3x .flex_item:nth-child(3n+4), .no-flexbox .flex_grid.flex_2x .flex_item:nth-child(2n+3) {
    clear: both;
}


/*---Scale Proportionally for varied images sizes---*/
.grid_img {
    position: relative;
    border: 1px solid #ddd;
    width: 100%;
    margin-bottom: .75em
}

.aspect_ratio_1to1 {
    padding-top: 100%; /* forces 1:1 aspect ratio, 100% is a square */
}

.aspect_ratio_3to2 {
    padding-top: 66.666%; /* forces 3:2 aspect ratio*/
}

.aspect_ratio_16to9 {
    padding-top: 56.25%; /* forces 16:9 aspect ratio*/
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center; /* Align center inline elements */
    font: 0/0 a;
}

    .img-container:before {
        content: ' ';
        display: inline-block;
        vertical-align: middle;
        height: 100%;
    }

    .img-container img {
        vertical-align: middle;
        display: inline-block;
        max-height: 100% /* Makes taller img fit the box */;
    }

.flex_grid.flex_borders.flex_margin .flex_item .grid_img {
    border: 0;
    border-bottom: 1px solid #ddd
}

.flex_grid.brag.flex_borders.flex_margin .flex_item .grid_img {
    border: 0;
    border-bottom: none;
    margin-bottom: 0em;
}


.flex_grid.brag.flex_borders.flex_margin .flex_item .item_title {
    font-size: 1.25em;
    margin-bottom: 1em;
    display: block;
    font-weight: 700;
    color: #333;
    text-decoration: none;
}

.flex_grid.brag.flex_borders.flex_margin .flex_item .item_date {
    font-size: .7em !important;
    margin: 1em 0;
    color: #333;
    line-height: 1.4em;
	font-weight: 400 !important
}

.flex_grid.brag.flex_borders.flex_margin .flex_item .item_description {
    font-size: .75em;
    color: #333;
    line-height: 1.4em;
	font-weight: 400;
}

.mix_grid.flex_grid {
    margin-top: 2em;
}

    .mix_grid.flex_grid .flex_item {
        padding: 0;
        padding: 0 1.5em 1.5em 1.5em;
    }

        .mix_grid.flex_grid .flex_item:hover {
            transform: scale(1.05);
            transition-duration: .3s;
        }

.event_card {
    position: relative;
    display: block;
    height: 100%;
    text-decoration: none;
    color: #333;
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
}

    .event_card span {
        display: block;
    }

    .event_card .event_flag {
        display: inline-block;
        margin-bottom: 1em;
        padding: .25em .75em;
        color: #fff;
        font-size: .9em;
        background: rgba(114,190,68,.9);
        font-weight: 400;
    }

.mix_grid.flex_grid .flex_item .event_card .event_flag {
    position: absolute;
    top: 30px;
    left: 0;
}

.event_card .event_detail {
    padding: 1.5em 1.5em
}

.mix_grid.flex_grid .flex_item .event_card .event_detail {
    padding: 1.5em 1.5em 3.25em 1.5em;
}

.event_card .event_heading {
    font-size: 1.25em;
    margin-bottom: .5em;
    display: block;
    font-weight: 700;
    color: #333;
}

.event_card .event_summary {
    font-size: .938em;
    line-height: 1.4em;
    color: #333;
}

.event_card .event_location {
    width: 100%;
    background-color: #014F9A;
    color: #fff;
    padding: 5px 2.25em;
    font-size: .875em;
    text-transform: uppercase;
}

.mix_grid.flex_grid .flex_item .event_card .event_location {
    position: absolute;
    bottom: 0;
    left: 0;
}









.locations_filter {
    margin-bottom: 1em;
}

    .locations_filter > .btn {
        margin-bottom: .5em;
    }

.cal_detail_img {
    margin-bottom: 2em;
}

.cal_detail table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 2em;
    font-size: .9.5em;
    line-height: 1.4em;
}

    .cal_detail table tr {
        border-bottom: 1px solid #D8D8D8;
    }

        .cal_detail table tr td {
            padding: 1em 1.5em 1em 0;
        }

            .cal_detail table tr td:first-child {
                font-weight: 700;
                text-transform: uppercase;
            }

.cal_listing {
    padding: 0;
    list-style: none;
}

    .cal_listing > li {
        margin-bottom: 1.5em;
    }

.cal_next_prev {
    display: table;
    margin-bottom: 3em;
    height: 40px;
    width: 100%;
    text-align: center;
}

    .cal_next_prev h3 {
        display: table-cell;
        margin: 0;
        background: #004F99;
        color: #fff;
        font-size: .9em;
        padding: 0 .5em;
        text-transform: uppercase;
        vertical-align: middle;
    }

    .cal_next_prev a {
        display: table-cell;
        background: #004F99;
        color: #fff;
        font-size: 1.8em;
        width: 40px;
        text-decoration: none;
        vertical-align: middle;
    }

        .cal_next_prev a:hover {
            background: #023667;
        }

        .cal_next_prev a:first-child {
            border-right: 2px solid #fff;
        }

        .cal_next_prev a:last-child {
            border-left: 2px solid #fff;
        }


/************************
* Forms *
************************/

.form {
    margin-bottom: 1rem;
    clear: both;
    font-size: .875rem;
}

    .form > fieldset {
        margin-bottom: 1em;
        border: 1px solid #DDD;
        padding: 15px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        background: #FFF;
    }

        .form > fieldset > legend {
            display: block;
            background: #fff;
            padding: 0 .25em;
            color: #000;
            font-size: 1.3em;
            margin-bottom: .5em;
            font-weight: 600;
        }

    .form fieldset > div, .form fieldset > fieldset {
        padding: 7px 0;
        clear: both;
        border-bottom: 1px dotted #DDD;
    }

        .form fieldset > div:last-child {
            border-bottom: 0;
        }

    .form fieldset > div {
        *zoom: 1
    }

    .form fieldset div:before, .form fieldset div:after {
        display: table;
        content: ""
    }

    .form fieldset div:after {
        clear: both
    }

    .form fieldset > div > label, .form fieldset > fieldset > legend {
        display: block;
        padding: 3px 5% 3px 0;
        width: 33%;
        text-align: right;
        float: left;
    }

    .form fieldset > div > ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .form fieldset ul.field_list {
        padding: 3px 0;
        list-style: none;
        margin: 0;
        float: left;
        display: block;
        width: 66%;
    }

        .form fieldset ul.field_list li {
            margin: 0 0 3px 0;
        }

        .form fieldset ul.field_list li {
            *zoom: 1
        }

            .form fieldset ul.field_list li:before, .form fieldset ul.field_list li:after {
                display: table;
                content: ""
            }

            .form fieldset ul.field_list li:after {
                clear: both
            }

            .form fieldset ul.field_list li span {
                width: 90%;
                float: left;
            }

            .form fieldset ul.field_list li small {
                font-size: .85em;
                margin: -.5em 0 0 0;
            }

    .form input[type="checkbox"], .form input[type="radio"] {
        margin-right: .5em;
        vertical-align: text-top;
        margin-top: 6px;
        float: left;
    }

    .form fieldset input, .form fieldset select {
        margin: 0;
        max-width: 66%;
    }

    .form fieldset select {
        padding: 0;
    }

input[type="text"], textarea, input[type="email"], input[type="password"], input[type="number"], input[type="tel"], select {
    padding: .5em .5em;
    font-size: .875rem;
    border: 1px solid #CCC;
    background: #f5f5f5;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    /*------remove number spinners------*/
    input[type="text"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus {
        border-color: rgba(0,102,204,.8);
        outline: 1px dashed #004f99;
        box-shadow: 0 0 8px rgba(0,102,204,.6);
        background: #fff;
    }

.form .required {
    color: #b94a48;
    font-weight: bold;
    font-size: 0.8em;
}

.form [disabled="disabled"] {
    opacity: .60;
}

.form .btn {
    margin: .5em .5em 0 0;
}

.app_hours label {
    display: block
}

.app_hours div {
    float: left;
}


.related .form fieldset > div > label, .related .form fieldset > fieldset > legend {
    width: 100%;
    text-align: left;
    float: none;
}

.related .form fieldset input, .related .form fieldset select, .related .form textarea {
    max-width: 100%;
    width: 100%
}



/*------Login------*/
.form.login {
    clear: none;
}

    .form.login fieldset input, .form.login fieldset select {
        width: 100%;
        max-width: none;
    }

    .form.login fieldset > div {
        border-bottom: none;
    }

        .form.login fieldset > div > label {
            width: inherit;
            padding: 0;
            text-align: left;
        }

    .form.login fieldset input[type="submit"] {
        width: inherit;
    }

/*------search------*/


.searchbar {
    display: none;
    padding: 0 2.5%;
    height: 55px;
    background: #004F99;
    border: 1px solid #004F99;
    -moz-box-shadow: inset 0 0 8px rgba(0,0,0,.1);
    box-shadow: inset 0 0 8px rgba(0,0,0,.1);
}

.search {
    background: none;
    display: block;
    width: 80%;
    border: 0;
    outline: none;
    padding: 0;
    line-height: 3.125em;
    font-size: 1.1em;
    font-weight: 400;
    color: #FFF;
}

.searchbar input::-webkit-input-placeholder {
    color: rgba(255,255,255,.5);
}

.searchbar input::-moz-placeholder {
    color: rgba(255,255,255,.5);
}

.searchbar input:-moz-placeholder { /* Older versions of Firefox */
    color: rrgba(255,255,255,.5);
}

.searchbar input:-ms-input-placeholder {
    color: rgba(255,255,255,.5);
}


.searchsubmit {
    display: block;
    float: right;
    margin-top: 10px;
    background: none;
    border: 0;
    outline: none;
    cursor: pointer;
    color: #FFF !important;
}

a.searchsubmit:hover {
    color: #FFF;
    opacity: .6;
}

fieldset.site_search input[type="text"] {
    margin-top: 1.5em;
    width: 95%;
    padding: 1.5em 2.5%;
    font-size: 14px;
    border: none;
    background: #eee;
    text-transform: inherit;
    -webkit-border-radius: 4px;
    -moz-border-radius: 0;
    border-radius: 0;
}

fieldset.site_search input[type="submit"] {
    padding: .25em .5em;
    font-size: 16px;
    color: #fff;
    border: none;
    background: #999;
}

    fieldset.site_search input[type="submit"]:hover,
    fieldset.site_search input[type="submit"]:focus {
        background: #777;
    }

    fieldset.site_search input[type="submit"]:active {
        background: #666;
    }

fieldset.site_search i {
    position: absolute;
    top: 40px;
    right: 15px;
    color: #ccc;
    font-size: 20px;
}


#search-mobile {
    position: absolute;
    top: 32px;
    right: 90px;
    color: #333;
    font-size: 30px;
    z-index: 600;
    display: none;
}


.search_side {
    position: relative;
}

    .search_side input[type="text"] {
        padding: 10px;
        font-size: 18px;
        border: 1px solid #DDD;
        background: #fff;
        -moz-box-shadow: none;
        box-shadow: none;
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        border-radius: 0px;
        width: 100%;
    }

    .search_side a {
        color: #fff;
        text-align: none;
        font-size: 18px;
        padding: 0 12px;
        position: absolute;
        right: 0px;
        top: 0px;
        display: block;
        margin: 0;
        background: #6CB644;
        border: none;
        height: 100%;
        text-decoration: none
    }

        .search_side a:hover {
            color: #fff;
            background: #666
        }

        .search_side a span {
            display: block;
            position: relative;
            top: 50%;
            transform: translateY(-50%);
        }





.site_header fieldset.site_search {
    position: absolute;
    top: 10px;
    right: 0;
    width: 35%;
    text-align: right;
}

fieldset.site_search input[type="search"], fieldset.site_search input[type="text"] {
    width: 50%;
    padding: .25em .5em;
    font-size: 16px;
    border: 1px solid #ddd;
    background: #f5f5f5;
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -moz-border-radius: 4px;
    border-radius: 4px;
    margin-right: .5em;
}


/*------Login box------*/

.loginBox {
    width: 326px;
    padding: 1em 1em;
    position: absolute;
    top: 40px;
    right: 3.5%;
    background: #fff;
    -webkit-box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.25);
    box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.25);
    -moz-border-radius: 0px 0px 4px 4px;
    -webkit-border-radius: 0px 0px 4px 4px;
    border-radius: 0px 0px 4px 4px;
    border: 0px solid #000000;
    display: none;
    z-index: 999;
}

    .loginBox h4 {
        color: #333;
        font-size: 1em;
        line-height: 1em;
        margin: 0 0;
    }



.loginBox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.loginBox ul li {
    float: left;
    font-size: .80em;
    padding: 0 1.25em 0 0 !important;}

.loginBox ul li a {
    color: #013D7D;
    text-decoration: underline;
}

.loginBox ul li a:hover {
    color: #999;
    text-decoration: none;
}

.loginBox input#user_id {width: 100%; margin: .5em 0;}
.loginBox a.login-btn {font-family: 'PT Sans',Helvetica,Arial,sans-serif;
    text-decoration: none;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    background: #72BE44;
    border: 0;
    color: #fff!important;
    line-height: normal;
    font-size: 17px;
    margin: .5em 0 .5em 0;
    padding: 10px 15px;
    cursor: pointer;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    text-transform: uppercase;}

.loginBox a.login-btn:hover {
    background: #60B133;
    text-decoration: none;
}


.loginBox input[type="text"] {
    font-family: 'PT Sans',Helvetica,Arial,sans-serif;
    width: 95%;
    max-width: 95%;
    padding: 5px 2.5%;
    margin: 0 0 .5em 0;
    font-size: 14px;
    border: 1px solid #CCC;
    background: #f5f5f5;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.loginBox input[type="text"]:focus {
    border-color: rgba(0,102,204,.8);
    outline: 1px solid #004f99;
    box-shadow: 0 0 8px rgba(0,102,204,.6);
    background: #fff;
}










#tetheredLogin label {
    padding: 0;
    width: 100%;
    text-align: left;
}

#tetheredLogin input[type="text"] {
    width: 95% !important;
    max-width: 95% !important;
    padding: 5px 2.5%;
    margin: 0 0 .5em 0;
    font-size: 14px;
    border: 1px solid #CCC;
    background: #f5f5f5;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

    #tetheredLogin input[type="text"]:focus {
        border: 1px solid #ccc;
        background: #fff;
    }

#tetheredLogin p {
    margin: 0;
}

#tetheredLogin input[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    text-decoration: none;
    display: inline-block;
    *display: block;
    *zoom: 1;
    background: #72BE44;
    border: 0;
    color: #fff !important;
    line-height: normal;
    font-size: 17px;
    margin: .5em 0 0 0;
    padding: 10px 0;
    cursor: pointer;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    text-transform: uppercase;
}

    #tetheredLogin input[type="submit"]:hover {
        background: #60B133;
        color: #FFF;
        text-decoration: none;
    }

    #tetheredLogin input[type="submit"]:active {
        background-image: none;
        outline: 0;
        -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    }

#tetheredLogin .customer_type {
    padding: 0;
}

    #tetheredLogin .customer_type li {
        display: inline-block;
        margin-right: 1em;
    }

#tetheredLogin iframe {
    margin: 0 auto;
    display: block;
    width: 100%;
}




/*----------homepage-title-------*/

.homepage-title {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    padding: 0 7%;
    color: #fff;
    width: 55%;
}

    .homepage-title h1 {
        font-family: 'Roboto Slab', serif;
        font-size: 2.375em;
        color: #FFF;
        font-weight: 700;
        line-height: 1em;
        margin: 0 0 .25em 0;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    }

    .homepage-title .home-intro-title {
        font-size: 1.125em;
        line-height: 1.2em;
        margin-bottom: 1em;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    }

    .homepage-title ul {
        margin: 1em 0 0 0;
        padding: 0 0;
    }

        .homepage-title ul li {
            margin: 0 0;
            padding: 0 0;
            display: inline-block;
        }


/*----------header-title-------*/

.header-title {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    padding: 0 7%;
    color: #fff;
    width: 65%;
}

    .header-title .lead {
        font-size: .875em;
        font-weight: 400;
        line-height: 1em;
        margin: 0 0 1em 0;
        text-transform: uppercase;
        letter-spacing: 3px;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    }

    .header-title h1 {
        font-family: 'Roboto Slab', serif;
        color: #FFF;
        font-size: 2.375em;
        font-weight: 700;
        line-height: 1em;
        margin: 0 0 .25em 0;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    }

    .header-title .home-intro-title {
        font-size: 1.125em;
        line-height: 1.2em;
        margin-top: 1em;
    }

    .header-title ul {
        margin: 1em 0 0 0;
        padding: 0 0;
    }

        .header-title ul li {
            margin: 0 0;
            padding: 0 0;
            display: inline-block;
        }



/*----------toolbar tabs-------*/

.tool_bar {
    z-index: 10;
    margin-top: -61px;
    position: relative;
}

    .tool_bar .wrapper {
        padding: 0 3.5%;
        margin: 0 2rem;
        max-width: 100%;
    }

    .tool_bar .tabs .wrapper > ul {
        margin: 0;
        padding: 0;
        width: 100%; /*height:90px;*/
        background: rgba(0, 79, 153, 0.83);
    }

        .tool_bar .tabs .wrapper > ul > li {
            text-align: center;
            display: inline;
            list-style: none;
            width: 33.333%;
            float: left;
            position: relative;
        }

            .tool_bar .tabs .wrapper > ul > li > a {
                display: block;
                padding: 1.25em .75em;
                margin: 0;
                text-decoration: none;
                color: #fff;
                border-right: 1px solid #fff;
                border-right: 1px solid rgba(255,255,255,.3);
				font-weight: 700;
				font-size: .85em;
            }

            .tool_bar .tabs .wrapper > ul > li:last-child > a {
                border-right: none;
            }

            .tool_bar .tabs .wrapper > ul > li > a h3 {
                font-size: .8em;
                line-height: 1em;
                color: #fff;
                font-weight: 600;
                margin: 0 0;
            }

            .tool_bar .tabs .wrapper > ul > li:first-child > a {
                border-left: 1px solid #fff;
                border-left: 1px solid rgba(255,255,255,.3);
            }

            .tool_bar .tabs .wrapper > ul > li:hover > a h3, .tool_bar .tabs .wrapper > ul > li > a.current h3 {
                color: #444444;
                font-weight: 700;
            }

            .tool_bar .tabs .wrapper > ul > li > a.current {
                margin-top: -8px;
                padding-bottom: 28px;
                background: #fff;
                color: #444444;
            }

            .tool_bar .tabs .wrapper > ul > li > a:hover {
                margin-top: -8px;
                padding-bottom: 28px;
                background: #E0E0E0;
                color: #444444;
            }


            .tool_bar .tabs .wrapper > ul > li > a.current:after {
                z-index: 99999999;
                position: absolute;
                top: 90%;
                left: 15%;
                margin-left: 25%;
                content: '';
                width: 0;
                height: 0;
            }

#tab1 .wrapper {
    padding: 0 0;
}


.tool_bar .tabs section {
    position: relative;
    padding: 2em 3.5%;
    background: linear-gradient(0deg, rgba(246,246,246,1) 0%, rgba(255,255,255,1) 26%);
}
    /*.tool_bar .tabs section h2 {font-size:.9em;text-transform:uppercase;font-weight:300;color:#444;margin-bottom:2.5em;};*/
    .tool_bar .tabs section h3 {
        font-size: 1.25em;
        font-weight: 700;
        margin-bottom: .5em;
        color: #FF2600;
        line-height: 1.3em;
    }

    .tool_bar .tabs section p {
        font-size: 1em;
        font-weight: 400;
        margin-bottom: .5em;
        line-height: 1.4em;
    }

    .tool_bar .tabs section .intro-text {
        font-size: 27px;
        font-weight: 300;
        line-height: 1.2em;
        text-align: center;
        padding: 1em 14.529914529915% 3em 14.529914529915%
    }

    .tool_bar .tabs section ul li:hover h3 {
        color: #000
    }

    .tool_bar .tabs section .group_1of4 {
        text-align: center;
    }

        .tool_bar .tabs section .group_1of4.last {
            position: relative;
        }

            .tool_bar .tabs section .group_1of4.last .btn-white-blue-border {
                margin: 25px 0 0 0;
            }

.home-rate-header {
    font-size: .8em;
    font-weight: 700;
    color: #4F4F4F;
    margin-bottom: 10px;
    line-height: 1.1em;
}

.home-rate {
    font-size: 2.5em;
    font-weight: 900;
    color: #72BE44;
    margin-bottom: 10px;
}

.home-rate-mortgage {
    font-size: 1.7em;
    font-weight: 900;
    color: #72BE44;
    margin-bottom: 5px;
}

.home-rate-mortgage span{
    font-size: 13px;
    font-weight: 900;
    color: #72BE44;;
}

.home-rate-footer {
    font-size: .750em;
    font-weight: 700;
    color: #4F4F4F;
}

.home-rate-mortgage-footer {
    font-size: 1.7em;
    font-weight: 800;
    color: #4F4F4F;
}

.home-rate-mortgage-footer span {
    font-size: 13px;
    font-weight: 800;
    color: #4F4F4F;
}

#tab1 wrapper, #tab2 wrapper, #tab3 wrapper, #tab4 wrapper {
    max-width: 1200px;
    margin: 0 auto;
}


.grow-with-us .fa-stack {
    display: block;
    height: 2em;
    position: relative;
    width: 2em;
    text-align: center;
    margin: 0 auto;
}

.grow-with-us .group_1of8 {
    text-align: center;
	display: block;
}
    /*------ .grow-with-us .group_1of8 .fa-circle {color: #0C887D;} ------*/
    .grow-with-us .group_1of8 svg {
        fill: #72BE44;
    }

    .grow-with-us .group_1of8 a {
        color: #0C887D;
        text-decoration: none;
        font-weight: 700;
        transition: all .2s ease-in-out;
        display: block;
    }

        .grow-with-us .group_1of8 a:hover {
            transform: scale(1.2);
            color: #72BE44;
        }


/*------buttons------*/

.btn {
    text-decoration: none;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    background: #999;
    color: #FFFFFF;
    line-height: 1em;
    font-weight: 600;
    font-size: 1rem;
    margin: 0 .25em 0 0;
    padding: .5em .875em;
    cursor: pointer;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: 1px solid #888;
    text-align: center;
}

    .btn:hover {
        border-color: #808080;
        background: #999;
        color: #FFF;
        text-decoration: none;
    }

    .btn:active {
        background-image: none;
        outline: 0;
        -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    }

.btn-danger {
    background: #b94a48;
    border-color: #ac2925;
}

    .btn-danger:hover {
        background-color: #d2322d;
        border-color: #ac2925;
    }

.btn-success {
    background-color: #5cb85c;
    border-color: #4cae4c;
}

    .btn-success:hover {
        background-color: #47a447;
        border-color: #398439;
    }


.btn-blue {
    background-color: #004F99;
    border-color: #004F99;
    color: #fff !important;
    text-transform: uppercase;
    font-size: .875em;
    padding: 1em;
}

    .btn-blue:hover {
        background-color: #023667;
        border-color: #023667;
    }

.btn-green {
    background-color: #72BE44;
    border-color: #72BE44;
    color: #fff !important;
    text-transform: uppercase;
    font-size: .875em;
    padding: 1em;
}

    .btn-green:hover {
        background-color: #61A03A;
        border-color: #61A03A;
    }

.btn-teal {
    background-color: #0c887d;
    border-color: #0c887d;
    color: #fff !important;
    text-transform: uppercase;
    font-size: .875em;
    padding: 1em;
}

    .btn-teal:hover {
        background-color: #09625A;
        border-color: #09625A;
    }

.btn-white-black-border {
    background-color: #FFF;
    border-color: #333333;
    color: #333333 !important;
    text-transform: uppercase;
    font-size: .875em
}

    .btn-white-black-border:hover {
        background-color: #333333;
        border-color: #333333;
        color: #FFF !important;
    }

.btn-white-blue-border {
    background-color: #FFF;
    border-color: #004F99;
    color: #004F99 !important;
    text-transform: uppercase;
    font-size: .875em
}

    .btn-white-blue-border:hover {
        background-color: #004F99;
        border-color: #004F99;
        color: #FFF !important;
    }

.btn-white {
    background-color: none !important;
    background: none;
    border-color: #FFF;
    color: #FFFFFF !important;
    text-transform: uppercase;
    font-size: .875em;
    padding: 1em;
}

    .btn-white:hover {
        background-color: #FFFFFF;
        border-color: #FFFFFF;
        color: #0C887D !important;
    }


a.btn-login {
    background-color: #0D8278;
    border-color: #0D8278;
    color: #FFF !important;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    margin-top: -3px;
}

.btn-login:hover {
    background-color: #61A03A;
    border-color: #61A03A;
}

.nav_drawer_btn {
    background-color: #004F99;
    border-color: #004F99;
    color: #FFF !important;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    margin-top: -3px;
    display:none;
}

    .nav_drawer_btn:hover {
        background-color: #023667;
        border-color: #023667;
    }


.btn-video {
    background-color: #72BE44;
    border-color: #72BE44;
    color: #fff !important;
    text-transform: uppercase;
    font-size: .875em;
    position: relative;
    padding: 1em 64px 1em 1em;
}

    .btn-video:hover {
        text-decoration: none !important;
        background-color: #61A03A;
        border-color: #61A03A;
    }

    .btn-video:after {
        position: absolute;
        height: 100%;
        right: 0;
        top: 0;
        line-height: 2.2em;
        font-size: 130%;
        width: 50px;
    }


.btn-video-b:after {
    border-left: 2px solid #FFF;
}

.icon-play:after {
    content: "\25BA";
}

.btn-full {
    display: block;
    margin: 0;
}

.btn-xxxlarge {
    font-size: 1.75rem;
    border-radius: 5px;
}

.btn-xxlarge {
    font-size: 1.5rem;
    border-radius: 5px;
}

.btn-xlarge {
    font-size: 1.25rem;
    border-radius: 5px;
}

.btn-large {
    font-size: 1.15rem;
    border-radius: 5px;
}

.btn-small {
    font-size: .875rem;
}

.btn-mini {
    font-size: .75rem;
}



/* Timeline */
.timelinecontents .clearfix {
    margin: 3em 0;
}

.leftimage, .rightimage {
    text-align: center;
    width: 30%
}

.timelinecontents {
    background-image: url(/images/timeline-bg.jpg);
    background-position: top center;
    margin: 30px 0 15px;
    overflow: hidden
}

.leftimage {
    float: left;
    margin: 0 0% 10px 0;
    clear: left;
}


.rightimage {
    float: right;
    margin: 0 0% 10px 0;
    clear: right;
}

.timeblock, .timeblock-right {
    width: 60%;
    line-height: normal;
    padding: 10px 0;
    margin-top: 0px;
}



.timeblock {
    border-top: 5px solid #004F99;
    overflow: hidden;
    float: left;
}



.timeblock-right {
    border-top: 5px solid #6CB644;
    float: right;
    margin-top: 0px;
}



.timelinecontents .year {
    font-weight: 700;
    color: #004F99;
    font-size: 24px;
    float: left;
    margin-left: 14%
}

.timeblock .year {
    float: right;
    text-align: right;
}

.timeblock-right .year {
    margin-left: 0
}

.goldevent div.year {
    color: #6CB644;
    float: left;
}

.timelinecontents .eventcontents {
    width: 70%;
    float: left;
    text-align: left;
}

    .timelinecontents .eventcontents strong {
        font-size: 14px;
        padding-bottom: 0;
        display: block
    }

.timeblock-right .eventcontents {
    float: right
}




/* Live Chat */

.livechat {
    position: fixed;
    z-index: 99;
    right: 0;
    top: 40%;
}



/* just for presentation (bottom left corner) */
.breakpoint {
    position: fixed;
    bottom: 0;
    left: 0;
    background: #333;
    width: 70px;
    color: #FFF;
    font-size: .8em;
    display: none;
    padding: 0 10px;
    z-index: 9999999;
}

.break_1024to992 {
    display: block;
}



/* accordions */
.accordion {
    list-style: none;
    padding: 0;
    margin-bottom: 1.5em;
}

    .accordion .category > div {
        display: none;
        margin: 1.25em 1em;
    }

    .accordion .category > a {
        display: block;
        margin: 0;
        border: none;
        background: #eee;
        font-size: inherit;
        color: #333;
        padding: 0.5em 1em;
        cursor: pointer;
        border-bottom: 2px solid #fff;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        text-decoration: none;
    }

        .accordion .category > a svg {
            margin-right: .5em;
        }

    .accordion li.category .status {
        position: absolute;
        top: 14px;
        right: 14px;
        font-size: 22px;
    }

    .accordion .fa-plus-square, .accordion .fa-minus-square {
        display: none;
    }

    .accordion .closed .fa-plus-square {
        display: inline-block;
    }

    .accordion .open .fa-minus-square {
        display: inline-block;
    }

    .accordion .category ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .accordion .category ul li {
            margin: 0;
            padding: .75em .75em;
            list-style: none;
            border-bottom: 1px solid #ddd;
        }

            .accordion .category ul li:first-child {
                padding-top: 0;
            }

            .accordion .category ul li:last-child {
                padding-bottom: 0;
                border-bottom: none;
            }

/* High Density Images - uncomment to use
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dppx) { 
.selector {background: url() top no-repeat;background-size:;}
}
*/


.three-card-layout {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    row-gap: 2em;
  column-gap: 3.5%;
  font-size: .9em;
}

.three-card-layout .item {
    width: 31%;
    -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
    padding: 2em 2em;
    text-align: center;
}

.three-card-layout .item img {
    margin: 0 0 1.5em 0;
}

@media only screen and (max-width: 1100px) {

    .site_header a.logo {
        width: 90px;
        height: 81px;
    }

}


@media only screen and (max-width: 991px) {
    /*---remove defaults for breakpoints---*/
    .list_grid.list_3x > li.clear_third, .list_grid.list_4x > li.clear_fourth, .list_grid.list_5x > li.clear_fifth, .list_grid.list_6x > li.clear_sixth {
        display: none;
    }
    /*---hide default clears---*/
    .list_grid.list_3x > li.third, .list_grid.list_4x > li.fourth, .list_grid.list_5x > li.fifth, .list_grid.list_6x > li.sixth {
        margin-right: 3.5%;
    }
    /*---over-ride default margin---*/

    /* Flex Grid max 3 column */
    .flex_grid.flex_4x .flex_item {
        width: 33.333%;
    }

    .flex_grid.flex_4x.flex_margin .flex_item {
        width: 31.333%;
    }

        .flex_grid.flex_4x.flex_margin .flex_item:nth-child(4n+4) {
            margin-right: 3%;
        }

        .flex_grid.flex_4x.flex_margin .flex_item:nth-child(3n+3) {
            margin-right: 0;
        }

    /* Flex Grid IE9 */
    .no-flexbox .flex_grid.flex_4x .flex_item:nth-child(4n+5) {
        clear: none;
    }

    .no-flexbox .flex_grid.flex_4x .flex_item:nth-child(3n+4), .no-flexbox .flex_grid.flex_3x .flex_item:nth-child(3n+4) {
        clear: both;
    }

    .row-value-prop {
        grid-auto-rows: minmax(30px, auto);
    }

    .flex_grid.home .flex_item {
        padding: 2em;
        font-size: 1.4em;
    }

    .three-card-layout .item {
        width: 48.25%;}

}

@media only screen and (min-width: 769px) and (max-width: 991px) {
    .break_991to768 {
        display: block;
    }

    nav.nav_primary ul.parent > li > a {padding:.5em .625em .75em .625em;}

    /*---5, 6 column to 4---*/
    .list_grid.list_5x > li, .list_grid.list_6x > li {
        width: 22.375%;
    }
        /*---establish widths---*/
        .list_grid.list_3x > li.third, .list_grid.list_4x > li.fourth, .list_grid.list_5x > li.fourth, .list_grid.list_6x > li.fourth {
            margin-right: 0;
        }
        /*---last column---*/
        .list_grid.list_3x > li.clear_third, .list_grid.list_4x > li.clear_fourth, .list_grid.list_5x > li.clear_fourth, .list_grid.list_6x > li.clear_fourth {
            display: block;
            width: 100%;
        }
    /*---show clears---*/

    .mix_grid.flex_grid .flex_item {
        width: 50%;
    }
}

@media only screen and (max-width: 768px) {
    h1 {
        font-size: 2.25em;
    }

    h2, h2 a, .h2 {
        font-size: 1.5em;
    }
	
	  .blog.list_row .li-img {
        display: table-cell;
        width: 100%;
        padding: 0 0 1.5em;
    }
	
    .blog.list_row .li-text {
        display: block;;
        width: 100%;
    }

    .wrapper {
        padding: 0 4.5%;
    }
    /* default breakpoints for structure */
    .structure > .first, .structure > .middle, .structure > .last {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 3em; }
	
	.structure .group_1of2.inset_right.first{float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 1.5em !important;}	
	
    .structure .group_1of2.first, .structure .group_1of2.middle {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 3em; }
	
	    .structure .group_1of2.last {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 0em; }
	

        .structure > .first:last-child, .structure > .last:last-child {
            margin-bottom: 0;
        }
    /* default breakpoints for table structure */
    table.table_structure_4x tr {
        clear: both;
    }

        table.table_structure_4x tr td {
            width: 47%;
        }

    table.table_structure_4x td.clear {
        display: block;
    }

    /* Flex Grid max 2 column */
    .flex_grid.flex_4x .flex_item, .flex_grid.flex_3x .flex_item {
        width: 50%;
    }

    .flex_grid.flex_4x.flex_margin .flex_item, .flex_grid.flex_3x.flex_margin .flex_item {
        width: 48.5%;
    }

        .flex_grid.flex_4x.flex_margin .flex_item:nth-child(3n+3), .flex_grid.flex_3x.flex_margin .flex_item:nth-child(3n+3) {
            margin-right: 3%;
        }

        .flex_grid.flex_4x.flex_margin .flex_item:nth-child(2n+2), .flex_grid.flex_3x.flex_margin .flex_item:nth-child(2n+2) {
            margin-right: 0
        }

    .flex_grid.home.flex_3x .flex_item {
        width: 100%;
    }

    /* Flex Grid IE9 */
    .no-flexbox .flex_grid.flex_4x .flex_item:nth-child(3n+4), .no-flexbox .flex_grid.flex_3x .flex_item:nth-child(3n+4) {
        clear: none;
    }

    .no-flexbox .flex_grid.flex_4x .flex_item:nth-child(2n+3), .no-flexbox .flex_grid.flex_3x .flex_item:nth-child(2n+3) {
        clear: both;
    }

    body {margin-top: 84px;}
    .site_header .wrapper {height:84px;}
    .nav_primary, nav.nav_secondary li.mobile-hide {display:none;}
    nav.nav_secondary {
        position: absolute;
        top: 30px;
        right: 140px;
        margin:0;
        padding:0;
    }
    .nav_drawer_btn {display:inline-block; position:absolute; top:30px; right:30px;}
    .loginBox {
        right: 0;
    }
    .location_map {height:400px;}

    .lead {
        font-size: 1.1em;
        line-height: 1.3em;
    }

    .inset_lead {
        padding: 0 0%;
    }

    /*------rotator banner------*/
    .rotator_banner .rotator_banner_img {
        height: 300px;
    }

    .rotator_banner .rotator_banner_content {
        padding: 1.5em 1.5em;
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    /*------panels (often used to create different secions of content on the same page)------*/
    .panel {
        padding: 2em 0;
    }

    section.section_primary {
        padding: 2em 0;
    }


    .panel.panel_image .panel_image_img > img {
        margin-bottom: .75em;
    }

    .panel .img_blend {
        opacity: 1;
        position: inherit;
        top: inherit;
        height: inherit;
        right: inherit !important;
        left: inherit !important;
        background: none !important;
        width: 100% !important;
    }

    .panel .img_text {
        position: inherit;
        top: inherit;
        right: inherit !important;
        left: inherit !important;
        transform: inherit;
        width: 100% !important;
    }

    section.section_primary {
        padding: 2em 0%;
    }

    .site_footer .menu-wrapper {
        display: none;
    }

        .site_footer .menu-wrapper .group_1of5 {
            width: 100%;
        }

        .site_footer .menu-wrapper li a {
            padding: 15px 10px;
            display: block;
            background-color: #003B72;
            color: #FFF;
            margin: 0 0 .5em 0;
            border-radius: 5px;
            font-size: 1em;
        }

            .site_footer .menu-wrapper li a:hover {
                display: block;
                background-color: #6CB644;
                opacity: 1;
            }

    .site_footer .sm-wrapper .group_1of2 {
        width: 100%;
    }

    .routing-info {
        text-align: left;
    }

    .site_footer .copyright-wrapper .group_1of2 {
        width: 100%;
    }

    ul.logos {
        float: left;
    }

    .site_footer {
        padding: 1rem 0%;
    }


    .header-title h1 {
        font-size: 2em;
    }


    .tool_bar {
        margin-top: 0px;
    }

    .tool_bar {
        background: rgba(0, 79, 153, 1);
    }

        .tool_bar .wrapper {
            padding: 0 0%;
            margin: 0 2rem;
            max-width: 100%;
        }

        .tool_bar .tabs .wrapper > ul {
            height: inherit;
            padding: 30px 0;
        }

        .tool_bar .tabs .wrapper .inset {
            padding: 0;
        }

        .tool_bar .tabs .wrapper > ul > li {
            display: inherit;
            width: 100%;
            float: inherit;
        }

            .tool_bar .tabs .wrapper > ul > li > a {
                border-bottom: 1px solid #fff;
                border-left: 1px solid #fff;
                border-right: 1px solid #fff !important;
            }

            .tool_bar .tabs .wrapper > ul > li:first-child > a {
                border-left: 1px solid #fff;
                border-top: 1px solid #fff;
            }

            .tool_bar .tabs .wrapper > ul > li > a:hover, .tool_bar .tabs .wrapper > ul > li > a.current {
                -webkit-box-shadow: none;
                -moz-box-shadow: none;
                box-shadow: none;
            }

        .tool_bar .tabs section ul.related_links li {
            display: inline-block;
        }

            .tool_bar .tabs section ul.related_links li a {
                font-weight: 600;
                text-decoration: none;
                display: inline-block;
                *zoom: 1;
                border: 1px solid #66A7D1;
                color: #66A7D1;
                line-height: 130%;
                font-size: 14px;
                margin: 0 .25em .25em 0;
                padding: .625em 1.25em;
                cursor: pointer;
                -moz-border-radius: 4px;
                border-radius: 4px;
            }

                .tool_bar .tabs section ul.related_links li a:hover {
                    background: #66A7D1;
                    color: #FFF;
                    border: 1px solid #66A7D1;
                    text-decoration: none;
                }

        .tool_bar .tabs section .intro-text {
            font-size: 22px;
            padding: 0em 14.529914529915% 3em 14.529914529915%
        }

        .tool_bar .tabs section h3 {
            font-size: 1.1em;
            line-height: 1.2em;
        }

        .tool_bar .tabs .wrapper > ul > li > a.current:after {
            display: none;
        }



        .tool_bar .tabs .wrapper > ul > li > a:hover, .tool_bar .tabs .wrapper > ul > li > a.current {
            margin-top: 0px;
            background: #fff;
            color: #444444;
            padding: 1.25em .75em;
        }






    a.btn_footer_nav {
        display: block;
    }

    .header-title {
        position: relative;
        top: 0%;
        transform: translateY(0%);
        padding: 4rem 2rem;
    }

    .homepage-title {
        width: 100%;
        position: relative;
        top: 0;
        transform: translateY(0%);
        padding: 4rem 2rem;
    }



    .home_hero {
        min-height: auto;
    }

    .header_hero {
        min-height: auto;
    }

    .home_outset_bottom {
        font-size: 2em;
    }


    .tool_bar .tabs section .group_1of4.first, .tool_bar .tabs section .group_1of4.middle, .tool_bar .tabs section .group_1of4.last {
        margin: 1em 0;
    }

    .tool_bar .tabs section .group_1of4.last {
        float: left;
    }

    .tool_bar .tabs section .group_1of4 {
        width: 48.25%
    }

    .grow-with-us .group_1of8.first, .grow-with-us .group_1of8.middle, .grow-with-us .group_1of8.last {
        margin: 1em 0;
        float: left
    }

    .grow-with-us .group_1of8 {
        width: 25%;
    }

    .row-value-prop {
        grid-auto-rows: minmax(1px, auto);
    }


    .value-prop-img-left {
        -ms-grid-column: 1;
        -ms-grid-column-span: 12;
        grid-column: 1/13;
        -ms-grid-row: 1;
        -ms-grid-row-span: 5;
        grid-row: 1/6;
        position: relative;
        display: block;
    }

    .value-prop-text-right {
        -ms-grid-column: 1;
        -ms-grid-column-span: 12;
        grid-column: 1/13;
        -ms-grid-row: 6;
        -ms-grid-row-span: 4;
        grid-row: 6/7;
        margin: -20px 15px 0 15px;
    }

    .value-prop-img-right {
        -ms-grid-column: 1;
        -ms-grid-column-span: 12;
        grid-column: 1/13;
        -ms-grid-row: 1;
        -ms-grid-row-span: 5;
        grid-row: 1/6;
        position: relative;
        display: block;
		padding: 0 0 !important;
    }
	
	
.value-prop-img-right img  { -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
    box-shadow: 0 0 20px rgba(0,0,0,.14);
border: 5px #ccc solid;}
	

    .value-prop-text-left {
        -ms-grid-column: 1;
        -ms-grid-column-span: 12;
        grid-column: 1/13;
        -ms-grid-row: 6;
        -ms-grid-row-span: 4;
        grid-row: 6/7;
        margin: -40px 15px 0 15px;
    }



    .flex_grid.brag.flex_borders.flex_margin .flex_item {
        width: 67%;
        margin: 0 auto 2em auto;
    }

    .flex_grid.brag.flex_3x.flex_margin .flex_item:nth-child(2n+2) {
        margin: 0 auto 2em auto;
    }

    .flex_grid.brag.flex_3x.flex_margin .flex_item:nth-child(3n+3) {
        margin: 0 auto;
    }

    .flex_grid.brag.flex_borders.flex_margin .flex_item .item_details {
        padding: 1.5em 1.25em;
    }

    .flex_grid.brag .category {
        padding: 5px 1.25em;
    }

    .inset_value_prop {
        padding: 0rem;
    }


    .header-title {
        width: 100%;
        top: 50%;
    }

    .panel_footer-cta h4 {
        font-size: 1.5em;
    }

    .panel_footer-cta {
        padding: 1em 3.5%;
    }



    .inset_left {
        padding-left: 0rem;
    }

    .inset_right {
        padding-right: 0rem;
    }

    .h4_nav {
        display: none;
    }

    .show_nav_section {
        display: block;
        padding: 10px 20px 8px;
        border: 1px solid #ddd;
        text-decoration: none;
        text-align: center;
        border-radius: 6px;
        color: #FFF !important;
        background: #004F99;
        position: relative;
        z-index: 90;
    }

        .show_nav_section:hover {
            background: #023667;
        }

    .nav_section {
        border: 0;
        padding: 2em 2em;
        position: static;
        background: #fff;
        color: #333;
        margin-top: 0em;
        margin-bottom: 1.5em;
        display: none;
        -moz-box-shadow: 0 0 20px rgba(0,0,0,.14);
        -webkit-box-shadow: 0 0 20px rgba(0,0,0,.14);
        box-shadow: 0 0 20px rgba(0,0,0,.14);
    }

        .nav_section ul > li:first-child {
            border-top: 1px solid #DDDDDD;
        }

        .nav_section ul > li li:first-child {
            border-top: none;
        }

    .related {
        margin: 2em 0 0 0;
        border-top: 1px solid #ccc;
        padding-top: 2em;
    }


    /*------Timeline ------*/

    .timelinecontents .eventcontents {
        width: 100% !important
    }

    .timelinecontents .year {
        margin: 0 0 .5em 0;
    }

    .timeblock .year {
        float: left;
    }

    .timeblock {
        width: 100%
    }

    .timeblock-right {
        width: 100%;
        margin-right: 0
    }

    .leftimage, .rightimage {
        width: 100%;
        margin: 0 0 2em
    }


    .flex_grid.home .flex_item {
        font-size: 1.5em;
    }

    
    .three-card-layout .item {
        width: 100%;
    }


    /*------Insets & Outsets ------*/
    [class*="outset_r"], [class*="outset_l"] {
        margin: 0
    }

    .mobile {
        display: block;
    }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
    .break_767x480 {
        display: block;
    }

    .form textarea {
        width: 60%;
    }

    /*---4, 5, 6 column to 3---*/
    .list_grid.list_4x > li, .list_grid.list_5x > li, .list_grid.list_6x > li {
        width: 31%;
    }
        /*---establish widths---*/
        .list_grid.list_3x > li.third, .list_grid.list_4x > li.third, .list_grid.list_5x > li.third, .list_grid.list_6x > li.third {
            margin-right: 0;
        }
        /*---last column---*/
        .list_grid.list_3x > li.clear_third, .list_grid.list_4x > li.clear_third, .list_grid.list_5x > li.clear_third, .list_grid.list_6x > li.clear_third {
            display: block;
            width: 100%;
        }
    /*---show clears---*/

}

/* Interim breakpoint for some phones (landscape) and tablets (portrait) */
@media only screen and (max-width: 640px) {

    body {
        margin: 0;
    }

    .site_header {
        position: relative;
        top: auto;
        left: auto;
    }

    .mix_grid.flex_grid .flex_item {
        width: 100%;
    }
}

@media only screen and (min-width: 0px) and (max-width: 479px) {
    .break_479x0 {
        display: block;
    }
    .loginBox {right:-110px; width:300px;}
    /* default breakpoints for table structure */
    table.table_structure_4x tr td, table.table_structure_3x tr td, table.table_structure_2x tr td {
        width: 100%;
        margin: 0;
    }

        table.table_structure_4x tr td td, table.table_structure_3x tr td td, table.table_structure_2x tr td td {
            width: auto;
        }

    .form fieldset {
        padding-left: 0;
        padding-right: 0;
        border-radius: 0;
        border-right: 0;
        border-left: 0;
    }

        .form input[type="text"], .form input[type="number"], .form input[type="email"], .form input[type="password"], .form textarea, .form fieldset select {
            max-width: none;
            width: 100%;
        }

        .form fieldset > div > label, .form fieldset > fieldset > legend {
            width: 100%;
            padding: 0;
            text-align: left;
        }

        .form fieldset .icon_form {
            clear: both;
            display: block;
            margin-top: .5em;
        }

        .form fieldset ul {
            width: 100%;
        }

    img.img_left, img[align=left], img.img_right, img[align=right] {
        max-width: 33%;
    }

    aside, figure {
        width: auto;
        float: none;
        margin-left: 0;
    }

    nav.page ul li {
        display: none;
    }

        nav.page ul li.page-prev, nav.page ul li.page-next {
            display: inline;
        }

    /*---3, 4, 5, 6 column to 2---*/
    .list_grid.list_3x > li, .list_grid.list_4x > li, .list_grid.list_5x > li, .list_grid.list_6x > li {
        width: 48.25%;
    }
        /*---establish widths---*/
        .list_grid.list_3x > li.even, .list_grid.list_4x > li.even, .list_grid.list_5x > li.even, .list_grid.list_6x > li.even {
            margin-right: 0;
        }
        /*---last column---*/
        .list_grid.list_3x > li.clear_even, .list_grid.list_4x > li.clear_even, .list_grid.list_5x > li.clear_even, .list_grid.list_6x > li.clear_even {
            display: block;
            width: 100%;
        }
    /*---show clears---*/

    /* Flex Grid */
    .flex_grid.flex_4x .flex_item, .flex_grid.flex_3x .flex_item, .flex_grid.flex_2x .flex_item, .flex_grid.flex_4x.flex_margin .flex_item, .flex_grid.flex_3x.flex_margin .flex_item, .flex_grid.flex_2x.flex_margin .flex_item, .flex_grid.locations.flex_borders.flex_margin .flex_item {
        width: 100%;
        margin-right: 0;
    }



    .list .li-summary {
        display: none;
    }

    .rotator_banner .rotator_banner_img {
        height: 200px;
    }

    .tool_bar .tabs section ul.related_links li {
        display: block;
    }

        .tool_bar .tabs section ul.related_links li a {
            margin: 0 0 .25em 0;
            padding: .625em 0;
            width: 100%;
            text-align: center;
        }

    .tool_bar .tabs section .intro-text {
        font-size: 20px;
        padding: 0em 0 2em 0
    }

    .homepage-title {
        width: 100%;
    }

    .tool_bar .tabs section .group_1of4 {
        width: 100%;
    }

        .tool_bar .tabs section .group_1of4.last {
            margin: 1em 0 0em 0;
        }

    .grow-with-us .group_1of8.last {
        margin: 1em 0 0 0;
    }

    .grow-with-us .group_1of8 {
        width: 48.25%;
    }


    .flex_grid.brag.flex_borders.flex_margin .flex_item {
        width: 90%;
    }


    /*---table rates---*/

    table.table_data_stack, .table_data_stack thead, .table_data_stack tbody, .table_data_stack th, .table_data_stack td, .table_data_stack tr {
        font-size: .975em;
        display: block;
        text-align: left
    }

    table.dataTable thead th, table.dataTable thead td {
        border-bottom: 3px solid #BCDEAA !important;
        text-align: left;
    }

    .table_data_stack tr {
        border: 1px solid #BCDEAA;
        position: relative
    }

    .table_data_stack td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 54% !important
    }

        .table_data_stack td:last-child {
            padding: 1em 8px 2em 8px;
        }

    table.table_data_stack td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        padding-right: 1em;
        width: 50%;
        font-weight: 700;
        font-size: .875em;
    }

    table.table_data_stack th {
        display: none;
    }

    .table_data_stack td, .table_data_stack tr {
        width: 100%;
    }

    .tool_bar .tabs section .group_1of4.last .btn-white-blue-border {
        margin: 0px 0 0 0;
    }

    .row-value-prop {
        grid-auto-rows: minmax(32px, auto);
    }


    .flex_grid.flex_3x.flex_margin .flex_item:nth-child(3n+3) {
        margin-right: 0%;
    }

    .nav_drawer {
        right: -100%;
        width: 100%;
    }

    /*---form builder captcha---*/
    #rc-imageselect, .g-recaptcha {
        -webkit-transform: scale(0.77);
        transform: scale(0.77);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0;
    }

        #rc-imageselect > div, .g-recaptcha > div {
            margin: 0;
            width: 291px !important;
        }
}

/*Print styles */
@media print {
    * {
        background: transparent !important;
        color: black !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important;
    }
    /* Black prints faster */
    a, a:visited {
        color: #444 !important;
        text-decoration: underline;
    }

    pre, blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }
    /* css-discuss.incutio.com/wiki/Printing_Tables */
    tr, img {
        page-break-inside: avoid;
    }

    @page {
        margin: 0.5cm;
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        page-break-after: avoid;
    }
}



/************************
* eCommerce *
************************/

/*-----shop overrides-----*/
.wrapper.shop {
}

/*-----shop search-----*/
fieldset.search.shop {
    margin-bottom: 1.5em;
}

    fieldset.search.shop input[type="text"] {
        font-size: 14px;
        padding: .5em;
        width: 65%;
    }

    fieldset.search.shop input[type="submit"] {
        padding: .5em .75em;
        font-size: 14px;
    }

/*-----categories-----*/
.shop_category {
    font-size: 16px;
    border-bottom: 1px solid #ccc;
    color: #666;
    text-align: center;
}

.shop_category_img {
    margin-bottom: 1.5em;
}

/*-----toobar-----*/
.toolbar {
    font-size: 13px;
}

    .toolbar .first, .toolbar .middle {
        margin-right: 5%
    }

    .toolbar ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .toolbar ul li {
            margin-right: .75em;
            display: inline;
            float: left;
        }

    .toolbar .list_view a {
        background: url(/images/icon-list-view.png) no-repeat;
        width: 12px;
        height: 12px;
        display: block;
        margin-top: 7px;
    }

        .toolbar .list_view a:hover, .toolbar .list_view a.current_view {
            background-position: bottom;
        }

    .toolbar .grid_view a {
        background: url(/images/icon-grid-view.png) no-repeat;
        width: 12px;
        height: 12px;
        display: block;
        margin-top: 7px;
    }

        .toolbar .grid_view a:hover, .toolbar .grid_view a.current_view {
            background-position: bottom;
        }

.list.list_row .price {
    float: right;
    width: 20%;
    font-size: 1.2em;
    margin-top: .25em;
}

.list .price strike {
    display: block;
}

/*-----product-----*/
.form.product fieldset {
    padding: .5em;
}

.form.product p {
    margin-bottom: 0;
}

.form.product h2 {
    margin-bottom: 1em;
}

.product_detail_img {
    max-width: 468px;
    margin-bottom: 1em;
    text-align: center;
}

ul.product_detail_img_thumb {
    margin: 0;
    padding: 0;
    list-style: none;
}

    ul.product_detail_img_thumb li {
        display: block;
        float: left;
    }

        ul.product_detail_img_thumb li a img {
            height: 40px;
            margin: 0 .25em 1em 0;
        }

/*-----reviews-----*/
.reviews {
    clear: both;
    display: block;
    padding: 15px 15px;
    background: #FFF;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -moz-box-shadow: inset 0 0 5px #ccc;
    -webkit-box-shadow: inset 0 0 5px #ccc;
    box-shadow: inner 0 0 5px #ccc;
    margin-bottom: 1em;
}

.review_info {
    background: #F3F3F3;
    padding: 20px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.review {
    border-bottom: 1px dotted #ccc;
    font-size: .90em;
    margin-bottom: 20px;
}

    .review:last-child {
        border-bottom: none !important;
    }

    .review h2 {
        color: #0066CC;
    }

.reviews .btn {
    background-color: #0066CC;
    border-color: #005CB6;
    font-weight: normal;
    float: right;
}

    .reviews .btn:hover {
        background-color: #005CB6;
        border-color: #004992;
    }

/*-----star ratings-----*/
.userRatingStar {
    background-repeat: no-repeat;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 16px;
    margin: 0;
    padding: 0;
    width: 16px;
    text-align: center;
}

.userRatingStarNoPointer {
    background-repeat: no-repeat;
    cursor: default;
    display: block;
    font-size: 0;
    height: 16px;
    margin: 0;
    padding: 0;
    width: 16px;
    text-align: center;
}

.userFilledRatingStar {
    background-image: url(/images/star_yellow_14.gif);
}

.userEmptyRatingStar {
    background-image: url(/images/star_gray_14.gif);
}

.userWaitingRatingStar {
    background-image: url(/images/star_gray_14.gif);
}

.ratingStar {
    background-repeat: no-repeat;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 50px;
    margin: 10px 0 0 0;
    padding: 0;
    width: 50px;
    text-align: center;
}

.filledRatingStar {
    background-image: url(/images/star_yellow_12.png);
}

.emptyRatingStar {
    background-image: url(/images/star_gray_12.png);
}

.waitingRatingStar {
    background-image: url(/images/star_gray_12.png);
}

/*-----cart-----*/
.flex-table {
    margin-bottom: 1em;
    border-collapse: collapse;
    width: 100%;
    background: #FFF;
    border: 1px solid #CCC;
}

    .flex-table thead th {
        border-bottom: 1px solid #E0E0E0;
        background: #F4F4F4;
        font-size: 13px;
        font-weight: bold;
        line-height: 1.4;
        text-transform: capitalize;
        white-space: nowrap;
    }

    .flex-table td, .flex-table th {
        padding: 10px;
        border-right: 1px solid #E0E0E0;
    }

#cart-table tfoot td {
    text-align: right;
}

.flex-table tfoot td {
    border-top: 1px solid #E0E0E0;
    background: #F4F4F4;
}

.flex-table td, .flex-table th {
    padding: 10px;
    border-right: 1px solid #E0E0E0;
}

.flex-table tbody tr:last-child td {
    border-bottom: 0;
}

.flex-table tbody tr td {
    border-bottom: 2px solid #E8E8E8;
    vertical-align: top;
}

.cart-item-wrapper {
    padding-bottom: 1em;
}

.cart-item-description {
    font-size: .875em;
    line-height: 1.2em;
    margin-left: 90px;
}

.product-name {
    margin-left: 90px;
    display: block;
    line-height: 1.2em;
    margin-bottom: .5em;
}

.product-image {
    float: left;
    margin-right: 10px;
}

.remove-link {
    color: #666;
    text-decoration: none;
}

span.label {
    display: none;
    float: left;
    margin-right: .5em;
}

.cart_calculate {
    font-size: .875em;
    padding: 5px 10px 10px 10px;
    float: none;
    margin-right: 0;
}

    .cart_calculate label {
        display: block;
    }

    .cart_calculate input[type="text"] {
        font-size: .875em;
        margin-right: .25em;
        width: 50%;
    }

    .cart_calculate select {
        max-width: 100%;
    }

.payment_method {
    list-style: none;
    padding: 0;
}

    .payment_method li {
        display: block;
        float: left;
        margin: 0 5px 5px 0;
    }

/*-----checkout-----*/
.checkout_help {
    font-size: .875em;
    line-height: 1.5em;
}

@media only screen and (max-width: 768px) {
    /*-----cart-----*/
    .flex-table.linearize thead {
        display: none;
    }

    .flex-table.linearize tbody tr:last-child {
        border-bottom: 0;
    }

    .flex-table.linearize tbody tr {
        border-bottom: 2px solid #CCC;
    }

    .flex-table.linearize tr, .flex-table.linearize th, .flex-table.linearize td {
        display: block;
    }

    .flex-table.linearize tbody tr td:first-child {
        padding-top: 10px;
    }

    .flex-table.linearize tbody tr td {
        padding: 0 10px 10px;
        border-right: 0;
        border-bottom: 0;
    }

    .cart-item-wrapper {
        min-height: 75px;
        border-bottom: 1px solid #ddd;
    }

    span.label {
        display: compact;
    }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
    .cart_calculate.first {
        width: 44%;
        float: left;
    }

    .cart_calculate.last {
        width: 44%;
        float: right;
    }
}

@media screen and (max-width: 479px) {
    .list.list_row .price {
        margin: 0;
        font-size: 1em;
    }

    .list .price strike {
        display: none;
    }
}


/*!
* animate.css -https://daneden.github.io/animate.css/
* Version - 3.7.2
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2019 Daniel Eden
*/
@-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        -webkit-transform: translate3d(0,-30px,0);
        transform: translate3d(0,-30px,0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        -webkit-transform: translate3d(0,-15px,0);
        transform: translate3d(0,-15px,0);
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0);
        transform: translate3d(0,-4px,0);
    }
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        -webkit-transform: translate3d(0,-30px,0);
        transform: translate3d(0,-30px,0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        animation-timing-function: cubic-bezier(0.755,0.05,0.855,0.06);
        -webkit-transform: translate3d(0,-15px,0);
        transform: translate3d(0,-15px,0);
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0);
        transform: translate3d(0,-4px,0);
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes flash {
    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

@keyframes flash {
    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

.flash {
    -webkit-animation-name: flash;
    animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    50% {
        -webkit-transform: scale3d(1.05,1.05,1.05);
        transform: scale3d(1.05,1.05,1.05);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

@keyframes pulse {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    50% {
        -webkit-transform: scale3d(1.05,1.05,1.05);
        transform: scale3d(1.05,1.05,1.05);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
}

@-webkit-keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    30% {
        -webkit-transform: scale3d(1.25,0.75,1);
        transform: scale3d(1.25,0.75,1);
    }

    40% {
        -webkit-transform: scale3d(0.75,1.25,1);
        transform: scale3d(0.75,1.25,1);
    }

    50% {
        -webkit-transform: scale3d(1.15,0.85,1);
        transform: scale3d(1.15,0.85,1);
    }

    65% {
        -webkit-transform: scale3d(0.95,1.05,1);
        transform: scale3d(0.95,1.05,1);
    }

    75% {
        -webkit-transform: scale3d(1.05,0.95,1);
        transform: scale3d(1.05,0.95,1);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

@keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    30% {
        -webkit-transform: scale3d(1.25,0.75,1);
        transform: scale3d(1.25,0.75,1);
    }

    40% {
        -webkit-transform: scale3d(0.75,1.25,1);
        transform: scale3d(0.75,1.25,1);
    }

    50% {
        -webkit-transform: scale3d(1.15,0.85,1);
        transform: scale3d(1.15,0.85,1);
    }

    65% {
        -webkit-transform: scale3d(0.95,1.05,1);
        transform: scale3d(0.95,1.05,1);
    }

    75% {
        -webkit-transform: scale3d(1.05,0.95,1);
        transform: scale3d(1.05,0.95,1);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

.rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
}

@-webkit-keyframes shake {
    from, to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px,0,0);
        transform: translate3d(-10px,0,0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px,0,0);
        transform: translate3d(10px,0,0);
    }
}

@keyframes shake {
    from, to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px,0,0);
        transform: translate3d(-10px,0,0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px,0,0);
        transform: translate3d(10px,0,0);
    }
}

.shake {
    -webkit-animation-name: shake;
    animation-name: shake;
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake;
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate3d(0,0,1,15deg);
        transform: rotate3d(0,0,1,15deg);
    }

    40% {
        -webkit-transform: rotate3d(0,0,1,-10deg);
        transform: rotate3d(0,0,1,-10deg);
    }

    60% {
        -webkit-transform: rotate3d(0,0,1,5deg);
        transform: rotate3d(0,0,1,5deg);
    }

    80% {
        -webkit-transform: rotate3d(0,0,1,-5deg);
        transform: rotate3d(0,0,1,-5deg);
    }

    to {
        -webkit-transform: rotate3d(0,0,1,0deg);
        transform: rotate3d(0,0,1,0deg);
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate3d(0,0,1,15deg);
        transform: rotate3d(0,0,1,15deg);
    }

    40% {
        -webkit-transform: rotate3d(0,0,1,-10deg);
        transform: rotate3d(0,0,1,-10deg);
    }

    60% {
        -webkit-transform: rotate3d(0,0,1,5deg);
        transform: rotate3d(0,0,1,5deg);
    }

    80% {
        -webkit-transform: rotate3d(0,0,1,-5deg);
        transform: rotate3d(0,0,1,-5deg);
    }

    to {
        -webkit-transform: rotate3d(0,0,1,0deg);
        transform: rotate3d(0,0,1,0deg);
    }
}

.swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
}

@-webkit-keyframes tada {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg);
        transform: scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);
        transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);
        transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg);
        transform: scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);
        transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);
        transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);
    }

    to {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

.tada {
    -webkit-animation-name: tada;
    animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    15% {
        -webkit-transform: translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);
        transform: translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);
    }

    30% {
        -webkit-transform: translate3d(20%,0,0) rotate3d(0,0,1,3deg);
        transform: translate3d(20%,0,0) rotate3d(0,0,1,3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);
        transform: translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);
    }

    60% {
        -webkit-transform: translate3d(10%,0,0) rotate3d(0,0,1,2deg);
        transform: translate3d(10%,0,0) rotate3d(0,0,1,2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);
        transform: translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes wobble {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    15% {
        -webkit-transform: translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);
        transform: translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);
    }

    30% {
        -webkit-transform: translate3d(20%,0,0) rotate3d(0,0,1,3deg);
        transform: translate3d(20%,0,0) rotate3d(0,0,1,3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);
        transform: translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);
    }

    60% {
        -webkit-transform: translate3d(10%,0,0) rotate3d(0,0,1,2deg);
        transform: translate3d(10%,0,0) rotate3d(0,0,1,2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);
        transform: translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}

@-webkit-keyframes jello {
    from, 11.1%, to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

@keyframes jello {
    from, 11.1%, to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

.jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9,0.9,0.9);
        transform: scale3d(0.9,0.9,0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03,1.03,1.03);
        transform: scale3d(1.03,1.03,1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97,0.97,0.97);
        transform: scale3d(0.97,0.97,0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

@keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9,0.9,0.9);
        transform: scale3d(0.9,0.9,0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03,1.03,1.03);
        transform: scale3d(1.03,1.03,1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97,0.97,0.97);
        transform: scale3d(0.97,0.97,0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
    }
}

.bounceIn {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,-3000px,0);
        transform: translate3d(0,-3000px,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0,25px,0);
        transform: translate3d(0,25px,0);
    }

    75% {
        -webkit-transform: translate3d(0,-10px,0);
        transform: translate3d(0,-10px,0);
    }

    90% {
        -webkit-transform: translate3d(0,5px,0);
        transform: translate3d(0,5px,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,-3000px,0);
        transform: translate3d(0,-3000px,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0,25px,0);
        transform: translate3d(0,25px,0);
    }

    75% {
        -webkit-transform: translate3d(0,-10px,0);
        transform: translate3d(0,-10px,0);
    }

    90% {
        -webkit-transform: translate3d(0,5px,0);
        transform: translate3d(0,5px,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px,0,0);
        transform: translate3d(-3000px,0,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px,0,0);
        transform: translate3d(25px,0,0);
    }

    75% {
        -webkit-transform: translate3d(-10px,0,0);
        transform: translate3d(-10px,0,0);
    }

    90% {
        -webkit-transform: translate3d(5px,0,0);
        transform: translate3d(5px,0,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px,0,0);
        transform: translate3d(-3000px,0,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px,0,0);
        transform: translate3d(25px,0,0);
    }

    75% {
        -webkit-transform: translate3d(-10px,0,0);
        transform: translate3d(-10px,0,0);
    }

    90% {
        -webkit-transform: translate3d(5px,0,0);
        transform: translate3d(5px,0,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px,0,0);
        transform: translate3d(3000px,0,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px,0,0);
        transform: translate3d(-25px,0,0);
    }

    75% {
        -webkit-transform: translate3d(10px,0,0);
        transform: translate3d(10px,0,0);
    }

    90% {
        -webkit-transform: translate3d(-5px,0,0);
        transform: translate3d(-5px,0,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px,0,0);
        transform: translate3d(3000px,0,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px,0,0);
        transform: translate3d(-25px,0,0);
    }

    75% {
        -webkit-transform: translate3d(10px,0,0);
        transform: translate3d(10px,0,0);
    }

    90% {
        -webkit-transform: translate3d(-5px,0,0);
        transform: translate3d(-5px,0,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0,3000px,0);
        transform: translate3d(0,3000px,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0);
    }

    75% {
        -webkit-transform: translate3d(0,10px,0);
        transform: translate3d(0,10px,0);
    }

    90% {
        -webkit-transform: translate3d(0,-5px,0);
        transform: translate3d(0,-5px,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0,3000px,0);
        transform: translate3d(0,3000px,0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0);
    }

    75% {
        -webkit-transform: translate3d(0,10px,0);
        transform: translate3d(0,10px,0);
    }

    90% {
        -webkit-transform: translate3d(0,-5px,0);
        transform: translate3d(0,-5px,0);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9,0.9,0.9);
        transform: scale3d(0.9,0.9,0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9,0.9,0.9);
        transform: scale3d(0.9,0.9,0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }
}

.bounceOut {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0,10px,0);
        transform: translate3d(0,10px,0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0,10px,0);
        transform: translate3d(0,10px,0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }
}

.bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px,0,0);
        transform: translate3d(20px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px,0,0);
        transform: translate3d(20px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }
}

.bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px,0,0);
        transform: translate3d(-20px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px,0,0);
        transform: translate3d(-20px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }
}

.bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0,-10px,0);
        transform: translate3d(0,-10px,0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0,20px,0);
        transform: translate3d(0,20px,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0,-10px,0);
        transform: translate3d(0,-10px,0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0,20px,0);
        transform: translate3d(0,20px,0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }
}

.bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }
}

@keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,2000px,0);
        transform: translate3d(0,2000px,0);
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }
}

@keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px,0,0);
        transform: translate3d(-2000px,0,0);
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }
}

@keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px,0,0);
        transform: translate3d(2000px,0,0);
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }
}

@keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }
}

@keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0,-2000px,0);
        transform: translate3d(0,-2000px,0);
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        transform: perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        transform: perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        transform: perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
}

@-webkit-keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,10deg);
        transform: perspective(400px) rotate3d(1,0,0,10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-5deg);
        transform: perspective(400px) rotate3d(1,0,0,-5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,10deg);
        transform: perspective(400px) rotate3d(1,0,0,10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-5deg);
        transform: perspective(400px) rotate3d(1,0,0,-5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

@-webkit-keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-20deg);
        transform: perspective(400px) rotate3d(0,1,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,10deg);
        transform: perspective(400px) rotate3d(0,1,0,10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-5deg);
        transform: perspective(400px) rotate3d(0,1,0,-5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-20deg);
        transform: perspective(400px) rotate3d(0,1,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,10deg);
        transform: perspective(400px) rotate3d(0,1,0,10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-5deg);
        transform: perspective(400px) rotate3d(0,1,0,-5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        opacity: 0;
    }
}

.flipOutX {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-15deg);
        transform: perspective(400px) rotate3d(0,1,0,-15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        opacity: 0;
    }
}

@keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-15deg);
        transform: perspective(400px) rotate3d(0,1,0,-15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        opacity: 0;
    }
}

.flipOutY {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
    from {
        -webkit-transform: translate3d(100%,0,0) skewX(-30deg);
        transform: translate3d(100%,0,0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes lightSpeedIn {
    from {
        -webkit-transform: translate3d(100%,0,0) skewX(-30deg);
        transform: translate3d(100%,0,0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%,0,0) skewX(30deg);
        transform: translate3d(100%,0,0) skewX(30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%,0,0) skewX(30deg);
        transform: translate3d(100%,0,0) skewX(30deg);
        opacity: 0;
    }
}

.lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0,0,1,-200deg);
        transform: rotate3d(0,0,1,-200deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

@keyframes rotateIn {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0,0,1,-200deg);
        transform: rotate3d(0,0,1,-200deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

.rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

@keyframes rotateInDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

.rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

@keyframes rotateInDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

.rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

@keyframes rotateInUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

.rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,-90deg);
        transform: rotate3d(0,0,1,-90deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

@keyframes rotateInUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,-90deg);
        transform: rotate3d(0,0,1,-90deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        opacity: 1;
    }
}

.rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0,0,1,200deg);
        transform: rotate3d(0,0,1,200deg);
        opacity: 0;
    }
}

@keyframes rotateOut {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0,0,1,200deg);
        transform: rotate3d(0,0,1,200deg);
        opacity: 0;
    }
}

.rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,45deg);
        transform: rotate3d(0,0,1,45deg);
        opacity: 0;
    }
}

.rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }
}

.rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0,0,1,-45deg);
        transform: rotate3d(0,0,1,-45deg);
        opacity: 0;
    }
}

.rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,90deg);
        transform: rotate3d(0,0,1,90deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0,0,1,90deg);
        transform: rotate3d(0,0,1,90deg);
        opacity: 0;
    }
}

.rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0,0,1,80deg);
        transform: rotate3d(0,0,1,80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0,0,1,60deg);
        transform: rotate3d(0,0,1,60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0,700px,0);
        transform: translate3d(0,700px,0);
        opacity: 0;
    }
}

@keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0,0,1,80deg);
        transform: rotate3d(0,0,1,80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0,0,1,60deg);
        transform: rotate3d(0,0,1,60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0,700px,0);
        transform: translate3d(0,700px,0);
        opacity: 0;
    }
}

.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: hinge;
    animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.jackInTheBox {
    -webkit-animation-name: jackInTheBox;
    animation-name: jackInTheBox;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
        transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
        transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0) rotate3d(0,0,1,120deg);
        transform: translate3d(100%,0,0) rotate3d(0,0,1,120deg);
    }
}

@keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0) rotate3d(0,0,1,120deg);
        transform: translate3d(100%,0,0) rotate3d(0,0,1,120deg);
    }
}

.rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    50% {
        opacity: 1;
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(10px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(10px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(10px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(10px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    to {
        opacity: 0;
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3,0.3,0.3);
        transform: scale3d(0.3,0.3,0.3);
    }

    to {
        opacity: 0;
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(42px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(42px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px,0,0);
        transform: scale(0.1) translate3d(-2000px,0,0);
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(42px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(42px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px,0,0);
        transform: scale(0.1) translate3d(-2000px,0,0);
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
}

.zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(-42px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(-42px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px,0,0);
        transform: scale(0.1) translate3d(2000px,0,0);
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(-42px,0,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(-42px,0,0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px,0,0);
        transform: scale(0.1) translate3d(2000px,0,0);
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
}

.zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        transform: scale3d(0.475,0.475,0.475) translate3d(0,60px,0);
        -webkit-animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
        animation-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);
        transform: scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
        animation-timing-function: cubic-bezier(0.175,0.885,0.32,1);
    }
}

.zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }
}

@keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0);
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }
}

@keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

@keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }
}

@keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

    .animated.infinite {
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    }

    .animated.delay-1s {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
    }

    .animated.delay-2s {
        -webkit-animation-delay: 2s;
        animation-delay: 2s;
    }

    .animated.delay-3s {
        -webkit-animation-delay: 3s;
        animation-delay: 3s;
    }

    .animated.delay-4s {
        -webkit-animation-delay: 4s;
        animation-delay: 4s;
    }

    .animated.delay-5s {
        -webkit-animation-delay: 5s;
        animation-delay: 5s;
    }

    .animated.delay-6s {
        -webkit-animation-delay: 6s;
        animation-delay: 6s;
    }

    .animated.delay-7s {
        -webkit-animation-delay: 7s;
        animation-delay: 7s;
    }

    .animated.delay-1s-fast {
        -webkit-animation-delay: .25s;
        animation-delay: .25s;
    }

    .animated.delay-2s-fast {
        -webkit-animation-delay: .5s;
        animation-delay: .5s;
    }

    .animated.delay-3s-fast {
        -webkit-animation-delay: .75s;
        animation-delay: .75s;
    }

    .animated.delay-4s-fast {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
    }

    .animated.delay-5s-fast {
        -webkit-animation-delay: 1.25s;
        animation-delay: 1.25s;
    }

    .animated.delay-6s-fast {
        -webkit-animation-delay: 31.5s;
        animation-delay: 1.5s;
    }

    .animated.delay-7s-fast {
        -webkit-animation-delay: 1.75s;
        animation-delay: 1.75s;
    }

    .animated.fast {
        -webkit-animation-duration: 800ms;
        animation-duration: 800ms;
    }

    .animated.faster {
        -webkit-animation-duration: 500ms;
        animation-duration: 500ms;
    }

    .animated.medium {
        -webkit-animation-duration: 1.5s;
        animation-duration: 1.5s;
    }

    .animated.slow {
        -webkit-animation-duration: 2s;
        animation-duration: 2s;
    }

    .animated.slower {
        -webkit-animation-duration: 3s;
        animation-duration: 3s;
    }

@media (print),(prefers-reduced-motion:reduce) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }
}
