@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap');

:root {
    /*
    --main-color: #0d6efd;
    --main-color-hover: #0b5ed7;

     */
    --main-color: #0d3b30;
    --main-color-rgb: 13, 59, 48;
    --main-color-text: #eee;
    --main-color-darken: #407470;
    --main-color-lighter: #adece8;
    --main-color-lightener: #E0F2F1;

    --second-color: #5da7a2;
    --second-color-text: #eee;
    --second-color-darken: #010806;
    --second-color-lighter: #15614f;


    --third-color: #55b14d;

    --bs-primary-rgb: var(--main-color-rgb);

    --navbar-height: 1.3rem;

    /* inputs */
    --input-border-size: 2px;
    --input-border-color: #ccc;

/*
    main	#0d3b30
    second	#5da7a2
    third	#55b14d
    text white

 */
}

@media (max-width: 991.98px) {
    :root {
        --bs-body-font-size: 1.1rem !important;
    }

    table, .form-control, .btn {
        font-size: var(--bs-body-font-size) !important;
    }
}



#page_container * {
    --bs-nav-link-color: var(--second-color);
    --bs-nav-pills-link-active-bg: var(--second-color);
    --bs-nav-pills-border-radius: 3px;
    --bs-link-hover-color: var(--second-color-darken);
    --bs-dropdown-link-active-bg: var(--main-color);

    --bs-card-color: var(--main-color);
}


nav.navbar {padding: 0;}
nav * {
    --bs-nav-pills-link-active-bg: var(--main-color);
    --bs-nav-link-color: var(--main-color-text);

    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: var(--navbar-height);

    --bs-dropdown-bg: var(--main-color);
}



.nav-pills .nav-link {border: 0 !important;}

.nav-pills .active {
    border: 1px solid var(--second-color-darken);
}

.form-check-input {
    border-color: var(--second-color);
}

.form-check-input:checked {
    background-color: var(--second-color);
    border-color: var(--second-color);
}

::selection {
    background: var(--main-color);
    color: var(--main-color-text)
}

.table th {font-weight: 600;}


.table-primary {
    --bs-table-bg: var(--main-color);
}

.btn-primary {
    --bs-btn-color: var(--main-color-text);
    --bs-btn-bg: var(--main-color);
    --bs-btn-border-color: var(--main-color-darken);

    --bs-btn-hover-color: var(--main-color-text);
    --bs-btn-hover-bg: var(--main-color-darken);
    --bs-btn-hover-border-color: var(--main-color-darken);

    --bs-btn-focus-shadow-rgb: 38, 157, 196;

    --bs-btn-active-color: var(--main-color-darken);
    --bs-btn-active-bg: var(--main-color-darken);
    --bs-btn-active-border-color: var(--main-color-darken);

    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: var(--main-color-text);
    --bs-btn-disabled-bg: var(--main-color);
    --bs-btn-disabled-border-color: var(--main-color-darken);

    border-color: var(--main-color);
}

.btn-outline-primary {
    --bs-btn-color: var(--main-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--main-color-darken);

    --bs-btn-hover-color: var(--main-color-text);
    --bs-btn-hover-bg: var(--main-color-darken);
    --bs-btn-hover-border-color: var(--main-color-darken);

    --bs-btn-focus-shadow-rgb: 38, 157, 196;

    --bs-btn-active-color: var(--main-color-darken);
    --bs-btn-active-bg: var(--main-color-darken);
    --bs-btn-active-border-color: var(--main-color-darken);

    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: var(--main-color-text);
    --bs-btn-disabled-bg: var(--main-color);
    --bs-btn-disabled-border-color: var(--main-color-darken);
}

.bg-primary .dropdown-menu {
    background-color: var(--second-color);
}

.input-group-text {
    border-top: 0;
    border-left: 0;
    border-bottom-width: var(--input-border-size);
}

.table-header-primary {
    background: var(--main-color);
    color: var(--main-color-text);
}

.table-header-secondary {
    background: var(--second-color);
    color: var(--second-color-text);
}



/* inputs */
.form-control {
    border: 0;
    border-radius: 3px;
    border-bottom: var(--input-border-size) solid var(--input-border-color);
    transition: all 200ms;
}

.form-control.filled {background: #fffa65}
.form-control.value-maximum {
    background: #e55039; color: #efefef;
}

.form-control:active, .form-control:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: var(--third-color);
}

.form-control[readonly="readonly"] {background: #dfe6e9;}
.form-control[readonly="readonly"]:focus {border-color: var(--input-border-color);}

@keyframes tileArrow {
    from {
        padding-right: 3em;
        opacity: 0;
    }
    to {
        padding-right: 0;
        opacity: 1;
    }
}

.tile-item .icon-arrow {
    /*display: none;*/
    opacity: 0;
}

.tile-item:hover .icon-arrow {
    animation-name: tileArrow;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

/*.navbar {height: var(--navbar-height);}*/


/*  <main>  */
    * {
        font-family: 'Open Sans', sans-serif;
    }


    #main * {
        text-shadow: 0px 0px 1px #ccc;
    }

    #main {
        padding-top: calc(var(--navbar-height) * 4);
        margin-top: 1rem;
        /*animation: loadingPage 2s ease-in-out 0s alternate 1 none running;*/
        transition: all 200ms;
    }
/*
    @keyframes loadingPage {
        from {padding-top: 5.1rem; opacity: 0;}
        to {padding-top: 5rem; opacity: 100;}
    }
*/
    a[name] {
        display: block;
        position: relative;
        top: -160px;
        visibility: hidden;
    }
/*  </main>  */


body {
    /*padding-bottom: 4em;*/
}

/*  <main menu> */
    ul.navbar-styling {
        display: flex;
        /*width: 100%;*/
    }

    ul.navbar-styling > li {width: 100%; text-align: center; margin: 0 1em;}

    nav.navbar {
        border-bottom: 0.25em solid var(--second-color);
    }

    .navbar-brand {
        color: var(--third-color);
        font-weight: 700;
        font-style: italic;

        border-right: 1px solid #cfcfcf;
        padding-right: 1em;
        transition: all 200ms;
    }


    nav.navbar .navbar-styling li.nav-item {margin: 0}
    nav.navbar .navbar-styling li.nav-item a .icon {
        margin-right: -0.25em !important;
    }

    nav.navbar .navbar-styling li.nav-item a {
        font-weight: 300;
        transform: scale(1.0);
        transition: all 200ms;
        white-space: nowrap;
        padding-left: var(--bs-nav-link-padding-x);
        padding-right: var(--bs-nav-link-padding-x);
    }

    nav.navbar .navbar-styling li.nav-item a:hover, nav.navbar .navbar-styling li.nav-item.active a {
        background: var(--second-color);
        transform: scale(1.05);
        color: #ffffff;
        transition: all 200ms;
    }

    nav.navbar .navbar-styling li.nav-item a span.title {
        display: inline-block;
        margin-left: 0.5rem;
        transition: all 200ms;
    }
    nav.navbar .navbar-styling li.nav-item:hover a span.title {
        opacity: 100;
        transition: all 200ms;
    }

    .navbar-section-name{
        color: #ffffff;
        font-size: 1.2em;
        font-weight: 400;
    }
/*  </main menu> *

/*  </page menu> */
    .page-menu {margin-bottom: 1em; text-align: right}

/*  </page menu> */

/*  <login>  */
    html[data-page="login"] {
        background-color: #008cba;
        background-image: linear-gradient(160deg, #008cba 0%, #015875 100%);
        height: 100%
    }

    html[data-page="login"] body{background-color: transparent;}

    html[data-page="login"] .card {
        box-shadow: 0 0 15px 0px #0a5485;
        border: 0;
        max-width: 40rem;
        margin: 0 auto 0 auto;
    }

    html[data-page="login"] .card-header {
        background: var(--bs-blue);
        border: 0;
        color: white;
        padding: 1em;
    }


    html[data-page="login"] fieldset {margin-top: 1em}
    html[data-page="login"] fieldset div {
        margin-bottom: 1em;
    }

    html[data-page="login"] .input-group-text{
        background: white;
        border: 0;
        color: #7f8c8d;
        padding: 1em;
    }

    html[data-page="login"] input {
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
/* </login> */

/*  <home>  */
    html[data-page="home"] body {
        background-image: linear-gradient(to right, #dfe4ea, #c8d6e5);
        height: 100%;
        /*background: #dfe4ea;*/
    }

    html[data-page="home"] .card {
        /*box-shadow: 1px 1px 15px 0px #8395a7;*/
        transition: all 200ms;
    }

    html[data-page="home"] .card, html[data-page="home"] .card .icon {
        color: var(--bs-primary);
    }

    html[data-page="home"] .card .icon-end {
        opacity: 0.5;
        font-size: 2.5em;
        color: #ccc;
    }

    html[data-page="home"] .card .card-text {
        font-style: italic;
    }


    html[data-page="home"] .card:hover {
        background: var(--main-color-lightener);
        transition: all 200ms;
    }

    html[data-page="home"] .card .card-body {
        transition: all 500ms;
    }
    html[data-page="home"] .card:hover .card-body {
        padding-left: 1.5em;
        transition: all 1s;
    }

/*  </home>  */

/*  required property */
tr[data-required] th {position: relative}
tr[data-required] th:before {
    content: "\00a0";
    background: red;
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    left: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

/* <FONTSIZE> */
.fs-1_2 {font-size: 1.2em}
.fs-1_3 {font-size: 1.3em}
.fs-1_5 {font-size: 1.5em}
.fs-2 {font-size: 2em}
.fs-2_5 { font-size: 2.5em}
.fs-3 {font-size: 3em}
/* </FONTSIZE> */

/* <BUTTON ICON> */
.btn {transition: all 200ms}
.btn:hover {transition: all 200ms}
.btn .icon {
    padding-left: 0.1em;
    padding-right: 0.3em;
}

.btn .icon-end {
    padding-left: 0.3em;
    padding-right: 0.1em;
}
/* </BUTTON ICON> */

/* <ALL PAGE STYLE> */
.card-style .card-header {
    background: #5599fd;
    color: white;
}
.card-style h3 {margin-bottom: 0; font-size: 1.5rem}
.card-style fieldset {margin-bottom: 1em}
.card-style legend {
    color: var(--bs-blue);
    border-bottom: 1px solid var(--bs-blue);
}

.card-style button[type=submit] {width: 20%}

/* </ALL PAGE STYLE> */

.sorting {
    cursor: move;
    color: #888 !important;
    text-align: center;
}

.sorting:hover {
    color: #000 !important;
}

/*  <PHOTOS>  */
.photo-small {
    max-width: 70px;
    max-height: 70px;
    overflow: hidden;
    border-radius: 60px;
    box-shadow: 0 0 2px 2px var(--bs-blue), 0px 0px 4px 4px white;
}

.photo-small img {
    width: 100%;
    object-fit: cover;
}
/*  </PHOTOS>  */

/*  <UPLOAD BUTTON>  */
.input-file:focus + label, .input-file + label:hover {background-color: var(--main-color-hover);}

.input-file + label {
    cursor: pointer;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 0.375rem;
}


.upload-button, .input-file {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.upload-button + label, .input-file + label{
    max-width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    padding: 0.375rem 0.75rem;
}

.upload-button:focus + label, .input-file:focus + label {
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 5px;
}

.upload-button:focus + label, .upload-button + label:hover {background-color: var(--main-color-hover);}

.upload-button + label {
    cursor: pointer;
    color: var(--bs-light);
    background-color: var(--main-color);
    border-radius: 0.375rem;
}

.upload-button + label .icon, .input-file + label .icon {margin-right: 0.5rem;}
/*  </UPLOAD BUTTON>  */



.table.table-list {
    --bs-table-striped-bg: rgba(0, 50, 255, 0.03) !important;
    font-size: 0.95em !important;
}

.table tbody tr td, .table tbody tr th {
    background-color: transparent;
    transition: all 500ms;
}

.table tbody tr:hover td, .table tbody tr:hover th {
    background-color: #f0f6ff;
    transition: all 300ms;
}

td.rotate-90, th.rotate-90{
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-rl;
}



@-webkit-keyframes rotating {
    from{
        -webkit-transform: rotate(0deg);
    }
    to{
        -webkit-transform: rotate(360deg);
    }
}

.hide {display: none;}

.rotating {
    -webkit-animation: rotating 2s linear infinite;
}

.alert.msg {
    position: fixed;
    z-index: 1050 !important;
    top: 1em;
    right: 1em;
    left: 1em;
    box-shadow: 0 0 15px 1px black;
}

.sortable-placeholder{
    /*background: #f0f6ff;*/
    background: #EDD59E     ;
    border: 1px solid #ccc !important;

    transition: all 200ms;
}

.ui-sortable-helper{
    cursor: move;
}

.sticky-header{
    position: sticky;
    top: 58px;
    background: white;
    z-index: 1020;
}

.table-responsive .sticky-header {
    top: 0px !important;
}

.v-scroll {
    height: 60vh;
    overflow: auto;
}

.promoce-list[aria-expanded=true] {
    background: var(--bs-primary) !important;
    color: white;
}

.promoce-list[aria-expanded=true] .text-muted {
    color: #eee !important;
}


.status.process {background: #FFF4CF}
.status.done {background: #D0EBB5}
.status.unrealized {background: #ebd1b5}
.status.moved {background: #c8e9f6}
.status.new {background: #b5e5eb}