
@media (min-width: 1980px) {
    .grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }

    .grid-one-row {
        grid-template-columns: repeat(999, 180px);
        grid-gap: 15px 20px;
    }
}

@media (max-width: 1620px) {
    .grid {
        grid-gap: 15px 25px;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }

    .grid-one-row {
        grid-template-columns: repeat(999, 160px);
        grid-gap: 15px 20px;
    }
}

@media (max-width: 1460px) {
    .grid {
        grid-gap: 15px 25px;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .grid-one-row {
        grid-template-columns: repeat(999, 160px);
        grid-gap: 15px 20px;
    }
}

@media (max-width: 1367px) {
    /*
    .top-menu {
        display: none;
    }
    */

    .grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
    .grid-one-row {
        grid-template-columns: repeat(999, 140px);
        grid-gap: 15px 20px;
    }

    .media img {
        min-height: 120px;
    }

    .media-cover {
        min-width: 240px;
        max-width: 240px;
        padding-top: 70px !important;
    }
    /*
    .media-info {
        min-width: 280px;
        max-width: 280px;
    }
    */

    /* detail */

    .media-detail {
        flex-wrap: wrap;
        margin-top: 0;
    }
    .media-detail > div {
        flex: 1;
        min-width: 100%;
        height: auto;
        padding: 20px;
    }

    .media-cover img.cover {
        width: auto;
        /*margin-bottom: 0px;*/
        max-height: 400px;
    }

    .media-detail .media img {
        min-height: 90px;
    }

    .grid-detail .grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }

    .media-title {
        font-size: 32px;
    }
    .media-authors {
        /*font-size: 22px;*/
    }

    .media-info ul {
        list-style: none;
        padding: 0;
    }

    .mobile-top-bar {
        display: none;
        position: fixed;
        border-bottom: 1px solid #efefef;
        padding: 10px 20px;
        background-color: #fff;
        width: 100vw;
        z-index: 100;
        background-color: #fff;
        background-color: rgba(255, 255, 255, 0.97);
    }

    .mobile-top-bar .btn-menu, .mobile-top-bar .btn-back, .mobile-top-bar .btn-search {
        float: right;
        height: 40px;
        line-height: 40px;
        margin-left: 20px;
    }

    .mobile-top-bar .btn-menu {
        float: left;
        margin-left: 0;
        margin-right: 20px;
    }

    .mobile-top-bar .btn-menu span {
        display: inline-block;
        /*text-transform: uppercase;*/
        line-height: 40px;
        position: relative;
        top: -2px;
        font-size: 19px;
    }

    .mobile-top-bar .btn-menu i, .mobile-top-bar .btn-back i, .mobile-top-bar .btn-search i {
        font-size: 24px;
    }
}

@media (max-width: 820px) {
    .main {
        overflow: hidden;
    }

    .top-menu {
        display: none;
    }

    .side-menu {
        display: block;
        min-width: 0;
        max-width: 0;
        padding-top: 0;
        position: relative;
        background-color: #fff;
        transition: all 0.3s ease;
    }

    .side-menu.open {
        min-width: 300px;
    }

    .side-menu .side-menu-header > a {
        opacity: 0;
        margin-left: -40px;
        height: 60px;
        display: inline-block;
        z-index: 10;
        position: relative;
        transition: all 0.3s ease;
    }

    .side-menu.open .side-menu-header > a {
        opacity: 1;
        margin-left: 0;
        transition: all 0.3s ease;
    }

    .side-menu img.partner {
        height: 40px;
        /* position: relative; */
        top: 3px;
        margin: 13px 0 7px 30px;
    }

    .side-menu img.partner {
        height: 30px;
        /* position: relative; */
        top: 3px;
        margin: 15px 0 10px 30px;
        display: none;
    }

    .side-menu a.btn-back {
        display: none;
    }

    .side-menu-header {
        position: fixed;
        width: auto;
        z-index: 2;
        background: none;
        padding-top: 0;
    }

    .content {
        min-width: 100vw;
    }

    .mobile-close-menu {
        display: block;
        height: 61px;
        width: 300px;
        /* white-space: nowrap; */
        /* overflow: hidden; */
        position: fixed;
        /* top: 0; */
        border-bottom: 1px solid #efefef;
        z-index: 1;
        background: rgba(255,255,255,0.95);
    }

    .mobile-close-menu a /*.btn-close-menu*/
    {
        float: right;
        height: 60px;
        line-height: 60px;
        margin-right: -20px;
        opacity: 0;
        transition: all 0.2s ease;
    }

    .mobile-close-menu a /*.btn-close-menu*/ i {
        font-size: 24px;
    }

    .side-menu.open .mobile-close-menu a /*.btn-close-menu*/
    {
        margin-right: 20px;
        opacity: 1;
    }

    .mobile-top-bar {
        display: block;
        position: fixed;
        border-bottom: 1px solid #efefef;
        padding: 10px 20px;
        background-color: #fff;
        width: 100vw;
        z-index: 100;
        background-color: #fff;
        background-color: rgba(255, 255, 255, 0.97);
    }

    .mobile-partner {
        height: 40px;
        position: relative;
        top: 3px;
    }

    .mobile-partner {
        height: 30px;
        position: relative;
        top: 6px;
        /* opacity: 0; */
        margin-top: -2px;
        display: none;
    }

    .mobile-top-bar .btn-menu, .mobile-top-bar .btn-back, .mobile-top-bar .btn-search {
        float: right;
        height: 40px;
        line-height: 40px;
        margin-left: 20px;
    }

    .mobile-top-bar .btn-menu {
        float: left;
        margin-left: 0;
        margin-right: 20px;
    }

    .mobile-top-bar .btn-menu span {
        display: inline-block;
        /*text-transform: uppercase;*/
        line-height: 40px;
        position: relative;
        top: -2px;
        font-size: 19px;
    }

    .mobile-top-bar .btn-menu i, .mobile-top-bar .btn-back i, .mobile-top-bar .btn-search i {
        font-size: 24px;
    }

    .grid-container {
        padding: 80px 20px 20px;
    }
    body.menu-hidden .grid-container {
        padding: 20px;
    }

    .grid-container.grid-with-paging {
        /*padding: 80px 20px 60px;*/
        padding: 120px 20px 60px;
    }

    .grid {
        grid-gap: 15px 20px;
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }

    .grid-one-row {
        grid-template-columns: repeat(999, 160px);
        grid-gap: 15px 20px;
        overflow: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .grid-one-row::-webkit-scrollbar { /* WebKit */
        display: none;
    }

    .media img {
        min-height: 100px;
    }

    .paging {
        margin: 0;
    }

    .paging ul {
        /* margin-left: 0; */
        display: block;
        margin: 0 10px;
        /* white-space-collapse: discard; */
        font-size: 0;
    }

    .theme-head a.btn-previous, .theme-head a.btn-next {
        /*bottom: 100px;*/
    }

    /* detail */
    .media-detail {
        flex-wrap: wrap;
        margin-top: 0px;
    }
    body.menu-hidden .media-detail {
        margin-top: 0;
    }

    .media-detail > div {
        flex: 1;
        min-width: 100vw;
        height: auto;
        padding: 20px;
    }

    .media-cover img.cover {
        /*width: 85%;*/
        /*margin-bottom: 0px;*/
        max-height: none;
    }

    .media-detail .media img {
        min-height: 90px;
    }

    .media-cover .media-image .play {
        opacity: 1;
    }

    .media-title {
        font-size: 32px;
    }

    .media-authors {
        /*font-size: 22px;*/
    }

    /* search */
    .side-menu .search {
        padding: 10px 20px 20px;
    }

    .input-group {
        flex-wrap: nowrap;
    }

    input {
        font-size: 16px !important;
    }

    /* paging */
    .paging {
        padding: .75rem 0;
    }

    .paging-previous, .paging-next {
        /* position: relative; */
        /* top: -10px; */
        margin-top: -10px !important;
    }

    .paging-previous a, .paging-next a {
        padding: 7px 5px;
        /* background: none; */
    }

    .paging-previous a i, .paging-next a i {
        font-size: 18px;
    }

    .paging-previous {
        float: left;
    }

    .paging-next {
        float: right;
    }

    .reader {
        /*height: calc(100% - 61px);
        margin-top: 61px;*/
    }

    .btn-scroll-top {
        top: 2px;
        right: 15px;
    }

    .searchFilter-select {
        display: flex;
    }
    .searchFilter-buttons {
        display: none;
    }

    .filter-secondary-category {
        max-width: 46%;
        float: left;
    }
    .filter-secondary-category-buttons {
        display: none;
    }
    .filter-secondary-category-select {
        display: flex;
    }

    .media-dialog-content {
        padding: 0;
    }
    .media-dialog-content .content-inner {
        border-radius: 0;
    }

    .shortcut-container {
        padding: 20px 15px;
        padding-bottom: 10px;
    }
    .shortcut-container.row > * {
        padding: 0 5px;
    }
    .shortcut-btn {
        margin-bottom: 10px;
    }

    .shortcut-btn {
        font-weight: bold;
    }

    .title-category {
        font-size: 1.5rem !important;
    }

    a.show-all {
        top: 1px;
    }
}

@media (max-width: 680px) {
    .grid-detail .grid {
        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    }

    .media-cover .media-image {
        width: 85%;
        margin: auto;
    }
    .media-cover img.cover {
        width: 100%;
        max-height: none;
    }

    .media-info ul {
        list-style: none;
        padding: 0;
        display: block;
    }
    .media-info li {
        text-align: left;
        padding: 0 0 5px;
        border: 0;
    }
    .media-info li > span {
        padding-left: 0;
    }
    .media-info li > span > span {
        float: right;
        width: 66%;
        border: 0;
    }
}