/*
Custom CSS to to prevent top header and sidebar from floating, using flex.
Overrides some AdminLTE css.
*/
html, body {
    margin: 0;
    height: 100vh;
}

body {
    display: grid;
    grid-template-areas:
        "header header"
        "content content";
    grid-template-rows: auto 1fr;
}

body.show-tutorial {
    grid-template-areas:
        "header header"
        "content tutorial";
    grid-template-columns: 1fr;
}

body.login-page {
    display: block;
}

.main-header {
    position: initial;
    width: 100%;
    grid-area: header;
}

.main-header a.different-season {
    background-color: #605ca8;
}

.main-header a.different-season:hover {
    background-color: #555299 !important;
}

.main-content-wrapper {
    grid-area: content;
    overflow-y: scroll;
    overflow-x: hidden;
}

.main-content-inner {
    display: flex;
    min-height: 100%;
}

.main-sidebar, .sidebar-open .main-sidebar {
    position: initial;
    padding: 0;
    flex-shrink: 0;
}

.content-and-footer-wrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    width: calc(100% - 230px);
    animation: width 0.3s;
}

.sidebar-collapse .content-and-footer-wrapper {
    width: calc(100% - 50px);
    animation: width 0.3s;
}

.content-wrapper, .sidebar-mini.sidebar-collapse .content-wrapper, .sidebar-open .content-wrapper {
    margin: 0 !important;
    flex-grow: 1;
    min-height: initial;
    height: initial;
    transform: initial;
}

.main-footer, .sidebar-mini.sidebar-collapse .main-footer {
    margin: 0 !important;
    z-index: initial;
}

body.show-tutorial .tutorial-container {
    display: block;
}

.tutorial-container {
    display: none;
    position: relative;
    grid-area: tutorial;
    min-width: 10em;
    max-width: calc(100vw - 10em);
    width: 30em;
    height: initial;
    background-color: #ecf0f5;
    border-left: 3px solid #00a65a;
}

.tutorial-container .tutorial {
    padding: 15px;
    height: 100%;
    overflow: auto;
}

.tutorial-container .resize-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1em;
    z-index: 10;
}

.tutorial-container .resize-handle:hover {
    background-color: #00a65a;
    cursor: col-resize;
}

#modal_download .modal-body .col-xs-10 {
    padding-left: 0;
}

@media (max-width: 1100px) {
    body.show-tutorial {
        grid-template-areas:
            "header"
            "content"
            "tutorial";
    }

    .tutorial-container {
        height: 33vh;
        min-height: 10em;
        max-height: calc(100vh - 10em);
        min-width: initial;
        max-width: initial;
        width: initial;
        border-top: 3px solid #00a65a;
        border-left: none;
    }

    .tutorial-container .resize-handle {
        top: 0;
        left: 0;
        right: 0;
        bottom: initial;
        height: 1em;
        width: initial;
    }

    .tutorial-container .resize-handle:hover {
        cursor: row-resize;
    }
}

@media (max-width: 767px) {
    .main-sidebar {
        width: 0;
        transition: width 0.3s;
    }

    .sidebar-open .main-sidebar {
        width: 230px;
        transition: width 0.3s;
    }

    .sidebar-open .main-footer {
        transform: initial;
    }
}
