/** SWITCH STYLES **/

/** SET COLOURS ********* FIND AND REPLACE TO CHANGE COLOUR SCHEME **/
/** DARK     - #303030 **/
/** LIGHT    - #F1F1F1 **/
/** BLUE     - #247BA0 **/
/** YELLOW   - #FF8500 **/
/** RED      - #EF233C **/
/** GREEN    - #9BC53D **/

/**  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; }

.ds_mobile_side_light .mobile_nav.opened #mobile_menu { transform: rotateY(0deg); -webkit-transform: rotateY(0deg); transform-origin: right; -webkit-transform-origin: right; background: #f1f1f1; transition: .8s ease-in-out; }

.ds_mobile_side_light .mobile_nav.opened .mobile_menu_bar:before { content: "\4d"; color: #303030; }

.ds_mobile_side_light .et_mobile_menu li a { color: #303030; }

@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 ; }

.ds_mobile_side_dark .mobile_nav.opened #mobile_menu { transform: rotateY(0deg); -webkit-transform: rotateY(0deg); transform-origin: right; -webkit-transform-origin: right; background: #303030; transition: .8s ease-in-out; }

.ds_mobile_side_dark .mobile_nav.opened .mobile_menu_bar:before { content: "M"; color: #f1f1f1; }

.ds_mobile_side_dark .et_mobile_menu li a { color: #f1f1f1; }

@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; }

/** MENU BUTTONS FLAT **/
.ds_flat_buttons .button-dark a { background: #303030; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #f1f1f1; }

.ds_flat_buttons .button-light a { background: #F1F1F1; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #303030; }

.ds_flat_buttons .button-blue a { background: #247BA0; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #f1f1f1; }

.ds_flat_buttons .button-yellow a { background: #FF8500; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #f1f1f1; }

.ds_flat_buttons .button-red a { background: #EF233C; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #f1f1f1; }

.ds_flat_buttons .button-green a { background: #9BC53D; padding: 10px 14px !important; border-radius: 4px; margin-top: -10px; color: #f1f1f1; }

/** MENU BUTTONS 3D **/
.ds_3d_buttons .button-dark-3d a { background: #303030; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #f1f1f1; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

.ds_3d_buttons .button-light-3d a { background: #F1F1F1; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #303030; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

.ds_3d_buttons .button-blue-3d a { background: #247BA0; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #f1f1f1; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

.ds_3d_buttons .button-yellow-3d a { background: #FF8500; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #f1f1f1; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

.ds_3d_buttons .button-red-3d a { background: #EF233C; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #f1f1f1; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

.ds_3d_buttons .button-green-3d a { background: #9BC53D; padding: 10px 14px !important; border-radius: 2px; margin-top: -10px; color: #f1f1f1; border-bottom: 3px solid rgba(0, 0, 0, 0.2) }

/** 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 .et_fixed_nav #logo { display: none; }
.ds_logo_hide #main-header.et-fixed-header #logo { display:block; }

/** 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; }

/** TURN PRE TEXT INTO A CODE BOX **/
.ds_pretext_code .entry-content pre { background: #303030; color: #f1f1f1; padding: 10px 16px; border-radius: 2px; border-top: 4px solid #ffa900; -moz-box-shadow: inset 0 0 10px #000000; box-shadow: inset 0 0 10px #000000; }

/** 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;
}
.ds_style_cf7 .wpcf7-submit {
color: #f0853b!important;
margin: 8px auto 0;
cursor: pointer;
font-size: 20px;
font-weight: 500;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 6px 20px;
line-height: 1.7em;
background: transparent;
border: 2px solid;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-moz-transition: all 0.2s;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
.ds_style_cf7 .wpcf7-submit:hover { 
background-color: yellow; 
border-color:yellow; 
padding: 6px 20px !important; 
}

/** 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);
}

/** 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);
}

/*********** Let's get animated **************/

/* 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 **************************/

/** 'MENU' infront of burger **/
.ds_menu_word .mobile_menu_bar:after {
    content: "MENU";
    font-size: 1.2em;
    position: absolute;
    right: 32px;
    top: 15px;
}

/** 'MENU' instead of burger **/

.ds_menu_word_replace .mobile_menu_bar:before {
font-family: "Open Sans" !important;
content: "CLOSE";
font-size: 1.1em;
color: #303030;
border: solid 2px #303030;
padding: 4px 10px;
border-radius: 3px;
font-weight: 600;
}

.ds_menu_word_replace .mobile_nav.closed .mobile_menu_bar:before {
content: "MENU";
}

.ds_menu_word_replace .mobile_nav.opened .mobile_menu_bar:before {
content: "CLOSE";
}

/** 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_light .mobile_menu_bar {
    background: #f1f1f1;
    padding-bottom: 0px !important;
    padding-left: 120px;
    border-radius: 4px;
    margin-bottom: 18px;
}

.ds_select_page_light .mobile_menu_bar:after {
    position: absolute;
    content: "Select page";
    text-align: left;
    width: 100%;
    left: 10px;
    top: 15px;
    color: #303030;
}

.ds_select_page_light .mobile_menu_bar:before {
    color: #303030 !important;
}

/** Select Page Styles ** dark **/

.ds_select_page_dark .mobile_menu_bar {
    background: #303030;
    padding-bottom: 0px !important;
    padding-left: 120px;
    border-radius: 4px;
    margin-bottom: 18px;
}

.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;
}

/********************************** PRELOADERS  **************************/

/** Dark **/

.home.load-dark:before {
    display: block;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    align-content: center;
    text-align: center;
    background: #303030;
    line-height: 100%;
    -webkit-animation: curtain 3.5s forwards;
    animation: curtain 3.5s forwards;
}

.home.load-dark:after {
    font-family: "etModules";
    font-size: 3.4em;
    content: "\e02d";
    position: fixed;
    color: #f1f1f1;
    text-align: center;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    top: 45%;
	-webkit-animation: wheel 3s forwards;
    animation: wheel 3s forwards;
}

/**light**/

.home.load-light:before {
    display: block;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    align-content: center;
    text-align: center;
    background: #f1f1f1;
    line-height: 100%;
    -webkit-animation: curtain 3.5s forwards;
    animation: curtain 3.5s forwards;
}

.home.load-light:after {
    font-family: "etModules";
    font-size: 3.4em;
    content: "\e02d";
    position: fixed;
    color: #303030;
    text-align: center;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    top: 45%;
	-webkit-animation: wheel 3s forwards;
    animation: wheel 3s forwards;
}

@-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);
}