@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>  */
    * {
        font-family: 'Open Sans', sans-serif;
    }


    #main * {
        text-shadow: 0px 0px 1px #ccc;
    }

    #main {
        padding-top: 5rem;
        /*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 {
        box-shadow: 0 0 5px 2px #123b76;
    }

    .navbar-brand {
        border-right: 1px solid #cfcfcf;
        padding-right: 1em;
    }


    nav.navbar .navbar-styling li.nav-item a .icon {
        margin-right: -0.25em !important;
    }

    nav.navbar .navbar-styling li.nav-item a {
        font-weight: bolder;
        transform: scale(1.0);
        transition: all 200ms;
        white-space: nowrap;
    }

    nav.navbar .navbar-styling li.nav-item a:hover, nav.navbar .navbar-styling li.nav-item.active a{
        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> */

.navbar-collapse {
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.7) #008cba;
}


/*  </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 {
        box-shadow: 1px 1px 10px 2px #8395a7;
        transition: all 200ms;
    }
/*  </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.new {background: #b5e5eb}