.ha-offcanvas-content-open.ha-offcanvas-content-bottom.ha-offcanvas-content-reset,
.ha-offcanvas-content-open.ha-offcanvas-content-top.ha-offcanvas-content-reset,
.ha-offcanvas-content-widget {
    margin-top: 0 !important
}

.ha-offcanvas-toggle {
    cursor: pointer
}

.ha-offcanvas-toggle svg {
    width: 1em;
    height: 1em
}

.ha-offcanvas-container {
    position: relative;
    left: 0;
    z-index: 99;
    -webkit-transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s
}

.ha-offcanvas-container:after {
    position: absolute;
    top: -100%;
    right: 0;
    width: 0;
    height: 0;
    background: rgba(0, 0, 0, .2);
    content: "";
    opacity: 0;
    -webkit-transition: opacity .5s, width .1s .5s, height .1s .5s;
    transition: opacity .5s, width .1s .5s, height .1s .5s
}

.ha-offcanvas-content-open {
    overflow: hidden
}

.ha-offcanvas-content-open .ha-offcanvas-container:after {
    z-index: 100001;
    width: 100%;
    height: 400%;
    opacity: .3;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.ha-offcanvas-content {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999 !important;
    visibility: hidden;
    overflow-y: auto;
    width: 300px;
    height: 100%;
    background: #fff;
    -webkit-transition: all .5s;
    transition: all .5s
}

.ha-offcanvas-content.ha-offcanvas-content-right {
    right: 0;
    left: auto
}

.ha-offcanvas-content.ha-offcanvas-content-bottom,
.ha-offcanvas-content.ha-offcanvas-content-top {
    width: 100%;
    height: 300px
}

.ha-offcanvas-content.ha-offcanvas-content-bottom {
    top: auto;
    bottom: 0
}

.ha-offcanvas-content .ha-offcanvas-header {
    z-index: 999;
    padding: 20px;
    text-align: right
}

.ha-offcanvas-content .ha-offcanvas-close {
    position: relative;
    z-index: 1;
    display: inline-block;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin: 0;
    font-weight: 100;
    font-style: normal;
    font-size: 24px;
    font-family: Helvetica, Arial, sans-serif;
    line-height: 1;
    cursor: pointer
}

.ha-offcanvas-content .ha-offcanvas-body {
    padding: 0 20px
}

.ha-offcanvas-toggle-wrap .ha-offcanvas-toggle {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-align: center
}

.ha-offcanvas-icon-before .ha-offcanvas-toggle-icon {
    margin-right: 5px
}

.ha-offcanvas-icon-after .ha-offcanvas-toggle-icon {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-left: 5px
}

.ha-offcanvas-content.ha-offcanvas-slide {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

.ha-offcanvas-content.ha-offcanvas-slide.ha-offcanvas-content-right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

.ha-offcanvas-content.ha-offcanvas-slide.ha-offcanvas-content-top {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0)
}

.ha-offcanvas-content.ha-offcanvas-slide.ha-offcanvas-content-bottom {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0)
}

.ha-offcanvas-content.ha-offcanvas-reveal {
    z-index: 1
}

.ha-offcanvas-content-slide.ha-offcanvas-content-open .ha-offcanvas-content.ha-offcanvas-content-visible {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.ha-offcanvas-content-left.ha-offcanvas-push {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

.ha-offcanvas-content-right.ha-offcanvas-push {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

.ha-offcanvas-content-top.ha-offcanvas-push {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0)
}

.ha-offcanvas-content-bottom.ha-offcanvas-push {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0)
}

.ha-offcanvas-content-push.ha-offcanvas-content-open .ha-offcanvas-content.ha-offcanvas-content-visible {
    visibility: visible;
    -webkit-transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s
}

.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-left .ha-offcanvas-container {
    -webkit-transform: translate3d(300px, 0, 0);
    transform: translate3d(300px, 0, 0)
}

.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-right .ha-offcanvas-container {
    -webkit-transform: translateX(-300px);
    -ms-transform: translateX(-300px);
    transform: translateX(-300px)
}

.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-top .ha-offcanvas-container {
    -webkit-transform: translate3d(0, 300px, 0);
    transform: translate3d(0, 300px, 0)
}

.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-bottom .ha-offcanvas-container {
    -webkit-transform: translate3d(0, -300px, 0);
    transform: translate3d(0, -300px, 0)
}

.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-bottom .ha-offcanvas-content,
.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-left .ha-offcanvas-content,
.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-right .ha-offcanvas-content,
.ha-offcanvas-content-push.ha-offcanvas-content-open.ha-offcanvas-content-top .ha-offcanvas-content {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.ha-offcanvas-content-reveal .ha-offcanvas-container {
    overflow: hidden;
    background: #fff
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open {
    position: relative;
    overflow: hidden
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open .ha-offcanvas-content.ha-offcanvas-content-visible {
    visibility: visible;
    -webkit-transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open.ha-offcanvas-content-left .ha-offcanvas-container {
    -webkit-transform: translate3d(300px, 0, 0);
    transform: translate3d(300px, 0, 0)
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open.ha-offcanvas-content-right .ha-offcanvas-container {
    -webkit-transform: translate3d(-300px, 0, 0);
    transform: translate3d(-300px, 0, 0)
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open.ha-offcanvas-content-top .ha-offcanvas-container {
    -webkit-transform: translate3d(0, 300px, 0);
    transform: translate3d(0, 300px, 0)
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-open.ha-offcanvas-content-bottom .ha-offcanvas-container {
    -webkit-transform: translate3d(0, -300px, 0);
    transform: translate3d(0, -300px, 0)
}

.ha-offcanvas-content-reveal.ha-offcanvas-content-bottom .ha-offcanvas-container,
.ha-offcanvas-content-slide-along.ha-offcanvas-content-bottom .ha-offcanvas-container {
    height: 100%
}

.ha-offcanvas-content-left.ha-offcanvas-slide-along {
    z-index: 1;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0)
}

.ha-offcanvas-content-right.ha-offcanvas-slide-along {
    z-index: 1;
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0)
}

.ha-offcanvas-content-top.ha-offcanvas-slide-along {
    z-index: 1;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.ha-offcanvas-content-bottom.ha-offcanvas-slide-along {
    z-index: 1;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0)
}

.ha-offcanvas-content-slide-along .ha-offcanvas-container {
    overflow: hidden;
    background: #fff
}

.ha-offcanvas-content-slide-along.ha-offcanvas-content-open .ha-offcanvas-content.ha-offcanvas-content-visible {
    visibility: visible;
    -webkit-transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.ha-offcanvas-content-slide-along.ha-offcanvas-content-open.ha-offcanvas-content-left .ha-offcanvas-container {
    -webkit-transform: translate3d(300px, 0, 0);
    transform: translate3d(300px, 0, 0)
}

.ha-offcanvas-content-slide-along.ha-offcanvas-content-open.ha-offcanvas-content-right .ha-offcanvas-container {
    -webkit-transform: translate3d(-300px, 0, 0);
    transform: translate3d(-300px, 0, 0)
}

.ha-offcanvas-content-slide-along.ha-offcanvas-content-open.ha-offcanvas-content-top .ha-offcanvas-container {
    -webkit-transform: translate3d(0, 300px, 0);
    transform: translate3d(0, 300px, 0)
}

.ha-offcanvas-content-slide-along.ha-offcanvas-content-open.ha-offcanvas-content-bottom .ha-offcanvas-container {
    -webkit-transform: translate3d(0, -300px, 0);
    transform: translate3d(0, -300px, 0)
}

.ha-hamburger-label {
    display: inline-block;
    margin-left: 10px
}

/** Widgets: off-canvas **/