* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-family: Roboto, sans-serif;
    color: #030101;
    line-height: 1.4;
}

a {
    color: #0294d9;
    text-decoration: unset;
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #0294d9;
}

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

/* --- 404 PAGE --- */
.error-404 {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 1rem;
    background: radial-gradient(circle at top, #f0f4ff 0%, #ffffff 60%);
    text-align: center;
    color: #1f2937;
    animation: fadein 0.6s ease-out;
  }
  
  @keyframes fadein {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  
  .error-content { max-width: 480px; }
  
  .error-icon {
    width: 96px;
    height: 96px;
    fill: #042837;
    margin-bottom: 1.5rem;
  }
  
  .error-title {
    font-size: 4rem;
    font-weight: 800;
    margin: 0 0 0.25rem;
    color: #042837;
  }
  
  .error-subtitle {
    font-size: 1.125rem;
    margin-bottom: 1.75rem;
  }
  
  .error-actions {
    margin-bottom: 2rem;
  }
  
  .error-actions .btn {
    display: inline-block;
    background: #042837;
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s;
  }
  .error-actions .btn:hover { background: #042837; }
  
  /* recent posts */
  .error-recent h2 { font-size: 1.125rem; margin-bottom: 0.75rem; font-weight: 600; }
  .error-recent ul { list-style: none; padding: 0; margin: 0; }
  .error-recent li { margin-bottom: 0.5rem; }
  .error-recent a { text-decoration: none; color: #042837; }
  .error-recent a:hover { text-decoration: underline; }
  .search-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
  }
  
  .search-post-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .search-post-item {
    display: flex;
    gap: 1rem;
    border-bottom: 1px solid #ddd;
    padding: 1rem 0;
  }
  
  .search-thumb img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    object-fit: cover;
  }
  
  .search-info {
    flex: 1;
  }
  
  .search-post-title {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    font-weight: 600;
  }
  
  .search-excerpt {
    color: #666;
    font-size: 0.95rem;
  }
  
  .search-pagination {
    margin-top: 2rem;
  }
  
  .search-no-results {
    margin-top: 2rem;
    font-style: italic;
    text-align: center;
  }
  
.container {
    width: 1030px;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.main-page {
    display: flex;
    gap: 10px;
}

.main-header .top-header {
    padding: 12px 0 24px 11px;
    background-image: url(/wp-content/themes/publish24h/assets/images/head.png);
    background-repeat: repeat-x;
}

.main-header .container {

    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.main-header .header-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-header .header-motto-block {
    float: left;
    margin: 10px 0px 0px 30px;
}

.main-header .header-motto-block h1 {
    margin: 0;
    font-size: 20px;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
}

.main-header .main-navbar {
    background: #042837;
}

.main-header .navbar-default.navbar-default {
    background-color: transparent;
    border: none;
    border-radius: 0;
    min-height: 0;
    margin-bottom: 0;
}

.main-header .navbar-default.navbar-default .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.main-header .nav {
    padding-left: 0;
    margin: 0;
    list-style: none;
    float: left;
}

.main-header .navbar-nav>li {
    float: left;
}

.main-header .navbar-default .navbar-nav>li>a {
    padding: 7px 13px;
    margin: 10px 0;
    margin-right: 7px;
    display: inline-block;
    vertical-align: bottom;
    line-height: 17px;
    color: #fff;
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
}

.main-header .navbar-default .navbar-nav>li.taxonomy>a {
    transition: none;
    border-radius: 3px;
    background: #125c7e;
}

.home-page .home-in {
    background: #151a1f;
    padding: 10px;
}

.home-page .main-content {
    min-height: 400px;
}

.home-page .news-block {
    padding: 15px 20px;
    background: #fff;
    margin-bottom: 10px;
    display: flex;
}

.home-page .news-block.highlighted p {
    font-size: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-page .news-block p {
    font-size: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.home-page .item-block {
    padding: 15px 20px;
    background: #fff;
    margin-bottom: 10px;
    display: flex;
}

.home-page .item-block.highlighted p {
    font-size: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-page .item-block p {
    font-size: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-page .block-left {
    width: 65%;
}

.home-page .block-right {
    width: 35%;
}

.home-page .news-block.highlighted .img-wrap {
    width: 300px;
}

.home-page .news-block .img-wrap {
    width: 200px;

    float: left;
}

.home-page .news-block h3,
.home-page .news-block p {
    margin: 0;
}

 .home-page .news-block-right {
    padding-left: 10px;
    display: block;
}

.home-page .item-block-right {
    padding-left: 10px;
    display: inline-block;
    height: 100px;
    width: calc(100% - 150px);
}

.home-page .news-block.highlighted .title .text-ellipsis {
    font-size: 18px;
}

.home-page .news-block.highlighted .news-excerpt .date {
    font-size: 12px;
}

.home-page .item-block .news-excerpt .date {
    font-size: 10px;
}

.home-page .item-block .news-excerpt,
.home-page .item-block .title {
    margin-bottom: 5px;
}

body.page-template-default h3 {
    margin: 5px 0 20px;
    color: #0294d9;
}

.home-page .news-block .title .text-ellipsis {
    font-size: 15px;
}

.home-page .item-block .title .text-title {
    font-size: 15px;
}
.text-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;       /* Số dòng muốn hiển thị */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #0294d9;
}
.block-right .item-block:not(.highlighted) img.wp-post-image {
    width: 150px !important;
    height: 100px !important;
    object-fit: cover; /* Tuỳ chọn: cắt ảnh vừa khung */
}
.home-page .news-block h3 a {
    color: #0294d9;
}
.home-page .item-block.highlighted .title .text-ellipsis {
    font-size: 18px;
}

.home-page .item-block.highlighted .news-excerpt .date {
    font-size: 12px;
}

.home-page .item-block .news-excerpt .date {
    font-size: 10px;
}

.home-page .item-block .news-excerpt,
.home-page .item-block .title {
    margin-bottom: 5px;
}

body.page-template-default h3 {
    margin: 5px 0 20px;
    color: #0294d9;
}

.home-page .item-block .title .text-ellipsis {
    font-size: 15px;
}

.home-page .item-block h3 a {
    color: #0294d9;
}

ol,
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-page .news-block.highlighted .title .text-ellipsis {
    max-width: 250px;
}

.home-page .news-block.highlighted .title .text-ellipsis a {
    display: contents;
}

.home-page .news-block .title .text-ellipsis {
    max-width: 350px;
    margin: 0px;
}

.home-page .news-block.highlighted .fancy-buttons ul li {
    margin-right: 5px;
}

.home-page .fancy-buttons ul li {
    display: inline-block;
    margin-right: 17px;
}

.home-page .news-block.highlighted .fancy-buttons ul li a {
    padding: 6px 22px;
    font-size: 15px;
}

.home-page .fancy-buttons ul li a {
    display: inline-flex;
    color: #fff;
    font-size: 14px;
    padding: 3px 14px;
    background: #0b92bc;
    border-radius: 5px;
    text-decoration: none;
    height: 26px;
    justify-content: center;
    align-items: center;
}

body h3 {
    margin: 0;
}

.main-footer {
    
    padding: 14px 0;
}

.main-footer .footer-legal ul li:first-child {
    margin-left: 0;
}

.main-footer .footer-legal ul li {
    display: inline-block;
    margin-left: 10px;
}

.main-footer .footer-legal ul li a {
    color: #fff;
}

.main-footer .container .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-footer p {
    color: #fff;
    margin: 0;
}

/* BEGIN ARTICLE */
.home-page .main-content .article .article-upper {
    background: #fff;
    padding: 15px 20px;
}

.home-page .main-content .article .article-title {
    padding: 5px 0 0;
}

.home-page .main-content .article .article-title .title {
    font-size: 22px;
    color: #0f658d;
    margin: 0 0 10px;
}

.home-page .main-content .upper-content .img-wrap {
    float: left;
    margin: 0 20px 20px 0;
}

.home-page .main-content .upper-content .content {
    font-size: 14px;
    text-align: justify;
}

.home-page .main-content .upper-content .content img {
    width: 100%;
    height: 100%;
}

.home-page .main-content .upper-content .content iframe {
    width: 100%;
}

.home-page .main-content .upper-content p {
    margin: 0 0 10px;
}

.page-numbers {
    display: inline-block;
    margin: 0 5px;
    padding: 8px 12px;
    background: #f0f0f0;
    color: #333;
    text-decoration: none;
}

.page-numbers.current {
    background: #0073aa;
    color: white;
}

.page-numbers:hover {
    background: #005177;
    color: white;
}

.widget_block img {
    width: 100%;
}
.sidebar {
    height:100%;
}
.sidebar-block{
    display: block;
    justify-content: center;
    gap: 20px;
    position: sticky;
    top: 0px;

}
.bottom-block .widget_block{
    background: #fff;
    padding: 25px 20px;
    margin: 10px 0px;
}
.pagination {
    padding: 10px 0px;
    justify-content: right;
    display: flex;
}
@media (max-width: 768px) {

    .main-header .header-logo img {
        width: 100%;
    }

    .home-page .block-right {
        display: none;
    }

    .main-header .header-logo a {
        line-height: unset;
    }

    .main-header .header-motto-block h1 {
        font-size: 14px;
    }

    .main-header .top-header {
        padding: 10px 10px;
    }

    .main-header .header-motto-block {
        margin: 0px 0px 0px 10px;
    }

    .container {
        width: 100%;
        padding: 0px;
    }

    .text-ellipsis {
        max-width: 180px;
    }

    .home-page .news-block {
        padding: 10px;
    }

    .home-page .news-block .img-wrap img {
        width: 150px;
    }

    .home-page .news-block .img-wrap {
        width: 150px;
    }

    .home-page .block-left {
        width: 100%;
    }

    .home-page .news-block .title .text-ellipsis {
        font-size: 18px;
        max-width: 180px;
    }

    .home-page .news-block p {
        font-size: 15px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-page .news-block .news-excerpt,
    .home-page .news-block .title {
        margin-bottom: 5px;

    }

    .home-page .news-block.highlighted {
        display: block;
    }

    .home-page .news-block.highlighted .img-wrap {
        width: 100%;
        float: unset;
    }

    .home-page .news-block.highlighted .text-ellipsis {
        width: 320px;
    }

    .home-page .news-block.highlighted .img-wrap img {
        width: 100%;
    }


    .home-page .news-block.highlighted .news-block-right {
        height: 100%;
    }

    .home-page .news-block.highlighted .news-block-right {
        padding-left: 0px;
        display: block;
    }

    .home-page .news-block-right {
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }
    .home-page .news-block.highlighted .news-item-right {
        height: 100%;
    }

    .home-page .news-block.highlighted .news-item-right {
        padding-left: 0px;
        display: block;
    }

    .home-page .news-item-right {
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }

}

@media (max-width: 390px) {
    .main-header .header-logo img {
        width: 100%;
    }

    .main-header .header-logo a {
        line-height: unset;
    }

    .main-header .header-motto-block h1 {
        font-size: 14px;
    }

    .main-header .top-header {
        padding: 10px 10px;
    }

    .main-header .header-motto-block {
        margin: 0px 0px 0px 10px;
    }

    .container {
        width: 100%;
        padding: 0px;
    }

    .text-ellipsis {
        max-width: 180px;
    }

    .home-page .news-block {
        padding: 10px;
    }

    .home-page .news-block .img-wrap img {
        width: 150px;
    }

    .home-page .news-block .img-wrap {
        width: 150px;
    }

    .home-page .block-left {
        width: 100%;
    }

    .home-page .news-block .title .text-ellipsis {
        font-size: 18px;
        max-width: 180px;
    }

    .home-page .news-block p {
        font-size: 15px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-page .news-block .news-excerpt,
    .home-page .news-block .title {
        margin-bottom: 5px;

    }

    .home-page .news-block.highlighted {
        display: block;
    }

    .home-page .news-block.highlighted .img-wrap {
        width: 100%;
        float: unset;
    }

    .home-page .news-block.highlighted .text-ellipsis {
        width: 320px;
    }

    .home-page .news-block.highlighted .img-wrap img {
        width: 100%;
    }


    .home-page .news-block.highlighted .news-block-right {
        height: 100%;
    }

    .home-page .news-block.highlighted .news-block-right {
        padding-left: 0px;
        display: block;
    }

    .home-page .news-item-right {
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }
    .home-page .item-right.highlighted .news-item-right {
        height: 100%;
    }

    .home-page .item-right.highlighted .news-item-right {
        padding-left: 0px;
        display: block;
    }

    .home-page .news-item-right {
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }

}

@media (max-width: 375px) {
    .main-header .header-logo img {
        width: 100%;
    }

    .main-header .header-logo a {
        line-height: unset;
    }

    .main-header .header-motto-block h1 {
        font-size: 14px;
    }

    .main-header .top-header {
        padding: 10px 10px;
    }

    .main-header .header-motto-block {
        margin: 0px 0px 0px 10px;
    }

    .container {
        width: 100%;
        padding: 0px;
    }

    .text-ellipsis {
        max-width: 180px;
    }

    .home-page .news-block {
        padding: 10px;
    }

    .home-page .news-block .img-wrap img {
        width: 150px;
    }

    .home-page .news-block .img-wrap {
        width: 150px;
    }

    .home-page .block-left {
        width: 100%;
    }

    .home-page .news-block .title .text-ellipsis {
        font-size: 18px;
        max-width: 180px;
    }

    .home-page .news-block p {
        font-size: 15px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-page .news-block .news-excerpt,
    .home-page .news-block .title {
        margin-bottom: 5px;

    }

    .home-page .news-block.highlighted {
        display: block;
    }

    .home-page .news-block.highlighted .img-wrap {
        width: 100%;
        float: unset;
    }

    .home-page .news-block.highlighted .text-ellipsis {
        width: 320px;
    }

    .home-page .news-block.highlighted .img-wrap img {
        width: 100%;
    }


    .home-page .news-block.highlighted .news-block-right {
        height: 100%;
    }

    .home-page .news-block.highlighted .news-block-right {
        padding-left: 0px;
        display: block;
    }

    .home-page .news-block-right {
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }

    .home-page .item-right.highlighted .news-item-right{
        height: 100%;
    }

    .home-page .item-right.highlighted .news-item-right{
        padding-left: 0px;
        display: block;
    }

    .home-page .news-item-right{
        padding-left: 10px;
        width: 100%;
        display: inline-block;
    }

}