/** SWITCH STYLES **/

/**  REMOVE DIVIDING SIDEBAR LINE **/
.ds_remove_line #main-content .container:before { width: 0; }

/** REMOVE THE MENU BOTTOM BORDER **/
.ds_remove_menu_line #main-header, .ds_remove_menu_line #main-header.et-fixed-header { -webkit-box-shadow:none !important; -moz-box-shadow:none !important; box-shadow:none !important; }

/** REPLACE THE TOGGLE ICON WITH A ROTATING ARROW **/
.ds_toggle_arrow .et_pb_toggle_open .et_pb_toggle_title:before { transform: rotate(180deg); content: "\33"; transition:all 0.5s ease-in-out 0s; }
 
.ds_toggle_arrow .et_pb_toggle_title:before { content: "\33"; font-size: 1.6em; transition:all 0.5s ease-in-out 0s; color:#179baf; }

/** MOBILE MENU ON DESKTOPS **/
@media only screen and (min-width: 980px) { .ds_mobile-desktop #et_mobile_nav_menu { display: block; } .ds_mobile-desktop #top-menu-nav { display: none; }}

.ds_mobile-desktop #main-header { position: absolute; }

.ds_mobile-desktop #main-header .et_menu_container { width: 100%; max-width: none; }

.ds_mobile-desktop .logo_container { padding-left: 30px; }

.ds_mobile-desktop #et-top-navigation { padding-right: 30px; } 

.ds_mobile-desktop .mobile_menu_bar { padding-bottom: 24px; z-index: 9999; }

/****************************** SECTION DIVIDERS ******************************************8/

/** SECTION DIVIDER - DOWN ARROW - ADD CLASS TO SECTION **/
.section_separators_down .ds_down_arrow_section:after { display: block; position: absolute; content: ''; width: 60px; height: 60px; bottom: -30px; margin-left: calc(50% - 30px); background-color: inherit;
-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); z-index: 10; }

/** SECTION DIVIDER - UP ARROW - ADD CLASS TO SECTION **/
.section_separators .ds_up_arrow_section:after { display: block; position: absolute; content: ''; width: 60px; height: 60px; top: -30px; margin-left: calc(50% - 30px); background-color: inherit;
-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); z-index: 10; }

/** SECTION DIVIDER - SLANTED BOTTOM **/
.section_separators_down .ds_slant_bottom:after { display: block; position: absolute; content: ''; bottom: -40px; width: calc(100% + 40px); height: 90px; right: -20px; background: inherit; z-index: 10; transform: rotate(1.2deg); }

.section_separators_down .ds_slant_bottom:before { display: block; position: absolute; content: ''; bottom: -50px; width: calc(100% + 40px); height: 50px; right: -20px; background: rgba(0, 0, 0, 0.1); z-index: 10; transform: rotate(0.8deg); }

/** SECTION DIVIDER - SLANTED TOP **/
.section_separators .ds_slant_top:after { display: block; position: absolute; content: ''; top: -40px; width: calc(100% + 40px); height: 90px; right: -20px; background: inherit; z-index: 10; transform: rotate(-1.2deg); }

.section_separators .ds_slant_top:before { display: block; position: absolute; content: ''; top: -50px; width: calc(100% + 40px); height: 50px; right: -20px; background: rgba(0, 0, 0, 0.1); z-index: 10; transform: rotate(-0.8deg); }

/** SECTION DIVIDER - UP CIRCLE - ADD CLASS TO SECTION **/
.section_separators .ds_up_circle_section:after { display: block; position: absolute; content: ''; width: 40px; border-radius: 20px; height: 40px; bottom: -20px; margin-left: calc(50% - 20px); background-color: inherit; z-index: 10; }

/** SECTION DIVIDER - DOWN CIRCLE - ADD CLASS TO SECTION **/
.section_separators_down .ds_down_circle_section:after { display: block; position: absolute; content: ''; width: 40px; border-radius: 20px; height: 40px; top: -20px; margin-left: calc(50% - 20px); background-color: inherit; z-index: 10; }

.section_separators #main-content, .section_separators_down #main-content { overflow: hidden; }

/**************** FILTERS ** ADD TO ANY SECTION OR MODULE TO APPLY. PARTICULARLY GOOD ON IMAGES *****************/

/** GRAYSCALE **/
.ds_filters .ds_grayscale { -webkit-filter: grayscale(1); filter: grayscale(1); }

/** SATURATE **/
.ds_filters .ds_saturate { -webkit-filter: saturate(1.8); filter: saturate(1.8); }

/** BLUR **/
.ds_filters .ds_blur { -webkit-filter: blur(5px); filter: blur(5px); }

/** INVERT **/
.ds_filters .ds_invert { -webkit-filter: invert(1); filter: invert(1); }

/** BRIGHTNESS - BRIGHT **/
.ds_filters .ds_brighter { filter: brightness(0.4); -webkit-filter: brightness(0.4); -moz-filter: brightness(0.4); }

/** SEPIA **/
.ds_filters .ds_sepia { filter: sepia(100%); -webkit-filter: sepia(100%); -moz-filter: sepia(100%); -ms-filter: sepia(100%); }

/**************** INSTAGRAM FILTERS ** ADD TO ANY SECTION OR MODULE TO APPLY. PARTICULARLY GOOD ON IMAGES *****************/

.ig_filters .xpro2 {
  -webkit-filter: contrast(1.3) brightness(0.8) sepia(0.3) saturate(1.5) hue-rotate(-20deg);
  filter: contrast(1.3) brightness(0.8) sepia(0.3) saturate(1.5) hue-rotate(-20deg);
}

.ig_filters .walden {
  -webkit-filter: sepia(0.35) contrast(0.9) brightness(1.1) hue-rotate(-10deg) saturate(1.5);
  filter: sepia(0.35) contrast(0.9) brightness(1.1) hue-rotate(-10deg) saturate(1.5);
}

.ig_filters .valencia {
  -webkit-filter: sepia(0.15) saturate(1.5) contrast(0.9);
  filter: sepia(0.15) saturate(1.5) contrast(0.9);
}

.ig_filters .toaster {
  -webkit-filter:sepia(0.4) saturate(2.5) hue-rotate(-30deg) contrast(0.67);
  -filter:sepia(0.4) saturate(2.5) hue-rotate(-30deg) contrast(0.67);
}

.ig_filters .sutro {
  -webkit-filter: brightness(0.75) contrast(1.3) sepia(0.5) hue-rotate(-25deg);
  filter: brightness(0.75) contrast(1.3) sepia(0.5) hue-rotate(-25deg);
}

.ig_filters .rise {
  -webkit-filter: saturate(1.4) sepia(0.25) hue-rotate(-15deg) contrast(0.8) brightness(1.1);
  filter: saturate(1.4) sepia(0.25) hue-rotate(-15deg) contrast(0.8) brightness(1.1);
}

.ig_filters .nashville {
  -webkit-filter: sepia(0.4) saturate(1.5) contrast(0.9) brightness(1.1) hue-rotate(-15deg);
  filter: sepia(0.4) saturate(1.5) contrast(0.9) brightness(1.1) hue-rotate(-15deg);
}

.ig_filters .mayfair {
  -webkit-filter: saturate(1.4) contrast(1.1);
  filter: saturate(1.4) contrast(1.1);
}

.ig_filters .kelvin {
  filter: sepia(0.4) saturate(2.4) brightness(1.3) contrast(1);
  -webkit-filter: sepia(0.4) saturate(2.4) brightness(1.3) contrast(1);
}

.ig_filters .hudson {
  -webkit-filter: contrast(1.2) brightness(0.9) hue-rotate(-10deg);
  filter: contrast(1.2) brightness(0.9) hue-rotate(-10deg);
}

.ig_filters .earlybird {
  -webkit-filter: sepia(0.4) saturate(1.6) contrast(1.1) brightness(0.9) hue-rotate(-10deg);
  filter: sepia(0.4) saturate(1.6) contrast(1.1) brightness(0.9) hue-rotate(-10deg);
}

.ig_filters .1977 {
  -webkit-filter: sepia(0.5) hue-rotate(-30deg) saturate(1.2) contrast(0.8);
  filter: sepia(0.5) hue-rotate(-30deg) saturate(1.2) contrast(0.8);
}

/****************************************************************************************************************/

 /** SIDE LOADING MOBILE MENU LIGHT **/
 
.ds_mobile_side_light #mobile_menu { display: block !important; min-height: 100vh; top: 0; border-top: none; padding-top: 80px; z-index: 9998; }

.ds_mobile_side_light .mobile_nav.closed #mobile_menu { transform: rotateY(90deg); -webkit-transform: rotateY(90deg); transform-origin: right; -webkit-transform-origin: right; background: #fff; transition: .8s ease-in-out !important; }

@media(max-width: 980px) { .ds_mobile_side_light .et_header_style_split .mobile_menu_bar, .et_header_style_left .mobile_menu_bar { z-index: 9999; }

.ds_mobile_side_light #main-header .container.clearfix.et_menu_container { width: 100%; }

.ds_mobile_side_light .logo_container { padding-left: 30px; }

.ds_mobile_side_light #et-top-navigation { padding-right: 30px; } }

@media(min-width: 341px) {

.ds_mobile_side_light #mobile_menu { width: 340px; margin-left: calc(100% - 340px); }

} 

@media(max-width: 340px) {

.ds_mobile_side_light #mobile_menu { width: 100%; margin-left: 0; }
}

/** SIDE LOADING MOBILE MENU DARK **/

.ds_mobile_side_dark #mobile_menu { display: block !important; min-height: 100vh; top: 0; border-top: none; padding-top: 80px; z-index: 9998; }

.ds_mobile_side_dark .mobile_nav.closed #mobile_menu { transform: rotateY(90deg); -webkit-transform: rotateY(90deg); transform-origin: right; -webkit-transform-origin: right; background: #010101; transition: .8s ease-in-out ; }

@media  (max-width: 980px) { .ds_mobile_side_dark .et_header_style_split .mobile_menu_bar, .et_header_style_left .mobile_menu_bar { z-index: 9999; }
  .ds_mobile_side_dark #main-header .container.clearfix.et_menu_container { width: 100%; }
  .ds_mobile_side_dark .logo_container { padding-left: 30px; }
  .ds_mobile_side_dark #et-top-navigation { padding-right: 30px; } }

@media  (min-width: 341px) { .ds_mobile_side_dark #mobile_menu { width: 340px; margin-left: calc(100% - 340px); } }

@media  (max-width: 340px) { .ds_mobile_side_dark #mobile_menu { width: 100%; margin-left: 0; } }

/************** MENU LINK TRANSFORMATIONS AND TRANSITIONS *****************/

/** FIRST LINK SLIDES IN FROM LEFT **/
.first_link_slide_left #main-header #et-top-navigation nav > ul > li:first-child > a { position: relative; right: 120px; transition: 1s ease all; opacity: 0; }

.first_link_slide_left #main-header.et-fixed-header #et-top-navigation nav > ul > li:first-child > a { right: 0; opacity: 1; }

/** LAST LINK SLIDES IN FROM RIGHT **/
.last_link_slide_right #main-header #et-top-navigation nav > ul > li:last-child > a { position: relative; left: 120px; transition: 1s ease all; opacity: 0; }

.last_link_slide_right #main-header.et-fixed-header #et-top-navigation nav > ul > li:last-child > a { left: 0; opacity: 1; }

/** SQUARE PORTFOLIO GRID IMAGES **/
.ds_square_portfolio .et_portfolio_image { padding-top: 100%; }
.ds_square_portfolio .et_portfolio_image img { position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; }

/** BOOK PORTFOLIO GRID IMAGES **/
.ds_book_portfolio .et_portfolio_image { padding-top: 150%; }
.ds_book_portfolio .et_portfolio_image img { position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; }

/** CINEMA PORTFOLIO GRID IMAGES **/
.ds_cinema_portfolio .et_portfolio_image { padding-top: 60%; }
.ds_cinema_portfolio .et_portfolio_image img { position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; }

/** CLEANER COMMENTS **/
.ds_clean_comments .comment_avatar img { border-radius: 4px; } 

@media (min-width: 768px) { /** The breakpoint for the comments form **/
 .ds_clean_comments:not(.logged-in) #comment { max-width: 50%; float: right; margin-top: -186px; height: 172px; } /** even form sections **/
 .ds_clean_comments .children .comment.depth-2 { margin-left: 30px;} /** offsets the first child, but no others **/
 .ds_clean_comments .comment .children { margin-left: 0px; } /** offsets the first child, but no others **/
 .ds_clean_comments .comment .children .comment_avatar img { max-width: 60px; } /** make reply avatars smaller **/
 .ds_clean_comments .comment .children .comment_avatar { margin-left: 20px; } /** keep reply avatars left **/}

@media (max-width: 767px) {
 .ds_clean_comments .comment-reply-link { bottom: -20px !important; top: auto !important; } /**keeps the button off of the text **/
 .ds_clean_comments .comment_area { padding-bottom: 40px; } /**keeps the button off of the text **/
 .ds_clean_comments .comment_avatar { max-width:50px } /** smaller avatar on mobile **/
 .ds_clean_comments .comment_postinfo, .comment-content.clearfix { margin-left: -30px; } /**smaller avatar keeps left **/ }

/** APP STYLE MOBILE MENU **/
@media  (max-width: 980px) { .ds-app-menu .container.et_menu_container { width: 100%; }
  .ds-app-menu #logo { padding-left: 30px; }
  .ds-app-menu .mobile_nav { padding-right: 30px; } }

/********************** BLURB IMAGE AND ICON TRANSITIONS ***********************/

/** GROW **/
.ds_blurb_grow .et_pb_main_blurb_image:hover { transform: scale(1.2); transition: .5s ease-in-out; }

/** ROTATE **/
.ds_blurb_spin .et_pb_main_blurb_image:hover { transform: rotateY(360deg); transition: .6s ease all; }

/******************* SLIDE TRANSITIONS DESCRIPTIONS********************************/
.ds_fade_left .et-pb-active-slide .et_pb_slide_description { animation-name: fadeInLeft; }
.ds_fade_right .et-pb-active-slide .et_pb_slide_description { animation-name: fadeInRight; }
.ds_flip_y .et-pb-active-slide .et_pb_slide_description { animation-name: flipInY; }
.ds_flip_x .et-pb-active-slide .et_pb_slide_description { animation-name: flipInX; }

/******************* SLIDE TRANSITIONS IMAGE & VIDEO ********************************/
.ds_slide_fade_left .et-pb-active-slide .et_pb_slide_image, .et-pb-active-slide .et_pb_slide_video { animation-name: fadeLeft; }
.ds_slide_fade_right .et-pb-active-slide .et_pb_slide_image, .et-pb-active-slide .et_pb_slide_video { animation-name: fadeInRight; }
.ds_slide_flip_y .et-pb-active-slide .et_pb_slide_image, .et-pb-active-slide .et_pb_slide_video { animation-name: flipInY; }
.ds_slide_flip_x .et-pb-active-slide .et_pb_slide_image, .et-pb-active-slide .et_pb_slide_video { animation-name: flipInX; }

/** REMOVE BULLET POINTS FROM FOOTER **/
.ds_footer_bullets #footer-widgets .footer-widget li:before {display: none!important;} 
.ds_footer_bullets #footer-widgets .footer-widget li {padding: 0 0 10px 0px;}

/** STOP GALLERY IMAGES OPENING IN LIGHTBOX **/
.ds_no_lightbox .et_pb_gallery_image a { pointer-events: none; cursor: default; }

/** LARGER EMAIL AND PHONE IN HEADER **/
.ds_larger_info #et-info { font-size: 120% } 

/** HIDE LOGO BEFORE SCROLL **/
.ds_logo_hide_after .et_fixed_nav #logo { display: none; }
.ds_logo_hide_after #main-header.et-fixed-header #logo { display:block; }

/** HIDE LOGO AFTER SCROLL **/
.ds_logo_hide .et_fixed_nav #logo { display: block; }
.ds_logo_hide #main-header.et-fixed-header #logo { display: none; }

/** REMOVE BLUE TOP LINE SUBMENUS **/
.ds_border_top .sub-menu { border-top: 0; }

/** FIXED HEADER ON MOBILE **/
@media (max-width: 980px) { .ds_fixed_mobile_header #main-header { position: fixed !important; width: 100%; }}

/** SQUARE BUTTONS **/
.ds_square_buttons .et_pb_promo_button, .ds_square_buttons .et_pb_newsletter_button, .ds_square_buttons a.et_pb_more_button, .ds_square_buttons .et_pb_pricing_table_button { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }

/** STYLE CF7 LIKE DIVI **/
.ds_style_cf7 .wpcf7-text, .ds_style_cf7 .wpcf7-textarea, .ds_style_cf7 .wpcf7-captchar {
background-color: #eee !important; border: none !important; width: 100% !important; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important;
border-radius: 0 !important; font-size: 14px; color: #999 !important; padding: 16px !important; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/** HIDE THE COUNTDOWN TIMER WHEN IT HITS ZERO **/
.ds_counter_hide .et_pb_countdown_timer .section.zero { display:none; }

/**PUSH FOOTER TO BOTTOM OF PAGE **/
.ds_footer_push #main-content { min-height: 100vh }

/** CENTER ALIGN TOP HEADER **/
.ds_center_top_header #et-info { float: none !important; text-align: center; }

/** HIDE BOTTOM FOOTER **/
.ds_footer_hide_option #footer-bottom { display: none; }

/** PROJECT OVERLAY ZOOM **/
.ds_overlay_zoom .et_overlay { -webkit-transform: scale(.9); -moz-transform: scale(.9); -o-transform: scale(.9); -ms-transform: scale(.9); transform: scale(.9); }
 
.ds_overlay_zoom .et_shop_image:hover .et_overlay, .ds_overlay_zoom .et_portfolio_image:hover .et_overlay { -webkit-transform: scale(1); -moz-transform: scale(1);
-o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }

/* Collapse Submenus */
.ds-sub-collapse #main-header .et_mobile_menu .menu-item-has-children > a { background-color: transparent; position: relative; }
.ds-sub-collapse #main-header .et_mobile_menu .menu-item-has-children > a:after { font-family: 'ETmodules'; text-align: center; speak: none; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; position: absolute; }
.ds-sub-collapse #main-header .et_mobile_menu .menu-item-has-children > a:after { font-size: 16px; content: '\3b'; top: 13px; right: 10px; }
.ds-sub-collapse #main-header .et_mobile_menu .menu-item-has-children.visible > a:after { content: '\3a'; }
.ds-sub-collapse #main-header .et_mobile_menu ul.sub-menu { display: none !important; visibility: hidden !important;  transition: all 1.5s ease-in-out;}
.ds-sub-collapse #main-header .et_mobile_menu .visible > ul.sub-menu { display: block !important; visibility: visible !important; }

/** PROJECT OVERLAY SLIDE UP **/
.ds_overlay_slide_up .et_overlay { top:30px; }
 
.ds_overlay_slide_up .et_shop_image:hover .et_overlay, .ds_overlay_slide_up .et_portfolio_image:hover .et_overlay{ top:0; }

/** PROJECT OVERLAY SPIN **/
.ds_overlay_spin .et_overlay { -webkit-transform:  scale(.6) rotate(-30deg); -moz-transform:     scale(.6) rotate(-30deg); -o-transform:       scale(.6) rotate(-30deg);
-ms-transform:      scale(.6) rotate(-30deg); transform:          scale(.6) rotate(-30deg); }
 
.ds_overlay_spin .et_shop_image:hover .et_overlay, .ds_overlay_spin .et_portfolio_image:hover .et_overlay{ -webkit-transform:  scale(1) rotate(0deg); -moz-transform:     scale(1) rotate(0deg);
-o-transform:       scale(1) rotate(0deg); -ms-transform:      scale(1) rotate(0deg); transform:          scale(1) rotate(0deg); }

/* Divi Switch Support for Hover.css Copyright Ian Lunn 2014. */

/* Grow */
.ds_animate .hover_grow {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.ds_animate .hover_grow:hover, .ds_animate .hover_grow:focus, .ds_animate .hover_grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Shrink */
.ds_animate .hover_shrink {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.ds_animate .hover_shrink:hover, .ds_animate .hover_shrink:focus, .ds_animate .hover_shrink:active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

/* Pulse */
@-webkit-keyframes hover_pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes hover_pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

.ds_animate .hover_pulse {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover_pulse:hover, .ds_animate .hover_pulse:focus, .ds_animate .hover_pulse:active {
  -webkit-animation-name: hover_pulse;
  animation-name: hover_pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Pulse Grow */
@-webkit-keyframes hover_pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes hover_pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.ds_animate .hover_pulse-grow {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover_pulse-grow:hover, .ds_animate .hover_pulse-grow:focus, .ds_animate .hover_pulse-grow:active {
  -webkit-animation-name: hover_pulse-grow;
  animation-name: hover_pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Pulse Shrink */
@-webkit-keyframes hover_pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes hover_pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

.ds_animate .hover_pulse-shrink {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover_pulse-shrink:hover, .ds_animate .hover_pulse-shrink:focus, .ds_animate .hover_pulse-shrink:active {
  -webkit-animation-name: hover_pulse-shrink;
  animation-name: hover_pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Push */
@-webkit-keyframes hover_push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes hover_push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.ds_animate .hover_push {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover_push:hover, .ds_animate .hover_push:focus, .ds_animate .hover_push:active {
  -webkit-animation-name: hover_push;
  animation-name: hover_push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Pop */
@-webkit-keyframes hover_pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes hover_pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.ds_animate .hover_pop {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover_pop:hover, .ds_animate .hover_pop:focus, .ds_animate .hover_pop:active {
  -webkit-animation-name: hover_pop;
  animation-name: hover_pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Bounce In */
.ds_animate .hover_bounce_in {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.ds_animate .hover_bounce_in:hover, .ds_animate .hover_bounce_in:focus, .ds_animate .hover_bounce_in:active {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.ds_animate .hover_bounce_out {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.ds_animate .hover_bounce_out:hover, .ds_animate .hover_bounce_out:focus, .ds_animate .hover_bounce_out:active {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Rotate */
.ds_animate .hover-rotate {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.ds_animate .hover-rotate:hover, .ds_animate .hover-rotate:focus, .ds_animate .hover-rotate:active {
  -webkit-transform: rotate(4deg);
  transform: rotate(4deg);
}

/* Grow Rotate */
.ds_animate .hover_grow-rotate {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.ds_animate .hover_grow-rotate:hover, .ds_animate .hover_grow-rotate:focus, .ds_animate .hover_grow-rotate:active {
  -webkit-transform: scale(1.1) rotate(4deg);
  transform: scale(1.1) rotate(4deg);
}

/* Float */
.ds_animate .hover-float {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.ds_animate .hover-float:hover, .ds_animate .hover-float:focus, .ds_animate .hover-float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

/* Sink */
.ds_animate .hover-sink {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.ds_animate .hover-sink:hover, .ds_animate .hover-sink:focus, .ds_animate .hover-sink:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

/* Bob */
@-webkit-keyframes hover-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes hover-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@-webkit-keyframes hover-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes hover-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

.ds_animate .hover-bob {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-bob:hover, .ds_animate .hover-bob:focus, .ds_animate .hover-bob:active {
  -webkit-animation-name: hover-bob-float, hover-bob;
  animation-name: hover-bob-float, hover-bob;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Hang */
@-webkit-keyframes hover-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@keyframes hover-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@-webkit-keyframes hover-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@keyframes hover-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

.ds_animate .hover-hang {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-hang:hover, .ds_animate .hover-hang:focus, .ds_animate .hover-hang:active {
  -webkit-animation-name: hover-hang-sink, hover-hang;
  animation-name: hover-hang-sink, hover-hang;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Skew */
.ds_animate .hover-skew {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.ds_animate .hover-skew:hover, .ds_animate .hover-skew:focus, .ds_animate .hover-skew:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Forward */
.ds_animate .hover-skew-forward {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.ds_animate .hover-skew-forward:hover, .ds_animate .hover-skew-forward:focus, .ds_animate .hover-skew-forward:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Backward */
.ds_animate .hover-skew-backward {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.ds_animate .hover-skew-backward:hover, .ds_animate .hover-skew-backward:focus, .ds_animate .hover-skew-backward:active {
  -webkit-transform: skew(10deg);
  transform: skew(10deg);
}

/* Wobble Vertical */
@-webkit-keyframes hover-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes hover-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.ds_animate .hover-wobble-vertical {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-wobble-vertical:hover, .ds_animate .hover-wobble-vertical:focus, .ds_animate .hover-wobble-vertical:active {
  -webkit-animation-name: hover-wobble-vertical;
  animation-name: hover-wobble-vertical;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Horizontal */
@-webkit-keyframes hover-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes hover-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.ds_animate .hover-wobble-horizontal {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-wobble-horizontal:hover, .ds_animate .hover-wobble-horizontal:focus, .ds_animate .hover-wobble-horizontal:active {
  -webkit-animation-name: hover-wobble-horizontal;
  animation-name: hover-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Bottom Right */
@-webkit-keyframes hover-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }

  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }

  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes hover-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }

  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }

  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.ds_animate .hover-wobble-to-bottom-right {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-wobble-to-bottom-right:hover, .ds_animate .hover-wobble-to-bottom-right:focus, .ds_animate .hover-wobble-to-bottom-right:active {
  -webkit-animation-name: hover-wobble-to-bottom-right;
  animation-name: hover-wobble-to-bottom-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Top Right */
@-webkit-keyframes hover-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }

  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }

  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes hover-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }

  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }

  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.ds_animate .hover-wobble-to-top-right {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-wobble-to-top-right:hover, .ds_animate .hover-wobble-to-top-right:focus, .ds_animate .hover-wobble-to-top-right:active {
  -webkit-animation-name: hover-wobble-to-top-right;
  animation-name: hover-wobble-to-top-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Top */
@-webkit-keyframes hover-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes hover-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.ds_animate .hover-wobble-top {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.ds_animate .hover-wobble-top:hover, .ds_animate .hover-wobble-top:focus, .ds_animate .hover-wobble-top:active {
  -webkit-animation-name: hover-wobble-top;
  animation-name: hover-wobble-top;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Bottom */
@-webkit-keyframes hover-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes hover-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.ds_animate .hover-wobble-bottom {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
.ds_animate .hover-wobble-bottom:hover, .ds_animate .hover-wobble-bottom:focus, .ds_animate .hover-wobble-bottom:active {
  -webkit-animation-name: hover-wobble-bottom;
  animation-name: hover-wobble-bottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Skew */
@-webkit-keyframes hover-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes hover-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.ds_animate .hover-wobble-skew {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-wobble-skew:hover, .ds_animate .hover-wobble-skew:focus, .ds_animate .hover-wobble-skew:active {
  -webkit-animation-name: hover-wobble-skew;
  animation-name: hover-wobble-skew;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Buzz */
@-webkit-keyframes hover-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}

@keyframes hover-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}

.ds_animate .hover-buzz {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-buzz:hover, .ds_animate .hover-buzz:focus, .ds_animate .hover-buzz:active {
  -webkit-animation-name: hover-buzz;
  animation-name: hover-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Buzz Out */
@-webkit-keyframes hover-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }

  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}

@keyframes hover-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }

  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}

.ds_animate .hover-buzz-out {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.ds_animate .hover-buzz-out:hover, .ds_animate .hover-buzz-out:focus, .ds_animate .hover-buzz-out:active {
  -webkit-animation-name: hover-buzz-out;
  animation-name: hover-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/********************************** END OF ANIMATIONS **************************/

/** remove sidebar on archive pages **/

.ds_clean_archive.archive #sidebar {
    display: none;
}

.ds_clean_archive.archive #left-area {
    width: 100%;
}

.ds_clean_archive #main-content .container:before {
width: 0;
}

/** TWO COLUMN ARCHIVE PAGES **/

.ds_two_columns.archive .et_pb_post {
    position: relative;
    display: inline-block;
    background: #fff;
    padding: 8px;
    -webkit-box-shadow: 0px 4px 10px -2px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 4px 10px -2px rgba(0,0,0,0.6);
    box-shadow: 0px 4px 10px -2px rgba(0,0,0,0.1);
}

@media  (min-width: 981px) {
  .ds_two_columns.archive .et_pb_post:nth-child(odd) {    
    width: 48%;    
    float: left;    
    margin-right: 4%;
  }
  .ds_two_columns.archive .et_pb_post:nth-child(even) {    
    width: 48%;    
    float: right;    
    margin-right: 0;
  }
}

@media  (max-width: 980px) {
  .ds_two_columns.archive .et_pb_post:nth-child(odd) {    
    width: 100%;    
    float: none;    
    margin-right: 0;
  }
  .ds_two_columns.archive .et_pb_post:nth-child(even) {    
    width: 100%;    
    float: none;    
    margin-right: 0;
  }
}

/** Select Page Styles ** light **/

.ds_select_page_dark .mobile_menu_bar:after {
    position: absolute;
    content: "Select page";
    text-align: left;
    width: 100%;
    left: 10px;
    top: 15px;
    color: #ffffff;
}

.ds_select_page_dark .mobile_menu_bar:before {
    color: #ffffff !important;
}

@-webkit-keyframes curtain {
  0% { -webkit-opacity: 1; opacity: 1; z-index: 999999;}
  60% { -webkit-opacity: 1; opacity: 1; z-index: 999999;}
  99% { -webkit-opacity: 0; opacity: 0; z-index: 999999;}
  100% { -webkit-opacity: 0; opacity: 0; z-index: -99 !important; }
}

@keyframes curtain {
  0% { opacity: 1; z-index: 999999;}
  60% { opacity: 1; z-index: 999999;}
  99% { opacity: 0; z-index: 999999;}
  100% { opacity: 0; z-index: -99 !important; }
}

@-webkit-keyframes wheel {
  0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); transform: rotate(0deg); z-index: 999999;}
  70% { -webkit-opacity: 1; opacity: 1; z-index: 999999;}
  99% { -webkit-transform: rotate(600deg); -moz-transform: rotate(600deg); transform: rotate(600deg); top: 45%;  z-index: 999999;}
  100% { -webkit-opacity: 0; z-index: -99 !important; }
}

@keyframes wheel {
  0% { -moz-transform: rotate(0deg); transform: rotate(0deg); z-index: 999999;}
  70% { opacity: 1; z-index: 999999;}
  99% { -moz-transform: rotate(600deg); transform: rotate(600deg); top: 45%; z-index: 999999; }
  100% { opacity: 0; z-index: -99 !important; }
}

/** ----- Square fullwidth portfolios ----- **/

@media (min-width: 1041px) {
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item { min-width: 25%; height: 25vw !important; }
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item img { max-width: 100%; object-fit: cover; } }

@media (min-width: 785px) and (max-width: 1040px) {
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item { height: 33vw !important; }
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item img { max-width: 100%; object-fit: cover; } }

@media (min-width: 497) and (max-width: 784px) {
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item { height: 50vw !important; }
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item img { max-width: 100%; object-fit: cover; } }

@media (max-width: 496px) {
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item { height: 100vw !important; }
 .full-width-square .et_pb_portfolio_item.et_pb_grid_item img { max-width: 100%; object-fit: cover; } }
 
.full-width-square .et_pb_fullwidth_portfolio .et_pb_portfolio_image:hover h3 {
 margin-top: 45%;
}

/** ---- Text Shadows ---- */

.dark-shadow-text .shad-dark p, .dark-shadow-text .shad-dark a, .dark-shadow-text .shad-dark h1, .dark-shadow-text .shad-dark h2, .dark-shadow-text .shad-dark h3, .dark-shadow-text .shad-dark h4, .dark-shadow-text .shad-dark h5, .dark-shadow-text .shad-dark h6 {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.light-shadow-text .shad-light p, .light-shadow-text .shad-light a, .light-shadow-text .shad-light h1, .light-shadow-text .shad-light h2, .light-shadow-text .shad-light h3, .light-shadow-text .shad-light h4, .light-shadow-text .shad-light h5, .light-shadow-text .shad-light h6 {
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.6);
}

/** Field reveal animation - Subscribe module */

.field-reveal #et_pb_signup_lastname, .field-reveal #et_pb_signup_email, .field-reveal .et_pb_newsletter_button, .form-reveal .et_contact_bottom_container, .form-reveal input, .form-reveal textarea {
    -webkit-animation-name: slideDown;
    animation-duration: 1s;
    animation-name: slideDown;
    animation-timing-function: ease;
    visibility: visible ;
}

@-moz-keyframes slideDown {
  0% {
    
    transform: translateY(-100%);
  }
  50% {
    
    transform: translateY(8%);
  }
  65% {
    
    transform: translateY(-4%);
  }
  80% {
    
    transform: translateY(4%);
  }
  95% {
    
    transform: translateY(-2%);
  }
  100% {
    
    transform: translateY(0%);
  }
}

@-webkit-keyframes slideDown {
  0% {
    
    transform: translateY(-100%);
  }
  50% {
    
    transform: translateY(8%);
  }
  65% {
    
    transform: translateY(-4%);
  }
  80% {
    
    transform: translateY(4%);
  }
  95% {
    
    transform: translateY(-2%);
  }
  100% {
    
    transform: translateY(0%);
  }
}

@-ms-keyframes slideDown {
  0% {
    
    transform: translateY(-100%);
  }
  50% {
    
    transform: translateY(8%);
  }
  65% {
    
    transform: translateY(-4%);
  }
  80% {
    
    transform: translateY(4%);
  }
  95% {
    
    transform: translateY(-2%);
  }
  100% {
    
    transform: translateY(0%);
  }
}

@-o-keyframes slideDown {
  0% {
    
    transform: translateY(-100%);
  }
  50% {
    
    transform: translateY(8%);
  }
  65% {
    
    transform: translateY(-4%);
  }
  80% {
    
    transform: translateY(4%);
  }
  95% {
    
    transform: translateY(-2%);
  }
  100% {
    
    transform: translateY(0%);
  }
}

@keyframes slideDown {
  0% {
    
    transform: translateY(-100%);
  }
  50% {
    
    transform: translateY(8%);
  }
  65% {
    
    transform: translateY(-4%);
  }
  80% {
    
    transform: translateY(4%);
  }
  95% {
    
    transform: translateY(-2%);
  }
  100% {
    
    transform: translateY(0%);
  }
}

/* Fade Out text on blog excerpts */

.ds-fade-blog .post-content:after {
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 82%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 82%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 82%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
    content: '';
    display: block;
    height: 120px;
    position: relative;
    top: -120px;
    left: 0px;
 
}
.ds-fade-blog .et_pb_blog_grid .post-content:after {
margin-bottom: -70px;
}
 
 
.ds-fade-blog .et_pb_posts a.more-link, .ds-fade-blog .et_pb_blog_grid a.more-link {  
    margin-bottom: -25px;
    margin-top: 25px;
    position: inherit;
    text-align: center;
    text-transform: capitalize;
    font-size: 16px;
    color: #0066CC;
    letter-spacing: 2px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display:block;
}
 
.ds-fade-blog .et_pb_posts a.more-link:hover, .ds-fade-blog .et_pb_blog_grid a.more-link:hover {
color: #888;
}

/* Material design back to top button */

.ds-material-button .et_pb_scroll_top.et-pb-icon:hover {
-webkit-box-shadow: 0px 0px 30px -3px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 30px -3px rgba(0,0,0,0.75);
box-shadow: 0px 0px 30px -3px rgba(0,0,0,0.75);
}

.ds-material-button .et_pb_scroll_top.et-pb-icon:before {
    font-size: 40px
}

/* Grow blog image on hover */

.ds-grow-rotate .et_pb_post img {
    transition: .6s ease-in-out all;
}

.ds-grow-rotate .et_pb_post img:hover {
    transform: scale(1.2) rotate(-3deg);
    transition: 1s ease-in-out all;
}

.ds-grow-rotate .et_pb_post .et_pb_image_container {
    overflow: hidden;
}

/* Pretty Subs */

.ds_light_subs .sub-menu {
    background: #fff;
    margin-top: -5px;
    border-radius: 5px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: 1px solid #f1f1f1;
}

.ds_light_subs .sub-menu:before {
    content: "";
    position: absolute;
    display: block;
    top: -12px;
    left: calc(50% - 12px);
    background: inherit;
    height: 24px;
    width: 24px;
    transform: rotate(45deg);
    border-left: 1px solid #f1f1f1;
    border-top: 1px solid #f1f1f1;
}

.ds_light_subs .sub-menu li a {
    color: #303030;
}

.ds_dark_subs .sub-menu {
    background: #303030;
    margin-top: -5px;
    border-radius: 5px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: 1px solid #303030;
}

.ds_dark_subs .sub-menu:before {
    content: "";
    position: absolute;
    display: block;
    top: -12px;
    left: calc(50% - 12px);
    background: inherit;
    height: 24px;
    width: 24px;
    transform: rotate(45deg);
    border-left: 1px solid #303030;
    border-top: 1px solid #303030;
}

.ds_dark_subs .sub-menu li a {
    color: #f1f1f1;
}

#main-header, #main-footer { background-size: cover; background-position: center; background-repeat: no-repeat; }