body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    min-width: 320px;
    font-weight: normal;
}

.holder {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}

.clear {
    clear: both;
    display: block;
}

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

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.touch {
    -webkit-overflow-scrolling: touch;
}

.required {
    color: red;
}

a {
    text-decoration: none;
    color: #231f20;
}

a:hover {
    opacity: 0.7;
    text-decoration: none;
    color: #00443b;
}
a:focus,
button:focus,
input:focus {
    outline: none;
}

a:active,
button:active,
input[name=submit]:hover {
    opacity: 0.7;
}

::-webkit-input-placeholder,
:-ms-input-placeholder,
::placeholder {
    color: rgba(88, 89, 91, 0.5);
}
img {
    vertical-align: middle;
    max-width: 100%;
}

a.disabled {
    pointer-events: none;
    cursor: default;
    color: #b0b0b0;
}

.clearfix::after {
    display: block;
    clear: both;
}

.touch {
    -webkit-overflow-scrolling: touch
}

.modal-open .modal {
    -webkit-overflow-scrolling: touch
}

@media screen and (max-width: 1200px) {
	.holder {
	    padding: 0 15px;
	}
}

/* animation floating */
@keyframes floating {
    0% {
        top: -10px;
        position: relative;
    }

    50% {
        top: 10px;
        position: relative;
    }

    100% {
        top: -10px;
        position: relative;
    }
}
/* END: animation floating */

.js-animated {
    visibility: hidden;
    animation-name: none;
}

/* js-loading */
.js-loading {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,.5);
    z-index: 100000;
    display: none
}

.js-loading span {
    display: inline-block;
    background: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #464646;
    font-size: 16px
}

.js-loading span i {
    margin-right: 10px
}
/* END: js-loading */

/* block-404 */
.block-404 {
    padding: 100px 0 78px;
    text-align: center
}

.block-404-txt {
    font-size: 16px;
    line-height: 28px;
    font-weight: 700;
    color: #58595b;
    margin: 34px 0 16px
}

.block-404 form.search {
    width: 90%;
    max-width: 356px;
    font-size: 20px;
    font-weight: 700;
    margin: 0 auto;
    height: 65px;
    position: relative;
    padding-right: 65px;
    border: 1px solid rgba(88,89,91,.2);
    background: #fff;
    border-radius: 15px
}

.block-404 form.search input {
    border: none;
    color: rgba(88,89,91,.6);
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: 0 0;
    padding: 0 18px;
    outline: 0;
    font-weight: 700
}

.block-404 form.search button {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 65px;
    border: none;
    background: 0 0;
    outline: 0;
    color: #58595b;
    font-size: 17px
}
/* END: block-404 */

/* scroll-to-top */
.scroll-to-top {
    position: fixed;
    bottom: 100px;
    right: 31px;
    height: 50px;
    width: 50px;
    background: rgb(35, 40, 45);
    line-height: 50px;
    text-align: center;
    font-size: 24px;
    border-radius: 50%;
    opacity: 0.8;
    display: none;
    z-index: 100;
}

.scroll-to-top a,
.scroll-to-top a:hover {
    display: block;
    height: 100%;
    width: 100%;
    color: #fff;
}
/* END: scroll-to-top */

/* particles-js-canvas-el */
.particles-js-canvas-el {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}
/* END: particles-js-canvas-el */

/* block-breadcrumb */
.block-breadcrumb .list {
    display: flex;
    padding: 5px 0;
}

.block-breadcrumb .list li {
    font-size: 16px;
}

.block-breadcrumb .list li a {
    color: #58595b;
    position: relative;
}

.block-breadcrumb .list li::after {
    content: "\f054";
    font-family: "Font Awesome\ 5 Free";
    font-weight: 700;
    font-size: 10px;
    margin: 0 10px;
}

.block-breadcrumb .list li:last-child::after {
    display: none;
}

/* END: block-breadcrumb */

/* block-content-single */
.block-content-single {
    width: 100%;
    margin: auto;
    padding: 30px 0;
    background: #fff;
    font-size: 15px;
    line-height: 28px;
    text-align: justify;
}

.block-content-single.is-small {
    max-width: 756px;
}

/* Chặn kế thừa font-size/line-height/text-align "dành cho nội dung bài viết
   thường" (khai báo ở .block-content-single phía trên) lan xuống các block
   Gutenberg tự viết cho theme (mọi .block-xxx trong inc/blocks/) — những
   block này render bên trong .block-content-single (the_content()) nhưng
   PHẢI tự quyết định typography của mình, không phải "văn bản bài viết". Đặt
   lại đúng giá trị mặc định của trang (không phải giá trị mới tự bịa) ngay
   tại biên .block để mọi thẻ CHƯA tự set kiểu riêng bên trong không bị dính
   justify/28px/15px kiểu bài viết — thẻ nào trong block đã tự set font-size/
   text-align riêng (tuyệt đại đa số) thì vẫn thắng bình thường theo cascade,
   quy tắc này chỉ đổi giá trị NỀN/mặc định kế thừa xuống. */
.block-content-single > .block {
    font-size: 16px;
    line-height: normal;
    text-align: left;
}

.block-content-single p:not(.block *) {
    margin-bottom: 15px
}

.block-content-single p:not(.block *):after {
    content: "";
    display: block;
    clear: both
}

.block-content-single h1:not(.block *),
.block-content-single h2:not(.block *),
.block-content-single h3:not(.block *),
.block-content-single h4:not(.block *),
.block-content-single h5:not(.block *),
.block-content-single h6:not(.block *) {
    margin-top: 30px;
}

.block-content-single h1:not(.block *) {
    font-size: 30px
}

.block-content-single h2:not(.block *) {
    font-size: 24px
}

.block-content-single h3:not(.block *) {
    font-size: 20px
}

.block-content-single h4:not(.block *) {
    font-size: 18px
}

.block-content-single h5:not(.block *) {
    font-size: 16px
}

.block-content-single h6:not(.block *) {
    font-size: 14px
}

.block-content-single img:not(.block *) {
    max-width: 100%;
    height: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    display: block
}

.block-content-single img.aligncenter:not(.block *) {
    margin-left: auto;
    margin-right: auto
}

.block-content-single img.alignright:not(.block *) {
    float: right
}

.block-content-single img.alignleft:not(.block *) {
    float: left
}

.block-content-single iframe:not(.block *) {
    max-width: 100%;
    vertical-align: middle;
}

.block-content-single .wp-block-embed-youtube:not(.block *) {
    /*margin: 0;*/
}

@media (min-width: 782px) {
    .wp-block-column:not(:first-child) {
        margin-left: 20px;
    }
}

@media (min-width: 600px) {
    .wp-block-column {
        flex-basis: calc(50% - 10px);
    }
}
/* END: block-content-single */

/* block-pagination */
.block-pagination {
    text-align: center;
    margin: 50px 0;
}

.block-pagination:empty {
    display: none;
}

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

.block-pagination .pagination::after {
    content: "";
    display: block;
    clear: both;
}

.block-pagination .pagination li {
    float: left;
    padding: 0 5px;
}

.block-pagination .pagination li a,.block-pagination .pagination li span {
    display: inline-block;
    height: 30px;
    min-width: 30px;
    text-align: center;
    border-radius: 50%;
    line-height: 30px;
    font-size: 15px;
    color: #00043b;
}

.block-pagination .pagination li span.current {
    background: #1d305c;
    color: #fff;
}
/* END: block-pagination */