@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: 6rem; opacity: 0;}
        to {padding-top: 5rem; opacity: 100;}
    }

    a[name] {
        display: block;
        position: relative;
        top: -160px;
        visibility: hidden;
    }
/*  </main>  */

/*  <main menu> */
    ul.navbar-styling {
        display: flex;
        width: 100%;
    }

    ul.navbar-styling li {width: 100%; text-align: center;}

    nav.navbar {
        box-shadow: 0 0 5px 2px #123b76;
    }

    nav.navbar .navbar-styling li.nav-item a {
        font-weight: bold;
        transform: scale(1.0);
        transition: all 200ms;
    }

    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;
    }
/*  </main menu> *

/*  </page menu> */
    .page-menu {margin-bottom: 1em; text-align: right}

/*  </page menu> */

/*  <login>  */
    html[data-page="login"] {
        background-image: linear-gradient(to right, #00b4db, #0083b0);
        height: 100%
    }

    html[data-page="login"] body{background-color: transparent;}

    html[data-page="login"] .card {
        box-shadow: 0 0 15px 5px #2980b9;
        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;
        border-top-left-radius: 0.375rem !important;
        border-bottom-left-radius: 0.375rem !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:hover {
        box-shadow: 1px 1px 15px 5px #8395a7;
        transition: all 200ms;
    }
/*  </home>  */

/*  <katalog>  */
    html[data-page="katalog"] .item {
        text-align: center;
        position: relative;
    }

    html[data-page="katalog"] .item .photo {
        object-fit: cover;
        overflow: hidden;
        transition: all 300ms;
    }

    html[data-page="katalog"] .item .photo img {
        width:100%;
        height: 30rem;
        object-fit: cover;
        transition: all 300ms;
    }

    html[data-page="katalog"] .item .photo img:hover {
        transform: scale(1.1);
        transition: all 500ms;
    }

    html[data-page="katalog"] .item .photo, .item .name {
        border-bottom-left-radius: 1em;
        border-bottom-right-radius: 1em;
    }

    html[data-page="katalog"] .item .name {
        background: #0d6efd;
        bottom: 0em;
        color: white;
        cursor: default;
        letter-spacing: 1.25px;
        padding: 0.5em;
        position: absolute;
        width: 100%;
        z-index: 10
    }

    html[data-page="katalog"] .item .level {
        position: absolute;
        top: -0.25em;
        right: -0.25em;
        font-size: 1.5em
    }
/*  </katalog>  */

/*  <katalog.detail>  */
    html[data-page="katalog"] h2 span {
        font-weight: 600;
        text-transform: uppercase;
        color: var(--bs-blue);
    }

    html[data-page="katalog"] .info h3 {
        padding-bottom: 0.25em;
        margin-bottom: 0.75em;
        border-bottom: 1px solid #ccc;
        color: var(--bs-link-hover-color);
    }
/*  </katalog.detail>  */


/* <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> */

/*  <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;
}

/*  <VIP-HOSTESS>  */
.vip-club-hostess-info{
    margin-left: calc(var(--bs-gutter-x) * -.5);
    margin-right: calc(var(--bs-gutter-x) * -.5);
    margin-top: -1.5em;
}

.vip-club-hostess-info img {
    width:100%;
    object-fit: cover;
    max-height: 100vh;
}
/*  </VIP-HOSTESS>  */

.alert.msg {
    position: fixed;
    left: 0.5em;
    right: 0.5em;
    z-index: 1000 !important;
    top: 4em;
    box-shadow: 0 0 15px 1px black;
}


.trophy.bronze .icon {color: #bb8f4c}

.trophy.silver .icon {color: #c9c0bb}
.trophy.gold .icon {color: #FFD700}

