/* ==================== #Side Panel  ==================== */
.side_panel {
  min-width: 105px;
  text-align: center; }
  .side_panel .side_panel_inner {
    display: block;
    height: 100%; }
    .side_panel .side_panel_inner .side_panel-toggle {
      border-color: currentColor;
      color: currentColor; }
      .side_panel .side_panel_inner .side_panel-toggle:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        position: relative;
        height: 100%; }
  .side_panel .side_panel-toggle {
    display: block;
    height: 100%;
    width: 100%; }
    .side_panel .side_panel-toggle:hover span:nth-child(1) {
      left: 18px; }
    .side_panel .side_panel-toggle:hover span:nth-child(3) {
      left: 0px; }
    .side_panel .side_panel-toggle:hover span:nth-child(7) {
      left: 18px; }
    .side_panel .side_panel-toggle:hover span:nth-child(9) {
      left: 0px; }
  .side_panel .side_panel-toggle-inner {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    width: 24px;
    height: 24px;
    margin-top: 0;
    position: relative;
    color: inherit;
    line-height: 9px; }
    .side_panel .side_panel-toggle-inner span {
      background: transparent;
      display: inline-block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      border-width: 1px;
      border-style: solid;
      border-color: currentColor;
      transition: all 0.3s ease-out;
      color: inherit;
      vertical-align: top;
      position: absolute;
      left: 0; }
      .side_panel .side_panel-toggle-inner span:nth-child(2) {
        left: 9px; }
      .side_panel .side_panel-toggle-inner span:nth-child(3) {
        left: 18px; }
      .side_panel .side_panel-toggle-inner span:nth-child(4) {
        top: 9px; }
      .side_panel .side_panel-toggle-inner span:nth-child(5) {
        top: 9px;
        left: 9px; }
      .side_panel .side_panel-toggle-inner span:nth-child(6) {
        top: 9px;
        left: 18px; }
      .side_panel .side_panel-toggle-inner span:nth-child(7) {
        top: 18px; }
      .side_panel .side_panel-toggle-inner span:nth-child(8) {
        top: 18px;
        left: 9px; }
      .side_panel .side_panel-toggle-inner span:nth-child(9) {
        top: 18px;
        left: 18px; }

body.admin-bar #side-panel.side-panel_open, body.admin-bar #side-panel.side-panel_active {
  top: 32px; }

body.side-panel_active .side-panel_overlay {
  opacity: 1;
  visibility: visible;
  background: rgba(65, 65, 65, 0.6); }

.side-panel_overlay {
  background: transparent;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.45s ease-in-out;
  z-index: 9999; }

.elementor-editor-active.single-side_panel #side-panel, .elementor-editor-active.single-side_panel #side-panel.side-panel_position_left {
  left: auto;
  right: auto;
  transform: translateX(0);
  margin: 0 auto;
  position: static;
  height: 100vh; }

body.side_panel-template-default.admin-bar #side-panel {
  top: 32px; }

body.side_panel-template-default #side-panel {
  right: auto;
  top: 0; }

#side-panel {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 480px;
  background: #fff;
  transform: translateX(100%);
  transform: translateX(calc(100% + 30px));
  transition: transform 0.45s ease-in-out;
  z-index: 10000;
  top: 100000%; }
  #side-panel.side-panel_position_left {
    left: 0;
    right: auto;
    transform: translateX(calc(-100% - 105px)); }
    #side-panel.side-panel_position_left .side-panel_close {
      left: calc(100% - 105px);
      right: 0; }
  #side-panel.side-panel_open {
    transform: translateX(0);
    top: 0; }
  #side-panel.side-panel_active {
    top: 0; }
  #side-panel .side-panel_sidebar {
    position: absolute;
    padding: 105px 90px;
    width: calc(100% + 17px);
    bottom: -17px;
    top: 0;
    right: 0;
    left: 0;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    scrollbar-width: none; }
    #side-panel .side-panel_sidebar::-webkit-scrollbar {
      display: none; }
    #side-panel .side-panel_sidebar .widget .widget-title:before {
      display: none; }
    #side-panel .side-panel_sidebar .widget ul li {
      color: inherit; }
      #side-panel .side-panel_sidebar .widget ul li a {
        color: inherit; }
    #side-panel .side-panel_sidebar .widget:not(:first-child) {
      padding-top: 40px; }
    #side-panel .side-panel_sidebar .widget_media_gallery .gallery-item .gallery-icon {
      margin: 10px; }
    #side-panel .side-panel_sidebar .widget_media_gallery .gallery {
      margin: -10px; }
  #side-panel .side-panel_close {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    font-size: 21px;
    width: 105px;
    height: 105px;
    line-height: 105px;
    cursor: pointer;
    z-index: 9999;
    transition: all 0.45s ease-in-out;
    background: #323232;
    text-align: center; }
    #side-panel .side-panel_close .side-panel_close_icon {
      display: inline-block;
      position: relative;
      width: 20px;
      height: 20px;
      margin-top: 0;
      vertical-align: middle;
      cursor: pointer; }
      #side-panel .side-panel_close .side-panel_close_icon:before, #side-panel .side-panel_close .side-panel_close_icon:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        box-sizing: border-box;
        border: 3px solid currentColor; }
      #side-panel .side-panel_close .side-panel_close_icon:before {
        width: 0;
        height: 100%;
        border-radius: 0;
        border-width: 0.5px;
        left: 50%;
        background-color: currentColor;
        transition: all 0.3s, background-color 0s linear 0.3s;
        transform: translateX(-0.5px) rotate(45deg); }
      #side-panel .side-panel_close .side-panel_close_icon:after {
        border-width: 0.5px;
        width: 0;
        margin-left: 0;
        margin-top: 0;
        background-color: currentColor;
        transition: all 0.3s;
        height: 100%;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(-45deg); }

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
  display: none;
  opacity: 0;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  height: 15px;
  /* there must be 'bottom' or 'top' for ps__rail-x */
  bottom: 0px;
  /* please don't change 'position' */
  position: absolute; }

.ps__rail-y {
  display: none;
  opacity: 0;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  width: 15px;
  /* there must be 'right' or 'left' for ps__rail-y */
  right: 0;
  /* please don't change 'position' */
  position: absolute; }

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
  display: block;
  background-color: transparent; }

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color 0.2s linear, height 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s linear, height 0.2s ease-in-out;
  height: 6px;
  /* there must be 'bottom' for ps__thumb-x */
  bottom: 2px;
  /* please don't change 'position' */
  position: absolute; }

.ps__thumb-y {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color 0.2s linear, width 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out;
  width: 6px;
  /* there must be 'right' for ps__thumb-y */
  right: 2px;
  /* please don't change 'position' */
  position: absolute; }

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
  background-color: #999;
  height: 11px; }

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #999;
  width: 11px; }

/* MS supports */
@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important; } }
