
*{ margin: 0; padding: 0; box-sizing: border-box; }
::-webkit-scrollbar{ display: none; }
html, body { height: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; position: relative; }
body a { text-decoration: none; color: #004A99; }

/*================================================================*/

:root {
    --root-color: #a13230;
    --root-color-light: #fff5f5;
}

/*================================================================*/

#pageLoader{
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    z-index: 9999999;
    transition: opacity 450ms ease, visibility 450ms ease;
    will-change: opacity;
    pointer-events: auto;
}
.loader-card{
    position: relative;
    padding: 18px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.loader-lines{
    width: 50px;
    height: 30px;
    display: flex;
    gap: 4px;
}
.loader-lines::after{
    content: "Loading";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    text-transform: uppercase;
    font-family: Arial, sans-serif;
    font-weight: bold;
    font-size: 12px;
    color: #444;
}
.loader-lines .line{
    width: 6px;
    height: 100%;
    background: #333;
    animation: stretch 1.2s infinite ease-in-out;
}
.line.one   { background:#E72316; }
.line.two   { background:#3A2083; animation-delay:-1.1s; }
.line.three { background:#0C90DD; animation-delay:-1.0s; }
.line.four  { background:#068F40; animation-delay:-0.9s; }
.line.five  { background:#DC1482; animation-delay:-0.8s; }

@keyframes stretch{
    0%,40%,100%{ transform: scaleY(0.4); }
    20%{ transform: scaleY(1); }
}
#pageLoader.loaded{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce){
    .loader-lines .line{
        animation: none;
    }
}

/*================================================================*/

.web-header {
    width: 100%;
    height: 80px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.menu-btn-lg {
    padding: 8px 12px;
    background: #f8f9fa;
    transition: all .3s ease;
    border-radius: 20px;
    color: black;
    border-bottom: 1px solid #e6e6e6;
}
.menu-btn-sm {
    width: 100%;
    padding: 8px 12px;
    background: #f8f9fa;
    transition: all .3s ease;
    border-radius: 8px;
    color: black;
    border-bottom: 1px solid #e6e6e6;
    display: block;
}
.menu-btn-lg:hover, .menu-btn-sm:hover{
    background: #e6e6e6;
}
.menu-btn-lg.active, .menu-btn-sm.active{
    background-color: var(--root-color-light);
}

/*================================================================*/

.admission-btn{
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.admission-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, #fff, #a13230, #fff);
    background-size: 200% 100%;
    animation: borderMove 2s linear infinite;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

@keyframes borderMove {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

/*================================================================*/

.menu-overlay{
    position:fixed;
    height: 100vh;
    inset:0;
    background:rgba(0,0,0,.4);
    opacity:0;
    visibility:hidden;
    transition:0.3s;
    z-index:1000;
}
.sidebar-menu{
    position:fixed;
    top:0;
    left:-280px;
    width:280px;
    height:100vh;
    background:#ffffff;
    box-shadow:2px 0 12px rgba(0,0,0,.15);
    transition:0.4s ease;
    z-index:1002;
}
.sidebar-menu.active{
    left:0;
}
.menu-overlay.active{
    opacity:1;
    visibility:visible;
}

.page-header { border-bottom: 2px solid var(--root-color); font-weight: 420; display: inline-block; }

/*================================================================*/

.media-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    justify-content: start;
    max-width: 2560px;
    margin: auto;
}

/*================================================================*/
/*================================================================*/


.position-relative { position: relative; }
.position-absolute { position: absolute; }
.position-fixed    { position: fixed; }

.top-0 { top : 0px; }
.top-1 { top : 5px; }
.top-2 { top : 10px; }
.top-3 { top : 15px; }
.top-4 { top : 20px; }

.bottom-0 { bottom : 0px; }
.bottom-1 { bottom : 5px; }
.bottom-2 { bottom : 10px; }
.bottom-3 { bottom : 15px; }
.bottom-4 { bottom : 20px; }

.left-0 { left : 0px; }
.left-1 { left : 5px; }
.left-2 { left : 10px; }
.left-3 { left : 15px; }
.left-4 { left : 20px; }

.right-0 { right : 0px; }
.right-1 { right : 5px; }
.right-2 { right : 10px; }
.right-3 { right : 15px; }
.right-4 { right : 20px; }
/*============================E===========================*/


/* ========================= (0–12) ========================= */
.m-0 { margin: 0px; }
.m-1 { margin: 5px; }
.m-2 { margin: 10px; }
.m-3 { margin: 15px; }
.m-4 { margin: 20px; }
.m-5 { margin: 25px; }
.m-6 { margin: 30px; }
.m-7 { margin: 35px; }
.m-8 { margin: 40px; }
.m-9 { margin: 45px; }
.m-10 { margin: 50px; }
.m-11 { margin: 55px; }
.m-12 { margin: 60px; }

.mx-0 { margin: 0px 0px; }
.mx-1 { margin: 0px 5px; }
.mx-2 { margin: 0px 10px; }
.mx-3 { margin: 0px 15px; }
.mx-4 { margin: 0px 20px; }
.mx-5 { margin: 0px 25px; }
.mx-6 { margin: 0px 30px; }
.mx-7 { margin: 0px 35px; }
.mx-8 { margin: 0px 40px; }
.mx-9 { margin: 0px 45px; }
.mx-10 { margin: 0px 50px; }
.mx-11 { margin: 0px 55px; }
.mx-12 { margin: 0px 60px; }

.my-0 { margin: 0px 0px; }
.my-1 { margin: 5px 0px; }
.my-2 { margin: 10px 0px; }
.my-3 { margin: 15px 0px; }
.my-4 { margin: 20px 0px; }
.my-5 { margin: 25px 0px; }
.my-6 { margin: 30px 0px; }
.my-7 { margin: 35px 0px; }
.my-8 { margin: 40px 0px; }
.my-9 { margin: 45px 0px; }
.my-10 { margin: 50px 0px; }
.my-11 { margin: 55px 0px; }
.my-12 { margin: 60px 0px; }

.mt-0 { margin-top: 0px; }
.mt-1 { margin-top: 5px; }
.mt-2 { margin-top: 10px; }
.mt-3 { margin-top: 15px; }
.mt-4 { margin-top: 20px; }
.mt-5 { margin-top: 25px; }
.mt-6 { margin-top: 30px; }
.mt-7 { margin-top: 35px; }
.mt-8 { margin-top: 40px; }
.mt-9 { margin-top: 45px; }
.mt-10 { margin-top: 50px; }
.mt-11 { margin-top: 55px; }
.mt-12 { margin-top: 60px; }
.mt-18 { margin-top: 90px; }
.mt-24 { margin-top: 120px; }

.mb-0 { margin-bottom: 0px; }
.mb-1 { margin-bottom: 5px; }
.mb-2 { margin-bottom: 10px; }
.mb-3 { margin-bottom: 15px; }
.mb-4 { margin-bottom: 20px; }
.mb-5 { margin-bottom: 25px; }
.mb-6 { margin-bottom: 30px; }
.mb-7 { margin-bottom: 35px; }
.mb-8 { margin-bottom: 40px; }
.mb-9 { margin-bottom: 45px; }
.mb-10 { margin-bottom: 50px; }
.mb-11 { margin-bottom: 55px; }
.mb-12 { margin-bottom: 60px; }

.ml-0 { margin-left: 0px; }
.ml-1 { margin-left: 5px; }
.ml-2 { margin-left: 10px; }
.ml-3 { margin-left: 15px; }
.ml-4 { margin-left: 20px; }
.ml-5 { margin-left: 25px; }
.ml-6 { margin-left: 30px; }
.ml-7 { margin-left: 35px; }
.ml-8 { margin-left: 40px; }
.ml-9 { margin-left: 45px; }
.ml-10 { margin-left: 50px; }
.ml-11 { margin-left: 55px; }
.ml-12 { margin-left: 60px; }

.mr-0 { margin-right: 0px; }
.mr-1 { margin-right: 5px; }
.mr-2 { margin-right: 10px; }
.mr-3 { margin-right: 15px; }
.mr-4 { margin-right: 20px; }
.mr-5 { margin-right: 25px; }
.mr-6 { margin-right: 30px; }
.mr-7 { margin-right: 35px; }
.mr-8 { margin-right: 40px; }
.mr-9 { margin-right: 45px; }
.mr-10 { margin-right: 50px; }
.mr-11 { margin-right: 55px; }
.mr-12 { margin-right: 60px; }

.my-auto-0 { margin: 0px auto; }
.my-auto-1 { margin: 10px auto; }
.my-auto-2 { margin: 20px auto; }
.my-auto-3 { margin: 30px auto; }
.my-auto-4 { margin: 40px auto; }
.my-auto-5 { margin: 50px auto; }
.my-auto-6 { margin: 60px auto; }

.p-0 { padding: 0px; }
.p-1 { padding: 5px; }
.p-2 { padding: 10px; }
.p-3 { padding: 15px; }
.p-4 { padding: 20px; }
.p-5 { padding: 25px; }
.p-6 { padding: 30px; }
.p-7 { padding: 35px; }
.p-8 { padding: 40px; }
.p-9 { padding: 45px; }
.p-10 { padding: 50px; }
.p-11 { padding: 55px; }
.p-12 { padding: 60px; }

.px-0 { padding-inline: 0px; }
.px-1 { padding-inline: 5px; }
.px-2 { padding-inline: 10px; }
.px-3 { padding-inline: 15px; }
.px-4 { padding-inline: 20px; }
.px-5 { padding-inline: 25px; }
.px-6 { padding-inline: 30px; }
.px-7 { padding-inline: 35px; }
.px-8 { padding-inline: 40px; }
.px-9 { padding-inline: 45px; }
.px-10 { padding-inline: 50px; }
.px-11 { padding-inline: 55px; }
.px-12 { padding-inline: 60px; }

.py-0 { padding-block: 0px; }
.py-1 { padding-block: 5px; }
.py-2 { padding-block: 10px; }
.py-3 { padding-block: 15px; }
.py-4 { padding-block: 20px; }
.py-5 { padding-block: 25px; }
.py-6 { padding-block: 30px; }
.py-7 { padding-block: 35px; }
.py-8 { padding-block: 40px; }
.py-9 { padding-block: 45px; }
.py-10 { padding-block: 50px; }
.py-11 { padding-block: 55px; }
.py-12 { padding-block: 60px; }

.pt-0 { padding-top: 0px; }
.pt-1 { padding-top: 5px; }
.pt-2 { padding-top: 10px; }
.pt-3 { padding-top: 15px; }
.pt-4 { padding-top: 20px; }
.pt-5 { padding-top: 25px; }
.pt-6 { padding-top: 30px; }
.pt-7 { padding-top: 35px; }
.pt-8 { padding-top: 40px; }
.pt-9 { padding-top: 45px; }
.pt-10 { padding-top: 50px; }
.pt-11 { padding-top: 55px; }
.pt-12 { padding-top: 60px; }

.pb-0 { padding-bottom: 0px; }
.pb-1 { padding-bottom: 5px; }
.pb-2 { padding-bottom: 10px; }
.pb-3 { padding-bottom: 15px; }
.pb-4 { padding-bottom: 20px; }
.pb-5 { padding-bottom: 25px; }
.pb-6 { padding-bottom: 30px; }
.pb-7 { padding-bottom: 35px; }
.pb-8 { padding-bottom: 40px; }
.pb-9 { padding-bottom: 45px; }
.pb-10 { padding-bottom: 50px; }
.pb-11 { padding-bottom: 55px; }
.pb-12 { padding-bottom: 60px; }

.pl-0 { padding-left: 0px; }
.pl-1 { padding-left: 5px; }
.pl-2 { padding-left: 10px; }
.pl-3 { padding-left: 15px; }
.pl-4 { padding-left: 20px; }
.pl-5 { padding-left: 25px; }
.pl-6 { padding-left: 30px; }
.pl-7 { padding-left: 35px; }
.pl-8 { padding-left: 40px; }
.pl-9 { padding-left: 45px; }
.pl-10 { padding-left: 50px; }
.pl-11 { padding-left: 55px; }
.pl-12 { padding-left: 60px; }

.pr-0 { padding-right: 0px; }
.pr-1 { padding-right: 5px; }
.pr-2 { padding-right: 10px; }
.pr-3 { padding-right: 15px; }
.pr-4 { padding-right: 20px; }
.pr-5 { padding-right: 25px; }
.pr-6 { padding-right: 30px; }
.pr-7 { padding-right: 35px; }
.pr-8 { padding-right: 40px; }
.pr-9 { padding-right: 45px; }
.pr-10 { padding-right: 50px; }
.pr-11 { padding-right: 55px; }
.pr-12 { padding-right: 60px; }

/* ========================= END ========================= */


/*============================S============================*/
.w-10 { width: 100%; }
.w-9 { width: 90%; }
.w-8 { width: 80%; }
.w-7 { width: 70%; }
.w-6 { width: 60%; }
.w-5 { width: 50%; }
.w-4 { width: 40%; }
.w-3 { width: 30%; }
.w-2 { width: 20%; }
.w-1 { width: 10%; }
.w-0 { width: 0%; }

.h-10 { height: 100%; }
.h-9 { height: 90%; }
.h-8 { height: 80%; }
.h-7 { height: 70%; }
.h-6 { height: 60%; }
.h-5 { height: 50%; }
.h-4 { height: 40%; }
.h-3 { height: 30%; }
.h-2 { height: 20%; }
.h-1 { height: 10%; }
.h-0 { height: 0%; }
/*============================E============================*/


/*============================S============================*/
.shadow-sm { box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; }
.shadow-md { box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 16px 0px; }
.shadow-lg { box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 32px 0px; }
.inner-shadow-01-sm { box-shadow: rgba(165,165,165,0.35) 0px -40px 36px -28px inset; }
.inner-shadow-02-sm { box-shadow: rgba(165,165,165,0.35) 0px 40px 36px -28px inset; }
/*============================E============================*/


/*============================S============================*/
.border-1 { border: 1px solid #f0f0f0; }
.border-2 { border: 1px solid #d9d9d9; }
.bt-01 { border-top: 1px solid #d9d9d9;}
.br-01 { border-right: 1px solid #d9d9d9;}
.bl-01 { border-left: 1px solid #d9d9d9;}
.bb-01 { border-bottom: 1px solid #d9d9d9;}
/*============================S============================*/


/*============================S============================*/
.round-0 { border-radius: 0px;}
.round-1 { border-radius: 2px;}
.round-2 { border-radius: 4px;}
.round-3 { border-radius: 6px;}
.round-4 { border-radius: 8px;}
.round-5 { border-radius: 10px;}
.round-10 { border-radius: 20px;}
.round-15 { border-radius: 30px;}
.round-20 { border-radius: 40px;}
.round-25 { border-radius: 50px;}
.round-50 { border-radius: 100px;}
/*============================E============================*/


/*============================S============================*/
.d-flex     { display: flex; }
.d-grid-050 { display: grid; grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)); }
.d-grid-080 { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); }
.d-grid-100 { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
.d-grid-150 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.d-grid-200 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.d-grid-250 { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.d-grid-300 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.d-grid-350 { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); }
.d-grid-400 { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); }
.d-grid-450 { display: grid; grid-template-columns: repeat(auto-fit, minmax(450px, 1fr)); }
/*============================E============================*/


/*============================S============================*/
.flex-1           { flex: 1; }
.flex-column      { flex-direction: column; }
.flex-wrap        { flex-wrap: wrap; }
.flex-orw-reverse {flex-direction: row-reverse;}

.alic   { align-items: center; }
.alie   { align-items: end; }
.alis   { align-items: start; }
.jstc   { justify-content: center; }
.jstl   { justify-content: left; }
.jstb   { justify-content: space-between; }
.jsta   { justify-content: space-around; }
.jste   { justify-content: end; }
/*============================E============================*/


/*============================S============================*/
.g-0  { gap: 0px; }
.g-1  { gap: 5px; }
.g-2  { gap: 10px; }
.g-3  { gap: 15px; }
.g-4  { gap: 20px; }
.g-5  { gap: 25px; }
.g-6  { gap: 30px; }
.g-7  { gap: 35px; }
.g-8  { gap: 40px; }
.g-9  { gap: 45px; }
.g-10 { gap: 50px; }
.g-11 { gap: 55px; }
.g-12 { gap: 60px; }

.rg-0  { row-gap: 0px; }
.rg-1  { row-gap: 5px; }
.rg-2  { row-gap: 10px; }
.rg-3  { row-gap: 15px; }
.rg-4  { row-gap: 20px; }
.rg-5  { row-gap: 25px; }
.rg-6  { row-gap: 30px; }
.rg-7  { row-gap: 35px; }
.rg-8  { row-gap: 40px; }
.rg-9  { row-gap: 45px; }
.rg-10 { row-gap: 50px; }
.rg-11 { row-gap: 55px; }
.rg-12 { row-gap: 60px; }

.cg-0  { column-gap: 0px; }
.cg-1  { column-gap: 5px; }
.cg-2  { column-gap: 10px; }
.cg-3  { column-gap: 15px; }
.cg-4  { column-gap: 20px; }
.cg-5  { column-gap: 25px; }
.cg-6  { column-gap: 30px; }
.cg-7  { column-gap: 35px; }
.cg-8  { column-gap: 40px; }
.cg-9  { column-gap: 45px; }
.cg-10 { column-gap: 50px; }
.cg-11 { column-gap: 55px; }
.cg-12 { column-gap: 60px; }

/*============================E============================*/


/*============================S============================*/
.float-right { float: right; }
.float-left  { float: left; }

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

.list-none      { list-style: none; }
.cursor-pointer { cursor: pointer; }

.d-inline-block { display: inline-block; }
.d-none         { display: none; }
.d-block        { display: block; }
/*============================E============================*/


/*============================S============================*/
.text-top      { text-align: top; }
.text-buttom   { text-align: buttom; }
.text-center   { text-align: center; }
.text-right    { text-align: right; }
.text-justify  { text-align: justify; }

.text-italic   { font-style: italic; }
.text-bold     { font-weight: bold; }
.text-bold-420 { font-weight: 420; }
.text-bold-300 { font-weight: 300; }

.text-para { font-size: 1rem; font-weight: 300; color: #334155; }
.text-h1   { font-size: 1.7rem; font-weight: 420; color: #0f172a; }
.text-h2   { font-size: 1.25rem; font-weight: 420; color: #0f172a; }
.text-h3   { font-size: 1rem; font-weight: 420; color: #0f172a; }

.text-5  { font-size: 10px; }
.text-6  { font-size: 12px; }
.text-7  { font-size: 14px; }
.text-8  { font-size: 16px; }
.text-9  { font-size: 18px; }
.text-10 { font-size: 20px; }
.text-11 { font-size: 22px; }
.text-12 { font-size: 24px; }
.text-13 { font-size: 26px; }
.text-14 { font-size: 28px; }
.text-15 { font-size: 30px; }

.text-1rem { font-size: 0.75rem; }
.text-2rem { font-size: 0.875rem; }
.text-3rem { font-size: 1rem; }
.text-4rem { font-size: 1.125rem; }
.text-5rem { font-size: 1.25rem; }
.text-6rem { font-size: 1.5rem; }
.text-7rem { font-size: 2rem; }
.text-8rem { font-size: 3rem; }
.text-9rem { font-size: 4rem; }

.text-blue   { color: #0d6efd; }
.text-indigo { color: #6610f2; }
.text-purple { color: #6f42c1; }
.text-pink   { color: #d63384; }
.text-red    { color: #dc3545; }
.text-orange { color: #fd7e14; }
.text-yellow { color: #F5B800; }
.text-green  { color: #198754; }
.text-teal   { color: #20c997; }
.text-cyan   { color: #0dcaf0; }
.text-gray   { color: #adb5bd; }
.text-black  { color: #000000; }
.text-white  { color: #ffffff; }
.text-light  { color: #334155; }
.text-root   { color: var(--root-color); }

/*============================E============================*/


/*============================S============================*/
.bg-blue   { background-color: #0d6efd; }
.bg-indigo { background-color: #6610f2; }
.bg-purple { background-color: #6f42c1; }
.bg-pink   { background-color: #d63384; }
.bg-red    { background-color: #dc3545; }
.bg-orange { background-color: #fd7e14; }
.bg-yellow { background-color: #F5B800; }
.bg-green  { background-color: #198754; }
.bg-teal   { background-color: #20c997; }
.bg-cyan   { background-color: #0dcaf0; }
.bg-gray   { background-color: #adb5bd; }
.bg-black  { background-color: #000000; }
.bg-white  { background-color: #ffffff; }
.bg-root   { background-color: var(--root-color); }

.bg-light3  { background-color: #ebebeb; }
.bg-light2  { background-color: #f2f2f2; }
.bg-light1 { background-color: #f8f9fa;}

.bg-blue-light   { background-color: #cfe2ff; }
.bg-gray-light   { background-color: #e2e3e5; }
.bg-green-light  { background-color: #d1e7dd; }
.bg-red-light    { background-color: #f8d7da; }
.bg-yellow-light { background-color: #fff3cd; }
.bg-cyan-light   { background-color: #cff4fc; }

.alert-red { background-color: #ffe8ea; border:1px solid #ffbac0da; padding: 8px; color: #dc3545; border-radius: 4px;}
.alert-green { background-color: #e7fff4; border:1px solid #75ffbf; padding: 8px; color: #198754; border-radius: 4px;}
/*============================E============================*/


/* ========================= Btn ========================= */

.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 16px; font-size:14px; font-weight:500; line-height:1.2; border-radius:4px; border:1px solid transparent; cursor:pointer; white-space:nowrap; text-decoration:none; transition:all .2s ease-in-out; }

.btn-sm { padding:5px 10px; font-size:12px; border-radius:3px; }
.btn-md { padding:8px 16px; font-size:14px; }
.btn-lg { padding:12px 22px; font-size:16px; border-radius:6px; }
.btn-block { width:100%; }

.btn-root { background: var(--root-color); color:#fff; border-color: var(--root-color); }
.btn-root:hover { background:#0b5ed7; border-color:#0a58ca; }

.btn-blue { background:#0d6efd; color:#fff; border-color:#0d6efd; }
.btn-blue:hover { background: var(--root-color-light); border-color: var(--root-color-light); }

.btn-gray { background:#6c757d; color:#fff; border-color:#6c757d; }
.btn-gray:hover { background:#5c636a; }

.btn-green { background:#198754; color:#fff; border-color:#198754; }
.btn-green:hover { background:#157347; }

.btn-red { background:#dc3545; color:#fff; border-color:#dc3545; }
.btn-red:hover { background:#bb2d3b; }

.btn-yellow { background:#ffc107; color:#000; border-color:#ffc107; }
.btn-yellow:hover { background:#ffca2c; }

.btn-cayn { background:#0dcaf0; color:#000; border-color:#0dcaf0; }
.btn-cayn:hover { background:#31d2f2; }

.btn-light { background:#f8f9fa; color:#000; border-color:#ddd; }
.btn-light:hover { background:#e9ecef; }

.btn-black { background:#212529; color:#fff; border-color:#212529; }
.btn-black:hover { background:#1c1f23; }

.btn-outline-blue { background:transparent; color:#0d6efd; border-color:#0d6efd; }
.btn-outline-blue:hover { background:#0d6efd; color:#fff; }

.btn:disabled, .btn.disabled { opacity:.6; cursor:not-allowed; pointer-events:none; }

/* ========================= END ========================= */



/* ========================= Frm ========================= */

.frm-input { width:100%; padding:8px 12px; font-size:14px; line-height:1.4; color:#212529; background:#fff; border:1px solid #ced4da; border-radius:4px; transition:border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.frm-input:focus { border-color:#86b7fe; outline:0; box-shadow:0 0 0 .2rem rgba(13,110,253,.25); }
.frm-input:disabled, .frm-input[readonly] { background:#e9ecef; opacity:1; }

select.frm-input { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236c757d' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5.5l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .75rem center; background-size:16px 12px; padding-right:2.5rem; }
textarea.frm-input { resize:vertical; min-height:80px; }

.frm-input[type="file"]{width:100%;padding:6px;cursor:pointer;}
.frm-input[type="file"]::file-selector-button{margin-right:10px;padding:6px 12px;font-size:14px;border:1px solid #ced4da;border-radius:4px;background:#f8f9fa;color:#212529;cursor:pointer;transition:background .15s ease-in-out;}
.frm-input[type="file"]::file-selector-button:hover{background:#e9ecef;}
.frm-input-sm[type="file"]::file-selector-button{padding:5px 10px;font-size:12px;}
.frm-input-md[type="file"]::file-selector-button{padding:6px 12px;font-size:14px;}
.frm-input-lg[type="file"]::file-selector-button{padding:10px 14px;font-size:16px;}

.frm-input-sm { padding:5px 10px; font-size:12px; border-radius:3px; }
.frm-input-md { padding:8px 12px; font-size:14px; }
.frm-input-lg { padding:12px 14px; font-size:16px; border-radius:6px; }

.password-wrapper{ position:relative; }
.toggle-password{ position:absolute; right:12px; top:50%; transform:translateY(-50%); cursor:pointer; color:#6c757d; font-size:16px; user-select:none; }
.toggle-password:hover{ color:#212529; }

/* ========================= END ========================= */


/*================================================================*/

.table{ width:100%;border-collapse:collapse;font-size:15px;color:#212529;background-color:#fff; }
.table thead th{ background-color:#0d6efd; color:#fff; font-weight:600; text-align:center; vertical-align:middle; padding:12px; border:1px solid #0b5ed7; white-space:nowrap }
.table tbody td{ padding:12px; vertical-align:middle; border:1px solid #dee2e6; }
.table-striped tbody tr:nth-of-type(odd){ background-color:#f8f9fa; }
.table-hover tbody tr:hover{ background-color:#f1f5ff; transition:background-color .2s ease-in-out; }
.table-bordered{border:1px solid #dee2e6}
.table td,.table th{text-align:center}
@media(max-width:576px){
    .table{ font-size:14px }
    .table thead th{ font-size:13px; padding:10px }
    .table tbody td{ padding:10px }
}

/*================================================================*/


/*============================S============================*/

.row{ display:flex; flex-wrap:wrap; margin-inline:-15px;}

[class^="col-"]{padding-inline:15px;box-sizing:border-box;}
.col-1{width:8.3333%;}.col-2{width:16.6667%;}.col-3{width:25%;}.col-4{width:33.3333%;}.col-5{width:41.6667%;}.col-6{width:50%;}.col-7{width:58.3333%;}.col-8{width:66.6667%;}.col-9{width:75%;}.col-10{width:83.3333%;}.col-11{width:91.6667%;}.col-12{width:100%;}
@media (min-width:576px){
.col-sm-1{width:8.3333%;}.col-sm-2{width:16.6667%;}.col-sm-3{width:25%;}.col-sm-4{width:33.3333%;}.col-sm-5{width:41.6667%;}.col-sm-6{width:50%;}.col-sm-7{width:58.3333%;}.col-sm-8{width:66.6667%;}.col-sm-9{width:75%;}.col-sm-10{width:83.3333%;}.col-sm-11{width:91.6667%;}.col-sm-12{width:100%;}
}
@media (min-width:768px){
.col-md-1{width:8.3333%;}.col-md-2{width:16.6667%;}.col-md-3{width:25%;}.col-md-4{width:33.3333%;}.col-md-5{width:41.6667%;}.col-md-6{width:50%;}.col-md-7{width:58.3333%;}.col-md-8{width:66.6667%;}.col-md-9{width:75%;}.col-md-10{width:83.3333%;}.col-md-11{width:91.6667%;}.col-md-12{width:100%;}
}
@media (min-width:992px){
.col-lg-1{width:8.3333%;}.col-lg-2{width:16.6667%;}.col-lg-3{width:25%;}.col-lg-4{width:33.3333%;}.col-lg-5{width:41.6667%;}.col-lg-6{width:50%;}.col-lg-7{width:58.3333%;}.col-lg-8{width:66.6667%;}.col-lg-9{width:75%;}.col-lg-10{width:83.3333%;}.col-lg-11{width:91.6667%;}.col-lg-12{width:100%;}
}
@media (min-width:1200px){
.col-xl-1{width:8.3333%;}.col-xl-2{width:16.6667%;}.col-xl-3{width:25%;}.col-xl-4{width:33.3333%;}.col-xl-5{width:41.6667%;}.col-xl-6{width:50%;}.col-xl-7{width:58.3333%;}.col-xl-8{width:66.6667%;}.col-xl-9{width:75%;}.col-xl-10{width:83.3333%;}.col-xl-11{width:91.6667%;}.col-xl-12{width:100%;}
}
/*============================E============================*/


.ellipsis   { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.ellipsis-1 { -webkit-line-clamp: 1; }
.ellipsis-2 { -webkit-line-clamp: 2; }
.ellipsis-3 { -webkit-line-clamp: 3; }
.ellipsis-4 { -webkit-line-clamp: 4; }
.ellipsis-5 { -webkit-line-clamp: 5; }
.ellipsis-6 { -webkit-line-clamp: 6; }


/*================================================================*/


/*============================S============================*/
.reveal {
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s ease-in-out;
  will-change: transform, opacity;
}
.reveal.show {
  opacity: 1;
  transform: translateY(0);
}
/*============================E============================*/


.animated-text1 {
    background: linear-gradient(90deg, #ffc107, var(--root-color), #ffc107);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 300% 300%;
    animation: colorShift 3s ease infinite;
}
@keyframes colorShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.animated-text2 {
    background: linear-gradient(90deg, #000000 0%, #F54927 45%, #000000 55%);
    background-size: 200% auto; 
    color: transparent;
    -webkit-background-clip:text;
    background-clip :text;
    animation: shineLRG 2.2s linear infinite;
}

@keyframes shineLRG {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
} 

/*============================S============================*/
.whatsapp-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.wa-btn {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(120% 120% at 20% 20%, #25d366 0%, #2ee083 40%, #25d366 100%);
  display: grid;
  place-items: center;
  color: white;
  box-shadow:
    0 12px 20px rgba(37, 211, 102, .28),
    0 4px 12px rgba(24, 36, 30, .15);
  overflow: visible;
  transform: translateZ(0);
  cursor: pointer;
}
.wa-btn i { font-size: 28px; }
.wa-btn::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 3px solid rgba(37, 211, 102, .25);
  transform: scale(.9);
  opacity: 0;
  animation: wa-halo 2.4s ease-out infinite;
}

.whatsapp-fab { animation: wa-float 4.5s ease-in-out infinite; }
.whatsapp-fab:hover .wa-btn,
.whatsapp-fab:focus-visible .wa-btn {
  box-shadow: 0 14px 30px rgba(37, 211, 102, .35), 0 6px 18px rgba(24, 36, 30, .18);
  transform: translateY(-1px);
}
.whatsapp-fab:active .wa-btn { transform: translateY(1px) scale(.98); }
.whatsapp-fab:focus-visible .wa-btn { outline: 4px solid rgba(37, 211, 102, .35); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .whatsapp-fab, .wa-btn::before, .wa-btn::after { animation: none !important; }
}
@keyframes wa-halo {
  0%   { transform: scale(.6); opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: scale(1.25); opacity: 0; }
}
@keyframes wa-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-4px); }
}
/*============================E============================*/


@media (max-width:920px){
    .menu-button { display: block; }
    .menu-lg { display: none; }
}

