
.c-offcanvas {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.c-offcanvas, .c-offcanvas-content-wrap, .c-offcanvas-bg.c-offcanvas-bg--reveal, .c-offcanvas-bg.c-offcanvas-bg--push {
    -webkit-transition: -webkit-transform 300ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: -webkit-transform 300ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 300ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 300ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 300ms cubic-bezier(0.4, 0, 0.6, 1);
}

.c-offcanvas.is-open {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
}

/**
 * Offcanvas-content-wrap
*/
.c-offcanvas-content-wrap {
    z-index: 3;
}

/**
 * Offcanvas Panel
*/
.c-offcanvas {
    position: fixed;
    min-height: 100%;
    max-height: none;
    top: 0;
    display: block;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
}

.c-offcanvas--opening {
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}

.c-offcanvas.is-closed {
    max-height: 100%;
    overflow: hidden;
    visibility: hidden;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.c-offcanvas--overlay {
    z-index: 1080;
}

.c-offcanvas--reveal {
    z-index: 2;
}

/**
 * Offcanvas BG-Overlay
*/
.c-offcanvas-bg {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1079;
    left: -100%;
    background-color: transparent;
    -webkit-transition: background-color 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: background-color 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}

.c-offcanvas-bg.is-animating, .c-offcanvas-bg.is-open {
    left: 0;
    background-color: rgba(0, 0, 0, 0.68);
    visibility: visible;
}

.c-offcanvas-bg.is-closed {
    visibility: hidden;
}

.c-offcanvas-bg--closing.is-animating {
    background: transparent;
}

/**
 * Position Left
 *
*/
.c-offcanvas--left {
    height: 100%;
    width: 20em;
    -webkit-transform: translate3d(-20em, 0, 0);
    transform: translate3d(-20em, 0, 0);
}

/**
 *  Position Right
 *
*/
.c-offcanvas--right {
    height: 100%;
    width: 20em;
    right: 0;
    -webkit-transform: translate3d(20em, 0, 0);
    transform: translate3d(20em, 0, 0);
}

/**
 * Position Top
 *
*/
.c-offcanvas--top {
    left: 0;
    right: 0;
    top: 0;
    height: 12.5em;
    min-height: auto;
    width: 100%;
    -webkit-transform: translate3d(0, -12.5em, 0);
    transform: translate3d(0, -12.5em, 0);
}

/**
 * Position Bottom
 *
*/
.c-offcanvas--bottom {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    height: 12.5em;
    min-height: auto;
    width: 100%;
    -webkit-transform: translate3d(0, 12.5em, 0);
    transform: translate3d(0, 12.5em, 0);
}

/**
 * Reveal
 *
*/
.c-offcanvas-content-wrap {
    z-index: 3;
}

.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--left.is-open {
    -webkit-transform: translate3d(20em, 0, 0);
    transform: translate3d(20em, 0, 0);
}

.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--right.is-open {
    -webkit-transform: translate3d(-20em, 0, 0);
    transform: translate3d(-20em, 0, 0);
}

.c-offcanvas--reveal {
    z-index: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--left.is-open {
    -webkit-transform: translate3d(20em, 0, 0);
    transform: translate3d(20em, 0, 0);
}

.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--right.is-open {
    -webkit-transform: translate3d(-20em, 0, 0);
    transform: translate3d(-20em, 0, 0);
}

/**
 * Push
 *
*/
.c-offcanvas--push {
    z-index: 6;
}

.c-offcanvas--push--opening {
    -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.c-offcanvas-content-wrap {
    z-index: 3;
}

.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--left.is-open {
    -webkit-transform: translate3d(20em, 0, 0);
    transform: translate3d(20em, 0, 0);
}

.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--right.is-open {
    -webkit-transform: translate3d(-20em, 0, 0);
    transform: translate3d(-20em, 0, 0);
}

.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--left.is-open {
    -webkit-transform: translate3d(20em, 0, 0);
    transform: translate3d(20em, 0, 0);
}

.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--right.is-open {
    -webkit-transform: translate3d(-20em, 0, 0);
    transform: translate3d(-20em, 0, 0);
}

body {
    overflow-x: hidden;
}

*:focus {
    outline: 2px dotted;
    outline-offset: 2px;
}

.c-button.is-clicked {
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16);
}

.c-button--ripple {
    margin: 0 0.5em;
    border-color: #212121;
    overflow: hidden;
    position: relative;
    color: #fafafa;
    background-color: #212121;
    background-repeat: repeat-x;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#393939), to(#212121));
    background-image: linear-gradient(#393939, #212121);
    -webkit-transition: color 0.1s, background-color 0.2s, -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: color 0.1s, background-color 0.2s, -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: color 0.1s, background-color 0.2s, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: color 0.1s, background-color 0.2s, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.c-button--blue {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#0099CC), to(#006E92));
    background-image: linear-gradient(#0099CC, #006E92);
}

.c-button--lg {
    font-size: 1.2em;
    padding: 0.7em 1.6em;
}

.o-ripple--light {
    background: rgba(247, 247, 247, 0.25);
}

.o-ripple--gradient {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 191, 255, 0.56)), to(rgba(2, 55, 72, 0.1)));
    background-image: linear-gradient(rgba(0, 191, 255, 0.56), rgba(2, 55, 72, 0.1));
}

.u-link-image {
    position: relative;
    overflow: hidden;
    display: inline-block;
    padding: 0;
}

.c-button--ripple .c-button__text--visible-on-active,
.c-button--ripple.is-clicked .c-button__text {
    display: none;
}

.c-button--ripple.is-clicked .c-button__text--visible-on-active {
    display: inherit;
}

.o-ripple--gradient {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 191, 255, 0.56)), to(rgba(2, 55, 72, 0.1)));
    background-image: linear-gradient(rgba(0, 191, 255, 0.56), rgba(2, 55, 72, 0.1));
}

.offcanvas-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: 100%;
    padding: 30px;
}

.offcanvas-inner .js-offcanvas-close {
    display: none;
}

.offcanvas-top {
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
}

.offcanvas-content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%;
}

.offcanvas-content > .opalelementor-nav-menu > li {
    display: block;
}

.offcanvas-content > .opalelementor-nav-menu > li > a {
    padding-left: 0;
    position: relative;
    text-transform: uppercase;
}

.offcanvas-content > .opalelementor-nav-menu > li > a:after {
    content: "";
    width: 0;
    height: 1px;
    bottom: 0;
    position: absolute;
    left: auto;
    right: 0;
    z-index: -1;
    -webkit-transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
    transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
    background: rgba(0, 0, 0, 0.1);
}

.offcanvas-content > .opalelementor-nav-menu > li > a.highlighted:after, .offcanvas-content > .opalelementor-nav-menu > li > a:hover:after {
    width: 100%;
    left: 0;
    right: auto;
    background: currentColor;
}

.offcanvas-content > .opalelementor-nav-menu > li > a .sub-arrow {
    position: absolute;
    right: 0;
}

.offcanvas-content > .opalelementor-nav-menu > li > a .sub-arrow:before {
    content: '';
}

.offcanvas-content .opalelementor-nav-menu--dropdown {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: height 0s ease .4s;
    transition: height 0s ease .4s;
}

.offcanvas-bottom {
    margin-top: 30px;
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 15px 0;
}

.offcanvas-bottom a {
    display: block;
    text-transform: uppercase;
}

.js-offcanvas {
    opacity: 0;
    visibility: hidden;
}

.js-offcanvas.is-open {
    opacity: 1;
    visibility: visible;
}