.dsm_block_reveal_image {
    display: block;
    line-height: 0;
}

.dsm_block_reveal_image .et_pb_image_wrap {
    display: inline-block;
    position: relative;
	max-width: 100%;
	overflow: hidden;
}

.dsm_block_reveal_image .et_overlay {
    border-width: 0;
}

.dsm_block_reveal_image_icon_empty.et_overlay:before {
    display: none;
}

.dsm_block_reveal_image .dsm_block_reveal_image_overlay_off .et_overlay {
    opacity: 1;
    z-index: 3;
}

.dsm_block_reveal_image:hover .dsm_block_reveal_image_overlay_off .et_overlay {
    opacity: 0;
}

.dsm_block_reveal_image img {
    position: relative;
}

.dsm-lightbox-custom {
    max-width: 100% !important;
}

.dsm-lightbox-custom.mfp-iframe-holder .mfp-close,
.dsm-lightbox-custom.mfp-image-holder .mfp-close {
    color: rgba(255, 255, 255, 0.2);
    opacity: 1;
    transition: all .4s ease-in-out;
}

/* Block Reveal */
.dsm_block_reveal_image .et_pb_image_wrap img, .dsm_block_image_reveal_lr img, .dsm_block_image_reveal_rl img, .dsm_block_image_reveal_tb img, .dsm_block_image_reveal_bt img {
    opacity: 0;
    animation: fadeInImg 0.25s linear forwards;
    -webkit-animation: fadeInImg 0.25s linear forwards;
    animation-delay: .5s;
}

.dsm_block_image_reveal_lr .dsm_block_image_reveal {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-animation: blockRevealLR 0.25s 0s, blockRevealOutLR 0.5s 0.5s;
    animation: blockRevealLR 0.25s 0s, blockRevealOutLR 0.5s 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.dsm_block_image_reveal_rl .dsm_block_image_reveal {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-animation: blockRevealRL 0.25s 0s, blockRevealOutRL 0.5s 0.5s;
    animation: blockRevealRL 0.25s 0s, blockRevealOutRL 0.5s 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.dsm_block_image_reveal_tb .dsm_block_image_reveal {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-animation: blockRevealTB 0.25s 0s, blockRevealOutTB 0.5s 0.5s;
    animation: blockRevealTB 0.25s 0s, blockRevealOutTB 0.5s 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.dsm_block_image_reveal_bt .dsm_block_image_reveal {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-animation: blockRevealBT 0.25s 0s, blockRevealOutBT 0.5s 0.5s;
    animation: blockRevealBT 0.25s 0s, blockRevealOutBT 0.5s 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
.dsm_block_image_reveal_content {
    opacity: 0;
}
.dsm_block_image_reveal, .dsm_block_image_reveal_front {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
	height: 100%;
    z-index: 1;
    pointer-events: none;
}
.dsm_block_image_reveal_front {
	opacity: 0;
}

@-webkit-keyframes fadeInImg {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeInImg {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes blockRevealLR {
    0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0);
	}
}

@keyframes blockRevealLR {
    0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0);
	}
}

@-webkit-keyframes blockRevealOutLR {
    0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(101%);
	}
}

@keyframes blockRevealOutLR {
    0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(101%);
	}
}


@keyframes blockRevealRL {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(0);
	}
}
@-webkit-keyframes blockRevealRL {
    0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(0);
	}
}
@keyframes blockRevealOutRL {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-101%);
	}
}
@-webkit-keyframes blockRevealOutRL {
    0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-101%);
	}
}


@keyframes blockRevealTB {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}
@-webkit-keyframes blockRevealTB {
    00% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes blockRevealOutTB {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(101%);
	}
}
@-webkit-keyframes blockRevealOutTB {
    0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(101%);
	}
}

@keyframes blockRevealBT {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}
@-webkit-keyframes blockRevealBT {
    0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes blockRevealOutBT {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-101%);
	}
}
@-webkit-keyframes blockRevealOutBT      {
    0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-101%);
	}
}
@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;font-display:block;src:url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot);src:url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff2) format("woff2"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff) format("woff"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.ttf) format("truetype"),url(//madoco.co/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(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot);src:url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2) format("woff2"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff) format("woff"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.ttf) format("truetype"),url(//madoco.co/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(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot);src:url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff2) format("woff2"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff) format("woff"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.ttf) format("truetype"),url(//madoco.co/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.svg#fontawesome) format("svg")}
.dsm-video-popup-wrap .mfp-iframe-holder .mfp-close {
    top: -60px;
}

.dsm_button .et_pb_button_two {
    margin-left: 20px;
}
.dsm_button .dsm-button-seperator .et_pb_button_two {
    margin-left: 0;
}
.et_pb_button_module_wrappers > a {
    display: inline-block;
}
.dsm-hidden {
    display: none;
}

.dsm-tooltip {
    display: inline-flex;
}

div[data-dsm-tooltip] {
    overflow: visible;
}

[data-dsm-tooltip] {
    position: relative;
    cursor: pointer;
}

[data-dsm-tooltip]:after {
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.18s ease-out 0.18s;
    -moz-transition: all 0.18s ease-out 0.18s;
    -ms-transition: all 0.18s ease-out 0.18s;
    -o-transition: all 0.18s ease-out 0.18s;
    transition: all 0.18s ease-out 0.18s;
    font-family: inherit;
    font-weight: normal;
    font-style: normal;
    text-shadow: none;
    font-size: 12px;
    background: rgba(17, 17, 17, 0.9);
    border-radius: 0.25rem;
    color: #fff;
    content: attr(data-dsm-tooltip);
    text-align: center;
    position: absolute;
    white-space: nowrap;
    line-height: 1.7em;
    z-index: 12;
}

[data-dsm-tooltip]:before {
    background: transparent;
    border: 6px solid transparent;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.18s ease-out 0.18s;
    -moz-transition: all 0.18s ease-out 0.18s;
    -ms-transition: all 0.18s ease-out 0.18s;
    -o-transition: all 0.18s ease-out 0.18s;
    transition: all 0.18s ease-out 0.18s;
    content: '';
    position: absolute;
    z-index: 12;
}

[data-dsm-tooltip]:hover:before,
[data-dsm-tooltip]:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-visible]:before,
[data-dsm-tooltip][data-dsm-tooltip-visible]:after {
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    pointer-events: auto;
}

[data-dsm-tooltip].font-awesome:after {
    font-family: FontAwesome;
}

[data-dsm-tooltip][data-dsm-tooltip-break]:after {
    white-space: pre;
}

[data-dsm-tooltip][data-dsm-tooltip-blunt]:before,
[data-dsm-tooltip][data-dsm-tooltip-blunt]:after {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top"]:after {
    bottom: 100%;
    left: 50%;
    margin-bottom: 12px;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    /*
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;*/
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top"]:before {
    bottom: 100%;
    left: 50%;
    border-top-color: rgba(17, 17, 17, 0.9);
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    /*
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;*/
}

[data-dsm-tooltip][data-dsm-tooltip-placement='top'].dsm-tooltip-fade-in-direction:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='top'].dsm-tooltip-fade-in-direction:after {
    -webkit-transform: translate(-50%, 20px);
    -moz-transform: translate(-50%, 20px);
    -ms-transform: translate(-50%, 20px);
    transform: translate(-50%, 20px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top"]:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement="top"][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top"]:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement="top"][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"]:after {
    bottom: 100%;
    left: 0;
    margin-bottom: 11px;
    -webkit-transform: translate(0, 10px);
    -moz-transform: translate(0, 10px);
    -ms-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"]:before {
    bottom: 100%;
    left: 5px;
    margin-bottom: 5px;
    -webkit-transform: translate(0, 10px);
    -moz-transform: translate(0, 10px);
    -ms-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"]:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"]:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement="top-left"][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"]:after {
    bottom: 100%;
    right: 0;
    margin-bottom: 11px;
    -webkit-transform: translate(0, 10px);
    -moz-transform: translate(0, 10px);
    -ms-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"]:before {
    bottom: 100%;
    right: 5px;
    margin-bottom: 5px;
    -webkit-transform: translate(0, 10px);
    -moz-transform: translate(0, 10px);
    -ms-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"]:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"]:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement="top-right"][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom']:after {
    left: 50%;
    margin-top: 12px;
    top: 100%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom']:before {
    border-bottom-color: rgba(17, 17, 17, 0.9);
    left: 50%;
    top: 100%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom'].dsm-tooltip-fade-in-direction:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom'].dsm-tooltip-fade-in-direction:after {
    -webkit-transform: translate(-50%, -20px);
    -moz-transform: translate(-50%, -20px);
    -ms-transform: translate(-50%, -20px);
    transform: translate(-50%, -20px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom']:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom'][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom']:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom'][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left']:after {
    left: 0;
    margin-top: 11px;
    top: 100%;
    -webkit-transform: translate(0, -10px);
    -moz-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left']:before {
    background: no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");
    background-size: 100% auto;
    width: 18px;
    height: 6px;
    left: 5px;
    margin-top: 5px;
    top: 100%;
    -webkit-transform: translate(0, -10px);
    -moz-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left']:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left'][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left']:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-left'][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right']:after {
    right: 0;
    margin-top: 11px;
    top: 100%;
    -webkit-transform: translate(0, -10px);
    -moz-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right']:before {
    background: no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");
    background-size: 100% auto;
    width: 18px;
    height: 6px;
    right: 5px;
    margin-top: 5px;
    top: 100%;
    -webkit-transform: translate(0, -10px);
    -moz-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right']:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right'][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right']:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='bottom-right'][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='left']:after {
    margin-right: 12px;
    right: 100%;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='left']:before {
    border-left-color: rgba(17, 17, 17, 0.9);
    right: 100%;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='left'].dsm-tooltip-fade-in-direction:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='left'].dsm-tooltip-fade-in-direction:after {
    -webkit-transform: translate(20px, -50%);
    -moz-transform: translate(20px, -50%);
    -ms-transform: translate(20px, -50%);
    transform: translate(20px, -50%)
}

[data-dsm-tooltip][data-dsm-tooltip-placement='left']:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement='left'][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='left']:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='left'][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='right']:after {
    left: 100%;
    margin-left: 12px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

[data-dsm-tooltip][data-dsm-tooltip-placement='right']:before {
    border-right-color: rgba(17, 17, 17, 0.9);
    left: 100%;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

[data-dsm-tooltip][data-dsm-tooltip-placement='right'].dsm-tooltip-fade-in-direction:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='right'].dsm-tooltip-fade-in-direction:after {
    -webkit-transform: translate(-20px, -50%);
    -moz-transform: translate(-20px, -50%);
    -ms-transform: translate(-20px, -50%);
    transform: translate(-20px, -50%)
}

[data-dsm-tooltip][data-dsm-tooltip-placement='right']:hover:after,
[data-dsm-tooltip][data-dsm-tooltip-placement='right'][data-dsm-tooltip-visible]:after {
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-placement='right']:hover:before,
[data-dsm-tooltip][data-dsm-tooltip-placement='right'][data-dsm-tooltip-visible]:before {
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

[data-dsm-tooltip][data-dsm-tooltip-size='small']:after {
    white-space: nowrap;
    padding: .2rem .4rem;
}

[data-dsm-tooltip][data-dsm-tooltip-size='regular']:after {
    white-space: nowrap;
    padding: .3rem .6rem;
}

[data-dsm-tooltip][data-dsm-tooltip-size='large']:after {
    white-space: nowrap;
    padding: .4rem .8rem;
}

[data-dsm-tooltip][data-dsm-tooltip-size='xlarge']:after {
    white-space: nowrap;
    width: 380px;
}

@media screen and (max-width: 768px) {
    [data-dsm-tooltip][data-dsm-tooltip-size='xlarge']:after {
        white-space: normal;
        width: 90vw;
    }
}

[data-dsm-tooltip][data-dsm-tooltip-size='fit']:after {
    white-space: normal;
    width: 100%;
}

.et_pb_button_module_wrappers.et_pb_button_alignment_left {
    text-align: left; }
  
  .et_pb_button_module_wrappers.et_pb_button_alignment_right {
    text-align: right; }
  
  .et_pb_button_module_wrappers.et_pb_button_alignment_center {
    text-align: center; }
  
  /* Button Alignment - Tablet */
  @media all and (max-width: 980px) {
    .et_pb_button_module_wrappers.et_pb_button_alignment_tablet_left {
      text-align: left; }
    .et_pb_button_module_wrappers.et_pb_button_alignment_tablet_right {
      text-align: right; }
    .et_pb_button_module_wrappers.et_pb_button_alignment_tablet_center {
      text-align: center; } }
  
  /* Button Alignment - Phone */
  @media all and (max-width: 767px) {
    .et_pb_button_module_wrappers.et_pb_button_alignment_phone_left {
      text-align: left; }
    .et_pb_button_module_wrappers.et_pb_button_alignment_phone_right {
      text-align: right; }
    .et_pb_button_module_wrappers.et_pb_button_alignment_phone_center {
      text-align: center; } }

  
@media (max-width: 768px) {
    .dsm-button-separator-remove .dsm-button-separator-text {
        display: none;
    }
    .dsm_button .dsm-button-seperator.dsm-button-separator-remove .et_pb_button_two {
        margin-left: 20px;
    }
    .dsm_button .et_pb_button_two {
    	margin-top: 20px;
    }
    .dsm-button-separator-fullwidth .dsm-button-separator-text {
    	display: block;
    	margin-top: 10px;
    	margin-bottom: 10px;
    }
    .dsm-button-separator-fullwidth .et_pb_button_two {
    	margin-top: 0;
    }
}
/*!
 * 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
}
.dsm-gradient-text {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/**
 * Swiper 4.4.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 19, 2018
 */
 .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;
     /* Fix of Webkit flickering */
     z-index: 1;
     /* Fix of Jetpack */
     width: 100%;
 }
 
 .swiper-container-vertical>.swiper-wrapper {
     flex-direction: column;
 }
 
 .swiper-wrapper {
     position: relative;
     width: 100%;
     height: 100%;
     z-index: 1;
     display: flex;
     transition-property: transform;
     box-sizing: content-box;
 }
 
 .swiper-container-android .swiper-slide,
 .swiper-wrapper {
     transform: translate3d(0px, 0, 0);
 }
 
 .swiper-container-multirow>.swiper-wrapper {
     flex-wrap: wrap;
 }
 
 .swiper-container-multirow-column>.swiper-wrapper {
     flex-wrap: wrap;
     flex-direction: column;
 }
 .swiper-container-pointer-events {
     touch-action: pan-y;
   }
   .swiper-container-pointer-events.swiper-container-vertical {
     touch-action: pan-x;
   }
 .swiper-container-free-mode>.swiper-wrapper {
     transition-timing-function: ease-out;
     margin: 0 auto;
 }
 
 .swiper-slide {
     flex-shrink: 0;
     width: 100%;
     height: 100%;
     position: relative;
     transition-property: transform;
 }
 
 .swiper-slide-invisible-blank {
     visibility: hidden;
 }
 
 /* Auto Height */
 .swiper-container-autoheight,
 .swiper-container-autoheight .swiper-slide {
     height: auto;
 }
 
 .swiper-container-autoheight .swiper-wrapper {
     align-items: flex-start;
     transition-property: transform, height;
 }
 
 /* 3D Effects */
 .swiper-container-3d {
     perspective: 1200px;
 }
 
 .swiper-container-3d .swiper-wrapper,
 .swiper-container-3d .swiper-slide,
 .swiper-container-3d .swiper-slide-shadow-left,
 .swiper-container-3d .swiper-slide-shadow-right,
 .swiper-container-3d .swiper-slide-shadow-top,
 .swiper-container-3d .swiper-slide-shadow-bottom,
 .swiper-container-3d .swiper-cube-shadow {
     transform-style: preserve-3d;
 }
 
 .swiper-container-3d .swiper-slide-shadow-left,
 .swiper-container-3d .swiper-slide-shadow-right,
 .swiper-container-3d .swiper-slide-shadow-top,
 .swiper-container-3d .swiper-slide-shadow-bottom {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     pointer-events: none;
     z-index: 10;
 }
 
 .swiper-container-3d .swiper-slide-shadow-left {
     background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
 
 }
 
 .swiper-container-3d .swiper-slide-shadow-right {
     background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
 }
 
 .swiper-container-3d .swiper-slide-shadow-top {
     background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
 }
 
 .swiper-container-3d .swiper-slide-shadow-bottom {
     background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
 }
 
 .swiper-container-wp8-horizontal,
 .swiper-container-wp8-horizontal>.swiper-wrapper {
     -ms-touch-action: pan-y;
     touch-action: pan-y
 }
 
 .swiper-container-wp8-vertical,
 .swiper-container-wp8-vertical>.swiper-wrapper {
     -ms-touch-action: pan-x;
     touch-action: pan-x
 }
 /* CSS Mode */
 .swiper-container-css-mode > .swiper-wrapper {
     overflow: auto;
     scrollbar-width: none;
     /* For Firefox */
     -ms-overflow-style: none;
     /* For Internet Explorer and Edge */
   }
   .swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
     display: none;
   }
   .swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
     scroll-snap-align: start start;
   }
   .swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
     scroll-snap-type: x mandatory;
   }
   .swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
     scroll-snap-type: y mandatory;
   }
 .swiper-button-next,
 .swiper-button-prev {
     position: absolute;
     top: 50%;
     width: 27px;
     height: 44px;
     margin-top: -22px;
     z-index: 10;
     cursor: pointer;
     background-size: 27px 44px;
     background-position: center;
     background-repeat: no-repeat
 }
 
 .swiper-button-next.swiper-button-disabled,
 .swiper-button-prev.swiper-button-disabled {
     opacity: .35;
     cursor: auto;
     pointer-events: none
 }
 
 .swiper-button-prev,
 .swiper-container-rtl .swiper-button-next {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
     left: 10px;
     right: auto
 }
 
 .swiper-button-next,
 .swiper-container-rtl .swiper-button-prev {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
     right: 10px;
     left: auto
 }
 
 .swiper-button-prev.swiper-button-white,
 .swiper-container-rtl .swiper-button-next.swiper-button-white {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
 }
 
 .swiper-button-next.swiper-button-white,
 .swiper-container-rtl .swiper-button-prev.swiper-button-white {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
 }
 
 .swiper-button-prev.swiper-button-black,
 .swiper-container-rtl .swiper-button-next.swiper-button-black {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
 }
 
 .swiper-button-next.swiper-button-black,
 .swiper-container-rtl .swiper-button-prev.swiper-button-black {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
 }
 
 .swiper-button-lock {
     display: none
 }
 
 .swiper-pagination {
     position: absolute;
     text-align: center;
     -webkit-transition: .3s opacity;
     -o-transition: .3s opacity;
     transition: .3s opacity;
     -webkit-transform: translate3d(0, 0, 0);
     transform: translate3d(0, 0, 0);
     z-index: 10
 }
 
 .swiper-pagination.swiper-pagination-hidden {
     opacity: 0
 }
 
 .swiper-container-horizontal>.swiper-pagination-bullets,
 .swiper-pagination-custom,
 .swiper-pagination-fraction {
     bottom: 10px;
     left: 0;
     width: 100%
 }
 
 .swiper-pagination-bullets-dynamic {
     overflow: hidden;
     font-size: 0
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     -webkit-transform: scale(.33);
     -ms-transform: scale(.33);
     transform: scale(.33);
     position: relative
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
     -webkit-transform: scale(1);
     -ms-transform: scale(1);
     transform: scale(1)
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
     -webkit-transform: scale(1);
     -ms-transform: scale(1);
     transform: scale(1)
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
     -webkit-transform: scale(.66);
     -ms-transform: scale(.66);
     transform: scale(.66)
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
     -webkit-transform: scale(.33);
     -ms-transform: scale(.33);
     transform: scale(.33)
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
     -webkit-transform: scale(.66);
     -ms-transform: scale(.66);
     transform: scale(.66)
 }
 
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
     -webkit-transform: scale(.33);
     -ms-transform: scale(.33);
     transform: scale(.33)
 }
 
 .swiper-pagination-bullet {
     width: 8px;
     height: 8px;
     display: inline-block;
     border-radius: 100%;
     background: #000;
     opacity: .2
 }
 
 button.swiper-pagination-bullet {
     border: none;
     margin: 0;
     padding: 0;
     -webkit-box-shadow: none;
     box-shadow: none;
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none
 }
 
 .swiper-pagination-clickable .swiper-pagination-bullet {
     cursor: pointer
 }
 
 .swiper-pagination-bullet-active {
     opacity: 1;
     background: #007aff
 }
 
 .swiper-container-vertical>.swiper-pagination-bullets {
     right: 10px;
     top: 50%;
     -webkit-transform: translate3d(0, -50%, 0);
     transform: translate3d(0, -50%, 0)
 }
 
 .swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
     margin: 6px 0;
     display: block
 }
 
 .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
     top: 50%;
     -webkit-transform: translateY(-50%);
     -ms-transform: translateY(-50%);
     transform: translateY(-50%);
     width: 8px
 }
 
 .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     display: inline-block;
     -webkit-transition: .2s top, .2s -webkit-transform;
     transition: .2s top, .2s -webkit-transform;
     -o-transition: .2s transform, .2s top;
     transition: .2s transform, .2s top;
     transition: .2s transform, .2s top, .2s -webkit-transform
 }
 
 .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
     margin: 0 4px
 }
 
 .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
     left: 50%;
     -webkit-transform: translateX(-50%);
     -ms-transform: translateX(-50%);
     transform: translateX(-50%);
     white-space: nowrap
 }
 
 .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     -webkit-transition: .2s left, .2s -webkit-transform;
     transition: .2s left, .2s -webkit-transform;
     -o-transition: .2s transform, .2s left;
     transition: .2s transform, .2s left;
     transition: .2s transform, .2s left, .2s -webkit-transform
 }
 
 .swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     -webkit-transition: .2s right, .2s -webkit-transform;
     transition: .2s right, .2s -webkit-transform;
     -o-transition: .2s transform, .2s right;
     transition: .2s transform, .2s right;
     transition: .2s transform, .2s right, .2s -webkit-transform
 }
 
 .swiper-pagination-progressbar {
     background: rgba(0, 0, 0, .25);
     position: absolute
 }
 
 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
     background: #007aff;
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     -webkit-transform: scale(0);
     -ms-transform: scale(0);
     transform: scale(0);
     -webkit-transform-origin: left top;
     -ms-transform-origin: left top;
     transform-origin: left top
 }
 
 .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
     -webkit-transform-origin: right top;
     -ms-transform-origin: right top;
     transform-origin: right top
 }
 
 .swiper-container-horizontal>.swiper-pagination-progressbar,
 .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
     width: 100%;
     height: 4px;
     left: 0;
     top: 0
 }
 
 .swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
 .swiper-container-vertical>.swiper-pagination-progressbar {
     width: 4px;
     height: 100%;
     left: 0;
     top: 0
 }
 
 .swiper-pagination-white .swiper-pagination-bullet-active {
     background: #fff
 }
 
 .swiper-pagination-progressbar.swiper-pagination-white {
     background: rgba(255, 255, 255, .25)
 }
 
 .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
     background: #fff
 }
 
 .swiper-pagination-black .swiper-pagination-bullet-active {
     background: #000
 }
 
 .swiper-pagination-progressbar.swiper-pagination-black {
     background: rgba(0, 0, 0, .25)
 }
 
 .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
     background: #000
 }
 
 .swiper-pagination-lock {
     display: none
 }
 
 .swiper-scrollbar {
     border-radius: 10px;
     position: relative;
     -ms-touch-action: none;
     background: rgba(0, 0, 0, .1)
 }
 
 .swiper-container-horizontal>.swiper-scrollbar {
     position: absolute;
     left: 1%;
     bottom: 3px;
     z-index: 50;
     height: 5px;
     width: 98%
 }
 
 .swiper-container-vertical>.swiper-scrollbar {
     position: absolute;
     right: 3px;
     top: 1%;
     z-index: 50;
     width: 5px;
     height: 98%
 }
 
 .swiper-scrollbar-drag {
     height: 100%;
     width: 100%;
     position: relative;
     background: rgba(0, 0, 0, .5);
     border-radius: 10px;
     left: 0;
     top: 0
 }
 
 .swiper-scrollbar-cursor-drag {
     cursor: move
 }
 
 .swiper-scrollbar-lock {
     display: none
 }
 
 .swiper-zoom-container {
     width: 100%;
     height: 100%;
     display: -webkit-box;
     display: -webkit-flex;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: center;
     -webkit-justify-content: center;
     -ms-flex-pack: center;
     justify-content: center;
     -webkit-box-align: center;
     -webkit-align-items: center;
     -ms-flex-align: center;
     align-items: center;
     text-align: center
 }
 
 .swiper-zoom-container>canvas,
 .swiper-zoom-container>img,
 .swiper-zoom-container>svg {
     max-width: 100%;
     max-height: 100%;
     -o-object-fit: contain;
     object-fit: contain
 }
 
 .swiper-slide-zoomed {
     cursor: move
 }
 
 .swiper-lazy-preloader {
     width: 42px;
     height: 42px;
     position: absolute;
     left: 50%;
     top: 50%;
     margin-left: -21px;
     margin-top: -21px;
     z-index: 10;
     -webkit-transform-origin: 50%;
     -ms-transform-origin: 50%;
     transform-origin: 50%;
     -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
     animation: swiper-preloader-spin 1s steps(12, end) infinite
 }
 
 .swiper-lazy-preloader:after {
     display: block;
     content: '';
     width: 100%;
     height: 100%;
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
     background-position: 50%;
     background-size: 100%;
     background-repeat: no-repeat
 }
 
 .swiper-lazy-preloader-white:after {
     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
 }
 
 @-webkit-keyframes swiper-preloader-spin {
     100% {
         -webkit-transform: rotate(360deg);
         transform: rotate(360deg)
     }
 }
 
 @keyframes swiper-preloader-spin {
     100% {
         -webkit-transform: rotate(360deg);
         transform: rotate(360deg)
     }
 }
 
 .swiper-container .swiper-notification {
     position: absolute;
     left: 0;
     top: 0;
     pointer-events: none;
     opacity: 0;
     z-index: -1000
 }
 
 .swiper-container-fade.swiper-container-free-mode .swiper-slide {
     -webkit-transition-timing-function: ease-out;
     -o-transition-timing-function: ease-out;
     transition-timing-function: ease-out
 }
 
 .swiper-container-fade .swiper-slide {
     pointer-events: none;
     -webkit-transition-property: opacity;
     -o-transition-property: opacity;
     transition-property: opacity
 }
 
 .swiper-container-fade .swiper-slide .swiper-slide {
     pointer-events: none
 }
 
 .swiper-container-fade .swiper-slide-active,
 .swiper-container-fade .swiper-slide-active .swiper-slide-active {
     pointer-events: auto
 }
 
 .swiper-container-cube {
     overflow: visible
 }
 
 .swiper-container-cube .swiper-slide {
     pointer-events: none;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     z-index: 1;
     visibility: hidden;
     -webkit-transform-origin: 0 0;
     -ms-transform-origin: 0 0;
     transform-origin: 0 0;
     width: 100%;
     height: 100%
 }
 
 .swiper-container-cube .swiper-slide .swiper-slide {
     pointer-events: none
 }
 
 .swiper-container-cube.swiper-container-rtl .swiper-slide {
     -webkit-transform-origin: 100% 0;
     -ms-transform-origin: 100% 0;
     transform-origin: 100% 0
 }
 
 .swiper-container-cube .swiper-slide-active,
 .swiper-container-cube .swiper-slide-active .swiper-slide-active {
     pointer-events: auto
 }
 
 .swiper-container-cube .swiper-slide-active,
 .swiper-container-cube .swiper-slide-next,
 .swiper-container-cube .swiper-slide-next+.swiper-slide,
 .swiper-container-cube .swiper-slide-prev {
     pointer-events: auto;
     visibility: visible
 }
 
 .swiper-container-cube .swiper-slide-shadow-bottom,
 .swiper-container-cube .swiper-slide-shadow-left,
 .swiper-container-cube .swiper-slide-shadow-right,
 .swiper-container-cube .swiper-slide-shadow-top {
     z-index: 0;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden
 }
 
 .swiper-container-cube .swiper-cube-shadow {
     position: absolute;
     left: 0;
     bottom: 0px;
     width: 100%;
     height: 100%;
     opacity: .6;
     z-index: 0;
 }
 
 
 .swiper-container-cube .swiper-slide-prev:not(.swiper-slide-duplicate-next) {
     pointer-events: auto;
     visibility: visible;
 }
 
 .swiper-container-cube .swiper-slide-duplicate.swiper-slide-next.swiper-slide-duplicate-prev,
 .swiper-container-cube .swiper-slide-prev.swiper-slide-duplicate-next.swiper-slide-duplicate {
     pointer-events: none;
     visibility: hidden;
 }
 
 /*3d shadow chrome */
 .swiper-cube-shadow {
     -webkit-filter: initial !important;
     filter: initial !important;
     background: none !important;
 }
 
 .swiper-cube-shadow:before {
     content: "";
     background: #000;
     position: absolute;
     left: 0;
     top: 0;
     bottom: 0;
     right: 0;
     -webkit-filter: blur(50px);
     filter: blur(50px);
 }
 
 .swiper-container-flip {
     overflow: visible
 }
 
 .swiper-container-flip .swiper-slide {
     pointer-events: none;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     z-index: 1
 }
 
 .swiper-container-flip .swiper-slide .swiper-slide {
     pointer-events: none
 }
 
 .swiper-container-flip .swiper-slide-active,
 .swiper-container-flip .swiper-slide-active .swiper-slide-active {
     pointer-events: auto
 }
 
 .swiper-container-flip .swiper-slide-shadow-bottom,
 .swiper-container-flip .swiper-slide-shadow-left,
 .swiper-container-flip .swiper-slide-shadow-right,
 .swiper-container-flip .swiper-slide-shadow-top {
     z-index: 0;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden
 }
 
 .swiper-container-coverflow .swiper-wrapper {
     -ms-perspective: 1200px
 }
.dsm_image_carousel .dsm_image_carousel_container {
    margin-bottom: 60px;
}

.dsm_image_carousel .swiper-button-prev,
.dsm_image_carousel .swiper-button-next {
    height: 40px;
    width: 40px;
    background-image: none;
    background-size: initial;
}

.dsm_image_carousel .swiper-button-prev {
    left: -40px;
}

.dsm_image_carousel .swiper-button-next {
    right: -40px;
}

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

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

.dsm_image_carousel .swiper-button-prev:before,
.dsm_image_carousel .swiper-container-rtl .swiper-button-next:before,
.dsm_image_carousel .swiper-button-next:before,
.dsm_image_carousel .swiper-container-rtl .swiper-button-prev:before {
    font-size: 40px;
    color: #666;
    text-shadow: 0 0;
    font-family: ETmodules !important;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    text-transform: none;
}

.dsm_image_carousel .swiper-button-prev:before {
    content: "\34";
}

.dsm_image_carousel .swiper-button-next:before {
    content: "\35";
}

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

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

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

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

.dsm_image_carousel_pagination_outside .dsm_image_carousel_container {
    padding-bottom: 30px;
}

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

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

.dsm_image_carousel .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    text-align: center;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}

.dsm_image_carousel .swiper-slide img {
    width: auto;
    border-style: solid;
}

/*hotfix for svg*/
.dsm_image_carousel .swiper-slide .dsm_image_carousel_link img {
    width: 1080px;
}

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

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

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



@media only screen and (max-width: 768px) {
    .dsm_image_carousel .swiper-button-prev {
        left: -36px;
    }

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

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

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

    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside .swiper-button-prev {
        left: 0;
    }

    .dsm_image_carousel_arrow_outside.dsm_image_carousel_arrow_mobile_inside .swiper-button-next {
        right: 0;
    }
}