@font-face {
    font-family: Gilroy;
    font-weight: 400;
    src: url("../fonts/Gilroy-Medium.otf") format("opentype");
}

@font-face {
    font-family: Gilroy;
    font-weight: 500;
    src: url("../fonts/Gilroy-Semibold.otf") format("opentype");
}

@font-face {
    font-family: Gilroy;
    font-weight: 700;
    src: url("../fonts/Gilroy-Bold.otf") format("opentype");
}

html, body {
    background-color: #eef1f2;
    color: #343a40;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 16px;
    /*line-height: 1.7;*/
    /*letter-spacing: -0.015em;*/
    height: 100vh;
    margin: 0;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 0.5rem;
    font-weight: 500;
    /*line-height: 1.2;*/
    /*letter-spacing: -0.025em;*/
}

th, table.dataTable tr.dtrg-group td {
    font-weight: 500 !important;
    /*letter-spacing: -0.025em;*/
}
/* Safari 11+ */
@media not all and (min-resolution:.001dpcm)
    { @supports (-webkit-appearance:none) and (stroke-color:transparent) {
    /*h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
        font-weight: 550;
    }
    th {
        font-weight: 550 !important;
    }
    table.dataTable tr.dtrg-group td {
        font-weight: 550 !important;
    }
    .dashboard-cards .task-list li {
      font-weight: 550 !important;
    }*/
    .nav-link.dropdown-toggle {
        outline: none;
    }
}}

button.navbar-toggler {
    outline: none;
    position: absolute;
    right: 1em;
}

a.nav-link {
    /*color: #ffffff !important;*/
}

a.nav-link:hover {
    /*color: #eef1f2 !important;*/
}


.bg-green-header {
    background-color: #06826C;
}

.notify-tap {
    position: absolute;
    background: rgba(0, 0, 0, 0.25);
    z-index: 10;
    display: none;
}

i.finger-icon {
    font-size: 3rem;
    color: white;
    text-shadow: 0 0 1rem grey;  
}

.notify-tap-text-shadow {
    text-shadow: 0 0 0.5rem grey;
}

.ripple {
    margin: auto;
    margin-top: 3rem;
    background-color: #fff;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position:relative;
    animation: ripple 3s linear infinite;
    animation-delay: 0s;
}
.ripple::before,
.ripple::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    border-radius: 50%;
    animation:inherit;
    animation-delay:1s;
}
.ripple::after {
    animation-delay:2s;
}
@keyframes ripple {
    0% {
        box-shadow: 0 0 0 .5rem rgba(255,255,255, 0.2);
    }
    100% {
        box-shadow: 0 0 0 5rem rgba(255,255,255, 0);
    }
}

.btn-grad {
    transition: 0.4s;
    background-size: auto 200%;
    border: 0;
}

.btn-grad:not([disabled]):hover {
    opacity: 0.85;
}

.btn-grad:not([disabled]):focus {
    opacity: 1;
}

.btn-grad:not([disabled]):active {
    background-position: center bottom;
}

.btn-grad-primary {background-image: linear-gradient(to bottom, #4d7dee 0%, #0045e6 51%, #4d7dee 100%)}
.btn-grad-secondary {background-image: linear-gradient(to bottom, #989ea4 0%, #6c757d 51%, #989ea4 100%)}
.btn-grad-success {background-image: linear-gradient(to bottom, #06826c 0%, #045b4c 51%, #06826c 100%)}
.btn-grad-danger {background-image: linear-gradient(to bottom, #f84d4e 0%, #f50002 51%, #f84d4e 100%)}
.btn-grad-yuhua {background-image: linear-gradient(to bottom, #fe8254 0%, #fe4d0b 51%, #fe8254 100%)}

.label-success {
    background-color: #06826c;
    border-color: #06826c;
}

.label-percentage-green {
    background-color: rgba(25, 135, 84, 0.5);
    border: none;
    color: #343a40;
}

.label-percentage-yellow {
    background-color: rgba(255, 193, 7, 0.5);
    border: none;
    color: #343a40;
}

.label-percentage-amber {
    background-color: rgba(253, 126, 20, 0.5);
    border: none;
    color: #343a40;
}

.label-percentage-red {
    background-color: rgba(220, 53, 69, 0.5);
    border: none;
    color: #343a40;
}

.card {
    border-radius: .5rem;
}
.card .card-header {
    border-radius: .5rem .5rem 0 0;
}
.card .card-footer {
    border-radius: 0 0 .5rem .5rem;
}

/* class applies to select element itself, not a wrapper element */
select {
    display: inline-block;
    color: #444;
    /*line-height: 1.3;*/
    padding: .3em 1.4em .3em .6em !important;
    width: auto;
    max-width: 100%; /* useful when width is set to anything other than 100% */
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: .5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    /* note: bg image below uses 2 urls. The first is an svg data uri for the arrow icon, and the second is the gradient. 
        for the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's a url. You can also swap in a different svg icon or an external image reference
        
    */
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
      linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
    background-repeat: no-repeat, repeat;
    /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
    background-position: right .6em top 50%, 0 0;
    /* icon size, then gradient */
    background-size: .5em auto, 100%;
}
/* Hide arrow icon in IE browsers */
select::-ms-expand {
    display: none;
}
/* Hover style */
select:hover {
    border-color: #888;
}
/* Focus style */
select:focus {
    border-color: #aaa;
    /* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222; 
    outline: none;
}

/* Set options to normal weight */
select option {
    font-weight:normal;
}

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir="rtl"] select, :root:lang(ar) select, :root:lang(iw) select {
    background-position: left .7em top 50%, 0 0;
    padding: .3em .6em .3em 1.4em;
}

/* Disabled styles */
select:disabled, select[aria-disabled=true] {
    color: graytext;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
      linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
}

select:disabled:hover, select[aria-disabled=true] {
    border-color: #aaa;
}

table.dataTable thead .sorting_desc {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230045e6' class='bi bi-arrow-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z'/%3E%3C/svg%3E");
    background-size: 1em auto;
    background-position: right .2em top 50%;
}

table.dataTable thead .sorting_asc {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230045e6' class='bi bi-arrow-up' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z'/%3E%3C/svg%3E");
    background-size: 1em auto;
    background-position: right .2em top 50%;
}

table.dataTable thead .sorting {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23b6babe' class='bi bi-arrow-down-up' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
    background-size: 1em auto;
    background-position: right .4em top 50%;
}

table.dataTable thead th {
    padding: 10px 25px;
}

table.dataTable td.dtr-control {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

table.dataTable.dtr-inline.collapsed tr.parent td.dtr-control:before {
    content: "−" !important;
    background-image: linear-gradient(to bottom, #f84d4e, #f50002);
}

table.dataTable td.dtr-control:before {
    left: 0.25em !important;
    font-family: 'Gilroy', sans-serif !important;
    line-height: 1.2em !important;
    margin-top: -11px !important;
    background-image: linear-gradient(to bottom, #4d7dee, #0045e6);
    border-width: .2em !important;
}

input.form-control::-webkit-search-cancel-button{
    position:relative;
    right: -10px;  
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='%230045e6' class='bi bi-x' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
  
    -webkit-appearance: none;
    height: 25px;
    width: 25px;
}

.navbar .nav-item:not(.show) .dropdown-menu{  display:block; opacity: 0;  visibility: hidden; transition:.3s; margin:0; height: 0; overflow: hidden; padding: 0;}
.navbar .dropdown-menu.fade-down{ top:80%; transform: rotateX(-75deg); transform-origin: 0% 0%; }
.navbar .dropdown-menu.fade-up{ top:180%;  }
.navbar .nav-item.show .dropdown-menu{ transition: .3s; opacity:1; visibility:visible; top:100%; transform: rotateX(0deg); height: auto;}

@media (min-width:1200px) {
    .navbar-collapse {
        position: absolute !important;
        right: 0;
    }
}

@media (max-width:1200px) {
    .nav-link {
        padding: .3rem 1rem;
    }
}

@media (max-width:992px) {
    .dataTables_length {
        margin-top: .5rem;
    }
}

.menu {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    padding: 0;
}
.line {
    fill: none;
    stroke: #343a40;
    stroke-width: 6;
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.line1 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}
.line2 {
    stroke-dasharray: 60 60;
    stroke-width: 6;
}
.line3 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}
.opened .line1 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}
.opened .line2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
    stroke-width: 6;
}
.opened .line3 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}

.medal {
    display: inline-block;
    height: 2em;
    width: 2em;
    /*line-height: 1.7em;*/

    -moz-border-radius: 1em; /* or 50% */
    border-radius: 1em; /* or 50% */

    border: 0.2em solid white;
    background-color: black;
    color: white;
    text-align: center;
    font-weight: bold;
    /*box-shadow: 0 0 0.5em rgba(0,0,0,.1);*/
}

.medal.gold-medal {
    border-color: #fff080;
    background-color: #fee101;
    content: "1";
}

.medal.silver-medal {
    border-color: #f2f2f2;
    background-color: #c2c2c2;
    content: "2";
}

.medal.bronze-medal {
    border-color: #e1b284;
    background-color: #cd7f32;
    content: "3";
}

.main-admin {
    overflow-y: scroll;
    overflow-x: hidden;
}

.main-user {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    overflow-y: scroll;
    overflow-x: hidden;
}

nav.navbar {
    position: fixed; z-index: 1000;
}

img.voucher-logo {
    height: 100%;
    max-width: 2.5rem;
}

img.yf-logo {
    width: 100%;
    max-height: 3.5rem;
}

img.gou-logo {
    width: 8rem;
}

canvas.capture-canvas {
    display: none;
}

p.bottom-bar {
    position: fixed;
    bottom: 0;
    width: 100%;
    box-shadow: 0 -0.125rem .25rem rgba(0,0,0,.075);
    z-index: 1000;
}

img.message-icon {
    height: 1.25rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.hidden-item {
    display: none;
}
