/**
 * NukeViet Content Management System
 * @version 4.x
 * @author VINADES.,JSC <contact@vinades.vn>
 * @copyright (C) 2009-2021 VINADES.,JSC. All rights reserved
 * @license GNU/GPL version 2 or any later version
 * @see https://github.com/nukeviet The NukeViet CMS GitHub project
 */

:root {
    --nv-border-color: #dddddd;
    --nv-image-style-spacing: 20px;
    --nv-inline-image-style-spacing: calc(var(--nv-image-style-spacing) / 2);
    --nv-highlight-marker-blue: hsl(201, 97%, 72%);
    --nv-highlight-marker-green: hsl(120, 93%, 68%);
    --nv-highlight-marker-pink: hsl(345, 96%, 73%);
    --nv-highlight-marker-yellow: hsl(60, 97%, 73%);
    --nv-highlight-pen-green: hsl(112, 100%, 27%);
    --nv-highlight-pen-red: hsl(0, 85%, 49%);
    --nv-font-size-xs: 10px;
    --nv-font-size-sm: 12px;
    --nv-font-size-md: 14px;
    --nv-font-size-lg: 16px;
    --nv-font-size-xxl: 22px;
    --ck-z-default: 100;
    --ck-z-panel: calc(var(--ck-z-default) + 999);
}

.ck {
    --ck-content-font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    --ck-content-font-size: 13px;
    --ck-content-font-color: #333;
    --ck-content-line-height: 1.42857143;
}

@font-face {
    font-family: 'NukeVietIcons';
    src: url('../../default/fonts/NukeVietIcons.woff2') format('woff2'),
        url('../../default/fonts/NukeVietIcons.woff') format('woff'),
        url('../../default/fonts/NukeVietIcons.ttf') format('truetype'),
        url('../../default/fonts/NukeVietIcons.svg') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

[class^='icon-'],
[class*=' icon-'] {
    display: inline-block;
    font: normal normal normal 14px/1 NukeVietIcons;
    font-size: inherit;
    transform: translate(0, 0);
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-lg {
    font-size: 1.33333333em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.icon-horizon {
    width: 14px;
}

.icon-lg.icon-horizon {
    width: 22px;
}

.icon-nukeviet:before {
    content: '\e607';
}

.icon-nukeviet_sm:before {
    content: '\e608';
}

.icon-callcenter:before {
    content: '\e609';
}

.icon-today:before {
    content: '\e600';
}

.icon-qrcode:before {
    content: '\e601';
}

.icon-enter:before {
    content: '\e602';
}

.icon-exit:before {
    content: '\e603';
}

.icon-yahoo:before {
    content: '\e604';
}

.icon-old-phone:before {
    content: '\e606';
}

.icon-icq:before {
    content: '\e605';
}

.icon-viber:before {
    content: '\e60a';
}

/* Fix bootstrap */

.form-horizontal .control-label {
    margin-bottom: 0;
    padding-top: 7px;
    text-align: right;
}

.min-width {
    width: 319px;
}

.padding {
    padding: 10px;
}

.margin {
    margin: 10px;
}

.margin-right {
    margin-right: 10px;
}

.margin-left {
    margin-left: 10px;
}

.margin-top {
    margin-top: 10px;
}

.margin-bottom {
    margin-bottom: 10px;
}

.margin-sm {
    margin: 4px;
}

.margin-right-sm {
    margin-right: 4px;
}

.margin-left-sm {
    margin-left: 4px;
}

.margin-top-sm {
    margin-top: 4px;
}

.margin-bottom-sm {
    margin-bottom: 4px;
}

.margin-lg {
    margin: 15px;
}

.margin-right-lg {
    margin-right: 15px;
}

.margin-left-lg {
    margin-left: 15px;
}

.margin-top-lg {
    margin-top: 15px;
}

.margin-bottom-lg {
    margin-bottom: 15px;
}

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

.padding-left {
    padding-left: 10px;
}

.padding-right {
    padding-right: 10px;
}

.padding-bottom {
    padding-bottom: 10px;
}

.boder-top {
    border-top: 1px solid #ccc;
}

.boder-bottom {
    border-bottom: 1px solid #ccc;
}

.border-left {
    border-left: 1px solid #ccc;
}

.border-right {
    border-right: 1px solid #ccc;
}

.bg-gainsboro {
    background-color: #82b1fe;
}

.bg-lavender {
    background-color: #e6e6fa;
}

/*Load_Bar*/

.load-bar {
    display: inline-block;
    vertical-align: middle;
    width: 33px;
    height: 8px;
    background: transparent url(../../../assets/images/load_bar.gif);
    margin: auto 10px;
}

/*Center DIV*/

.centered {
    display: flex;
    justify-content: center;
}

/*nv-info*/

.nv-info {
    border-width: 1px;
    border-style: solid;
    border-color: #d4d4d4;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    background-color: #f7f7f7;
    color: #333;
    padding: 10px;
}

.nv-info.error {
    background-color: #efd7d7 !important;
    border-color: #dca8a6 !important;
}

.nv-info.success {
    background-color: #e5f1fb !important;
    border-color: #8dc1ed !important;
}

.nv-info:before {
    display: inline-block;
    font-family: FontAwesome;
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
    margin-right: 5px;
}

.nv-info.error:before {
    content: ' \f057 ';
    color: #a94442;
}

.nv-info.success:before {
    content: ' \f13a ';
    color: #449d44;
}

.mbt {
    font-size: 16px;
    width: 39px;
    height: 39px;
    text-align: center;
    line-height: 39px;
    color: #fff;
    background: transparent;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0,
            rgba(0, 0, 0, 0.05) 100%);
    border-radius: 3px;
    -webkit-border-radius: 3px;
}

.mbt-lg {
    font-size: 16px;
    width: 47px;
    height: 47px;
    text-align: center;
    line-height: 47px;
    color: #fff;
    background: transparent;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0,
            rgba(0, 0, 0, 0.2) 100%);
    border-radius: 3px;
    -webkit-border-radius: 3px;
}

.mbt:hover,
.active .mbt,
.mbt-lg:hover,
.active .mbt-lg {
    color: #fff;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.1) 0,
            rgba(0, 0, 0, 0.3) 100%);
}

.mbt-circle {
    display: inline-block;
    line-height: 30px;
    width: 30px;
    color: #fff;
    background: #bbb;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0,
            rgba(0, 0, 0, 0.1) 100%);
    text-align: center;
    border-radius: 15px;
    -webkit-border-radius: 15px;
}

.mbt-circle:hover,
.active .mbt-circle {
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.2) 0,
            rgba(0, 0, 0, 0.3) 100%);
}

.clear {
    clear: both;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.rel {
    position: relative;
}

.abs {
    position: absolute;
}

.middle {
    vertical-align: middle;
}

.align-bottom {
    vertical-align: bottom;
}

.align-top {
    vertical-align: top;
}

.pointer {
    cursor: pointer;
}

ul,
ol {
    list-style: none;
}

.input-group-btn {
    font-size: 14px !important;
}

.fix-box {
    position: inherit !important;
    margin-left: 0 !important;
}

.well {
    padding: 8px;
}

.well p {
    margin: 0;
}

input[type='text'].required,
input[type='password'].required,
input[type='email'].required,
input[type='number'].required,
input[type='search'].required,
input[type='tel'].required,
input[type='time'].required,
input[type='url'].required,
input[type='url'].required,
textarea.required,
select.required,
label.required {
    background-image: url(../images/icons/required.png);
    background-position: right center;
    background-repeat: no-repeat;
}

textarea.required {
    background-position: right 10px;
}

select.required {
    background-position: calc(100% - 15px) 10px;
}

label.required {
    padding-right: 20px;
}

label.radio-box,
label.check-box {
    font-weight: normal;
    margin-right: 20px;
    cursor: pointer;
}

div.radio-box,
div.check-box {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    padding: 10px;
}

.display-inline-block {
    display: inline-block;
}

.display-table {
    display: table;
}

.display-table > * {
    display: table-row;
}

.display-table > * > * {
    display: table-cell;
    padding: 5px;
}

.navbar-default .navbar-nav > li > a {
    color: #fff;
}

.navbar-nav > li > a {
    white-space: nowrap;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

.dropdown-submenu > a:after {
    display: block;
    content: ' ';
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover > a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

/* Fixed Jquery UI Style */

.ui-widget {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
}

.ui-datepicker {
    width: 18em !important;
}

.ui-datepicker select.ui-datepicker-month {
    width: 59% !important;
    font-weight: normal !important;
}

.ui-datepicker select.ui-datepicker-year {
    width: 39% !important;
    font-weight: normal !important;
}

/* Info die */

.nv-infodie {
    margin: 0 auto;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    border: 1px #dadada solid;
    background: #fff;
    position: absolute;
    min-height: 300px !important;
    min-width: 300px !important;
    display: table;
}

.nv-infodie .panel-body {
    display: table-cell;
    vertical-align: middle;
}

/* panel */

.panel,
.panel-heading {
    border-radius: 0;
}

.panel-body p {
    margin: 0;
}

.panel-body ul {
    margin: 0;
    padding: 0;
}

.panel-body ul li {
    margin-bottom: 10px;
}

.panel-body img {
    margin-right: 5px;
}

.panel-body ul li:last-child {
    margin-bottom: 0;
}

.nv-infodie .logo {
    max-width: 90% !important;
}

table caption {
    color: #0066cc;
    text-align: left;
    font-size: 13px;
    font-weight: bold;
    line-height: 22px;
    padding: 0 0 5px 2px;
}

blockquote {
    font-size: 13px;
}

.rel {
    position: relative;
}

/* CKEditor 4 contents css */
figure:not(.table):not(.media):not(.nv-media) {
    background: #7a7a7a;
    padding: 10px;
    display: block;
    float: left;
    margin: 5px auto 10px auto;
    text-align: center;
}

figure.left {
    float: left;
    margin: 5px 10px 10px 0;
}

figure.right {
    float: right;
    margin: 5px 0 10px 10px;
}

figure.noncaption {
    background: transparent;
    padding: 0;
}

figcaption {
    text-align: center;
    margin-top: 5px;
    font-weight: 700;
}

figure figcaption {
    font-size: 12px;
    color: #fff;
    font-weight: normal;
}

.nv-docviewer {
    margin-bottom: 8px;
}

/* CKEditor 5 supported */
/* Table */
figure.table .ck-table-resized {
    table-layout: fixed;
}

figure.table table {
    overflow: hidden;
}

figure.table td,
figure.table th {
    overflow-wrap: break-word;
    position: relative;
}

figure.table {
    margin: 5px auto 10px auto;
    display: table;
}

figure.table table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    height: 100%;
    border: 1px double var(--nv-border-color);
}

figure.table table td,
figure.table table th {
    min-width: 5px;
    padding: 7px;
    border: 1px solid var(--nv-border-color);
}

figure.table table th {
    font-weight: bold;
    border-bottom-width: 2px;
}

figure.table > figcaption {
    display: table-caption;
    caption-side: top;
    word-break: break-word;
    text-align: center;
    outline-offset: -1px;
    margin-top: 0;
}

/* Media */
figure.media {
    clear: both;
    margin: 5px 0 10px 0;
    display: block;
    min-width: 10px;
}

/* NV-Media */
figure.nv-media {
    clear: both;
    margin: 5px 0 10px 0;
    display: block;
    min-width: 10px;
}

figure.nv-media video,
figure.nv-media audio {
    max-width: 100%;
    margin: 0 auto;
    display: block;
}

/* Image */
img.image_resized {
    height: auto;
}

figure.image.image_resized {
    max-width: 100%;
    display: block;
    box-sizing: border-box;
}

figure.image.image_resized img {
    width: 100%;
}

figure.image.image_resized > figcaption {
    display: block;
}

figure.image {
    display: table!important; /* Fix conflicts with Google Docs */
    clear: both;
    text-align: center;
    margin: 5px auto 10px auto;
    min-width: 10px;
}

figure.image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    min-width: 100%;
    height: auto;
}

figure.image-inline {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
}

figure.image-inline picture {
    display: flex;
}

figure.image-inline picture,
figure.image-inline img {
    flex-grow: 1;
    flex-shrink: 1;
    max-width: 100%;
}

figure.image > figcaption {
    display: table-caption;
    caption-side: bottom;
    word-break: break-word;
    padding: 7px 7px 0 7px;
    font-size: 13px;
    outline-offset: -1px;
    margin-top: 0;
}

/* Image Style */
.image-style-block-align-left,
.image-style-block-align-right {
    max-width: calc(100% - var(--nv-image-style-spacing));
}

.image-style-align-left,
.image-style-align-right {
    clear: none;
}

.image-style-side {
    float: right;
    margin-left: var(--nv-image-style-spacing);
    max-width: 50%;
}

.image-style-align-left {
    float: left;
    margin-right: var(--nv-image-style-spacing);
}

.image-style-align-center {
    margin-left: auto;
    margin-right: auto;
}

.image-style-align-right {
    float: right;
    margin-left: var(--nv-image-style-spacing);
}

.image-style-block-align-right {
    margin-right: 0 !important;
    margin-left: auto !important;
}

.image-style-block-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
}

p + .image-style-align-left,
p + .image-style-align-right,
p + .image-style-side {
    margin-top: 0;
}

.image-inline.image-style-align-left,
.image-inline.image-style-align-right {
    margin-top: var(--nv-inline-image-style-spacing);
    margin-bottom: var(--nv-inline-image-style-spacing);
}

.image-inline.image-style-align-left {
    margin-right: var(--nv-inline-image-style-spacing);
}

.image-inline.image-style-align-right {
    margin-left: var(--nv-inline-image-style-spacing);
}

/* Highlight */
.marker-yellow {
    background-color: var(--nv-highlight-marker-yellow);
}

.marker-green {
    background-color: var(--nv-highlight-marker-green);
}

.marker-pink {
    background-color: var(--nv-highlight-marker-pink);
}

.marker-blue {
    background-color: var(--nv-highlight-marker-blue);
}

.pen-red {
    color: var(--nv-highlight-pen-red);
    background-color: transparent;
}

.pen-green {
    color: var(--nv-highlight-pen-green);
    background-color: transparent;
}

/* Font size */
.text-tiny {
    font-size: var(--nv-font-size-xs);
}

.text-small {
    font-size: var(--nv-font-size-sm);
}

.text-big {
    font-size: var(--nv-font-size-lg);
}

.text-huge {
    font-size: var(--nv-font-size-xxl);
}

/* NV Iframe */
.nvck-iframe {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

.nvck-iframe>.nvck-iframe-inner>.nvck-iframe-element {
    border: none;
    margin: 0 auto;
    display: block;
}

.nvck-iframe.nvck-iframe-responsive {
    height: 0;
}

.nvck-iframe.nvck-iframe-responsive>.nvck-iframe-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.nvck-iframe.nvck-iframe-responsive>.nvck-iframe-inner>.nvck-iframe-element {
    width: 100%;
    height: 100%;
}

/* NV Docs */
.nvck-docs {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

.nvck-docs>.nvck-docs-inner>.nvck-docs-element {
    border: none;
    margin: 0 auto;
    display: block;
}

.nvck-docs.nvck-docs-responsive {
    height: 0;
}

.nvck-docs.nvck-docs-responsive>.nvck-docs-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.nvck-docs.nvck-docs-responsive>.nvck-docs-inner>.nvck-docs-element {
    width: 100%;
    height: 100%;
}

/* Global */

html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 48px 0 40px 0;
    color: #333;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857;
    background: #ddd url(../images/bg.png) repeat top left;
}

a,
a:link,
a:active,
a:visited {
    color: #205fa0;
}

a:hover {
    text-decoration: none;
    color: #102d4c;
}

a.dimgray {
    color: #696969;
}

a.dimgray:hover {
    color: #205fa0;
}

a.black {
    color: #333;
}

a.black:hover {
    color: #205fa0;
}

iframe {
    border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
}

.title {
    font-size: 22px;
}

.hometext {
    font-weight: 700;
}

.bodytext {
    word-break: keep-all;
}

.m-bottom {
    margin-bottom: 10px !important;
}

#wraper {
    margin: 0 auto;
}

.fa-fix {
    margin-right: -5px;
}

.fa-pointer {
    cursor: pointer;
}

.fa-horizon {
    width: 14px;
}

.fa-lg.fa-horizon {
    width: 22px;
}

h3.sm {
    font-size: 16px;
}

span.keyword {
    background: yellow;
}

.nv-fullbg {
    min-height: 100%;
    background: #fff;
}

#search-form {
    padding: 10px 0;
}

#search_result {
    padding-bottom: 10px;
}

a.btn {
    color: #fff;
}

.container-simple {
    margin-top: -48px;
    margin-bottom: -40px;
}

/* Header */

header.first-child {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    min-height: 48px;
    background: #137cbe;
    background-image: linear-gradient(60deg,
            #d8eaf8 0,
            #d8eaf8 133px,
            rgba(0, 0, 0, 0) 134px,
            rgba(0, 0, 0, 0) 100%);
    -webkit-transition: top 0.08s ease-in-out;
    transition: top 0.08s ease-in-out;
}

header.header-up {
    top: -50px;
}

#header {
    min-height: 47px;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0,
            rgba(0, 0, 0, 0.2) 100%);
    border-bottom: 1px solid #205fa0;
}

#header .logo {
    position: absolute;
    top: 0;
    left: 10px;
    height: 48px;
    line-height: 48px;
}

#header .logo img,
#header .logo object {
    max-height: 45px;
    width: auto;
}

#header .site-buttons {
    float: right;
    display: table;
    height: 47px;
}

#header .site-buttons > div {
    display: table-row;
}

#header .site-buttons > div > span {
    display: table-cell;
    vertical-align: middle;
    padding-left: 3px !important;
}

#header .site-buttons a.user {
    display: inline-block;
    vertical-align: middle;
    width: 26px;
    height: 26px;
    border-radius: 13px;
    -webkit-border-radius: 13px;
    background-size: contain;
    margin-left: 10px;
    margin-right: 10px;
}

/* Search form */

.headerSearch input {
    border-color: #d0d0d0;
    height: 32.4px;
    background: #fff !important;
}

.headerSearch input:hover,
.headerSearch input:focus {
    background: #fff !important;
}

.headerSearch .btn-info {
    background-color: #428bca;
    border-color: #428bca;
}

/*socialList,contactList,personalArea*/

.contactList {
    padding: 10px;
}

.contactList li {
    display: block;
}

.socialList li {
    display: inline-block;
    margin-right: 10px;
}

.socialList li:last-child,
.contactList li:last-child {
    margin-right: 0 !important;
}

.socialList li a {
    display: block;
    width: 28px;
    height: 28px;
    line-height: 28px;
    background: #1182c8;
    color: #fff;
    text-align: center;
    font-size: 16px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.socialList li a[href*='facebook']:hover {
    background: #3d5d8c;
}

.socialList li a[href*='google']:hover,
.socialList li a[href*='youtube']:hover {
    background: #dd4b39;
}

.socialList li a[href*='twitter']:hover {
    background: #50a0d7;
}

.socialList li a[href*='feeds']:hover {
    background: #ff9900;
}

.socialList li .fa {
    margin-right: -4px;
}

/* Social share */
.social-share-container {
    display: flex;
    align-items: center;
}

.social-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.social-share-buttons button {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    color: #fff;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    line-height: 1;
    font-size: 12px;
}

.social-share-buttons button.social-share-facebook {
    background-color: #1877F2;
}

.social-share-buttons button.social-share-twitter {
    background-color: #1DA1F2;
}

.social-share-label {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-right: 10px;
}

.contactList li .fa,
.contactList li [class^='icon-'],
.contactList li [class*=' icon-'] {
    width: 20px !important;
}

/* TIP */

.tip,
.ftip {
    position: relative;
}

#tip {
    position: absolute;
    top: 0;
    right: 0;
    float: right;
    z-index: 9;
    width: 319px;
    min-height: 50px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px 14px 20px 10px;
    background: #eee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    display: none;
}

#ftip {
    position: fixed;
    bottom: 41px;
    right: 0;
    float: right;
    z-index: 9;
    min-width: 100px;
    min-height: 50px;
    max-height: calc(100% - 42px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px 14px 20px 10px;
    background: #eee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    display: none;
}

.fixed #tip {
    position: fixed !important;
    top: 48px !important;
    right: 0;
    max-height: calc(100% - 56px);
}

#tip .tip-footer {
    background: #e1e1e1;
    border: 1px solid #ccc;
    padding: 10px;
    margin: 10px -15px -16px;
}

#tip h3,
#ftip h3 {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 15px;
}

#tip ul,
#fip ul {
    margin: 0;
    padding: 0;
}

#tip a {
    color: #333;
    text-decoration: none;
}

#ftip .socialList a {
    color: #fff;
}

/* Body */

#body {
    background: #fff;
    border-color: #dadada;
    border-style: solid;
    border-width: 0;
    position: relative;
}

.breadcrumbs {
    position: relative;
    height: 35px;
    line-height: 1;
    padding: 0 10px 0 50px;
    margin: 0;
    background: transparent;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.05);
}

.breadcrumbs .home-icon {
    position: absolute;
    top: 0;
    left: 0;
    outline: none;
}

.breadcrumbs .home-icon a {
    width: 40px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    display: block;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    color: #666;
}

.breadcrumbs .toggle {
    width: 15px;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    display: none;
}

.breadcrumb {
    padding: 0;
    margin: 0;
    line-height: 35px;
    display: inline-block;
}

.sub-breadcrumbs {
    margin: 0;
    padding: 0;
    background: #fff linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0px,
            rgba(0, 0, 0, 0.1) 100%) repeat scroll 0 0;
    position: absolute;
    left: 39px;
    top: 36px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: none;
    box-shadow: 0 0.063em 0.25em rgba(7, 20, 34, 0.25);
    display: none;
}

.sub-breadcrumbs.open {
    display: block;
}

.sub-breadcrumbs li:last-child,
.sub-breadcrumbs li:last-child a,
.sub-breadcrumbs {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.sub-breadcrumbs li,
.sub-breadcrumbs a {
    display: block;
    float: none;
}

.sub-breadcrumbs a {
    line-height: 40px;
    height: 40px;
    overflow: hidden;
    padding: 0 10px;
}

.sub-breadcrumbs li:not(:last-child) a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.sub-breadcrumbs a:hover {
    background: rgba(0, 0, 0, 0.1);
}

.sub-breadcrumbs a em {
    display: inline-block;
    margin-right: 5px;
    color: #666;
}

/* Footer */

#footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    min-height: 40px;
    -webkit-transition: top 0.08s ease-in-out;
    transition: top 0.08s ease-in-out;
}

#footer.footer-down {
    bottom: -42px;
}

.footer {
    height: 39px;
    width: 100%;
    background: #205fa0;
    background-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0,
            rgba(0, 0, 0, 0.2) 100%);
    border-top: 1px solid #205fa0;
    font-size: 0.9em;
    color: #333;
}

.footer a {
    color: #333;
    text-decoration: none;
}

.footer.display-table > * > * {
    padding: 0;
    vertical-align: middle;
}

/* theme-change */

.theme-change {
    padding: 10px 0;
    font-size: 11px;
    border-bottom: 1px solid #bbb;
}

.theme-change span + span:before {
    content: '|';
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
}

/* WinHelp */

#winHelp {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 11;
    display: none;
}

#winHelp .winHelp {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 240px;
    background: #efefef;
    border-right: 1px solid #bbb;
    border-top: 1px solid #bbb;
    z-index: 12;
    color: #333;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    overflow-y: auto;
}

#winHelp .winHelp a {
    color: #333;
}

#winHelp .winHelp a:hover {
    color: #205fa0;
}

#winHelp .panel {
    margin-bottom: 0;
}

#winHelp .panel-heading {
    font-weight: bold;
}

#winHelp .panel-body {
    padding: 0;
}

#winHelp .panel-body .menu > li {
    margin: 0;
    border-bottom: 1px solid #ddd;
}

#winHelp .panel-body .menu > li:last-child {
    border-bottom: none;
}

#winHelp .panel-body .menu > li > a {
    display: block;
    line-height: 32px;
    padding: 0 10px;
    background: #fff;
}

#winHelp .panel-body .menu > li > a:after {
    content: ' \f054 ';
    display: inline-block;
    float: right;
    font-family: FontAwesome;
    font-size: 9px;
    font-weight: normal;
}

/* Block Company info */

.company_info {
    font-size: 12px;
    margin: 10px !important;
}

.company_info .company_name {
    text-transform: uppercase;
}

.company_info li {
    display: table;
    clear: both;
}

.company_info li > em,
.company_info li > span {
    display: table-cell;
    vertical-align: middle;
}

.company_info li.company_name > span {
    display: inline;
}

.company_info li em {
    font-size: 1.4em;
    width: 26px;
    text-align: center;
    padding-right: 10px;
}

.company-map {
    width: 100%;
    height: 300px;
}

/* copyright class */

.copyright {
    font-size: 11px;
}

/* Page break line */

.nv-hr {
    clear: both;
    height: 1px;
    border-bottom: 1px #dadada solid;
    margin: 10px 0;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    -box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

.nv-hr.nv-hr-lg {
    margin: 20px 0;
}

.nv-hr.nv-hr-sm {
    margin: 5px 0;
}

.page {
    padding: 15px 5px;
}

.page h1 {
    color: #0e73e6;
    font-weight: bold;
    line-height: 30px;
}

/* Social share,social button */

.nv-social-share {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nv-social-share li {
    display: inline-block;
}

.nv-social-share li.facebook {
    position: relative;
    top: -4px;
    padding-right: 40px;
}

/* Form control */

.nv-captcha {
    vertical-align: middle;
}

.nv-recaptcha-default {
    margin: 0 auto;
    width: 304px;
    height: 78px;
}

.nv-recaptcha-compact {
    margin: 0 auto;
    width: 164px;
    height: 144px;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* List item */

.nv-list-item {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nv-list-item li {
    padding: 4px;
    margin: 0;
}

.nv-list-item.sm li {
    padding: 2px;
}

.nv-list-item.xsm li {
    padding: 1px;
}

.nv-list-item.lg li {
    padding: 10px;
}

.nv-list-item li > h3 {
    display: inline-block;
}

/* List none */

.list-none {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* sub-list-icon */

.sub-list-icon > li:first-child > *:before,
.cat-icon:before {
    content: ' \f114 ';
    font-family: FontAwesome;
    font-size: inherit;
    font-weight: 400;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    margin-top: -3px;
}

.sub-list-icon > li + li > *:before {
    content: ' \f10c ';
    font-family: FontAwesome;
    font-size: 8px;
    font-weight: 400;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.sub-list-icon > li:first-child + li > *:before {
    content: ' \f101 ';
    font-size: 12px;
    margin-top: -2px;
}

/* Form */

input[type='checkbox'],
input[type='radio'] {
    border-width: 1px;
    border-style: solid;
    border-color: #bbb;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    margin: 3px 4px 0 0;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    width: 16px;
    min-width: 16px;
    -webkit-appearance: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #555;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

input[type='radio'] {
    border-radius: 50%;
    margin-right: 4px;
    line-height: 10px;
}

input[type='checkbox']:disabled,
input[type='radio']:disabled,
input[type='checkbox']:disabled:checked:before,
input[type='radio']:disabled:checked:before {
    opacity: 0.7;
}

input[type='checkbox']:checked:before,
input[type='radio']:checked:before {
    float: left;
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    font: normal 14px/1 'FontAwesome';
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input[type='checkbox']:checked:before {
    content: '\f00c';
    margin: 0 0 0 0;
    color: #1e8cbe;
}

input[type='radio']:checked:before {
    content: '\2022';
    text-indent: -9999px;
    border-radius: 50px;
    font-size: 24px;
    width: 6px;
    height: 6px;
    margin: 4px;
    line-height: 16px;
    background-color: #1e8cbe;
}

.img-thumbnail {
    background-color: #d0d0d0;
    border: none;
    border-radius: 3px;
    max-width: 100%;
    padding: 1px;
}

figure.image {
    background: #f1f1f1;
    margin: 10px 0;
}

figure.image > img {
    margin: 5px;
}

figure.image > figcaption {
    font-style: oblique;
    color: #999;
    font-size: 14px;
}

.bodytext figure.image figcaption {
    padding: 0 5px 5px;
}

.fb-like {
    height: 30px;
    margin-right: 50px;
}

.navbar-inverse {
    background-color: #0855a1;
    border-color: #043c72;
}

.navbar-inverse .navbar-nav > li > a {
    color: #ffffff;
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
    color: #ffffff;
    background-color: #043c72;
}

#sb-container {
    z-index: 99999999 !important;
}

ul.list-control li {
    color: #ffffff;
    margin-top: 10px;
}

.row {
    margin-left: 0;
    margin-right: 0;
}

.form-control {
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.075);
}

.modal-header .close {
    margin-top: -2px;
}

button.close {
    padding: 0;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
}

.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: 0.2;
}

.modal-body {
    padding: 15px;
}

#sitemodal .modal-dialog {
    position: relative;
    width: auto !important;
    max-width: 600px;
    text-align: center;
    font-size: 0;
}

#sitemodal .modal-content {
    width: auto;
    display: inline-block;
    font-size: 14px;
    text-align: left;
}

#sitemodal .close {
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 24px;
    height: 24px;
    background: #000;
    color: #fff;
    font-size: 11px;
    opacity: 0.8;
    border: 2px solid #ccc;
    border-radius: 12px;
}

#sitemodal .close:hover {
    opacity: 1;
}

@media (max-width: 619px) {
    #sitemodal .modal-dialog {
        margin-left: 10px;
        margin-right: 10px;
    }

    #sitemodal .modal-content {
        display: block;
    }
}

.sidebar-nav {
    margin: 0 !important;
}

.time {
    font-size: 14px;
}

hr {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Account Level */

[class^='lev-'],
[class*=' lev-'] {
    display: inline-block;
}

[class^='lev-']:before,
[class*=' lev-']:before {
    font-family: FontAwesome;
    font-size: inherit;
    margin-right: 5px;
}

.lev-1:before {
    content: ' \f005 \f005 \f005 ';
}

.lev-2:before {
    content: ' \f005 \f005 \f006 ';
}

.lev-3:before {
    content: ' \f005 \f006 \f006 ';
}

.lev-user:before {
    content: ' \f007 ';
}

/* block Contact*/

.contactForm {
    position: relative;
    width: 350px;
    height: 100%;
    margin: -10px -14px -20px -10px;
}

.contactForm .panel {
    margin-bottom: 0;
    color: #333;
}

/*alert*/

.nv-alert {
    position: fixed !important;
    top: 25% !important;
    right: 0;
    left: 0;
    width: 350px !important;
    margin: auto;
    z-index: 99999999999999 !important;
    text-align: center !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

@media (max-height: 599px) and (min-width: 350px) {
    .contactForm .panel {
        margin-right: 14px;
    }
}

@media (max-width: 349px) {
    .min-width {
        width: 100% !important;
    }

    #tip {
        width: 100%;
    }

    #ftip {
        max-width: 100%;
    }

    .winHelp {
        width: calc(100% - 80px);
    }

    .contactForm {
        width: 100%;
        margin: 0;
    }

    .contactForm .panel {
        width: 100%;
    }
}

/*cookie-notice popup*/

.cookie-notice {
    position: fixed;
    bottom: 40px;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99999999999999;
    background-color: #eee;
    border: solid 1px #dedede;
    border-radius: 4px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}

.cookie-notice a {
    color: #1a3f5e;
    text-decoration: underline;
}

.cookie-notice div {
    position: relative;
    width: 100%;
    padding: 20px;
    color: #333;
}

.cookie-notice button {
    float: right;
    margin-top: -20px;
    margin-right: -20px;
    margin-left: 10px;
    margin-bottom: 10px;
    width: 40px;
    height: 40px;
    border: 0;
    font-size: 24px;
}

/* ==========================================================================
   MODULE CHUYÊN BIỆT: TỐI ƯU GIAO DIỆN HIỂN THỊ CHI TIẾT SÁCH & TIN BÀI
   ========================================================================== */

/* --- 1. ĐỊNH DẠNG TIÊU ĐỀ & KHỐI CHỨA CHÍNH --- */
/* Tiêu đề chính bài viết */
h1 {
    text-align: justify !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: bold;
    margin-bottom: 30px;
    display: block;
}

/* Khối cha chứa danh sách tin bài nổi bật (Căn đều hai bên) */
.panel-body.featured {
    text-align: justify !important;
    word-break: break-word;
    hyphens: auto;
}

/* Đảm bảo toàn bộ văn bản bên trong khối nổi bật đều được căn đều */
.panel-body.featured h2, 
.panel-body.featured p, 
.panel-body.featured .text-muted,
.panel-body.featured .hometext-justify {
    text-align: justify !important;
    display: block; /* Ép dạng khối để thuộc tính justify có tác dụng */
}

/* Liên kết hiển thị tên sách trong danh sách chính */
li.clearfix a.show {
    text-align: justify !important;
    display: block !important;
    font-size: 18px !important;
    line-height: 1 !important;
    margin-bottom: 8px;
    color: #333;
    text-decoration: none;
}


/* --- 2. KHỐI DANH SÁCH TÀI LIỆU LIÊN QUAN (ul.related) --- */
/* Khung nền bọc ngoài danh sách liên quan */
ul.related {
    padding: 15px !important;
    background-color: #f9f9f9 !important;
    border-radius: 8px !important;
    list-style-type: none !important;
    margin: 20px 0 !important; /* Thống nhất khoảng cách lề chuẩn */
}

/* Định dạng từng dòng tài liệu liên quan */
ul.related li {
    display: flex !important;
    align-items: center !important; /* Giúp dấu chấm đỏ nằm căn giữa theo chiều dọc của dòng chữ */
    padding: 2px 0 !important; /* Thu gọn khoảng cách thừa sát chữ */
    border-bottom: 1px solid #eee !important;
    text-align: justify !important;
    line-height: 1.3 !important;
}

ul.related li:last-child {
    border-bottom: none !important;
}

/* Hiệu ứng nền khi di chuột qua từng mục liên quan */
ul.related li:hover {
    background-color: #ffffff !important;
}

/* Biểu tượng dấu chấm tròn đỏ (Định dạng từ font Awesome) */
ul.related li em.fa, 
ul.related li i.fa {
    display: inline-flex !important;
    content: "" !important;
    color: #ff0000 !important; /* Chuyển từ màu cam chữ thập sang màu đỏ sát chữ */
    margin-right: 4px !important; /* Ép sát ký tự vào tên sách */
    font-size: 6px !important; /* Thu nhỏ thành dấu chấm tròn tinh tế */
    vertical-align: middle !important;
}

/* Tên sách bên trong danh sách liên quan */
ul.related li a {
    display: inline !important;
    color: #333 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Đổi màu tên sách khi di chuột vào */
ul.related li:hover a {
    color: #007bff !important;
}

/* Ngày tháng đăng hiển thị ngay sau tên sách */
ul.related li em:not(.fa) {
    display: inline !important;
    font-size: 13px !important;
    color: #888 !important;
    font-style: normal !important; /* Chuyển chữ in nghiêng mặc định thành chữ đứng */
    white-space: nowrap !important; /* Ngăn chặn ngày tháng bị ngắt dòng xuống hàng */
}


/* --- 3. KHỐI METADATA THÔNG TIN SÁCH (Mã sách, Số trang, Ngày đăng) --- */
/* Khung viền ngoài sát lề trái phải và thu gọn trên dưới */
.bs-wrapper-full {
    margin-left: -15px !important;
    margin-right: -15px !important;
    width: calc(100% + 30px) !important;
    padding: 0 !important;
}

.bs-meta-info-container {
    padding: 5px 15px !important;
}

/* Lưới hiển thị cấu trúc 2 cột x 2 hàng */
.bs-info-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
}

/* Kiểu dáng các ô thông tin cấu trúc Flex */
.book-info-item {
    display: flex !important;
    align-items: center !important;
    padding: 10px !important;
    background: #f8f9fa;
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    text-decoration: none !important;
}

/* Căn chỉnh nội dung văn bản (Gồm nhãn tiêu đề và nội dung) */
.info-text {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.2 !important;
}

.info-text strong {
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
}

.info-text span {
    font-size: 13px !important;
    color: #333;
}

/* Làm nổi bật riêng ô thứ 3 chứa "Mã tài liệu" (Chữ đỏ, to, đậm) */
.book-info-item:nth-child(3) span {
    color: #ff0000 !important;
    font-weight: bold !important;
    font-size: 15px !important;
}

/* Nút bấm Premium "Nhận hướng dẫn qua Zalo" (Nền xanh chữ trắng) */
.btn-zalo-guide-grid {
    background-color: #007bff !important;
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    justify-content: center !important;
    border: none !important;
}

.btn-zalo-guide-grid svg {
    fill: #ffffff !important;
}


/* --- 4. HỆ THỐNG TAGS TỪ KHÓA (BO GÓC ELIP) --- */
/* Khung bọc tổng của các thẻ Tags */
.keywords {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    font-size: 14px !important;
}

/* Định dạng nhãn chữ 'Tags:' và Icon */
.keywords em.fa-tags, 
.keywords strong {
    color: #555;
    margin-right: 5px;
}

.keywords a {
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

/* Định dạng hình elip phẳng cho từng thẻ từ khóa */
.keywords a em {
    display: inline-block !important;
    padding: 4px 15px !important;
    border-radius: 25px !important; /* Tạo hình Elip dẹt hiện đại */
    font-size: 13px !important;
    font-weight: 500 !important;
    font-style: normal !important; /* Khử in nghiêng mặc định của thẻ em */
    border: 1px solid transparent !important;
}

/* Phối bảng màu sắc cao cấp tuần hoàn cho các Tag dựa theo thứ tự hiển thị */
.keywords a:nth-of-type(5n+1) em { background: #e0f2fe !important; color: #0369a1 !important; } /* Xanh dương */
.keywords a:nth-of-type(5n+2) em { background: #fef3c7 !important; color: #92400e !important; } /* Vàng cam */
.keywords a:nth-of-type(5n+3) em { background: #dcfce7 !important; color: #166534 !important; } /* Xanh lá */
.keywords a:nth-of-type(5n+4) em { background: #f3e8ff !important; color: #6b21a8 !important; } /* Tím */
.keywords a:nth-of-type(5n+5) em { background: #fee2e2 !important; color: #991b1b !important; } /* Đỏ */

/* Hiệu ứng nổi nhẹ nhấc lên khi di chuột vào thẻ Tag */
.keywords a:hover em {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    filter: brightness(0.95) !important;
}


/* --- 5. ĐỊNH DẠNG KHỐI BÀI VIẾT: ẢNH ĐẠI DIỆN VÀ CHỮ BAO QUANH --- */
/* Khung chứa chính cấu trúc Box Tin tức */
.panel-body {
    padding: 15px !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    overflow: hidden;
    display: block; /* Đảm bảo thuộc tính float hoạt động chuẩn xác */
}

/* Tiêu đề bài viết trong khối danh sách */
.panel-body h3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
    display: block; 
    text-align: justify !important;
}

.panel-body h3 a {
    color: #333 !important;
    text-decoration: none !important;
    font-weight: bold;
}

/* Khu vực hiển thị ngày tháng bài đăng */
.panel-body p {
    color: #888;
    font-size: 13px;
    margin-bottom: 8px !important;
}

/* Ảnh đại diện thu nhỏ (Thumbnail): Thêm Float trái để chữ tự động bao ôm quanh ảnh */
.imghome {
    float: left !important; /* Thuộc tính cốt lõi tạo bố cục bao quanh */
    border: 1px solid #ddd !important;
    box-shadow: 3px 3px 10px rgba(0,0,0,0.12) !important; /* Bóng đổ gáy sách nhẹ */
    border-radius: 4px;
    margin-right: 15px !important;
    margin-bottom: 5px !important; 
    background: #fff;
    padding: 2px;
}

/* Khối đoạn văn mô tả tóm tắt: Cắt chữ thông minh tối đa 5 dòng */
.description-text {
    text-align: justify;
    line-height: 1.3;
    color: #555;
    font-size: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 5; /* Giới hạn hiển thị nghiêm ngặt 5 dòng */
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* --- 6. THƯ VIỆN LƯỚI HÌNH ẢNH MỤC LỤC SÁCH (GALLERY) --- */
/* Khung viền bọc ngoài lưới ảnh */
.book-gallery-container {
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    margin: 20px auto;
    max-width: 900px;
    padding: 10px;
    width: 100%;
}

/* Tiêu đề phần mục lục ảnh */
.book-gallery-container h2 {
    color: rgb(211, 47, 47);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 25px;
    margin-top: 10px;
    text-align: center;
}

/* Lưới Flexbox chia cột tự động */
.book-gallery-grid {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    width: 100%;
}

/* Định dạng từng ô ảnh: Mặc định chia đôi 2 cột trên máy tính */
.book-gallery-item {
    box-sizing: border-box;
    flex: 1 0 calc(50% - 10px);
    width: calc(50% - 10px);
    min-width: 280px;
    max-width: 100%;
    margin: 0;
}

/* Hình ảnh trang mục lục chi tiết */
.book-gallery-item img {
    border-radius: 6px;
    border: 1px solid rgb(224, 224, 224);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 8px;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}


/* --- 7. CẤU TRÚC TRANG TRÍ CHI TIẾT SÁCH KHÔNG ẢNH (BÀI REVIEW CHUẨN SEO) --- */
/* Hộp bọc container nền tảng giới thiệu sách chung */
.book-intro-container, 
.book-container {
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    color: #333333;
}

.book-intro-container {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    line-height: 1.8;
}

.book-container {
    border: 1px solid #e1e8ed;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    padding: 25px;
}

/* Phần khu vực đầu trang (Header) của khối tài liệu */
.book-header {
    text-align: center;
    margin-bottom: 25px;
}

.book-header h2, 
.book-title {
    color: #0073e6;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.book-header h2 { font-size: 23px; font-weight: 700; }
.book-title { font-size: 24px; font-weight: 800; }

.book-header p, 
.book-author {
    font-size: 18px;
    margin: 0;
    font-weight: 600;
    font-style: normal; /* Ép chữ đứng thẳng nghiêm túc */
    text-align: center;
}

.book-header p { color: #ff7e5f; }
.book-author { color: #e74c3c; }

/* Đoạn văn bản nội dung tóm lược (Chữ to 20px chuẩn SEO dễ đọc) */
.book-description {
    text-align: justify;
    margin-bottom: 20px;
    text-indent: 20px;
    margin-top: 0;
    font-size: 20px !important; 
}

.book-summary {
    font-size: 16px;
    line-height: 1.8;
    text-align: justify;
    color: #4a5568;
    margin: 0 0 25px 0;
    padding-bottom: 20px;
    border-bottom: 1px dashed #e2e8f0;
}

/* Hộp thông số kỹ thuật (Spec Boxes) của sách */
.book-spec-box, 
.book-specs-box {
    box-sizing: border-box;
    background-color: #f8fafc;
    padding: 20px;
    border-left: 4px solid #0073e6;
    border-radius: 8px;
}

.book-spec-box { margin-top: 20px; }
.book-specs-box { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 20px; }

.book-spec-grid { display: flex; flex-wrap: wrap; row-gap: 12px; column-gap: 30px; }
.book-spec-col { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 12px; }
.book-spec-item { display: flex; align-items: center; font-size: 15px; color: #4a5568; }

.book-spec-icon { font-size: 20px; margin-right: 10px; width: 24px; text-align: center; }
.book-spec-label { font-weight: 500; color: #555555; }
.book-spec-text { line-height: 1.4; }

/* Màu sắc nổi bật cho các giá trị thông số sau dấu hai chấm */
.book-spec-value-blue { color: #0073e6; font-size: 17px; }
.book-spec-value-red, 
.spec-highlight { color: #d32f2f; font-size: 17px; }
.spec-highlight { font-weight: bold; font-size: 16px; }

/* Hệ thống text phẳng đồ họa emoji hiện đại an toàn, vượt qua bộ lọc bảo mật CSP */
.book-icon-text {
    margin-right: 12px;
    font-size: 16px;
    width: 20px;
    text-align: center;
    display: inline-block;
    flex-shrink: 0;
    font-weight: bold;
}

.icon-pages::before     { content: "📘"; color: #0073e6; } 
.icon-publisher::before { content: "🏢"; color: #cc0000; } 
.icon-size::before      { content: "📐"; color: #0073e6; } 
.icon-location::before  { content: "📍"; color: #0073e6; } 
.icon-calendar::before  { content: "📅"; color: #0073e6; } 


/* --- 8. KHỐI FIX CỨNG GIAO DIỆN DI ĐỘNG (MOBILE HEADER ULTRA FIX) --- */
/* Triệt tiêu khoảng trống thụt lề đầu trang trên mobile */
body, #mobilePage, .first-child, header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Khung bọc Header - Nền trắng tinh gọn, chống khoảng lỗi xám */
.nvm-hd-wrapper {
    background: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    padding: 10px 0 12px 0 !important; 
    margin: 0 !important; 
    display: block !important;
    clear: both !important;
    position: relative !important;
    width: 100% !important;
}

.nvm-hd-container {
    width: 100% !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
}

/* Tầng 1: Cấu trúc Logo thương hiệu và Khẩu hiệu */
.nvm-hd-main-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    width: 100% !important;
    clear: both !important;
}

.nvm-hd-logo {
    flex-shrink: 0 !important;
    float: none !important;
    margin-right: 4px !important; 
}

.nvm-hd-logo img {
    height: 48px !important; 
    width: auto !important;
    display: block !important;
}

/* Khối chữ Slogan căn giữa cân đối */
.nvm-hd-slogan-box {
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important; 
    flex-grow: 1 !important; 
}

/* Khẩu hiệu chính: Bắt buộc ép nằm trên 1 dòng duy nhất, cấm gãy hàng */
.nvm-hd-slogan-top {
    color: #c00000 !important; 
    font-size: 13.5px !important; 
    font-weight: 900 !important; 
    line-height: 1.3 !important;
    white-space: nowrap !important; 
    text-shadow: 0.5px 0.5px 0px rgba(0, 0, 0, 0.1) !important;
}

/* Tên miền thương hiệu phụ phía dưới Slogan */
.nvm-hd-slogan-sub {
    color: #0056d6 !important; 
    font-size: 15px !important; 
    font-weight: 900 !important; 
    margin-top: 2px !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
}

/* Tầng 2: Lưới hệ thống 3 nút tương tác điều hướng nhanh */
.nvm-hd-action-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    margin-top: 12px !important;
    width: 100% !important;
    clear: both !important;
}

.nvm-hd-btn-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 6px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.nvm-hd-btn-icon { font-size: 24px !important; margin-bottom: 4px !important; }
.nvm-hd-btn-label { font-size: 13px !important; font-weight: 800 !important; white-space: nowrap !important; }

/* Bảng phối màu cho các nút bấm hành động */
.nvm-hd-btn-home { background: #e0f2fe !important; }
.nvm-hd-btn-home .nvm-hd-btn-label { color: #0369a1 !important; }

.nvm-hd-btn-hot { background: #fef3c7 !important; }
.nvm-hd-btn-hot .nvm-hd-btn-label { color: #b45309 !important; }

.nvm-hd-btn-chat { 
    background: linear-gradient(135deg, #ff416c 0%, #ff4b2b 100%) !important; 
    box-shadow: 0 4px 14px rgba(255, 75, 43, 0.3) !important;
}
.nvm-hd-btn-chat .nvm-hd-btn-label { color: #ffffff !important; }

/* Đồng bộ xóa bỏ hoàn toàn các khoảng hở tiếp giáp với khối nội dung chính phía dưới */
.nvm-hd-wrapper + *, 
.wrap, section, #body, .panel, .panel-primary, .panel-heading, .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
    clear: both !important;
}

.panel-heading {
    margin-bottom: 10px !important;
    padding: 10px 15px !important;
}


/* --- 9. BỘ TRUY VẤN ĐA PHƯƠNG TIỆN (MEDIA QUERIES DI ĐỘNG) --- */
@media screen and (max-width: 600px) {
    /* Đưa lưới ảnh mục lục về 1 cột tràn màn hình */
    .book-gallery-item {
        flex: 1 1 100%;
        width: 100%;
    }
    .book-gallery-container h2 {
        font-size: 18px;
    }
    /* Co cụm hộp giới thiệu nội dung bao quanh */
    .book-container { 
        padding: 15px; 
        margin: 10px; 
    }
    .book-title { font-size: 20px; }
    .book-author { font-size: 16px; }
    /* Chuyển hộp thông số kỹ thuật lưới 2 cột về dạng 1 cột dọc duy nhất */
    .book-specs-box {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 15px;
    }
}


/**
 * NUKEVIET MOBILE PREMIUM SEARCH FORM
 * Giao diện tìm kiếm cao cấp tối ưu cho thiết bị di động
 */

/* ĐẬP TAN HAI KHOẢNG XÁM TRÊN VÀ DƯỚI BẰNG CÁCH ÉP NỀN TRẮNG CHO KHỐI CHA HỆ THỐNG */
.headerSearch, 
#headerSearch, 
.tip, 
#tip, 
.search-form-wrapper {
    background: #ffffff !important; /* Đổi màu nền xám sần sùi thành trắng tinh */
    background-image: none !important; /* Xóa bỏ ảnh nền xám nếu có */
    margin: 0 !important; /* Triệt tiêu lề thừa gây hở khoảng xám */
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Toàn bộ khung bọc form tìm kiếm mới - Đảm bảo nền trắng phẳng */
.nvm-srch-wrapper {
    width: 100% !important;
    padding: 10px 14px 14px 14px !important; /* Cân đối khoảng cách trên dưới gọn gàng */
    margin: 0 !important;
    background: #ffffff !important; /* Ép nền trắng tinh khôi */
    box-sizing: border-box !important;
    display: block !important;
    clear: both !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Khối bao sườn ô input và nút bấm */
.nvm-srch-box {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 2px solid #cbd5e1 !important; 
    border-radius: 50px !important; 
    padding: 3px 3px 3px 16px !important; 
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}

/* Hiệu ứng đổi màu viền khi click gõ */
.nvm-srch-box:focus-within {
    border-color: #0068ff !important; 
    box-shadow: 0 4px 16px rgba(0, 104, 255, 0.15) !important; 
}

/* Ô nhập từ khóa */
.nvm-srch-input {
    flex-grow: 1 !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    padding: 10px 8px 10px 0 !important;
    font-size: 14.5px !important; 
    font-weight: 600 !important; 
    color: #1e293b !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.nvm-srch-input::placeholder {
    color: #64748b !important; 
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Nút bấm kính lúp */
.nvm-srch-submit-btn {
    border: none !important;
    background: linear-gradient(135deg, #0084ff 0%, #0052cc 100%) !important; 
    width: 44px !important;
    height: 44px !important;
    border-radius: 50px !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 10px rgba(0, 82, 204, 0.2) !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nvm-srch-submit-btn:active {
    transform: scale(0.92) !important;
}

.nvm-srch-icon-svg {
    width: 16px !important;
    height: 16px !important;
    fill: #ffffff !important; 
    display: block !important;
}

/* Ép luôn phần tiêu đề "Tìm kiếm nâng cao" phía dưới khít lên sát form */
.nvm-srch-wrapper + *, 
div[class*="search"], 
.panel-primary {
    margin-top: 0 !important;
}