﻿*, ::after, ::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
}

:root {
    --main-font: "Roboto", Arial, "Helvetica Neue", Helvetica, sans-serif;
    --merri-font: 'Merriweather', serif;
    --noto-font: NotoSerif;
    --main-red: #ED1C24;
}

*:is(p,span,h1,h2,h3,h4,h5,h6) {
    font-family: var(--main-font);
}

.asp-16-9-contain {
    background-color: transparent;
    width: 100%;
    height: 0px;
    position: relative;
    overflow: hidden;
    padding: 0px 0px 56.25%;
}

.asp-16-9 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.asp-1-1-contain {
    background-color: transparent;
    width: 100%;
    height: 0px;
    position: relative;
    overflow: hidden;
    padding: 0px 0px 100%;
}

.asp-1-1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.text-limit-4 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.text-limit-3 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.text-limit-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/*Start Ảnh thumbnail mặc định*/
.loading {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
    animation: shimmer 15s infinite;
}

.lazy-loaded {
    background-color: transparent;
    opacity: 1;
}

@keyframes shimmer {
    from {
        background-position: -1000px 0;
    }

    to {
        background-position: 1000px 0;
    }
}
/*End Ảnh thumbnail mặc định*/

/*Banner*/
.banner-header {
    margin-top: 0 !important;
}

.banner-area {
    width: 100%;
    margin: 15px 0;
    text-align: center;
}

    .banner-area img {
        width: 100%;
        height: 100%;
        /*object-fit: cover;*/
        width: auto;
        max-width: 100%;
    }

    .banner-area.swiper-slide {
        width: 100% !important;
    }

.main-head {
    display: flex;
    margin-top: 5px;
}

.nav-open {
    display: block !important;
}

.main-head > .item {
    width: calc(100% / 3);
}

    .main-head > .item .logo {
        display: flex;
        justify-content: center;
        margin: 0;
    }

        .main-head > .item .logo a {
            display: flex;
            justify-content: center;
        }

.main-nav-toggle {
    cursor: pointer;
    height: 24px;
    width: 24px;
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-right: 10px;
    margin-top: 3px;
    background-color: #fff;
    border: none;
}

    .main-nav-toggle span,
    .main-nav-toggle span:before,
    .main-nav-toggle span:after {
        background: #fff;
        display: block;
        height: 2px;
        width: 18px;
        opacity: 1;
        position: absolute;
        transition: 0.3s ease-in-out;
    }

        .main-nav-toggle span:before,
        .main-nav-toggle span:after {
            content: "";
        }

    .main-nav-toggle span {
        right: 0px;
        top: 50%;
        transform: translateY(-50%);
        background-color: var(--main-red);
    }

        .main-nav-toggle span:before {
            left: 0px;
            bottom: -8px;
            background-color: #525252;
        }

        .main-nav-toggle span:after {
            left: 0px;
            top: -8px;
            background-color: #525252;
        }

    .main-nav-toggle.close span {
        transform: rotate(-45deg);
        top: 13px;
    }

        .main-nav-toggle.close span:before {
            top: 0px;
            transform: rotate(90deg);
            background-color: var(--main-red);
        }

        .main-nav-toggle.close span:after {
            top: 0px;
            left: 0;
            transform: rotate(90deg);
            opacity: 0;
            width: 0;
        }

.main-head .search-wrapper {
    position: relative;
}

    .main-head .search-wrapper .input-holder {
        height: 35px;
        width: 22px;
        overflow: hidden;
        background: rgba(255,255,255,0);
        border-radius: 6px;
        position: relative;
        transition: all 0.3s ease-in-out;
    }

    .main-head .search-wrapper.active .input-holder {
        width: 190px;
        border-radius: 30px;
        background: transparent;
        transition: all .5s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    }

    .main-head .search-wrapper .input-holder .search-input {
        width: 100%;
        height: 30px;
        padding: 0px 40px 0 10px;
        opacity: 0;
        position: absolute;
        top: 0px;
        left: 0px;
        background: transparent;
        box-sizing: border-box;
        border: 1px solid #525252;
        border-radius: 20px;
        outline: none;
        font-family: "Open Sans", Arial, Verdana;
        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
        transform: translate(0, 60px);
        transition: all .3s cubic-bezier(0.000, 0.105, 0.035, 1.570);
        transition-delay: 0.3s;
    }

    .main-head .search-wrapper.active .input-holder .search-input {
        opacity: 1;
        top: 50%;
        transform: translate(0, -50%);
    }

    .main-head .search-wrapper .input-holder .search-icon {
        width: 22px;
        height: 22px;
        border: none;
        border-radius: 6px;
        background: transparent;
        padding: 0px;
        outline: none;
        position: relative;
        z-index: 2;
        float: right;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
    }

    .main-head .search-wrapper.active .input-holder .search-icon {
        width: 20px;
        height: 20px;
        margin-top: 3px;
        margin-right: 10px;
        border-radius: 30px;
    }

    .main-head .search-wrapper .input-holder .search-icon span {
        width: 22px;
        height: 22px;
        display: inline-block;
        vertical-align: middle;
        position: relative;
        transform: rotate(-45deg);
        transition: all .4s cubic-bezier(0.650, -0.600, 0.240, 1.650);
    }

    .main-head .search-wrapper.active .input-holder .search-icon span {
        transform: rotate(-45deg);
    }

    .main-head .search-wrapper .input-holder .search-icon span::before, .main-head .search-wrapper .input-holder .search-icon span::after {
        position: absolute;
        content: '';
    }

    .main-head .search-wrapper .input-holder .search-icon span::before {
        width: 2px;
        height: 9px;
        left: 50%;
        top: 15px;
        transform: translateX(-50%);
        border-radius: 2px;
        background: #525252;
    }

    .main-head .search-wrapper .input-holder .search-icon span::after {
        width: 15px;
        height: 15px;
        left: 50%;
        top: 0px;
        transform: translateX(-50%);
        border-radius: 50%;
        border: 2px solid #525252;
    }

    .main-head .search-wrapper .close {
        pointer-events: none;
        opacity: 0;
        position: absolute;
        z-index: -1;
        top: 0;
        right: 20px;
        width: 15px;
        height: 15px;
        cursor: pointer;
        transform: rotate(-180deg);
        transition: all .3s cubic-bezier(0.285, -0.450, 0.935, 0.110);
        transition-delay: 0.2s;
    }

    .main-head .search-wrapper.active .close {
        pointer-events: visible;
        opacity: 1;
        z-index: 1;
        right: -35px;
        top: 50%;
        transform: rotate(45deg) translateX(-50%);
        transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
        transition-delay: 0.5s;
    }

    .main-head .search-wrapper .close::before, .main-head .search-wrapper .close::after {
        position: absolute;
        content: '';
        background: #525252;
        border-radius: 2px;
    }

    .main-head .search-wrapper .close::before {
        width: 2px;
        height: 15px;
        left: 50%;
        top: 0px;
        transform: translateX(-50%);
    }

    .main-head .search-wrapper .close::after {
        width: 15px;
        height: 2px;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
    }

.main-head .date {
    font: 400 15px/1.4 var(--main-font),Arial;
    margin-bottom: 0px;
    margin-top: 15px;
}

.main-head .header-menu {
    margin-top: 10px;
}

    .main-head .header-menu .list {
        padding-left: 0px;
        margin-bottom: 0px;
        list-style: none;
        display: flex;
        align-items: center;
    }

    .main-head .header-menu .menu-item{
        margin-right: 12px;
    }

        .main-head .header-menu .menu-item:first-child {
            position: relative;
        }

    .main-head .header-menu .menu-item:last-child {
        margin-right: 0px;
    }

    .main-head .header-menu .menu-item .tag {
        font: 400 14px/1.4 var(--main-font),Arial;
        color: #525252;
        text-transform: uppercase;
        text-decoration: none;
        vertical-align: middle;
        display: flex;
        align-items: center;
        padding: 5px 0px;
    }

        .main-head .header-menu .menu-item .tag:hover {
            color: var(--main-red);
        }

        .main-head .header-menu .menu-item .tag svg {
            margin-right: 7px;
        }

*:has(>.dropdown-menu) {
    /*position: relative;*/
}

    *:has(>.dropdown-menu):hover .dropdown-menu {
        display: block;
    }

.dropdown-menu.dropdown-menu {
    padding: 0px;
    background-color: #fff;
    border: 1px solid #ddd;
    z-index: 1000;
    /*left: 0;*/
    top: 100%;
    border-radius: 0px;
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.dropdown-menu ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    list-style: none;
    padding-left: 0px;
}

.dropdown-menu .list-item > * {
    font: 400 14px/1.4 var(--main-font),Arial;
}

.main-head .header-menu .dropdown-menu ul .list-item > * {
    padding: 8px 15px;
    color: #222;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
}

    .main-head .header-menu .dropdown-menu ul .list-item > *:hover {
        background-color: #ddd;
    }

.main-head .logo img {
    width: 100%;
    max-width: 80%;
}

.main-head .hotline {
    font: 400 14px/1.4 var(--main-font),Arial;
    color: var(--main-red);
    vertical-align: middle;
    margin-bottom: 6px;
    cursor: pointer;
    display: inline-block;
}

    .main-head .hotline svg {
        vertical-align: baseline;
        width: 16px;
        height: 16px;
        transform: rotate(75deg);
    }

        .main-head .hotline svg path {
            fill: var(--main-red);
        }

.main-head .weather {
    margin-bottom: 6px;
}

.main-head .item:last-child {
    text-align: right;
}

.main-head .weather > * {
    font: 400 14px/1.4 var(--main-font),Arial;
}

    .main-head .weather > *:nth-last-child(n+2) {
        margin-right: 5px;
    }

.main-head .weather > span img {
    width: 28px;
    height: 28px;
}

.main-head .share > * {
    --size: 40px;
    border: none;
    background-color: #fff;
    display: inline-block;
    width: var(--size);
    height: var(--size);
    padding: 0px;
}

.main-head .share img {
    width: 32px;
    height: 32px;
    object-fit: cover;
}

.main-head .login {
    background-color: transparent;
    border: none;
    font: 400 14px/1.4 var(--main-font),Arial;
}

    .main-head .login svg {
        width: 15px;
        height: 15px;
        margin-right: 5px;
    }

.main-nav {
    position: sticky;
    top: 0px;
    z-index: 100;
}

    .main-nav .menu {
        /*border-bottom: 3px solid var(--main-red);*/
        background-color: #fff;
    }

    .main-nav ul {
        padding-left: 0px;
        margin-bottom: 0px;
        list-style: none;
        display: flex;
    }

    .main-nav .menu > ul {
        height: 47px;
        overflow: hidden;
        flex-wrap: wrap;
        flex-direction: row;
    }

    .main-nav > .menu > ul > li {
        display: flex;
        flex-shrink: 1;
        flex-grow: 1;
        white-space: nowrap;
    }

        .main-nav > .menu > ul > li:last-child {
            justify-content: flex-end;
        }

        .main-nav > .menu > ul > li .dropdown-menu {
            position: absolute;
            /*top: unset;
            left: unset;*/
        }

        .main-nav > .menu > ul > li > a {
            display: block;
            height: 47px;
            color: #222;
            text-decoration: none;
            text-transform: uppercase;
            font: 600 14px/1.4 var(--main-font),Arial;
            text-wrap: nowrap;
            line-height: 47px;
        }

        .main-nav > .menu > ul > li:nth-child(n+2) > a {
            padding-left: 6px;
        }

        .main-nav > .menu > ul > li:nth-last-child(n+2) > a {
            padding-right: 6px;
        }

    .main-nav .dropdown-menu .list-item a {
        padding: 8px 15px;
        display: block;
        text-decoration: none;
        text-wrap: nowrap;
        color: #222;
    }

    .main-nav ul li a:hover {
        color: var(--main-red) !important;
    }

    .main-nav .sub-menu {
        background-color: #fafafa;
        box-shadow: 0 0 0 100vmax #fafafa;
        clip-path: inset(0 -100vmax);
        padding: 15px 0px;
        position: absolute;
        top: 100%;
        height: calc(100vh - 165px);
        overflow: auto;
        width: 100%;
        display: none;
        right: 0;
        left: 0;
    }

        .main-nav .sub-menu::-webkit-scrollbar {
            background-color: transparent;
            width: 5px;
        }

        .main-nav .sub-menu::-webkit-scrollbar-thumb {
            background-color: #E5E5E5;
            border-radius: 2px;
            visibility: hidden;
        }

        .main-nav .sub-menu:hover::-webkit-scrollbar-thumb {
            visibility: visible;
        }

        .main-nav .sub-menu .search-box {
            position: relative;
            margin-top: 15px;
            height: 36px;
            display: flex;
            align-items: stretch;
            margin: 10px 15px 15px;
            border: 1px solid #ddd;
            background-color: #fff;
            border-radius: 18px;
        }

            .main-nav .sub-menu .search-box input {
                background-color: transparent;
                width: calc(100% - 30px);
                margin-right: 15px;
                margin-left: 15px;
                border: none;
            }

            .main-nav .sub-menu .search-box .icon {
                background-color: transparent;
                border: none;
                display: flex;
                align-items: center;
                padding-right: 10px;
            }

    .main-nav .header-menu {
        border-bottom: 1px solid #E5E5E5;
        background-color: #ececec;
        display: flex;
        padding: 15px;
    }

        .main-nav .header-menu .tag {
            width: calc(100% / 3);
        }

            .main-nav .header-menu .tag svg {
                margin-right: 6px;
            }

            .main-nav .header-menu .tag a {
                display: flex;
                align-items: center;
                padding: 5px 0;
                font: 400 13px/1.4 var(--main-font),Arial;
                color: #525252;
                text-decoration: none;
                text-transform: uppercase;
            }

    .main-nav .category-menu {
        margin-top: 25px;
    }

        .main-nav .category-menu ul {
            padding-left: 0px;
            margin-bottom: 0px;
        }

        .main-nav .category-menu > ul {
            display: flex;
            flex-wrap: wrap;
        }

            .main-nav .category-menu > ul > li {
                --col-num: 5;
                --pad: 100px;
                width: calc((100% - var(--pad)) / var(--col-num));
                padding-bottom: 15px;
                margin-bottom: 10px;
                margin: 0px 10px 10px;
                border-bottom: 1px solid #ddd;
            }

        .main-nav .category-menu a {
            text-decoration: none;
            color: #222;
            font: 400 14px/1.3 var(--main-font),Arial;
        }

        .main-nav .category-menu .title {
            font-size: 16px;
            font-weight: 700;
            text-transform: uppercase;
        }

        .main-nav .category-menu > ul > li > ul {
            display: flex;
            flex-direction: column;
        }

            .main-nav .category-menu > ul > li > ul > li > a {
                margin: 4px 0px;
                display: block;
            }

    .main-nav .sub-menu .close {
        position: absolute;
        top: 25px;
        left: -45px;
        background-color: transparent;
        border: none;
    }
/* story */

.story-wrap {
    display: flex;
}

    .story-wrap .info-wrap {
        font-family: var(--main-font),Arial;
        line-height: 1.4;
    }

        .story-wrap .info-wrap a {
            text-decoration: none;
        }

        .story-wrap .info-wrap .name {
            margin-bottom: 7px;
            line-height: 1.4;
        }

            .story-wrap .info-wrap .name > * {
                color: #222;
                transition: all 300ms;
            }

                .story-wrap .info-wrap .name > *:hover {
                    color: var(--main-red);
                }

        .story-wrap .info-wrap .category {
            display: none;
        }

            .story-wrap .info-wrap .category > * {
                text-transform: uppercase;
                color: #999999;
                font-size: 14px;
            }

        .story-wrap .info-wrap .description {
            margin-bottom: 0px;
        }

            .story-wrap .info-wrap .description > * {
                color: #525252;
                font-size: 14px;
            }

/* story */

footer nav {
    box-shadow: 0 0 0 100vmax var(--main-red);
    clip-path: inset(0 -100vmax);
}

footer .menu {
    background-color: var(--main-red) !important;
}

footer .main-nav {
    border: none;
    background-color: var(--main-red);
}

footer .main-nav > .menu > ul > li > a {
    color: #fff;
}

footer .main-nav ul li a:hover {
    color: #fff !important;
}

footer .main {
    display: flex;
    padding: 40px 0;
}

    footer .main .foo-col {
        width: calc(100% / 3);
    }

        footer .main .foo-col:nth-last-child(n+2) {
            margin-right: 15px;
        }

        footer .main .foo-col:nth-child(n+2) {
            margin-left: 15px;
        }

        footer .main .foo-col > * {
            font: 400 14px/1.3 var(--main-font),Arial;
            color: #222;
            margin-bottom: 5px;
        }

        footer .main .foo-col > img{
            width: auto;
            max-width: 80%;
        }

        footer .main .foo-col .text-dec {
            text-decoration: underline;
        }

.back-to-top {
    display: flex;
    position: fixed;
    right: 45px;
    bottom: 100px;
    width: 60px;
    height: 60px;
    background-color: var(--white);
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    cursor: pointer;
    border: 1px solid #E5E5E5;
    opacity: 0
}

    .back-to-top.active {
        opacity: 1;
        pointer-events: auto;
        bottom: 100px;
        z-index: 999;
    }

@media only screen and (min-width: 576px) {
    .container.container {
        max-width: none;
    }
}

@media only screen and (min-width: 768px) {
    .container.container {
        max-width: 738px;
        width: 738px;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
}

@media only screen and (min-width: 992px) {
    .container.container {
        max-width: 970px;
        width: 970px;
    }

    .main-nav {
        width: 100vw;
        border-bottom: 3px solid var(--main-red);
        margin-left: 50%;
        transform: translate3d(-50%, 0, 0);
        background-color: #fff;
    }

        .main-nav .menu {
            max-width: 970px;
            margin: 0 auto;
        }

        .main-nav .sub-menu {
            max-width: 970px;
        }
}

@media only screen and (min-width: 1200px) {
    .container.container {
        max-width: 1200px;
        width: 1200px;
    }

    .main-nav .sub-menu .close,
    .main-nav .header-menu,
    .main-nav .sub-menu .search-wrap {
        display: none;
    }

    .main-nav .menu {
        max-width: 1200px;
        margin: 0 auto;
    }

    .main-nav .sub-menu {
        max-width: 1200px;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 1700px) {
    .container.container {
        max-width: 1460px;
        width: 1460px;
    }

    .main-nav .menu {
        max-width: 1460px;
        margin: 0 auto;
    }

    .main-nav .sub-menu {
        max-width: 1460px;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 1800px) {
    .container.container {
        max-width: 1560px;
        width: 1560px;
    }

    .main-nav .menu {
        max-width: 1560px;
        margin: 0 auto;
    }

    .main-nav .sub-menu {
        max-width: 1560px;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 1200px) {
    .main-head .date {
        margin-top: 5px;
    }

    .main-head .header-menu {
        margin-top: 0px;
    }

        .main-head .header-menu .menu-item .tag {
            font: 400 11px / 1.4 var(--main-font), Arial;
        }
}

@media only screen and (max-width: 992px) {
    .main-head .item:last-child > *,
    .main-head .search-wrapper,
    .main-head .date,
    .main-head .header-menu {
        display: none;
    }

    .main-head {
        height: 48px;
        align-items: center;
    }

        .main-head .logo img {
            width: 100%;
            max-width: 100%;
        }

    .main-nav .menu {
        max-width: 738px;
        margin: 0 auto;
        overflow: auto;
        padding-bottom: 1px;
        background-color: #fff;
        border: none;
    }

        .main-nav .menu > ul {
            flex-wrap: nowrap;
            overflow: unset;
        }

    .main-nav .sub-menu {
        max-width: 738px;
        margin: 0 auto;
    }

    .main-nav {
        border-bottom: 1px solid #E5E5E5;
        background-color: #fff;
    }

    .main-head, .main-nav {
        width: 100vw;
        margin-left: 50%;
        transform: translate3d(-50%, 0, 0);
        padding-left: 10px;
    }

    .main-head {
        justify-content: center;
    }

        .main-head > .item {
            width: calc(738px / 3);
        }

    .main-nav .sub-menu {
        height: calc(100vh - 48px);
        max-width: 738px;
        width: 738px;
        left: 50%;
        transform: translateX(-50%);
    }

    .main-nav > .menu > ul > li:last-child {
        justify-content: flex-start;
    }

    .main-nav .category-menu > ul > li {
        --col-num: 3;
        --pad: 60px;
    }

    footer .main {
        padding: 30px 0px;
        flex-direction: column;
    }

        footer .main .foo-col:nth-last-child(n+2) {
            margin-right: 0px;
        }

        footer .main .foo-col:nth-child(n+2) {
            margin-left: 0px;
            order: 1;
            margin-bottom: 20px;
        }

        footer .main .foo-col:first-child {
            order: 3;
        }

        footer .main .foo-col:last-child {
            order: 2;
            margin-bottom: 20px;
        }

        footer .main .foo-col {
            width: 100%;
            text-align: center;
        }

            footer .main .foo-col:nth-child(2) > * {
                height: 42px;
            }

    .back-to-top {
        right: 5px;
        width: 40px;
        height: 40px;
        z-index: 9999;
    }

        .back-to-top svg {
            width: 20px;
            height: 20px;
        }

        .back-to-top.active {
            bottom: 25px;
        }
}

@media only screen and (max-width: 768px) {
    .banner-area .item {
        display: block;
        width: 100%;
    }

        .banner-area .item img {
            object-fit: contain;
            height: inherit;
        }

    .main-nav .category-menu > ul > li {
        --col-num: 2;
        --pad: 40px;
    }

    .main-nav .sub-menu {
        max-width: inherit;
        width: inherit;
    }
}
