:root {

    --roboto: 'Roboto', sans-serif;
    --inter: 'Inter', sans-serif;
    --red-hat-display: 'Red Hat Display', sans-serif;

    --primary-clr: #EB2F59;
    --primary-hover: #C4274A;
    --primary-surface: #F8BAC8;

    --warning-clr: #FCBE05;
    --warning-surface: #FEF2CD;

    --success-clr: #43936C;
    --success-hover: #367A59;
    --success-surface: #F7F7F7;
}

*::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
*::-webkit-scrollbar-track {
    background: #fafafa;
}
*::-webkit-scrollbar-thumb {
    background-color: #EB2F59;
    border-radius: 20px;
    border: 1px solid #fafafa;
}

body {
    font-family: var(--roboto);
}
body::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}



/* Navigation */
.navigation {
    /* Position fixed */
    position: fixed;
    top: 0px;
    left: 0px;
    overflow: hidden;
    z-index: 101;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 48px;
    border-radius: 0;
    width: 100%;
    background: #FFFFFF !important;
}

.navigation h1 {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #0A0A0A;
    /* padding-top: 0px; */
    margin: 0;
}
.navigation img {
    width: 116px;
    height: 40px;
}

.input-group-form {
    display: flex;
}

.input-group-form input, select, button {
    outline: none;
    border: none;
}

ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.section {
    margin-top: 72px;
    margin-left: 175px;
    padding: 12px 16px;
}

.menubar {
    background: #FFFFFF;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 12px 16px;
}

.menubar h1 {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #EB2F59;
}
.menubar h1 > a {
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    text-decoration: none;
}

.content {
    margin-top: 58px;
    display: flex;
    justify-content: space-between;
}

.child-content1 {
    width: 63.5%;
}

.child-content2 {
    width: 35%;
}

.content .child-content1 .title {
    margin-top: 42px;
}

.title {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #000000;
    margin: 0;
}

.title-meja {
    margin-top: 26px;
}

.card-body .title-top {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: #000000;
}

.show-desktop, .view-desktop {
    display: none;
}

.statistik {
    margin-top: 32px;
}

.card-hero-statistik {
    padding: 6px 16px;
    /* height: 200px; */
}

.card-body .card-title {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: #0A0A0A;
    margin: 0;
    padding: 0;
    display: inline;
    align-self: flex-start;
}

.card-body .card-sub-title {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    color: #757575;
}

.child-label-card-mini {
    margin-top: 8px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 6px;
}

.child-label-card-mini span svg {
    width: 20px;
    height: 20px;
}

.child-label-card-mini span:nth-child(2) {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #0A0A0A;
}

.choice-riwayat {
    display: flex; 
    justify-content: space-between; 
    align-items: center;
}

.garis-grey {
    margin-top: 8px;
    border: 1px solid #EDEDED;
}

.garis-grey-table-seat {
    margin-top: 20px;
}

.card-time {
    margin-top: 12px;
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #757575;
}

.tooltip-icon {
    position: absolute;
    top: 10px;
    right: 23px;
}

.tooltip-icon img {
    width: 30px;
    height: 30px;
}

.card-statistik-chart {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* position: relative; */
}

.card-statistik-chart .child-card-title {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #404040;
}

.child-label-card-mini-progress {
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.child-label-card-mini-progress .child-title {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}

.child-title-label-statistik {
    /* display: flex;
    align-items: flex-end; */
    margin-top: 8px;
    margin-bottom: 16px;
}

.child-title-label-statistik span:nth-child(1) {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #0A0A0A;
}

.child-title-label-statistik span:nth-child(2) {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    /* line-height: 32px; */
    color: #0A0A0A;
}

.child-label-card-mini-progress-text-char {
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.child-label-card-mini-progress-text-char .child-title {
    margin-top: 2px;
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #404040;
}

.child-title-label-statistik-text-char {
    display: flex;
    justify-content: space-between;
}

.child-title-label-statistik-text-char span:nth-child(1) {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #0A0A0A;
}

.child-title-label-statistik-text-char span:nth-child(2) {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #0A0A0A;
}

.child-title-meja-information {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #404040;
}

.card-col-3 .title-mini {
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #404040;
}

.choice-category {
    list-style-type: none;
    margin: 0;
    padding: 0;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.choice-category li button {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 4px 16px;
    height: 32px;
    background: #EDEDED;
    border: 1px solid #E0E0E0;
    border-radius: 16px;
    

    /* Text */
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #9E9E9E;

    /* Transition */
    transition: 0.5s;
}

.choice-category li button:hover {
    background: #FBD5DE;
    color: #EB2F59;
}

.choice-category li button:focus {
    background: #FBD5DE;
    color: #EB2F59;
}

.choice-category li button.active {
    background: #FBD5DE;
    border: 1px solid #F8BAC8;

    /* Text */
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #EB2F59;
}

.pagination-page {
    margin-top: 24px;
}

.pagination-page ul {
    list-style-type: none;
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0px;
    gap: 8px;
}

.pagination-page ul li a {
    text-decoration: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px;
    width: 32px;
    height: 32px;
    background: transparent;
    color: #0A0A0A;
    border-radius: 16px;

    /* Text */
    font-family: var(--roboto);
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #404040;

    /* Transition */
    transition: 0.5s;
}

.pagination-page ul li a svg {
    stroke-width: 4px;
}
.pagination-page ul li a:hover {
    background: #FBD5DE;
    color: #EB2F59;
}

.pagination-page ul li a:focus {
    background:  #EB2F59;;
    color: #FFFFFF;
}

.pagination-page ul li a.active {
    background:  #EB2F59;;
    color: #FFFFFF;
}
.card-body-grub .flex-child-card-body h1 {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #404040;
    margin: 0;
}

.statistik-card .number {
    display: flex;
    align-items: flex-end;
}
.statistik-card .number span:nth-child(1) {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    color: #0A0A0A;
}
.statistik-card .number span:nth-child(2) {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    color: #0A0A0A;
}

progress {
    border: none;
    width: 100%;
    height: 8px;
    border-radius: 25px;
}
progress::-webkit-progress-value {
    background: #EB2F59;
    border-radius: 25px;

}
progress::-webkit-progress-bar {
    background: #EDEDED;
    border-radius: 25px;

}

@media (max-width: 991px) {
    .card.card-body-grub {
        box-shadow: none !important;
        border-radius: 0;
    }

    .card-body-grub .card-body {
        padding: 0;
    }

    .card-body-grub .flex-child-card-body {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    /* .card-body-grub .flex-child-card-body h1 {
        font-weight: 600;
    } */

    .card-body-grub .flex-child-card-body .statistik-card {
        margin-top: 0;
    }

}

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 576px) {

    .content .child-content1 .title {
        margin-top: 24px;
    }

    .card-body .card-title {
        font-size: 20px;
    }

    .title {
        font-family: var(--roboto);
        font-style: normal;
        font-weight: 600;
        font-size: 20px;
        line-height: 28px;
        letter-spacing: -0.017em;
        color: #000000;
    }

    .title-meja {
        margin-top: 16px;
    }

    .show-mobile, .view-mobile {
        display: block;
    }

    .statistik {
        margin-top: 20px;
    }

    .choice-riwayat {
        margin-top: 16px;
    }

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 576px) {
    .show-mobile, .view-mobile {
        display: none;
    }

    .show-desktop, .view-desktop {
        display: block;
    }

    .card-statistik-chart .child-card-title, 
    .card-col-3 .title-mini, 
    .child-label-card-mini-progress .child-title, 
    .child-label-card-mini-progress-text-char .child-title {
        font-size: 18px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .scroll-right {
        height: 72vh; 
        overflow-y: scroll; 
        direction: rtl; 
        padding: 0px 5px;
    }

    .scroll-right-mini {
        height: 40vh; 
        overflow-y: scroll; 
        direction: rtl; 
        padding: 0px 5px;
    }

    .show-mobile, .view-mobile {
        display: none;
    }

    .show-desktop, .view-desktop {
        display: block;
    }
}


@media (max-width: 1366px) {

    .navigation {
        padding: 16px;
        width: 100%;
    }

    .navigation h1 {
        font-size: 20px;
        line-height: 23px;
    }

    .navigation img {
        width: 87px;
        height: 30px;
    }

    .section {
        margin-top: 60px;
        margin-left: 0px;
    }

    .content {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }    
    .child-content1, .child-content2 {
        width: 100%;
    }

}

@media (min-width: 1023px) {
    .navigation {
        padding: 16px;
        width: 100%;
    }
    .navigation h1 {
        /* font-size: 20px;
        line-height: 23px; */
    }

    .section {
        margin-top: 60px;
        margin-left: 175px;
    }

    .content {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }    
    .child-content1, .child-content2 {
        width: 100%;
    }
}


/* ----------------------------------------
        Dashboard App Sidebar and Navbar
---------------------------------------- */
.app__sidebar {
    position: fixed;
    z-index: 10;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;

    /* box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.08); */
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.07);
    /* border-top: 1px solid #000000;  */
    /* border-radius: 8px 8px 0px 0px; */
    background: #fff;
}

.app__nav {    
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-items: flex-end;

    width: 100%;
    max-width: 500px;
    margin: 0px auto;
}

.app__nav .app__nav-item {
    position: relative;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
}

.app__nav .app__nav-item.active::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 5px;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: var(--primary-clr);
}

.app__nav .app__nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 2.5px;
    justify-content: flex-end;
    font-family: var(--red-hat-display);
    font-size: 11px;
    color: #000;
    text-decoration: none!important;
    color: #9E9E9E;
    position: relative;
    transition: 0.3s;
}
.app__nav .app__nav-item.active .app__nav-link {
    font-weight: 800;
    opacity: 1;
    color: var(--primary-clr);
}
.app__nav .app__nav-item .app__nav-link.gift .app__nav-icon > svg > g > path {
    fill: #9E9E9E;
}
.app__nav .app__nav-item.active .app__nav-link.gift .app__nav-icon > svg > g > path {
    fill: var(--primary-clr);
}
/* .app__nav .app__nav-float {
    opacity: 1;
} */

.app__nav .app__nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
}
.app__nav .app__nav-icon > svg {
    display: block;
    width: auto;
    height: 18px;
}

.app__nav .app__nav-float .app__nav-icon {
    background: var(--primary-clr);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    margin-top: -40px;
    /* box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.07); */
}
.app__nav .app__nav-float .app__nav-icon > svg {
    height: 30px;
}
.app__nav .app__nav-float .app__nav-icon > svg path {
    fill: #fff;
}

@media (min-width: 600px) {

    .app__nav .app__nav-item.active::after {
        bottom: 7px;
    }

    .app__nav .app__nav-link {
        font-size: 14px;
        padding: 12px 2.5px;
    }

    .app__nav .app__nav-icon > svg {
        height: 22px;
    }

    .app__nav .app__nav-float .app__nav-icon {
        width: 65px;
        height: 65px;
        margin-top: -55px;
    }
    .app__nav .app__nav-float .app__nav-icon > svg {
        height: 30px;
    }

}

@media (min-width: 1023px) {

    .app__sidebar {
        top: 0;
        bottom: 0;
        left: 0;
        right: auto;
        width: 175px;        

        box-shadow: none;
        border-radius: 0px;
        overflow: auto;
    }

    .app__nav {    
        grid-template-columns: 1fr;
        margin-top: 77px;
    }

    .app__nav .app__nav-link {
        padding: 15px 2.5px;
    }

    .app__nav .app__nav-item.active::after {        
        top: 50%;
        right: 10px;
        left: auto;        
        transform: translateY(-50%);
        height: 80%;
        width: 2px;
    }

    .app__nav .app__nav-icon {
        margin-bottom: 7px;
    }

    .app__nav .app__nav-float .app__nav-icon {
        width: 50px;
        height: 50px;
        margin-top: 0px;
    }
    .app__nav .app__nav-float .app__nav-icon > svg {
        height: 30px;
    }

}




/* ----------------------------------------
        Usher App Input
---------------------------------------- */

/* input text */
.input__text {    
    width: 100%;
    display: block;
    border: 1px solid #000;
    border-radius: 20px;
    font-size: 15px;
    line-height: 2;
    font-weight: 400;
    padding: 4px 20px;
}
.input__text:focus-visible {
    outline: none;
    box-shadow: none;
}
.input__text:disabled,
.input__text.disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* input kado */
.input__group-kado {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}
.input__kado-label {
    display: block;
}
.input__group-kado input[name="kado"],
.input__group-kado input[name="kado[]"] {
    display: none;
}
.input__kado-box {
    border: 1px solid #000;
    background: none;
    color: #000;
    padding: 4px 20px; 
    border-radius: 20px;
    line-height: 2;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s;
}
.input__kado-box.primary {
    border: 1px solid var(--primary-clr);
    color: var(--primary-clr);
}

.input__group-kado input[name="kado"] + .input__kado-box,
.input__group-kado input[name="kado[]"] + .input__kado-box {
    border: 1px solid #000;
    background: none;
    color: #000;
}
.input__group-kado input[name="kado"] + .input__kado-box.primary,
.input__group-kado input[name="kado[]"] + .input__kado-box.primary {
    border: 1px solid var(--primary-clr);
    color: var(--primary-clr);
}

.input__group-kado input[name="kado"]:checked + .input__kado-box,
.input__group-kado input[name="kado[]"]:checked + .input__kado-box,
.input__kado-box:hover {
    background: #000;
    color: #fff;
}
.input__group-kado input[name="kado"]:checked + .input__kado-box.primary,
.input__group-kado input[name="kado[]"]:checked + .input__kado-box.primary,
.input__kado-box.primary:hover {
    background: var(--primary-clr);
    color: #fff;
}

.input__kado-box > svg {
    display: block;
    width: auto;
    height: 20px;
    margin-right: 10px;
}
.input__kado-box > i {
    font-size: 1.5em;
    margin-right: 10px;
}


/* Input Count */
.input__count-wrap {
    
}
.input__count {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    border: 1px solid #000;
    border-radius: 20px;
    overflow: hidden;
    isolation: isolate;
}

/* toogle wrap */
.input__count .toggle-wrap {
    
}
.input__count .toggle-wrap.minus {
    border-right: 1px solid #000;
}
.input__count .toggle-wrap.plus {
    border-left: 1px solid #000;
}

/* toggle button */
.input__count .toggle-wrap .toggle-btn {
    background: none;
    border: none;
    outline: none;
    width: 45px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    color: #000;
    transition: 0.25s;
}
.input__count .toggle-wrap.minus .toggle-btn:hover {
    background: #000;
}
.input__count .toggle-wrap.plus .toggle-btn:hover {
    background: var(--primary-clr);
}

/* toggle icon */
.input__count .toggle-icon {
    display: block;
    width: 13px;
    height: 13px;
}
.input__count .toggle-icon path {
    stroke: #000;
    transition: 0.2s;
}
.input__count .toggle-wrap .toggle-btn:hover .toggle-icon path {
    stroke: #fff;
}

/* input count */
.input__count .input-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
}
.input__count .input-control {    
    display: block;
    width: 100%;
    flex-grow: 1;
    border: none;
    outline: none;
    background: none;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #000;
}

@media (max-width: 600px) {
    .input__group-kado {
        gap: 6px;
    }
    .input__kado-box {
        padding: 4px 8px;
        font-size: 14px;
    }
    .input__kado-box > i {
        margin-right: 5px;
    }
}

@media (max-width: 360px) {
    .input__group-kado {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}



/* ----------------------------------------
        Guest Page
---------------------------------------- */
.guest__result {
    font-family: var(--roboto);
    width: 100%;
    margin: 0px; 
    max-height: 0;
    overflow: hidden;
}
.guest__result.show {
    margin: 30px auto 50px;
    max-height: none;
    overflow: visible;
}

.guest__result-query {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.75);
    margin: 0px 0px 10px 20px;
}
.guest__result-query .count,
.guest__result-query .total {
    font-weight: 900;
}

.guest__result .guest__list {
    background: #fff;
    padding: 0px 20px;
    border-radius: 20px;    
    box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.05);
}
.guest__result .guest__list.empty {
    box-shadow: none;
    padding: 0px;
    border-radius: 0px;
    background: none;
}

/* guest item */
.guest__list .guest__item {
    display: flex;
    align-items: center;
    padding: 12px 0px;
    margin: 7.5px 0px;
    position: relative;
}
.guest__list .guest__item::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
    pointer-events: none;
}
.guest__list .guest__item:last-of-type::after {
    content: none;
}

/* empty item */
.guest__list .guest__item.empty {
    display: block;
    padding: 30px 0px;
    text-align: center;
}
.guest__list .guest__item.empty > p {
    margin: 0px;
    font-size: 15px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.75);
}

.guest__item .guest__item-kit {
    margin-right: 15px;
}
.guest__item .guest__item-name {
    margin: 0px;
    font-family: var(--roboto);
    font-size: 16px;    
    line-height: 1.4;
    font-weight: 700;
}
.guest__item .guest__item-details {    
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    color: #404040;
    margin: 5px 0px 0px;
}
.guest__item .guest__item-alert {
    display: flex;
    align-items: center;
    color: rgba(0, 0, 0, 0.7);    
    line-height: 1.4;
    font-size: 12px;
    margin: 5px 0px 0px;
}
.guest__item .guest__item-alert svg {
    display: block;
    width: auto;
    height: 12px;
    margin-right: 3px;
}
.guest__item .guest__item-alert svg path {
    fill: #a7a7a7;
}
.guest__item .guest__item-alert.info svg path {
    fill: #3267E3;
}
.guest__item .guest__item-alert.error svg path {
    fill:#CB3A31;
}

.guest__item .guest__item-checkin {
    background: var(--primary-clr);
    color: #fff;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--roboto);
    padding: 8px 20px;
    margin: 0;
    margin-left: auto;
    border-radius: 25px;
    cursor: pointer;
    white-space: nowrap;
    transition: 0.2s;
}
.guest__item .guest__item-checkin:hover {
    background: var(--primary-hover);
}

.guest__item .guest__item-checkin.checkin {
    background: var(--success-clr);
}
.guest__item .guest__item-checkin.checkin:hover {
    background: var(--success-hover);
}

.guest__item .guest__item-checkin.disabled,
.guest__item .guest__item-checkin:disabled {
    background: #c7c7c7;
    color: #000;
    opacity: 0.5;
    pointer-events: none;
}

.guest__item .guest__item-checkin > .fas {
    margin-left: 5px;
}

.usher__guest-page .scan__check-navbar {
    transition: 0.4s ease-in-out;
}
.usher__guest-page .scan__check {
    background: #fbfbfb;
    transition: 0.4s ease-in-out;
}


@media (max-width: 600px) {

    .navigation h1 {
        font-size: 18px;
        line-height: 21px;
    }

    .guest__result .guest__list {
        box-shadow: none;
        padding: 0px;
        border-radius: 0px;
        background: none;
    }

    .guest__list .guest__item {
        flex-direction: column;
        align-items: flex-start;
        margin: 0px 0px 12px;

        background: #fff;
        padding: 20px;
        border-radius: 20px;    
        box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.05);
    }
    .guest__list .guest__item::after {
        content: none;
    }

    .guest__list .guest__item.empty {
        background: none;
        border-radius: 0px;
        box-shadow: none;
    }

    .guest__item .guest__item-checkin {
        margin-left: 0px;
        margin-top: 12px;
        min-width: 150px;

        font-size: 14px;
        padding: 6px 16px;
    }

}



/* ----------------------------------------
        Popup Agreement
---------------------------------------- */
.popup-agreement {
    position: fixed;
    z-index: 108;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 500ms ease-out;
}
.popup-agreement.show {
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
}
.popup-agreement--backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}
.popup-agreement--dialog {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    padding: 24px;
}
.popup-agreement--content {
    background-color: #fff;
    width: 100%;
    max-width: 680px;
    margin: auto;
    border-radius: 24px;
    padding: 32px 32px 44px 32px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    text-align: center;
    opacity: 0;
    transition: opacity .3s ease-in;
}
.popup-agreement.show .popup-agreement--content {
    opacity: 1;
}
.popup-agreement.animate-in .popup-agreement--content {
    animation-duration: 800ms;
    animation-name: tada-open;
}
.popup-agreement.animate-out .popup-agreement--content {
    animation-duration: 800ms;
    animation-name: tada-close;
}

.popup-agreement--close {
    font-size: 32px;
    margin-left: auto;
    background: transparent;
    line-height: .8;
    border: none;
    box-shadow: none;
    cursor: pointer;
    transition: opacity .3s ease-in;
}
.popup-agreement--close:hover {
    opacity: .75;
}
.popup-agreement--title {
    color: var(--primary-clr);
    font-weight: 600;
}
.popup-agreement--caption {
    margin: 0px;
}
.popup-agreement--actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.popup-agreement--btn {
    padding: 12px 24px;
    border: 1px solid #e7e7e7;
    border-radius: 25px;
    color: #444;
    background: #e7e7e7;
    font-weight: 500;
    font-family: var(--montserrat);
    margin: 4px 8px;
    transition: background .2s ease-in, color .2s ease-in, border .2s ease-in;
}
.popup-agreement--btn.refuse {
    color: #000;
    background: #F2DBE2;
    border: 1px solid #FA034F;
}
.popup-agreement--btn.refuse:hover {
    background: #FA034F;
    color: #fff;
}
.popup-agreement--btn.approve {
    color: #000;
    background: #DBF2DB;
    border: 1px solid #369415;
}
.popup-agreement--btn.approve:hover {
    background: #369415;
    color: #fff;
}
.popup-agreement--btn:disabled,
.popup-agreement--btn:disabled:hover {
    background: #e7e7e7;
    border: 1px solid #e7e7e7;
    color: #444;
}

@media (max-width: 720px) {
    .popup-agreement--content {
        padding: 24px 24px 36px 24px;
    }
}

/* Tada Animation */
@keyframes tada-open {
    0% {
        transform: scale(1);
    }
    10%, 20% {
        transform: scale(0.9) rotate(-3deg);
    }
    30%, 50%, 70%, 90% {
        transform: scale(1.1) rotate(3deg);
    }
    40%, 60%, 80% {
        transform: scale(1.1) rotate(-3deg);
    }
    100% {
        transform: scale(1) rotate(0);
    }
}
@keyframes tada-close {
    0% {
        transform: scale(1);
    }
    10%, 20% {
        transform: scale(0.9) rotate(-3deg);
    }
    30%, 50%, 70%, 90% {
        transform: scale(1.1) rotate(3deg);
    }
    40%, 60%, 80% {
        transform: scale(1.1) rotate(-3deg);
    }
    100% {
        transform: scale(1) rotate(0);
    }
}



/* ----------------------------------------
        Popup Box
---------------------------------------- */
#popupBox {
    position: fixed;
    z-index: 106;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 500ms ease-out;
}
#popupBox.show {
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
}



/* ----------------------------------------
        Scan Page
---------------------------------------- */
.scan__page {
    font-family: var(--roboto);
    background: #f3f1e4;
}

/* Scan Navbar */
.scan__navbar {
    position: fixed;
    left: 0;
    top: 70px;
    width: 100%;
    padding: 20px 48px;
    display: none;
    align-items: center;
}
.scan__page.is-scanning .scan__navbar {
    display: flex;
}

.scan__navbar .scan-navbar__link {
    display: inline-block;
    vertical-align: top;
    margin-right: 15px;
    text-decoration: none;
}
.scan__navbar .scan-navbar__link > svg {
    display: block;
    width: 25px;
    height: auto;
}
.scan__navbar .scan-navbar__link > svg > path {
    stroke: #000;
}

.scan__navbar .scan-navbar__text {
    margin: 0;
    color: #000;
}

/* is scanning */
.scan__page.is-scanning .scan__navbar .scan-navbar__link > svg > path {
    stroke: #fff;
}
.scan__page.is-scanning .scan__navbar .scan-navbar__text {
    color: #fff;
}


/* Backdrop */
.scan__backdrop-img {
    position: fixed;    
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: none;
    filter: blur(8px);
}
.scan__backdrop-img.show {
    display: block;
}

/* Scanner */
#scanner {
    position: fixed!important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scaleX(1);
    transform: translate(-50%, -50%) scaleX(1);
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}
#scanner.mirror {
    -webkit-transform: translate(-50%, -50%) scaleX(-1);
    transform: translate(-50%, -50%) scaleX(-1);
}
#scanner > video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Scanner Guide */
.scanner-guide {
    --guideBox: 300px;
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}
.scanner-guide.show {
    opacity: 1;
}

.scanner-guide::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--guideBox);
    height: var(--guideBox);
    border-radius: 12px;
    box-shadow: 0 0 0 100pc rgba(0, 0, 0, .4);
}

/* Scanner Box */
.scanner-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: var(--guideBox);
    height: var(--guideBox);

    background: var(--primary-clr);
    padding: 5px;
    border-radius: 12px;

    -webkit-mask:
        linear-gradient(  0deg,#000 calc(2*5px),#0000 0) 50% 5px/calc(100% - 2*30px) 100% repeat-y,
        linear-gradient(-90deg,#000 calc(2*5px),#0000 0) 5px 50%/100% calc(100% - 2*30px) repeat-x,
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);

    -webkit-mask-composite: destination-out;
            mask-composite: exclude;
}
.scanner-box.scanned {
    background: var(--success-clr);
}

@media (max-width: 768px) {
    
}

/* Text Scan */
.scan__page .text-scan {
    position: absolute;
    top: 0px;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translateX(-50%);
    color: #fff;
    font-size: 18px;
    font-weight: 300;
}

/* Change Camera */
.change-camera-wrap {
    position: fixed;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
    transition: 0.7s;
}        
.change-camera-wrap.show {
    bottom: 50px;
    transform: translateX(-50%);
    opacity: 1;
    pointer-events: visible;
}
.change-camera-wrap.show.flip {
    transform: translateX(-50%) scaleX(-1);
}

/* Change Camera Button */
#changeCamera {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: var(--primary-clr);
}
#changeCamera::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;            
    transform: translate(-50%, -50%);
    width: calc(100% + 11px);
    height: calc(100% + 11px);
    border-radius: 50%;
    background: none;
    border: 3px solid var(--primary-clr);
}
#changeCamera > svg {
    display: block;
    position: absolute;
    width: 60%;
    height: 60%;
    top: 50%;
    left: 50%;            
    transform: translate(-50%, -50%);
}
#changeCamera > svg > path,
#changeCamera > svg > circle {
    stroke: #fff;
}

/* Start Scan */
.start-scan-wrap {
    position: fixed;
    top: 50%;
    left: 50%;            
    transform: translate(-50%, -50%);
    transition: .3s;
}
.scan__page.is-scanning .start-scan-wrap {
    opacity: 0;
    pointer-events: none;
    margin-top: 50px;
}

/* Start Scanning Button */
#startScanning {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    font-family: var(--roboto);
    line-height: 1;
    color: #fff;
    padding: 7px 30px;
    border-radius: 40px;
    white-space: nowrap;
    overflow: hidden;
    isolation: isolate;
    background: var(--primary-clr);
}


/* Scan Popup */
.scan__popup {
    position: fixed;
    z-index: 109;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    /* width: 100px;
    height: 100px; */
    width: calc(100vw + 100vh);
    height: calc(100vw + 100vh);
    border-radius: 50%;
    /* margin-top: 50px; */
    opacity: 0;
    pointer-events: none;
    background: #f3f1e4;
    transition: .1s;
}
.scan__popup.rise {        
    opacity: 1;
    pointer-events: visible;
    /* margin-top: 0px;     */
}
.scan__popup.rise.wide {
    /* top: 50%; */
    width: calc(100vw + 100vh);
    height: calc(100vw + 100vh);
    transition: .5s;
}
.scan__popup.checking {
    background: #fbfbfb;
}

/* scan popup spin */
.scan__popup-spin {
    position: absolute;
    width: 40px;
    height: 40px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.scan__popup-spin::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-style: solid;
    border-color: black;
    border-top-color: transparent;
    border-width: 4px;
    border-radius: 50%;
    -webkit-animation: spin .8s linear infinite;
    animation: spin .8s linear infinite;
}

@-webkit-keyframes spin {
	from {
        -webkit-transform:rotate(0deg);
    }
	to {
        -webkit-transform:rotate(360deg);
    }
}
@keyframes spin {
	from {
        transform:rotate(0deg);
    }
	to {
        transform:rotate(360deg);
    }
}

/* close popup */
.scan__popup + .scan__popup-close {
    position: fixed;
    z-index: 116;
    top: 20px;
    right: 20px;

    outline: none;
    box-shadow: none;
    border: none;
    background: none;

    display: block;
    cursor: pointer;

    transform: scale(0.8);
    opacity: 0;
    pointer-events: none;

    transition: 0.5s;    
}
.scan__popup.wide + .scan__popup-close {
    transform: scale(1);
    opacity: 1;
    pointer-events: visible;
}
.scan__popup.checking + .scan__popup-close {
    transform: scale(0.8);
    opacity: 0;
    pointer-events: none;
}
.scan__popup + .scan__popup-close > svg {
    display: block;
    width: 30px;
    height: auto;
}


/* Welcome */
.scan__welcome {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;

    position: fixed;
    z-index: 110;
    top: 0;
    left: 0;
    transform: translateY(200px);

    width: 100%;
    height: 100%;

    opacity: 0;
    pointer-events: none;

    transition: 0.3s ease-out;
}
.scan__welcome.hide {
    left: -100%;
}
.scan__welcome.init {    
    transform: translateY(0px);
    opacity: 1;
    pointer-events: visible;
}

.scan__welcome p,
.scan__welcome h1,
.scan__welcome h2,
.scan__welcome h3,
.scan__welcome h4,
.scan__welcome h5,
.scan__welcome h6 {
    margin: 0px;
}

/* welcome vip */
.scan__welcome-vip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
}
.scan__welcome-vip > svg {
    display: block;
    margin: 0px auto;
    width: 35px; 
    height: 35px;
}
.scan__welcome-vip > label {
    font-weight: 600; 
    font-size: 18px; 
    display: block; 
    margin-top: -5px;
}   

/* welcome content */
.scan__welcome-content {
    display: flex;
    flex-direction: column;
    margin: auto;
    height: 69%;
    width: 330px;
    flex-grow: 20;
    transition: 0.5s
}

/* welcome header */
.scan__welcome-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    margin-bottom: 20px;
}
.scan__welcome-header > p {
    font-size: 20px;
    font-weight: 400;
}
.scan__welcome-header .scan__welcome__guest-name {
    color: var(--primary-clr);
    font-size: 45px;
    font-weight: 600;
}

/* welcome card */
.scan__welcome-card {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 0px 0px 2.2px rgb(0, 0, 0);
    display: flex;
    flex-direction: column;
}

/* welcome screen */
.scan__welcome__screen-wrap {
    width: 100%;
    flex-grow: 1;
    z-index: 10;
    background-color: #000;
    background-image: var(--bg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    position: relative;
}
.scan__welcome-screen {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    position: relative;
}
.scan__welcome__screen-overlay {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
}
.scan__welcome__couple-wrap {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
    padding: inherit;
    width: 95%;
}
.scan__welcome__couple-name {
    color: #FFFFFF;
    font-family: var(--butler);
    font-size: 40px;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
}

/* welcome table */
.scan__welcome-table {
    background: #FFFFFF;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    padding: 10px 15px;
}
.scan__welcome-table > label {
    display: block;
    font-size: 14px;
    font-weight: 400;
}
.scan__welcome-table .scan__welcome__table-seat {
    font-size: 14px;
    font-weight: 400;
    color: var(--primary-clr);
}


/* next button */
.scan__welcome__next {
    width: 100%;
    margin: 0px;
}
.scan__welcome__next-button {
    outline: none;
    border: none;    
    padding: 15px;
    color: #FFFFFF;
    width: 100%;
    font-weight: 600;
    font-size: 18px;
    border-top: 2.2px solid #0A0A0A;
    background: var(--primary-clr);
}

/* welcome footer */
.scan__welcome__footer-wrap {
    flex-grow: 0.1;
    display: flex;
    align-items: center;
    padding: 0;
}
.scan__welcome-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.scan__welcome-footer > p {
    font-weight: 400;
    font-size: 14px;
}
.scan__welcome-footer > a {
    display: inline-block;
    vertical-align: top;
    margin-left: 5px;
}
.scan__welcome-footer > a > svg {
    display: block;
    width: 60px;
    height: 60px;
}


/* cross check */
.scan__check {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 110;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: auto;

    transition: 0.3s ease-out;
}
.scan__check.hide {
    left: 100%;
}

/* check navbar */
.scan__check-navbar {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    min-height: 64px;
    padding: 20px;
    display: flex;
    align-items: center;
    background: #fff;

    transition: 0.3s ease-out;
}
.scan__check.hide .scan__check-navbar { 
    left: 100%;
}

.scan__check-navbar .scan__check__navbar-button {
    display: block;
    outline: none;
    border: none;
    box-shadow: none;
    margin-right: 15px;
    background: none;
    transition: 0.2s;
}
.scan__check-navbar .scan__check__navbar-button > svg {
    display: block;
}
.scan__check-navbar .scan__check__navbar-button:hover {
    opacity: 0.5;
}
.scan__check-navbar .scan__check__navbar-text {
    margin: 0px;
    font-weight: 600;
}

/* check content */
.scan__check-content {
    margin-top: 120px;
    /* margin-top: auto; */
}

/* check alert */
.scan__form__alert-wrap {
    width: 100%;
    max-width: 1200px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 0px 20px;
    margin: 0px auto;
}
.scan__form-alert {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 10px 20px;
    border-radius: 12px;
    background: #e7e7e7;
}
.scan__form-alert.info {
    background: #F0F3FF;
}
.scan__form-alert.error {
    background: #FFE6E5;
}

.scan__form-alert .scan__alert-icon {
    display: block;
    width: auto;
    height: 17px;
    margin-top: 4px;
    margin-right: 15px;
}
.scan__form-alert .scan__alert-icon path {
    fill: #a7a7a7;
}
.scan__form-alert.info .scan__alert-icon path {
    fill: #3267E3;
}
.scan__form-alert.error .scan__alert-icon path {
    fill:#CB3A31;
}

.scan__form-alert .scan__alert-label {
    font-size: 16px;
    font-weight: 600;
    margin: 0px;
    color: #000;
}
.scan__form-alert .scan__alert-text {
    font-size: 12px;
    font-weight: 400;
    display: block;
    color: rgba(0, 0, 0, 0.75);
}


/* check data */
.scan__form-data {
    width: 100%;
    max-width: 1200px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    margin: 0px auto;
}

.scan__form__data-box {
    padding: 0px 0px 10px;
    border-radius: 20px;
    background: #fff;
    box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.05);
}
.scan__form__data-box.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.scan__form__data-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.scan__form__data-header h3 {
    margin: 0px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
}
.scan__form-row {
    display: flex;
    flex-direction: column;    
    padding: 15px;
}
.scan__form-row.default {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.scan__form-row.default-2 {
    padding: 5px 15px;
}

.scan__form-row p {
    margin: 0px;
    line-height: 1.2;
    font-size: 16px;
    font-weight: 400;
}
.scan__form-row p:nth-child(1) {
    width: 40%;
}
.scan__form-row p:nth-child(2) {
    text-align: right;
}

.scan__form-row strong {
    font-weight: 600;
}

.scan__form__input-label {
    font-weight: 600;
    margin-bottom: 8px;
}

.scan__form-data .input__text {
    width: 100%;
    /* max-width: 320px; */
    max-width: none;
}
.scan__form-data .input__count {
    width: 100%;
    /* max-width: 320px; */
    max-width: none;
}

/* submit button */
.scan__form__submit-wrap {
    margin: 50px 0px 30px;
}
.scan__form__submit-wrap.disabled {
    opacity: 0.5;
    pointer-events: none;    
}

.scan__form__submit {
    background: var(--primary-clr);
    outline: none;
    border: none;
    box-shadow: none;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding: 15px;
    border-radius: 50px;
    display: block;
    margin: 0px auto;
    width: 100%;
    max-width: 320px;
    transition: 0.2s;
}
.scan__form__submit:disabled {
    opacity: 0.5;
    pointer-events: none;
    background: var(--primary-clr);
}
.scan__form__submit:hover {
    background: var(--primary-surface);
    color: var(--primary-clr);
}

.scan__form__submit-wrap.disabled .scan__form__submit { 
    background: rgba(0, 0, 0, 0.3);
}

.card-tooltip-icon {
    position: relative;
}

.card-tooltip-icon img {
    width: 20px; 
    height: 20px; 
    position: absolute; 
    top: -3px; 
    right: 0px;
}


/* Margin */
.mt-16 {
    margin-top: 16px;
}
/* End margin */

.flex-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.flex-label-count span:nth-child(1) {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 28px;
    color: #0A0A0A;
}

.flex-label-count span:nth-child(2) {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    color: rgb(64, 64, 64);
}



/* ========================================
        ALERT!!
======================================== */

.kat__alert {
    z-index: 999;
    opacity: 0;
    transition: opacity .35s ease-in-out;
}
.kat__alert:not(.static) {
    position: fixed;
    top: 20px;
    left: 50%;    
    transform: translateX(-50%);
}
.kat__alert.show {
    opacity: 1;
}

.kat__alert .kat__alert-dialog {
    max-width: 720px;
    min-width: 360px;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.12);
    /* border: 1px solid var(--neutral-10); */
    border: none;
    background-color: #FFF;
    overflow: hidden;
}
.kat__alert.show:not(.static) .kat__alert-dialog {
    animation-duration: 800ms;
    animation-name: tada-open;
}

.kat__alert .kat__alert-content {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    background-color: rgba(237, 237, 237, .40);
}
.kat__alert.info .kat__alert-content {
    /* background-color: rgba(var(--info-rgb), .40); */
    background-color: #D6E1F9;
}
.kat__alert.success .kat__alert-content {
    /* background-color: rgba(var(--success-rgb), .40); */
    background-color: #D9E9E2;
}
.kat__alert.warning .kat__alert-content {
    /* background-color: rgba(var(--warning-rgb), .40); */
    background-color: #FFF9F2;
}
.kat__alert.danger .kat__alert-content {
    /* background-color: rgba(var(--danger-rgb), .40); */
    background-color: #F5D8D6;
}

.kat__alert .kat__alert-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 8px;
    border-radius: 50%;
    background-color: #FFF;
    font-size: 16px;
    color: #C2C2C2;
}
.kat__alert.info .kat__alert-icon {
    color: #3267E3;
}
.kat__alert.success .kat__alert-icon {
    color: #43936C;
}
.kat__alert.warning .kat__alert-icon {
    color: #CD7B2E;
}
.kat__alert.danger .kat__alert-icon {
    color: #CB3A31;
}

.kat__alert .kat__alert-caption {
    display: flex;
    flex-direction: column;
    align-self: center;
    flex-grow: 1;
    gap: 4px;
}
.kat__alert .kat__alert-label {
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    color: #000;
}
.kat__alert .kat__alert-description {
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    color: #000;
}
.kat__alert .kat__alert-close {
    flex-shrink: 0;
    outline: none;
    box-shadow: none;
    border: none;
    background-color: transparent;
    font-size: 14px;
    color: #616161;
    cursor: pointer;
    transition: color .25s ease-in-out;
}
.kat__alert .kat__alert-close:hover {
    color: #FFF;
}

@media (max-width: 450px) {
    .kat__alert .kat__alert-box {
        min-width: 0px;
    }
}

@media (max-width: 414px) {
    .kat__alert .kat__alert {
        width: 100%;
        top: 16px;
        padding-left: 24px;
        padding-right: 24px;
    }
    .kat__alert .kat__alert-dialog {
        width: 100%;
        min-width: 0;
    }
}
/* End of Alert */



@media (max-width: 1366px) {
    .scan__navbar {
        top: 60px;
        padding: 16px;
    }

    .change-camera-wrap.show {
        bottom: 40px;
    }
    #changeCamera {
        width: 50px;
        height: 50px;
    }

    .scan__check-content {
        margin-top: 70px;
    }

    .scan__form__alert-wrap {
        grid-template-columns: 1fr;
        max-width: 640px;
    }
    .scan__form-data {
        grid-template-columns: 1fr;
        max-width: 640px;
    }

    .scan__form__submit-wrap {
        margin: 50px 0px 0px;
    }
    .scan__form__submit {
        border-radius: 0px;
        max-width: none;
    }   
}

@media (min-width: 560px) and (max-width: 1024px) {
    .scan__form-row{
        padding: 10.2px;
    }
}

@media (max-height: 700px) {
    .scan__page .text-scan {
        font-size: 16px;
    }

    .change-camera-wrap.show {
        bottom: 35px;
    }
    #changeCamera {
        width: 50px;
        height: 50px;    
    }
}

@media (max-width: 768px) {

    .scan__page .navigation {
        display: none;
    }
    .scan__navbar {
        top: 0px;
        padding: 30px;
    }

    .scan__page .text-scan {
        font-size: 16px;
    }

    .change-camera-wrap.show {
        bottom: 35px;
    }
    #changeCamera {
        width: 50px;
        height: 50px;    
    }

    .scan__popup.wide + .scan__popup-close {
        top: 10px;
        right: 10px;
    }

    .scan__popup + .scan__popup-close > svg {
        width: 24px;
    }

    .scan__form-data .input__text {
        max-width: none;
    }
    .scan__form-data .input__count {
        max-width: none;
    }    

}

/* Max Width */
@media (max-width: 576px) {

    .scan__welcome-content {
        height: 86%;
        width: 320px;
    }

    .scan__welcome-vip {
        gap: 0px;
        /* margin-top: 5px; */
    }

    .scan__welcome-table .scan__welcome__table-seat {
        font-size: 16px;
        font-weight: 600;
    }

    .scan__welcome__next-button {
        padding: 12px;
    }

}

/* Max Width */
@media (max-width: 375px) {

    .scan__welcome__couple-name {
        -webkit-line-clamp: 1;
    }

}


/* Min Width */
@media (min-width: 576px) {    

    .title {
        font-size: 26px;
    }

    .scan__welcome-content {
        width: 400px;
        height: 75%;
    }

    .scan__welcome__couple-name {
        font-size: 45px;
    }
    
    .card-body .card-title {
        font-size: 23px;
    }

}

@media (min-height: 1070px) {
    .scan__check-content {
        /* margin-top: auto; */
    }

    .scan__form__submit-wrap{
        margin-top: 15%;
    }

    .scan__form-data{
        /* max-width: 720px; */
    }
}

@media (min-width: 560px) and (max-width: 1024px) {
    .scan__check-content {
        margin-top: auto;
    }
}
