* {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', 'Arial', sans-serif;
    font-size: 14px;
}

.main__body {
    /* height: 1035px; */
    padding: 0 80px;
    height: max-content;
    min-height: calc(100vh - 315px) !important;
}

.dashbroad-box {
    position: relative;
    min-height: 140px;
}

.dashbroad-box--container {
    display: flex;
    /*position: absolute;*/
    /*left: 50%;*/
    /*top: 0;*/
    /*transform: translate(-50%, -40%);*/
    padding: 30px 15px;
}


.dashbroad-box--item {
    min-height: 365px;
    max-width: 322px;
    border-radius: 25px;
    padding: 20px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-shadow: 5px -5px 4px 0px rgba(0, 0, 0, 0.25);
    transition: all 0.4s ease;
    background: linear-gradient(-180deg, #4D92F2 0%, #FFF1EB 100%);
}

.dashbroad-box--item:hover {
    text-decoration: none;
    color: #1E478A;
    transform: scaleX(1.25) scaleY(1.15);
    background-color: rgba(242, 242, 242, 0.35);
}

.dashbroad-box--item:hover .link-uri-sso {
    max-width: 280px;
    font-size: 20px !important;
    text-decoration: none;
}

.dashbroad-box--container div.dashbroad-box--item:first-child {
    /*margin-left: 0;*/
}

.box-title {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
    display: flex;
    justify-content: center;
}

.box-value {
    color: #fff;
    font-size: 34px;
    font-weight: 700;
}

.box-param {
    color: #fff;
    font-size: 20px;
}

.bg--success {
    background: #2E9546cc;
}
.bg--custom {
    background-color: rgba(242, 242, 242, 0.192156862745098);
}

.bg--info {
    background: #08979Ccc;
}

.bg--blue {
    background: #096DD9cc;
}

.bg--primary {
    background: #031b88cc;
}

.bg--red {
    background: #ff5f58cc;
}

/* 
    ++++++++++++++++++++++++++++++++++++++++++++++++++ */
.chart--2 img {
    width: calc(100% - 30px);
    height: 390px;
}

.chart--2,
.chart--1,
.chart--3,
.chart--4 {
    width: 100%;
    background: transparent;
    border-radius: 8px;
    min-height:100%;
    border: none;
}

.selected__ipconnect select.form-control {
    width: 235px;
    height: 45px;
    border-radius: 8px;
}

/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */

.TW__control {
    width: 1050px
}

/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */

.custom--select2 .select2-container--default .select2-selection--single {
    border-radius: 8px;
    height: 45px;
}

.custom--select2 .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 40px;
}

.custom--select2 .select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: 20px;
}

.custom--select2 .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 45px;
    position: absolute;
    top: 1px;
    right: 5px;
    width: 20px;
}


/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */

.badge-info--custom {
    background: #3399FF;
    height: 16px;
    min-width: 80px;
    border-radius: 30px;
    font-size: 12px;
    color: #fff;
    display: inline-block;
    padding: .25em .4em;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 
    +++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* Extra small devices (portrait phones, less than 576px) */

@media (max-width: 421px) {
    .dts--header {
        padding: 0 15px;
    }

    .TW__control {
        width: 100%;
    }

    header > h4, header > nav > div > h4 {
        font-size: 1rem 
    }

    .footer-content {
        flex-direction: column
    }
}


@media (min-width: 422px) and (max-width: 575.98px) {
    .dts--header {
        padding: 0 15px;
    }

    .TW__control {
        width: 100%;
    }

    header > h4, header > nav > div > h4 {
        font-size: 1.3rem 
    }

    .footer-content {
        flex-direction: column
    }

    .header-title h4 {
        font-size: 18px !important;
    }

    .header-title img {
        width: 44px !important;
        height: 52px !important;
    }

    .parent {
        width: 140px !important;
        height: 160px !important;
    }

    .dashbroad-box--item {
        width: 160px !important;
        min-height: 200px !important;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 12px !important;
        line-height: 1.5;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 14px !important;
        line-height: 1.5;
    }
}

/* Small devices (landscape phones, 576px and up) */

@media (min-width: 576px) and (max-width: 720.98px) {
    .TW__control {
        width: 100%;
    }

    .footer-content {
        flex-direction: column
    }

    .header-title h4 {
        font-size: 20px !important;
    }

    .parent {
        width: 140px !important;
        height: 160px !important;
    }

    .box-title {
        height: 96px;
        text-align: center;
    }

    .dashbroad-box--item {
        width: 160px !important;
        min-height: 200px !important;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 11px !important;
        line-height: 1.5;
        margin-top: 8px;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 13px !important;
        line-height: 1.5;
        margin-top: 8px;
    }
}

/* Medium devices (tablets, 768px and up) */

@media (min-width: 721px) and (max-width: 991.98px) {
    .parent {
        width: 140px !important;
        height: 160px !important;
    }

    .header-title h4 {
        font-size: 22px !important;
    }

    .dashbroad-box--item {
        width: 200px !important;
        min-height: 240px !important;
    }

    .box-title {
        height: 96px;
        text-align: center;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 14px !important;
        line-height: 1.5;
        margin-top: 8px;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 16px !important;
        line-height: 1.5;
        margin-top: 8px;
    }
}


/* Large devices (desktops, 992px and up) */

@media (min-width: 992px) and (max-width: 1199.98px) {
    .dashbroad-box--item {
        width: 240px !important;
        min-height: 280px !important;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 14px !important;
        line-height: 1.5;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 18px !important;
        line-height: 1.5;
    }
}


/* Extra large devices (large desktops, 1200px and up) */

@media (min-width: 1200px) and (max-width: 1600px) {
    .dashbroad-box--item {
        /*width: calc((100% - 60px)/5);*/
        /*margin-left: 15px;*/
    }

    .main__body {
        padding: 0 15px;
    }

    .main__footer {
        padding: 0 15px;
    }
}

.background-cantho {
    position: absolute;
    background-image: url(/static/portal/img/bg-3.png);
    width: 100%;
    height: 100%;
    z-index: 0;
    filter: blur(2px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.full-page {
    /* The image used */
    /*background-image: url("/static/portal/img/bg-3.png");*/
    background-color: #24116A;
    /* Full height */
    height: 100%;

    /* Center and scale the image nicely */
    /*background-position: center;*/
    background-repeat: no-repeat;
    background-size: cover;
}
header {
    border-width: 0px;
    width: 100vw;
    left: 0px;
    top: 0px;
    right:0px;
    height: 68px;
    display: flex;
    flex-direction: row;
    position: absolute;
    text-align: center;
    /*padding-top: 10px;*/
    background-color: rgba(242, 242, 242, 0.192156862745098);
    color: white;
}
header>img {
    margin-left:10px;
    margin-bottom: 10px;
}
header>nav>h5 {
    font-family: 'Arial Bold', 'Arial';
    margin-left:10px;
    font-weight: 700;
    font-size: 16px;

}
header>h5 {
    font-family: 'Arial Bold', 'Arial';
    margin-left:10px;
    font-weight: 700;
    font-size: 16px;

}
footer {
    border-width: 0px;
    left: 0px;
    bottom:0px;
    right:0px;
    display: flex;
    position: absolute;
    /*padding-top: 5px;*/
    background-color: rgba(242, 242, 242, 0.192156862745098);
    color: white;
}

.parent {
    width: 260px; /* I took the width from your post and placed it in css */
    height: 198px;
}

/* This will style any <img> element in .parent div */
.parent img {
    height: 100%;
    width: 100%;
}

.header-container {
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, .125);
    padding: 14px 20px;
}

.header-container h4 {
    font-weight: 700;
    color: #1E478A;
    font-size: 24px;
    margin: 0;
    padding-left: 12px;
}

.login_form {
    margin: 0 16px;
}

.footer-content {
    display: flex; 
    padding: 14px 20px;
    justify-content: space-between;
    width: 100%;
    font-size: 14px;
    font-family: 'Roboto', 'Arial', sans-serif;
    color: #212121;
    font-weight: bold;
    border-top: 1px solid rgba(0, 0, 0, .125);
    background: white;
}

.footer-left__content {
    display: flex;
    align-items: center;
    color: #212121;
}

.footer-right__content {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #212121;
}

.support-info {
    display: flex !important;
    align-items: center;
    gap: 12px;
    color: #212121;
}

.support-info .icon {
    width: 16px;
    height: 16px;
    color: #212121;
    vertical-align: text-bottom;
}

/* Responsive styles for header */
@media only screen and (max-width: 575.98px) {
    .header-container h4 {
        font-size: 14px;
    }
    .header-container img {
        width: 40px !important;
    }
}

/* Responsive styles for footer */
@media only screen and (max-width: 421.95px) {
    .footer-content {
        display: flex;
        align-items: center;
    }
    .footer-left__content {
        order: 2;
    }
    .footer-right__content {
        order: 1;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }
    .footer-left__content * {
        font-size: 12px !important;
        text-align: center;
    }
    .footer-right__content * {
        font-size: 12px !important;
    }

    span.d-inline.d-sm-inline {
        display: none !important;
    }
}

@media only screen and (min-width: 422px) and (max-width: 575.98px) {
    .footer-content {
        display: flex;
        align-items: center;
    }
    .footer-left__content {
        order: 2;
    }
    .footer-right__content {
        order: 1;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767.5px) {
    .footer-content {
        flex-direction: column;
        gap: 8px;
        align-items: center;
    }
    .footer-left__content {
        order: 2;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    .footer-right__content {
        order: 1;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (min-width: 767px) and (max-width: 932px) {
    .footer-content {
        flex-direction: column;
        gap: 8px;
        align-items: center;
    }
    .footer-left__content {
        order: 2;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    .footer-right__content {
        order: 1;
        flex-direction: row;
        align-items: center;
        gap: 5px;
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .footer-content {
        flex-direction: column;
        gap: 8px;
    }
    .footer-left__content {
        order: 2;
    }
    .footer-right__content {
        order: 1;
        flex-direction: row;
        align-items: center;
        gap: 5px;
    }
    .support-info {
        display: inline-flex;
    }
    .footer-right__content span.d-inline {
        display: inline;
    }
}

.header-title {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #1E478A;
    padding-top: 12px;
    margin-left: 12px;
}

.header-title h4 {
    font-size: 24px; 
    float: left
}

.profile-container {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    gap: 8px;
    color: #212121;
}

.profile-name {
    font-size: 14px;
    font-weight: 500;
}

.menu .nav-item {
    background: white;
}

.menu .nav-item:hover {
    background: white !important;
}

#mobileMenuModal .modal-content {
    background-color: #fff;
    color: white;
}

#mobileMenuModal .modal-header {
    border-bottom: 1px solid #2c303a;
}

#mobileMenuModal .modal-body {
    padding: 0;
}

#mobileMenuModal .nav-item {
    border-bottom: 1px solid #2c303a;
}

#mobileMenuModal .nav-item a {
    display: block;
    padding: 15px 20px;
    color: #212121;
    text-decoration: none;
    transition: background-color 0.3s;
}

#mobileMenuModal .profile-container {
    padding: 15px 20px;
    display: flex;
    align-items: center;
}

@media (max-width: 1199.98px) {
    .navbar-collapse {
        display: none !important;
    }
}


@media (max-width: 421px) {
    .header-title h4 {
        font-size: 12px;
    }

    .header-title img {
        width: 40px !important;
        height: 48px !important;
    }

    .dts--header {
        padding: 0 15px;
    }

    .TW__control {
        width: 100%;
    }

    header > h4, header > nav > div > h4 {
        font-size: 1rem;
    }

    .footer-content {
        flex-direction: column;
    }

    /* Layout vertical cho mobile */
    .chart--2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: calc(100vh - 200px);
        overflow-y: auto;
        overflow-x: hidden;
        padding: 20px 10px;
        gap: 20px;
    }

    .col-md-4 {
        width: 100% !important;
        max-width: 300px;
        margin: 0 !important;
        padding: 0 !important;
    }

    .parent {
        width: 120px !important;
        height: 120px !important;
        flex-shrink: 0;
    }

    .dashbroad-box--item {
        width: 280px !important;
        min-height: 220px !important;
        max-height: 220px !important;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 12px !important;
        line-height: 1.5;
        text-align: center;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 14px !important;
        line-height: 1.5;
    }

    .box-title {
        margin-top: 10px;
        padding: 0 10px;
    }
}

@media (min-width: 422px) and (max-width: 575.98px) {
    .dts--header {
        padding: 0 15px;
    }

    .TW__control {
        width: 100%;
    }

    header > h4, header > nav > div > h4 {
        font-size: 1.3rem;
    }

    .footer-content {
        flex-direction: column;
    }

    .chart--2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: calc(100vh - 180px);
        overflow-y: auto;
        overflow-x: hidden;
        padding: 20px 15px;
        gap: 25px;
    }

    .col-md-4 {
        width: 100% !important;
        max-width: 350px;
        margin: 0 !important;
        padding: 0 !important;
    }

    .parent {
        width: 140px !important;
        height: 140px !important;
        flex-shrink: 0;
    }

    .dashbroad-box--item {
        width: 320px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    .dashbroad-box--item .link-uri-sso {
        font-size: 13px !important;
        line-height: 1.5;
        text-align: center;
    }

    .dashbroad-box--item:hover .link-uri-sso {
        font-size: 15px !important;
        line-height: 1.5;
    }

    .box-title {
        margin-top: 15px;
        padding: 0 15px;
    }
}

.chart--2::-webkit-scrollbar {
    width: 6px;
}

.chart--2::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

.chart--2::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.chart--2::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.chart--2 {
    scroll-behavior: smooth;
}

@media (max-width: 575.98px) {
    .first-item {
        margin-top: 320px !important;
    }

    .dashbroad-box--item {
        float: none !important;
        transition: all 0.3s ease;
        transform: scale(1);
    }

    .dashbroad-box--item:hover {
        transform: scale(1.02);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    }
}