﻿@charset "utf-8";
/*/////////////////////////////////////
=======================================
========|| Copyright: hungvq ||====
-- mail:hung@baotienphong.com.vn ---
=======|| Allright : Bao Tien Phong ||=====
|       website: www.tienphong.vn        |
======================================== 
/////////////////////////////////////*/
@font-face {
    font-family: 'MinionPro-Regular';
    src: url('../font/MinionPro-Regular.eot');
    src: url('../font/MinionPro-Regular.eot?#iefix') format('embedded-opentype'), url('../font/MinionPro-Regular.woff') format('woff'), url('../font/MinionPro-Regular.ttf') format('truetype'), url('..font/MinionPro-Regular.svg#webfont') format('svg');
}

@font-face {
    font-family: 'MinionPro-Bold';
    src: url('../font/MinionPro-Bold.eot');
    src: url('../font/MinionPro-Bold.eot?#iefix') format('embedded-opentype'), url('../font/MinionPro-Bold.woff') format('woff'), url('../font/MinionPro-Bold.ttf') format('truetype'), url('..font/MinionPro-Bold.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUAngie';
    src: url('../font/SFUAngie.eot');
    src: url('../font/SFUAngie.eot?#iefix') format('embedded-opentype'), url('../font/SFUAngie.woff') format('woff'), url('../font/SFUAngie.ttf') format('truetype'), url('..font/SFUAngie.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUBlackout';
    src: url('../font/SFUBlackout.eot');
    src: url('../font/SFUBlackout.eot?#iefix') format('embedded-opentype'), url('../font/SFUBlackout.woff') format('woff'), url('../font/SFUBlackout.ttf') format('truetype'), url('..font/SFUBlackout.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUFuturaBook';
    src: url('../font/SFUFuturaBook.eot');
    src: url('../font/SFUFuturaBook.eot?#iefix') format('embedded-opentype'), url('../font/SFUFuturaBook.woff') format('woff'), url('../font/SFUFuturaBook.ttf') format('truetype'), url('..font/SFUFuturaBook.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUMachine';
    src: url('../font/SFUMachine.eot');
    src: url('../font/SFUMachine.eot?#iefix') format('embedded-opentype'), url('../font/SFUMachine.woff') format('woff'), url('../font/SFUMachine.ttf') format('truetype'), url('..font/SFUMachine.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUSyntaxBold';
    src: url('../font/SFUSyntaxBold.eot');
    src: url('../font/SFUSyntaxBold.eot?#iefix') format('embedded-opentype'), url('../font/SFUSyntaxBold.woff') format('woff'), url('../font/SFUSyntaxBold.ttf') format('truetype'), url('..font/SFUSyntaxBold.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUSyntaxBlack';
    src: url('../font/SFUSyntaxBlack.eot');
    src: url('../font/SFUSyntaxBlack.eot?#iefix') format('embedded-opentype'), url('../font/SFUSyntaxBlack.woff') format('woff'), url('../font/SFUSyntaxBlack.ttf') format('truetype'), url('..font/SFUSyntaxBlack.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUSyntaxRoman';
    src: url('../font/SFUSyntaxRoman.eot');
    src: url('../font/SFUSyntaxRoman.eot?#iefix') format('embedded-opentype'), url('../font/SFUSyntaxRoman.woff') format('woff'), url('../font/SFUSyntaxRoman.ttf') format('truetype'), url('..font/SFUSyntaxRoman.svg#webfont') format('svg');
}

@font-face {
    font-family: 'TimesNewRomanPS-BoldMT';
    src: url('../font/TimesNewRomanPS-BoldMT.eot');
    src: url('../font/TimesNewRomanPS-BoldMT.eot?#iefix') format('embedded-opentype'), url('../font/TimesNewRomanPS-BoldMT.woff') format('woff'), url('../font/TimesNewRomanPS-BoldMT.ttf') format('truetype'), url('..font/TimesNewRomanPS-BoldMT.svg#webfont') format('svg');
}

@font-face {
    font-family: 'UTMAvo';
    src: url('../font/UTMAvo.eot');
    src: url('../font/UTMAvo.eot?#iefix') format('embedded-opentype'), url('../font/UTMAvo.woff') format('woff'), url('../font/UTMAvo.ttf') format('truetype'), url('..font/UTMAvo.svg#webfont') format('svg');
}

@font-face {
    font-family: 'UTMScriptinaKT';
    src: url('../font/UTMScriptinaKT.eot');
    src: url('../font/UTMScriptinaKT.eot?#iefix') format('embedded-opentype'), url('../font/UTMScriptinaKT.woff') format('woff'), url('../font/UTMScriptinaKT.ttf') format('truetype'), url('..font/UTMScriptinaKT.svg#webfont') format('svg');
}

@font-face {
    font-family: 'VNI-BriquetNormal';
    src: url('../font/VNI-BriquetNormal.eot');
    src: url('../font/VNI-BriquetNormal.eot?#iefix') format('embedded-opentype'), url('../font/VNI-BriquetNormal.woff') format('woff'), url('../font/VNI-BriquetNormal.ttf') format('truetype'), url('..font/VNI-BriquetNormal.svg#webfont') format('svg');
}

@font-face {
    font-family: 'UTMAndrogyne';
    src: url('../font/UTMAndrogyne.eot');
    src: url('../font/UTMAndrogyne.eot?#iefix') format('embedded-opentype'), url('../font/UTMAndrogyne.woff') format('woff'), url('../font/UTMAndrogyne.ttf') format('truetype'), url('..font/UTMAndrogyne.svg#webfont') format('svg');
}

@font-face {
    font-family: 'TimesNewRomanPS-ItalicMT';
    src: url('../font/TimesNewRomanPS-ItalicMT.eot');
    src: url('../font/TimesNewRomanPS-ItalicMT.eot?#iefix') format('embedded-opentype'), url('../font/TimesNewRomanPS-ItalicMT.woff') format('woff'), url('../font/TimesNewRomanPS-ItalicMT.ttf') format('truetype'), url('..font/TimesNewRomanPS-ItalicMT.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUBaskervilleBookItalic';
    src: url('../font/SFUBaskervilleBookItalic.eot');
    src: url('../font/SFUBaskervilleBookItalic.eot?#iefix') format('embedded-opentype'), url('../font/SFUBaskervilleBookItalic.woff') format('woff'), url('../font/SFUBaskervilleBookItalic.ttf') format('truetype'), url('..font/SFUBaskervilleBookItalic.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUShannonBook';
    src: url('../font/SFUShannonBook.eot');
    src: url('../font/SFUShannonBook.eot?#iefix') format('embedded-opentype'), url('../font/SFUShannonBook.woff') format('woff'), url('../font/SFUShannonBook.ttf') format('truetype'), url('..font/SFUShannonBook.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SVN-Corki';
    src: url('../font/SVN-Corki.eot');
    src: url('../font/SVN-Corki.eot?#iefix') format('embedded-opentype'), url('../font/SVN-Corki.woff') format('woff'), url('../font/SVN-Corki.ttf') format('truetype'), url('..font/SVN-Corki.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUShannonOblique';
    src: url('../font/SFUShannonOblique.eot');
    src: url('../font/SFUShannonOblique.eot?#iefix') format('embedded-opentype'), url('../font/SFUShannonOblique.woff') format('woff'), url('../font/SFUShannonOblique.ttf') format('truetype'), url('..font/SFUShannonOblique.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SFUShannonBold';
    src: url('../font/SFUShannonBold.eot');
    src: url('../font/SFUShannonBold.eot?#iefix') format('embedded-opentype'), url('../font/SFUShannonBold.woff') format('woff'), url('../font/SFUShannonBold.ttf') format('truetype'), url('..font/SFUShannonBold.svg#webfont') format('svg');
}

@font-face {
    font-family: 'Manrope-Bold';
    src: url('../font/Manrope-Bold.eot');
    src: url('../font/Manrope-Bold.eot?#iefix') format('embedded-opentype'), url('../font/Manrope-Bold.woff') format('woff'), url('../font/Manrope-Bold.ttf') format('truetype'), url('..font/Manrope-Bold.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SVN-AleoRegular';
    src: url('../font/SVN-AleoRegular.eot');
    src: url('../font/SVN-AleoRegular.eot?#iefix') format('embedded-opentype'), url('../font/SVN-AleoRegular.woff') format('woff'), url('../font/SVN-AleoRegular.ttf') format('truetype'), url('..font/SVN-AleoRegular.svg#webfont') format('svg');
}

@font-face {
    font-family: 'Barlow-Black';
    src: url('../font/Barlow-Black.eot');
    src: url('../font/Barlow-Black.eot?#iefix') format('embedded-opentype'), url('../font/Barlow-Black.woff') format('woff'), url('../font/Barlow-Black.ttf') format('truetype'), url('..font/Barlow-Black.svg#webfont') format('svg');
}

@font-face {
    font-family: 'SVN-Sarifa';
    src: url('../font/SVN-Sarifa.eot');
    src: url('../font/SVN-Sarifa.eot?#iefix') format('embedded-opentype'), url('../font/SVN-Sarifa.woff') format('woff'), url('../font/SVN-Sarifa.ttf') format('truetype'), url('..font/SVN-Sarifa.svg#webfont') format('svg');
}

@font-face {
    font-family: 'iCielBCDDCHardwareRough-Compressed';
    src: url('../font/iCielBCDDCHardwareRough-Compressed.eot');
    src: url('../font/iCielBCDDCHardwareRough-Compressed.eot?#iefix') format('embedded-opentype'), url('../font/iCielBCDDCHardwareRough-Compressed.woff') format('woff'), url('../font/iCielBCDDCHardwareRough-Compressed.ttf') format('truetype'), url('..font/iCielBCDDCHardwareRough-Compressed.svg#webfont') format('svg');
}
.f-10 {
    font-size: 10px;
    font-size: 1rem;
}

.f-12{font-size:12px; font-size:1.2rem;}
.f-14{font-size:14px; font-size:1.4rem;}
.f-15{font-size:15px; font-size:1.5rem;}
.f-16{font-size:16px; font-size:1.6rem;}
.f-17{font-size:17px; font-size:1.7rem;}
.f-18{font-size:18px; font-size:1.8rem;}
.f-19{font-size:19px; font-size:1.9rem;}
.f-20{font-size:20px; font-size:2rem;}
.f-21{font-size:21px; font-size:2.1rem;}
.f-22{font-size:22px; font-size:2.2rem;}
.f-23{font-size:23px; font-size:2.3rem;}
.f-24{font-size:24px; font-size:2.4rem;}
.f-25{font-size:25px; font-size:2.5rem;}
.f-26{font-size:26px; font-size:2.6rem;}
.f-27{font-size:27px; font-size:2.7rem;}
.f-28{font-size:28px; font-size:2.8rem;}
.f-29{font-size:29px; font-size:2.9rem;}
.f-30{font-size:30px;font-size:3rem;}
.f-31{font-size:31px; font-size:3.1rem;}
.f-32{font-size:32px; font-size:3.2rem;}
.f-33{font-size:33px; font-size:3.3rem;}
.f-34{font-size:34px; font-size:3.4rem;}
.f-35{font-size:35px; font-size:3.5rem;}
.f-36{font-size:36px; font-size:3.6rem;}
.f-37{font-size:37px; font-size:3.7rem;}
.f-38{font-size:38px; font-size:3.8rem;}
.f-39{font-size:39px;font-size:3.9rem;}
.f-40{font-size:40px; font-size:4rem;}
.f-58{font-size:58px; font-size:5.8rem;}
.w90 a, a:hover,a.ated{color:#DE2826; text-decoration:none;}
.p1 {
    font-family: TimesNewRomanPSMT;
}

.p2 {
    font-family: TimesNewRomanPS-BoldMT;
}

.p3 {
    font-family: SFUSouvenirBold;
}

.p4 {
    font-family: UTMPacificStandard;
}

.p5 {
    font-family: SFUFuturaBook;
}

.p6 {
    font-family: MinionPro-Regular;
}

.p7 {
    font-family: UTMAndrogyne;
}

.p9 {
    font-family: UTMAndrogyne;
}

.p10 {
    font-family: TimesNewRomanPS-ItalicMT;
}

.p11 {
    font-family: SFUBaskervilleBookItalic;
}

.p12 {
    font-family: SFUSyntaxRoman;
}

.p13 {
    font-family: SFUShannonBook;
}

.p14 {
    font-family: SFUSyntaxBold;
}

.p15 {
    font-family: SVN-Corki;
}

.p16 {
    font-family: MinionPro-Bold;
}

.p17 {
    font-family: SFUShannonOblique;
}

.p18 {
    font-family: SFUShannonBold;
}
.p19 {
    font-family: Manrope-Bold;
}
.p20 {
    font-family: SVN-AleoRegular;
}

.p21 {
    font-family: Barlow-Black;
}

.p22 {
    font-family: SVN-Sarifa;
}

.p23 {
    font-family: iCielBCDDCHardwareRough-Compressed;
    line-height: 1.1em;
}
.texuper {
    text-transform: uppercase;
}

.texcen {
    text-align: center;
}

.texj {
    text-align: justify;
}

.texl {
    text-align: left;
}

.texr {
    text-align: right;
}
.marginB50{margin-bottom:50px;}
.marginB30{margin-bottom:30px;}
.marginB20{margin-bottom:20px;}
.marginB10{margin-bottom:10px;}
.line18{line-height:1.8rem;}
.line25{line-height:2.5rem;}
.line22{line-height:2.2rem;}
*{margin:0; padding:0;outline:none}
body {
    margin: 0;
    padding: 0;
    color: #000;
    background: #fff;
    color: #231f20;
    font-family: SVN-Sarifa;
    position: relative;
    height: 100%;
}
html{height:100%; margin:0; padding:0; font-size:90%;}

#fixmainBdy{margin:0 auto; max-width:630px;}
#fixcontent{margin:0 auto; padding:0; width:100%;}
#header {
    clear: both;
    padding: 0;
    z-index: 100;
    height: 110px;
    margin: 0 auto;
    width: 98%;
    background: url("../images/bg-head.png") repeat-x;
    overflow: hidden;
}
.logo{padding-left:10px;}
.clearfix {clear: both;}
.fb{right:5px; position:fixed; top:10px;}
.dropcap {
    float: left;
    padding-right: 5px;
    display: block;
    font-weight: bold;
    font: 65px/55px SVN-Sarifa;
}

.dropcap1 {
    float: left;
    padding-right: 5px;
    display: block;
    color: #231f20;
    font: 120px/85px SVN-Sarifa;
}
.w100{margin:0 auto; width:100%;}
.w95{margin:0 auto; width:95%;}
.w90{margin:0 auto; width:90%;}
.w85{margin:0 auto; width:85%;}
.w80{margin:0 auto; width:80%;}
.w75{margin:0 auto; width:75%;}
.w70{margin:0 auto; width:70%;}
.w60{margin:0 auto; width:60%;}
.w65{margin:0 auto; width:65%;}
.w50{margin:0 auto; width:50%;}
.w55{margin:0 auto; width:55%;}
.w40{margin:0 auto; width:40%;}
.w35{ margin: 0 auto; width: 35%;}
.w30{margin:0 auto; width:30%;}
.imglager{width:100%;}
.bgbox{background:url(../images/bg_box.jpg) top left repeat-x;}
.local ul{list-style:none;}
.local ul li{float:left; background:url(../images/icon4.jpg) 0px 5px no-repeat; padding-left:30px; width:100%;}
.local{width:75%; float:left; padding-left:50px;}
#footer{width:100%; height:130px;}
.borderfooter{margin:0 auto; border-top:solid 1px #3F3F3F;}
.borderfooter ul{list-style:none; margin:0; padding:0;}
.borderfooter ul li{float:left; width:100%; float:left; padding:0; margin:0;}
.footerbg{background:url(../images/img22.png) 10% 0 no-repeat; height:90px;}
.colorsapo {
    color: #12559a;
}
@media screen and (max-device-width: 630px){
  body{
    -webkit-text-size-adjust: none;
  }
}
/*begin buton uptop*/
#button {
    display: inline-block;
    background-color: #FF9800;
    width: 35px;
    height: 35px;
    text-align: center;
    border-radius: 4px;
    position: fixed;
    bottom: 30px;
    right: 20px;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
}

    #button::after {
        content: "\f077";
        font-family: FontAwesome;
        font-weight: normal;
        font-style: normal;
        font-size: 1.5em;
        line-height: 30px;
        color: #fff;
    }

    #button:hover {
        cursor: pointer;
        background-color: #333;
    }

    #button:active {
        background-color: #555;
    }

    #button.show {
        opacity: 1;
        visibility: visible;
    }

    /*begin bo sung*/
.colorsapo {
    color: #5f3c20;
}

.line-den {
    background: url(../images/line_den.jpg) 20px 0 repeat-x;
}

.line-den-doc {
    background: url(../images/line_den_doc.jpg) 0 10px repeat-y;
}

.nhay {
    background: url(../images/nhay.png) 0px 20px no-repeat;
}

.cot1 {
    float: left;
    width: 33%;
    margin-right: 1%;
    padding: 10px 0;
}

.cot2 {
    float: left;
    width: 32%;
    margin-left: 0.5%;
    margin-left: 0.5%;
    padding: 10px 0;
}

.cot3 {
    float: left;
    width: 32%;
    margin-left: 1.5%;
    padding: 10px 0;
}
/*begein line nhung trang bao lich su*/
.section-title-wrapper {
    text-align: center;
    padding-top: 20px;
    position: relative;
}

.top-line {
    height: 1px;
    background-color: #3d392f; /* màu nâu đen như trong ảnh */
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.section-title {
    display: inline-block;
    position: relative;
}
    .section-title::after {
        content: "";
        display: block;
        margin: 8px auto 0;
        width: 50px;
        height: 2px;
        background-color: #3d392f;
    }

.section-title2 {
    display: inline-block;
    position: relative;
}
    .section-title2::after {
        content: "";
        display: block;
        margin: 8px auto 0;
        width: 100%;
        height: 2px;
        background-color: #3d392f;
    }
/*end link nhung trang bao lich su*/
/*begin giai đoan lich su*/
.section-title1 {
    text-align: center;
}

.subtitle-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.line {
    flex: 1;
    height: 1px;
    background-color: #333;
    opacity: 0.6;
}

.subtitle {
    padding: 0 20px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
}

.main-title {
    font-weight: bold;
    color: #b40000;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cot2-1 {
    float: left;
    width: 65%;
    margin-right: 2%;
}

.cot2-1-1 {
    float: left;
    width: 49%;
    margin-right: 1%;
}

.cot2-1-2 {
    float: left;
    width: 49%;
    margin-left: 1%;
}

.cot2-2 {
    float: left;
    width: 33%;
    margin-left: 0%;
}
/*end giai doan lich su*/
/*begin time line*/

.timeline-wrapper {
    position: relative;
    width: 1200px;
    margin: auto;
    background: url('../images/bg_line.png') no-repeat center center;
    background-size: cover;
    padding: 80px 0px;
    min-height: 1100px;
}


.timeline-line {
    position: absolute;
    top: 50%;
    left: 10%;
    width: 80%;
    height: 4px;
    background-color: #000;
    z-index: 1;
}

.timeline-dot {
    position: absolute;
    top: 50%;
    width: 16px;
    height: 16px;
    background: white;
    border: 3px solid #000;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 2;
}



/* Line dẫn xuống + chấm tròn nhỏ */
.connector-line {
    position: relative;
    height: 80px;
    width: 2px;
    background: #000;
    margin: 0 auto;
}

.small-dot1 {
    width: 8px;
    height: 8px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    bottom: 72px;
    left: 50%;
    transform: translateX(-50%);
}

.small-dot {
    width: 8px;
    height: 8px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
}

.content-title {
    font-weight: bold;
}

.content-desc {
    color: #222;
}
/* Box nội dung */
.content-box1 {
    position: absolute;
    width: 300px;
    text-align: center;
    z-index: 3;
}

    .content-box1 img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.2);
        transition: transform 0.3s ease;
    }

        .content-box1 img:hover {
            transform: scale(1.05);
        }

/* Positioning từng box */
.dot1 {
    left: 10%;
}

.box1 {
    top: 20%;
    left: 4.6%;
    transform: translateY(-50%);
}

/* Thêm nếu có các box khác... */

.dot2 {
    left: 32%;
}

.box2 {
    top: 60%;
    left: 18%;
    transform: translateY(-50%);
}
/* Box nội dung */
.content-box {
    position: absolute;
    width: 220px;
    text-align: center;
    z-index: 3;
}

    .content-box img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.2);
        transition: transform 0.3s ease;
    }

        .content-box img:hover {
            transform: scale(1.05);
        }
/*end time line*/
/*nhung diem nhan noi bat*/
.cot3-1 {
    float: left;
    width: 65%;
    margin-left: 2%;
}

.cot3-1-1 {
    float: left;
    width: 49%;
    margin-right: 1%;
}

.cot3-1-2 {
    float: left;
    width: 49%;
    margin-left: 1%;
}

.cot3-2 {
    float: left;
    width: 33%;
    margin-left: 0%;
}

.line-tron {
    background: url(../images/line-tron.png) 0 8px no-repeat;
}
.logo-subtile {
    background: url(../images/logo-title.png) 0 10px no-repeat;
    padding-left: 130px;
    padding-top: 40px;
}
.logo-cty {
    background: url(../images/media.jpg) 0 10px no-repeat;
    height: 85px;
    padding-left: 60px;
    padding-top: 10px;
}
.letter {
    background: rgb(239, 233, 224);
    background: rgb(194, 177, 121);
    background-repeat: repeat;
    background: url("../images/nen-1.png"), linear-gradient( 90deg, rgb(207, 195, 158) 0%, rgba(213, 202, 167, 1) 0.4%, rgba(213, 202, 168, 1) 6%, rgba(253, 246, 228, 1) 25%, rgba(253, 246, 228, 1) 50%, rgba(253, 246, 228, 1) 75%, rgba(213, 202, 168, 1) 94%, rgba(213, 202, 167, 1) 99.6%, rgb(207, 195, 158) 100% );
}
/*begin video*/
.background-video {
    width: 95%;
}
/*end video*/
.container {
    /*margin: 40px auto;
            padding: 0 1.5%;*/
}

.section {
    margin-bottom: 10px;
}

.img-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.image-box {
    transform: rotate(-6deg) scale(1);
    transition: transform 0.6s ease, box-shadow 0.3s ease;
    max-width: 90%;
    max-height: 90%;
    position: relative;
}

    .image-box img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    /* Hover effect */
    .image-box:hover img {
        transform: scale(1.05);
        box-shadow: 0 10px 25px rgba(0,0,0,0.4);
    }

    /* Khi vào viewport (scroll tới) */
    .image-box.in-view {
        transform: rotate(0deg) scale(1.1);
    }

.img-box-wrapper {
    position: relative;
    width: 100%;
}

.img-box-bg {
    background: url(../images/img_bg.png) 0 0 no-repeat;
    z-index: 0;
}

.img-box {
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

    .img-box img {
        width: 100%;
        height: auto;
        display: block;
        transition: transform 0.3s ease;
    }

    .img-box:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    }

.rotated {
    transform: rotate(-7deg) scale(0.95);
    transition: transform 0.6s ease;
}

    .rotated.in-view {
        transform: rotate(0deg) scale(1.05);
        margin: 5px;
    }

.horizontal-scroll {
    overflow-x: auto;
    display: flex;
    gap: 10px;
    padding: 10px;
}

    .horizontal-scroll img {
        height: 120px;
        flex-shrink: 0;
        border-radius: 4px;
    }

.img-caption {
    margin-top: 5px;
    font-size: 14px;
    color: #333;
}

.img-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 768px) {
    .img-grid {
        grid-template-columns: 1fr;
    }
}

.image-wrapper {
    display: inline-block;
    margin: 20px;
    width: 90%;
}

.background-frame {
    background-image: url('images/img_bg.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0; /* khoảng cách tạo khung */
    box-sizing: content-box;
    transition: transform 0.6s ease;
    /*transform: rotate(-6deg);*/
}

/* Ảnh chính nhỏ hơn nền và căn giữa */
.main-photo {
    width: 98%; /* nhỏ hơn nền */
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    /* Hover */
    .main-photo:hover {
        transform: scale(1.05);
        box-shadow: 0 10px 25px rgba(0,0,0,0.4);
    }

/* Khi scroll vào khung nhìn */
.background-frame.in-view {
    transform: rotate(0deg) scale(1.05);
}

.image-box {
    transform: rotate(-6deg) scale(1);
    transition: transform 0.6s ease, box-shadow 0.3s ease;
    max-width: 90%;
    max-height: 90%;
    position: relative;
}

    .image-box img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    /* Hover effect */
    .image-box:hover img {
        transform: scale(1.05);
        box-shadow: 0 10px 25px rgba(0,0,0,0.4);
    }

    /* Khi vào viewport (scroll tới) */
    .image-box.in-view {
        transform: rotate(0deg) scale(1.1);
    }
/* Class nghiêng 15 độ */
.tilted-15 {
    transform: rotate(15deg);
    transition: transform 0.6s ease;
}

    /* Khi ảnh nghiêng vào vùng nhìn: xoay thẳng */
    .tilted-15.in-view {
        transform: rotate(0deg) scale(1.05);
    }
/*begin cuon*/

/*end cuon*/

/*
        ================================================================
        CSS CHO FEATURE CAROUSEL (Bản sao đã sửa lỗi responsive)
        ================================================================
        */
#feature-carousel {
    width: 100%;
    position: relative;
    overflow: hidden;
    /* Thêm màu nền để tránh bị trong suốt nếu có khoảng trống */
}

#feature-carousel .feature-viewport {
    width: 100%;
    overflow: hidden;
    min-height: 250px;
}

#feature-carousel .feature-track {
    display: flex;
}

#feature-carousel .feature-slide {
    flex: 1 0 100%;
    width: 100%;
    position: relative;
    /* background-color: #222; Màu nền dự phòng */
    /* --- THAY ĐỔI QUAN TRỌNG NHẤT --- */
    /* Buộc slide phải giữ tỷ lệ 16:9 (tỷ lệ phổ biến cho ảnh ngang) */
    /* Bạn có thể thay đổi tỷ lệ này cho phù hợp với ảnh của bạn, ví dụ 4/3 */
    aspect-ratio: 13 / 9;
}

    /* Chuyển sang dùng thẻ <img> để kiểm soát tốt hơn */
    #feature-carousel .feature-slide img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        /*height: 100%;*/
        /* Thay thế cho background-size: cover */
        object-fit: cover;
    }

/* Nút điều khiển vẫn giữ nguyên */
#feature-carousel .feature-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.7);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 28px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease;
}

    #feature-carousel .feature-button:hover {
        background-color: white;
    }

    #feature-carousel .feature-button.prev {
        left: 20px;
    }

    #feature-carousel .feature-button.next {
        right: 20px;
    }


/* Thiết lập cơ bản */
/* Các phần giới thiệu đầu và cuối */
.intro, .outro {
    height: 100vh;
    display: grid;
    place-content: center;
    text-align: center;
    background-color: #111;
    color: white;
}

/* Container chính */
.story-section {
    position: sticky;
    top: 0;
    /*height: 100vh;*/
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fdfdfd;
}

/* --- BỐ CỤC MẶC ĐỊNH CHO MÁY TÍNH --- */
.image-container {
    flex: 1;
    height: 50vw;
    max-height: 90vh;
}

.text-container {
    flex: 1;
    height: 50vw;
    max-height: 90vh;
    box-sizing: border-box;
    padding: 4vw;
    overflow-y: auto;
}

/* Đảo ngược bố cục cho các section chẵn */
.story-section:nth-child(even) {
    flex-direction: row-reverse;
}

.image-container img {
    width: 100%;
    /*height: 100%;*/
    object-fit: cover;
}

/* ---- BỐ CỤC CHO ĐIỆN THOẠI (MÀN HÌNH RỘNG DƯỚI 768px) ---- */
@media (max-width: 768px) {
    .story-section {
        /* Chuyển từ hàng ngang sang cột dọc */
        flex-direction: column !important; /* Dùng !important để ghi đè nth-child(even) */
        justify-content: flex-start; /* Căn từ trên xuống */
        padding-top: 1vh; /* Tạo khoảng trống ở trên */
    }

    .image-container, .text-container {
        /* Chiếm toàn bộ chiều rộng */
        flex: none;
        width: 90vw; /* Chiếm 90% chiều rộng để có lề 2 bên */
        max-width: 90vw;
    }

    /* Cột ảnh ở trên */
    .image-container {
        height: 45vh; /* Chiếm 45% chiều cao màn hình */
        max-height: 45vh;
    }

    /* Cột chữ ở dưới */
    .text-container {
        height: auto; /* Chiều cao tự động theo nội dung */
        max-height: 40vh; /* Giới hạn chiều cao và cho phép cuộn */
        padding: 1rem; /* Padding nhỏ hơn trên mobile */
        margin-top: 1rem; /* Tạo khoảng cách với ảnh */
    }
}


/* Tùy chỉnh thanh cuộn (giữ nguyên) */
.text-container::-webkit-scrollbar {
    width: 8px;
}

.text-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.text-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

    .text-container::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

/* Định dạng chữ (giữ nguyên) */
.text-container h2 {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .text-container h2 {
        font-size: 1.4rem;
    }

    .text-container p {
        font-size: 1.4rem;
    }
}

.interlude {
    height: 100vh;
    display: grid;
    place-content: center;
    text-align: center;
    background-color: #333;
    color: white;
    font-size: 1.4rem;
}
