.layout {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  flex-grow: 1;
}

.layout.has-sidebar {
  flex-direction: row;
}

.layout .header {
  transition: width 0.5s;
  height: 64px;
  min-height: 64px;
  position: relative;
}

.layout .sidebar {
  width: 300px;
  min-width: 300px;
  transition: width 0.5s, left 0.5s, right 0.5s;
}

.layout .sidebar.collapsed {
  width: 80px;
  min-width: 80px;
  transition: width .5s, left .5s, right .5s;
}

/* Breakpoints */
@media (max-width: 480px) {
  .layout .sidebar.break-point-xs {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-xs.collapsed {
    left: -80px;
  }

  .layout .sidebar.break-point-xs.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-xs.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-xs ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

@media (max-width: 575px) {
  /* Manually added styles */
  /* .layout .sidebar {
    width: 10px;
    min-width: 10px;
  } */

  .layout .sidebar.collapsed {
    width: 0px;
    min-width: 0px;
  }

  .layout .sidebar.collapsed .sidebar-collapser {
    left: 10px !important;
    top: 12px;
  }

  .layout .sidebar .sidebar-collapser {
    left: 272.5px !important;
    top: 12px !important;
  }
  /* .layout .header {
    transition: width 0.5s;
  }

  .layout .sidebar {
    transition: width 0.5s, left 0.5s, right 0.5s;
  } */

  /* End manually added */
  .layout .sidebar.break-point-sm {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-sm.collapsed {
    left: -10px;
  }

  .layout .sidebar.break-point-sm.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-sm.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-sm ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

@media (max-width: 767.2px) {
  .layout .sidebar.break-point-md {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-md.collapsed {
    left: -80px;
  }

  .layout .sidebar.break-point-md.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-md.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-md ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

@media (max-width: 992px) {
  .layout .sidebar.break-point-lg {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-lg.collapsed {
    left: -80px;
  }

  .layout .sidebar.break-point-lg.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-lg.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-lg ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

@media (max-width: 1200px) {
  .layout .sidebar.break-point-xl {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-xl.collapsed {
    left: -80px;
  }

  .layout .sidebar.break-point-xl.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-xl.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-xl ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

@media (max-width: 1600px) {
  .layout .sidebar.break-point-xxl {
    position: fixed;
    left: -300px;
    height: 100%;
    top: 0;
    z-index: 100;
  }

  .layout .sidebar.break-point-xxl.collapsed {
    left: -80px;
  }

  .layout .sidebar.break-point-xxl.toggled {
    left: 0;
  }

  .layout .sidebar.break-point-xxl.toggled ~ .overlay {
    display: block;
  }

  .layout .sidebar.break-point-xxl ~ .layout .header {
    width: 100% !important;
    transition: none;
  }
}

/* Other Layout Sections */
.layout .footer {
  height: 64px;
  min-height: 64px;
}

.layout .content {
  flex-grow: 1;
}

.layout .overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 99;
  display: none;
}

.layout .sidebar-toggler {
  display: none;
}

@media (max-width: 480px) {
  .layout .sidebar-toggler.break-point-xs {
    display: initial;
  }
}

@media (max-width: 576px) {
  .layout .sidebar-toggler.break-point-sm {
    display: initial;
  }
}

@media (max-width: 767.2px) {
  .layout .sidebar-toggler.break-point-md {
    display: initial;
  }
}

@media (max-width: 992px) {
  .layout .sidebar-toggler.break-point-lg {
    display: initial;
  }
}

@media (max-width: 1200px) {
  .layout .sidebar-toggler.break-point-xl {
    display: initial;
  }
}

@media (max-width: 1600px) {
  .layout .sidebar-toggler.break-point-xxl {
    display: initial;
  }
}

.layout.fixed-sidebar {
  height: 100%;
}

.layout.fixed-sidebar .sidebar {
  height: 100%;
  overflow: auto;
}

.layout.fixed-sidebar .sidebar ~ .layout {
  height: 100%;
  overflow: auto;
}

.layout.fixed-header .header {
  position: fixed;
  width: 100%;
  z-index: 2;
}

.layout.fixed-header .header ~ .layout,
.layout.fixed-header .header ~ .content {
  margin-top: 64px;
}

.layout.fixed-header.fixed-sidebar .header {
  width: calc(100% - 300px);
}

.layout.fixed-header.fixed-sidebar .sidebar.collapsed ~ .layout .header {
  width: calc(100% - 80px);
}

.layout.rtl {
  direction: rtl;
}

/* RTL Layouts */
@media (max-width: 480px) {
  .layout.rtl .sidebar.break-point-xs {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-xs.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-xs.toggled {
    right: 0;
  }
}

@media (max-width: 576px) {
  .layout.rtl .sidebar.break-point-sm {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-sm.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-sm.toggled {
    right: 0;
  }
}

@media (max-width: 767.2px) {
  .layout.rtl .sidebar.break-point-md {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-md.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-md.toggled {
    right: 0;
  }
}

@media (max-width: 992px) {
  .layout.rtl .sidebar.break-point-lg {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-lg.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-lg.toggled {
    right: 0;
  }
}

@media (max-width: 1200px) {
  .layout.rtl .sidebar.break-point-xl {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-xl.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-xl.toggled {
    right: 0;
  }
}

@media (max-width: 1600px) {
  .layout.rtl .sidebar.break-point-xxl {
    left: auto;
    right: -300px;
  }

  .layout.rtl .sidebar.break-point-xxl.collapsed {
    right: -80px;
  }

  .layout.rtl .sidebar.break-point-xxl.toggled {
    right: 0;
  }
}
