/*--------------------------------------------------------------
# Root
--------------------------------------------------------------*/
@font-face {
    font-family: NotoSansLao;
    src: url(../fonts/NotoSansLao-VariableFont_wdth\,wght.ttf);
}

@font-face {
    font-family: Roboto;
    src: url(../fonts/Roboto.ttf);
}

:root {
    scroll-behavior: smooth;

    /* Color */
    --color-primary: #600c15;
    --color-secondary: #EC1C24;
    --color-white: #FFFFFF;
    --color-black: #1E1E1E;
    --color-gray: #C0C0C0;

    /* Color RGB */
    --color-primary-rgb: 4, 155, 29;
    --color-secondary-rgb: 236, 28, 36;
    --color-white-rgb: 255, 255, 255;
    --color-black-rgb: 30, 30, 30;
    --color-gray-rgb: 192, 192, 192;

    /* Fonts */
    --font-notosanslao: "NotoSansLao";
    --font-roboto: "Roboto";
}

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
    color: var(--color-black);
}

a {
    color: var(--color-primary);
    text-decoration: none;
}

a:hover {
    color: var(--color-secondary);
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0;
}

.font-lao {
    font-family: var(--font-notosanslao) !important;
}

.font-english {
    font-family: var(--font-roboto);
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow: hidden;
    background: var(--color-white);
}

#preloader:before {
    content: "";
    position: fixed;
    top: calc(50% - 30px);
    left: calc(50% - 30px);
    border: 4px solid var(--color-primary);
    border-top-color: var(--color-white);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    -webkit-animation: animate-preloader 1s linear infinite;
    animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.menu .title {
    color: var(--color-black);
    font-family: var(--font-roboto);
    font-size: 28px;
    margin-bottom: 16px;
}

#section.menu {
    padding: 30px 0 0 0;
}

#section.menu:last-child {
    padding: 30px 0 30px 0;
}

.menu .button-menu {
    border-radius: 4px;
    color: var(--color-black);
    padding: 6px 12px;
}

.menu a.active .button-menu {
    background: var(--color-primary);
    color: var(--color-white);
}

.qrcode.fixed-top {
    background: var(--color-white);
}

.menu.menu-qrcode {
    margin-top: 120px;
}

.swiper-button-prev,
.swiper-button-next {
    background: rgba(var(--color-black-rgb), 0.5);
    border-radius: 4px;
    height: 40px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    color: var(--color-white);
    font-size: 24px;
    font-weight: 800;
}

.update-date {
    color: var(--color-secondary);
    font-size: 14px;
    font-weight: 600;
    text-align: end;
    padding: 0 0 15px 0;
}

/*--------------------------------------------------------------
# Login
--------------------------------------------------------------*/
#login {
    background: rgba(var(--color-gray-rgb), 0.5);
    height: 100vh;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    [data-aos-delay] {
        transition-delay: 0 !important;
    }
}

/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
    #section.menu:last-child {
        padding: 15px 0 30px 0;
    }

    .menu .button-menu {
        border-radius: 2px;
        font-size: 12px;
        padding: 2px;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        color: var(--color-white);
        font-size: 20px;
        font-weight: 800;
    }
}