.ratio-1{
    aspect-ratio: 1;
}
.ratio-3x4{
    aspect-ratio: 3/4;
}
.ratio-4x3{
    aspect-ratio: 4/3;
}
.ratio-2x1{
    aspect-ratio: 2;
}
.img-cover-center{
    object-fit: cover;
    object-position: center;
}
.language-flag{
    width: 40px;
}
.cursor-pointer{
    cursor: pointer;
}
.ellipsis-1{
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
	overflow: hidden;
}
.ellipsis-2{
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	overflow: hidden;
}
.ellipsis-3{
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
	overflow: hidden;
}
.text-tg-primary{
    color: var(--tg-secondary-color)
}
.error label{
    color: red;
}
.related-project{
    border: 1px solid var(--bs-gray-300);
    display: flex;
    padding: .75rem 1rem;
    width: 100%;
    margin-bottom: .5rem;
    align-items: center;
    background: white;
    cursor: pointer;
    transition: all ease-out .3s;
    border-radius: .4rem;
}
.related-project:hover{
    background: var(--tg-primary-color);
    a {
        color: white;   
    }
}
.single-slider{
    display: flex !important;
}
.services-brochure-wrap{
    
}
@media (min-width: 992px) {
    .custom-submenu-dropdown{
        padding-top: 29px !important;
    }
}
.img-gallery {
    column-count: 4;
    column-gap: 10px;
    transition: all ease-in-out .3s;
}
  
.img-gallery img {
    width: 100%;
    margin-bottom: 10px;
    display: block;
}
@media (max-width: 1200px) {
    .img-gallery {
        column-count: 3;
    }
}
  
@media (max-width: 992px) {
    .img-gallery {
        column-count: 2;
    }
    .logo img {
        max-height: 50px;
    }
}
@media (max-width: 768px) {
    .logo img {
        max-height: 37px;
    }
}
@media (max-width: 576px) {
    .img-gallery {
        column-count: 1;
    }
}
.services-content-six{
    width: 100%;
}
.text-justify{
    text-align: justify;
}
.p-color{
    color: #334770 !important;
}
.blog-widget:has(.table-of-contents)
{
    background: var(--tg-section-background);
    .bw-title
    {
        margin-bottom: 0;
    }
}
.table-of-contents{
    overflow: hidden;
    transition: all ease-out .5s;
    ul{
        padding-top: 1rem;
        padding-left: 0;
        li {
            list-style: none;
            a {
                font-size: 1.2rem;
                color: #00194C;
                transition: all ease-out .2s;
            }
            a:hover{
                color:var(--tg-primary-color) !important
            }
        }
    }
}
.rotate-180{
    transform: rotate(180deg);
}
.table-of-contents.close{
    height: 0 !important;
}
#toggleTOC i{
    transition: all ease-out .3s;
    cursor:pointer
}
.table-of-contents.right-toc{
    a {
        font-size: 1rem;
        color: #00194C;
        transition: all ease-out .2s;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
.aside-toc{
    position: sticky;
    top: 100px;
}
html, body, main, .container, .blog-details-wrap, .row, .col-29, aside.blog-sidebar {
  overflow: visible !important; /* hoặc không set gì cả */
  transform: none;
}
.blog-sidebar {
  align-self: flex-start;
  height: 100%; /* optional */
}