.dsm-social-share-buttons-container .dsm-social-share-button-inner-wrapper {
  cursor: pointer;
  word-spacing: initial;
  -webkit-transition-duration: .2s;
  transition-duration: .2s;
  -webkit-transition-property: all;
  transition-property: all;
}
.dsm_custom_image_icon {
  max-width: 18px;
}
.dsm-social-share-buttons-container.dsm-gradient .dsm-social-share-button-inner-wrapper,
.dsm-social-share-buttons-container.dsm-flat .dsm-social-share-button-inner-wrapper {
  color: #fff;
}

.dsm-social-share-buttons-container.dsm-minimal .dsm-social-share-button-inner-wrapper .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon .dsm-social-share-button-inner-wrapper .dsm-social-share-button-icon {
  color: #fff;
}

.dsm-social-share-buttons-container.dsm-minimal .dsm-social-share-button-inner-wrapper .dsm-social-share-button-text,
.dsm-social-share-buttons-container.dsm-boxed_icon .dsm-social-share-button-inner-wrapper .dsm-social-share-button-text {
  color: #000000;
}

.dsm-social-share-buttons-container .dsm-social-button-wrapper .dsm-social-share-button-icon {
  line-height: 1;
}

/******when a user select gradient skin  & flat skin ********/

.dsm-social-share-buttons-container.dsm-gradient .dsm-facebook,
.dsm-social-share-buttons-container.dsm-flat .dsm-facebook {
  background: #3b5998;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-twitter,
.dsm-social-share-buttons-container.dsm-flat .dsm-twitter {
  background: #1da1f2;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-linkedin,
.dsm-social-share-buttons-container.dsm-flat .dsm-linkedin {
  background: #0077b5;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-pinterest,
.dsm-social-share-buttons-container.dsm-flat .dsm-pinterest {
  background: #bd081c;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-reddit,
.dsm-social-share-buttons-container.dsm-flat .dsm-reddit {
  background: #ff4500;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-vk,
.dsm-social-share-buttons-container.dsm-flat .dsm-vk {
  background: #45668e;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-tumbler,
.dsm-social-share-buttons-container.dsm-flat .dsm-tumbler {
  background: #35465c;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-digg,
.dsm-social-share-buttons-container.dsm-flat .dsm-digg {
  background: #005be2;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-skype,
.dsm-social-share-buttons-container.dsm-flat .dsm-skype {
  background: #00aff0;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-stumbleupon,
.dsm-social-share-buttons-container.dsm-flat .dsm-stumbleupon {
  background: #eb4924;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-mix,
.dsm-social-share-buttons-container.dsm-flat .dsm-mix {
  background: #f3782b;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-telegram,
.dsm-social-share-buttons-container.dsm-flat .dsm-telegram {
  background: #2ca5e0;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-xing,
.dsm-social-share-buttons-container.dsm-flat .dsm-xing {
  background: #026466;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-whatsapp,
.dsm-social-share-buttons-container.dsm-flat .dsm-whatsapp {
  background: #25d366;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-email,
.dsm-social-share-buttons-container.dsm-flat .dsm-email {
  background: #ea4335;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-print,
.dsm-social-share-buttons-container.dsm-flat .dsm-print {
  background: #aaa;
}

.dsm-social-share-buttons-container.dsm-gradient .dsm-pocket,
.dsm-social-share-buttons-container.dsm-flat .dsm-pocket {
  background: #ef3f56;
}

/****** when a user select minimal skin  ********/

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-facebook .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-facebook .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-facebook {
  background: #3b5998;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-twitter .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-twitter .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-twitter {
  background: #1da1f2;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-linkedin .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-linkedin .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-linkedin {
  background: #0077b5;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-pinterest .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-pinterest .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-pinterest {
  background: #bd081c;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-reddit .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-reddit .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-reddit {
  background: #ff4500;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-vk .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-vk .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-vk {
  background: #45668e;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-tumbler .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-tumbler .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-tumbler {
  background: #35465c;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-digg .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-digg .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-digg {
  background: #005be2;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-skype .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-skype .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-skype {
  background: #00aff0;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-stumbleupon .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-stumbleupon .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-stumbleupon {
  background: #eb4924;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-mix .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-mix .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-mix {
  background: #f3782b;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-telegram .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-telegram .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-telegram {
  background: #2ca5e0;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-xing .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-xing .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-xing {
  background: #026466;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-whatsapp .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-whatsapp .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-whatsapp {
  background: #25d366;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-email .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-email .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-email {
  background: #ea4335;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-print .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-print .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-print {
  background: #aaa;
}

.dsm-social-share-buttons-container.dsm-minimal.dsm-icon_text .dsm-pocket .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-pocket .dsm-social-share-button-icon,
.dsm-social-share-buttons-container.dsm-minimal.dsm-icon .dsm-pocket {
  background: #ef3f56;
}

/****** when a user select boxed icon skin ********/

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-facebook,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-facebook,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-facebook .dsm-social-share-button-text {
  color: #3b5998;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-facebook {
  background: #3b5998;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-twitter,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-twitter,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-twitter .dsm-social-share-button-text {
  color: #1da1f2;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-twitter {
  background: #1da1f2;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-linkedin,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-linkedin,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-linkedin .dsm-social-share-button-text {
  color: #0077b5;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-linkedin {
  background: #0077b5;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-pinterest,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-pinterest,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-pinterest .dsm-social-share-button-text {
  color: #bd081c;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-pinterest {
  background: #bd081c;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-reddit,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-reddit,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-reddit .dsm-social-share-button-text {
  color: #ff4500;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-reddit {
  background: #ff4500;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-vk,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-vk,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-vk .dsm-social-share-button-text {
  color: #45668e;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-vk {
  background: #45668e;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-tumbler,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-tumbler,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-tumbler .dsm-social-share-button-text {
  color: #35465c;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-tumbler {
  background: #35465c;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-digg,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-digg,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-digg .dsm-social-share-button-text {
  color: #005be2;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-digg {
  background: #005be2;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-skype,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-skype,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-skype .dsm-social-share-button-text {
  color: #00aff0;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-skype {
  background: #00aff0;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-stumbleupon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-stumbleupon,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-stumbleupon .dsm-social-share-button-text {
  color: #eb4924;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-stumbleupon {
  background: #eb4924;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-mix,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-mix,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-mix .dsm-social-share-button-text {
  color: #f3782b;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-mix {
  background: #f3782b;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-telegram,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-telegram,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-telegram .dsm-social-share-button-text {
  color: #2ca5e0;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-telegram {
  background: #2ca5e0;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-xing,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-xing,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-xing .dsm-social-share-button-text {
  color: #026466;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-xing {
  background: #026466;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-whatsapp,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-whatsapp,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-whatsapp .dsm-social-share-button-text {
  color: #25d366;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-whatsapp {
  background: #25d366;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-email,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-email,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-email .dsm-social-share-button-text {
  color: #ea4335;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-email {
  background: #ea4335;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-print,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-print,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-print .dsm-social-share-button-text {
  color: #aaa;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-print {
  background: #aaa;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon_text .dsm-pocket,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-pocket,
.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-text .dsm-pocket .dsm-social-share-button-text {
  color: #ef3f56;
}

.dsm-social-share-buttons-container.dsm-boxed_icon.dsm-icon .dsm-pocket {
  background: #ef3f56;
}

/****** when a user select framed skin ********/

.dsm-social-share-buttons-container.dsm-framed .dsm-facebook {
  color: #3b5998;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-twitter {
  color: #1da1f2;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-linkedin {
  color: #0077b5;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-pinterest {
  color: #bd081c;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-reddit {
  color: #ff4500;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-vk {
  color: #45668e;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-tumbler {
  color: #35465c;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-digg {
  color: #005be2;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-skype {
  color: #00aff0;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-stumbleupon {
  color: #eb4924;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-mix {
  color: #f3782b;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-telegram {
  color: #2ca5e0;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-xing {
  color: #026466;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-whatsapp {
  color: #25d366;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-email {
  color: #ea4335;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-print {
  color: #aaa;
}

.dsm-social-share-buttons-container.dsm-framed .dsm-pocket {
  color: #ef3f56;
}
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.1.0
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Made available under a MIT License:
 * http://www.opensource.org/licenses/mit-license.php

 * Hover.css Copyright Ian Lunn 2014. Generated with Sass.
 */
.dsm-grow {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-grow:active,
.dsm-grow:focus,
.dsm-grow:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.dsm-shrink {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-shrink:active,
.dsm-shrink:focus,
.dsm-shrink:hover {
    -webkit-transform: scale(.9);
    transform: scale(.9)
}

@-webkit-keyframes dsm-pulse {
    25% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    75% {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
}

@keyframes dsm-pulse {
    25% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    75% {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
}

.dsm-pulse {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-pulse:active,
.dsm-pulse:focus,
.dsm-pulse:hover {
    -webkit-animation-name: dsm-pulse;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-pulse-grow {
    to {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@keyframes dsm-pulse-grow {
    to {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.dsm-pulse-grow {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-pulse-grow:active,
.dsm-pulse-grow:focus,
.dsm-pulse-grow:hover {
    -webkit-animation-name: dsm-pulse-grow;
    animation-name: dsm-pulse-grow;
    -webkit-animation-duration: .3s;
    animation-duration: .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
}

@-webkit-keyframes dsm-pulse-shrink {
    to {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
}

@keyframes dsm-pulse-shrink {
    to {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
}

.dsm-pulse-shrink {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-pulse-shrink:active,
.dsm-pulse-shrink:focus,
.dsm-pulse-shrink:hover {
    -webkit-animation-name: dsm-pulse-shrink;
    animation-name: dsm-pulse-shrink;
    -webkit-animation-duration: .3s;
    animation-duration: .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
}

@-webkit-keyframes dsm-push {
    50% {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes dsm-push {
    50% {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.dsm-push {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-push:active,
.dsm-push:focus,
.dsm-push:hover {
    -webkit-animation-name: dsm-push;
    animation-name: dsm-push;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

@-webkit-keyframes dsm-pop {
    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

@keyframes dsm-pop {
    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

.dsm-pop {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-pop:active,
.dsm-pop:focus,
.dsm-pop:hover {
    -webkit-animation-name: dsm-pop;
    animation-name: dsm-pop;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.dsm-bounce-in {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-in:active,
.dsm-bounce-in:focus,
.dsm-bounce-in:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

.dsm-bounce-out {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-out:active,
.dsm-bounce-out:focus,
.dsm-bounce-out:hover {
    -webkit-transform: scale(.8);
    transform: scale(.8);
    -webkit-transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

.dsm-rotate {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-rotate:active,
.dsm-rotate:focus,
.dsm-rotate:hover {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg)
}

.dsm-grow-rotate {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-grow-rotate:active,
.dsm-grow-rotate:focus,
.dsm-grow-rotate:hover {
    -webkit-transform: scale(1.1) rotate(4deg);
    transform: scale(1.1) rotate(4deg)
}

.dsm-float {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-float:active,
.dsm-float:focus,
.dsm-float:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px)
}

.dsm-sink {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-sink:active,
.dsm-sink:focus,
.dsm-sink:hover {
    -webkit-transform: translateY(8px);
    transform: translateY(8px)
}

@-webkit-keyframes dsm-bob {
    0% {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }

    50% {
        -webkit-transform: translateY(-4px);
        transform: translateY(-4px)
    }

    to {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }
}

@keyframes dsm-bob {
    0% {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }

    50% {
        -webkit-transform: translateY(-4px);
        transform: translateY(-4px)
    }

    to {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }
}

@-webkit-keyframes dsm-bob-float {
    to {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }
}

@keyframes dsm-bob-float {
    to {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }
}

.dsm-bob {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-bob:active,
.dsm-bob:focus,
.dsm-bob:hover {
    -webkit-animation-name: dsm-bob-float, dsm-bob;
    animation-name: dsm-bob-float, dsm-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
}

@-webkit-keyframes dsm-hang {
    0% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }

    50% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px)
    }

    to {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }
}

@keyframes dsm-hang {
    0% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }

    50% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px)
    }

    to {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }
}

@-webkit-keyframes dsm-hang-sink {
    to {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }
}

@keyframes dsm-hang-sink {
    to {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }
}

.dsm-hang {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-hang:active,
.dsm-hang:focus,
.dsm-hang:hover {
    -webkit-animation-name: dsm-hang-sink, dsm-hang;
    animation-name: dsm-hang-sink, dsm-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
}

.dsm-skew {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-skew:active,
.dsm-skew:focus,
.dsm-skew:hover {
    -webkit-transform: skew(-10deg);
    transform: skew(-10deg)
}

.dsm-skew-forward {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.dsm-skew-forward:active,
.dsm-skew-forward:focus,
.dsm-skew-forward:hover {
    -webkit-transform: skew(-10deg);
    transform: skew(-10deg)
}

.dsm-skew-backward {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.dsm-skew-backward:active,
.dsm-skew-backward:focus,
.dsm-skew-backward:hover {
    -webkit-transform: skew(10deg);
    transform: skew(10deg)
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.dsm-wobble-vertical {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-wobble-vertical:active,
.dsm-wobble-vertical:focus,
.dsm-wobble-vertical:hover {
    -webkit-animation-name: dsm-wobble-vertical;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.dsm-wobble-horizontal {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-wobble-horizontal:active,
.dsm-wobble-horizontal:focus,
.dsm-wobble-horizontal:hover {
    -webkit-animation-name: dsm-wobble-horizontal;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.dsm-wobble-to-bottom-right {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-wobble-to-bottom-right:active,
.dsm-wobble-to-bottom-right:focus,
.dsm-wobble-to-bottom-right:hover {
    -webkit-animation-name: dsm-wobble-to-bottom-right;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.dsm-wobble-to-top-right {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-wobble-to-top-right:active,
.dsm-wobble-to-top-right:focus,
.dsm-wobble-to-top-right:hover {
    -webkit-animation-name: dsm-wobble-to-top-right;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

.dsm-wobble-top {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.dsm-wobble-top:active,
.dsm-wobble-top:focus,
.dsm-wobble-top:hover {
    -webkit-animation-name: dsm-wobble-top;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

.dsm-wobble-bottom {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.dsm-wobble-bottom:active,
.dsm-wobble-bottom:focus,
.dsm-wobble-bottom:hover {
    -webkit-animation-name: dsm-wobble-bottom;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: skew(0);
        transform: skew(0)
    }
}

.dsm-wobble-skew {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-wobble-skew:active,
.dsm-wobble-skew:focus,
.dsm-wobble-skew:hover {
    -webkit-animation-name: dsm-wobble-skew;
    animation-name: dsm-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
}

@-webkit-keyframes dsm-buzz {
    50% {
        -webkit-transform: translateX(3px) rotate(2deg);
        transform: translateX(3px) rotate(2deg)
    }

    to {
        -webkit-transform: translateX(-3px) rotate(-2deg);
        transform: translateX(-3px) rotate(-2deg)
    }
}

@keyframes dsm-buzz {
    50% {
        -webkit-transform: translateX(3px) rotate(2deg);
        transform: translateX(3px) rotate(2deg)
    }

    to {
        -webkit-transform: translateX(-3px) rotate(-2deg);
        transform: translateX(-3px) rotate(-2deg)
    }
}

.dsm-buzz {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-buzz:active,
.dsm-buzz:focus,
.dsm-buzz:hover {
    -webkit-animation-name: dsm-buzz;
    animation-name: dsm-buzz;
    -webkit-animation-duration: .15s;
    animation-duration: .15s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes dsm-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)
    }

    to {
        -webkit-transform: translateX(-1px) rotate(0);
        transform: translateX(-1px) rotate(0)
    }
}

@keyframes dsm-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)
    }

    to {
        -webkit-transform: translateX(-1px) rotate(0);
        transform: translateX(-1px) rotate(0)
    }
}

.dsm-buzz-out {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent
}

.dsm-buzz-out:active,
.dsm-buzz-out:focus,
.dsm-buzz-out:hover {
    -webkit-animation-name: dsm-buzz-out;
    animation-name: dsm-buzz-out;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.dsm-forward {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-forward:active,
.dsm-forward:focus,
.dsm-forward:hover {
    -webkit-transform: translateX(8px);
    transform: translateX(8px)
}

.dsm-backward {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-backward:active,
.dsm-backward:focus,
.dsm-backward:hover {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px)
}

.dsm-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color
}

.dsm-fade:active,
.dsm-fade:focus,
.dsm-fade:hover {
    background-color: #2098d1;
    color: #fff
}

@-webkit-keyframes dsm-back-pulse {
    50% {
        background-color: rgba(32, 152, 209, .75)
    }
}

@keyframes dsm-back-pulse {
    50% {
        background-color: rgba(32, 152, 209, .75)
    }
}

.dsm-back-pulse {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color
}

.dsm-back-pulse:active,
.dsm-back-pulse:focus,
.dsm-back-pulse:hover {
    -webkit-animation-name: dsm-back-pulse;
    animation-name: dsm-back-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background-color: #2098d1;
    color: #fff
}

.dsm-sweep-to-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-sweep-to-right,
.dsm-sweep-to-right:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-sweep-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-sweep-to-right:active,
.dsm-sweep-to-right:focus,
.dsm-sweep-to-right:hover {
    color: #fff
}

.dsm-sweep-to-right:active:before,
.dsm-sweep-to-right:focus:before,
.dsm-sweep-to-right:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.dsm-sweep-to-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-sweep-to-left,
.dsm-sweep-to-left:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-sweep-to-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-sweep-to-left:active,
.dsm-sweep-to-left:focus,
.dsm-sweep-to-left:hover {
    color: #fff
}

.dsm-sweep-to-left:active:before,
.dsm-sweep-to-left:focus:before,
.dsm-sweep-to-left:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.dsm-sweep-to-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-sweep-to-bottom,
.dsm-sweep-to-bottom:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-sweep-to-bottom:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-sweep-to-bottom:active,
.dsm-sweep-to-bottom:focus,
.dsm-sweep-to-bottom:hover {
    color: #fff
}

.dsm-sweep-to-bottom:active:before,
.dsm-sweep-to-bottom:focus:before,
.dsm-sweep-to-bottom:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.dsm-sweep-to-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-sweep-to-top,
.dsm-sweep-to-top:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-sweep-to-top:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-sweep-to-top:active,
.dsm-sweep-to-top:focus,
.dsm-sweep-to-top:hover {
    color: #fff
}

.dsm-sweep-to-top:active:before,
.dsm-sweep-to-top:focus:before,
.dsm-sweep-to-top:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.dsm-bounce-to-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-bounce-to-right,
.dsm-bounce-to-right:before {
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-bounce-to-right:active,
.dsm-bounce-to-right:focus,
.dsm-bounce-to-right:hover {
    color: #fff
}

.dsm-bounce-to-right:active:before,
.dsm-bounce-to-right:focus:before,
.dsm-bounce-to-right:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(.52, 1.64, .37, .66)
}

.dsm-bounce-to-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-bounce-to-left,
.dsm-bounce-to-left:before {
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-to-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-bounce-to-left:active,
.dsm-bounce-to-left:focus,
.dsm-bounce-to-left:hover {
    color: #fff
}

.dsm-bounce-to-left:active:before,
.dsm-bounce-to-left:focus:before,
.dsm-bounce-to-left:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(.52, 1.64, .37, .66)
}

.dsm-bounce-to-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-bounce-to-bottom,
.dsm-bounce-to-bottom:before {
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-to-bottom:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-bounce-to-bottom:active,
.dsm-bounce-to-bottom:focus,
.dsm-bounce-to-bottom:hover {
    color: #fff
}

.dsm-bounce-to-bottom:active:before,
.dsm-bounce-to-bottom:focus:before,
.dsm-bounce-to-bottom:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition-timing-function: cubic-bezier(.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(.52, 1.64, .37, .66)
}

.dsm-bounce-to-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-bounce-to-top,
.dsm-bounce-to-top:before {
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.dsm-bounce-to-top:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-bounce-to-top:active,
.dsm-bounce-to-top:focus,
.dsm-bounce-to-top:hover {
    color: #fff
}

.dsm-bounce-to-top:active:before,
.dsm-bounce-to-top:focus:before,
.dsm-bounce-to-top:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition-timing-function: cubic-bezier(.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(.52, 1.64, .37, .66)
}

.dsm-radial-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-radial-out,
.dsm-radial-out:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-radial-out:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    border-radius: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-radial-out:active,
.dsm-radial-out:focus,
.dsm-radial-out:hover {
    color: #fff
}

.dsm-radial-out:active:before,
.dsm-radial-out:focus:before,
.dsm-radial-out:hover:before {
    -webkit-transform: scale(2);
    transform: scale(2)
}

.dsm-radial-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden;
    background: #2098d1;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-radial-in,
.dsm-radial-in:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-radial-in:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e1e1e1;
    border-radius: 100%;
    -webkit-transform: scale(2);
    transform: scale(2);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-radial-in:active,
.dsm-radial-in:focus,
.dsm-radial-in:hover {
    color: #fff
}

.dsm-radial-in:active:before,
.dsm-radial-in:focus:before,
.dsm-radial-in:hover:before {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.dsm-rectangle-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #2098d1;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-rectangle-in,
.dsm-rectangle-in:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-rectangle-in:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e1e1e1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-rectangle-in:active,
.dsm-rectangle-in:focus,
.dsm-rectangle-in:hover {
    color: #fff
}

.dsm-rectangle-in:active:before,
.dsm-rectangle-in:focus:before,
.dsm-rectangle-in:hover:before {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.dsm-rectangle-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-rectangle-out,
.dsm-rectangle-out:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-rectangle-out:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-rectangle-out:active,
.dsm-rectangle-out:focus,
.dsm-rectangle-out:hover {
    color: #fff
}

.dsm-rectangle-out:active:before,
.dsm-rectangle-out:focus:before,
.dsm-rectangle-out:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.dsm-shutter-in-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #2098d1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-shutter-in-horizontal:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #e1e1e1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-shutter-in-horizontal:active,
.dsm-shutter-in-horizontal:focus,
.dsm-shutter-in-horizontal:hover {
    color: #fff
}

.dsm-shutter-in-horizontal:active:before,
.dsm-shutter-in-horizontal:focus:before,
.dsm-shutter-in-horizontal:hover:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.dsm-shutter-out-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-shutter-out-horizontal:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-shutter-out-horizontal:active,
.dsm-shutter-out-horizontal:focus,
.dsm-shutter-out-horizontal:hover {
    color: #fff
}

.dsm-shutter-out-horizontal:active:before,
.dsm-shutter-out-horizontal:focus:before,
.dsm-shutter-out-horizontal:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.dsm-shutter-in-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #2098d1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-shutter-in-vertical:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #e1e1e1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-shutter-in-vertical:active,
.dsm-shutter-in-vertical:focus,
.dsm-shutter-in-vertical:hover {
    color: #fff
}

.dsm-shutter-in-vertical:active:before,
.dsm-shutter-in-vertical:focus:before,
.dsm-shutter-in-vertical:hover:before {
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

.dsm-shutter-out-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-shutter-out-vertical:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #2098d1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-shutter-out-vertical:active,
.dsm-shutter-out-vertical:focus,
.dsm-shutter-out-vertical:hover {
    color: #fff
}

.dsm-shutter-out-vertical:active:before,
.dsm-shutter-out-vertical:focus:before,
.dsm-shutter-out-vertical:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.dsm-border-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
    box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px transparent
}

.dsm-border-fade:active,
.dsm-border-fade:focus,
.dsm-border-fade:hover {
    box-shadow: inset 0 0 0 4px #2098d1, 0 0 1px transparent
}

.dsm-hollow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: background;
    transition-property: background;
    box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px transparent
}

.dsm-hollow:active,
.dsm-hollow:focus,
.dsm-hollow:hover {
    background: none
}

.dsm-trim {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-trim:before {
    content: "";
    position: absolute;
    border: 4px solid #fff;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.dsm-trim:active:before,
.dsm-trim:focus:before,
.dsm-trim:hover:before {
    opacity: 1
}

@-webkit-keyframes dsm-ripple-out {
    to {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0
    }
}

@keyframes dsm-ripple-out {
    to {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0
    }
}

.dsm-ripple-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-ripple-out:before {
    content: "";
    position: absolute;
    border: 6px solid #e1e1e1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.dsm-ripple-out:active:before,
.dsm-ripple-out:focus:before,
.dsm-ripple-out:hover:before {
    -webkit-animation-name: dsm-ripple-out;
    animation-name: dsm-ripple-out
}

@-webkit-keyframes dsm-ripple-in {
    to {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 1
    }
}

@keyframes dsm-ripple-in {
    to {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 1
    }
}

.dsm-ripple-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-ripple-in:before {
    content: "";
    position: absolute;
    border: 4px solid #e1e1e1;
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.dsm-ripple-in:active:before,
.dsm-ripple-in:focus:before,
.dsm-ripple-in:hover:before {
    -webkit-animation-name: dsm-ripple-in;
    animation-name: dsm-ripple-in
}

.dsm-outline-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-outline-out:before {
    content: "";
    position: absolute;
    border: 4px solid #e1e1e1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left
}

.dsm-outline-out:active:before,
.dsm-outline-out:focus:before,
.dsm-outline-out:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px
}

.dsm-outline-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-outline-in:before {
    pointer-events: none;
    content: "";
    position: absolute;
    border: 4px solid #e1e1e1;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left
}

.dsm-outline-in:active:before,
.dsm-outline-in:focus:before,
.dsm-outline-in:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1
}

.dsm-round-corners {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: border-radius;
    transition-property: border-radius
}

.dsm-round-corners:active,
.dsm-round-corners:focus,
.dsm-round-corners:hover {
    border-radius: 1em
}

.dsm-underline-from-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-underline-from-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    bottom: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-underline-from-left:active:before,
.dsm-underline-from-left:focus:before,
.dsm-underline-from-left:hover:before {
    right: 0
}

.dsm-underline-from-center {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-underline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    right: 50%;
    bottom: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-underline-from-center:active:before,
.dsm-underline-from-center:focus:before,
.dsm-underline-from-center:hover:before {
    left: 0;
    right: 0
}

.dsm-underline-from-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-underline-from-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 100%;
    right: 0;
    bottom: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: left;
    transition-property: left;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-underline-from-right:active:before,
.dsm-underline-from-right:focus:before,
.dsm-underline-from-right:hover:before {
    left: 0
}

.dsm-overline-from-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-overline-from-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    top: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-overline-from-left:active:before,
.dsm-overline-from-left:focus:before,
.dsm-overline-from-left:hover:before {
    right: 0
}

.dsm-overline-from-center {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-overline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    right: 50%;
    top: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-overline-from-center:active:before,
.dsm-overline-from-center:focus:before,
.dsm-overline-from-center:hover:before {
    left: 0;
    right: 0
}

.dsm-overline-from-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-overline-from-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 100%;
    right: 0;
    top: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transition-property: left;
    transition-property: left;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-overline-from-right:active:before,
.dsm-overline-from-right:focus:before,
.dsm-overline-from-right:hover:before {
    left: 0
}

.dsm-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border: 0 solid #2098d1;
    -webkit-transition-property: border-width;
    transition-property: border-width;
    -webkit-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-reveal:active:before,
.dsm-reveal:focus:before,
.dsm-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    border-width: 4px
}

.dsm-underline-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-underline-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-underline-reveal:active:before,
.dsm-underline-reveal:focus:before,
.dsm-underline-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.dsm-overline-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

.dsm-overline-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    background: #2098d1;
    height: 4px;
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-overline-reveal:active:before,
.dsm-overline-reveal:focus:before,
.dsm-overline-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.dsm-glow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow
}

.dsm-glow:active,
.dsm-glow:focus,
.dsm-glow:hover {
    box-shadow: 0 0 8px rgba(0, 0, 0, .6)
}

.dsm-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow
}

.dsm-shadow:active,
.dsm-shadow:focus,
.dsm-shadow:hover {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5)
}

.dsm-grow-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow, transform;
    transition-property: box-shadow, transform
}

.dsm-grow-shadow:active,
.dsm-grow-shadow:focus,
.dsm-grow-shadow:hover {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5);
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.dsm-box-shadow-outset {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow
}

.dsm-box-shadow-outset:active,
.dsm-box-shadow-outset:focus,
.dsm-box-shadow-outset:hover {
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .6)
}

.dsm-box-shadow-inset {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .6), 0 0 1px transparent
}

.dsm-box-shadow-inset:active,
.dsm-box-shadow-inset:focus,
.dsm-box-shadow-inset:hover {
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .6), 0 0 1px transparent
}

.dsm-float-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-float-shadow,
.dsm-float-shadow:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-float-shadow:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: "";
    top: 100%;
    left: 5%;
    height: 10px;
    width: 90%;
    opacity: 0;
    background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, .35) 0, transparent 80%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, .35) 0, transparent 80%);
    -webkit-transition-property: transform, opacity;
    transition-property: transform, opacity
}

.dsm-float-shadow:active,
.dsm-float-shadow:focus,
.dsm-float-shadow:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
}

.dsm-float-shadow:active:before,
.dsm-float-shadow:focus:before,
.dsm-float-shadow:hover:before {
    opacity: 1;
    -webkit-transform: translateY(5px);
    transform: translateY(5px)
}

.dsm-shadow-radial {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-shadow-radial:after,
.dsm-shadow-radial:before {
    pointer-events: none;
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background-repeat: no-repeat;
    height: 5px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.dsm-shadow-radial:before {
    bottom: 100%;
    background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, .6) 0, transparent 80%);
    background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, .6) 0, transparent 80%)
}

.dsm-shadow-radial:after {
    top: 100%;
    background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, .6) 0, transparent 80%);
    background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, .6) 0, transparent 80%)
}

.dsm-shadow-radial:active:after,
.dsm-shadow-radial:active:before,
.dsm-shadow-radial:focus:after,
.dsm-shadow-radial:focus:before,
.dsm-shadow-radial:hover:after,
.dsm-shadow-radial:hover:before {
    opacity: 1
}

.dsm-bubble-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-top:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: "";
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    left: calc(50% - 10px);
    top: 0;
    border-color: transparent transparent #e1e1e1;
    border-style: solid;
    border-width: 0 10px 10px
}

.dsm-bubble-top:active:before,
.dsm-bubble-top:focus:before,
.dsm-bubble-top:hover:before {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.dsm-bubble-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-right:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: "";
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    top: calc(50% - 10px);
    right: 0;
    border-color: transparent transparent transparent #e1e1e1;
    border-style: solid;
    border-width: 10px 0 10px 10px
}

.dsm-bubble-right:active:before,
.dsm-bubble-right:focus:before,
.dsm-bubble-right:hover:before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.dsm-bubble-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-bottom:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: "";
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    left: calc(50% - 10px);
    bottom: 0;
    border-color: #e1e1e1 transparent transparent;
    border-style: solid;
    border-width: 10px 10px 0
}

.dsm-bubble-bottom:active:before,
.dsm-bubble-bottom:focus:before,
.dsm-bubble-bottom:hover:before {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.dsm-bubble-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-left:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: "";
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    top: calc(50% - 10px);
    left: 0;
    border-color: transparent #e1e1e1 transparent transparent;
    border-style: solid;
    border-width: 10px 10px 10px 0
}

.dsm-bubble-left:active:before,
.dsm-bubble-left:focus:before,
.dsm-bubble-left:hover:before {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.dsm-bubble-float-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-float-top,
.dsm-bubble-float-top:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-bubble-float-top:before {
    position: absolute;
    z-index: -1;
    content: "";
    left: calc(50% - 10px);
    top: 0;
    border-color: transparent transparent #e1e1e1;
    border-style: solid;
    border-width: 0 10px 10px
}

.dsm-bubble-float-top:active,
.dsm-bubble-float-top:focus,
.dsm-bubble-float-top:hover {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.dsm-bubble-float-top:active:before,
.dsm-bubble-float-top:focus:before,
.dsm-bubble-float-top:hover:before {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.dsm-bubble-float-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-float-right,
.dsm-bubble-float-right:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-bubble-float-right:before {
    position: absolute;
    z-index: -1;
    top: calc(50% - 10px);
    right: 0;
    content: "";
    border-color: transparent transparent transparent #e1e1e1;
    border-style: solid;
    border-width: 10px 0 10px 10px
}

.dsm-bubble-float-right:active,
.dsm-bubble-float-right:focus,
.dsm-bubble-float-right:hover {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.dsm-bubble-float-right:active:before,
.dsm-bubble-float-right:focus:before,
.dsm-bubble-float-right:hover:before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.dsm-bubble-float-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-float-bottom,
.dsm-bubble-float-bottom:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-bubble-float-bottom:before {
    position: absolute;
    z-index: -1;
    content: "";
    left: calc(50% - 10px);
    bottom: 0;
    border-color: #e1e1e1 transparent transparent;
    border-style: solid;
    border-width: 10px 10px 0
}

.dsm-bubble-float-bottom:active,
.dsm-bubble-float-bottom:focus,
.dsm-bubble-float-bottom:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.dsm-bubble-float-bottom:active:before,
.dsm-bubble-float-bottom:focus:before,
.dsm-bubble-float-bottom:hover:before {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.dsm-bubble-float-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-bubble-float-left,
.dsm-bubble-float-left:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transition-property: transform
}

.dsm-bubble-float-left:before {
    position: absolute;
    z-index: -1;
    content: "";
    top: calc(50% - 10px);
    left: 0;
    border-color: transparent #e1e1e1 transparent transparent;
    border-style: solid;
    border-width: 10px 10px 10px 0
}

.dsm-bubble-float-left:active,
.dsm-bubble-float-left:focus,
.dsm-bubble-float-left:hover {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.dsm-bubble-float-left:active:before,
.dsm-bubble-float-left:focus:before,
.dsm-bubble-float-left:hover:before {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.dsm-icon-back {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-left: 2.2em
}

.dsm-icon-back,
.dsm-icon-back:before,
.dsm-icon-back:after {
    -webkit-transition-duration: .1s;
    transition-duration: .1s
}

.dsm-icon-back:before,
.dsm-icon-back:after {
    position: absolute;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-back:active:before,
.dsm-icon-back:focus:before,
.dsm-icon-back:hover:before,
.dsm-icon-back:active:after,
.dsm-icon-back:focus:after,
.dsm-icon-back:hover:after {
    -webkit-transform: translateX(-4px);
    transform: translateX(-4px)
}

.dsm-icon-forward {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-forward,
.dsm-icon-forward:before,
.dsm-icon-forward:after {
    -webkit-transition-duration: .1s;
    transition-duration: .1s
}

.dsm-icon-forward:before,
.dsm-icon-forward:after {
    position: absolute;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-forward:active:before,
.dsm-icon-forward:focus:before,
.dsm-icon-forward:hover:before,
.dsm-icon-forward:active:after,
.dsm-icon-forward:focus:after,
.dsm-icon-forward:hover:after {
    -webkit-transform: translateX(4px);
    transform: translateX(4px)
}

@-webkit-keyframes dsm-icon-down {

    0%,
    50%,
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    25%,
    75% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@keyframes dsm-icon-down {

    0%,
    50%,
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    25%,
    75% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

.dsm-icon-down {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-down:before,
.dsm-icon-down:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-down:active:before,
.dsm-icon-down:focus:before,
.dsm-icon-down:hover:before,
.dsm-icon-down:active:after,
.dsm-icon-down:focus:after,
.dsm-icon-down:hover:after {
    -webkit-animation-name: dsm-icon-down;
    animation-name: dsm-icon-down;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes dsm-icon-up {

    0%,
    50%,
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    25%,
    75% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@keyframes dsm-icon-up {

    0%,
    50%,
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    25%,
    75% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

.dsm-icon-up {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-up:before,
.dsm-icon-up:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-up:active:before,
.dsm-icon-up:focus:before,
.dsm-icon-up:hover:before,
.dsm-icon-up:active:after,
.dsm-icon-up:focus:after,
.dsm-icon-up:hover:after {
    -webkit-animation-name: dsm-icon-up;
    animation-name: dsm-icon-up;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

.dsm-icon-spin {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-spin:before,
.dsm-icon-spin:after {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out
}

.dsm-icon-spin:active:before,
.dsm-icon-spin:focus:before,
.dsm-icon-spin:hover:before,
.dsm-icon-spin:active:after,
.dsm-icon-spin:focus:after,
.dsm-icon-spin:hover:after {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
}

@-webkit-keyframes dsm-icon-drop {
    0% {
        opacity: 0
    }

    50% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    51%,
    to {
        opacity: 1
    }
}

@keyframes dsm-icon-drop {
    0% {
        opacity: 0
    }

    50% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    51%,
    to {
        opacity: 1
    }
}

.dsm-icon-drop {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-drop:before,
.dsm-icon-drop:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-drop:active:before,
.dsm-icon-drop:focus:before,
.dsm-icon-drop:hover:before,
.dsm-icon-drop:active:after,
.dsm-icon-drop:focus:after,
.dsm-icon-drop:hover:after {
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-animation-name: dsm-icon-drop;
    animation-name: dsm-icon-drop;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: cubic-bezier(.52, 1.64, .37, .66);
    animation-timing-function: cubic-bezier(.52, 1.64, .37, .66)
}

.dsm-icon-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-fade:before {
    content: "\f00c";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-property: color;
    transition-property: color
}

.dsm-icon-fade:active:before,
.dsm-icon-fade:focus:before,
.dsm-icon-fade:hover:before {
    color: #0f9e5e
}

@-webkit-keyframes dsm-icon-float-away {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(-1em);
        transform: translateY(-1em)
    }
}

@keyframes dsm-icon-float-away {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(-1em);
        transform: translateY(-1em)
    }
}

.dsm-icon-float-away {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-float-away:after,
.dsm-icon-float-away:before {
}

.dsm-icon-float-away:before,
.dsm-icon-float-away:after {
    opacity: 0;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}
.dsm-icon-float-away:active:before,
.dsm-icon-float-away:focus:before,
.dsm-icon-float-away:hover:before,
.dsm-icon-float-away:active:after,
.dsm-icon-float-away:focus:after,
.dsm-icon-float-away:hover:after {
    -webkit-animation-name: dsm-icon-float-away;
    animation-name: dsm-icon-float-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes dsm-icon-sink-away {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(1em);
        transform: translateY(1em)
    }
}

@keyframes dsm-icon-sink-away {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(1em);
        transform: translateY(1em)
    }
}

.dsm-icon-sink-away {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-sink-away:after,
.dsm-icon-sink-away:before {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}
.dsm-icon-sink-away:before,
.dsm-icon-sink-away:after {
    opacity: 0;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.dsm-icon-sink-away:active:before,
.dsm-icon-sink-away:focus:before,
.dsm-icon-sink-away:hover:before,
.dsm-icon-sink-away:active:after,
.dsm-icon-sink-away:focus:after,
.dsm-icon-sink-away:hover:after {
    -webkit-animation-name: dsm-icon-sink-away;
    animation-name: dsm-icon-sink-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

.dsm-icon-grow {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-grow,
.dsm-icon-grow:before,
.dsm-icon-grow:after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-grow:before,
.dsm-icon-grow:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-grow:active:before,
.dsm-icon-grow:focus:before,
.dsm-icon-grow:hover:before,
.dsm-icon-grow:active:after,
.dsm-icon-grow:focus:after,
.dsm-icon-grow:hover:after {
    -webkit-transform: scale(1.3) translateZ(0);
    transform: scale(1.3) translateZ(0)
}

.dsm-icon-shrink {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-shrink,
.dsm-icon-shrink:before,
.dsm-icon-shrink:after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-shrink:before,
.dsm-icon-shrink:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-shrink:active:before,
.dsm-icon-shrink:focus:before,
.dsm-icon-shrink:hover:before,
.dsm-icon-shrink:active:after,
.dsm-icon-shrink:focus:after,
.dsm-icon-shrink:hover:after {
    -webkit-transform: scale(.8);
    transform: scale(.8)
}

@-webkit-keyframes dsm-icon-pulse {
    25% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    75% {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

@keyframes dsm-icon-pulse {
    25% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    75% {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

.dsm-icon-pulse {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-pulse:before,
.dsm-icon-pulse:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-pulse:active:before,
.dsm-icon-pulse:focus:before,
.dsm-icon-pulse:hover:before,
.dsm-icon-pulse:active:after,
.dsm-icon-pulse:focus:after,
.dsm-icon-pulse:hover:after {
    -webkit-animation-name: dsm-icon-pulse;
    animation-name: dsm-icon-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
}

@-webkit-keyframes dsm-icon-pulse-grow {
    to {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
}

@keyframes dsm-icon-pulse-grow {
    to {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
}

.dsm-icon-pulse-grow {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
}

.dsm-icon-pulse-grow:before,
.dsm-icon-pulse-grow:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-pulse-grow:active:before,
.dsm-icon-pulse-grow:focus:before,
.dsm-icon-pulse-grow:hover:before,
.dsm-icon-pulse-grow:active:after,
.dsm-icon-pulse-grow:focus:after,
.dsm-icon-pulse-grow:hover:after {
    -webkit-animation-name: dsm-icon-pulse-grow;
    animation-name: dsm-icon-pulse-grow;
    -webkit-animation-duration: .3s;
    animation-duration: .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
}

@-webkit-keyframes dsm-icon-pulse-shrink {
    to {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

@keyframes dsm-icon-pulse-shrink {
    to {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

.dsm-icon-pulse-shrink {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-pulse-shrink:before,
.dsm-icon-pulse-shrink:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-pulse-shrink:active:before,
.dsm-icon-pulse-shrink:focus:before,
.dsm-icon-pulse-shrink:hover:before,
.dsm-icon-pulse-shrink:active:after,
.dsm-icon-pulse-shrink:focus:after,
.dsm-icon-pulse-shrink:hover:after {
    -webkit-animation-name: dsm-icon-pulse-shrink;
    animation-name: dsm-icon-pulse-shrink;
    -webkit-animation-duration: .3s;
    animation-duration: .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
}

@-webkit-keyframes dsm-icon-push {
    50% {
        -webkit-transform: scale(.5);
        transform: scale(.5)
    }
}

@keyframes dsm-icon-push {
    50% {
        -webkit-transform: scale(.5);
        transform: scale(.5)
    }
}

.dsm-icon-push {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-push,
.dsm-icon-push:before,
.dsm-icon-push:after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-push:before,
.dsm-icon-push:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-push:active:before,
.dsm-icon-push:focus:before,
.dsm-icon-push:hover:before,
.dsm-icon-push:active:after,
.dsm-icon-push:focus:after,
.dsm-icon-push:hover:after {
    -webkit-animation-name: dsm-icon-push;
    animation-name: dsm-icon-push;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

@-webkit-keyframes dsm-icon-pop {
    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

@keyframes dsm-icon-pop {
    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

.dsm-icon-pop {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
}

.dsm-icon-pop,
.dsm-icon-pop:before,
.dsm-icon-pop:after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-pop:before,
.dsm-icon-pop:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-pop:active:before,
.dsm-icon-pop:focus:before,
.dsm-icon-pop:hover:before,
.dsm-icon-pop:active:after,
.dsm-icon-pop:focus:after,
.dsm-icon-pop:hover:after {
    -webkit-animation-name: dsm-icon-pop;
    animation-name: dsm-icon-pop;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.dsm-icon-bounce {
    display: inline-block;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-bounce,
.dsm-icon-bounce:before,
.dsm-icon-bounce:after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-bounce:before,
.dsm-icon-bounce:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-bounce:active:before,
.dsm-icon-bounce:focus:before,
.dsm-icon-bounce:hover:before,
.dsm-icon-bounce:active:after,
.dsm-icon-bounce:focus:after,
.dsm-icon-bounce:hover:after {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

.dsm-icon-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-rotate,
.dsm-icon-rotate:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-rotate:before {
    content: "\f0c6";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-rotate:active:before,
.dsm-icon-rotate:focus:before,
.dsm-icon-rotate:hover:before {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}

.dsm-icon-grow-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-grow-rotate,
.dsm-icon-grow-rotate:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-grow-rotate:before {
    content: "\f095";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-grow-rotate:active:before,
.dsm-icon-grow-rotate:focus:before,
.dsm-icon-grow-rotate:hover:before {
    -webkit-transform: scale(1.5) rotate(12deg);
    transform: scale(1.5) rotate(12deg)
}

.dsm-icon-float {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-float,
.dsm-icon-float:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-float:before {
    content: "\f01b";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-float:active:before,
.dsm-icon-float:focus:before,
.dsm-icon-float:hover:before {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px)
}

.dsm-icon-sink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em
}

.dsm-icon-sink,
.dsm-icon-sink:before {
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-sink:before {
    content: "\f01a";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.dsm-icon-sink:active:before,
.dsm-icon-sink:focus:before,
.dsm-icon-sink:hover:before {
    -webkit-transform: translateY(4px);
    transform: translateY(4px)
}

@-webkit-keyframes dsm-icon-bob {
    0% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }

    50% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }

    to {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@keyframes dsm-icon-bob {
    0% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }

    50% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }

    to {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@-webkit-keyframes dsm-icon-bob-float {
    to {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@keyframes dsm-icon-bob-float {
    to {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

.dsm-icon-bob {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-bob:before {
    content: "\f077";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-bob:active:before,
.dsm-icon-bob:focus:before,
.dsm-icon-bob:hover:before {
    -webkit-animation-name: dsm-icon-bob-float, dsm-icon-bob;
    animation-name: dsm-icon-bob-float, dsm-icon-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
}

@-webkit-keyframes dsm-icon-hang {
    0% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }

    50% {
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    to {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@keyframes dsm-icon-hang {
    0% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }

    50% {
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    to {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@-webkit-keyframes dsm-icon-hang-sink {
    to {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@keyframes dsm-icon-hang-sink {
    to {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

.dsm-icon-hang {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-hang:before {
    content: "\f078";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-hang:active:before,
.dsm-icon-hang:focus:before,
.dsm-icon-hang:hover:before {
    -webkit-animation-name: dsm-icon-hang-sink, dsm-icon-hang;
    animation-name: dsm-icon-hang-sink, dsm-icon-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
}

@-webkit-keyframes dsm-icon-wobble-horizontal {
    16.65% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }

    33.3% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

    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)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes dsm-icon-wobble-horizontal {
    16.65% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }

    33.3% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

    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)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.dsm-icon-wobble-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-wobble-horizontal:before {
    content: "\f061";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-wobble-horizontal:active:before,
.dsm-icon-wobble-horizontal:focus:before,
.dsm-icon-wobble-horizontal:hover:before {
    -webkit-animation-name: dsm-icon-wobble-horizontal;
    animation-name: dsm-icon-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
}

@-webkit-keyframes dsm-icon-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }

    33.3% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

    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)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes dsm-icon-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }

    33.3% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

    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)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.dsm-icon-wobble-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-wobble-vertical:before {
    content: "\f062";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-wobble-vertical:active:before,
.dsm-icon-wobble-vertical:focus:before,
.dsm-icon-wobble-vertical:hover:before {
    -webkit-animation-name: dsm-icon-wobble-vertical;
    animation-name: dsm-icon-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
}

@-webkit-keyframes dsm-icon-buzz {
    50% {
        -webkit-transform: translateX(3px) rotate(2deg);
        transform: translateX(3px) rotate(2deg)
    }

    to {
        -webkit-transform: translateX(-3px) rotate(-2deg);
        transform: translateX(-3px) rotate(-2deg)
    }
}

@keyframes dsm-icon-buzz {
    50% {
        -webkit-transform: translateX(3px) rotate(2deg);
        transform: translateX(3px) rotate(2deg)
    }

    to {
        -webkit-transform: translateX(-3px) rotate(-2deg);
        transform: translateX(-3px) rotate(-2deg)
    }
}

.dsm-icon-buzz {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-buzz:before {
    content: "\f017";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-buzz:active:before,
.dsm-icon-buzz:focus:before,
.dsm-icon-buzz:hover:before {
    -webkit-animation-name: dsm-icon-buzz;
    animation-name: dsm-icon-buzz;
    -webkit-animation-duration: .15s;
    animation-duration: .15s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes dsm-icon-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)
    }

    to {
        -webkit-transform: translateX(-1px) rotate(0);
        transform: translateX(-1px) rotate(0)
    }
}

@keyframes dsm-icon-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)
    }

    to {
        -webkit-transform: translateX(-1px) rotate(0);
        transform: translateX(-1px) rotate(0)
    }
}

.dsm-icon-buzz-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    padding-right: 2.2em;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.dsm-icon-buzz-out:before {
    content: "\f023";
    position: absolute;
    right: 1em;
    padding: 0 1px;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dsm-icon-buzz-out:active:before,
.dsm-icon-buzz-out:focus:before,
.dsm-icon-buzz-out:hover:before {
    -webkit-animation-name: dsm-icon-buzz-out;
    animation-name: dsm-icon-buzz-out;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.dsm-curl-top-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-curl-top-left:before {
    pointer-events: none;
    position: absolute;
    content: "";
    height: 0;
    width: 0;
    top: 0;
    left: 0;
    background: #fff;
    background: linear-gradient(135deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr="#ffffff", endColorstr="#000000");
    z-index: 1000;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.dsm-curl-top-left:active:before,
.dsm-curl-top-left:focus:before,
.dsm-curl-top-left:hover:before {
    width: 25px;
    height: 25px
}

.dsm-curl-top-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-curl-top-right:before {
    pointer-events: none;
    position: absolute;
    content: "";
    height: 0;
    width: 0;
    top: 0;
    right: 0;
    background: #fff;
    background: linear-gradient(225deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.dsm-curl-top-right:active:before,
.dsm-curl-top-right:focus:before,
.dsm-curl-top-right:hover:before {
    width: 25px;
    height: 25px
}

.dsm-curl-bottom-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-curl-bottom-right:before {
    pointer-events: none;
    position: absolute;
    content: "";
    height: 0;
    width: 0;
    bottom: 0;
    right: 0;
    background: #fff;
    background: linear-gradient(315deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    box-shadow: -1px -1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.dsm-curl-bottom-right:active:before,
.dsm-curl-bottom-right:focus:before,
.dsm-curl-bottom-right:hover:before {
    width: 25px;
    height: 25px
}

.dsm-curl-bottom-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative
}

.dsm-curl-bottom-left:before {
    pointer-events: none;
    position: absolute;
    content: "";
    height: 0;
    width: 0;
    bottom: 0;
    left: 0;
    background: #fff;
    background: linear-gradient(45deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    box-shadow: 1px -1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.dsm-curl-bottom-left:active:before,
.dsm-curl-bottom-left:focus:before,
.dsm-curl-bottom-left:hover:before {
    width: 25px;
    height: 25px
}
@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;font-display:block;src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot);src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff2) format("woff2"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff) format("woff"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.ttf) format("truetype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.svg#fontawesome) format("svg")}@font-face{font-family:FontAwesome;font-style:normal;font-weight:900;font-display:block;src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot);src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2) format("woff2"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff) format("woff"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.ttf) format("truetype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.svg#fontawesome) format("svg")}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;font-display:block;src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot);src:url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff2) format("woff2"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff) format("woff"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.ttf) format("truetype"),url(//visionwest.org.nz/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.svg#fontawesome) format("svg")}
.mfp-wrap .mfp-container button:hover{background:transparent!important}.mfp-wrap .mfp-arrow:active{position:absolute;top:50%}.mfp-wrap .mfp-close:active{position:absolute;top:-10px}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after,.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{font-family:ETmodules;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mfp-fade.mfp-bg{opacity:.001;-webkit-transition:all .5s ease-out;transition:all .5s ease-out}.mfp-fade.mfp-bg.mfp-ready{opacity:.8}.mfp-fade.mfp-bg.mfp-removing{opacity:0}.mfp-fade .mfp-wrap.mfp-wrap.mfp-ready .mfp-content{opacity:1}.mfp-fade .mfp-wrap.mfp-wrap.mfp-removing .mfp-content{opacity:0}.mfp-fade .mfp-wrap .mfp-content{opacity:.001;-webkit-transition:all .5s ease-out;transition:all .5s ease-out}.mfp-bg{z-index:1000000;overflow:hidden;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-bg,.mfp-wrap{top:0;left:0;width:100%;height:100%;position:fixed}.mfp-wrap{z-index:1000001;outline:none!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:"";display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:zoom-in}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:.55;filter:alpha(opacity=55);top:50%;margin:-32px 0 0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow-left{left:10px}.mfp-arrow-right{right:10px}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}.mfp-arrow{background:none!important;margin-top:-32px!important;line-height:1em!important}.mfp-arrow,.mfp-arrow:after{width:48px!important;height:48px!important}.mfp-arrow:after{margin:0!important;top:0!important;border:none!important}.mfp-arrow-left{left:0!important}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after,.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border:none;font-size:64px;color:#fff}.mfp-arrow-left:before,.mfp-arrow-right:before{display:none}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{content:"4"}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{content:"5"}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{font-size:64px;font-family:Open Sans,Arial,sans-serif;font-weight:200;top:-10px;opacity:.2}.mfp-iframe-holder .mfp-close:hover,.mfp-image-holder .mfp-close:hover{opacity:1}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure,img.mfp-img{line-height:0}.mfp-figure:after{content:"";position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-height:300px),screen and (max-width:800px) and (orientation:landscape){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}
/*.et_pb_equal_columns .dsm_card_carousel_wrapper .dsm_card_carousel_child {
    display: flex;
    height: auto !important;
    align-self: stretch;
}
.et_pb_equal_columns .dsm_card_carousel_child>div:first-of-type {
    height: 100%;
    align-self: stretch;
  }
.et_pb_equal_columns .dsm_card_carousel_child_vb_outer_wrapper {
    height: 100%;
}

.et_pb_equal_columns .dsm_card_carousel_child_wrapper {
    display: flex;
    height: calc(100% - 240px);
    flex-direction: column; 
    justify-content: center;
}

*/
.dsm_card_carousel_child_wrapper {
    padding: 20px;
}

.dsm_card_carousel_child_image_wrapper {
    padding: 0;
    position: relative;
    width: 100%;
    line-height: 0;
    border-style: solid;
    border-width: 0;
    justify-content: flex-start;
    display: flex;
}

.dsm_card_carousel_child_img {
    display: block;
    align-self: center;
}

.dsm_card_carousel_image_stretch {
    width: 100%;
}

/*Child*/
.dsm_card_carousel_child>div:first-of-type {
    border-style: solid;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
}

.dsm_card_carousel_child_badge_text {
    position: absolute;
    padding: 7px 15px;
    max-width: 100%;
    border-radius: 50px;
    background-color: #fff;
    font-size: 12px;
    border-style: solid;
    border-width: 0;
    line-height: 1em;
    z-index: 3;
}

.dsm_card_carousel_child_badge_top_right .dsm_card_carousel_child_badge_text {
    top: 1rem;
    right: 1rem;
}

.dsm_card_carousel_child_badge_top_left .dsm_card_carousel_child_badge_text {
    top: 1rem;
    left: 1rem;
}

.dsm_card_carousel_child_badge_top_center .dsm_card_carousel_child_badge_text {
    top: 1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.dsm_card_carousel_child_badge_bottom_right .dsm_card_carousel_child_badge_text {
    bottom: 1rem;
    right: 1rem;
}

.dsm_card_carousel_child_badge_bottom_left .dsm_card_carousel_child_badge_text {
    bottom: 1rem;
    left: 1rem;
}

.dsm_card_carousel_child_badge_bottom_center .dsm_card_carousel_child_badge_text {
    bottom: 1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.dsm_card_carousel_child_badge_center .dsm_card_carousel_child_badge_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.dsm_card_carousel_child_badge_center_left {
    display: flex;
    justify-content: left;
    align-items: center;
}

.dsm_card_carousel_child_badge_center_left .dsm_card_carousel_child_badge_text {
    left: 1rem;
}

.dsm_card_carousel_child_badge_center_right {
    display: flex;
    justify-content: right;
    align-items: center;
}

.dsm_card_carousel_child_badge_center_right .dsm_card_carousel_child_badge_text {
    right: 1rem;
}

.dsm_card_carousel_child_image_background {
    position: absolute;
    width: 100%;
    height: 100%;
}

/*Overlay*/
.dsm_card_carousel_child .et_overlay {
    border-width: 0;
}

.dsm_card_carousel_child_image_wrapper .dsm-card-icon-empty.et_overlay:before {
    display: none;
}

.dsm-card-overlay-off .et_overlay {
    opacity: 1;
    z-index: 0;
}

.dsm-card-overlay-off:hover .et_overlay {
    opacity: 0;
}

.dsm_card_carousel_child_image_wrapper .et_overlay {
    display: flex;

}

.dsm_card_carousel_child_image_wrapper .et_overlay:before {
    /*
    top: 0;
    left: 0;*/
    margin: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/*Animation*/

.dsm_card_carousel_child_image_animation .dsm_card_carousel_child_image_wrapper {
    overflow: hidden;
}

.dsm_card_carousel_child_image_animation_zoom_in:hover .dsm_card_carousel_child_image_background {
    transform: scale(1.5);
}

.dsm_card_carousel_child_image_animation_zoom_out .dsm_card_carousel_child_image_background {
    transform: scale(1.5);
}

.dsm_card_carousel_child_image_animation_zoom_out:hover .dsm_card_carousel_child_image_background {
    transform: scale(1);
}

.dsm_card_carousel_child_image_animation_zoom_in_n_rotate:hover .dsm_card_carousel_child_image_background {
    transform: scale(1.5) rotate(25deg);
}

.dsm_card_carousel_child_image_animation_zoom_out_n_rotate .dsm_card_carousel_child_image_background {
    transform: scale(1.5) rotate(25deg);
}

.dsm_card_carousel_child_image_animation_zoom_out_n_rotate:hover .dsm_card_carousel_child_image_background {
    transform: scale(1) rotate(0);
}
.et_overlay{z-index:-1;position:absolute;top:0;left:0;display:block;width:100%;height:100%;background:hsla(0,0%,100%,.9);opacity:0;pointer-events:none;-webkit-transition:all .3s;transition:all .3s;border:1px solid #e5e5e5;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.et_overlay:before{color:#2ea3f2;content:"\E050";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:32px;-webkit-transition:all .4s;transition:all .4s}.et_portfolio_image,.et_shop_image{position:relative;display:block}.et_pb_has_overlay:not(.et_pb_image):hover .et_overlay,.et_portfolio_image:hover .et_overlay,.et_shop_image:hover .et_overlay{z-index:3;opacity:1}#ie7 .et_overlay,#ie8 .et_overlay{display:none}.et_pb_module.et_pb_has_overlay{position:relative}.et_pb_module.et_pb_has_overlay .et_overlay,article.et_pb_has_overlay{border:none}
/**
 * Swiper 12.1.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 24, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/* ==========================================================================
   Divi Supreme Pro — Swiper 12 compatibility (D4 carousel modules)
   Markup retains swiper-container; core Swiper 12 targets .swiper for overflow.
   ========================================================================== */

/* Legacy horizontal class alias (D4 pagination wrapper) */
.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  left: 0;
  top: var(--swiper-pagination-top, auto);
  width: 100%;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  left: var(--swiper-pagination-left, auto);
  right: var(--swiper-pagination-right, 8px);
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

/* Shared overflow clipping for legacy container class */
.dsm_card_carousel .swiper-container,
.dsm_image_carousel .swiper-container,
.dsm_blog_carousel .swiper-container,
.dsm_post_carousel .swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  width: 100%;
  max-width: 100%;
}

/* Coverflow: keep slides clickable */
.dsm_card_carousel .swiper-container-coverflow .swiper-slide,
.dsm_image_carousel .swiper-container-coverflow .swiper-slide,
.dsm_blog_carousel .swiper-container-coverflow .swiper-slide,
.dsm_post_carousel .swiper-container-coverflow .swiper-slide,
.dsm_card_carousel .swiper-coverflow .swiper-slide,
.dsm_image_carousel .swiper-coverflow .swiper-slide,
.dsm_blog_carousel .swiper-coverflow .swiper-slide,
.dsm_post_carousel .swiper-coverflow .swiper-slide {
  pointer-events: auto;
}

.dsm_card_carousel .swiper-container-coverflow .swiper-wrapper,
.dsm_image_carousel .swiper-container-coverflow .swiper-wrapper,
.dsm_blog_carousel .swiper-container-coverflow .swiper-wrapper,
.dsm_post_carousel .swiper-container-coverflow .swiper-wrapper,
.dsm_card_carousel .swiper-coverflow .swiper-wrapper,
.dsm_image_carousel .swiper-coverflow .swiper-wrapper,
.dsm_blog_carousel .swiper-coverflow .swiper-wrapper,
.dsm_post_carousel .swiper-coverflow .swiper-wrapper {
  pointer-events: none;
}

/* Firefox 3D stacking fixes */
@-moz-document url-prefix() {
  .dsm_card_carousel .swiper-container:not(.swiper-container-cube):not(.swiper-cube) .swiper-wrapper,
  .dsm_image_carousel .swiper-container:not(.swiper-container-cube):not(.swiper-cube) .swiper-wrapper,
  .dsm_blog_carousel .swiper-container:not(.swiper-container-cube):not(.swiper-cube) .swiper-wrapper,
  .dsm_post_carousel .swiper-container:not(.swiper-container-cube):not(.swiper-cube) .swiper-wrapper {
    transform-style: flat !important;
  }

  .dsm_card_carousel .swiper-container.dsm_card_carousel_wrapper[data-effect="coverflow"] .swiper-wrapper,
  .dsm_card_carousel .swiper-container.dsm_card_carousel_wrapper[data-effect="flip"] .swiper-wrapper,
  .dsm_card_carousel .swiper-container.dsm_card_carousel_wrapper[data-effect="cube"] .swiper-wrapper,
  .dsm_image_carousel .swiper-container.dsm_image_carousel_container[data-effect="coverflow"] .swiper-wrapper,
  .dsm_image_carousel .swiper-container.dsm_image_carousel_container[data-effect="flip"] .swiper-wrapper,
  .dsm_image_carousel .swiper-container.dsm_image_carousel_container[data-effect="cube"] .swiper-wrapper,
  .dsm_blog_carousel .swiper-container.dsm_blog_carousel_wrapper[data-effect="coverflow"] .swiper-wrapper,
  .dsm_blog_carousel .swiper-container.dsm_blog_carousel_wrapper[data-effect="flip"] .swiper-wrapper,
  .dsm_blog_carousel .swiper-container.dsm_blog_carousel_wrapper[data-effect="cube"] .swiper-wrapper,
  .dsm_post_carousel .swiper-container.dsm-post-carousel-container[data-effect="coverflow"] .swiper-wrapper,
  .dsm_post_carousel .swiper-container.dsm-post-carousel-container[data-effect="flip"] .swiper-wrapper,
  .dsm_post_carousel .swiper-container.dsm-post-carousel-container[data-effect="cube"] .swiper-wrapper {
    transform-style: preserve-3d !important;
  }

  .swiper-container-cube.swiper-container-3d .swiper-wrapper,
  .swiper.swiper-cube.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d !important;
  }

  .swiper-container-cube .swiper-slide,
  .swiper.swiper-cube .swiper-slide {
    backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    transform: translateZ(0.01px) rotateY(0deg);
  }
}

/* Swiper 12 nav: hide default SVG; Blog/Post carousels use ETmodules icons via data-icon on ::after */
.dsm_blog_carousel .swiper-button-prev::after,
.dsm_blog_carousel .swiper-button-next::after,
.dsm_post_carousel .swiper-button-prev::after,
.dsm_post_carousel .swiper-button-next::after {
  content: attr(data-icon);
  font-family: ETmodules !important;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.dsm_card_carousel .swiper-button-prev::after,
.dsm_card_carousel .swiper-button-next::after,
.dsm_image_carousel .swiper-button-prev::after,
.dsm_image_carousel .swiper-button-next::after {
  font-family: inherit;
}

.dsm_card_carousel .swiper-button-prev .swiper-navigation-icon,
.dsm_card_carousel .swiper-button-next .swiper-navigation-icon,
.dsm_image_carousel .swiper-button-prev .swiper-navigation-icon,
.dsm_image_carousel .swiper-button-next .swiper-navigation-icon,
.dsm_blog_carousel .swiper-button-prev .swiper-navigation-icon,
.dsm_blog_carousel .swiper-button-next .swiper-navigation-icon,
.dsm_post_carousel .swiper-button-prev .swiper-navigation-icon,
.dsm_post_carousel .swiper-button-next .swiper-navigation-icon,
.dsm_card_carousel .swiper-button-prev svg,
.dsm_card_carousel .swiper-button-next svg,
.dsm_image_carousel .swiper-button-prev svg,
.dsm_image_carousel .swiper-button-next svg,
.dsm_blog_carousel .swiper-button-prev svg,
.dsm_blog_carousel .swiper-button-next svg,
.dsm_post_carousel .swiper-button-prev svg,
.dsm_post_carousel .swiper-button-next svg {
  display: none !important;
}

/* Cube visibility (legacy + Swiper 12 class) */
.dsm-blog-carousel .swiper-container-cube .swiper-slide:not(.swiper-slide-active),
.dsm-blog-carousel .swiper-cube .swiper-slide:not(.swiper-slide-active),
.dsm-post-carousel .swiper-container-cube .swiper-slide:not(.swiper-slide-active),
.dsm-post-carousel .swiper-cube .swiper-slide:not(.swiper-slide-active) {
  z-index: 0;
}

/* Grid / multi-row wrapper height */
.swiper-container-multirow > .swiper-wrapper,
.swiper-grid > .swiper-wrapper,
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper,
.swiper-grid-column > .swiper-wrapper {
  flex-direction: column;
  flex-wrap: wrap;
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide,
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper,
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* --------------------------------------------------------------------------
   Swiper 12 sibling nav (.swiper-horizontal ~ .swiper-button-* inset 4px).
   DSM arrows sit outside the track; restore module defaults (specificity > core).
   -------------------------------------------------------------------------- */

.dsm_blog_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_blog_carousel .swiper-button-prev,
.dsm_post_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_post_carousel .swiper-button-prev {
  left: -50px;
  right: auto;
}

.dsm_blog_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_blog_carousel .swiper-button-next,
.dsm_post_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_post_carousel .swiper-button-next {
  right: -50px;
  left: auto;
}

@media (max-width: 767px) {
  .dsm_blog_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
  .dsm_blog_carousel .swiper-button-prev,
  .dsm_post_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
  .dsm_post_carousel .swiper-button-prev {
    left: -25px;
  }

  .dsm_blog_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
  .dsm_blog_carousel .swiper-button-next,
  .dsm_post_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
  .dsm_post_carousel .swiper-button-next {
    right: -25px;
  }
}

.dsm_card_carousel .dsm_card_carousel_arrow_outside .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_card_carousel .dsm_card_carousel_arrow_outside .swiper-button-prev {
  left: -60px;
  right: auto;
}

.dsm_card_carousel .dsm_card_carousel_arrow_outside .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_card_carousel .dsm_card_carousel_arrow_outside .swiper-button-next {
  right: -60px;
  left: auto;
}

.dsm_card_carousel .dsm_card_carousel_arrow_inside .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_card_carousel .dsm_card_carousel_arrow_inside .swiper-button-prev {
  left: 0;
  right: auto;
}

.dsm_card_carousel .dsm_card_carousel_arrow_inside .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_card_carousel .dsm_card_carousel_arrow_inside .swiper-button-next {
  right: 0;
  left: auto;
}

.dsm_image_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_image_carousel .swiper-button-prev {
  left: -40px;
  right: auto;
}

.dsm_image_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_image_carousel .swiper-button-next {
  right: -40px;
  left: auto;
}

.dsm_image_carousel .dsm_image_carousel_arrow_inside .swiper.swiper-horizontal ~ .swiper-button-prev,
.dsm_image_carousel .dsm_image_carousel_arrow_inside .swiper-button-prev {
  left: 0;
  right: auto;
}

.dsm_image_carousel .dsm_image_carousel_arrow_inside .swiper.swiper-horizontal ~ .swiper-button-next,
.dsm_image_carousel .dsm_image_carousel_arrow_inside .swiper-button-next {
  right: 0;
  left: auto;
}

@media (max-width: 768px) {
  .dsm_image_carousel .swiper.swiper-horizontal ~ .swiper-button-prev,
  .dsm_image_carousel .swiper-button-prev {
    left: -36px;
  }

  .dsm_image_carousel .swiper.swiper-horizontal ~ .swiper-button-next,
  .dsm_image_carousel .swiper-button-next {
    right: -36px;
  }

  .dsm_image_carousel
    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside
    .swiper.swiper-horizontal
    ~ .swiper-button-prev,
  .dsm_image_carousel
    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside
    .swiper-button-prev {
    left: 0;
  }

  .dsm_image_carousel
    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside
    .swiper.swiper-horizontal
    ~ .swiper-button-next,
  .dsm_image_carousel
    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside
    .swiper-button-next {
    right: 0;
  }
}
/*.dsm_card_carousel_child.et_pb_module.et-animated--vb {
    display: none;
}*/
/*New divi icon update*/
.dsm_card_carousel .et_pb_button[data-icon]:not([data-icon=""]):after {
  content: attr(data-icon);
}

.dsm_card_carousel {
  margin-bottom: 60px;
}

/* Swiper 12 slides default to height:100%; collapse when the track has no explicit height. */
.dsm_card_carousel .dsm_card_carousel_wrapper .swiper-slide,
.dsm_card_carousel .dsm_card_carousel_wrapper.swiper-autoheight > .swiper-wrapper > .swiper-slide {
  height: auto;
}

/* VB: slide is Divi's outer child shell; card content lives inside et_pb_module_inner */
.dsm_card_carousel .dsm_card_carousel_wrapper > .swiper-wrapper > .swiper-slide > .dsm_card_carousel_child_vb_outer_wrapper {
  height: auto;
}

.dsm_card_carousel .dsm_card_carousel_arrow {
  border-style: solid;
}

.dsm_card_carousel .swiper-button-prev,
.dsm_card_carousel .swiper-button-next {
  height: 60px;
  width: 60px;
  background-image: none;
  background-size: initial;
  display: flex;
  align-items: center;
  margin-top: -30px;
}

.dsm_card_carousel_arrow_outside .swiper-button-prev {
  left: -60px;
}

.dsm_card_carousel_arrow_outside .swiper-button-next {
  right: -60px;
}

.dsm_card_carousel_arrow_inside .swiper-button-prev {
  left: 0;
}

.dsm_card_carousel_arrow_inside .swiper-button-next {
  right: 0;
}

.dsm_card_carousel .swiper-button-prev:after,
.dsm_card_carousel .swiper-button-next:after {
  display: none;
}

.dsm_card_carousel img.swiper-lazy {
  opacity: 1;
}

/*equal height*/
.dsm_card_carousel_equal_height .dsm_card_carousel_wrapper .dsm_card_carousel_child:not(.dsm_card_carousel_child_vb_outer_wrapper),
.dsm_card_carousel_equal_height .dsm_card_carousel_wrapper .swiper-slide:not(.dsm_card_carousel_child_vb_outer_wrapper),
.et_pb_equal_columns .dsm_card_carousel_wrapper .dsm_card_carousel_child:not(.dsm_card_carousel_child_vb_outer_wrapper),
.et_pb_equal_columns .dsm_card_carousel_wrapper .swiper-slide:not(.dsm_card_carousel_child_vb_outer_wrapper) {
  height: auto !important;
}

.dsm_card_carousel_equal_height .swiper-slide>div:first-of-type,
.dsm_card_carousel_equal_height .dsm_card_carousel_child_vb_outer_wrapper,
.dsm_card_carousel_equal_height .dsm_card_carousel_child_vb_outer_wrapper>div:first-of-type,
.et_pb_equal_columns .dsm_card_carousel_child_vb_outer_wrapper,
.et_pb_equal_columns .dsm_card_carousel_child_vb_outer_wrapper>div:first-of-type {
  height: 100%;
}

.dsm-card-button-alignment .dsm_card_carousel_child>div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.dsm-card-button-alignment .dsm_card_wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.dsm-card-button-alignment-bottom .et_pb_button_wrapper {
  margin-top: auto !important;
}

.dsm-card-button-alignment-top .et_pb_button_wrapper {
  margin-bottom: auto;
}

.dsm-card-button-alignment-center .et_pb_button_wrapper {
  margin-bottom: auto;
  margin-top: auto !important;
}

/*
.dsm_card_carousel_equal_height:not(.dsm_card_carousel_layout_stack) .dsm_card_carousel_child>div:first-of-type,
.et_pb_equal_columns .dsm_card_carousel:not(.dsm_card_carousel_layout_stack) .dsm_card_carousel_child>div:first-of-type,
.dsm_card_carousel_equal_height:not(.dsm_card_carousel_layout_stacked) .dsm_card_carousel_child>div:first-of-type,
.et_pb_equal_columns .dsm_card_carousel:not(.dsm_card_carousel_layout_stacked) .dsm_card_carousel_child>div:first-of-type {
    display: flex;
}*/

.dsm_card_carousel .swiper-button-prev:before,
.dsm_card_carousel .swiper-container-rtl .swiper-button-next:before,
.dsm_card_carousel .swiper-button-next:before,
.dsm_card_carousel .swiper-container-rtl .swiper-button-prev:before {
  font-size: 40px;
  color: #666;
  text-shadow: 0 0;
  font-family: ETmodules;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1;
  text-transform: none;
  content: attr(data-icon);
  margin: 0 auto;
}

/*layout*/

.dsm_card_carousel_layout_inline .dsm_card_carousel_child,
.dsm_card_carousel_layout_inline .dsm_card_carousel_child .et_pb_module_inner {
  display: flex;
  align-items: center;
  width: 100%;
}

.dsm-card-button-alignment.dsm_card_carousel_layout_inline .dsm_card_carousel_child>div {
  flex-direction: initial;
}

.dsm-card-button-alignment.dsm_card_carousel_layout_inline .dsm_card_wrapper {
  height: 100%;
}

.dsm_card_carousel_layout_inline .dsm_card_carousel_child_image_wrapper {
  order: 0;
  flex: 0 0 50%;
}

/*pagination*/

.dsm_card_carousel .swiper-container-horizontal .swiper-pagination-bullets,
.dsm_card_carousel .swiper-pagination-custom,
.dsm_card_carousel .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.dsm_card_carousel .swiper-pagination-bullets {
  bottom: -30px;
  left: 0;
  width: 100%;
}

.dsm_card_carousel .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.dsm_card_carousel_pagination_outside .dsm_card_carousel_container {
  padding-bottom: 30px;
}

.dsm_card_carousel_pagination_outside .swiper-container-horizontal .swiper-pagination-bullets,
.dsm_card_carousel_pagination_outside .swiper-pagination-custom,
.dsm_card_carousel_pagination_outside .swiper-pagination-fraction {
  bottom: 0;
}

.dsm_card_carousel .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: rgba(0, 0, 0, 0.75);
}

/*lightbox*/
.dsm-image-lightbox,
.dsm-video-lightbox,
.dsm-card-image-lightbox,
.dsm-card-video-lightbox {
  cursor: pointer;
}

/*Badge*/
.dsm_card_carousel_badge_hover .dsm_card_carousel_child .dsm_card_carousel_child_badge_text {
  opacity: 0;
  transition: opacity 300ms;
}

.dsm_card_carousel_badge_hover .dsm_card_carousel_child:hover .dsm_card_carousel_child_badge_text {
  opacity: 1;
}

/* Smooth Scrolling */
.dsm_card_carousel_infinite_scroll .swiper-wrapper {
  transition-timing-function: linear !important;
}

.dsm_card_carousel_infinite_scroll:hover .swiper-wrapper {
  transition-timing-function: linear !important;
}

.dsm_card_carousel_infinite_scroll .swiper-pagination {
  display: none;
}

.dsm_card_carousel_equal_height.dsm_card_carousel_layout_stack .dsm_card_carousel_child>div:first-of-type {}

@media only screen and (min-width: 981px) {
  .dsm_card_carousel_equal_height.dsm_card_carousel_layout_stack .dsm_card_carousel_child>div:first-of-type {}
}

@media only screen and (max-width: 980px) {
  .dsm_card_carousel_tablet_layout_stacked .dsm_card_carousel_child>div:first-of-type {
    display: initial;
  }

  .dsm_card_carousel_tablet_layout_inline .dsm_card_carousel_child>div:first-of-type {
    display: flex;
  }

  .dsm_card_carousel_tablet_layout_inline .dsm_card_carousel_child_image_wrapper {
    order: 0;
    flex: 0 0 50%;
  }
}

@media only screen and (max-width: 767px) {
  .dsm_card_carousel_phone_layout_stacked .dsm_card_carousel_child>div:first-of-type {
    display: initial;
  }

  .dsm_card_carousel_phone_layout_inline .dsm_card_carousel_child>div:first-of-type {
    display: flex;
  }

  .dsm_card_carousel_phone_layout_inline .dsm_card_carousel_child_image_wrapper {
    order: 0;
    flex: 0 0 50%;
  }

  .dsm_card_carousel .swiper-button-prev {
    left: -36px;
  }

  .dsm_card_carousel .swiper-button-next {
    right: -36px;
  }

  .dsm_card_carousel .swiper-button-prev:before,
  .dsm_card_carousel .swiper-button-next:before,
  .dsm_card_carousel .swiper-button-next:before,
  .swiper-container-rtl .swiper-button-prev:before {
    font-size: 36px;
  }

  .dsm_card_carousel .swiper-button-prev,
  .dsm_card_carousel .swiper-button-next {
    height: 36px;
    width: 36px;
  }

  .dsm_card_carousel_arrow_outside.dsm_card_carousel_arrow_mobile_inside .swiper-button-prev {
    left: 0;
  }

  .dsm_card_carousel_arrow_outside.dsm_card_carousel_arrow_mobile_inside .swiper-button-next {
    right: 0;
  }
}