
/* RESET STYLING */

*, *::before, *::after {margin: 0; padding: 0; box-sizing: border-box;}

html {scroll-behavior: smooth;}

body {font-family: var(--ff-primary); font-weight: 400; -webkit-font-smoothing: antialiased; background: linear-gradient(
  131.88deg,
  #e1e5ed 0.5%,   /* very light blue */
  #B3CCFF 76.83%  /* soft pastel blue */
); height: 100%;}

h1,h2,h3,h4,h5,h6 {margin: 0; font-weight: 400; line-height: 40px; transition: var(--trans-4);}

ul, ol {margin: 0; padding: 0; padding-left: 1rem;}

li {list-style: none; font-size: var(--fs-base);}

p {margin: 0; font-size: var(--fs-xs);  line-height: 25px; transition: var(--trans-4);}

a {text-decoration: none; font-size: var(--fs-xs); color: var(--c-primary); display: block; width: fit-content;}

p a {display: inline;}

button {font-family: var(--ff-primary); font-size: var(--fs-base); background-color: transparent; color: #000; border: none; cursor: pointer;}

img, picture {max-width: 100%; height: auto; vertical-align: middle; font-style: italic; font-size: var(--fs-2xs);}

picture {display: block;}

svg {vertical-align: middle;}

input, textarea, select {width: 100%; font-family: var(--ff-primary); font-size: var(--fs-xs); color: #000; padding: 10px 9px 9px 9px; border-radius: 5px; border: 0; outline-color: var(--c-primary);}

select {color: var(--c-primary); appearance: none;}

input[type="number"]::-webkit-inner-spin-button,

input[type="search"]::-webkit-search-cancel-button {appearance: none;}

textarea {resize: none;}



/* MODIFIER CLASES */

.container {max-width: var(--container-size); margin-inline: auto; padding-inline: var(--container-padding);}



.btn__primary {display: flex; align-items: center; justify-content: center; gap: 6px; font-size: var(--fs-xs); font-weight: 500; text-transform: capitalize; text-wrap: nowrap; line-height: 25px; background-color: transparent; color: var(--c-primary); padding: 5px 20px; border: 1px solid var(--c-primary); border-radius: 20px; transition: var(--trans-4);}

.btn__primary:hover {background-color: #000; border-color: #000; color: #fff;}

.btn__primary img {transition: var(--trans-4);}

.btn__primary:hover img {filter: invert(1);}



/* FONT FAMILIES */

@font-face {

    font-family: 'Outfit';

    font-weight: 300 800;

    font-display: swap;

    src: url('../fonts/Outfit-VariableFont_wght.woff2'),

    url("../fonts/Outfit-VariableFont_wght.ttf"); 

}



/* VARIABLES */

:root {

    /* Container Max-Width */

    --container-size: 1600px;

    --container-size-xl: 1320px;

    --container-size-lg: 1110px;

    --container-size-md: 900px;

    --container-padding: 20px; /* Container Left-Right Padding */ 

    --container-padding-sm: 15px; /* Container Left-Right Padding */ 

    /* Font Families */

    --ff-primary: 'Outfit', system-ui, sans-serif; 



    /* Font-Sizes */

    /* STILL TO DEFINE */

    --fs-2xl: clamp(2rem, 1.3077rem + 3.0769vw, 4rem);              /* 32px - (360/1400) - 64px */

    --fs-xl: clamp(1.75rem, 1.3214rem + 1.9048vw, 2.75rem);         /* 28px - (360/1400) - 44px */

    --fs-lg: clamp(1.5rem, 1.1786rem + 1.4286vw, 2.25rem);          /* 24px - (360/1200) - 36px */

    --fs-md: clamp(1.25rem, 1.1429rem + 0.4762vw, 1.5rem);          /* 20px - (360/1200) - 24px */



    /* DEFINED */

    --fs-sm: clamp(1rem, 0.8574rem + 0.6339vw, 1.25rem);            /* 16px -  (360/991) - 20px */

    --fs-base: clamp(0.875rem, 0.8037rem + 0.317vw, 1rem);;         /* 14px -  (360/991) - 16px */

    --fs-xs : clamp(0.8125rem, 0.7768rem + 0.1585vw, 0.875rem);     /* 13px -  (360/991) - 14px */

    --fs-2xs: 12px;     /* 12px */



    /* Colors */

    --c-primary: #303030;

    /* Transitions */

    --trans-4: 0.4s ease-in;

    color: #0000003a;

    --trans-3: 0.3s ease-in;

} 

  



@media only screen and (max-width: 1400px) {

    :root {

        --container-size: var(--container-size-xl);

    }

}



@media only screen and (max-width: 1200px) {

    :root {

        --container-size: var(--container-size-lg);

    }

}





@media only screen and (max-width: 991px) {

    :root {

        --container-size: var(--container-size-md);

        --container-padding : var(--container-padding-sm);

    }

}







/* PRIVATE VARIABLE */

.view-head, .detail-table, .detail-head, .personal-info, .edit-head, .leave-table, .brand-table, .modal-calendar {

    --_c-light : #D9D9D9;

    --_c-yellow : #E19808;

}


div.dt-processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -22px;
    text-align: center;
    padding: 2px;
    z-index: 10
}

div.dt-processing>div:last-child {
    position: relative;
    width: 80px;
    height: 15px;
    margin: 1em auto
}

div.dt-processing>div:last-child>div {
    position: absolute;
    top: 0;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: rgb(13, 110, 253);
    animation-timing-function: cubic-bezier(0, 1, 1, 0)
}

div.dt-processing>div:last-child>div:nth-child(1) {
    left: 8px;
    animation: datatables-loader-1 .6s infinite
}

div.dt-processing>div:last-child>div:nth-child(2) {
    left: 8px;
    animation: datatables-loader-2 .6s infinite
}

div.dt-processing>div:last-child>div:nth-child(3) {
    left: 32px;
    animation: datatables-loader-2 .6s infinite
}

div.dt-processing>div:last-child>div:nth-child(4) {
    left: 56px;
    animation: datatables-loader-3 .6s infinite
}

@keyframes datatables-loader-1 {
    0% {
        transform: scale(0)
    }

    100% {
        transform: scale(1)
    }
}

@keyframes datatables-loader-3 {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(0)
    }
}

@keyframes datatables-loader-2 {
    0% {
        transform: translate(0, 0)
    }

    100% {
        transform: translate(24px, 0)
    }
}
