
/* Source: https://marieangegoyard-artistepeintre.fr/wp-content/themes/art-and-craft/style.css?ver=6.9 */
/*
Theme Name: Art And Craft
Theme URI: https://www.ovationthemes.com/products/free-craft-wordpress-theme
Author: pewilliams
Author URI: https://www.ovationthemes.com/
Description: The Art and Craft Theme is a versatile, visually striking, and fully responsive solution designed for artists, crafters, and creative professionals, ideal for showcasing painting, sculpture, pottery, knitting, woodworking, textile crafts, handmade artistry, craft tutorials, art workshops, galleries, and craft studios. Perfect for promoting art classes, exhibitions, creative portfolios, handmade gifts, and craft events, the theme features elegant layouts, galleries, sliders, event calendars, and customizable sections to highlight unique creations and services. With social media integration, SEO-friendly coding, and fast-loading performance, it helps artisans and craft businesses enhance online visibility and reach a wider audience. Built for flexibility, it supports plugins like WooCommerce for selling art products, handmade crafts, or digital tutorials, while providing easy customization of colors, typography, and layouts to reflect your personal or business style. Whether you’re an independent artist, a creative studio, or a craft entrepreneur, the Art and Craft Theme provides a professional, feature-rich platform to showcase creativity, connect with clients, and grow your online presence.Demo:https://trial.ovationthemes.com/art-and-craft/
Requires at least: 6.1
Tested up to: 6.9
Requires PHP: 5.6
Version: 2.7
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain: art-and-craft
Tags: blog, photography, e-commerce, one-column, two-columns, custom-colors, custom-menu, custom-logo, sticky-post, threaded-comments, right-sidebar, left-sidebar, grid-layout, custom-background, rtl-language-support, featured-images, wide-blocks, editor-style, full-site-editing, block-patterns, block-styles, template-editing, translation-ready

Art And Craft WordPress Theme, Copyright 2025 pewilliams
Art And Craft is distributed under the terms of the GNU GPL

*/

a{
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
a:focus,
button:focus{
    outline: 1px solid black;
}
.wp-block-woocommerce-customer-account a{
    border: 1px solid transparent;
}
.wp-block-woocommerce-customer-account a:focus{
    border: 1px solid black;
}
.wp-block-navigation ul li a:focus,
.header-search-wrap .wc-block-product-categories__button{
    outline: none;
}
/*navigation css*/
@media screen and (min-width:1000px){
    .wp-block-navigation ul li a{
        position: relative;
    }
    .wp-block-navigation ul li a:hover,
    .wp-block-navigation ul li a:focus,
    .wp-block-navigation .current-menu-item a,
    .wp-block-navigation ul ul li a:hover,
    .wp-block-navigation ul ul li a:focus,
    .wp-block-navigation__submenu-container .current-menu-item a{
        color: var(--wp--preset--color--primary) !important;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container{  
        border-top: 2px solid var(--wp--preset--color--primary);
        border-bottom: 2px solid var(--wp--preset--color--primary);
        box-shadow: 2px 2px 8px #cfc8d8;
    }
    .wp-block-navigation ul ul li a{
        border-bottom: 1px solid var(--wp--preset--color--border-color);
        color: var(--wp--preset--color--primary) !important;
    }
    .wp-block-navigation ul li:last-child a{
        border-bottom: none;
    }
    .wp-block-navigation ul ul li a:hover,
    .wp-block-navigation ul ul li a:focus,
    .wp-block-navigation__submenu-container .current-menu-item a{
        background-color: var(--wp--preset--color--primary-light) !important;
        
    }
}
.wp-block-navigation ul ul{
    padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    width: 100%;
    border: 1px solid var(--wp--preset--color--border-color);
    border-top-color: var(--wp--preset--color--primary);
    border-bottom-color: var(--wp--preset--color--primary);
}
.wp-block-navigation__responsive-container.is-menu-open li a,
.wp-block-navigation__responsive-container.is-menu-open li li a,
.wp-block-navigation__responsive-container.is-menu-open li li:last-child a{
    border-bottom: 1px solid var(--wp--preset--color--border-color);
}
.wp-block-navigation__responsive-container.is-menu-open li:last-child a{
    border-bottom: none;
}
.wp-block-navigation__responsive-container.is-menu-open li a:hover,
.wp-block-navigation__responsive-container.is-menu-open li a:focus,
.wp-block-navigation__responsive-container.is-menu-open li.current-menu-item a{
    background-color: var(--wp--preset--color--primary-light) !important;
    color: var(--wp--preset--color--primary) !important;
}
.wp-block-navigation .wp-block-navigation__submenu-icon{
    background: transparent;
}
@media screen and (max-width:999px) {
    .wp-block-navigation__responsive-container,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
        display: none;
    }

    .wp-block-navigation__responsive-container-close svg,
    .wp-block-navigation__responsive-container-open svg{
        width: 26px;
        height: 26px;
    }
    
    .wp-block-navigation__responsive-container-open svg{
        fill: var(--wp--preset--color--heading);
    }
    .wp-block-navigation__responsive-container-close svg{
        fill: var(--wp--preset--color--black);
    }

    .wp-block-navigation__responsive-container-close{
        top: 0;
        right: 20px;
    }

    .wp-block-navigation__responsive-container-open:not(.always-shown){
        display: block;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none; 
    }

    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        background-color: var(--wp--preset--color--white);
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        padding: 1.5em;
        padding-top: 2.5rem;
    }

    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
        width: 100%;
        gap: 0 !important;
        border-bottom: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
        width: 100%;
        gap: 0 !important;
        border: none !important;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
        width: calc( 100% - 48px );
        padding: 12px 24px 12px;
        line-height: 30px;
        text-align: left;
    }

    /*
    * Submenu Css
    */
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
        width: 100%;
        gap: 0;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a{
        gap: 3px;
        font-weight: 300 !important;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a:before {
        content: '--';
    }
}
.wp-block-image img{
    vertical-align: middle;
}

.pos-relative{
    position: relative;
}

form {
    position: relative;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    width: 100%;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid var(--wp--preset--color--border-color);
    outline: 0;
    resize: none;
    line-height: 20px;
    background: none;
    color: var(--wp--preset--color--foreground);
    font-weight: 400;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
select option{
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--foreground);
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none; /* hide the default arrow in ie10 and ie11 */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--primary);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
    border: none;
    outline: none;
    padding: 12px 20px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: var(--wp--preset--color--primary);
    border-radius: 0;
}
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    text-align: center;
    letter-spacing: 2px;
}

.wpcf7-form label {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 8px;
    color: var(--wp--preset--color--foreground);
    font-weight: 700;
}

.form-group {
    margin-bottom: 30px;
}

.form-group p{
    margin: 0;
}

.form-group.half {
    width: 48%;
    margin-right: 4%;
    float: left;
}

.form-group.half.last {
    margin-right: 0;
}

.form-group.third {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.form-group.third.last {
    margin-right: 0;
}
/*sidebar css*/
.sidebar-box,.inner-post-box{
    position: relative;
    box-shadow: 0px 4px 9px var(--wp--preset--color--sidebar-shadow-color);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.sidebar-box:hover{
    transform: translateY(-6px);
    box-shadow:0 18px 40px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(0, 0, 0, 0.20);
}
.sidebar-heading{
    display: table;
    position: absolute;
    left: 0;
    right: 0;
    top: -25px;
    width: auto;
}
.sidebar-post-title{
    margin-block-start: 10px;
    margin-block-end: 0;
}
.sidebar-box .wp-block-page-list  ul li{
    list-style: square;
}
.sidebar-box .wp-block-archives-list li ,
.sidebar-box .wp-block-categories-list li,
.sidebar-box .wp-block-page-list li{
    list-style: circle;

}
.sidebar-box .wp-block-archives-list li::marker,
.sidebar-box .wp-block-categories-list li::marker,
.sidebar-box .wp-block-page-list li::marker{
    color: var(--wp--preset--color--primary);
}
.sidebar-box .wp-block-archives-list,.sidebar-box .wp-block-categories-list{
    padding-left: 20px;
}
.sidebar-box ul li a{
    text-decoration: none;
}
.sidebar-box .wp-block-tag-cloud a{
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--black);
}
.sidebar-box .wp-block-tag-cloud a:hover{
    background: var(--wp--preset--color--background);
    color: var(--wp--preset--color--primary);
}
.sidebar-box ul li{
    transition: all .6s ease-in-out;
}
.sidebar-box ul li:hover{
    padding-left: 15px;
}
/*post css*/
.post-title{
    position: relative;
}
.post-title .wp-block-separator{
    width: 57px !important;
}
.post-title .wp-block-separator:after{
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: var(--wp--preset--color--primary);
    top: 0;
    bottom: 0;
    margin: auto;
}
.archieve-readmore .wp-block-separator{
    width: 20px !important;
}
/*comment*/
.wp-block-comments{
    padding: 20px;
    border: 1px solid var(--wp--preset--color--border-color);
}
.wp-block-comment-template li .wp-block-columns{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 20px;
}
.wp-block-avatar img{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 2px;
}
.wp-block-post-comments-form textarea{
    background: var(--wp--preset--color--section-bg);
}
.single-post .post-meta .wp-block-post-author{
    align-items: center;
}
.single-post .wp-block-comments .comment-respond .comment-form .comment-form-cookies-consent{
    align-items: flex-start;
}
.single-post .wp-block-post-featured-image img{
    height: 400px;
    width: 400px;
    object-fit: contain;
    transform: translateY(10px);
    transition: all 0.4s ease;
}
.single-post .wp-block-post-featured-image img:hover{
    transform: translateY(0px);
}
.single-post .related-post .wp-block-post-featured-image img{
    height: 200px;
    width: 100%;
}
/*pagination*/
.wp-block-query-pagination-numbers .page-numbers{
    padding: var(--wp--preset--spacing--20);
    line-height: 1;
    text-decoration: none;
    color:var(--wp--preset--color--primary);
}
.wp-block-query-pagination-numbers .page-numbers.current{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white) !important;
}
.wp-block-query-pagination-numbers .page-numbers:hover{
    color:var(--wp--preset--color--heading);
}
.wp-block-query-pagination-next, .wp-block-query-pagination-previous{
    background-color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--small);
    line-height: 1;
    padding: 10px;
    color: var(--wp--preset--color--white);
    text-decoration: none;
}
.wp-block-query-pagination-next:hover, .wp-block-query-pagination-previous:hover{
    color: var(--wp--preset--color--background);
    background-color: var(--wp--preset--color--heading);
}

/*woocommerce*/
.wp-block-group.woocommerce.product{
    margin-block-start: 0;
}
.wc-block-product,
.wc-block-grid__product,
.woocommerce .products li,
.wp-block-woocommerce-related-products li,
.products-block-post-template li {
    text-align: center;
    padding: 10px !important;
    background: var(--wp--preset--color--section-bg);
}
.wc-block-grid__product{
    margin: 0 10px;
}
a.wc-block-grid__product-link,.wc-block-grid__product-image,.wc-block-grid__products .wc-block-grid__product-image img {
    width: 100%;
}
.wc-block-components-product-rating__stars,.wc-block-grid__product-rating,.woocommerce .star-rating {
    margin: 0 auto 0.5em;
    color: #f4bc16;
}
.wc-block-components-product-rating__stars::before,.wc-block-grid__product-rating .star-rating:before{
    color: #cfc8d8;
}
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    padding: 0;
    border-radius: 0px;
    margin: 5px !important;
    min-height: 8px;
    line-height: 26px;
    min-width: 60px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address-title.title h2{
    font-size: 30px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address-title.title h2 + .edit{
    float: left;
    color: var(--wp--preset--color--secondary);
    font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address-title.title h2 + .edit:hover{
    color: var(--wp--preset--color--primary);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products{
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    justify-content: space-between;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products li{
    max-width: 100%;
    margin-bottom: 15px;
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--primary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}
nav.woocommerce-MyAccount-navigation ul li a{
    color: var(--wp--preset--color--white);
}
nav.woocommerce-MyAccount-navigation ul li:hover {
    background: var(--wp--preset--color--heading);
    border-color: var(--wp--preset--color--heading);
}
nav.woocommerce-MyAccount-navigation ul li:hover a,
nav.woocommerce-MyAccount-navigation ul li a:focus{
    color: var(--wp--preset--color--background);
    outline: none;
}
.woocommerce ul.products li.product .button{
    padding: var(--wp--preset--spacing--30);
    border-radius: 30px;
}
.woocommerce a.added_to_cart,
.added_to_cart.wc-forward,
.single-product .wp-block-woocommerce-store-notices .wc-forward{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    border-radius: 0;
    padding: var(--wp--preset--spacing--30);
    text-decoration: none;
    display: inline-block;
    margin-top: 0;
}
.single-product .wp-block-woocommerce-store-notices .wc-forward{
    background-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    padding: 10px !important;
    opacity: 1;
}
.single-product .wp-block-woocommerce-store-notices .wc-block-components-notice-banner,
.single-product .wp-block-woocommerce-store-notices .wc-block-components-notice-banner .wc-block-components-notice-banner__content{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.woocommerce a.added_to_cart:hover, .added_to_cart.wc-forward:hover{
    background-color: #222222;
    color: var(--wp--preset--color--white);
}
.added_to_cart.wc-forward{
    margin-left: 10px;
}
.wc-block-components-product-badge{
    box-shadow: 2px 2px 0 0 var(--wp--preset--color--heading);
    border-radius: 0 !important;
    border: solid 2px var(--wp--preset--color--heading) !important;
    padding: 5px 8px !important;
}
.wc-block-grid__product .wc-block-grid__product-title,.wc-block-components-product-name,h2.woocommerce-loop-product__title,.woocommerce-Tabs-panel h2{
  font-size: 18px !important;
  font-weight: bold;
}
.woocommerce #review_form #respond textarea{
   background: var(--wp--preset--color--section-bg);
    border: 1px solid var(--wp--preset--color--border-color);
}
.woocommerce-Tabs-panel--reviews,.wc-block-checkout__form,.woocommerce-Tabs-panel--description{
    padding: 20px !important;
    border: 1px solid var(--wp--preset--color--border-color);
}
.wc-block-checkout__form, .wp-block-woocommerce-checkout-order-summary-block,.wc-block-checkout__actions_row a:hover{
    color: var(--wp--preset--color--heading);
}
.wc-block-components-sidebar-layout.wc-block-cart{
    padding-top: 30px;
}
.wc-block-cart{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 30px;
    border-radius: 10px;
    color: var(--wp--preset--color--heading);
}
.is-large.wc-block-cart .wc-block-cart-items td:after ,.is-large.wc-block-cart .wc-block-cart-items:after {
    border-color: transparent;
}
.wc-block-cart .wc-block-cart-items th,.wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title, .wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block, .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper{
    padding: 10px !important;
}
form.woocommerce-ordering select.orderby{
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}
.woocommerce-page .wp-block-breadcrumbs + .wp-block-query-title{
    display: none;
}
.wc-block-cart table.wc-block-cart-items{
    margin: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items,.wc-block-cart-items__header,.wp-block-woocommerce-checkout-order-summary-block,.wp-block-woocommerce-cart-order-summary-block,.woocommerce-Tabs-panel--description,.is-large.wc-block-cart .wc-block-cart-items{
    border: 1px solid var(--wp--preset--color--border-color);
}
.wc-block-components-totals-wrapper:after{
    border-color:  var(--wp--preset--color--border-color);
    opacity: 1 !important;
}
.wc-block-cart__submit-container a{
    margin-top: 15px;
}
.wc-block-checkout__actions_row a{
    color: var(--wp--preset--color--primary);
}
.wc-block-checkout__actions_row a:hover{
    color: var(--wp--preset--color--heading);
}
.wp-block-woocommerce-cart.alignwide, .wp-block-woocommerce-checkout.alignwide.wc-block-checkout {
    margin-right: auto !important;
    margin-left: auto !important;
}
.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 0 !important;
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover {
    background: transparent;
}
@media screen and (max-width:999px){
    .woocommerce-page.search .wp-block-woocommerce-product-template,
    .woocommerce-page .products-block-post-template,
    .wp-block-woocommerce-related-products .wp-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .woocommerce-page .wp-block-query-title{
        font-size: 30px !important;
    }
    .wc-block-components-totals-wrapper{
        padding: 16px 22px;
    }
    .wc-block-cart{
        padding: 0;
        border: none;
    }
    .wc-block-components-sidebar-layout.wc-block-cart{
        padding-top: 0;
    }
}
@media screen and (max-width:600px){
    .woocommerce-page.search .wp-block-woocommerce-product-template,
    .woocommerce-page .products-block-post-template,
    .wp-block-woocommerce-related-products .wp-block-post-template{
        grid-template-columns: 1fr !important;
    }
    .single-product .wp-block-woocommerce-product-meta .wp-block-group{
        display: block !important;
    }
    .woocommerce-page .wp-block-query-title{
        font-size: 25px !important;
    }
    .wp-block-woocommerce-cart:where(:not(.alignleft):not(.alignright):not(.alignfull)){
        max-width: 90% !important;
    }
}
/* scroll top */
p.scroll-top {
    position: absolute;
}
.scroll-top::before{
    font-size: 20px;
    cursor: pointer;
    background: var(--wp--preset--color--primary); 
    color: var(--wp--preset--color--white);
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: '\f135'; 
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    transform: rotate(-45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    z-index: 99;
    transition: all .5s ease-in-out;
}
.scroll-top:hover::before{
    margin-bottom: 10px;
}
/* --- Block Media Quries
-------------------------------------------------------- */
/* --- > Media Queries
-------------------------------------------------------- */
/* --- > 781px
-------------------------------------------------------- */
@media screen and (max-width:999px) {
    .latest-news .wp-block-post-template,
    .post-grid-layout.wp-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .inner-cover-img h2,.without-cover-img h2{
        font-size: 30px !important;
    }
}
@media screen and (max-width: 999px) and (min-width: 782px){
    .page-template-blog-right-sidebar .wp-block-post-template,
    .page-template-blog-left-sidebar .wp-block-post-template{
        grid-template-columns: 1fr !important;
    }
    .sidebar-col,.post-col{
        flex-basis: 50% !important;
    }
    .page-sidebar-col{
        flex-basis: 40% !important;
    }
    .page-text-col{
        flex-basis: 60% !important;
    }
}
@media screen and (max-width:781px){
    .post-title .wp-block-separator{
        width: 30px !important;
    }
    .post-title h4{
        font-size: 21px;
    }
    .archieve-meta time ,.archieve-meta .wp-block-post-author-name{
        font-size: 13px !important;
    }
    .search-no-results .wp-block-query-no-results, .single-post .wp-block-cover.inner-cover-img + .wp-block-group > .wp-block-group.alignwide > .wp-block-columns .wp-block-column:first-child{
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 991px) and (min-width: 768px){
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products{
        grid-template-columns: 50% 50%;
    }
}
@media screen and (max-width:767px){
    .woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products{
        grid-template-columns: 100%;
    }
    .post-grid-layout.wp-block-post-template,
    .page-template-blog-right-sidebar .wp-block-post-template,
    .page-template-blog-left-sidebar .wp-block-post-template,
    .latest-news .wp-block-post-template,
    .search-results .wp-block-post-template{
        display: block !important;
    }
    .post-grid-layout.wp-block-post-template li,
    .page-template-blog-right-sidebar .wp-block-post-template li,
    .page-template-blog-left-sidebar .wp-block-post-template li,
    .latest-news .wp-block-post-template li,
    .search-results .wp-block-post-template li{
        margin-bottom: 30px;
    }
    .post-grid-layout.wp-block-post-template li:last-child,
    .page-template-blog-right-sidebar .wp-block-post-template li:last-child,
    .page-template-blog-left-sidebar .wp-block-post-template li:last-child,
    .latest-news .wp-block-post-template li:last-child,
    .search-results .wp-block-post-template li:last-child{
        margin-bottom: 0;
    }
    .inner-cover-img h2,.without-cover-img h2{
        font-size: 25px !important;
        text-align: center !important;
    }
    .error-heading{
        font-size: 110px !important;
    }
}
/*homepage*/
.header-search-wrap .wp-block-search__inside-wrapper{
    padding: 0;
    border: none;
}
.header-search-wrap .wp-block-search__input{
    padding: 0;
    border: none;
}
.header-search-wrap .wp-block-search__input::placeholder{
    color: #222222;
    font-size: 15px;
}
.header-search-wrap .wp-block-search__input{
    font-size: 15px;
}
.header-search-wrap .wp-block-search__button{
    padding: 0;
    margin-left: 0;
    background: transparent !important;
}
.header-search-wrap .wp-block-search__button svg{
    rotate: 270deg;
}
.header-search-wrap .wc-block-product-categories__button{
    padding: 0;
    background: transparent !important;
}
.header-search-wrap select{
    margin-right: 0 !important;
    padding: 10px 0 !important;
    border: none;
    color: #fff !important;
    font-weight: 500;
    font-size: 14px;
}
.header-search-wrap select:hover,
.header-search-wrap select:focus,
.header-search-wrap .wc-block-product-categories__button:hover svg,
.header-search-wrap .wc-block-product-categories__button:focus svg{
    color: #000 !important;
}
.header-search-wrap select option{
    background: #fff !important;
    color: #000 !important;
}
.header-search-wrap .wc-block-product-categories__button svg{
    rotate: 90deg;
    height: 10px !important;
    width: 10px !important;
    color: #fff !important;
    margin-top: 4px;
}
/*header icons*/
.cart-box .wc-block-mini-cart__button{
    padding: 0 !important;
    position: relative;
    padding-right: 57px !important;
}
.cart-box .wc-block-mini-cart__button:after{
    position: absolute;
    bottom: 0;
    content: 'My Cart';
    font-size: 14px;
    font-weight: 600;
    color: var(--wp--preset--color--heading);
    right: 0;
}
.cart-box .wc-block-mini-cart__icon {
    height: 40px !important;
    width: 40px !important;
}
.cart-box .wc-block-mini-cart__badge{
    font-size: 10px !important;
    margin-left: 2px !important;
}
.cart-box .wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon{
    padding: 0 !important;
}
.cart-box .wlfmc-counter-wrapper {
    width: auto !important;
}
.cart-box .wlfmc-counter-icon i{
    font-size: 35px !important;
}
.cart-box .wlfmc-counter-wrapper .wlfmc-counter-icon .wlfmc-counter-number{
    right: -18px !important;
    left: auto !important;
    top: calc(50% - 15px) !important;
    min-width: 14px !important;
    height: 14px !important;
    line-height: 14px !important;
    color: var(--wp--preset--color--background) !important;
}
.cart-box .wlfmc-counter-wrapper .wlfmc-counter{
    -webkit-box-align: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
    border: 1px solid transparent;
}
.cart-box .wlfmc-counter-text{
    font-size: 14px !important;
}
.cart-box .wlfmc-counter-wrapper .wlfmc-counter:focus{
    border: 1px solid black;
    outline: none;
}
.cart-box .wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon{
    height: 35px !important;
    min-height: 35px !important;
    min-width: 35px !important;
    width: 35px !important;
}
/*banner*/
.banner-shot-heading,.sec-shot-heading{
    display: inline-block;
}
/*offer section*/
.sec-head{
    text-align: center;
}
.product-img-wrap{
    position: relative;
}
.offer-zone .wc-block-product{
    background: transparent;
    text-align: left;
    padding: 0 !important;
}
.offer-zone .wc-block-components-product-image img{
    border: none !important;
}
.offer-zone .cart-btn{
    position: absolute;
    right: 12px;
    bottom: -16px;
    margin-top: 0;
}
.offer-zone .add_to_cart_button{
    padding: 5px 8px !important;
    border-radius: 8px;
    box-shadow: -9px 9px 12px 0px var(--wp--preset--color--primary-light);
}
.offer-zone .add_to_cart_button span{
    font-size: 0 !important;
}
.offer-zone .add_to_cart_button:before {
    content: "\f07a";
    font-size: 17px;
    font-family: 'fontawesome';
    color: #fff;
}
.offer-zone a.added_to_cart.wc_forward{
    margin-top: 0 !important;
    font-size: 0 !important;
    text-decoration: none;
    padding: 5px 8px !important;
    border-radius: 8px;
    box-shadow: -9px 9px 12px 0px var(--wp--preset--color--primary-light);
    background: var(--wp--preset--color--primary);
    line-height: 1.3;
}
.offer-zone a.added_to_cart.wc_forward:before {
    content: "\f06e";
    font-size: 17px;
    font-family: 'fontawesome';
    color: #fff;
}
.offer-zone a.added_to_cart.wc_forward:hover,
.offer-zone a.added_to_cart.wc_forward:focus{
    background-color: var(--wp--preset--color--heading);
    color: var(--wp--preset--color--background);
}
.offer-zone .wc-block-components-product-price del{
    color: #B7BECA !important;
}
.offer-zone .taxonomy-product_cat a{
    text-decoration: none;
}
/*product static*/
.offer-zone .main-img img{
    width: 100%;
    transition: transform 0.4s ease;
}
.offer-zone .main-img:hover img{
    transform: scale(0.9);
}
.cart-btn-static{
    position: absolute;
    right: 12px;
    bottom: -16px;
    display: inline-block;
    box-shadow: -9px 9px 12px 0px var(--wp--preset--color--primary-light);
}
.products-wrap p span{
    text-decoration: line-through;
    color: #B7BECA !important;
}
/*footer*/
.footer-li{
    padding-left: 20px !important;
}
.footer-li li{
    margin-bottom: 20px;
}
.footer-li li:last-child{
    margin-bottom: 0;
}
.footer-li li a{
    text-decoration: none;
}
.payment-box{
    text-align: center;
    position: relative;
    z-index: 2;
}
.payment-box-inner{
    width: 45%;
    margin: auto;
}
.footer-search .wp-block-search__inside-wrapper{
    display: block !important;
}
.footer-search .wp-block-search__button{
    margin-left: 0 !important;
    margin-top: 18px;
    padding: 10px 20px;
    width: 50%;
}
.footer-search .wp-block-search__input{
    border: 1px solid #76AEFF;
    background: #fff;
    padding: 15px;
}
.footer-search .wp-block-search__input::placeholder{
    color: #A2A9B0;  
}
.footer-widgets .wp-block-social-link a:hover,
.footer-widgets .wp-block-social-link a:focus{
    background: var(--wp--preset--color--primary) !important;
    border-radius: 50%;
    outline: none;
}
.footer-li li a:hover,.footer-li li a:focus{
    color: var(--wp--preset--color--primary) !important;
    outline: none;
}
/*media*/
@media screen and (max-width:1599px){
    .payment-box-inner{
        width: 55%;
    }
    .banner-image-cover{
        min-height: 500px !important;
    }
}
@media screen and (max-width:1399px){
    .product-cat-box{
        flex-basis: 40% !important;
    }
    .product-search-box{
        flex-basis: 60% !important;
    }
    .banner-image-cover{
        min-height: 450px !important;
    }
    .header-search-wrap .wp-block-search__input::placeholder,
    .header-search-wrap .wp-block-search__input,
    .header-search-wrap select {
        font-size: 12px;
    }
}
@media screen and (max-width:1299px){
    .cart-box .wc-block-mini-cart__button {
        padding-right: 41px !important;
    }
    .cart-box .wlfmc-counter-text {
        font-size: 10px !important;
    }
    .cart-box .wc-block-mini-cart__button:after{
        font-size: 10px;
    }
    .top-header p{
        font-size: 13px !important;
    }
    .banner-image-cover h2{
        font-size: 35px !important;
    }
    .payment-box-inner{
        width: 70%;
    }
    .header-search-wrap .wp-block-search__input::placeholder,
    .header-search-wrap .wp-block-search__input,
    .header-search-wrap select {
        font-size: 11px;
    }
    .header-search-wrap .wc-block-product-categories__button svg{
        margin-top: 0;
    }
    .cart-box .wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon{
        height: 25px !important;
        min-height: 25px !important;
        min-width: 25px !important;
        width: 25px !important;
    }
    .cart-box .wc-block-mini-cart__icon {
        height: 38px !important;
        width: 38px !important;
    }
    .cart-box .wlfmc-counter-icon i {
        font-size: 30px !important;
    }
}
@media screen and (max-width:1199px){
    .banner-image-cover h2 {
        font-size: 33px !important;
    }
    .products-wrap h3,.offer-zone .wc-block-product h3{
        font-size: 16px !important;
    }
    .products-wrap p,.offer-zone .wc-block-product .wc-block-components-product-price,
    .footer-widgets .footer-li li{
        font-size: 14px !important;
    }
    .footer-widgets h5{
        font-size: 18px !important;
    }
}
@media screen and (max-width:1199px) and (min-width:1000px){
    .cart-box .wlfmc-counter-text,
    .cart-box .wc-block-mini-cart__button:after {
        display: none;
    }
    .cart-box .wc-block-mini-cart__button{
        padding-right: 0 !important;
    }
    .cart-box .wc-block-mini-cart__badge {
        margin-left: -44% !important;
    }
    .cart-box .wlfmc-counter-wrapper .wlfmc-counter-icon .wlfmc-counter-number{
        right: -10px !important;
    }
    .cart-box .wlfmc-counter-icon i {
        font-size: 20px !important;
    }
    .cart-box .wc-block-mini-cart__icon {
        height: 30px !important;
        width: 30px !important;
    }
    .cart-box .wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon{
        height: 20px !important;
        min-height: 20px !important;
        min-width: 20px !important;
        width: 20px !important;
    }
    .cart-box{
        gap: var(--wp--preset--spacing--40) !important;
    }
    .header-cart-block{
        flex-basis: 15% !important;
    }
    .header-search-wrap{
        flex-basis: 30% !important;
    }
}
@media screen and (max-width:999px){
    .logo-block{
        flex-basis: 20% !important;
    }
    .header-search-wrap{
        flex-basis: 40% !important;
    }
    .header-cart-block{
        flex-basis: 30% !important;
    }
    .nav-block{
        flex-basis: 10% !important;
    }
    .nav-block nav{
        justify-content: center !important;
    }
}
@media screen and (max-width:991px){
    .top-header .wp-block-columns,
    .products-wrap,.footer-widgets{
        flex-wrap: wrap !important;
    }
    .offer-zone .wc-block-product-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .text-block{
        flex-basis: 100% !important;
        order: 1;
    }
    .call-block{
        flex-basis: 49% !important;
        order: 2;
    }
    .mail-block{
        flex-basis: 49% !important;
        order: 3;
    }
    .top-header .is-layout-flex{
        justify-content: center !important;
    }
    .cart-box .wlfmc-counter-text,
    .cart-box .wc-block-mini-cart__button:after {
        display: none;
    }
    .cart-box .wc-block-mini-cart__button{
        padding-right: 0 !important;
    }
    .cart-box .wc-block-mini-cart__badge {
        margin-left: -44% !important;
    }
    .cart-box .wlfmc-counter-wrapper .wlfmc-counter-icon .wlfmc-counter-number{
        right: -10px !important;
    }
    .cart-box .wlfmc-counter-icon i {
        font-size: 20px !important;
    }
    .cart-box .wc-block-mini-cart__icon {
        height: 30px !important;
        width: 30px !important;
    }
    .cart-box .wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon{
        height: 20px !important;
        min-height: 20px !important;
        min-width: 20px !important;
        width: 20px !important;
    }
    .cart-box{
        gap: var(--wp--preset--spacing--40) !important;
    }
    .header-search-wrap{
        flex-basis: 50% !important;
    }
    .header-cart-block{
        flex-basis: 20% !important;
    }
    .products-wrap .wp-block-column{
        flex-basis: 45% !important;
    }
    .banner-content-box{
        flex-basis: 60% !important;
    }
    .banner-image-cover {
        min-height: 360px !important;
    }
    .footer-widgets .wp-block-column{
        flex-basis: 45% !important;
    }
    .payment-box-inner {
        width: 100%;
    }
}
@media screen and (max-width:781px){
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.call-block,
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.mail-block,
    .footer-widgets.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,
    .products-wrap.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 45% !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.product-cat-box,
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.product-search-box{
        flex-basis: 40% !important;
    }
    .logo-block .is-layout-flex{
        justify-content: center;
        text-align: center;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.header-search-wrap{
        flex-basis: 80% !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.nav-block{
        flex-basis: 10% !important;
    }
    .cart-box,.payment-box-inner .is-layout-flex{
        justify-content: center !important;
    }
    .payment-icons{
        margin-bottom: 5px !important;  
    }
    .payment-icons-outer{
        margin-top: 5px !important;
    }
    .payment-box-inner{
        width: 65%;
    }
}
@media screen and (max-width:575px){
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.call-block,
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.mail-block,
    .footer-widgets.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,
    .products-wrap.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 100% !important;
    }
    .banner-content-box,.footer-widgets{
        text-align: center;
    }
    .banner-image-cover h2 {
        font-size: 25px !important;
    }
    .sec-head h2{
        font-size: 22px !important;
    }
    .banner-image-cover .wp-block-buttons,.footer-widgets .is-layout-flex{
        justify-content: center;
    }
    .offer-zone .wc-block-product-template{
        grid-template-columns: 1fr !important;
    }
    .footer-li{
        padding-left: 0 !important;
    }
    .footer-widgets li{
        list-style-type: none;
    }
    .payment-box-inner {
        width: 100%;
    }
    .payment-box-inner .is-layout-flex p{
        font-size: 10px;
    }
}

/*testimonial*/
.tstimonial-box{
    width: 100% !important;
    transition: 0.5s;
    border: 1px solid var(--wp--preset--color--primary);
    border-style: solid;
    border-radius: 20px;
}
.testimonail-main-img img{
    border-radius: 50%;
    border: 2px solid transparent;
    transition: 0.5s;
    width: 60px;
    height: 60px;
}
.tstimonial-box h6,.tstimonial-box p{
    transition: 0.5s;
}
.tstimonial-box:hover {
    transition: 0.5s;
}
.tstimonial-box:hover .testimonail-main-img img{
    border: 2px solid var(--wp--preset--color--primary);
}
.tstimonial-box:hover h6{
    color: var(--wp--preset--color--primary) !important;
}
/*testimnail swiper css start*/
.wp-block-group.art-and-craft-testimonial-swiper {
  overflow: hidden;
  position: relative;
}
.wp-block-group.art-and-craft-testimonial-swiper .swiper-wrapper{
    gap: 30px;
}
.art-and-craft-testimonial-swiper .swiper-slide {
  display: flex;
  margin-block-start: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.wp-block-group.art-and-craft-testimonial-swiper-controls {
  position: unset;
}
.art-and-craft-testimonial-swiper-controls .art-and-craft-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 100%;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0 !important;
}
.art-and-craft-testimonial-swiper-controls .art-and-craft-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: var(--wp--preset--color--foreground);
}
.art-and-craft-testimonial-swiper-controls .art-and-craft-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--wp--preset--color--primary);
}
.art-and-craft-testimonial-swiper-controls .swiper-button-prev.art-and-craft-testimonial-swiper-button-prev,
.art-and-craft-testimonial-swiper-controls .swiper-button-next.art-and-craft-testimonial-swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--primary);
  transition: all ease 0.23s;
  opacity: 0 !important;
  top: 50%;
  margin: -20px 0 0 0;
}
.art-and-craft-testimonial-swiper-controls .swiper-button-prev.art-and-craft-testimonial-swiper-button-prev{
    left: 0;
}
.art-and-craft-testimonial-swiper-controls .swiper-button-next.art-and-craft-testimonial-swiper-button-next{
    right: 0;
}
.art-and-craft-testimonial-swiper-controls .swiper-button-prev.art-and-craft-testimonial-swiper-button-prev:hover,
.art-and-craft-testimonial-swiper-controls .swiper-button-next.art-and-craft-testimonial-swiper-button-next:hover {
  background: transparent;
  color: var(--wp--preset--color--heading);
}
.art-and-craft-testimonial-swiper-controls .swiper-button-prev.art-and-craft-testimonial-swiper-button-prev:after,
.art-and-craft-testimonial-swiper-controls .swiper-button-next.art-and-craft-testimonial-swiper-button-next:after {
  font-size: 30px;
  font-weight: 900;
}
.art-and-craft-testimonial-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.wp-block-html {
  display: none;
}

.art-and-craft-testimonial-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.is-selected.wp-block-html {
  display: block !important;
}
/*testimonial swiper css end*/

/* Source: https://marieangegoyard-artistepeintre.fr/wp-content/themes/art-and-craft/assets/css/animate.css?ver=6.9 */
@charset "UTF-8";


.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.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -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(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .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(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .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 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(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .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(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .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: none;
    transform: none;
  }

  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: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  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: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  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: none;
    transform: none;
  }

  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 bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -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: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) 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(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) 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(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -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-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-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);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@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);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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-name: hinge;
  animation-name: hinge;
}

/* 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: none;
    transform: none;
  }
}

@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: none;
    transform: none;
  }
}

.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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.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(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.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(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 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;
}