/* Theme */

.theme-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

    .theme-container main {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        overflow-x: hidden;
    }

    /* Templates */
    .theme-container.page-frame .main {
        overflow: hidden;
    }

    .theme-container.page-frame .main-module {
        overflow: auto;
    }

/* Base */
a,
.nav-link {
    color: inherit;
    text-decoration: none;
    transition: 0.3s linear;
}

.p-relative {
    position: relative;
}

/* Colors */
.text-gray {
    color: #67696F;
}

.bg-gray {
    background-color: #EFEFEF;
}

/* Typography */
.tiny {
    font-size: 0.8125rem;
}

/* Buttons */
/* Naranja */
.btn.btn-accent {
    background-color: #E0690F;
    border-color: #E0690F;
    color: #FFFFFF;
}

    .btn.btn-accent:hover {
        background-color: #386097;
        border-color: #386097;
    }

/* Verde */
.btn.btn-third {
    background-color: #5C7D70;
    border-color: #5C7D70;
    color: #FFFFFF;
}

.btn.btn-rounded {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    font-size: 2rem;
    padding: 0;
    border-radius: 50%;
}

/* Forms */
.input-group-text,
.form-control {
    background-color: transparent !important;
}

.form-control {
    border: 0.5px solid #939498;
    border-radius: 0;
}

    .form-control,
    .form-control::placeholder {
        font-family: "Inter", sans-serif;
        font-size: 1rem;
    }

        .form-control::placeholder {
            color: #ACADB3;
        }

.input-group.i-input-group > .input-group-text {
    border: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    z-index: 10;
}

.input-group.i-input-group > .form-control {
    padding: 1rem 1.5rem;
    padding-left: 3.5rem;
}

.dropdown-menu {
    border-radius: 0;
    border: 0;
    box-shadow: 0px 0px 20px rgba(40, 42, 50, 0.2);
    max-width: 100vw;
    overflow: hidden;
}

.btn.i-btn-dropdown {
    color: inherit;
    font-size: inherit;
    box-shadow: none;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

    .btn.i-btn-dropdown .i-text {
        overflow: hidden;
    }


/***** Sidebar *****/

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    max-width: 4.5rem;
    transition: 0.3s linear;
}

    .sidebar .card {
        overflow: hidden;
        border-radius: 12px;
        box-shadow: 0px 0px 20px rgba(40, 42, 50, 0.2);
    }

    .sidebar .dropdown-menu {
        position: fixed !important;
    }

    .sidebar .toggleable {
        opacity: 0;
        visibility: hidden;
        display: none;
        transition: 0.1s ease-out;
        /*pointer-events: none;*/
    }

    .sidebar .toggler {
        position: absolute;
        top: 0;
        left: 100%;
        z-index: 2;
        transform: translateX(-50%);
        transition: 0.3s linear;
        cursor: pointer;
        box-shadow: 0px 0px 20px rgba(40, 42, 50, 0.2);
    }

    .sidebar.show .toggler .closed,
    .sidebar:not(.show) .toggler .opened {
        display: none !important;
    }

    .sidebar .i-logo {
        padding: 0.5rem 0.1rem;
    }

    .sidebar .main-menu {
        gap: 0.5rem;
    }


        .sidebar .main-menu a,
        .sidebar .profile-menu a,
        .sidebar .profile-menu .nav-text {
            padding: 0.5rem 0.75rem;
        }

        .sidebar .main-menu a,
        .sidebar .profile-menu a,
        .sidebar .i-logo a {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            border-radius: 6px;
        }

            .sidebar .main-menu .nav-item.active > a,
            .sidebar .main-menu a:hover {
                color: #FFFFFF;
                background-color: #3893cd;
            }

                .sidebar .main-menu .nav-item.active > a svg {
                    color: #FFFFFF;
                }

    .sidebar .profile-menu {
        font-size: 0.8125rem;
        line-height: 1.3;
    }

    .sidebar a:not(:hover) svg {
        color: #386097;
        transition: 0.3s linear;
    }

    .sidebar a:hover {
        color: #E0690F;
    }

    /* Opened */
    .sidebar.show .toggler {
        transform: translateX(-50%);
        transition: 0.3s linear;
    }

    .sidebar.show {
        max-width: 20rem;
        transition: 0.3s linear;
    }

        .sidebar.show .toggleable {
            opacity: 1;
            visibility: visible;
            display: block;
            transition: opacity 0.2s ease-in;
        }

.main > section > .container,
.header > section > .container {
    transition: 0.3s linear;
}

.main:not(.show) > section > .container,
.header.show > section > .container {
    transition: 0.2s linear;
}

/***** End Sidebar *****/


/* Footer */
.footer {
    font-size: 0.75rem;
    font-weight: 400;
}

/* Containers */
.container-full {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.container-relative {
    position: relative;
}

/* Sections */
.section-cover {
    flex: 1;
}

.section-frame iframe {
    width: 100%;
    height: 100%;
}

/* Cards */
.card {
    z-index: 1;
}

    .card .card-float-content {
        position: absolute;
        bottom: 0;
    }

/* Images */
.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
}

/* Menus */
.menu-with-separator > li + li {
    display: flex;
    align-items: center;
}

    .menu-with-separator > li + li::before {
        content: '|';
    }

.nav.menu-tab {
    gap: 2rem;
}

    .nav.menu-tab .nav-item > .nav-link {
        padding-left: 0;
        padding-right: 0;
    }

    .nav.menu-tab .nav-item.active > .nav-link {
        border-bottom: 2px solid #E0690F;
    }


/* Slider */
.swiper {
    padding-bottom: 2rem;
}

    .swiper .swiper-pagination-bullet {
        background-color: transparent;
        border: 0.75px solid #67696F;
        transition: 0.3s linear;
    }

    .swiper .swiper-pagination-bullet-active {
        background-color: #386097;
        border-color: transparent;
    }

/* Modal */
.i-modal {
    box-shadow: 0px 0px 20px rgba(40, 42, 50, 0.2);
    transform: translateY(2rem);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-out;
    max-height: 0;
}

    .i-modal.show {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        transition: 0.3s ease-in;
        max-height: 25rem;
    }

    .i-modal.card {
        border-radius: 12px;
    }

/* Modules */
.module-helper {
    position: fixed;
    bottom: 3rem;
    right: 1rem;
    max-width: 20rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 100;
}

.module-title {
    font-size: 1.5rem;
}

.module-helper .toggler.show .helper-open,
.module-helper .toggler .helper-close {
    display: none;
}

.module-helper .toggler .helper-open,
.module-helper .toggler.show .helper-close {
    display: block;
}

.module-helper .btn.btn-rounded {
    font-size: 3.75rem;
}

    .module-helper .btn.btn-rounded img {
        margin: auto;
    }

.module-helper p {
    margin-bottom: 0.5rem;
}

.module-helper .i-modal.card {
    border-bottom-right-radius: 0;
}

.module-helper .i-modal .text-content {
    overflow: auto;
    max-height: 12rem;
}


/* Specific Sections */
.section-cards .card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(180, 55, 0, 1) 0%, rgba(194, 87, 0, 1) 50%, rgba(224, 105, 15, 1) 100%);
    opacity: 0;
}

.section-cards .card::before {
    transition: 0.3s ease-out;
}

.section-cards .card .i-link {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5;
}

.section-cards .card:not(:hover) .i-link {
    color: #E0690F;
}

.section-cards .card:not(:hover) svg {
    color: #3893cd;
}

.section-cards .card:hover {
    color: #FFFFFF;
}

    .section-cards .card:hover::before {
        opacity: 1;
    }

    .section-cards .card:hover::before {
        transition: 0.3s ease-in;
    }


    .section-cards .card:hover .i-link {
        text-decoration: underline;
    }

/***** Overrides *****/

html {
    font-size: 16px;
}

body {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    line-height: 1.375;
    color: #282A32;
}

h1, .h1,
h4, .h4 {
    font-weight: 400;
}

h1, .h1 {
    font-size: 2.25rem;
}

h4, .h4 {
    font-size: 1.375rem;
    line-height: 1.3;
}

h5, .h5 {
    font-size: 1.125rem;
    line-height: 1.11;
    font-weight: 500;
}

.btn {
    font-size: 0.8125rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0.46px;
    border-radius: 1.2rem;
    border-width: 1.5px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.card {
    border: 0;
    border-radius: 6px;
    overflow: hidden;
}

/***** END Overrides *****/

.sidebar {
    max-width: 0;
}

    .sidebar .card {
        border-radius: 0;
        height: 100vh;
    }

    .sidebar .toggler {
        transform: translateX(0.5rem);
    }

/***** Responsive *****/

@media (min-width: 576px) {
    .sidebar {
        max-width: 4.5rem;
    }

        .sidebar .toggler {
            transform: translateX(-50%);
        }

        .sidebar .card {
            border-radius: 6px;
            height: auto;
        }

    .header > section,
    .main > section,
    .theme-container.layout-dashboard .footer > section {
        padding-left: 5rem;
    }

    .main:not(.show) > section > .container,
    .header.show > section > .container {
        transform: translateX(10rem);
        transition: 0.2s linear;
    }
}

@media (min-width: 1300px) {
    .header > section,
    .main > section,
    .theme-container.layout-dashboard .footer > section {
        padding-left: 0;
    }
}

@media (min-width: 1600px) {
    .main:not(.show) > section > .container,
    .header.show > section > .container {
        transform: translateX(5rem);
    }
}

@media (min-width: 1800px) {
    .main:not(.show) > section > .container,
    .header.show > section > .container {
        transform: translateX(0);
    }
}

/***** END Responsive *****/
