html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif, serif;
    unicode-bidi: isolate;
}

body {
    background-color: #dfdfdf;
}
/* Display */
.flex {display: flex;}
.block {display: block;}

/* Text Sizes */
h3 {font-size: 26px; color: #222;}
h4 {font-size: 18px; color: #222;}
p {font-size: 16px; color: #222;}
li {font-size: 16px; color: #111;}
.text-xs {font-size: 13px;}

/* Margins */
.mx-auto {margin: auto;}    
.mt-0 {margin-top: 0;}
.mt-1 {margin-top: 1em;}
.mt-2 {margin-top: 2em;}
.ml-03 {margin-left: 0.3em;}
.ml-1 {margin-left: 1em;}
.ml-2 {margin-left: 1.5em;}
/* Paddings */
.py-1 {padding: 1em 0;}
.py-2 {padding: 1.5em 0;}
.p-1 {padding: 0.5em;}

/* Aspect-Ratio */
.aspect-square {aspect-ratio: 1 / 1;}
.aspect-video {aspect-ratio: 16 / 9;}
.aspect-phone {aspect-ratio: 2 / 6; display: block;}

/* Bordering */
.border {border: 1px solid rgb(41, 41, 41);}
/* Border Radius */
.circle-1 {border-radius: 1em;}

/* Flex */
.align-center {align-items: center;}
.justify-between {justify-content: space-between;}
.align-start {align-items: flex-start;}
.gap-1 {gap: 1em;}
.gap-2 {gap: 2em;}


/* Text Align */
.text-center {text-align: center;}
.text-left {text-align: left;}
/* Text Color */
.text-red {color: #be0e0e;}
/* Text Styles */
.italic {font-style: italic;}
.fw-600 {font-weight: 600;}
.fw-700 {font-weight: 700;}

/* Header Content */
header {
    width: 100%;
    background-color: white;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.4);;
    position: fixed;
    z-index: 100;
}
nav {
    width: 88%;
}
header ul{
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    justify-content: flex-end;
    align-items: center;
}
header a{
    text-decoration: none;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    color: black;
}
header img {
    height: 40px;
}
header li:first-child {margin-right: auto;}
header a:hover {
    background-color: #d2d2d2;
}
.sidebar {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    width: 250px;
    z-index: 999;
    background-color: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(8px);
    box-shadow: -10px 0 10px rgba(0, 0, 0, 0.5);
    display: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.sidebar li {
    width: 100%;
}
.sidebar a {
    width: 100%;
}
.menu-btn {
    display: none;
}


/* Section, Sub-Container */
.container {
    position: relative;
    padding: 7em 0 0 0;
}
.container .sub-container{
    background-color: white;
    padding: 2em;
    border-radius: 20px;
    width: 88%;
    box-shadow: 8px 8px 4px rgba(0, 0, 0, 0.4);
}
.sub-container ul {
    margin-left: 2em;
}
.box-content img {
    max-height: 800px;
    border-radius: 15px;
    transition-duration: 1.8s;
}
.box-content .content-img {
    width: 400px;
    margin: auto;
}
.box-content .aspect-phone {
    width: 200px;
    max-height: 350px;
    margin: auto;
}
.box-content .aspect-video {
    width: 400px;
}
.box-content video {
    width: 400px;
    border-radius: 15px;
    cursor: pointer;
    transition-duration: 1.8s;
}
.box-content img:hover {
    transform: scale(1.5);
}
.box-content video:hover {
    transform: scale(1.5);
}
.container a{
    text-decoration: none;
}
/* Box Content - Image, Hover, Video, Text, List */
.box-content {
    display: flex;
    background-color: #ececec;
    border: 1px solid #e2e2e2;
    border-radius: 15px;
    padding: 1.2em;
}
.box-content ol {
    margin-left: 1.5em;
    width: 800px;
}
.box-content ol li {
    margin-left: 2em;
}
.box-content ol li ul {
    margin-left: 0;
    list-style: square;
}
figcaption {
    font-size: 13px;
    text-align: center;
    margin-top: 0.5em;
}
.box-content .btn-menu {
    display: flex;
    gap: 10px;
}
.btn-menu button {
    border: none;
}
.btn-menu button a{
    display: block;
    border-radius: 5px;
    padding: 3px 15px;
    background-color: #30a720;
    color: white;
}
.btn-menu button a:hover{
    filter: brightness(0.8);
}

span button {
    border: none;
}
span button a{
    border-radius: 5px;
    padding: 3px 15px;
    background-color: #30a720;
    color: white;
}
span button a:hover{
    filter: brightness(0.8);
}

/* Notes - List, Hover*/
.note {
    border: 2px dotted black;
    padding: 1em;
    border-radius: 10px;
}
.note:hover{
    border-style: solid;
}
.note ul {
    margin-left: 0;
    list-style-type: square;
}


/* Tables - Table Head, Table Body, etc*/
.table-responsive {
    width: 90%;
    overflow-x: auto;
    max-height: 500px;
    border: 1px solid rgb(41, 41, 41);
    /* border: 1px solid #505050; */
}
table {
    width: 100%;
    border-collapse: collapse;
    border-color: #505050;
}
table thead {
    position: sticky;
    top: 0;
    font-size: 15px;
    background-color: #c0c0c0;
}
table th {
    padding: 0.4em 0;
}
table .col-1 {width: 10%; min-width: 10%;}
table .col-2 {width: 20%; min-width: 20%;}
table .col-3 {width: 30%; min-width: 30%;}
table .col-4 {width: 40%; min-width: 40%;}
table .col-5 {width: 50%; min-width: 50%;}
td {
    text-wrap: wrap;
    min-width: 100px;
    padding: 0.5em 0.35em;
    text-align: left;
}
table td img {
    max-width: 80px;
    transition-duration: 1s;
}
td a {
    display: block;
    text-decoration: none;
    padding: 3px 15px;
    background-color: #30a720;
    border-radius: 5px;
    color: white;
    font-size: 14px;
}
td a:hover {
    filter: brightness(0.8);
}

/* Footer */
footer {
    background-color: white;
    position: relative;
    margin-top: 7em;
    padding: 3em 0;
}
footer ul {
    width: 88%;
    display: flex;
    list-style-type: none;
}
footer ul h4 {
    font-weight: 600;
}
footer ul img {
    height: 70px;
}
footer ul svg {
    width: 50px;
}
footer ul li {
    width: 25%;
    font-size: 14px;
}
footer ul li a {
    text-decoration: none;
    color: #222222;
    margin-top: 10px;
    font-size: 15px;
}
footer ul li:first-child {
    width: 40%;
}

/* Fully Images */
.full-img {transition-duration: 0.9s;}

/* Responsive Viewport Max Width 800px */
@media screen and (max-width: 800px) {
    p, li {font-size: 15px;}
    h3 {font-size: 18px;}
    h4 {font-size: 16px;}
    nav {width: 95%;}
    /* .container .sub-container{
        padding: 10px;
        width: 100%;
    } */
    .container .sub-container {
        padding: 1.3em;
        width: 95%;
    }
    .box-content {
        flex-direction: column;
        padding: 1em;
    }
    .box-content ol {
        width: 100%;
        margin-top: 1em;
        margin-left: 0;
    }
    .box-content .content-img {
        width: 100%;
    }
    .box-content .content-img .aspect-phone {
        width: 200px;
    }
    .box-content .content-img .aspect-video {
        width: 100%;
    }
    .box-content img:hover {transform: scale(1.1);}
    .container .sub-container video {
        width: 100%;
        border-radius: 15px;
    }
    .container video:hover {
    transform: scale(1.25);
    }
    /* Responsive for Table */
    .table-responsive {
        width: 100%;
    }
    table th {padding: 0.4em;}
    table .col-1 {width: 60px; min-width: 60px;}
    table .col-2 {width: 100px; min-width: 100px;}
    table .col-3 {width: 140px; min-width: 140px;}
    table .col-4 {width: 340px; min-width: 340px;}

    footer ul {
    width: 85%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    }
    footer ul li {
    width: 100%;
    font-size: 14px;
    }
    footer ul li:first-child {width: 100%;}

    .full-img {width: 100%;}
    .full-img:hover {transform: scale(1.1);}

    /* Class for Responsive Header */
    .hideOnMobile {
        display: none;
    }
    .menu-btn {display: block;}
}